@pyscript/core 0.5.5 → 0.5.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/{codemirror-BBnQ0LtX.js → codemirror-jVwF0Nvq.js} +2 -2
- package/dist/{codemirror-BBnQ0LtX.js.map → codemirror-jVwF0Nvq.js.map} +1 -1
- package/dist/{codemirror_commands-CaIwHoAf.js → codemirror_commands-DbitAX-b.js} +2 -2
- package/dist/{codemirror_commands-CaIwHoAf.js.map → codemirror_commands-DbitAX-b.js.map} +1 -1
- package/dist/{codemirror_lang-python-2HrDgj8s.js → codemirror_lang-python-BFQ6m-eH.js} +2 -2
- package/dist/{codemirror_lang-python-2HrDgj8s.js.map → codemirror_lang-python-BFQ6m-eH.js.map} +1 -1
- package/dist/{codemirror_language-DVNAhaKA.js → codemirror_language-DADyF0Bo.js} +2 -2
- package/dist/{codemirror_language-DVNAhaKA.js.map → codemirror_language-DADyF0Bo.js.map} +1 -1
- package/dist/codemirror_view-Dlz0Kbbt.js +2 -0
- package/dist/codemirror_view-Dlz0Kbbt.js.map +1 -0
- package/dist/core-CHD-6qHy.js +2 -0
- package/dist/core-CHD-6qHy.js.map +1 -0
- package/dist/core.js +1 -1
- package/dist/{deprecations-manager-DzkOV61g.js → deprecations-manager-DSTPOQe0.js} +2 -2
- package/dist/{deprecations-manager-DzkOV61g.js.map → deprecations-manager-DSTPOQe0.js.map} +1 -1
- package/dist/{error-gDwuTIUb.js → error-D2xNLHJ6.js} +2 -2
- package/dist/{error-gDwuTIUb.js.map → error-D2xNLHJ6.js.map} +1 -1
- package/dist/{index-BZvYCKeH.js → index-B4WHjyIA.js} +2 -2
- package/dist/{index-BZvYCKeH.js.map → index-B4WHjyIA.js.map} +1 -1
- package/dist/{mpy-BgMihDWI.js → mpy-BR_l4RTo.js} +2 -2
- package/dist/{mpy-BgMihDWI.js.map → mpy-BR_l4RTo.js.map} +1 -1
- package/dist/{py-DqV3p_W0.js → py-C4pTyP7z.js} +2 -2
- package/dist/{py-DqV3p_W0.js.map → py-C4pTyP7z.js.map} +1 -1
- package/dist/{py-editor-DyAw2VYR.js → py-editor-DN6Ir37A.js} +2 -2
- package/dist/{py-editor-DyAw2VYR.js.map → py-editor-DN6Ir37A.js.map} +1 -1
- package/dist/{py-terminal-BKEuOEc5.js → py-terminal-D1VMb_71.js} +2 -2
- package/dist/{py-terminal-BKEuOEc5.js.map → py-terminal-D1VMb_71.js.map} +1 -1
- package/dist/zip-BIfA-Q-T.js +2 -0
- package/dist/zip-BIfA-Q-T.js.map +1 -0
- package/env/bin/Activate.ps1 +247 -0
- package/env/bin/activate +70 -0
- package/env/bin/activate.csh +27 -0
- package/env/bin/activate.fish +69 -0
- package/env/bin/pip +8 -0
- package/env/bin/pip3 +8 -0
- package/env/bin/pip3.12 +8 -0
- package/env/bin/pyminify +8 -0
- package/env/lib/python3.12/site-packages/_distutils_hack/__init__.py +240 -0
- package/env/lib/python3.12/site-packages/_distutils_hack/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/_distutils_hack/__pycache__/override.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/_distutils_hack/override.py +1 -0
- package/env/lib/python3.12/site-packages/distutils-precedence.pth +1 -0
- package/env/lib/python3.12/site-packages/pip/__init__.py +13 -0
- package/env/lib/python3.12/site-packages/pip/__main__.py +24 -0
- package/env/lib/python3.12/site-packages/pip/__pip-runner__.py +50 -0
- package/env/lib/python3.12/site-packages/pip/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/__pycache__/__main__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/__pycache__/__pip-runner__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/__init__.py +18 -0
- package/env/lib/python3.12/site-packages/pip/_internal/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/__pycache__/build_env.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/__pycache__/cache.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/__pycache__/configuration.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/__pycache__/exceptions.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/__pycache__/main.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/__pycache__/pyproject.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/build_env.py +315 -0
- package/env/lib/python3.12/site-packages/pip/_internal/cache.py +290 -0
- package/env/lib/python3.12/site-packages/pip/_internal/cli/__init__.py +4 -0
- package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/index_command.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/main.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/parser.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/cli/autocompletion.py +176 -0
- package/env/lib/python3.12/site-packages/pip/_internal/cli/base_command.py +231 -0
- package/env/lib/python3.12/site-packages/pip/_internal/cli/cmdoptions.py +1075 -0
- package/env/lib/python3.12/site-packages/pip/_internal/cli/command_context.py +27 -0
- package/env/lib/python3.12/site-packages/pip/_internal/cli/index_command.py +170 -0
- package/env/lib/python3.12/site-packages/pip/_internal/cli/main.py +80 -0
- package/env/lib/python3.12/site-packages/pip/_internal/cli/main_parser.py +134 -0
- package/env/lib/python3.12/site-packages/pip/_internal/cli/parser.py +294 -0
- package/env/lib/python3.12/site-packages/pip/_internal/cli/progress_bars.py +94 -0
- package/env/lib/python3.12/site-packages/pip/_internal/cli/req_command.py +329 -0
- package/env/lib/python3.12/site-packages/pip/_internal/cli/spinners.py +159 -0
- package/env/lib/python3.12/site-packages/pip/_internal/cli/status_codes.py +6 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/__init__.py +132 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/cache.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/check.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/completion.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/debug.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/download.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/hash.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/help.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/index.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/inspect.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/install.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/list.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/search.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/show.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/cache.py +225 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/check.py +67 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/completion.py +130 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/configuration.py +280 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/debug.py +201 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/download.py +146 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/freeze.py +109 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/hash.py +59 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/help.py +41 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/index.py +139 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/inspect.py +92 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/install.py +783 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/list.py +375 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/search.py +172 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/show.py +217 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/uninstall.py +114 -0
- package/env/lib/python3.12/site-packages/pip/_internal/commands/wheel.py +182 -0
- package/env/lib/python3.12/site-packages/pip/_internal/configuration.py +383 -0
- package/env/lib/python3.12/site-packages/pip/_internal/distributions/__init__.py +21 -0
- package/env/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/base.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/distributions/base.py +53 -0
- package/env/lib/python3.12/site-packages/pip/_internal/distributions/installed.py +29 -0
- package/env/lib/python3.12/site-packages/pip/_internal/distributions/sdist.py +158 -0
- package/env/lib/python3.12/site-packages/pip/_internal/distributions/wheel.py +42 -0
- package/env/lib/python3.12/site-packages/pip/_internal/exceptions.py +777 -0
- package/env/lib/python3.12/site-packages/pip/_internal/index/__init__.py +2 -0
- package/env/lib/python3.12/site-packages/pip/_internal/index/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/index/__pycache__/collector.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/index/__pycache__/sources.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/index/collector.py +494 -0
- package/env/lib/python3.12/site-packages/pip/_internal/index/package_finder.py +1020 -0
- package/env/lib/python3.12/site-packages/pip/_internal/index/sources.py +285 -0
- package/env/lib/python3.12/site-packages/pip/_internal/locations/__init__.py +456 -0
- package/env/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/_distutils.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/_sysconfig.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/locations/__pycache__/base.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/locations/_distutils.py +172 -0
- package/env/lib/python3.12/site-packages/pip/_internal/locations/_sysconfig.py +214 -0
- package/env/lib/python3.12/site-packages/pip/_internal/locations/base.py +81 -0
- package/env/lib/python3.12/site-packages/pip/_internal/main.py +12 -0
- package/env/lib/python3.12/site-packages/pip/_internal/metadata/__init__.py +128 -0
- package/env/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/_json.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/base.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/metadata/__pycache__/pkg_resources.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/metadata/_json.py +84 -0
- package/env/lib/python3.12/site-packages/pip/_internal/metadata/base.py +688 -0
- package/env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__init__.py +6 -0
- package/env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/_compat.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/_dists.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/__pycache__/_envs.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_compat.py +85 -0
- package/env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_dists.py +221 -0
- package/env/lib/python3.12/site-packages/pip/_internal/metadata/importlib/_envs.py +189 -0
- package/env/lib/python3.12/site-packages/pip/_internal/metadata/pkg_resources.py +301 -0
- package/env/lib/python3.12/site-packages/pip/_internal/models/__init__.py +2 -0
- package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/candidate.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/direct_url.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/format_control.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/index.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/installation_report.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/link.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/scheme.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/target_python.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/models/__pycache__/wheel.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/models/candidate.py +25 -0
- package/env/lib/python3.12/site-packages/pip/_internal/models/direct_url.py +224 -0
- package/env/lib/python3.12/site-packages/pip/_internal/models/format_control.py +78 -0
- package/env/lib/python3.12/site-packages/pip/_internal/models/index.py +28 -0
- package/env/lib/python3.12/site-packages/pip/_internal/models/installation_report.py +56 -0
- package/env/lib/python3.12/site-packages/pip/_internal/models/link.py +590 -0
- package/env/lib/python3.12/site-packages/pip/_internal/models/scheme.py +25 -0
- package/env/lib/python3.12/site-packages/pip/_internal/models/search_scope.py +127 -0
- package/env/lib/python3.12/site-packages/pip/_internal/models/selection_prefs.py +53 -0
- package/env/lib/python3.12/site-packages/pip/_internal/models/target_python.py +121 -0
- package/env/lib/python3.12/site-packages/pip/_internal/models/wheel.py +93 -0
- package/env/lib/python3.12/site-packages/pip/_internal/network/__init__.py +2 -0
- package/env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/auth.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/cache.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/download.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/lazy_wheel.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/session.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/utils.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/network/auth.py +566 -0
- package/env/lib/python3.12/site-packages/pip/_internal/network/cache.py +106 -0
- package/env/lib/python3.12/site-packages/pip/_internal/network/download.py +187 -0
- package/env/lib/python3.12/site-packages/pip/_internal/network/lazy_wheel.py +210 -0
- package/env/lib/python3.12/site-packages/pip/_internal/network/session.py +522 -0
- package/env/lib/python3.12/site-packages/pip/_internal/network/utils.py +98 -0
- package/env/lib/python3.12/site-packages/pip/_internal/network/xmlrpc.py +62 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/__init__.py +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/check.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/build/__init__.py +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/build_tracker.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/metadata_editable.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/wheel_editable.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/build/build_tracker.py +138 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/build/metadata.py +39 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/build/metadata_editable.py +41 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/build/metadata_legacy.py +74 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/build/wheel.py +37 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/build/wheel_editable.py +46 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/build/wheel_legacy.py +102 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/check.py +181 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/freeze.py +258 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/install/__init__.py +2 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/install/editable_legacy.py +47 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/install/wheel.py +741 -0
- package/env/lib/python3.12/site-packages/pip/_internal/operations/prepare.py +732 -0
- package/env/lib/python3.12/site-packages/pip/_internal/pyproject.py +185 -0
- package/env/lib/python3.12/site-packages/pip/_internal/req/__init__.py +90 -0
- package/env/lib/python3.12/site-packages/pip/_internal/req/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/req/__pycache__/constructors.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_file.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_install.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_set.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/req/constructors.py +560 -0
- package/env/lib/python3.12/site-packages/pip/_internal/req/req_file.py +551 -0
- package/env/lib/python3.12/site-packages/pip/_internal/req/req_install.py +934 -0
- package/env/lib/python3.12/site-packages/pip/_internal/req/req_set.py +82 -0
- package/env/lib/python3.12/site-packages/pip/_internal/req/req_uninstall.py +633 -0
- package/env/lib/python3.12/site-packages/pip/_internal/resolution/__init__.py +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/resolution/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/resolution/__pycache__/base.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/resolution/base.py +20 -0
- package/env/lib/python3.12/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/resolution/legacy/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/resolution/legacy/__pycache__/resolver.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/resolution/legacy/resolver.py +597 -0
- package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/base.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/base.py +139 -0
- package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/candidates.py +569 -0
- package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/factory.py +817 -0
- package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +174 -0
- package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/provider.py +258 -0
- package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/reporter.py +81 -0
- package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/requirements.py +245 -0
- package/env/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/resolver.py +317 -0
- package/env/lib/python3.12/site-packages/pip/_internal/self_outdated_check.py +244 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__init__.py +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/_jaraco_text.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/_log.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/compat.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/compatibility_tags.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/datetime.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/direct_url_helpers.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/egg_link.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/encoding.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/logging.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/misc.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/retry.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/urls.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/_jaraco_text.py +109 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/_log.py +38 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/appdirs.py +52 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/compat.py +79 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/compatibility_tags.py +165 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/datetime.py +11 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/deprecation.py +124 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/direct_url_helpers.py +87 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/egg_link.py +80 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/encoding.py +36 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/entrypoints.py +84 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/filesystem.py +149 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/filetypes.py +27 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/glibc.py +101 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/hashes.py +147 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/logging.py +347 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/misc.py +777 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/packaging.py +57 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/retry.py +42 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/setuptools_build.py +146 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/subprocess.py +245 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/temp_dir.py +296 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/unpacking.py +337 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/urls.py +55 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/virtualenv.py +104 -0
- package/env/lib/python3.12/site-packages/pip/_internal/utils/wheel.py +134 -0
- package/env/lib/python3.12/site-packages/pip/_internal/vcs/__init__.py +15 -0
- package/env/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/git.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_internal/vcs/bazaar.py +112 -0
- package/env/lib/python3.12/site-packages/pip/_internal/vcs/git.py +527 -0
- package/env/lib/python3.12/site-packages/pip/_internal/vcs/mercurial.py +163 -0
- package/env/lib/python3.12/site-packages/pip/_internal/vcs/subversion.py +324 -0
- package/env/lib/python3.12/site-packages/pip/_internal/vcs/versioncontrol.py +688 -0
- package/env/lib/python3.12/site-packages/pip/_internal/wheel_builder.py +354 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/__init__.py +116 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/__pycache__/typing_extensions.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__init__.py +28 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/controller.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/_cmd.py +70 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/adapter.py +161 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/cache.py +74 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +8 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +182 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +48 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/controller.py +499 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/filewrapper.py +119 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/heuristics.py +154 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/py.typed +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/serialize.py +146 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/cachecontrol/wrapper.py +43 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/certifi/__init__.py +4 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/certifi/__main__.py +12 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/certifi/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/certifi/__pycache__/__main__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/certifi/cacert.pem +4798 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/certifi/core.py +114 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/certifi/py.typed +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__init__.py +33 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/database.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/index.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/locators.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/manifest.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/markers.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/metadata.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/resources.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/util.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/version.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/__pycache__/wheel.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/compat.py +1138 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/database.py +1359 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/index.py +508 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/locators.py +1303 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/manifest.py +384 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/markers.py +167 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/metadata.py +1068 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/resources.py +358 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/scripts.py +466 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/t32.exe +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/t64-arm.exe +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/t64.exe +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/util.py +2025 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/version.py +751 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/w32.exe +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/w64-arm.exe +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/w64.exe +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distlib/wheel.py +1099 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distro/__init__.py +54 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distro/__main__.py +4 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distro/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distro/__pycache__/__main__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distro/__pycache__/distro.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distro/distro.py +1403 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/distro/py.typed +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/idna/__init__.py +44 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/core.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/idnadata.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/idna/__pycache__/uts46data.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/idna/codec.py +118 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/idna/compat.py +13 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/idna/core.py +395 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/idna/idnadata.py +4245 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/idna/intranges.py +54 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/idna/package_data.py +2 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/idna/py.typed +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/idna/uts46data.py +8598 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/msgpack/__init__.py +55 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/exceptions.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/ext.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/msgpack/__pycache__/fallback.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/msgpack/exceptions.py +48 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/msgpack/ext.py +168 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/msgpack/fallback.py +951 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__init__.py +15 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_elffile.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_manylinux.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_musllinux.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_parser.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_structures.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/_tokenizer.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/markers.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/metadata.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/specifiers.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/tags.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/__pycache__/version.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/_elffile.py +110 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/_manylinux.py +262 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/_musllinux.py +85 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/_parser.py +354 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/_structures.py +61 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/_tokenizer.py +194 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/markers.py +325 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/metadata.py +804 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/py.typed +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/requirements.py +91 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/specifiers.py +1009 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/tags.py +568 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/utils.py +174 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/packaging/version.py +563 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pkg_resources/__init__.py +3676 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__init__.py +627 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__main__.py +55 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/__main__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/android.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/api.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/macos.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/unix.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/version.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/__pycache__/windows.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/android.py +249 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/api.py +292 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/macos.py +130 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/py.typed +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/unix.py +275 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/version.py +16 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/platformdirs/windows.py +272 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__init__.py +82 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__main__.py +17 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/__main__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/cmdline.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/console.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/filter.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/formatter.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/lexer.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/modeline.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/plugin.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/regexopt.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/scanner.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/sphinxext.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/style.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/token.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/unistring.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/__pycache__/util.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/cmdline.py +668 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/console.py +70 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/filter.py +70 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/filters/__init__.py +940 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/filters/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatter.py +129 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__init__.py +157 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/_mapping.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/bbcode.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/groff.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/html.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/img.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/irc.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/latex.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/other.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/pangomarkup.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/rtf.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/svg.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/terminal.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/__pycache__/terminal256.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/_mapping.py +23 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/bbcode.py +108 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/groff.py +170 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/html.py +987 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/img.py +685 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/irc.py +154 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/latex.py +518 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/other.py +160 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/pangomarkup.py +83 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/rtf.py +349 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/svg.py +185 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/terminal.py +127 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/formatters/terminal256.py +338 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/lexer.py +963 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__init__.py +362 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__pycache__/_mapping.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/__pycache__/python.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/_mapping.py +589 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/lexers/python.py +1198 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/modeline.py +43 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/plugin.py +72 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/regexopt.py +91 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/scanner.py +104 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/sphinxext.py +247 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/style.py +203 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/styles/__init__.py +61 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/styles/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/styles/__pycache__/_mapping.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/styles/_mapping.py +54 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/token.py +214 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/unistring.py +153 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pygments/util.py +324 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__init__.py +23 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__pycache__/_compat.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/__pycache__/_impl.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_compat.py +8 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_impl.py +330 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/__init__.py +18 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/__pycache__/_in_process.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py +353 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/__init__.py +179 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/__version__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/_internal_utils.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/adapters.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/api.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/auth.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/certs.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/compat.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/cookies.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/exceptions.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/help.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/hooks.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/models.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/packages.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/sessions.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/status_codes.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/structures.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/__pycache__/utils.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/__version__.py +14 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/_internal_utils.py +50 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/adapters.py +719 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/api.py +157 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/auth.py +314 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/certs.py +24 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/compat.py +78 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/cookies.py +561 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/exceptions.py +151 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/help.py +127 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/hooks.py +33 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/models.py +1037 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/packages.py +25 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/sessions.py +831 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/status_codes.py +128 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/structures.py +99 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/requests/utils.py +1096 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/__init__.py +26 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/providers.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/reporters.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/resolvers.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/__pycache__/structs.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/compat/__init__.py +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/compat/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/compat/__pycache__/collections_abc.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py +6 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/providers.py +133 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/py.typed +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/reporters.py +43 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers.py +547 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/structs.py +170 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__init__.py +177 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__main__.py +273 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/__main__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_cell_widths.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_emoji_codes.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_emoji_replace.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_export_format.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_extension.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_fileno.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_inspect.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_log_render.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_loop.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_null_file.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_palettes.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_pick.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_ratio.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_spinners.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_stack.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_timer.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_win32_console.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_windows.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_windows_renderer.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/_wrap.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/abc.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/align.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/ansi.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/bar.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/box.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/cells.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/color.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/color_triplet.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/columns.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/console.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/constrain.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/containers.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/control.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/default_styles.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/diagnose.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/emoji.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/errors.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/file_proxy.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/filesize.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/highlighter.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/json.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/jupyter.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/layout.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/live.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/live_render.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/logging.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/markup.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/measure.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/padding.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/pager.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/palette.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/panel.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/pretty.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/progress.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/progress_bar.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/prompt.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/protocol.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/region.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/repr.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/rule.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/scope.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/screen.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/segment.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/spinner.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/status.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/style.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/styled.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/syntax.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/table.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/terminal_theme.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/text.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/theme.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/themes.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/traceback.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/__pycache__/tree.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/_cell_widths.py +454 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/_emoji_codes.py +3610 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/_emoji_replace.py +32 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/_export_format.py +76 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/_extension.py +10 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/_fileno.py +24 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/_inspect.py +270 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/_log_render.py +94 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/_loop.py +43 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/_null_file.py +69 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/_palettes.py +309 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/_pick.py +17 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/_ratio.py +159 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/_spinners.py +482 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/_stack.py +16 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/_timer.py +19 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/_win32_console.py +662 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/_windows.py +71 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/_windows_renderer.py +56 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/_wrap.py +93 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/abc.py +33 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/align.py +311 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/ansi.py +240 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/bar.py +93 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/box.py +480 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/cells.py +167 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/color.py +621 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/color_triplet.py +38 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/columns.py +187 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/console.py +2633 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/constrain.py +37 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/containers.py +167 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/control.py +225 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/default_styles.py +190 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/diagnose.py +37 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/emoji.py +96 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/errors.py +34 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/file_proxy.py +57 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/filesize.py +89 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/highlighter.py +232 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/json.py +139 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/jupyter.py +101 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/layout.py +442 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/live.py +375 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/live_render.py +112 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/logging.py +289 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/markup.py +251 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/measure.py +151 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/padding.py +141 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/pager.py +34 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/palette.py +100 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/panel.py +312 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/pretty.py +995 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/progress.py +1699 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/progress_bar.py +223 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/prompt.py +375 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/protocol.py +42 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/py.typed +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/region.py +10 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/repr.py +149 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/rule.py +130 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/scope.py +86 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/screen.py +54 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/segment.py +738 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/spinner.py +137 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/status.py +131 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/style.py +796 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/styled.py +42 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/syntax.py +958 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/table.py +1000 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/terminal_theme.py +153 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/text.py +1357 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/theme.py +115 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/themes.py +5 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/traceback.py +753 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/rich/tree.py +249 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/tomli/__init__.py +11 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/_parser.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/_re.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/tomli/__pycache__/_types.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/tomli/_parser.py +691 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/tomli/_re.py +107 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/tomli/_types.py +10 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/tomli/py.typed +1 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/truststore/__init__.py +13 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_api.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_macos.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_openssl.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_ssl_constants.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/truststore/__pycache__/_windows.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/truststore/_api.py +313 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/truststore/_macos.py +499 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/truststore/_openssl.py +66 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/truststore/_ssl_constants.py +31 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/truststore/_windows.py +564 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/truststore/py.typed +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/typing_extensions.py +3641 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__init__.py +102 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/_collections.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/_version.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/connection.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/exceptions.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/request.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/__pycache__/response.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/_collections.py +355 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/_version.py +2 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/connection.py +572 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/connectionpool.py +1137 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/appengine.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/ntlmpool.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/securetransport.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +36 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +519 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +397 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/appengine.py +314 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +130 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +518 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +920 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/contrib/socks.py +216 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/exceptions.py +323 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/fields.py +274 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/filepost.py +98 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/__init__.py +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/__pycache__/six.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/makefile.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/weakref_finalize.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +51 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/backports/weakref_finalize.py +155 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/packages/six.py +1076 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/poolmanager.py +540 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/request.py +191 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/response.py +879 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__init__.py +49 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/connection.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/proxy.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/queue.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/request.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/retry.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_match_hostname.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/url.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/__pycache__/wait.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/connection.py +149 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/proxy.py +57 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/queue.py +22 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/request.py +137 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/response.py +107 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/retry.py +620 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssl_.py +495 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssl_match_hostname.py +159 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/ssltransport.py +221 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/timeout.py +271 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/url.py +435 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/urllib3/util/wait.py +152 -0
- package/env/lib/python3.12/site-packages/pip/_vendor/vendor.txt +18 -0
- package/env/lib/python3.12/site-packages/pip/py.typed +4 -0
- package/env/lib/python3.12/site-packages/pip-24.2.dist-info/AUTHORS.txt +796 -0
- package/env/lib/python3.12/site-packages/pip-24.2.dist-info/INSTALLER +1 -0
- package/env/lib/python3.12/site-packages/pip-24.2.dist-info/LICENSE.txt +20 -0
- package/env/lib/python3.12/site-packages/pip-24.2.dist-info/METADATA +89 -0
- package/env/lib/python3.12/site-packages/pip-24.2.dist-info/RECORD +853 -0
- package/env/lib/python3.12/site-packages/pip-24.2.dist-info/REQUESTED +0 -0
- package/env/lib/python3.12/site-packages/pip-24.2.dist-info/WHEEL +5 -0
- package/env/lib/python3.12/site-packages/pip-24.2.dist-info/entry_points.txt +3 -0
- package/env/lib/python3.12/site-packages/pip-24.2.dist-info/top_level.txt +1 -0
- package/env/lib/python3.12/site-packages/pkg_resources/__init__.py +3709 -0
- package/env/lib/python3.12/site-packages/pkg_resources/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/pkg_resources/api_tests.txt +424 -0
- package/env/lib/python3.12/site-packages/pkg_resources/py.typed +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/__init__.py +231 -0
- package/env/lib/python3.12/site-packages/python_minifier/__init__.pyi +34 -0
- package/env/lib/python3.12/site-packages/python_minifier/__main__.py +262 -0
- package/env/lib/python3.12/site-packages/python_minifier/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/__pycache__/__main__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/__pycache__/ast_compare.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/__pycache__/expression_printer.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/__pycache__/f_string.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/__pycache__/ministring.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/__pycache__/module_printer.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/__pycache__/token_printer.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/__pycache__/util.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/ast_compare.py +104 -0
- package/env/lib/python3.12/site-packages/python_minifier/expression_printer.py +748 -0
- package/env/lib/python3.12/site-packages/python_minifier/f_string.py +426 -0
- package/env/lib/python3.12/site-packages/python_minifier/ministring.py +175 -0
- package/env/lib/python3.12/site-packages/python_minifier/module_printer.py +794 -0
- package/env/lib/python3.12/site-packages/python_minifier/py.typed +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/rename/__init__.py +6 -0
- package/env/lib/python3.12/site-packages/python_minifier/rename/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/rename/__pycache__/bind_names.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/rename/__pycache__/binding.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/rename/__pycache__/mapper.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/rename/__pycache__/name_generator.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/rename/__pycache__/rename_literals.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/rename/__pycache__/renamer.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/rename/__pycache__/resolve_names.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/rename/__pycache__/util.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/rename/bind_names.py +174 -0
- package/env/lib/python3.12/site-packages/python_minifier/rename/binding.py +450 -0
- package/env/lib/python3.12/site-packages/python_minifier/rename/mapper.py +160 -0
- package/env/lib/python3.12/site-packages/python_minifier/rename/name_generator.py +51 -0
- package/env/lib/python3.12/site-packages/python_minifier/rename/rename_literals.py +234 -0
- package/env/lib/python3.12/site-packages/python_minifier/rename/renamer.py +230 -0
- package/env/lib/python3.12/site-packages/python_minifier/rename/resolve_names.py +88 -0
- package/env/lib/python3.12/site-packages/python_minifier/rename/util.py +193 -0
- package/env/lib/python3.12/site-packages/python_minifier/token_printer.py +297 -0
- package/env/lib/python3.12/site-packages/python_minifier/transforms/__init__.py +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/combine_imports.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/remove_annotations.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/remove_asserts.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/remove_debug.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/remove_explicit_return_none.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/remove_literal_statements.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/remove_object_base.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/remove_pass.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/remove_posargs.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/transforms/__pycache__/suite_transformer.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/python_minifier/transforms/combine_imports.py +73 -0
- package/env/lib/python3.12/site-packages/python_minifier/transforms/remove_annotations.py +110 -0
- package/env/lib/python3.12/site-packages/python_minifier/transforms/remove_asserts.py +26 -0
- package/env/lib/python3.12/site-packages/python_minifier/transforms/remove_debug.py +53 -0
- package/env/lib/python3.12/site-packages/python_minifier/transforms/remove_explicit_return_none.py +38 -0
- package/env/lib/python3.12/site-packages/python_minifier/transforms/remove_literal_statements.py +61 -0
- package/env/lib/python3.12/site-packages/python_minifier/transforms/remove_object_base.py +21 -0
- package/env/lib/python3.12/site-packages/python_minifier/transforms/remove_pass.py +26 -0
- package/env/lib/python3.12/site-packages/python_minifier/transforms/remove_posargs.py +13 -0
- package/env/lib/python3.12/site-packages/python_minifier/transforms/suite_transformer.py +193 -0
- package/env/lib/python3.12/site-packages/python_minifier/util.py +48 -0
- package/env/lib/python3.12/site-packages/python_minifier-2.9.0.dist-info/INSTALLER +1 -0
- package/env/lib/python3.12/site-packages/python_minifier-2.9.0.dist-info/LICENSE +21 -0
- package/env/lib/python3.12/site-packages/python_minifier-2.9.0.dist-info/METADATA +169 -0
- package/env/lib/python3.12/site-packages/python_minifier-2.9.0.dist-info/RECORD +70 -0
- package/env/lib/python3.12/site-packages/python_minifier-2.9.0.dist-info/REQUESTED +0 -0
- package/env/lib/python3.12/site-packages/python_minifier-2.9.0.dist-info/WHEEL +6 -0
- package/env/lib/python3.12/site-packages/python_minifier-2.9.0.dist-info/entry_points.txt +2 -0
- package/env/lib/python3.12/site-packages/python_minifier-2.9.0.dist-info/top_level.txt +1 -0
- package/env/lib/python3.12/site-packages/python_minifier-2.9.0.dist-info/zip-safe +1 -0
- package/env/lib/python3.12/site-packages/setuptools/__init__.py +282 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/_core_metadata.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/_entry_points.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/_imp.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/_importlib.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/_itertools.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/_normalization.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/_path.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/_reqs.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/archive_util.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/build_meta.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/depends.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/discovery.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/dist.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/errors.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/extension.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/glob.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/installer.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/launch.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/logging.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/modified.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/monkey.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/msvc.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/namespaces.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/package_index.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/sandbox.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/unicode_utils.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/version.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/warnings.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/wheel.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/__pycache__/windows_support.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_core_metadata.py +286 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__init__.py +14 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/_collections.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/_functools.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/_itertools.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/_log.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/_macos_compat.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/_modified.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/_msvccompiler.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/archive_util.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/bcppcompiler.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/ccompiler.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/cmd.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/config.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/core.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/cygwinccompiler.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/debug.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/dep_util.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/dir_util.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/dist.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/errors.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/extension.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/fancy_getopt.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/file_util.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/filelist.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/log.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/msvc9compiler.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/msvccompiler.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/spawn.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/sysconfig.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/text_file.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/unixccompiler.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/util.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/version.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/versionpredicate.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/__pycache__/zosccompiler.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_collections.py +58 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_functools.py +73 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_itertools.py +52 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_log.py +3 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_macos_compat.py +12 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_modified.py +72 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_msvccompiler.py +568 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/__init__.py +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__init__.py +15 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/_elffile.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/_manylinux.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/_musllinux.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/_parser.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/_structures.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/_tokenizer.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/markers.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/metadata.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/requirements.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/specifiers.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/tags.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/utils.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/__pycache__/version.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/_elffile.py +108 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/_manylinux.py +260 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/_musllinux.py +83 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/_parser.py +356 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/_structures.py +61 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/_tokenizer.py +192 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/markers.py +252 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/metadata.py +825 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/py.typed +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/requirements.py +90 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/specifiers.py +1017 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/tags.py +571 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/utils.py +172 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging/version.py +563 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging-24.0.dist-info/LICENSE +3 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging-24.0.dist-info/LICENSE.APACHE +177 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/_vendor/packaging-24.0.dist-info/LICENSE.BSD +23 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/archive_util.py +283 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/bcppcompiler.py +396 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/ccompiler.py +1255 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/cmd.py +439 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__init__.py +25 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/_framework_compat.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/bdist.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/bdist_dumb.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/bdist_rpm.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/build.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/build_clib.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/build_ext.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/build_py.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/build_scripts.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/check.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/clean.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/config.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/install.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/install_data.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/install_egg_info.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/install_headers.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/install_lib.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/install_scripts.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/register.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/sdist.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/__pycache__/upload.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/_framework_compat.py +54 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/bdist.py +155 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/bdist_dumb.py +140 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/bdist_rpm.py +597 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/build.py +156 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/build_clib.py +208 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py +797 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/build_py.py +406 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/build_scripts.py +170 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/check.py +154 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/clean.py +76 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/config.py +369 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/install.py +810 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/install_data.py +94 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/install_egg_info.py +92 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/install_headers.py +44 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/install_lib.py +234 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/install_scripts.py +61 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/register.py +322 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/sdist.py +527 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/upload.py +208 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/wininst-10.0-amd64.exe +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/wininst-10.0.exe +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/wininst-14.0-amd64.exe +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/wininst-14.0.exe +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/wininst-6.0.exe +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/wininst-7.1.exe +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/wininst-8.0.exe +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/wininst-9.0-amd64.exe +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/command/wininst-9.0.exe +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/compat/__init__.py +15 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/compat/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/compat/__pycache__/py38.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/compat/__pycache__/py39.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/compat/py38.py +34 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/compat/py39.py +66 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/config.py +151 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/core.py +287 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/cygwinccompiler.py +334 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/debug.py +5 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/dep_util.py +14 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/dir_util.py +238 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/dist.py +1298 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/errors.py +127 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/extension.py +247 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/fancy_getopt.py +469 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/file_util.py +235 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/filelist.py +369 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/log.py +56 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/msvc9compiler.py +822 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/msvccompiler.py +687 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/spawn.py +117 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/sysconfig.py +582 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/text_file.py +286 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/unixccompiler.py +402 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/util.py +504 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/version.py +349 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/versionpredicate.py +175 -0
- package/env/lib/python3.12/site-packages/setuptools/_distutils/zosccompiler.py +229 -0
- package/env/lib/python3.12/site-packages/setuptools/_entry_points.py +90 -0
- package/env/lib/python3.12/site-packages/setuptools/_imp.py +87 -0
- package/env/lib/python3.12/site-packages/setuptools/_importlib.py +12 -0
- package/env/lib/python3.12/site-packages/setuptools/_itertools.py +23 -0
- package/env/lib/python3.12/site-packages/setuptools/_normalization.py +144 -0
- package/env/lib/python3.12/site-packages/setuptools/_path.py +87 -0
- package/env/lib/python3.12/site-packages/setuptools/_reqs.py +43 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/__pycache__/typing_extensions.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/__init__.py +27 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/__pycache__/autoasync.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/__pycache__/autocommand.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/__pycache__/automain.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/__pycache__/autoparse.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/__pycache__/errors.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/autoasync.py +142 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/autocommand.py +70 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/automain.py +59 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/autoparse.py +333 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand/errors.py +23 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand-2.2.2.dist-info/INSTALLER +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand-2.2.2.dist-info/LICENSE +166 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand-2.2.2.dist-info/METADATA +420 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand-2.2.2.dist-info/RECORD +18 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand-2.2.2.dist-info/WHEEL +5 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/autocommand-2.2.2.dist-info/top_level.txt +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/__init__.py +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/tarfile/__init__.py +2937 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/tarfile/__main__.py +5 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/tarfile/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/tarfile/__pycache__/__main__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/tarfile/compat/__init__.py +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/tarfile/compat/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/tarfile/compat/__pycache__/py38.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/backports/tarfile/compat/py38.py +24 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/backports.tarfile-1.2.0.dist-info/INSTALLER +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/backports.tarfile-1.2.0.dist-info/LICENSE +17 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/backports.tarfile-1.2.0.dist-info/METADATA +46 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/backports.tarfile-1.2.0.dist-info/RECORD +17 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/backports.tarfile-1.2.0.dist-info/REQUESTED +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/backports.tarfile-1.2.0.dist-info/WHEEL +5 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/backports.tarfile-1.2.0.dist-info/top_level.txt +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__init__.py +1083 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_adapters.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_collections.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_compat.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_functools.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_itertools.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_meta.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/_text.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/__pycache__/diagnose.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/_adapters.py +83 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/_collections.py +30 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/_compat.py +57 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/_functools.py +104 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/_itertools.py +73 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/_meta.py +67 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/_text.py +99 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/compat/__init__.py +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/compat/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/compat/__pycache__/py311.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/compat/__pycache__/py39.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/compat/py311.py +22 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/compat/py39.py +36 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/diagnose.py +21 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata/py.typed +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata-8.0.0.dist-info/INSTALLER +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata-8.0.0.dist-info/LICENSE +202 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata-8.0.0.dist-info/METADATA +129 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata-8.0.0.dist-info/RECORD +32 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata-8.0.0.dist-info/REQUESTED +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata-8.0.0.dist-info/WHEEL +5 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_metadata-8.0.0.dist-info/top_level.txt +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/__init__.py +36 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/__pycache__/_adapters.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/__pycache__/_common.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/__pycache__/_itertools.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/__pycache__/abc.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/__pycache__/functional.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/__pycache__/readers.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/__pycache__/simple.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/_adapters.py +168 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/_common.py +210 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/_itertools.py +38 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/abc.py +171 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/compat/__init__.py +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/compat/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/compat/__pycache__/py38.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/compat/__pycache__/py39.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/compat/py38.py +11 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/compat/py39.py +10 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/functional.py +81 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/future/__init__.py +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/future/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/future/__pycache__/adapters.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/future/adapters.py +95 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/py.typed +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/readers.py +194 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources/simple.py +106 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources-6.4.0.dist-info/INSTALLER +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources-6.4.0.dist-info/LICENSE +202 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources-6.4.0.dist-info/METADATA +100 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources-6.4.0.dist-info/RECORD +89 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources-6.4.0.dist-info/REQUESTED +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources-6.4.0.dist-info/WHEEL +5 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/importlib_resources-6.4.0.dist-info/top_level.txt +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect/__init__.py +3986 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect/compat/__init__.py +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect/compat/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect/compat/__pycache__/py38.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect/compat/py38.py +7 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect/py.typed +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect-7.3.1.dist-info/INSTALLER +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect-7.3.1.dist-info/LICENSE +17 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect-7.3.1.dist-info/METADATA +591 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect-7.3.1.dist-info/RECORD +13 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect-7.3.1.dist-info/WHEEL +5 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/inflect-7.3.1.dist-info/top_level.txt +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/__pycache__/context.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/context.py +361 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/functools/__init__.py +633 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/functools/__init__.pyi +125 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/functools/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/functools/py.typed +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/Lorem ipsum.txt +2 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/__init__.py +624 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/__pycache__/layouts.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/__pycache__/show-newlines.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/__pycache__/strip-prefix.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/__pycache__/to-dvorak.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/__pycache__/to-qwerty.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/layouts.py +25 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/show-newlines.py +33 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/strip-prefix.py +21 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/to-dvorak.py +6 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco/text/to-qwerty.py +6 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.context-5.3.0.dist-info/INSTALLER +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.context-5.3.0.dist-info/LICENSE +17 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.context-5.3.0.dist-info/METADATA +75 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.context-5.3.0.dist-info/RECORD +8 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.context-5.3.0.dist-info/WHEEL +5 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.context-5.3.0.dist-info/top_level.txt +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.functools-4.0.1.dist-info/INSTALLER +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.functools-4.0.1.dist-info/LICENSE +17 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.functools-4.0.1.dist-info/METADATA +64 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.functools-4.0.1.dist-info/RECORD +10 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.functools-4.0.1.dist-info/WHEEL +5 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.functools-4.0.1.dist-info/top_level.txt +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.text-3.12.1.dist-info/INSTALLER +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.text-3.12.1.dist-info/LICENSE +17 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.text-3.12.1.dist-info/METADATA +95 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.text-3.12.1.dist-info/RECORD +20 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.text-3.12.1.dist-info/REQUESTED +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.text-3.12.1.dist-info/WHEEL +5 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/jaraco.text-3.12.1.dist-info/top_level.txt +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/__init__.py +6 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/__init__.pyi +2 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/__pycache__/more.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/__pycache__/recipes.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/more.py +4806 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/more.pyi +709 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/py.typed +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/recipes.py +1046 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools/recipes.pyi +136 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools-10.3.0.dist-info/INSTALLER +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools-10.3.0.dist-info/LICENSE +19 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools-10.3.0.dist-info/METADATA +266 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools-10.3.0.dist-info/RECORD +16 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools-10.3.0.dist-info/REQUESTED +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/more_itertools-10.3.0.dist-info/WHEEL +4 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__init__.py +15 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/_elffile.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/_manylinux.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/_musllinux.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/_parser.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/_structures.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/_tokenizer.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/markers.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/metadata.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/requirements.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/specifiers.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/tags.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/utils.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/__pycache__/version.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/_elffile.py +110 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/_manylinux.py +262 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/_musllinux.py +85 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/_parser.py +354 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/_structures.py +61 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/_tokenizer.py +194 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/markers.py +325 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/metadata.py +804 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/py.typed +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/requirements.py +91 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/specifiers.py +1009 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/tags.py +568 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/utils.py +174 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging/version.py +563 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging-24.1.dist-info/INSTALLER +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging-24.1.dist-info/LICENSE +3 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging-24.1.dist-info/LICENSE.APACHE +177 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging-24.1.dist-info/LICENSE.BSD +23 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging-24.1.dist-info/METADATA +102 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging-24.1.dist-info/RECORD +37 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging-24.1.dist-info/REQUESTED +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/packaging-24.1.dist-info/WHEEL +4 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__init__.py +627 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__main__.py +55 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__pycache__/__main__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__pycache__/android.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__pycache__/api.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__pycache__/macos.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__pycache__/unix.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__pycache__/version.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/__pycache__/windows.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/android.py +249 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/api.py +292 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/macos.py +130 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/py.typed +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/unix.py +275 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/version.py +16 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs/windows.py +272 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs-4.2.2.dist-info/INSTALLER +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs-4.2.2.dist-info/METADATA +319 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs-4.2.2.dist-info/RECORD +23 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs-4.2.2.dist-info/REQUESTED +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs-4.2.2.dist-info/WHEEL +4 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/platformdirs-4.2.2.dist-info/licenses/LICENSE +21 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/ruff.toml +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli/__init__.py +11 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli/__pycache__/_parser.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli/__pycache__/_re.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli/__pycache__/_types.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli/_parser.py +691 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli/_re.py +107 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli/_types.py +10 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli/py.typed +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli-2.0.1.dist-info/INSTALLER +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli-2.0.1.dist-info/LICENSE +21 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli-2.0.1.dist-info/METADATA +206 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli-2.0.1.dist-info/RECORD +15 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli-2.0.1.dist-info/REQUESTED +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/tomli-2.0.1.dist-info/WHEEL +4 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__init__.py +48 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_checkers.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_config.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_decorators.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_exceptions.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_functions.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_importhook.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_memo.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_pytest_plugin.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_suppression.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_transformer.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_union_transformer.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/__pycache__/_utils.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_checkers.py +993 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_config.py +108 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_decorators.py +235 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_exceptions.py +42 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_functions.py +308 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_importhook.py +213 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_memo.py +48 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_pytest_plugin.py +127 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_suppression.py +86 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_transformer.py +1229 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_union_transformer.py +55 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/_utils.py +173 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard/py.typed +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard-4.3.0.dist-info/INSTALLER +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard-4.3.0.dist-info/LICENSE +19 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard-4.3.0.dist-info/METADATA +81 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard-4.3.0.dist-info/RECORD +34 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard-4.3.0.dist-info/WHEEL +5 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard-4.3.0.dist-info/entry_points.txt +2 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typeguard-4.3.0.dist-info/top_level.txt +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typing_extensions-4.12.2.dist-info/INSTALLER +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typing_extensions-4.12.2.dist-info/LICENSE +279 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typing_extensions-4.12.2.dist-info/METADATA +67 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typing_extensions-4.12.2.dist-info/RECORD +7 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typing_extensions-4.12.2.dist-info/WHEEL +4 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/typing_extensions.py +3641 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__init__.py +3 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__main__.py +23 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__pycache__/__main__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__pycache__/_setuptools_logging.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__pycache__/bdist_wheel.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__pycache__/macosx_libfile.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__pycache__/metadata.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__pycache__/util.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/__pycache__/wheelfile.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/_setuptools_logging.py +26 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/bdist_wheel.py +595 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/__init__.py +155 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/__pycache__/convert.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/__pycache__/pack.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/__pycache__/tags.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/__pycache__/unpack.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/convert.py +273 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/pack.py +85 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/tags.py +139 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/cli/unpack.py +30 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/macosx_libfile.py +469 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/metadata.py +180 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/util.py +26 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/__init__.py +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__init__.py +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/_elffile.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/_manylinux.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/_musllinux.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/_parser.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/_structures.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/_tokenizer.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/markers.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/requirements.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/specifiers.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/tags.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/utils.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/__pycache__/version.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/_elffile.py +108 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/_manylinux.py +260 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/_musllinux.py +83 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/_parser.py +356 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/_structures.py +61 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/_tokenizer.py +192 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/markers.py +253 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/requirements.py +90 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/specifiers.py +1011 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/tags.py +571 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/utils.py +172 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/packaging/version.py +561 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/vendored/vendor.txt +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel/wheelfile.py +196 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel-0.43.0.dist-info/INSTALLER +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel-0.43.0.dist-info/LICENSE.txt +21 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel-0.43.0.dist-info/METADATA +61 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel-0.43.0.dist-info/RECORD +63 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel-0.43.0.dist-info/REQUESTED +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel-0.43.0.dist-info/WHEEL +4 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/wheel-0.43.0.dist-info/entry_points.txt +6 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp/__init__.py +501 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp/__pycache__/glob.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp/compat/__init__.py +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp/compat/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp/compat/__pycache__/py310.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp/compat/py310.py +11 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp/glob.py +106 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp-3.19.2.dist-info/INSTALLER +1 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp-3.19.2.dist-info/LICENSE +17 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp-3.19.2.dist-info/METADATA +102 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp-3.19.2.dist-info/RECORD +15 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp-3.19.2.dist-info/REQUESTED +0 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp-3.19.2.dist-info/WHEEL +5 -0
- package/env/lib/python3.12/site-packages/setuptools/_vendor/zipp-3.19.2.dist-info/top_level.txt +1 -0
- package/env/lib/python3.12/site-packages/setuptools/archive_util.py +217 -0
- package/env/lib/python3.12/site-packages/setuptools/build_meta.py +529 -0
- package/env/lib/python3.12/site-packages/setuptools/cli-32.exe +0 -0
- package/env/lib/python3.12/site-packages/setuptools/cli-64.exe +0 -0
- package/env/lib/python3.12/site-packages/setuptools/cli-arm64.exe +0 -0
- package/env/lib/python3.12/site-packages/setuptools/cli.exe +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__init__.py +13 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/_requirestxt.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/alias.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/bdist_egg.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/bdist_rpm.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/bdist_wheel.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/build.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/build_clib.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/build_ext.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/build_py.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/develop.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/dist_info.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/easy_install.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/editable_wheel.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/egg_info.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/install.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/install_egg_info.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/install_lib.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/install_scripts.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/register.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/rotate.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/saveopts.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/sdist.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/setopt.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/test.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/upload.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/__pycache__/upload_docs.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/command/_requirestxt.py +131 -0
- package/env/lib/python3.12/site-packages/setuptools/command/alias.py +78 -0
- package/env/lib/python3.12/site-packages/setuptools/command/bdist_egg.py +465 -0
- package/env/lib/python3.12/site-packages/setuptools/command/bdist_rpm.py +42 -0
- package/env/lib/python3.12/site-packages/setuptools/command/bdist_wheel.py +621 -0
- package/env/lib/python3.12/site-packages/setuptools/command/build.py +129 -0
- package/env/lib/python3.12/site-packages/setuptools/command/build_clib.py +108 -0
- package/env/lib/python3.12/site-packages/setuptools/command/build_ext.py +462 -0
- package/env/lib/python3.12/site-packages/setuptools/command/build_py.py +404 -0
- package/env/lib/python3.12/site-packages/setuptools/command/develop.py +195 -0
- package/env/lib/python3.12/site-packages/setuptools/command/dist_info.py +107 -0
- package/env/lib/python3.12/site-packages/setuptools/command/easy_install.py +2364 -0
- package/env/lib/python3.12/site-packages/setuptools/command/editable_wheel.py +899 -0
- package/env/lib/python3.12/site-packages/setuptools/command/egg_info.py +727 -0
- package/env/lib/python3.12/site-packages/setuptools/command/install.py +165 -0
- package/env/lib/python3.12/site-packages/setuptools/command/install_egg_info.py +58 -0
- package/env/lib/python3.12/site-packages/setuptools/command/install_lib.py +134 -0
- package/env/lib/python3.12/site-packages/setuptools/command/install_scripts.py +73 -0
- package/env/lib/python3.12/site-packages/setuptools/command/launcher manifest.xml +15 -0
- package/env/lib/python3.12/site-packages/setuptools/command/register.py +22 -0
- package/env/lib/python3.12/site-packages/setuptools/command/rotate.py +65 -0
- package/env/lib/python3.12/site-packages/setuptools/command/saveopts.py +21 -0
- package/env/lib/python3.12/site-packages/setuptools/command/sdist.py +207 -0
- package/env/lib/python3.12/site-packages/setuptools/command/setopt.py +141 -0
- package/env/lib/python3.12/site-packages/setuptools/command/test.py +42 -0
- package/env/lib/python3.12/site-packages/setuptools/command/upload.py +20 -0
- package/env/lib/python3.12/site-packages/setuptools/command/upload_docs.py +221 -0
- package/env/lib/python3.12/site-packages/setuptools/compat/__init__.py +0 -0
- package/env/lib/python3.12/site-packages/setuptools/compat/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/compat/__pycache__/py310.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/compat/__pycache__/py311.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/compat/__pycache__/py39.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/compat/py310.py +9 -0
- package/env/lib/python3.12/site-packages/setuptools/compat/py311.py +27 -0
- package/env/lib/python3.12/site-packages/setuptools/compat/py39.py +9 -0
- package/env/lib/python3.12/site-packages/setuptools/config/NOTICE +10 -0
- package/env/lib/python3.12/site-packages/setuptools/config/__init__.py +43 -0
- package/env/lib/python3.12/site-packages/setuptools/config/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/config/__pycache__/_apply_pyprojecttoml.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/config/__pycache__/expand.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/config/__pycache__/pyprojecttoml.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/config/__pycache__/setupcfg.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/config/_apply_pyprojecttoml.py +439 -0
- package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/NOTICE +438 -0
- package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/__init__.py +34 -0
- package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/__pycache__/__init__.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/__pycache__/error_reporting.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/__pycache__/extra_validations.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/__pycache__/fastjsonschema_exceptions.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/__pycache__/fastjsonschema_validations.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/__pycache__/formats.cpython-312.pyc +0 -0
- package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/error_reporting.py +336 -0
- package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/extra_validations.py +52 -0
- package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_exceptions.py +51 -0
- package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_validations.py +1104 -0
- package/env/lib/python3.12/site-packages/setuptools/config/_validate_pyproject/formats.py +375 -0
- package/env/lib/python3.12/site-packages/setuptools/config/distutils.schema.json +26 -0
- package/env/lib/python3.12/site-packages/setuptools/config/expand.py +436 -0
- package/env/lib/python3.12/site-packages/setuptools/config/pyprojecttoml.py +453 -0
- package/env/lib/python3.12/site-packages/setuptools/config/setupcfg.py +777 -0
- package/env/lib/python3.12/site-packages/setuptools/config/setuptools.schema.json +352 -0
- package/env/lib/python3.12/site-packages/setuptools/depends.py +166 -0
- package/env/lib/python3.12/site-packages/setuptools/discovery.py +607 -0
- package/env/lib/python3.12/site-packages/setuptools/dist.py +953 -0
- package/env/lib/python3.12/site-packages/setuptools/errors.py +65 -0
- package/env/lib/python3.12/site-packages/setuptools/extension.py +163 -0
- package/env/lib/python3.12/site-packages/setuptools/glob.py +165 -0
- package/env/lib/python3.12/site-packages/setuptools/gui-32.exe +0 -0
- package/env/lib/python3.12/site-packages/setuptools/gui-64.exe +0 -0
- package/env/lib/python3.12/site-packages/setuptools/gui-arm64.exe +0 -0
- package/env/lib/python3.12/site-packages/setuptools/gui.exe +0 -0
- package/env/lib/python3.12/site-packages/setuptools/installer.py +145 -0
- package/env/lib/python3.12/site-packages/setuptools/launch.py +36 -0
- package/env/lib/python3.12/site-packages/setuptools/logging.py +40 -0
- package/env/lib/python3.12/site-packages/setuptools/modified.py +8 -0
- package/env/lib/python3.12/site-packages/setuptools/monkey.py +156 -0
- package/env/lib/python3.12/site-packages/setuptools/msvc.py +1748 -0
- package/env/lib/python3.12/site-packages/setuptools/namespaces.py +105 -0
- package/env/lib/python3.12/site-packages/setuptools/package_index.py +1148 -0
- package/env/lib/python3.12/site-packages/setuptools/sandbox.py +514 -0
- package/env/lib/python3.12/site-packages/setuptools/script (dev).tmpl +6 -0
- package/env/lib/python3.12/site-packages/setuptools/script.tmpl +3 -0
- package/env/lib/python3.12/site-packages/setuptools/unicode_utils.py +102 -0
- package/env/lib/python3.12/site-packages/setuptools/version.py +6 -0
- package/env/lib/python3.12/site-packages/setuptools/warnings.py +107 -0
- package/env/lib/python3.12/site-packages/setuptools/wheel.py +236 -0
- package/env/lib/python3.12/site-packages/setuptools/windows_support.py +30 -0
- package/env/lib/python3.12/site-packages/setuptools-73.0.1.dist-info/INSTALLER +1 -0
- package/env/lib/python3.12/site-packages/setuptools-73.0.1.dist-info/LICENSE +17 -0
- package/env/lib/python3.12/site-packages/setuptools-73.0.1.dist-info/METADATA +136 -0
- package/env/lib/python3.12/site-packages/setuptools-73.0.1.dist-info/RECORD +1007 -0
- package/env/lib/python3.12/site-packages/setuptools-73.0.1.dist-info/REQUESTED +0 -0
- package/env/lib/python3.12/site-packages/setuptools-73.0.1.dist-info/WHEEL +5 -0
- package/env/lib/python3.12/site-packages/setuptools-73.0.1.dist-info/entry_points.txt +52 -0
- package/env/lib/python3.12/site-packages/setuptools-73.0.1.dist-info/top_level.txt +3 -0
- package/env/pyvenv.cfg +5 -0
- package/package.json +10 -9
- package/src/stdlib/pyscript/websocket.py +3 -1
- package/src/stdlib/pyscript.js +1 -1
- package/dist/codemirror_view-CT67V3cG.js +0 -2
- package/dist/codemirror_view-CT67V3cG.js.map +0 -1
- package/dist/core-DJjKq1SP.js +0 -2
- package/dist/core-DJjKq1SP.js.map +0 -1
- package/dist/zip-C10rja2G.js +0 -2
- package/dist/zip-C10rja2G.js.map +0 -1
- package/pyscript-core-0.5.3-rc1.tgz +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"codemirror-BBnQ0LtX.js","sources":["../node_modules/crelt/index.js","../node_modules/@codemirror/search/dist/index.js","../node_modules/@codemirror/lint/dist/index.js","../node_modules/codemirror/dist/index.js"],"sourcesContent":["export default function crelt() {\n var elt = arguments[0]\n if (typeof elt == \"string\") elt = document.createElement(elt)\n var i = 1, next = arguments[1]\n if (next && typeof next == \"object\" && next.nodeType == null && !Array.isArray(next)) {\n for (var name in next) if (Object.prototype.hasOwnProperty.call(next, name)) {\n var value = next[name]\n if (typeof value == \"string\") elt.setAttribute(name, value)\n else if (value != null) elt[name] = value\n }\n i++\n }\n for (; i < arguments.length; i++) add(elt, arguments[i])\n return elt\n}\n\nfunction add(elt, child) {\n if (typeof child == \"string\") {\n elt.appendChild(document.createTextNode(child))\n } else if (child == null) {\n } else if (child.nodeType != null) {\n elt.appendChild(child)\n } else if (Array.isArray(child)) {\n for (var i = 0; i < child.length; i++) add(elt, child[i])\n } else {\n throw new RangeError(\"Unsupported child node: \" + child)\n }\n}\n","import { showPanel, EditorView, getPanel, Decoration, ViewPlugin, runScopeHandlers } from '@codemirror/view';\nimport { codePointAt, fromCodePoint, codePointSize, StateEffect, StateField, EditorSelection, Facet, combineConfig, CharCategory, RangeSetBuilder, Prec, EditorState, findClusterBreak } from '@codemirror/state';\nimport elt from 'crelt';\n\nconst basicNormalize = typeof String.prototype.normalize == \"function\"\n ? x => x.normalize(\"NFKD\") : x => x;\n/**\nA search cursor provides an iterator over text matches in a\ndocument.\n*/\nclass SearchCursor {\n /**\n Create a text cursor. The query is the search string, `from` to\n `to` provides the region to search.\n \n When `normalize` is given, it will be called, on both the query\n string and the content it is matched against, before comparing.\n You can, for example, create a case-insensitive search by\n passing `s => s.toLowerCase()`.\n \n Text is always normalized with\n [`.normalize(\"NFKD\")`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize)\n (when supported).\n */\n constructor(text, query, from = 0, to = text.length, normalize, test) {\n this.test = test;\n /**\n The current match (only holds a meaningful value after\n [`next`](https://codemirror.net/6/docs/ref/#search.SearchCursor.next) has been called and when\n `done` is false).\n */\n this.value = { from: 0, to: 0 };\n /**\n Whether the end of the iterated region has been reached.\n */\n this.done = false;\n this.matches = [];\n this.buffer = \"\";\n this.bufferPos = 0;\n this.iter = text.iterRange(from, to);\n this.bufferStart = from;\n this.normalize = normalize ? x => normalize(basicNormalize(x)) : basicNormalize;\n this.query = this.normalize(query);\n }\n peek() {\n if (this.bufferPos == this.buffer.length) {\n this.bufferStart += this.buffer.length;\n this.iter.next();\n if (this.iter.done)\n return -1;\n this.bufferPos = 0;\n this.buffer = this.iter.value;\n }\n return codePointAt(this.buffer, this.bufferPos);\n }\n /**\n Look for the next match. Updates the iterator's\n [`value`](https://codemirror.net/6/docs/ref/#search.SearchCursor.value) and\n [`done`](https://codemirror.net/6/docs/ref/#search.SearchCursor.done) properties. Should be called\n at least once before using the cursor.\n */\n next() {\n while (this.matches.length)\n this.matches.pop();\n return this.nextOverlapping();\n }\n /**\n The `next` method will ignore matches that partially overlap a\n previous match. This method behaves like `next`, but includes\n such matches.\n */\n nextOverlapping() {\n for (;;) {\n let next = this.peek();\n if (next < 0) {\n this.done = true;\n return this;\n }\n let str = fromCodePoint(next), start = this.bufferStart + this.bufferPos;\n this.bufferPos += codePointSize(next);\n let norm = this.normalize(str);\n for (let i = 0, pos = start;; i++) {\n let code = norm.charCodeAt(i);\n let match = this.match(code, pos, this.bufferPos + this.bufferStart);\n if (i == norm.length - 1) {\n if (match) {\n this.value = match;\n return this;\n }\n break;\n }\n if (pos == start && i < str.length && str.charCodeAt(i) == code)\n pos++;\n }\n }\n }\n match(code, pos, end) {\n let match = null;\n for (let i = 0; i < this.matches.length; i += 2) {\n let index = this.matches[i], keep = false;\n if (this.query.charCodeAt(index) == code) {\n if (index == this.query.length - 1) {\n match = { from: this.matches[i + 1], to: end };\n }\n else {\n this.matches[i]++;\n keep = true;\n }\n }\n if (!keep) {\n this.matches.splice(i, 2);\n i -= 2;\n }\n }\n if (this.query.charCodeAt(0) == code) {\n if (this.query.length == 1)\n match = { from: pos, to: end };\n else\n this.matches.push(1, pos);\n }\n if (match && this.test && !this.test(match.from, match.to, this.buffer, this.bufferStart))\n match = null;\n return match;\n }\n}\nif (typeof Symbol != \"undefined\")\n SearchCursor.prototype[Symbol.iterator] = function () { return this; };\n\nconst empty = { from: -1, to: -1, match: /*@__PURE__*//.*/.exec(\"\") };\nconst baseFlags = \"gm\" + (/x/.unicode == null ? \"\" : \"u\");\n/**\nThis class is similar to [`SearchCursor`](https://codemirror.net/6/docs/ref/#search.SearchCursor)\nbut searches for a regular expression pattern instead of a plain\nstring.\n*/\nclass RegExpCursor {\n /**\n Create a cursor that will search the given range in the given\n document. `query` should be the raw pattern (as you'd pass it to\n `new RegExp`).\n */\n constructor(text, query, options, from = 0, to = text.length) {\n this.text = text;\n this.to = to;\n this.curLine = \"\";\n /**\n Set to `true` when the cursor has reached the end of the search\n range.\n */\n this.done = false;\n /**\n Will contain an object with the extent of the match and the\n match object when [`next`](https://codemirror.net/6/docs/ref/#search.RegExpCursor.next)\n sucessfully finds a match.\n */\n this.value = empty;\n if (/\\\\[sWDnr]|\\n|\\r|\\[\\^/.test(query))\n return new MultilineRegExpCursor(text, query, options, from, to);\n this.re = new RegExp(query, baseFlags + ((options === null || options === void 0 ? void 0 : options.ignoreCase) ? \"i\" : \"\"));\n this.test = options === null || options === void 0 ? void 0 : options.test;\n this.iter = text.iter();\n let startLine = text.lineAt(from);\n this.curLineStart = startLine.from;\n this.matchPos = toCharEnd(text, from);\n this.getLine(this.curLineStart);\n }\n getLine(skip) {\n this.iter.next(skip);\n if (this.iter.lineBreak) {\n this.curLine = \"\";\n }\n else {\n this.curLine = this.iter.value;\n if (this.curLineStart + this.curLine.length > this.to)\n this.curLine = this.curLine.slice(0, this.to - this.curLineStart);\n this.iter.next();\n }\n }\n nextLine() {\n this.curLineStart = this.curLineStart + this.curLine.length + 1;\n if (this.curLineStart > this.to)\n this.curLine = \"\";\n else\n this.getLine(0);\n }\n /**\n Move to the next match, if there is one.\n */\n next() {\n for (let off = this.matchPos - this.curLineStart;;) {\n this.re.lastIndex = off;\n let match = this.matchPos <= this.to && this.re.exec(this.curLine);\n if (match) {\n let from = this.curLineStart + match.index, to = from + match[0].length;\n this.matchPos = toCharEnd(this.text, to + (from == to ? 1 : 0));\n if (from == this.curLineStart + this.curLine.length)\n this.nextLine();\n if ((from < to || from > this.value.to) && (!this.test || this.test(from, to, match))) {\n this.value = { from, to, match };\n return this;\n }\n off = this.matchPos - this.curLineStart;\n }\n else if (this.curLineStart + this.curLine.length < this.to) {\n this.nextLine();\n off = 0;\n }\n else {\n this.done = true;\n return this;\n }\n }\n }\n}\nconst flattened = /*@__PURE__*/new WeakMap();\n// Reusable (partially) flattened document strings\nclass FlattenedDoc {\n constructor(from, text) {\n this.from = from;\n this.text = text;\n }\n get to() { return this.from + this.text.length; }\n static get(doc, from, to) {\n let cached = flattened.get(doc);\n if (!cached || cached.from >= to || cached.to <= from) {\n let flat = new FlattenedDoc(from, doc.sliceString(from, to));\n flattened.set(doc, flat);\n return flat;\n }\n if (cached.from == from && cached.to == to)\n return cached;\n let { text, from: cachedFrom } = cached;\n if (cachedFrom > from) {\n text = doc.sliceString(from, cachedFrom) + text;\n cachedFrom = from;\n }\n if (cached.to < to)\n text += doc.sliceString(cached.to, to);\n flattened.set(doc, new FlattenedDoc(cachedFrom, text));\n return new FlattenedDoc(from, text.slice(from - cachedFrom, to - cachedFrom));\n }\n}\nclass MultilineRegExpCursor {\n constructor(text, query, options, from, to) {\n this.text = text;\n this.to = to;\n this.done = false;\n this.value = empty;\n this.matchPos = toCharEnd(text, from);\n this.re = new RegExp(query, baseFlags + ((options === null || options === void 0 ? void 0 : options.ignoreCase) ? \"i\" : \"\"));\n this.test = options === null || options === void 0 ? void 0 : options.test;\n this.flat = FlattenedDoc.get(text, from, this.chunkEnd(from + 5000 /* Chunk.Base */));\n }\n chunkEnd(pos) {\n return pos >= this.to ? this.to : this.text.lineAt(pos).to;\n }\n next() {\n for (;;) {\n let off = this.re.lastIndex = this.matchPos - this.flat.from;\n let match = this.re.exec(this.flat.text);\n // Skip empty matches directly after the last match\n if (match && !match[0] && match.index == off) {\n this.re.lastIndex = off + 1;\n match = this.re.exec(this.flat.text);\n }\n if (match) {\n let from = this.flat.from + match.index, to = from + match[0].length;\n // If a match goes almost to the end of a noncomplete chunk, try\n // again, since it'll likely be able to match more\n if ((this.flat.to >= this.to || match.index + match[0].length <= this.flat.text.length - 10) &&\n (!this.test || this.test(from, to, match))) {\n this.value = { from, to, match };\n this.matchPos = toCharEnd(this.text, to + (from == to ? 1 : 0));\n return this;\n }\n }\n if (this.flat.to == this.to) {\n this.done = true;\n return this;\n }\n // Grow the flattened doc\n this.flat = FlattenedDoc.get(this.text, this.flat.from, this.chunkEnd(this.flat.from + this.flat.text.length * 2));\n }\n }\n}\nif (typeof Symbol != \"undefined\") {\n RegExpCursor.prototype[Symbol.iterator] = MultilineRegExpCursor.prototype[Symbol.iterator] =\n function () { return this; };\n}\nfunction validRegExp(source) {\n try {\n new RegExp(source, baseFlags);\n return true;\n }\n catch (_a) {\n return false;\n }\n}\nfunction toCharEnd(text, pos) {\n if (pos >= text.length)\n return pos;\n let line = text.lineAt(pos), next;\n while (pos < line.to && (next = line.text.charCodeAt(pos - line.from)) >= 0xDC00 && next < 0xE000)\n pos++;\n return pos;\n}\n\nfunction createLineDialog(view) {\n let line = String(view.state.doc.lineAt(view.state.selection.main.head).number);\n let input = elt(\"input\", { class: \"cm-textfield\", name: \"line\", value: line });\n let dom = elt(\"form\", {\n class: \"cm-gotoLine\",\n onkeydown: (event) => {\n if (event.keyCode == 27) { // Escape\n event.preventDefault();\n view.dispatch({ effects: dialogEffect.of(false) });\n view.focus();\n }\n else if (event.keyCode == 13) { // Enter\n event.preventDefault();\n go();\n }\n },\n onsubmit: (event) => {\n event.preventDefault();\n go();\n }\n }, elt(\"label\", view.state.phrase(\"Go to line\"), \": \", input), \" \", elt(\"button\", { class: \"cm-button\", type: \"submit\" }, view.state.phrase(\"go\")));\n function go() {\n let match = /^([+-])?(\\d+)?(:\\d+)?(%)?$/.exec(input.value);\n if (!match)\n return;\n let { state } = view, startLine = state.doc.lineAt(state.selection.main.head);\n let [, sign, ln, cl, percent] = match;\n let col = cl ? +cl.slice(1) : 0;\n let line = ln ? +ln : startLine.number;\n if (ln && percent) {\n let pc = line / 100;\n if (sign)\n pc = pc * (sign == \"-\" ? -1 : 1) + (startLine.number / state.doc.lines);\n line = Math.round(state.doc.lines * pc);\n }\n else if (ln && sign) {\n line = line * (sign == \"-\" ? -1 : 1) + startLine.number;\n }\n let docLine = state.doc.line(Math.max(1, Math.min(state.doc.lines, line)));\n let selection = EditorSelection.cursor(docLine.from + Math.max(0, Math.min(col, docLine.length)));\n view.dispatch({\n effects: [dialogEffect.of(false), EditorView.scrollIntoView(selection.from, { y: 'center' })],\n selection,\n });\n view.focus();\n }\n return { dom };\n}\nconst dialogEffect = /*@__PURE__*/StateEffect.define();\nconst dialogField = /*@__PURE__*/StateField.define({\n create() { return true; },\n update(value, tr) {\n for (let e of tr.effects)\n if (e.is(dialogEffect))\n value = e.value;\n return value;\n },\n provide: f => showPanel.from(f, val => val ? createLineDialog : null)\n});\n/**\nCommand that shows a dialog asking the user for a line number, and\nwhen a valid position is provided, moves the cursor to that line.\n\nSupports line numbers, relative line offsets prefixed with `+` or\n`-`, document percentages suffixed with `%`, and an optional\ncolumn position by adding `:` and a second number after the line\nnumber.\n*/\nconst gotoLine = view => {\n let panel = getPanel(view, createLineDialog);\n if (!panel) {\n let effects = [dialogEffect.of(true)];\n if (view.state.field(dialogField, false) == null)\n effects.push(StateEffect.appendConfig.of([dialogField, baseTheme$1]));\n view.dispatch({ effects });\n panel = getPanel(view, createLineDialog);\n }\n if (panel)\n panel.dom.querySelector(\"input\").select();\n return true;\n};\nconst baseTheme$1 = /*@__PURE__*/EditorView.baseTheme({\n \".cm-panel.cm-gotoLine\": {\n padding: \"2px 6px 4px\",\n \"& label\": { fontSize: \"80%\" }\n }\n});\n\nconst defaultHighlightOptions = {\n highlightWordAroundCursor: false,\n minSelectionLength: 1,\n maxMatches: 100,\n wholeWords: false\n};\nconst highlightConfig = /*@__PURE__*/Facet.define({\n combine(options) {\n return combineConfig(options, defaultHighlightOptions, {\n highlightWordAroundCursor: (a, b) => a || b,\n minSelectionLength: Math.min,\n maxMatches: Math.min\n });\n }\n});\n/**\nThis extension highlights text that matches the selection. It uses\nthe `\"cm-selectionMatch\"` class for the highlighting. When\n`highlightWordAroundCursor` is enabled, the word at the cursor\nitself will be highlighted with `\"cm-selectionMatch-main\"`.\n*/\nfunction highlightSelectionMatches(options) {\n let ext = [defaultTheme, matchHighlighter];\n if (options)\n ext.push(highlightConfig.of(options));\n return ext;\n}\nconst matchDeco = /*@__PURE__*/Decoration.mark({ class: \"cm-selectionMatch\" });\nconst mainMatchDeco = /*@__PURE__*/Decoration.mark({ class: \"cm-selectionMatch cm-selectionMatch-main\" });\n// Whether the characters directly outside the given positions are non-word characters\nfunction insideWordBoundaries(check, state, from, to) {\n return (from == 0 || check(state.sliceDoc(from - 1, from)) != CharCategory.Word) &&\n (to == state.doc.length || check(state.sliceDoc(to, to + 1)) != CharCategory.Word);\n}\n// Whether the characters directly at the given positions are word characters\nfunction insideWord(check, state, from, to) {\n return check(state.sliceDoc(from, from + 1)) == CharCategory.Word\n && check(state.sliceDoc(to - 1, to)) == CharCategory.Word;\n}\nconst matchHighlighter = /*@__PURE__*/ViewPlugin.fromClass(class {\n constructor(view) {\n this.decorations = this.getDeco(view);\n }\n update(update) {\n if (update.selectionSet || update.docChanged || update.viewportChanged)\n this.decorations = this.getDeco(update.view);\n }\n getDeco(view) {\n let conf = view.state.facet(highlightConfig);\n let { state } = view, sel = state.selection;\n if (sel.ranges.length > 1)\n return Decoration.none;\n let range = sel.main, query, check = null;\n if (range.empty) {\n if (!conf.highlightWordAroundCursor)\n return Decoration.none;\n let word = state.wordAt(range.head);\n if (!word)\n return Decoration.none;\n check = state.charCategorizer(range.head);\n query = state.sliceDoc(word.from, word.to);\n }\n else {\n let len = range.to - range.from;\n if (len < conf.minSelectionLength || len > 200)\n return Decoration.none;\n if (conf.wholeWords) {\n query = state.sliceDoc(range.from, range.to); // TODO: allow and include leading/trailing space?\n check = state.charCategorizer(range.head);\n if (!(insideWordBoundaries(check, state, range.from, range.to) &&\n insideWord(check, state, range.from, range.to)))\n return Decoration.none;\n }\n else {\n query = state.sliceDoc(range.from, range.to);\n if (!query)\n return Decoration.none;\n }\n }\n let deco = [];\n for (let part of view.visibleRanges) {\n let cursor = new SearchCursor(state.doc, query, part.from, part.to);\n while (!cursor.next().done) {\n let { from, to } = cursor.value;\n if (!check || insideWordBoundaries(check, state, from, to)) {\n if (range.empty && from <= range.from && to >= range.to)\n deco.push(mainMatchDeco.range(from, to));\n else if (from >= range.to || to <= range.from)\n deco.push(matchDeco.range(from, to));\n if (deco.length > conf.maxMatches)\n return Decoration.none;\n }\n }\n }\n return Decoration.set(deco);\n }\n}, {\n decorations: v => v.decorations\n});\nconst defaultTheme = /*@__PURE__*/EditorView.baseTheme({\n \".cm-selectionMatch\": { backgroundColor: \"#99ff7780\" },\n \".cm-searchMatch .cm-selectionMatch\": { backgroundColor: \"transparent\" }\n});\n// Select the words around the cursors.\nconst selectWord = ({ state, dispatch }) => {\n let { selection } = state;\n let newSel = EditorSelection.create(selection.ranges.map(range => state.wordAt(range.head) || EditorSelection.cursor(range.head)), selection.mainIndex);\n if (newSel.eq(selection))\n return false;\n dispatch(state.update({ selection: newSel }));\n return true;\n};\n// Find next occurrence of query relative to last cursor. Wrap around\n// the document if there are no more matches.\nfunction findNextOccurrence(state, query) {\n let { main, ranges } = state.selection;\n let word = state.wordAt(main.head), fullWord = word && word.from == main.from && word.to == main.to;\n for (let cycled = false, cursor = new SearchCursor(state.doc, query, ranges[ranges.length - 1].to);;) {\n cursor.next();\n if (cursor.done) {\n if (cycled)\n return null;\n cursor = new SearchCursor(state.doc, query, 0, Math.max(0, ranges[ranges.length - 1].from - 1));\n cycled = true;\n }\n else {\n if (cycled && ranges.some(r => r.from == cursor.value.from))\n continue;\n if (fullWord) {\n let word = state.wordAt(cursor.value.from);\n if (!word || word.from != cursor.value.from || word.to != cursor.value.to)\n continue;\n }\n return cursor.value;\n }\n }\n}\n/**\nSelect next occurrence of the current selection. Expand selection\nto the surrounding word when the selection is empty.\n*/\nconst selectNextOccurrence = ({ state, dispatch }) => {\n let { ranges } = state.selection;\n if (ranges.some(sel => sel.from === sel.to))\n return selectWord({ state, dispatch });\n let searchedText = state.sliceDoc(ranges[0].from, ranges[0].to);\n if (state.selection.ranges.some(r => state.sliceDoc(r.from, r.to) != searchedText))\n return false;\n let range = findNextOccurrence(state, searchedText);\n if (!range)\n return false;\n dispatch(state.update({\n selection: state.selection.addRange(EditorSelection.range(range.from, range.to), false),\n effects: EditorView.scrollIntoView(range.to)\n }));\n return true;\n};\n\nconst searchConfigFacet = /*@__PURE__*/Facet.define({\n combine(configs) {\n return combineConfig(configs, {\n top: false,\n caseSensitive: false,\n literal: false,\n regexp: false,\n wholeWord: false,\n createPanel: view => new SearchPanel(view),\n scrollToMatch: range => EditorView.scrollIntoView(range)\n });\n }\n});\n/**\nAdd search state to the editor configuration, and optionally\nconfigure the search extension.\n([`openSearchPanel`](https://codemirror.net/6/docs/ref/#search.openSearchPanel) will automatically\nenable this if it isn't already on).\n*/\nfunction search(config) {\n return config ? [searchConfigFacet.of(config), searchExtensions] : searchExtensions;\n}\n/**\nA search query. Part of the editor's search state.\n*/\nclass SearchQuery {\n /**\n Create a query object.\n */\n constructor(config) {\n this.search = config.search;\n this.caseSensitive = !!config.caseSensitive;\n this.literal = !!config.literal;\n this.regexp = !!config.regexp;\n this.replace = config.replace || \"\";\n this.valid = !!this.search && (!this.regexp || validRegExp(this.search));\n this.unquoted = this.unquote(this.search);\n this.wholeWord = !!config.wholeWord;\n }\n /**\n @internal\n */\n unquote(text) {\n return this.literal ? text :\n text.replace(/\\\\([nrt\\\\])/g, (_, ch) => ch == \"n\" ? \"\\n\" : ch == \"r\" ? \"\\r\" : ch == \"t\" ? \"\\t\" : \"\\\\\");\n }\n /**\n Compare this query to another query.\n */\n eq(other) {\n return this.search == other.search && this.replace == other.replace &&\n this.caseSensitive == other.caseSensitive && this.regexp == other.regexp &&\n this.wholeWord == other.wholeWord;\n }\n /**\n @internal\n */\n create() {\n return this.regexp ? new RegExpQuery(this) : new StringQuery(this);\n }\n /**\n Get a search cursor for this query, searching through the given\n range in the given state.\n */\n getCursor(state, from = 0, to) {\n let st = state.doc ? state : EditorState.create({ doc: state });\n if (to == null)\n to = st.doc.length;\n return this.regexp ? regexpCursor(this, st, from, to) : stringCursor(this, st, from, to);\n }\n}\nclass QueryType {\n constructor(spec) {\n this.spec = spec;\n }\n}\nfunction stringCursor(spec, state, from, to) {\n return new SearchCursor(state.doc, spec.unquoted, from, to, spec.caseSensitive ? undefined : x => x.toLowerCase(), spec.wholeWord ? stringWordTest(state.doc, state.charCategorizer(state.selection.main.head)) : undefined);\n}\nfunction stringWordTest(doc, categorizer) {\n return (from, to, buf, bufPos) => {\n if (bufPos > from || bufPos + buf.length < to) {\n bufPos = Math.max(0, from - 2);\n buf = doc.sliceString(bufPos, Math.min(doc.length, to + 2));\n }\n return (categorizer(charBefore(buf, from - bufPos)) != CharCategory.Word ||\n categorizer(charAfter(buf, from - bufPos)) != CharCategory.Word) &&\n (categorizer(charAfter(buf, to - bufPos)) != CharCategory.Word ||\n categorizer(charBefore(buf, to - bufPos)) != CharCategory.Word);\n };\n}\nclass StringQuery extends QueryType {\n constructor(spec) {\n super(spec);\n }\n nextMatch(state, curFrom, curTo) {\n let cursor = stringCursor(this.spec, state, curTo, state.doc.length).nextOverlapping();\n if (cursor.done)\n cursor = stringCursor(this.spec, state, 0, curFrom).nextOverlapping();\n return cursor.done ? null : cursor.value;\n }\n // Searching in reverse is, rather than implementing an inverted search\n // cursor, done by scanning chunk after chunk forward.\n prevMatchInRange(state, from, to) {\n for (let pos = to;;) {\n let start = Math.max(from, pos - 10000 /* FindPrev.ChunkSize */ - this.spec.unquoted.length);\n let cursor = stringCursor(this.spec, state, start, pos), range = null;\n while (!cursor.nextOverlapping().done)\n range = cursor.value;\n if (range)\n return range;\n if (start == from)\n return null;\n pos -= 10000 /* FindPrev.ChunkSize */;\n }\n }\n prevMatch(state, curFrom, curTo) {\n return this.prevMatchInRange(state, 0, curFrom) ||\n this.prevMatchInRange(state, curTo, state.doc.length);\n }\n getReplacement(_result) { return this.spec.unquote(this.spec.replace); }\n matchAll(state, limit) {\n let cursor = stringCursor(this.spec, state, 0, state.doc.length), ranges = [];\n while (!cursor.next().done) {\n if (ranges.length >= limit)\n return null;\n ranges.push(cursor.value);\n }\n return ranges;\n }\n highlight(state, from, to, add) {\n let cursor = stringCursor(this.spec, state, Math.max(0, from - this.spec.unquoted.length), Math.min(to + this.spec.unquoted.length, state.doc.length));\n while (!cursor.next().done)\n add(cursor.value.from, cursor.value.to);\n }\n}\nfunction regexpCursor(spec, state, from, to) {\n return new RegExpCursor(state.doc, spec.search, {\n ignoreCase: !spec.caseSensitive,\n test: spec.wholeWord ? regexpWordTest(state.charCategorizer(state.selection.main.head)) : undefined\n }, from, to);\n}\nfunction charBefore(str, index) {\n return str.slice(findClusterBreak(str, index, false), index);\n}\nfunction charAfter(str, index) {\n return str.slice(index, findClusterBreak(str, index));\n}\nfunction regexpWordTest(categorizer) {\n return (_from, _to, match) => !match[0].length ||\n (categorizer(charBefore(match.input, match.index)) != CharCategory.Word ||\n categorizer(charAfter(match.input, match.index)) != CharCategory.Word) &&\n (categorizer(charAfter(match.input, match.index + match[0].length)) != CharCategory.Word ||\n categorizer(charBefore(match.input, match.index + match[0].length)) != CharCategory.Word);\n}\nclass RegExpQuery extends QueryType {\n nextMatch(state, curFrom, curTo) {\n let cursor = regexpCursor(this.spec, state, curTo, state.doc.length).next();\n if (cursor.done)\n cursor = regexpCursor(this.spec, state, 0, curFrom).next();\n return cursor.done ? null : cursor.value;\n }\n prevMatchInRange(state, from, to) {\n for (let size = 1;; size++) {\n let start = Math.max(from, to - size * 10000 /* FindPrev.ChunkSize */);\n let cursor = regexpCursor(this.spec, state, start, to), range = null;\n while (!cursor.next().done)\n range = cursor.value;\n if (range && (start == from || range.from > start + 10))\n return range;\n if (start == from)\n return null;\n }\n }\n prevMatch(state, curFrom, curTo) {\n return this.prevMatchInRange(state, 0, curFrom) ||\n this.prevMatchInRange(state, curTo, state.doc.length);\n }\n getReplacement(result) {\n return this.spec.unquote(this.spec.replace).replace(/\\$([$&\\d+])/g, (m, i) => i == \"$\" ? \"$\"\n : i == \"&\" ? result.match[0]\n : i != \"0\" && +i < result.match.length ? result.match[i]\n : m);\n }\n matchAll(state, limit) {\n let cursor = regexpCursor(this.spec, state, 0, state.doc.length), ranges = [];\n while (!cursor.next().done) {\n if (ranges.length >= limit)\n return null;\n ranges.push(cursor.value);\n }\n return ranges;\n }\n highlight(state, from, to, add) {\n let cursor = regexpCursor(this.spec, state, Math.max(0, from - 250 /* RegExp.HighlightMargin */), Math.min(to + 250 /* RegExp.HighlightMargin */, state.doc.length));\n while (!cursor.next().done)\n add(cursor.value.from, cursor.value.to);\n }\n}\n/**\nA state effect that updates the current search query. Note that\nthis only has an effect if the search state has been initialized\n(by including [`search`](https://codemirror.net/6/docs/ref/#search.search) in your configuration or\nby running [`openSearchPanel`](https://codemirror.net/6/docs/ref/#search.openSearchPanel) at least\nonce).\n*/\nconst setSearchQuery = /*@__PURE__*/StateEffect.define();\nconst togglePanel = /*@__PURE__*/StateEffect.define();\nconst searchState = /*@__PURE__*/StateField.define({\n create(state) {\n return new SearchState(defaultQuery(state).create(), null);\n },\n update(value, tr) {\n for (let effect of tr.effects) {\n if (effect.is(setSearchQuery))\n value = new SearchState(effect.value.create(), value.panel);\n else if (effect.is(togglePanel))\n value = new SearchState(value.query, effect.value ? createSearchPanel : null);\n }\n return value;\n },\n provide: f => showPanel.from(f, val => val.panel)\n});\n/**\nGet the current search query from an editor state.\n*/\nfunction getSearchQuery(state) {\n let curState = state.field(searchState, false);\n return curState ? curState.query.spec : defaultQuery(state);\n}\n/**\nQuery whether the search panel is open in the given editor state.\n*/\nfunction searchPanelOpen(state) {\n var _a;\n return ((_a = state.field(searchState, false)) === null || _a === void 0 ? void 0 : _a.panel) != null;\n}\nclass SearchState {\n constructor(query, panel) {\n this.query = query;\n this.panel = panel;\n }\n}\nconst matchMark = /*@__PURE__*/Decoration.mark({ class: \"cm-searchMatch\" }), selectedMatchMark = /*@__PURE__*/Decoration.mark({ class: \"cm-searchMatch cm-searchMatch-selected\" });\nconst searchHighlighter = /*@__PURE__*/ViewPlugin.fromClass(class {\n constructor(view) {\n this.view = view;\n this.decorations = this.highlight(view.state.field(searchState));\n }\n update(update) {\n let state = update.state.field(searchState);\n if (state != update.startState.field(searchState) || update.docChanged || update.selectionSet || update.viewportChanged)\n this.decorations = this.highlight(state);\n }\n highlight({ query, panel }) {\n if (!panel || !query.spec.valid)\n return Decoration.none;\n let { view } = this;\n let builder = new RangeSetBuilder();\n for (let i = 0, ranges = view.visibleRanges, l = ranges.length; i < l; i++) {\n let { from, to } = ranges[i];\n while (i < l - 1 && to > ranges[i + 1].from - 2 * 250 /* RegExp.HighlightMargin */)\n to = ranges[++i].to;\n query.highlight(view.state, from, to, (from, to) => {\n let selected = view.state.selection.ranges.some(r => r.from == from && r.to == to);\n builder.add(from, to, selected ? selectedMatchMark : matchMark);\n });\n }\n return builder.finish();\n }\n}, {\n decorations: v => v.decorations\n});\nfunction searchCommand(f) {\n return view => {\n let state = view.state.field(searchState, false);\n return state && state.query.spec.valid ? f(view, state) : openSearchPanel(view);\n };\n}\n/**\nOpen the search panel if it isn't already open, and move the\nselection to the first match after the current main selection.\nWill wrap around to the start of the document when it reaches the\nend.\n*/\nconst findNext = /*@__PURE__*/searchCommand((view, { query }) => {\n let { to } = view.state.selection.main;\n let next = query.nextMatch(view.state, to, to);\n if (!next)\n return false;\n let selection = EditorSelection.single(next.from, next.to);\n let config = view.state.facet(searchConfigFacet);\n view.dispatch({\n selection,\n effects: [announceMatch(view, next), config.scrollToMatch(selection.main, view)],\n userEvent: \"select.search\"\n });\n selectSearchInput(view);\n return true;\n});\n/**\nMove the selection to the previous instance of the search query,\nbefore the current main selection. Will wrap past the start\nof the document to start searching at the end again.\n*/\nconst findPrevious = /*@__PURE__*/searchCommand((view, { query }) => {\n let { state } = view, { from } = state.selection.main;\n let prev = query.prevMatch(state, from, from);\n if (!prev)\n return false;\n let selection = EditorSelection.single(prev.from, prev.to);\n let config = view.state.facet(searchConfigFacet);\n view.dispatch({\n selection,\n effects: [announceMatch(view, prev), config.scrollToMatch(selection.main, view)],\n userEvent: \"select.search\"\n });\n selectSearchInput(view);\n return true;\n});\n/**\nSelect all instances of the search query.\n*/\nconst selectMatches = /*@__PURE__*/searchCommand((view, { query }) => {\n let ranges = query.matchAll(view.state, 1000);\n if (!ranges || !ranges.length)\n return false;\n view.dispatch({\n selection: EditorSelection.create(ranges.map(r => EditorSelection.range(r.from, r.to))),\n userEvent: \"select.search.matches\"\n });\n return true;\n});\n/**\nSelect all instances of the currently selected text.\n*/\nconst selectSelectionMatches = ({ state, dispatch }) => {\n let sel = state.selection;\n if (sel.ranges.length > 1 || sel.main.empty)\n return false;\n let { from, to } = sel.main;\n let ranges = [], main = 0;\n for (let cur = new SearchCursor(state.doc, state.sliceDoc(from, to)); !cur.next().done;) {\n if (ranges.length > 1000)\n return false;\n if (cur.value.from == from)\n main = ranges.length;\n ranges.push(EditorSelection.range(cur.value.from, cur.value.to));\n }\n dispatch(state.update({\n selection: EditorSelection.create(ranges, main),\n userEvent: \"select.search.matches\"\n }));\n return true;\n};\n/**\nReplace the current match of the search query.\n*/\nconst replaceNext = /*@__PURE__*/searchCommand((view, { query }) => {\n let { state } = view, { from, to } = state.selection.main;\n if (state.readOnly)\n return false;\n let next = query.nextMatch(state, from, from);\n if (!next)\n return false;\n let changes = [], selection, replacement;\n let effects = [];\n if (next.from == from && next.to == to) {\n replacement = state.toText(query.getReplacement(next));\n changes.push({ from: next.from, to: next.to, insert: replacement });\n next = query.nextMatch(state, next.from, next.to);\n effects.push(EditorView.announce.of(state.phrase(\"replaced match on line $\", state.doc.lineAt(from).number) + \".\"));\n }\n if (next) {\n let off = changes.length == 0 || changes[0].from >= next.to ? 0 : next.to - next.from - replacement.length;\n selection = EditorSelection.single(next.from - off, next.to - off);\n effects.push(announceMatch(view, next));\n effects.push(state.facet(searchConfigFacet).scrollToMatch(selection.main, view));\n }\n view.dispatch({\n changes, selection, effects,\n userEvent: \"input.replace\"\n });\n return true;\n});\n/**\nReplace all instances of the search query with the given\nreplacement.\n*/\nconst replaceAll = /*@__PURE__*/searchCommand((view, { query }) => {\n if (view.state.readOnly)\n return false;\n let changes = query.matchAll(view.state, 1e9).map(match => {\n let { from, to } = match;\n return { from, to, insert: query.getReplacement(match) };\n });\n if (!changes.length)\n return false;\n let announceText = view.state.phrase(\"replaced $ matches\", changes.length) + \".\";\n view.dispatch({\n changes,\n effects: EditorView.announce.of(announceText),\n userEvent: \"input.replace.all\"\n });\n return true;\n});\nfunction createSearchPanel(view) {\n return view.state.facet(searchConfigFacet).createPanel(view);\n}\nfunction defaultQuery(state, fallback) {\n var _a, _b, _c, _d, _e;\n let sel = state.selection.main;\n let selText = sel.empty || sel.to > sel.from + 100 ? \"\" : state.sliceDoc(sel.from, sel.to);\n if (fallback && !selText)\n return fallback;\n let config = state.facet(searchConfigFacet);\n return new SearchQuery({\n search: ((_a = fallback === null || fallback === void 0 ? void 0 : fallback.literal) !== null && _a !== void 0 ? _a : config.literal) ? selText : selText.replace(/\\n/g, \"\\\\n\"),\n caseSensitive: (_b = fallback === null || fallback === void 0 ? void 0 : fallback.caseSensitive) !== null && _b !== void 0 ? _b : config.caseSensitive,\n literal: (_c = fallback === null || fallback === void 0 ? void 0 : fallback.literal) !== null && _c !== void 0 ? _c : config.literal,\n regexp: (_d = fallback === null || fallback === void 0 ? void 0 : fallback.regexp) !== null && _d !== void 0 ? _d : config.regexp,\n wholeWord: (_e = fallback === null || fallback === void 0 ? void 0 : fallback.wholeWord) !== null && _e !== void 0 ? _e : config.wholeWord\n });\n}\nfunction getSearchInput(view) {\n let panel = getPanel(view, createSearchPanel);\n return panel && panel.dom.querySelector(\"[main-field]\");\n}\nfunction selectSearchInput(view) {\n let input = getSearchInput(view);\n if (input && input == view.root.activeElement)\n input.select();\n}\n/**\nMake sure the search panel is open and focused.\n*/\nconst openSearchPanel = view => {\n let state = view.state.field(searchState, false);\n if (state && state.panel) {\n let searchInput = getSearchInput(view);\n if (searchInput && searchInput != view.root.activeElement) {\n let query = defaultQuery(view.state, state.query.spec);\n if (query.valid)\n view.dispatch({ effects: setSearchQuery.of(query) });\n searchInput.focus();\n searchInput.select();\n }\n }\n else {\n view.dispatch({ effects: [\n togglePanel.of(true),\n state ? setSearchQuery.of(defaultQuery(view.state, state.query.spec)) : StateEffect.appendConfig.of(searchExtensions)\n ] });\n }\n return true;\n};\n/**\nClose the search panel.\n*/\nconst closeSearchPanel = view => {\n let state = view.state.field(searchState, false);\n if (!state || !state.panel)\n return false;\n let panel = getPanel(view, createSearchPanel);\n if (panel && panel.dom.contains(view.root.activeElement))\n view.focus();\n view.dispatch({ effects: togglePanel.of(false) });\n return true;\n};\n/**\nDefault search-related key bindings.\n\n - Mod-f: [`openSearchPanel`](https://codemirror.net/6/docs/ref/#search.openSearchPanel)\n - F3, Mod-g: [`findNext`](https://codemirror.net/6/docs/ref/#search.findNext)\n - Shift-F3, Shift-Mod-g: [`findPrevious`](https://codemirror.net/6/docs/ref/#search.findPrevious)\n - Mod-Alt-g: [`gotoLine`](https://codemirror.net/6/docs/ref/#search.gotoLine)\n - Mod-d: [`selectNextOccurrence`](https://codemirror.net/6/docs/ref/#search.selectNextOccurrence)\n*/\nconst searchKeymap = [\n { key: \"Mod-f\", run: openSearchPanel, scope: \"editor search-panel\" },\n { key: \"F3\", run: findNext, shift: findPrevious, scope: \"editor search-panel\", preventDefault: true },\n { key: \"Mod-g\", run: findNext, shift: findPrevious, scope: \"editor search-panel\", preventDefault: true },\n { key: \"Escape\", run: closeSearchPanel, scope: \"editor search-panel\" },\n { key: \"Mod-Shift-l\", run: selectSelectionMatches },\n { key: \"Mod-Alt-g\", run: gotoLine },\n { key: \"Mod-d\", run: selectNextOccurrence, preventDefault: true },\n];\nclass SearchPanel {\n constructor(view) {\n this.view = view;\n let query = this.query = view.state.field(searchState).query.spec;\n this.commit = this.commit.bind(this);\n this.searchField = elt(\"input\", {\n value: query.search,\n placeholder: phrase(view, \"Find\"),\n \"aria-label\": phrase(view, \"Find\"),\n class: \"cm-textfield\",\n name: \"search\",\n form: \"\",\n \"main-field\": \"true\",\n onchange: this.commit,\n onkeyup: this.commit\n });\n this.replaceField = elt(\"input\", {\n value: query.replace,\n placeholder: phrase(view, \"Replace\"),\n \"aria-label\": phrase(view, \"Replace\"),\n class: \"cm-textfield\",\n name: \"replace\",\n form: \"\",\n onchange: this.commit,\n onkeyup: this.commit\n });\n this.caseField = elt(\"input\", {\n type: \"checkbox\",\n name: \"case\",\n form: \"\",\n checked: query.caseSensitive,\n onchange: this.commit\n });\n this.reField = elt(\"input\", {\n type: \"checkbox\",\n name: \"re\",\n form: \"\",\n checked: query.regexp,\n onchange: this.commit\n });\n this.wordField = elt(\"input\", {\n type: \"checkbox\",\n name: \"word\",\n form: \"\",\n checked: query.wholeWord,\n onchange: this.commit\n });\n function button(name, onclick, content) {\n return elt(\"button\", { class: \"cm-button\", name, onclick, type: \"button\" }, content);\n }\n this.dom = elt(\"div\", { onkeydown: (e) => this.keydown(e), class: \"cm-search\" }, [\n this.searchField,\n button(\"next\", () => findNext(view), [phrase(view, \"next\")]),\n button(\"prev\", () => findPrevious(view), [phrase(view, \"previous\")]),\n button(\"select\", () => selectMatches(view), [phrase(view, \"all\")]),\n elt(\"label\", null, [this.caseField, phrase(view, \"match case\")]),\n elt(\"label\", null, [this.reField, phrase(view, \"regexp\")]),\n elt(\"label\", null, [this.wordField, phrase(view, \"by word\")]),\n ...view.state.readOnly ? [] : [\n elt(\"br\"),\n this.replaceField,\n button(\"replace\", () => replaceNext(view), [phrase(view, \"replace\")]),\n button(\"replaceAll\", () => replaceAll(view), [phrase(view, \"replace all\")])\n ],\n elt(\"button\", {\n name: \"close\",\n onclick: () => closeSearchPanel(view),\n \"aria-label\": phrase(view, \"close\"),\n type: \"button\"\n }, [\"×\"])\n ]);\n }\n commit() {\n let query = new SearchQuery({\n search: this.searchField.value,\n caseSensitive: this.caseField.checked,\n regexp: this.reField.checked,\n wholeWord: this.wordField.checked,\n replace: this.replaceField.value,\n });\n if (!query.eq(this.query)) {\n this.query = query;\n this.view.dispatch({ effects: setSearchQuery.of(query) });\n }\n }\n keydown(e) {\n if (runScopeHandlers(this.view, e, \"search-panel\")) {\n e.preventDefault();\n }\n else if (e.keyCode == 13 && e.target == this.searchField) {\n e.preventDefault();\n (e.shiftKey ? findPrevious : findNext)(this.view);\n }\n else if (e.keyCode == 13 && e.target == this.replaceField) {\n e.preventDefault();\n replaceNext(this.view);\n }\n }\n update(update) {\n for (let tr of update.transactions)\n for (let effect of tr.effects) {\n if (effect.is(setSearchQuery) && !effect.value.eq(this.query))\n this.setQuery(effect.value);\n }\n }\n setQuery(query) {\n this.query = query;\n this.searchField.value = query.search;\n this.replaceField.value = query.replace;\n this.caseField.checked = query.caseSensitive;\n this.reField.checked = query.regexp;\n this.wordField.checked = query.wholeWord;\n }\n mount() {\n this.searchField.select();\n }\n get pos() { return 80; }\n get top() { return this.view.state.facet(searchConfigFacet).top; }\n}\nfunction phrase(view, phrase) { return view.state.phrase(phrase); }\nconst AnnounceMargin = 30;\nconst Break = /[\\s\\.,:;?!]/;\nfunction announceMatch(view, { from, to }) {\n let line = view.state.doc.lineAt(from), lineEnd = view.state.doc.lineAt(to).to;\n let start = Math.max(line.from, from - AnnounceMargin), end = Math.min(lineEnd, to + AnnounceMargin);\n let text = view.state.sliceDoc(start, end);\n if (start != line.from) {\n for (let i = 0; i < AnnounceMargin; i++)\n if (!Break.test(text[i + 1]) && Break.test(text[i])) {\n text = text.slice(i);\n break;\n }\n }\n if (end != lineEnd) {\n for (let i = text.length - 1; i > text.length - AnnounceMargin; i--)\n if (!Break.test(text[i - 1]) && Break.test(text[i])) {\n text = text.slice(0, i);\n break;\n }\n }\n return EditorView.announce.of(`${view.state.phrase(\"current match\")}. ${text} ${view.state.phrase(\"on line\")} ${line.number}.`);\n}\nconst baseTheme = /*@__PURE__*/EditorView.baseTheme({\n \".cm-panel.cm-search\": {\n padding: \"2px 6px 4px\",\n position: \"relative\",\n \"& [name=close]\": {\n position: \"absolute\",\n top: \"0\",\n right: \"4px\",\n backgroundColor: \"inherit\",\n border: \"none\",\n font: \"inherit\",\n padding: 0,\n margin: 0\n },\n \"& input, & button, & label\": {\n margin: \".2em .6em .2em 0\"\n },\n \"& input[type=checkbox]\": {\n marginRight: \".2em\"\n },\n \"& label\": {\n fontSize: \"80%\",\n whiteSpace: \"pre\"\n }\n },\n \"&light .cm-searchMatch\": { backgroundColor: \"#ffff0054\" },\n \"&dark .cm-searchMatch\": { backgroundColor: \"#00ffff8a\" },\n \"&light .cm-searchMatch-selected\": { backgroundColor: \"#ff6a0054\" },\n \"&dark .cm-searchMatch-selected\": { backgroundColor: \"#ff00ff8a\" }\n});\nconst searchExtensions = [\n searchState,\n /*@__PURE__*/Prec.low(searchHighlighter),\n baseTheme\n];\n\nexport { RegExpCursor, SearchCursor, SearchQuery, closeSearchPanel, findNext, findPrevious, getSearchQuery, gotoLine, highlightSelectionMatches, openSearchPanel, replaceAll, replaceNext, search, searchKeymap, searchPanelOpen, selectMatches, selectNextOccurrence, selectSelectionMatches, setSearchQuery };\n","import { Decoration, showPanel, EditorView, ViewPlugin, logException, gutter, showTooltip, hoverTooltip, getPanel, WidgetType, GutterMarker } from '@codemirror/view';\nimport { StateEffect, StateField, Facet, combineConfig, RangeSet } from '@codemirror/state';\nimport elt from 'crelt';\n\nclass SelectedDiagnostic {\n constructor(from, to, diagnostic) {\n this.from = from;\n this.to = to;\n this.diagnostic = diagnostic;\n }\n}\nclass LintState {\n constructor(diagnostics, panel, selected) {\n this.diagnostics = diagnostics;\n this.panel = panel;\n this.selected = selected;\n }\n static init(diagnostics, panel, state) {\n // Filter the list of diagnostics for which to create markers\n let markedDiagnostics = diagnostics;\n let diagnosticFilter = state.facet(lintConfig).markerFilter;\n if (diagnosticFilter)\n markedDiagnostics = diagnosticFilter(markedDiagnostics, state);\n let ranges = Decoration.set(markedDiagnostics.map((d) => {\n // For zero-length ranges or ranges covering only a line break, create a widget\n return d.from == d.to || (d.from == d.to - 1 && state.doc.lineAt(d.from).to == d.from)\n ? Decoration.widget({\n widget: new DiagnosticWidget(d),\n diagnostic: d\n }).range(d.from)\n : Decoration.mark({\n attributes: { class: \"cm-lintRange cm-lintRange-\" + d.severity + (d.markClass ? \" \" + d.markClass : \"\") },\n diagnostic: d\n }).range(d.from, d.to);\n }), true);\n return new LintState(ranges, panel, findDiagnostic(ranges));\n }\n}\nfunction findDiagnostic(diagnostics, diagnostic = null, after = 0) {\n let found = null;\n diagnostics.between(after, 1e9, (from, to, { spec }) => {\n if (diagnostic && spec.diagnostic != diagnostic)\n return;\n found = new SelectedDiagnostic(from, to, spec.diagnostic);\n return false;\n });\n return found;\n}\nfunction hideTooltip(tr, tooltip) {\n let from = tooltip.pos, to = tooltip.end || from;\n let result = tr.state.facet(lintConfig).hideOn(tr, from, to);\n if (result != null)\n return result;\n let line = tr.startState.doc.lineAt(tooltip.pos);\n return !!(tr.effects.some(e => e.is(setDiagnosticsEffect)) || tr.changes.touchesRange(line.from, Math.max(line.to, to)));\n}\nfunction maybeEnableLint(state, effects) {\n return state.field(lintState, false) ? effects : effects.concat(StateEffect.appendConfig.of(lintExtensions));\n}\n/**\nReturns a transaction spec which updates the current set of\ndiagnostics, and enables the lint extension if if wasn't already\nactive.\n*/\nfunction setDiagnostics(state, diagnostics) {\n return {\n effects: maybeEnableLint(state, [setDiagnosticsEffect.of(diagnostics)])\n };\n}\n/**\nThe state effect that updates the set of active diagnostics. Can\nbe useful when writing an extension that needs to track these.\n*/\nconst setDiagnosticsEffect = /*@__PURE__*/StateEffect.define();\nconst togglePanel = /*@__PURE__*/StateEffect.define();\nconst movePanelSelection = /*@__PURE__*/StateEffect.define();\nconst lintState = /*@__PURE__*/StateField.define({\n create() {\n return new LintState(Decoration.none, null, null);\n },\n update(value, tr) {\n if (tr.docChanged && value.diagnostics.size) {\n let mapped = value.diagnostics.map(tr.changes), selected = null, panel = value.panel;\n if (value.selected) {\n let selPos = tr.changes.mapPos(value.selected.from, 1);\n selected = findDiagnostic(mapped, value.selected.diagnostic, selPos) || findDiagnostic(mapped, null, selPos);\n }\n if (!mapped.size && panel && tr.state.facet(lintConfig).autoPanel)\n panel = null;\n value = new LintState(mapped, panel, selected);\n }\n for (let effect of tr.effects) {\n if (effect.is(setDiagnosticsEffect)) {\n let panel = !tr.state.facet(lintConfig).autoPanel ? value.panel : effect.value.length ? LintPanel.open : null;\n value = LintState.init(effect.value, panel, tr.state);\n }\n else if (effect.is(togglePanel)) {\n value = new LintState(value.diagnostics, effect.value ? LintPanel.open : null, value.selected);\n }\n else if (effect.is(movePanelSelection)) {\n value = new LintState(value.diagnostics, value.panel, effect.value);\n }\n }\n return value;\n },\n provide: f => [showPanel.from(f, val => val.panel),\n EditorView.decorations.from(f, s => s.diagnostics)]\n});\n/**\nReturns the number of active lint diagnostics in the given state.\n*/\nfunction diagnosticCount(state) {\n let lint = state.field(lintState, false);\n return lint ? lint.diagnostics.size : 0;\n}\nconst activeMark = /*@__PURE__*/Decoration.mark({ class: \"cm-lintRange cm-lintRange-active\" });\nfunction lintTooltip(view, pos, side) {\n let { diagnostics } = view.state.field(lintState);\n let found = [], stackStart = 2e8, stackEnd = 0;\n diagnostics.between(pos - (side < 0 ? 1 : 0), pos + (side > 0 ? 1 : 0), (from, to, { spec }) => {\n if (pos >= from && pos <= to &&\n (from == to || ((pos > from || side > 0) && (pos < to || side < 0)))) {\n found.push(spec.diagnostic);\n stackStart = Math.min(from, stackStart);\n stackEnd = Math.max(to, stackEnd);\n }\n });\n let diagnosticFilter = view.state.facet(lintConfig).tooltipFilter;\n if (diagnosticFilter)\n found = diagnosticFilter(found, view.state);\n if (!found.length)\n return null;\n return {\n pos: stackStart,\n end: stackEnd,\n above: view.state.doc.lineAt(stackStart).to < stackEnd,\n create() {\n return { dom: diagnosticsTooltip(view, found) };\n }\n };\n}\nfunction diagnosticsTooltip(view, diagnostics) {\n return elt(\"ul\", { class: \"cm-tooltip-lint\" }, diagnostics.map(d => renderDiagnostic(view, d, false)));\n}\n/**\nCommand to open and focus the lint panel.\n*/\nconst openLintPanel = (view) => {\n let field = view.state.field(lintState, false);\n if (!field || !field.panel)\n view.dispatch({ effects: maybeEnableLint(view.state, [togglePanel.of(true)]) });\n let panel = getPanel(view, LintPanel.open);\n if (panel)\n panel.dom.querySelector(\".cm-panel-lint ul\").focus();\n return true;\n};\n/**\nCommand to close the lint panel, when open.\n*/\nconst closeLintPanel = (view) => {\n let field = view.state.field(lintState, false);\n if (!field || !field.panel)\n return false;\n view.dispatch({ effects: togglePanel.of(false) });\n return true;\n};\n/**\nMove the selection to the next diagnostic.\n*/\nconst nextDiagnostic = (view) => {\n let field = view.state.field(lintState, false);\n if (!field)\n return false;\n let sel = view.state.selection.main, next = field.diagnostics.iter(sel.to + 1);\n if (!next.value) {\n next = field.diagnostics.iter(0);\n if (!next.value || next.from == sel.from && next.to == sel.to)\n return false;\n }\n view.dispatch({ selection: { anchor: next.from, head: next.to }, scrollIntoView: true });\n return true;\n};\n/**\nMove the selection to the previous diagnostic.\n*/\nconst previousDiagnostic = (view) => {\n let { state } = view, field = state.field(lintState, false);\n if (!field)\n return false;\n let sel = state.selection.main;\n let prevFrom, prevTo, lastFrom, lastTo;\n field.diagnostics.between(0, state.doc.length, (from, to) => {\n if (to < sel.to && (prevFrom == null || prevFrom < from)) {\n prevFrom = from;\n prevTo = to;\n }\n if (lastFrom == null || from > lastFrom) {\n lastFrom = from;\n lastTo = to;\n }\n });\n if (lastFrom == null || prevFrom == null && lastFrom == sel.from)\n return false;\n view.dispatch({ selection: { anchor: prevFrom !== null && prevFrom !== void 0 ? prevFrom : lastFrom, head: prevTo !== null && prevTo !== void 0 ? prevTo : lastTo }, scrollIntoView: true });\n return true;\n};\n/**\nA set of default key bindings for the lint functionality.\n\n- Ctrl-Shift-m (Cmd-Shift-m on macOS): [`openLintPanel`](https://codemirror.net/6/docs/ref/#lint.openLintPanel)\n- F8: [`nextDiagnostic`](https://codemirror.net/6/docs/ref/#lint.nextDiagnostic)\n*/\nconst lintKeymap = [\n { key: \"Mod-Shift-m\", run: openLintPanel, preventDefault: true },\n { key: \"F8\", run: nextDiagnostic }\n];\nconst lintPlugin = /*@__PURE__*/ViewPlugin.fromClass(class {\n constructor(view) {\n this.view = view;\n this.timeout = -1;\n this.set = true;\n let { delay } = view.state.facet(lintConfig);\n this.lintTime = Date.now() + delay;\n this.run = this.run.bind(this);\n this.timeout = setTimeout(this.run, delay);\n }\n run() {\n clearTimeout(this.timeout);\n let now = Date.now();\n if (now < this.lintTime - 10) {\n this.timeout = setTimeout(this.run, this.lintTime - now);\n }\n else {\n this.set = false;\n let { state } = this.view, { sources } = state.facet(lintConfig);\n if (sources.length)\n Promise.all(sources.map(source => Promise.resolve(source(this.view)))).then(annotations => {\n let all = annotations.reduce((a, b) => a.concat(b));\n if (this.view.state.doc == state.doc)\n this.view.dispatch(setDiagnostics(this.view.state, all));\n }, error => { logException(this.view.state, error); });\n }\n }\n update(update) {\n let config = update.state.facet(lintConfig);\n if (update.docChanged || config != update.startState.facet(lintConfig) ||\n config.needsRefresh && config.needsRefresh(update)) {\n this.lintTime = Date.now() + config.delay;\n if (!this.set) {\n this.set = true;\n this.timeout = setTimeout(this.run, config.delay);\n }\n }\n }\n force() {\n if (this.set) {\n this.lintTime = Date.now();\n this.run();\n }\n }\n destroy() {\n clearTimeout(this.timeout);\n }\n});\nconst lintConfig = /*@__PURE__*/Facet.define({\n combine(input) {\n return Object.assign({ sources: input.map(i => i.source).filter(x => x != null) }, combineConfig(input.map(i => i.config), {\n delay: 750,\n markerFilter: null,\n tooltipFilter: null,\n needsRefresh: null,\n hideOn: () => null,\n }, {\n needsRefresh: (a, b) => !a ? b : !b ? a : u => a(u) || b(u)\n }));\n }\n});\n/**\nGiven a diagnostic source, this function returns an extension that\nenables linting with that source. It will be called whenever the\neditor is idle (after its content changed). If `null` is given as\nsource, this only configures the lint extension.\n*/\nfunction linter(source, config = {}) {\n return [\n lintConfig.of({ source, config }),\n lintPlugin,\n lintExtensions\n ];\n}\n/**\nForces any linters [configured](https://codemirror.net/6/docs/ref/#lint.linter) to run when the\neditor is idle to run right away.\n*/\nfunction forceLinting(view) {\n let plugin = view.plugin(lintPlugin);\n if (plugin)\n plugin.force();\n}\nfunction assignKeys(actions) {\n let assigned = [];\n if (actions)\n actions: for (let { name } of actions) {\n for (let i = 0; i < name.length; i++) {\n let ch = name[i];\n if (/[a-zA-Z]/.test(ch) && !assigned.some(c => c.toLowerCase() == ch.toLowerCase())) {\n assigned.push(ch);\n continue actions;\n }\n }\n assigned.push(\"\");\n }\n return assigned;\n}\nfunction renderDiagnostic(view, diagnostic, inPanel) {\n var _a;\n let keys = inPanel ? assignKeys(diagnostic.actions) : [];\n return elt(\"li\", { class: \"cm-diagnostic cm-diagnostic-\" + diagnostic.severity }, elt(\"span\", { class: \"cm-diagnosticText\" }, diagnostic.renderMessage ? diagnostic.renderMessage(view) : diagnostic.message), (_a = diagnostic.actions) === null || _a === void 0 ? void 0 : _a.map((action, i) => {\n let fired = false, click = (e) => {\n e.preventDefault();\n if (fired)\n return;\n fired = true;\n let found = findDiagnostic(view.state.field(lintState).diagnostics, diagnostic);\n if (found)\n action.apply(view, found.from, found.to);\n };\n let { name } = action, keyIndex = keys[i] ? name.indexOf(keys[i]) : -1;\n let nameElt = keyIndex < 0 ? name : [name.slice(0, keyIndex),\n elt(\"u\", name.slice(keyIndex, keyIndex + 1)),\n name.slice(keyIndex + 1)];\n return elt(\"button\", {\n type: \"button\",\n class: \"cm-diagnosticAction\",\n onclick: click,\n onmousedown: click,\n \"aria-label\": ` Action: ${name}${keyIndex < 0 ? \"\" : ` (access key \"${keys[i]})\"`}.`\n }, nameElt);\n }), diagnostic.source && elt(\"div\", { class: \"cm-diagnosticSource\" }, diagnostic.source));\n}\nclass DiagnosticWidget extends WidgetType {\n constructor(diagnostic) {\n super();\n this.diagnostic = diagnostic;\n }\n eq(other) { return other.diagnostic == this.diagnostic; }\n toDOM() {\n return elt(\"span\", { class: \"cm-lintPoint cm-lintPoint-\" + this.diagnostic.severity });\n }\n}\nclass PanelItem {\n constructor(view, diagnostic) {\n this.diagnostic = diagnostic;\n this.id = \"item_\" + Math.floor(Math.random() * 0xffffffff).toString(16);\n this.dom = renderDiagnostic(view, diagnostic, true);\n this.dom.id = this.id;\n this.dom.setAttribute(\"role\", \"option\");\n }\n}\nclass LintPanel {\n constructor(view) {\n this.view = view;\n this.items = [];\n let onkeydown = (event) => {\n if (event.keyCode == 27) { // Escape\n closeLintPanel(this.view);\n this.view.focus();\n }\n else if (event.keyCode == 38 || event.keyCode == 33) { // ArrowUp, PageUp\n this.moveSelection((this.selectedIndex - 1 + this.items.length) % this.items.length);\n }\n else if (event.keyCode == 40 || event.keyCode == 34) { // ArrowDown, PageDown\n this.moveSelection((this.selectedIndex + 1) % this.items.length);\n }\n else if (event.keyCode == 36) { // Home\n this.moveSelection(0);\n }\n else if (event.keyCode == 35) { // End\n this.moveSelection(this.items.length - 1);\n }\n else if (event.keyCode == 13) { // Enter\n this.view.focus();\n }\n else if (event.keyCode >= 65 && event.keyCode <= 90 && this.selectedIndex >= 0) { // A-Z\n let { diagnostic } = this.items[this.selectedIndex], keys = assignKeys(diagnostic.actions);\n for (let i = 0; i < keys.length; i++)\n if (keys[i].toUpperCase().charCodeAt(0) == event.keyCode) {\n let found = findDiagnostic(this.view.state.field(lintState).diagnostics, diagnostic);\n if (found)\n diagnostic.actions[i].apply(view, found.from, found.to);\n }\n }\n else {\n return;\n }\n event.preventDefault();\n };\n let onclick = (event) => {\n for (let i = 0; i < this.items.length; i++) {\n if (this.items[i].dom.contains(event.target))\n this.moveSelection(i);\n }\n };\n this.list = elt(\"ul\", {\n tabIndex: 0,\n role: \"listbox\",\n \"aria-label\": this.view.state.phrase(\"Diagnostics\"),\n onkeydown,\n onclick\n });\n this.dom = elt(\"div\", { class: \"cm-panel-lint\" }, this.list, elt(\"button\", {\n type: \"button\",\n name: \"close\",\n \"aria-label\": this.view.state.phrase(\"close\"),\n onclick: () => closeLintPanel(this.view)\n }, \"×\"));\n this.update();\n }\n get selectedIndex() {\n let selected = this.view.state.field(lintState).selected;\n if (!selected)\n return -1;\n for (let i = 0; i < this.items.length; i++)\n if (this.items[i].diagnostic == selected.diagnostic)\n return i;\n return -1;\n }\n update() {\n let { diagnostics, selected } = this.view.state.field(lintState);\n let i = 0, needsSync = false, newSelectedItem = null;\n diagnostics.between(0, this.view.state.doc.length, (_start, _end, { spec }) => {\n let found = -1, item;\n for (let j = i; j < this.items.length; j++)\n if (this.items[j].diagnostic == spec.diagnostic) {\n found = j;\n break;\n }\n if (found < 0) {\n item = new PanelItem(this.view, spec.diagnostic);\n this.items.splice(i, 0, item);\n needsSync = true;\n }\n else {\n item = this.items[found];\n if (found > i) {\n this.items.splice(i, found - i);\n needsSync = true;\n }\n }\n if (selected && item.diagnostic == selected.diagnostic) {\n if (!item.dom.hasAttribute(\"aria-selected\")) {\n item.dom.setAttribute(\"aria-selected\", \"true\");\n newSelectedItem = item;\n }\n }\n else if (item.dom.hasAttribute(\"aria-selected\")) {\n item.dom.removeAttribute(\"aria-selected\");\n }\n i++;\n });\n while (i < this.items.length && !(this.items.length == 1 && this.items[0].diagnostic.from < 0)) {\n needsSync = true;\n this.items.pop();\n }\n if (this.items.length == 0) {\n this.items.push(new PanelItem(this.view, {\n from: -1, to: -1,\n severity: \"info\",\n message: this.view.state.phrase(\"No diagnostics\")\n }));\n needsSync = true;\n }\n if (newSelectedItem) {\n this.list.setAttribute(\"aria-activedescendant\", newSelectedItem.id);\n this.view.requestMeasure({\n key: this,\n read: () => ({ sel: newSelectedItem.dom.getBoundingClientRect(), panel: this.list.getBoundingClientRect() }),\n write: ({ sel, panel }) => {\n let scaleY = panel.height / this.list.offsetHeight;\n if (sel.top < panel.top)\n this.list.scrollTop -= (panel.top - sel.top) / scaleY;\n else if (sel.bottom > panel.bottom)\n this.list.scrollTop += (sel.bottom - panel.bottom) / scaleY;\n }\n });\n }\n else if (this.selectedIndex < 0) {\n this.list.removeAttribute(\"aria-activedescendant\");\n }\n if (needsSync)\n this.sync();\n }\n sync() {\n let domPos = this.list.firstChild;\n function rm() {\n let prev = domPos;\n domPos = prev.nextSibling;\n prev.remove();\n }\n for (let item of this.items) {\n if (item.dom.parentNode == this.list) {\n while (domPos != item.dom)\n rm();\n domPos = item.dom.nextSibling;\n }\n else {\n this.list.insertBefore(item.dom, domPos);\n }\n }\n while (domPos)\n rm();\n }\n moveSelection(selectedIndex) {\n if (this.selectedIndex < 0)\n return;\n let field = this.view.state.field(lintState);\n let selection = findDiagnostic(field.diagnostics, this.items[selectedIndex].diagnostic);\n if (!selection)\n return;\n this.view.dispatch({\n selection: { anchor: selection.from, head: selection.to },\n scrollIntoView: true,\n effects: movePanelSelection.of(selection)\n });\n }\n static open(view) { return new LintPanel(view); }\n}\nfunction svg(content, attrs = `viewBox=\"0 0 40 40\"`) {\n return `url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" ${attrs}>${encodeURIComponent(content)}</svg>')`;\n}\nfunction underline(color) {\n return svg(`<path d=\"m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0\" stroke=\"${color}\" fill=\"none\" stroke-width=\".7\"/>`, `width=\"6\" height=\"3\"`);\n}\nconst baseTheme = /*@__PURE__*/EditorView.baseTheme({\n \".cm-diagnostic\": {\n padding: \"3px 6px 3px 8px\",\n marginLeft: \"-1px\",\n display: \"block\",\n whiteSpace: \"pre-wrap\"\n },\n \".cm-diagnostic-error\": { borderLeft: \"5px solid #d11\" },\n \".cm-diagnostic-warning\": { borderLeft: \"5px solid orange\" },\n \".cm-diagnostic-info\": { borderLeft: \"5px solid #999\" },\n \".cm-diagnostic-hint\": { borderLeft: \"5px solid #66d\" },\n \".cm-diagnosticAction\": {\n font: \"inherit\",\n border: \"none\",\n padding: \"2px 4px\",\n backgroundColor: \"#444\",\n color: \"white\",\n borderRadius: \"3px\",\n marginLeft: \"8px\",\n cursor: \"pointer\"\n },\n \".cm-diagnosticSource\": {\n fontSize: \"70%\",\n opacity: .7\n },\n \".cm-lintRange\": {\n backgroundPosition: \"left bottom\",\n backgroundRepeat: \"repeat-x\",\n paddingBottom: \"0.7px\",\n },\n \".cm-lintRange-error\": { backgroundImage: /*@__PURE__*/underline(\"#d11\") },\n \".cm-lintRange-warning\": { backgroundImage: /*@__PURE__*/underline(\"orange\") },\n \".cm-lintRange-info\": { backgroundImage: /*@__PURE__*/underline(\"#999\") },\n \".cm-lintRange-hint\": { backgroundImage: /*@__PURE__*/underline(\"#66d\") },\n \".cm-lintRange-active\": { backgroundColor: \"#ffdd9980\" },\n \".cm-tooltip-lint\": {\n padding: 0,\n margin: 0\n },\n \".cm-lintPoint\": {\n position: \"relative\",\n \"&:after\": {\n content: '\"\"',\n position: \"absolute\",\n bottom: 0,\n left: \"-2px\",\n borderLeft: \"3px solid transparent\",\n borderRight: \"3px solid transparent\",\n borderBottom: \"4px solid #d11\"\n }\n },\n \".cm-lintPoint-warning\": {\n \"&:after\": { borderBottomColor: \"orange\" }\n },\n \".cm-lintPoint-info\": {\n \"&:after\": { borderBottomColor: \"#999\" }\n },\n \".cm-lintPoint-hint\": {\n \"&:after\": { borderBottomColor: \"#66d\" }\n },\n \".cm-panel.cm-panel-lint\": {\n position: \"relative\",\n \"& ul\": {\n maxHeight: \"100px\",\n overflowY: \"auto\",\n \"& [aria-selected]\": {\n backgroundColor: \"#ddd\",\n \"& u\": { textDecoration: \"underline\" }\n },\n \"&:focus [aria-selected]\": {\n background_fallback: \"#bdf\",\n backgroundColor: \"Highlight\",\n color_fallback: \"white\",\n color: \"HighlightText\"\n },\n \"& u\": { textDecoration: \"none\" },\n padding: 0,\n margin: 0\n },\n \"& [name=close]\": {\n position: \"absolute\",\n top: \"0\",\n right: \"2px\",\n background: \"inherit\",\n border: \"none\",\n font: \"inherit\",\n padding: 0,\n margin: 0\n }\n }\n});\nfunction severityWeight(sev) {\n return sev == \"error\" ? 4 : sev == \"warning\" ? 3 : sev == \"info\" ? 2 : 1;\n}\nclass LintGutterMarker extends GutterMarker {\n constructor(diagnostics) {\n super();\n this.diagnostics = diagnostics;\n this.severity = diagnostics.reduce((max, d) => severityWeight(max) < severityWeight(d.severity) ? d.severity : max, \"hint\");\n }\n toDOM(view) {\n let elt = document.createElement(\"div\");\n elt.className = \"cm-lint-marker cm-lint-marker-\" + this.severity;\n let diagnostics = this.diagnostics;\n let diagnosticsFilter = view.state.facet(lintGutterConfig).tooltipFilter;\n if (diagnosticsFilter)\n diagnostics = diagnosticsFilter(diagnostics, view.state);\n if (diagnostics.length)\n elt.onmouseover = () => gutterMarkerMouseOver(view, elt, diagnostics);\n return elt;\n }\n}\nfunction trackHoverOn(view, marker) {\n let mousemove = (event) => {\n let rect = marker.getBoundingClientRect();\n if (event.clientX > rect.left - 10 /* Hover.Margin */ && event.clientX < rect.right + 10 /* Hover.Margin */ &&\n event.clientY > rect.top - 10 /* Hover.Margin */ && event.clientY < rect.bottom + 10 /* Hover.Margin */)\n return;\n for (let target = event.target; target; target = target.parentNode) {\n if (target.nodeType == 1 && target.classList.contains(\"cm-tooltip-lint\"))\n return;\n }\n window.removeEventListener(\"mousemove\", mousemove);\n if (view.state.field(lintGutterTooltip))\n view.dispatch({ effects: setLintGutterTooltip.of(null) });\n };\n window.addEventListener(\"mousemove\", mousemove);\n}\nfunction gutterMarkerMouseOver(view, marker, diagnostics) {\n function hovered() {\n let line = view.elementAtHeight(marker.getBoundingClientRect().top + 5 - view.documentTop);\n const linePos = view.coordsAtPos(line.from);\n if (linePos) {\n view.dispatch({ effects: setLintGutterTooltip.of({\n pos: line.from,\n above: false,\n create() {\n return {\n dom: diagnosticsTooltip(view, diagnostics),\n getCoords: () => marker.getBoundingClientRect()\n };\n }\n }) });\n }\n marker.onmouseout = marker.onmousemove = null;\n trackHoverOn(view, marker);\n }\n let { hoverTime } = view.state.facet(lintGutterConfig);\n let hoverTimeout = setTimeout(hovered, hoverTime);\n marker.onmouseout = () => {\n clearTimeout(hoverTimeout);\n marker.onmouseout = marker.onmousemove = null;\n };\n marker.onmousemove = () => {\n clearTimeout(hoverTimeout);\n hoverTimeout = setTimeout(hovered, hoverTime);\n };\n}\nfunction markersForDiagnostics(doc, diagnostics) {\n let byLine = Object.create(null);\n for (let diagnostic of diagnostics) {\n let line = doc.lineAt(diagnostic.from);\n (byLine[line.from] || (byLine[line.from] = [])).push(diagnostic);\n }\n let markers = [];\n for (let line in byLine) {\n markers.push(new LintGutterMarker(byLine[line]).range(+line));\n }\n return RangeSet.of(markers, true);\n}\nconst lintGutterExtension = /*@__PURE__*/gutter({\n class: \"cm-gutter-lint\",\n markers: view => view.state.field(lintGutterMarkers),\n});\nconst lintGutterMarkers = /*@__PURE__*/StateField.define({\n create() {\n return RangeSet.empty;\n },\n update(markers, tr) {\n markers = markers.map(tr.changes);\n let diagnosticFilter = tr.state.facet(lintGutterConfig).markerFilter;\n for (let effect of tr.effects) {\n if (effect.is(setDiagnosticsEffect)) {\n let diagnostics = effect.value;\n if (diagnosticFilter)\n diagnostics = diagnosticFilter(diagnostics || [], tr.state);\n markers = markersForDiagnostics(tr.state.doc, diagnostics.slice(0));\n }\n }\n return markers;\n }\n});\nconst setLintGutterTooltip = /*@__PURE__*/StateEffect.define();\nconst lintGutterTooltip = /*@__PURE__*/StateField.define({\n create() { return null; },\n update(tooltip, tr) {\n if (tooltip && tr.docChanged)\n tooltip = hideTooltip(tr, tooltip) ? null : Object.assign(Object.assign({}, tooltip), { pos: tr.changes.mapPos(tooltip.pos) });\n return tr.effects.reduce((t, e) => e.is(setLintGutterTooltip) ? e.value : t, tooltip);\n },\n provide: field => showTooltip.from(field)\n});\nconst lintGutterTheme = /*@__PURE__*/EditorView.baseTheme({\n \".cm-gutter-lint\": {\n width: \"1.4em\",\n \"& .cm-gutterElement\": {\n padding: \".2em\"\n }\n },\n \".cm-lint-marker\": {\n width: \"1em\",\n height: \"1em\"\n },\n \".cm-lint-marker-info\": {\n content: /*@__PURE__*/svg(`<path fill=\"#aaf\" stroke=\"#77e\" stroke-width=\"6\" stroke-linejoin=\"round\" d=\"M5 5L35 5L35 35L5 35Z\"/>`)\n },\n \".cm-lint-marker-warning\": {\n content: /*@__PURE__*/svg(`<path fill=\"#fe8\" stroke=\"#fd7\" stroke-width=\"6\" stroke-linejoin=\"round\" d=\"M20 6L37 35L3 35Z\"/>`),\n },\n \".cm-lint-marker-error\": {\n content: /*@__PURE__*/svg(`<circle cx=\"20\" cy=\"20\" r=\"15\" fill=\"#f87\" stroke=\"#f43\" stroke-width=\"6\"/>`)\n },\n});\nconst lintExtensions = [\n lintState,\n /*@__PURE__*/EditorView.decorations.compute([lintState], state => {\n let { selected, panel } = state.field(lintState);\n return !selected || !panel || selected.from == selected.to ? Decoration.none : Decoration.set([\n activeMark.range(selected.from, selected.to)\n ]);\n }),\n /*@__PURE__*/hoverTooltip(lintTooltip, { hideOn: hideTooltip }),\n baseTheme\n];\nconst lintGutterConfig = /*@__PURE__*/Facet.define({\n combine(configs) {\n return combineConfig(configs, {\n hoverTime: 300 /* Hover.Time */,\n markerFilter: null,\n tooltipFilter: null\n });\n }\n});\n/**\nReturns an extension that installs a gutter showing markers for\neach line that has diagnostics, which can be hovered over to see\nthe diagnostics.\n*/\nfunction lintGutter(config = {}) {\n return [lintGutterConfig.of(config), lintGutterMarkers, lintGutterExtension, lintGutterTheme, lintGutterTooltip];\n}\n/**\nIterate over the marked diagnostics for the given editor state,\ncalling `f` for each of them. Note that, if the document changed\nsince the diagnostics were created, the `Diagnostic` object will\nhold the original outdated position, whereas the `to` and `from`\narguments hold the diagnostic's current position.\n*/\nfunction forEachDiagnostic(state, f) {\n let lState = state.field(lintState, false);\n if (lState && lState.diagnostics.size)\n for (let iter = RangeSet.iter([lState.diagnostics]); iter.value; iter.next())\n f(iter.value.spec.diagnostic, iter.from, iter.to);\n}\n\nexport { closeLintPanel, diagnosticCount, forEachDiagnostic, forceLinting, lintGutter, lintKeymap, linter, nextDiagnostic, openLintPanel, previousDiagnostic, setDiagnostics, setDiagnosticsEffect };\n","import { lineNumbers, highlightActiveLineGutter, highlightSpecialChars, drawSelection, dropCursor, rectangularSelection, crosshairCursor, highlightActiveLine, keymap } from '@codemirror/view';\nexport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { foldGutter, indentOnInput, syntaxHighlighting, defaultHighlightStyle, bracketMatching, foldKeymap } from '@codemirror/language';\nimport { history, defaultKeymap, historyKeymap } from '@codemirror/commands';\nimport { highlightSelectionMatches, searchKeymap } from '@codemirror/search';\nimport { closeBrackets, autocompletion, closeBracketsKeymap, completionKeymap } from '@codemirror/autocomplete';\nimport { lintKeymap } from '@codemirror/lint';\n\n// (The superfluous function calls around the list of extensions work\n// around current limitations in tree-shaking software.)\n/**\nThis is an extension value that just pulls together a number of\nextensions that you might want in a basic editor. It is meant as a\nconvenient helper to quickly set up CodeMirror without installing\nand importing a lot of separate packages.\n\nSpecifically, it includes...\n\n - [the default command bindings](https://codemirror.net/6/docs/ref/#commands.defaultKeymap)\n - [line numbers](https://codemirror.net/6/docs/ref/#view.lineNumbers)\n - [special character highlighting](https://codemirror.net/6/docs/ref/#view.highlightSpecialChars)\n - [the undo history](https://codemirror.net/6/docs/ref/#commands.history)\n - [a fold gutter](https://codemirror.net/6/docs/ref/#language.foldGutter)\n - [custom selection drawing](https://codemirror.net/6/docs/ref/#view.drawSelection)\n - [drop cursor](https://codemirror.net/6/docs/ref/#view.dropCursor)\n - [multiple selections](https://codemirror.net/6/docs/ref/#state.EditorState^allowMultipleSelections)\n - [reindentation on input](https://codemirror.net/6/docs/ref/#language.indentOnInput)\n - [the default highlight style](https://codemirror.net/6/docs/ref/#language.defaultHighlightStyle) (as fallback)\n - [bracket matching](https://codemirror.net/6/docs/ref/#language.bracketMatching)\n - [bracket closing](https://codemirror.net/6/docs/ref/#autocomplete.closeBrackets)\n - [autocompletion](https://codemirror.net/6/docs/ref/#autocomplete.autocompletion)\n - [rectangular selection](https://codemirror.net/6/docs/ref/#view.rectangularSelection) and [crosshair cursor](https://codemirror.net/6/docs/ref/#view.crosshairCursor)\n - [active line highlighting](https://codemirror.net/6/docs/ref/#view.highlightActiveLine)\n - [active line gutter highlighting](https://codemirror.net/6/docs/ref/#view.highlightActiveLineGutter)\n - [selection match highlighting](https://codemirror.net/6/docs/ref/#search.highlightSelectionMatches)\n - [search](https://codemirror.net/6/docs/ref/#search.searchKeymap)\n - [linting](https://codemirror.net/6/docs/ref/#lint.lintKeymap)\n\n(You'll probably want to add some language package to your setup\ntoo.)\n\nThis extension does not allow customization. The idea is that,\nonce you decide you want to configure your editor more precisely,\nyou take this package's source (which is just a bunch of imports\nand an array literal), copy it into your own code, and adjust it\nas desired.\n*/\nconst basicSetup = /*@__PURE__*/(() => [\n lineNumbers(),\n highlightActiveLineGutter(),\n highlightSpecialChars(),\n history(),\n foldGutter(),\n drawSelection(),\n dropCursor(),\n EditorState.allowMultipleSelections.of(true),\n indentOnInput(),\n syntaxHighlighting(defaultHighlightStyle, { fallback: true }),\n bracketMatching(),\n closeBrackets(),\n autocompletion(),\n rectangularSelection(),\n crosshairCursor(),\n highlightActiveLine(),\n highlightSelectionMatches(),\n keymap.of([\n ...closeBracketsKeymap,\n ...defaultKeymap,\n ...searchKeymap,\n ...historyKeymap,\n ...foldKeymap,\n ...completionKeymap,\n ...lintKeymap\n ])\n])();\n/**\nA minimal set of extensions to create a functional editor. Only\nincludes [the default keymap](https://codemirror.net/6/docs/ref/#commands.defaultKeymap), [undo\nhistory](https://codemirror.net/6/docs/ref/#commands.history), [special character\nhighlighting](https://codemirror.net/6/docs/ref/#view.highlightSpecialChars), [custom selection\ndrawing](https://codemirror.net/6/docs/ref/#view.drawSelection), and [default highlight\nstyle](https://codemirror.net/6/docs/ref/#language.defaultHighlightStyle).\n*/\nconst minimalSetup = /*@__PURE__*/(() => [\n highlightSpecialChars(),\n history(),\n drawSelection(),\n syntaxHighlighting(defaultHighlightStyle, { fallback: true }),\n keymap.of([\n ...defaultKeymap,\n ...historyKeymap,\n ])\n])();\n\nexport { basicSetup, minimalSetup };\n"],"names":["crelt","elt","arguments","document","createElement","i","next","nodeType","Array","isArray","name","Object","prototype","hasOwnProperty","call","value","setAttribute","length","add","child","appendChild","createTextNode","RangeError","basicNormalize","String","normalize","x","SearchCursor","constructor","text","query","from","to","test","this","done","matches","buffer","bufferPos","iter","iterRange","bufferStart","peek","codePointAt","pop","nextOverlapping","str","fromCodePoint","start","codePointSize","norm","pos","code","charCodeAt","match","end","index","keep","splice","push","Symbol","iterator","empty","exec","baseFlags","unicode","RegExpCursor","options","curLine","MultilineRegExpCursor","re","RegExp","ignoreCase","startLine","lineAt","curLineStart","matchPos","toCharEnd","getLine","skip","lineBreak","slice","nextLine","off","lastIndex","flattened","WeakMap","FlattenedDoc","get","doc","cached","flat","sliceString","set","cachedFrom","chunkEnd","line","createLineDialog","view","input","class","state","selection","main","head","number","go","sign","ln","cl","percent","col","pc","lines","Math","round","docLine","max","min","EditorSelection","cursor","dispatch","effects","dialogEffect","of","EditorView","scrollIntoView","y","focus","dom","onkeydown","event","keyCode","preventDefault","onsubmit","phrase","type","StateEffect","define","dialogField","StateField","create","update","tr","e","is","provide","f","showPanel","val","baseTheme$1","baseTheme","padding","fontSize","defaultHighlightOptions","highlightWordAroundCursor","minSelectionLength","maxMatches","wholeWords","highlightConfig","Facet","combine","combineConfig","a","b","matchDeco","Decoration","mark","mainMatchDeco","insideWordBoundaries","check","sliceDoc","CharCategory","Word","matchHighlighter","ViewPlugin","fromClass","decorations","getDeco","selectionSet","docChanged","viewportChanged","conf","facet","sel","ranges","none","range","word","wordAt","charCategorizer","len","insideWord","deco","part","visibleRanges","v","defaultTheme","backgroundColor","searchConfigFacet","configs","top","caseSensitive","literal","regexp","wholeWord","createPanel","SearchPanel","scrollToMatch","SearchQuery","config","search","replace","valid","source","_a","validRegExp","unquoted","unquote","_","ch","eq","other","RegExpQuery","StringQuery","getCursor","st","EditorState","regexpCursor","stringCursor","QueryType","spec","undefined","toLowerCase","categorizer","buf","bufPos","charBefore","charAfter","super","nextMatch","curFrom","curTo","prevMatchInRange","prevMatch","getReplacement","_result","matchAll","limit","highlight","_from","_to","findClusterBreak","size","result","m","setSearchQuery","togglePanel","searchState","SearchState","defaultQuery","effect","panel","createSearchPanel","matchMark","selectedMatchMark","searchHighlighter","field","startState","builder","RangeSetBuilder","l","selected","some","r","finish","searchCommand","openSearchPanel","findNext","single","announceMatch","userEvent","selectSearchInput","findPrevious","prev","selectMatches","map","replaceNext","readOnly","replacement","changes","toText","insert","announce","replaceAll","announceText","fallback","_b","_c","_d","_e","selText","getSearchInput","getPanel","querySelector","root","activeElement","select","searchInput","appendConfig","searchExtensions","closeSearchPanel","contains","searchKeymap","key","run","scope","shift","cur","newSel","mainIndex","selectWord","searchedText","fullWord","cycled","findNextOccurrence","addRange","button","onclick","content","commit","bind","searchField","placeholder","form","onchange","onkeyup","replaceField","caseField","checked","reField","wordField","keydown","runScopeHandlers","target","shiftKey","transactions","setQuery","mount","AnnounceMargin","Break","lineEnd","position","right","border","font","margin","marginRight","whiteSpace","Prec","low","SelectedDiagnostic","diagnostic","LintState","diagnostics","init","markedDiagnostics","diagnosticFilter","lintConfig","markerFilter","d","widget","DiagnosticWidget","attributes","severity","markClass","findDiagnostic","after","found","between","setDiagnosticsEffect","movePanelSelection","lintState","mapped","selPos","mapPos","autoPanel","LintPanel","open","s","activeMark","lintTooltip","side","stackStart","stackEnd","tooltipFilter","above","diagnosticsTooltip","renderDiagnostic","closeLintPanel","lintKeymap","concat","lintExtensions","anchor","assign","sources","filter","delay","needsRefresh","hideOn","u","assignKeys","actions","assigned","c","inPanel","keys","renderMessage","message","action","fired","click","apply","keyIndex","indexOf","nameElt","onmousedown","WidgetType","toDOM","PanelItem","id","floor","random","toString","items","list","tabIndex","role","moveSelection","selectedIndex","toUpperCase","needsSync","newSelectedItem","_start","_end","item","j","hasAttribute","removeAttribute","requestMeasure","read","getBoundingClientRect","write","scaleY","height","offsetHeight","scrollTop","bottom","sync","domPos","firstChild","rm","nextSibling","remove","parentNode","insertBefore","underline","color","attrs","encodeURIComponent","svg","marginLeft","display","borderLeft","borderRadius","opacity","backgroundPosition","backgroundRepeat","paddingBottom","backgroundImage","left","borderRight","borderBottom","borderBottomColor","maxHeight","overflowY","textDecoration","background_fallback","color_fallback","background","compute","hoverTooltip","tooltip","touchesRange","basicSetup","lineNumbers","highlightActiveLineGutter","highlightSpecialChars","history","foldGutter","drawSelection","dropCursor","allowMultipleSelections","indentOnInput","syntaxHighlighting","defaultHighlightStyle","bracketMatching","closeBrackets","autocompletion","rectangularSelection","crosshairCursor","highlightActiveLine","keymap","closeBracketsKeymap","defaultKeymap","historyKeymap","foldKeymap","completionKeymap","minimalSetup"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
|
1
|
+
{"version":3,"file":"codemirror-jVwF0Nvq.js","sources":["../node_modules/crelt/index.js","../node_modules/@codemirror/search/dist/index.js","../node_modules/@codemirror/lint/dist/index.js","../node_modules/codemirror/dist/index.js"],"sourcesContent":["export default function crelt() {\n var elt = arguments[0]\n if (typeof elt == \"string\") elt = document.createElement(elt)\n var i = 1, next = arguments[1]\n if (next && typeof next == \"object\" && next.nodeType == null && !Array.isArray(next)) {\n for (var name in next) if (Object.prototype.hasOwnProperty.call(next, name)) {\n var value = next[name]\n if (typeof value == \"string\") elt.setAttribute(name, value)\n else if (value != null) elt[name] = value\n }\n i++\n }\n for (; i < arguments.length; i++) add(elt, arguments[i])\n return elt\n}\n\nfunction add(elt, child) {\n if (typeof child == \"string\") {\n elt.appendChild(document.createTextNode(child))\n } else if (child == null) {\n } else if (child.nodeType != null) {\n elt.appendChild(child)\n } else if (Array.isArray(child)) {\n for (var i = 0; i < child.length; i++) add(elt, child[i])\n } else {\n throw new RangeError(\"Unsupported child node: \" + child)\n }\n}\n","import { showPanel, EditorView, getPanel, Decoration, ViewPlugin, runScopeHandlers } from '@codemirror/view';\nimport { codePointAt, fromCodePoint, codePointSize, StateEffect, StateField, EditorSelection, Facet, combineConfig, CharCategory, RangeSetBuilder, Prec, EditorState, findClusterBreak } from '@codemirror/state';\nimport elt from 'crelt';\n\nconst basicNormalize = typeof String.prototype.normalize == \"function\"\n ? x => x.normalize(\"NFKD\") : x => x;\n/**\nA search cursor provides an iterator over text matches in a\ndocument.\n*/\nclass SearchCursor {\n /**\n Create a text cursor. The query is the search string, `from` to\n `to` provides the region to search.\n \n When `normalize` is given, it will be called, on both the query\n string and the content it is matched against, before comparing.\n You can, for example, create a case-insensitive search by\n passing `s => s.toLowerCase()`.\n \n Text is always normalized with\n [`.normalize(\"NFKD\")`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize)\n (when supported).\n */\n constructor(text, query, from = 0, to = text.length, normalize, test) {\n this.test = test;\n /**\n The current match (only holds a meaningful value after\n [`next`](https://codemirror.net/6/docs/ref/#search.SearchCursor.next) has been called and when\n `done` is false).\n */\n this.value = { from: 0, to: 0 };\n /**\n Whether the end of the iterated region has been reached.\n */\n this.done = false;\n this.matches = [];\n this.buffer = \"\";\n this.bufferPos = 0;\n this.iter = text.iterRange(from, to);\n this.bufferStart = from;\n this.normalize = normalize ? x => normalize(basicNormalize(x)) : basicNormalize;\n this.query = this.normalize(query);\n }\n peek() {\n if (this.bufferPos == this.buffer.length) {\n this.bufferStart += this.buffer.length;\n this.iter.next();\n if (this.iter.done)\n return -1;\n this.bufferPos = 0;\n this.buffer = this.iter.value;\n }\n return codePointAt(this.buffer, this.bufferPos);\n }\n /**\n Look for the next match. Updates the iterator's\n [`value`](https://codemirror.net/6/docs/ref/#search.SearchCursor.value) and\n [`done`](https://codemirror.net/6/docs/ref/#search.SearchCursor.done) properties. Should be called\n at least once before using the cursor.\n */\n next() {\n while (this.matches.length)\n this.matches.pop();\n return this.nextOverlapping();\n }\n /**\n The `next` method will ignore matches that partially overlap a\n previous match. This method behaves like `next`, but includes\n such matches.\n */\n nextOverlapping() {\n for (;;) {\n let next = this.peek();\n if (next < 0) {\n this.done = true;\n return this;\n }\n let str = fromCodePoint(next), start = this.bufferStart + this.bufferPos;\n this.bufferPos += codePointSize(next);\n let norm = this.normalize(str);\n for (let i = 0, pos = start;; i++) {\n let code = norm.charCodeAt(i);\n let match = this.match(code, pos, this.bufferPos + this.bufferStart);\n if (i == norm.length - 1) {\n if (match) {\n this.value = match;\n return this;\n }\n break;\n }\n if (pos == start && i < str.length && str.charCodeAt(i) == code)\n pos++;\n }\n }\n }\n match(code, pos, end) {\n let match = null;\n for (let i = 0; i < this.matches.length; i += 2) {\n let index = this.matches[i], keep = false;\n if (this.query.charCodeAt(index) == code) {\n if (index == this.query.length - 1) {\n match = { from: this.matches[i + 1], to: end };\n }\n else {\n this.matches[i]++;\n keep = true;\n }\n }\n if (!keep) {\n this.matches.splice(i, 2);\n i -= 2;\n }\n }\n if (this.query.charCodeAt(0) == code) {\n if (this.query.length == 1)\n match = { from: pos, to: end };\n else\n this.matches.push(1, pos);\n }\n if (match && this.test && !this.test(match.from, match.to, this.buffer, this.bufferStart))\n match = null;\n return match;\n }\n}\nif (typeof Symbol != \"undefined\")\n SearchCursor.prototype[Symbol.iterator] = function () { return this; };\n\nconst empty = { from: -1, to: -1, match: /*@__PURE__*//.*/.exec(\"\") };\nconst baseFlags = \"gm\" + (/x/.unicode == null ? \"\" : \"u\");\n/**\nThis class is similar to [`SearchCursor`](https://codemirror.net/6/docs/ref/#search.SearchCursor)\nbut searches for a regular expression pattern instead of a plain\nstring.\n*/\nclass RegExpCursor {\n /**\n Create a cursor that will search the given range in the given\n document. `query` should be the raw pattern (as you'd pass it to\n `new RegExp`).\n */\n constructor(text, query, options, from = 0, to = text.length) {\n this.text = text;\n this.to = to;\n this.curLine = \"\";\n /**\n Set to `true` when the cursor has reached the end of the search\n range.\n */\n this.done = false;\n /**\n Will contain an object with the extent of the match and the\n match object when [`next`](https://codemirror.net/6/docs/ref/#search.RegExpCursor.next)\n sucessfully finds a match.\n */\n this.value = empty;\n if (/\\\\[sWDnr]|\\n|\\r|\\[\\^/.test(query))\n return new MultilineRegExpCursor(text, query, options, from, to);\n this.re = new RegExp(query, baseFlags + ((options === null || options === void 0 ? void 0 : options.ignoreCase) ? \"i\" : \"\"));\n this.test = options === null || options === void 0 ? void 0 : options.test;\n this.iter = text.iter();\n let startLine = text.lineAt(from);\n this.curLineStart = startLine.from;\n this.matchPos = toCharEnd(text, from);\n this.getLine(this.curLineStart);\n }\n getLine(skip) {\n this.iter.next(skip);\n if (this.iter.lineBreak) {\n this.curLine = \"\";\n }\n else {\n this.curLine = this.iter.value;\n if (this.curLineStart + this.curLine.length > this.to)\n this.curLine = this.curLine.slice(0, this.to - this.curLineStart);\n this.iter.next();\n }\n }\n nextLine() {\n this.curLineStart = this.curLineStart + this.curLine.length + 1;\n if (this.curLineStart > this.to)\n this.curLine = \"\";\n else\n this.getLine(0);\n }\n /**\n Move to the next match, if there is one.\n */\n next() {\n for (let off = this.matchPos - this.curLineStart;;) {\n this.re.lastIndex = off;\n let match = this.matchPos <= this.to && this.re.exec(this.curLine);\n if (match) {\n let from = this.curLineStart + match.index, to = from + match[0].length;\n this.matchPos = toCharEnd(this.text, to + (from == to ? 1 : 0));\n if (from == this.curLineStart + this.curLine.length)\n this.nextLine();\n if ((from < to || from > this.value.to) && (!this.test || this.test(from, to, match))) {\n this.value = { from, to, match };\n return this;\n }\n off = this.matchPos - this.curLineStart;\n }\n else if (this.curLineStart + this.curLine.length < this.to) {\n this.nextLine();\n off = 0;\n }\n else {\n this.done = true;\n return this;\n }\n }\n }\n}\nconst flattened = /*@__PURE__*/new WeakMap();\n// Reusable (partially) flattened document strings\nclass FlattenedDoc {\n constructor(from, text) {\n this.from = from;\n this.text = text;\n }\n get to() { return this.from + this.text.length; }\n static get(doc, from, to) {\n let cached = flattened.get(doc);\n if (!cached || cached.from >= to || cached.to <= from) {\n let flat = new FlattenedDoc(from, doc.sliceString(from, to));\n flattened.set(doc, flat);\n return flat;\n }\n if (cached.from == from && cached.to == to)\n return cached;\n let { text, from: cachedFrom } = cached;\n if (cachedFrom > from) {\n text = doc.sliceString(from, cachedFrom) + text;\n cachedFrom = from;\n }\n if (cached.to < to)\n text += doc.sliceString(cached.to, to);\n flattened.set(doc, new FlattenedDoc(cachedFrom, text));\n return new FlattenedDoc(from, text.slice(from - cachedFrom, to - cachedFrom));\n }\n}\nclass MultilineRegExpCursor {\n constructor(text, query, options, from, to) {\n this.text = text;\n this.to = to;\n this.done = false;\n this.value = empty;\n this.matchPos = toCharEnd(text, from);\n this.re = new RegExp(query, baseFlags + ((options === null || options === void 0 ? void 0 : options.ignoreCase) ? \"i\" : \"\"));\n this.test = options === null || options === void 0 ? void 0 : options.test;\n this.flat = FlattenedDoc.get(text, from, this.chunkEnd(from + 5000 /* Chunk.Base */));\n }\n chunkEnd(pos) {\n return pos >= this.to ? this.to : this.text.lineAt(pos).to;\n }\n next() {\n for (;;) {\n let off = this.re.lastIndex = this.matchPos - this.flat.from;\n let match = this.re.exec(this.flat.text);\n // Skip empty matches directly after the last match\n if (match && !match[0] && match.index == off) {\n this.re.lastIndex = off + 1;\n match = this.re.exec(this.flat.text);\n }\n if (match) {\n let from = this.flat.from + match.index, to = from + match[0].length;\n // If a match goes almost to the end of a noncomplete chunk, try\n // again, since it'll likely be able to match more\n if ((this.flat.to >= this.to || match.index + match[0].length <= this.flat.text.length - 10) &&\n (!this.test || this.test(from, to, match))) {\n this.value = { from, to, match };\n this.matchPos = toCharEnd(this.text, to + (from == to ? 1 : 0));\n return this;\n }\n }\n if (this.flat.to == this.to) {\n this.done = true;\n return this;\n }\n // Grow the flattened doc\n this.flat = FlattenedDoc.get(this.text, this.flat.from, this.chunkEnd(this.flat.from + this.flat.text.length * 2));\n }\n }\n}\nif (typeof Symbol != \"undefined\") {\n RegExpCursor.prototype[Symbol.iterator] = MultilineRegExpCursor.prototype[Symbol.iterator] =\n function () { return this; };\n}\nfunction validRegExp(source) {\n try {\n new RegExp(source, baseFlags);\n return true;\n }\n catch (_a) {\n return false;\n }\n}\nfunction toCharEnd(text, pos) {\n if (pos >= text.length)\n return pos;\n let line = text.lineAt(pos), next;\n while (pos < line.to && (next = line.text.charCodeAt(pos - line.from)) >= 0xDC00 && next < 0xE000)\n pos++;\n return pos;\n}\n\nfunction createLineDialog(view) {\n let line = String(view.state.doc.lineAt(view.state.selection.main.head).number);\n let input = elt(\"input\", { class: \"cm-textfield\", name: \"line\", value: line });\n let dom = elt(\"form\", {\n class: \"cm-gotoLine\",\n onkeydown: (event) => {\n if (event.keyCode == 27) { // Escape\n event.preventDefault();\n view.dispatch({ effects: dialogEffect.of(false) });\n view.focus();\n }\n else if (event.keyCode == 13) { // Enter\n event.preventDefault();\n go();\n }\n },\n onsubmit: (event) => {\n event.preventDefault();\n go();\n }\n }, elt(\"label\", view.state.phrase(\"Go to line\"), \": \", input), \" \", elt(\"button\", { class: \"cm-button\", type: \"submit\" }, view.state.phrase(\"go\")));\n function go() {\n let match = /^([+-])?(\\d+)?(:\\d+)?(%)?$/.exec(input.value);\n if (!match)\n return;\n let { state } = view, startLine = state.doc.lineAt(state.selection.main.head);\n let [, sign, ln, cl, percent] = match;\n let col = cl ? +cl.slice(1) : 0;\n let line = ln ? +ln : startLine.number;\n if (ln && percent) {\n let pc = line / 100;\n if (sign)\n pc = pc * (sign == \"-\" ? -1 : 1) + (startLine.number / state.doc.lines);\n line = Math.round(state.doc.lines * pc);\n }\n else if (ln && sign) {\n line = line * (sign == \"-\" ? -1 : 1) + startLine.number;\n }\n let docLine = state.doc.line(Math.max(1, Math.min(state.doc.lines, line)));\n let selection = EditorSelection.cursor(docLine.from + Math.max(0, Math.min(col, docLine.length)));\n view.dispatch({\n effects: [dialogEffect.of(false), EditorView.scrollIntoView(selection.from, { y: 'center' })],\n selection,\n });\n view.focus();\n }\n return { dom };\n}\nconst dialogEffect = /*@__PURE__*/StateEffect.define();\nconst dialogField = /*@__PURE__*/StateField.define({\n create() { return true; },\n update(value, tr) {\n for (let e of tr.effects)\n if (e.is(dialogEffect))\n value = e.value;\n return value;\n },\n provide: f => showPanel.from(f, val => val ? createLineDialog : null)\n});\n/**\nCommand that shows a dialog asking the user for a line number, and\nwhen a valid position is provided, moves the cursor to that line.\n\nSupports line numbers, relative line offsets prefixed with `+` or\n`-`, document percentages suffixed with `%`, and an optional\ncolumn position by adding `:` and a second number after the line\nnumber.\n*/\nconst gotoLine = view => {\n let panel = getPanel(view, createLineDialog);\n if (!panel) {\n let effects = [dialogEffect.of(true)];\n if (view.state.field(dialogField, false) == null)\n effects.push(StateEffect.appendConfig.of([dialogField, baseTheme$1]));\n view.dispatch({ effects });\n panel = getPanel(view, createLineDialog);\n }\n if (panel)\n panel.dom.querySelector(\"input\").select();\n return true;\n};\nconst baseTheme$1 = /*@__PURE__*/EditorView.baseTheme({\n \".cm-panel.cm-gotoLine\": {\n padding: \"2px 6px 4px\",\n \"& label\": { fontSize: \"80%\" }\n }\n});\n\nconst defaultHighlightOptions = {\n highlightWordAroundCursor: false,\n minSelectionLength: 1,\n maxMatches: 100,\n wholeWords: false\n};\nconst highlightConfig = /*@__PURE__*/Facet.define({\n combine(options) {\n return combineConfig(options, defaultHighlightOptions, {\n highlightWordAroundCursor: (a, b) => a || b,\n minSelectionLength: Math.min,\n maxMatches: Math.min\n });\n }\n});\n/**\nThis extension highlights text that matches the selection. It uses\nthe `\"cm-selectionMatch\"` class for the highlighting. When\n`highlightWordAroundCursor` is enabled, the word at the cursor\nitself will be highlighted with `\"cm-selectionMatch-main\"`.\n*/\nfunction highlightSelectionMatches(options) {\n let ext = [defaultTheme, matchHighlighter];\n if (options)\n ext.push(highlightConfig.of(options));\n return ext;\n}\nconst matchDeco = /*@__PURE__*/Decoration.mark({ class: \"cm-selectionMatch\" });\nconst mainMatchDeco = /*@__PURE__*/Decoration.mark({ class: \"cm-selectionMatch cm-selectionMatch-main\" });\n// Whether the characters directly outside the given positions are non-word characters\nfunction insideWordBoundaries(check, state, from, to) {\n return (from == 0 || check(state.sliceDoc(from - 1, from)) != CharCategory.Word) &&\n (to == state.doc.length || check(state.sliceDoc(to, to + 1)) != CharCategory.Word);\n}\n// Whether the characters directly at the given positions are word characters\nfunction insideWord(check, state, from, to) {\n return check(state.sliceDoc(from, from + 1)) == CharCategory.Word\n && check(state.sliceDoc(to - 1, to)) == CharCategory.Word;\n}\nconst matchHighlighter = /*@__PURE__*/ViewPlugin.fromClass(class {\n constructor(view) {\n this.decorations = this.getDeco(view);\n }\n update(update) {\n if (update.selectionSet || update.docChanged || update.viewportChanged)\n this.decorations = this.getDeco(update.view);\n }\n getDeco(view) {\n let conf = view.state.facet(highlightConfig);\n let { state } = view, sel = state.selection;\n if (sel.ranges.length > 1)\n return Decoration.none;\n let range = sel.main, query, check = null;\n if (range.empty) {\n if (!conf.highlightWordAroundCursor)\n return Decoration.none;\n let word = state.wordAt(range.head);\n if (!word)\n return Decoration.none;\n check = state.charCategorizer(range.head);\n query = state.sliceDoc(word.from, word.to);\n }\n else {\n let len = range.to - range.from;\n if (len < conf.minSelectionLength || len > 200)\n return Decoration.none;\n if (conf.wholeWords) {\n query = state.sliceDoc(range.from, range.to); // TODO: allow and include leading/trailing space?\n check = state.charCategorizer(range.head);\n if (!(insideWordBoundaries(check, state, range.from, range.to) &&\n insideWord(check, state, range.from, range.to)))\n return Decoration.none;\n }\n else {\n query = state.sliceDoc(range.from, range.to);\n if (!query)\n return Decoration.none;\n }\n }\n let deco = [];\n for (let part of view.visibleRanges) {\n let cursor = new SearchCursor(state.doc, query, part.from, part.to);\n while (!cursor.next().done) {\n let { from, to } = cursor.value;\n if (!check || insideWordBoundaries(check, state, from, to)) {\n if (range.empty && from <= range.from && to >= range.to)\n deco.push(mainMatchDeco.range(from, to));\n else if (from >= range.to || to <= range.from)\n deco.push(matchDeco.range(from, to));\n if (deco.length > conf.maxMatches)\n return Decoration.none;\n }\n }\n }\n return Decoration.set(deco);\n }\n}, {\n decorations: v => v.decorations\n});\nconst defaultTheme = /*@__PURE__*/EditorView.baseTheme({\n \".cm-selectionMatch\": { backgroundColor: \"#99ff7780\" },\n \".cm-searchMatch .cm-selectionMatch\": { backgroundColor: \"transparent\" }\n});\n// Select the words around the cursors.\nconst selectWord = ({ state, dispatch }) => {\n let { selection } = state;\n let newSel = EditorSelection.create(selection.ranges.map(range => state.wordAt(range.head) || EditorSelection.cursor(range.head)), selection.mainIndex);\n if (newSel.eq(selection))\n return false;\n dispatch(state.update({ selection: newSel }));\n return true;\n};\n// Find next occurrence of query relative to last cursor. Wrap around\n// the document if there are no more matches.\nfunction findNextOccurrence(state, query) {\n let { main, ranges } = state.selection;\n let word = state.wordAt(main.head), fullWord = word && word.from == main.from && word.to == main.to;\n for (let cycled = false, cursor = new SearchCursor(state.doc, query, ranges[ranges.length - 1].to);;) {\n cursor.next();\n if (cursor.done) {\n if (cycled)\n return null;\n cursor = new SearchCursor(state.doc, query, 0, Math.max(0, ranges[ranges.length - 1].from - 1));\n cycled = true;\n }\n else {\n if (cycled && ranges.some(r => r.from == cursor.value.from))\n continue;\n if (fullWord) {\n let word = state.wordAt(cursor.value.from);\n if (!word || word.from != cursor.value.from || word.to != cursor.value.to)\n continue;\n }\n return cursor.value;\n }\n }\n}\n/**\nSelect next occurrence of the current selection. Expand selection\nto the surrounding word when the selection is empty.\n*/\nconst selectNextOccurrence = ({ state, dispatch }) => {\n let { ranges } = state.selection;\n if (ranges.some(sel => sel.from === sel.to))\n return selectWord({ state, dispatch });\n let searchedText = state.sliceDoc(ranges[0].from, ranges[0].to);\n if (state.selection.ranges.some(r => state.sliceDoc(r.from, r.to) != searchedText))\n return false;\n let range = findNextOccurrence(state, searchedText);\n if (!range)\n return false;\n dispatch(state.update({\n selection: state.selection.addRange(EditorSelection.range(range.from, range.to), false),\n effects: EditorView.scrollIntoView(range.to)\n }));\n return true;\n};\n\nconst searchConfigFacet = /*@__PURE__*/Facet.define({\n combine(configs) {\n return combineConfig(configs, {\n top: false,\n caseSensitive: false,\n literal: false,\n regexp: false,\n wholeWord: false,\n createPanel: view => new SearchPanel(view),\n scrollToMatch: range => EditorView.scrollIntoView(range)\n });\n }\n});\n/**\nAdd search state to the editor configuration, and optionally\nconfigure the search extension.\n([`openSearchPanel`](https://codemirror.net/6/docs/ref/#search.openSearchPanel) will automatically\nenable this if it isn't already on).\n*/\nfunction search(config) {\n return config ? [searchConfigFacet.of(config), searchExtensions] : searchExtensions;\n}\n/**\nA search query. Part of the editor's search state.\n*/\nclass SearchQuery {\n /**\n Create a query object.\n */\n constructor(config) {\n this.search = config.search;\n this.caseSensitive = !!config.caseSensitive;\n this.literal = !!config.literal;\n this.regexp = !!config.regexp;\n this.replace = config.replace || \"\";\n this.valid = !!this.search && (!this.regexp || validRegExp(this.search));\n this.unquoted = this.unquote(this.search);\n this.wholeWord = !!config.wholeWord;\n }\n /**\n @internal\n */\n unquote(text) {\n return this.literal ? text :\n text.replace(/\\\\([nrt\\\\])/g, (_, ch) => ch == \"n\" ? \"\\n\" : ch == \"r\" ? \"\\r\" : ch == \"t\" ? \"\\t\" : \"\\\\\");\n }\n /**\n Compare this query to another query.\n */\n eq(other) {\n return this.search == other.search && this.replace == other.replace &&\n this.caseSensitive == other.caseSensitive && this.regexp == other.regexp &&\n this.wholeWord == other.wholeWord;\n }\n /**\n @internal\n */\n create() {\n return this.regexp ? new RegExpQuery(this) : new StringQuery(this);\n }\n /**\n Get a search cursor for this query, searching through the given\n range in the given state.\n */\n getCursor(state, from = 0, to) {\n let st = state.doc ? state : EditorState.create({ doc: state });\n if (to == null)\n to = st.doc.length;\n return this.regexp ? regexpCursor(this, st, from, to) : stringCursor(this, st, from, to);\n }\n}\nclass QueryType {\n constructor(spec) {\n this.spec = spec;\n }\n}\nfunction stringCursor(spec, state, from, to) {\n return new SearchCursor(state.doc, spec.unquoted, from, to, spec.caseSensitive ? undefined : x => x.toLowerCase(), spec.wholeWord ? stringWordTest(state.doc, state.charCategorizer(state.selection.main.head)) : undefined);\n}\nfunction stringWordTest(doc, categorizer) {\n return (from, to, buf, bufPos) => {\n if (bufPos > from || bufPos + buf.length < to) {\n bufPos = Math.max(0, from - 2);\n buf = doc.sliceString(bufPos, Math.min(doc.length, to + 2));\n }\n return (categorizer(charBefore(buf, from - bufPos)) != CharCategory.Word ||\n categorizer(charAfter(buf, from - bufPos)) != CharCategory.Word) &&\n (categorizer(charAfter(buf, to - bufPos)) != CharCategory.Word ||\n categorizer(charBefore(buf, to - bufPos)) != CharCategory.Word);\n };\n}\nclass StringQuery extends QueryType {\n constructor(spec) {\n super(spec);\n }\n nextMatch(state, curFrom, curTo) {\n let cursor = stringCursor(this.spec, state, curTo, state.doc.length).nextOverlapping();\n if (cursor.done)\n cursor = stringCursor(this.spec, state, 0, curFrom).nextOverlapping();\n return cursor.done ? null : cursor.value;\n }\n // Searching in reverse is, rather than implementing an inverted search\n // cursor, done by scanning chunk after chunk forward.\n prevMatchInRange(state, from, to) {\n for (let pos = to;;) {\n let start = Math.max(from, pos - 10000 /* FindPrev.ChunkSize */ - this.spec.unquoted.length);\n let cursor = stringCursor(this.spec, state, start, pos), range = null;\n while (!cursor.nextOverlapping().done)\n range = cursor.value;\n if (range)\n return range;\n if (start == from)\n return null;\n pos -= 10000 /* FindPrev.ChunkSize */;\n }\n }\n prevMatch(state, curFrom, curTo) {\n return this.prevMatchInRange(state, 0, curFrom) ||\n this.prevMatchInRange(state, curTo, state.doc.length);\n }\n getReplacement(_result) { return this.spec.unquote(this.spec.replace); }\n matchAll(state, limit) {\n let cursor = stringCursor(this.spec, state, 0, state.doc.length), ranges = [];\n while (!cursor.next().done) {\n if (ranges.length >= limit)\n return null;\n ranges.push(cursor.value);\n }\n return ranges;\n }\n highlight(state, from, to, add) {\n let cursor = stringCursor(this.spec, state, Math.max(0, from - this.spec.unquoted.length), Math.min(to + this.spec.unquoted.length, state.doc.length));\n while (!cursor.next().done)\n add(cursor.value.from, cursor.value.to);\n }\n}\nfunction regexpCursor(spec, state, from, to) {\n return new RegExpCursor(state.doc, spec.search, {\n ignoreCase: !spec.caseSensitive,\n test: spec.wholeWord ? regexpWordTest(state.charCategorizer(state.selection.main.head)) : undefined\n }, from, to);\n}\nfunction charBefore(str, index) {\n return str.slice(findClusterBreak(str, index, false), index);\n}\nfunction charAfter(str, index) {\n return str.slice(index, findClusterBreak(str, index));\n}\nfunction regexpWordTest(categorizer) {\n return (_from, _to, match) => !match[0].length ||\n (categorizer(charBefore(match.input, match.index)) != CharCategory.Word ||\n categorizer(charAfter(match.input, match.index)) != CharCategory.Word) &&\n (categorizer(charAfter(match.input, match.index + match[0].length)) != CharCategory.Word ||\n categorizer(charBefore(match.input, match.index + match[0].length)) != CharCategory.Word);\n}\nclass RegExpQuery extends QueryType {\n nextMatch(state, curFrom, curTo) {\n let cursor = regexpCursor(this.spec, state, curTo, state.doc.length).next();\n if (cursor.done)\n cursor = regexpCursor(this.spec, state, 0, curFrom).next();\n return cursor.done ? null : cursor.value;\n }\n prevMatchInRange(state, from, to) {\n for (let size = 1;; size++) {\n let start = Math.max(from, to - size * 10000 /* FindPrev.ChunkSize */);\n let cursor = regexpCursor(this.spec, state, start, to), range = null;\n while (!cursor.next().done)\n range = cursor.value;\n if (range && (start == from || range.from > start + 10))\n return range;\n if (start == from)\n return null;\n }\n }\n prevMatch(state, curFrom, curTo) {\n return this.prevMatchInRange(state, 0, curFrom) ||\n this.prevMatchInRange(state, curTo, state.doc.length);\n }\n getReplacement(result) {\n return this.spec.unquote(this.spec.replace).replace(/\\$([$&\\d+])/g, (m, i) => i == \"$\" ? \"$\"\n : i == \"&\" ? result.match[0]\n : i != \"0\" && +i < result.match.length ? result.match[i]\n : m);\n }\n matchAll(state, limit) {\n let cursor = regexpCursor(this.spec, state, 0, state.doc.length), ranges = [];\n while (!cursor.next().done) {\n if (ranges.length >= limit)\n return null;\n ranges.push(cursor.value);\n }\n return ranges;\n }\n highlight(state, from, to, add) {\n let cursor = regexpCursor(this.spec, state, Math.max(0, from - 250 /* RegExp.HighlightMargin */), Math.min(to + 250 /* RegExp.HighlightMargin */, state.doc.length));\n while (!cursor.next().done)\n add(cursor.value.from, cursor.value.to);\n }\n}\n/**\nA state effect that updates the current search query. Note that\nthis only has an effect if the search state has been initialized\n(by including [`search`](https://codemirror.net/6/docs/ref/#search.search) in your configuration or\nby running [`openSearchPanel`](https://codemirror.net/6/docs/ref/#search.openSearchPanel) at least\nonce).\n*/\nconst setSearchQuery = /*@__PURE__*/StateEffect.define();\nconst togglePanel = /*@__PURE__*/StateEffect.define();\nconst searchState = /*@__PURE__*/StateField.define({\n create(state) {\n return new SearchState(defaultQuery(state).create(), null);\n },\n update(value, tr) {\n for (let effect of tr.effects) {\n if (effect.is(setSearchQuery))\n value = new SearchState(effect.value.create(), value.panel);\n else if (effect.is(togglePanel))\n value = new SearchState(value.query, effect.value ? createSearchPanel : null);\n }\n return value;\n },\n provide: f => showPanel.from(f, val => val.panel)\n});\n/**\nGet the current search query from an editor state.\n*/\nfunction getSearchQuery(state) {\n let curState = state.field(searchState, false);\n return curState ? curState.query.spec : defaultQuery(state);\n}\n/**\nQuery whether the search panel is open in the given editor state.\n*/\nfunction searchPanelOpen(state) {\n var _a;\n return ((_a = state.field(searchState, false)) === null || _a === void 0 ? void 0 : _a.panel) != null;\n}\nclass SearchState {\n constructor(query, panel) {\n this.query = query;\n this.panel = panel;\n }\n}\nconst matchMark = /*@__PURE__*/Decoration.mark({ class: \"cm-searchMatch\" }), selectedMatchMark = /*@__PURE__*/Decoration.mark({ class: \"cm-searchMatch cm-searchMatch-selected\" });\nconst searchHighlighter = /*@__PURE__*/ViewPlugin.fromClass(class {\n constructor(view) {\n this.view = view;\n this.decorations = this.highlight(view.state.field(searchState));\n }\n update(update) {\n let state = update.state.field(searchState);\n if (state != update.startState.field(searchState) || update.docChanged || update.selectionSet || update.viewportChanged)\n this.decorations = this.highlight(state);\n }\n highlight({ query, panel }) {\n if (!panel || !query.spec.valid)\n return Decoration.none;\n let { view } = this;\n let builder = new RangeSetBuilder();\n for (let i = 0, ranges = view.visibleRanges, l = ranges.length; i < l; i++) {\n let { from, to } = ranges[i];\n while (i < l - 1 && to > ranges[i + 1].from - 2 * 250 /* RegExp.HighlightMargin */)\n to = ranges[++i].to;\n query.highlight(view.state, from, to, (from, to) => {\n let selected = view.state.selection.ranges.some(r => r.from == from && r.to == to);\n builder.add(from, to, selected ? selectedMatchMark : matchMark);\n });\n }\n return builder.finish();\n }\n}, {\n decorations: v => v.decorations\n});\nfunction searchCommand(f) {\n return view => {\n let state = view.state.field(searchState, false);\n return state && state.query.spec.valid ? f(view, state) : openSearchPanel(view);\n };\n}\n/**\nOpen the search panel if it isn't already open, and move the\nselection to the first match after the current main selection.\nWill wrap around to the start of the document when it reaches the\nend.\n*/\nconst findNext = /*@__PURE__*/searchCommand((view, { query }) => {\n let { to } = view.state.selection.main;\n let next = query.nextMatch(view.state, to, to);\n if (!next)\n return false;\n let selection = EditorSelection.single(next.from, next.to);\n let config = view.state.facet(searchConfigFacet);\n view.dispatch({\n selection,\n effects: [announceMatch(view, next), config.scrollToMatch(selection.main, view)],\n userEvent: \"select.search\"\n });\n selectSearchInput(view);\n return true;\n});\n/**\nMove the selection to the previous instance of the search query,\nbefore the current main selection. Will wrap past the start\nof the document to start searching at the end again.\n*/\nconst findPrevious = /*@__PURE__*/searchCommand((view, { query }) => {\n let { state } = view, { from } = state.selection.main;\n let prev = query.prevMatch(state, from, from);\n if (!prev)\n return false;\n let selection = EditorSelection.single(prev.from, prev.to);\n let config = view.state.facet(searchConfigFacet);\n view.dispatch({\n selection,\n effects: [announceMatch(view, prev), config.scrollToMatch(selection.main, view)],\n userEvent: \"select.search\"\n });\n selectSearchInput(view);\n return true;\n});\n/**\nSelect all instances of the search query.\n*/\nconst selectMatches = /*@__PURE__*/searchCommand((view, { query }) => {\n let ranges = query.matchAll(view.state, 1000);\n if (!ranges || !ranges.length)\n return false;\n view.dispatch({\n selection: EditorSelection.create(ranges.map(r => EditorSelection.range(r.from, r.to))),\n userEvent: \"select.search.matches\"\n });\n return true;\n});\n/**\nSelect all instances of the currently selected text.\n*/\nconst selectSelectionMatches = ({ state, dispatch }) => {\n let sel = state.selection;\n if (sel.ranges.length > 1 || sel.main.empty)\n return false;\n let { from, to } = sel.main;\n let ranges = [], main = 0;\n for (let cur = new SearchCursor(state.doc, state.sliceDoc(from, to)); !cur.next().done;) {\n if (ranges.length > 1000)\n return false;\n if (cur.value.from == from)\n main = ranges.length;\n ranges.push(EditorSelection.range(cur.value.from, cur.value.to));\n }\n dispatch(state.update({\n selection: EditorSelection.create(ranges, main),\n userEvent: \"select.search.matches\"\n }));\n return true;\n};\n/**\nReplace the current match of the search query.\n*/\nconst replaceNext = /*@__PURE__*/searchCommand((view, { query }) => {\n let { state } = view, { from, to } = state.selection.main;\n if (state.readOnly)\n return false;\n let next = query.nextMatch(state, from, from);\n if (!next)\n return false;\n let changes = [], selection, replacement;\n let effects = [];\n if (next.from == from && next.to == to) {\n replacement = state.toText(query.getReplacement(next));\n changes.push({ from: next.from, to: next.to, insert: replacement });\n next = query.nextMatch(state, next.from, next.to);\n effects.push(EditorView.announce.of(state.phrase(\"replaced match on line $\", state.doc.lineAt(from).number) + \".\"));\n }\n if (next) {\n let off = changes.length == 0 || changes[0].from >= next.to ? 0 : next.to - next.from - replacement.length;\n selection = EditorSelection.single(next.from - off, next.to - off);\n effects.push(announceMatch(view, next));\n effects.push(state.facet(searchConfigFacet).scrollToMatch(selection.main, view));\n }\n view.dispatch({\n changes, selection, effects,\n userEvent: \"input.replace\"\n });\n return true;\n});\n/**\nReplace all instances of the search query with the given\nreplacement.\n*/\nconst replaceAll = /*@__PURE__*/searchCommand((view, { query }) => {\n if (view.state.readOnly)\n return false;\n let changes = query.matchAll(view.state, 1e9).map(match => {\n let { from, to } = match;\n return { from, to, insert: query.getReplacement(match) };\n });\n if (!changes.length)\n return false;\n let announceText = view.state.phrase(\"replaced $ matches\", changes.length) + \".\";\n view.dispatch({\n changes,\n effects: EditorView.announce.of(announceText),\n userEvent: \"input.replace.all\"\n });\n return true;\n});\nfunction createSearchPanel(view) {\n return view.state.facet(searchConfigFacet).createPanel(view);\n}\nfunction defaultQuery(state, fallback) {\n var _a, _b, _c, _d, _e;\n let sel = state.selection.main;\n let selText = sel.empty || sel.to > sel.from + 100 ? \"\" : state.sliceDoc(sel.from, sel.to);\n if (fallback && !selText)\n return fallback;\n let config = state.facet(searchConfigFacet);\n return new SearchQuery({\n search: ((_a = fallback === null || fallback === void 0 ? void 0 : fallback.literal) !== null && _a !== void 0 ? _a : config.literal) ? selText : selText.replace(/\\n/g, \"\\\\n\"),\n caseSensitive: (_b = fallback === null || fallback === void 0 ? void 0 : fallback.caseSensitive) !== null && _b !== void 0 ? _b : config.caseSensitive,\n literal: (_c = fallback === null || fallback === void 0 ? void 0 : fallback.literal) !== null && _c !== void 0 ? _c : config.literal,\n regexp: (_d = fallback === null || fallback === void 0 ? void 0 : fallback.regexp) !== null && _d !== void 0 ? _d : config.regexp,\n wholeWord: (_e = fallback === null || fallback === void 0 ? void 0 : fallback.wholeWord) !== null && _e !== void 0 ? _e : config.wholeWord\n });\n}\nfunction getSearchInput(view) {\n let panel = getPanel(view, createSearchPanel);\n return panel && panel.dom.querySelector(\"[main-field]\");\n}\nfunction selectSearchInput(view) {\n let input = getSearchInput(view);\n if (input && input == view.root.activeElement)\n input.select();\n}\n/**\nMake sure the search panel is open and focused.\n*/\nconst openSearchPanel = view => {\n let state = view.state.field(searchState, false);\n if (state && state.panel) {\n let searchInput = getSearchInput(view);\n if (searchInput && searchInput != view.root.activeElement) {\n let query = defaultQuery(view.state, state.query.spec);\n if (query.valid)\n view.dispatch({ effects: setSearchQuery.of(query) });\n searchInput.focus();\n searchInput.select();\n }\n }\n else {\n view.dispatch({ effects: [\n togglePanel.of(true),\n state ? setSearchQuery.of(defaultQuery(view.state, state.query.spec)) : StateEffect.appendConfig.of(searchExtensions)\n ] });\n }\n return true;\n};\n/**\nClose the search panel.\n*/\nconst closeSearchPanel = view => {\n let state = view.state.field(searchState, false);\n if (!state || !state.panel)\n return false;\n let panel = getPanel(view, createSearchPanel);\n if (panel && panel.dom.contains(view.root.activeElement))\n view.focus();\n view.dispatch({ effects: togglePanel.of(false) });\n return true;\n};\n/**\nDefault search-related key bindings.\n\n - Mod-f: [`openSearchPanel`](https://codemirror.net/6/docs/ref/#search.openSearchPanel)\n - F3, Mod-g: [`findNext`](https://codemirror.net/6/docs/ref/#search.findNext)\n - Shift-F3, Shift-Mod-g: [`findPrevious`](https://codemirror.net/6/docs/ref/#search.findPrevious)\n - Mod-Alt-g: [`gotoLine`](https://codemirror.net/6/docs/ref/#search.gotoLine)\n - Mod-d: [`selectNextOccurrence`](https://codemirror.net/6/docs/ref/#search.selectNextOccurrence)\n*/\nconst searchKeymap = [\n { key: \"Mod-f\", run: openSearchPanel, scope: \"editor search-panel\" },\n { key: \"F3\", run: findNext, shift: findPrevious, scope: \"editor search-panel\", preventDefault: true },\n { key: \"Mod-g\", run: findNext, shift: findPrevious, scope: \"editor search-panel\", preventDefault: true },\n { key: \"Escape\", run: closeSearchPanel, scope: \"editor search-panel\" },\n { key: \"Mod-Shift-l\", run: selectSelectionMatches },\n { key: \"Mod-Alt-g\", run: gotoLine },\n { key: \"Mod-d\", run: selectNextOccurrence, preventDefault: true },\n];\nclass SearchPanel {\n constructor(view) {\n this.view = view;\n let query = this.query = view.state.field(searchState).query.spec;\n this.commit = this.commit.bind(this);\n this.searchField = elt(\"input\", {\n value: query.search,\n placeholder: phrase(view, \"Find\"),\n \"aria-label\": phrase(view, \"Find\"),\n class: \"cm-textfield\",\n name: \"search\",\n form: \"\",\n \"main-field\": \"true\",\n onchange: this.commit,\n onkeyup: this.commit\n });\n this.replaceField = elt(\"input\", {\n value: query.replace,\n placeholder: phrase(view, \"Replace\"),\n \"aria-label\": phrase(view, \"Replace\"),\n class: \"cm-textfield\",\n name: \"replace\",\n form: \"\",\n onchange: this.commit,\n onkeyup: this.commit\n });\n this.caseField = elt(\"input\", {\n type: \"checkbox\",\n name: \"case\",\n form: \"\",\n checked: query.caseSensitive,\n onchange: this.commit\n });\n this.reField = elt(\"input\", {\n type: \"checkbox\",\n name: \"re\",\n form: \"\",\n checked: query.regexp,\n onchange: this.commit\n });\n this.wordField = elt(\"input\", {\n type: \"checkbox\",\n name: \"word\",\n form: \"\",\n checked: query.wholeWord,\n onchange: this.commit\n });\n function button(name, onclick, content) {\n return elt(\"button\", { class: \"cm-button\", name, onclick, type: \"button\" }, content);\n }\n this.dom = elt(\"div\", { onkeydown: (e) => this.keydown(e), class: \"cm-search\" }, [\n this.searchField,\n button(\"next\", () => findNext(view), [phrase(view, \"next\")]),\n button(\"prev\", () => findPrevious(view), [phrase(view, \"previous\")]),\n button(\"select\", () => selectMatches(view), [phrase(view, \"all\")]),\n elt(\"label\", null, [this.caseField, phrase(view, \"match case\")]),\n elt(\"label\", null, [this.reField, phrase(view, \"regexp\")]),\n elt(\"label\", null, [this.wordField, phrase(view, \"by word\")]),\n ...view.state.readOnly ? [] : [\n elt(\"br\"),\n this.replaceField,\n button(\"replace\", () => replaceNext(view), [phrase(view, \"replace\")]),\n button(\"replaceAll\", () => replaceAll(view), [phrase(view, \"replace all\")])\n ],\n elt(\"button\", {\n name: \"close\",\n onclick: () => closeSearchPanel(view),\n \"aria-label\": phrase(view, \"close\"),\n type: \"button\"\n }, [\"×\"])\n ]);\n }\n commit() {\n let query = new SearchQuery({\n search: this.searchField.value,\n caseSensitive: this.caseField.checked,\n regexp: this.reField.checked,\n wholeWord: this.wordField.checked,\n replace: this.replaceField.value,\n });\n if (!query.eq(this.query)) {\n this.query = query;\n this.view.dispatch({ effects: setSearchQuery.of(query) });\n }\n }\n keydown(e) {\n if (runScopeHandlers(this.view, e, \"search-panel\")) {\n e.preventDefault();\n }\n else if (e.keyCode == 13 && e.target == this.searchField) {\n e.preventDefault();\n (e.shiftKey ? findPrevious : findNext)(this.view);\n }\n else if (e.keyCode == 13 && e.target == this.replaceField) {\n e.preventDefault();\n replaceNext(this.view);\n }\n }\n update(update) {\n for (let tr of update.transactions)\n for (let effect of tr.effects) {\n if (effect.is(setSearchQuery) && !effect.value.eq(this.query))\n this.setQuery(effect.value);\n }\n }\n setQuery(query) {\n this.query = query;\n this.searchField.value = query.search;\n this.replaceField.value = query.replace;\n this.caseField.checked = query.caseSensitive;\n this.reField.checked = query.regexp;\n this.wordField.checked = query.wholeWord;\n }\n mount() {\n this.searchField.select();\n }\n get pos() { return 80; }\n get top() { return this.view.state.facet(searchConfigFacet).top; }\n}\nfunction phrase(view, phrase) { return view.state.phrase(phrase); }\nconst AnnounceMargin = 30;\nconst Break = /[\\s\\.,:;?!]/;\nfunction announceMatch(view, { from, to }) {\n let line = view.state.doc.lineAt(from), lineEnd = view.state.doc.lineAt(to).to;\n let start = Math.max(line.from, from - AnnounceMargin), end = Math.min(lineEnd, to + AnnounceMargin);\n let text = view.state.sliceDoc(start, end);\n if (start != line.from) {\n for (let i = 0; i < AnnounceMargin; i++)\n if (!Break.test(text[i + 1]) && Break.test(text[i])) {\n text = text.slice(i);\n break;\n }\n }\n if (end != lineEnd) {\n for (let i = text.length - 1; i > text.length - AnnounceMargin; i--)\n if (!Break.test(text[i - 1]) && Break.test(text[i])) {\n text = text.slice(0, i);\n break;\n }\n }\n return EditorView.announce.of(`${view.state.phrase(\"current match\")}. ${text} ${view.state.phrase(\"on line\")} ${line.number}.`);\n}\nconst baseTheme = /*@__PURE__*/EditorView.baseTheme({\n \".cm-panel.cm-search\": {\n padding: \"2px 6px 4px\",\n position: \"relative\",\n \"& [name=close]\": {\n position: \"absolute\",\n top: \"0\",\n right: \"4px\",\n backgroundColor: \"inherit\",\n border: \"none\",\n font: \"inherit\",\n padding: 0,\n margin: 0\n },\n \"& input, & button, & label\": {\n margin: \".2em .6em .2em 0\"\n },\n \"& input[type=checkbox]\": {\n marginRight: \".2em\"\n },\n \"& label\": {\n fontSize: \"80%\",\n whiteSpace: \"pre\"\n }\n },\n \"&light .cm-searchMatch\": { backgroundColor: \"#ffff0054\" },\n \"&dark .cm-searchMatch\": { backgroundColor: \"#00ffff8a\" },\n \"&light .cm-searchMatch-selected\": { backgroundColor: \"#ff6a0054\" },\n \"&dark .cm-searchMatch-selected\": { backgroundColor: \"#ff00ff8a\" }\n});\nconst searchExtensions = [\n searchState,\n /*@__PURE__*/Prec.low(searchHighlighter),\n baseTheme\n];\n\nexport { RegExpCursor, SearchCursor, SearchQuery, closeSearchPanel, findNext, findPrevious, getSearchQuery, gotoLine, highlightSelectionMatches, openSearchPanel, replaceAll, replaceNext, search, searchKeymap, searchPanelOpen, selectMatches, selectNextOccurrence, selectSelectionMatches, setSearchQuery };\n","import { Decoration, showPanel, EditorView, ViewPlugin, logException, gutter, showTooltip, hoverTooltip, getPanel, WidgetType, GutterMarker } from '@codemirror/view';\nimport { StateEffect, StateField, Facet, combineConfig, RangeSet } from '@codemirror/state';\nimport elt from 'crelt';\n\nclass SelectedDiagnostic {\n constructor(from, to, diagnostic) {\n this.from = from;\n this.to = to;\n this.diagnostic = diagnostic;\n }\n}\nclass LintState {\n constructor(diagnostics, panel, selected) {\n this.diagnostics = diagnostics;\n this.panel = panel;\n this.selected = selected;\n }\n static init(diagnostics, panel, state) {\n // Filter the list of diagnostics for which to create markers\n let markedDiagnostics = diagnostics;\n let diagnosticFilter = state.facet(lintConfig).markerFilter;\n if (diagnosticFilter)\n markedDiagnostics = diagnosticFilter(markedDiagnostics, state);\n let ranges = Decoration.set(markedDiagnostics.map((d) => {\n // For zero-length ranges or ranges covering only a line break, create a widget\n return d.from == d.to || (d.from == d.to - 1 && state.doc.lineAt(d.from).to == d.from)\n ? Decoration.widget({\n widget: new DiagnosticWidget(d),\n diagnostic: d\n }).range(d.from)\n : Decoration.mark({\n attributes: { class: \"cm-lintRange cm-lintRange-\" + d.severity + (d.markClass ? \" \" + d.markClass : \"\") },\n diagnostic: d\n }).range(d.from, d.to);\n }), true);\n return new LintState(ranges, panel, findDiagnostic(ranges));\n }\n}\nfunction findDiagnostic(diagnostics, diagnostic = null, after = 0) {\n let found = null;\n diagnostics.between(after, 1e9, (from, to, { spec }) => {\n if (diagnostic && spec.diagnostic != diagnostic)\n return;\n found = new SelectedDiagnostic(from, to, spec.diagnostic);\n return false;\n });\n return found;\n}\nfunction hideTooltip(tr, tooltip) {\n let from = tooltip.pos, to = tooltip.end || from;\n let result = tr.state.facet(lintConfig).hideOn(tr, from, to);\n if (result != null)\n return result;\n let line = tr.startState.doc.lineAt(tooltip.pos);\n return !!(tr.effects.some(e => e.is(setDiagnosticsEffect)) || tr.changes.touchesRange(line.from, Math.max(line.to, to)));\n}\nfunction maybeEnableLint(state, effects) {\n return state.field(lintState, false) ? effects : effects.concat(StateEffect.appendConfig.of(lintExtensions));\n}\n/**\nReturns a transaction spec which updates the current set of\ndiagnostics, and enables the lint extension if if wasn't already\nactive.\n*/\nfunction setDiagnostics(state, diagnostics) {\n return {\n effects: maybeEnableLint(state, [setDiagnosticsEffect.of(diagnostics)])\n };\n}\n/**\nThe state effect that updates the set of active diagnostics. Can\nbe useful when writing an extension that needs to track these.\n*/\nconst setDiagnosticsEffect = /*@__PURE__*/StateEffect.define();\nconst togglePanel = /*@__PURE__*/StateEffect.define();\nconst movePanelSelection = /*@__PURE__*/StateEffect.define();\nconst lintState = /*@__PURE__*/StateField.define({\n create() {\n return new LintState(Decoration.none, null, null);\n },\n update(value, tr) {\n if (tr.docChanged && value.diagnostics.size) {\n let mapped = value.diagnostics.map(tr.changes), selected = null, panel = value.panel;\n if (value.selected) {\n let selPos = tr.changes.mapPos(value.selected.from, 1);\n selected = findDiagnostic(mapped, value.selected.diagnostic, selPos) || findDiagnostic(mapped, null, selPos);\n }\n if (!mapped.size && panel && tr.state.facet(lintConfig).autoPanel)\n panel = null;\n value = new LintState(mapped, panel, selected);\n }\n for (let effect of tr.effects) {\n if (effect.is(setDiagnosticsEffect)) {\n let panel = !tr.state.facet(lintConfig).autoPanel ? value.panel : effect.value.length ? LintPanel.open : null;\n value = LintState.init(effect.value, panel, tr.state);\n }\n else if (effect.is(togglePanel)) {\n value = new LintState(value.diagnostics, effect.value ? LintPanel.open : null, value.selected);\n }\n else if (effect.is(movePanelSelection)) {\n value = new LintState(value.diagnostics, value.panel, effect.value);\n }\n }\n return value;\n },\n provide: f => [showPanel.from(f, val => val.panel),\n EditorView.decorations.from(f, s => s.diagnostics)]\n});\n/**\nReturns the number of active lint diagnostics in the given state.\n*/\nfunction diagnosticCount(state) {\n let lint = state.field(lintState, false);\n return lint ? lint.diagnostics.size : 0;\n}\nconst activeMark = /*@__PURE__*/Decoration.mark({ class: \"cm-lintRange cm-lintRange-active\" });\nfunction lintTooltip(view, pos, side) {\n let { diagnostics } = view.state.field(lintState);\n let found = [], stackStart = 2e8, stackEnd = 0;\n diagnostics.between(pos - (side < 0 ? 1 : 0), pos + (side > 0 ? 1 : 0), (from, to, { spec }) => {\n if (pos >= from && pos <= to &&\n (from == to || ((pos > from || side > 0) && (pos < to || side < 0)))) {\n found.push(spec.diagnostic);\n stackStart = Math.min(from, stackStart);\n stackEnd = Math.max(to, stackEnd);\n }\n });\n let diagnosticFilter = view.state.facet(lintConfig).tooltipFilter;\n if (diagnosticFilter)\n found = diagnosticFilter(found, view.state);\n if (!found.length)\n return null;\n return {\n pos: stackStart,\n end: stackEnd,\n above: view.state.doc.lineAt(stackStart).to < stackEnd,\n create() {\n return { dom: diagnosticsTooltip(view, found) };\n }\n };\n}\nfunction diagnosticsTooltip(view, diagnostics) {\n return elt(\"ul\", { class: \"cm-tooltip-lint\" }, diagnostics.map(d => renderDiagnostic(view, d, false)));\n}\n/**\nCommand to open and focus the lint panel.\n*/\nconst openLintPanel = (view) => {\n let field = view.state.field(lintState, false);\n if (!field || !field.panel)\n view.dispatch({ effects: maybeEnableLint(view.state, [togglePanel.of(true)]) });\n let panel = getPanel(view, LintPanel.open);\n if (panel)\n panel.dom.querySelector(\".cm-panel-lint ul\").focus();\n return true;\n};\n/**\nCommand to close the lint panel, when open.\n*/\nconst closeLintPanel = (view) => {\n let field = view.state.field(lintState, false);\n if (!field || !field.panel)\n return false;\n view.dispatch({ effects: togglePanel.of(false) });\n return true;\n};\n/**\nMove the selection to the next diagnostic.\n*/\nconst nextDiagnostic = (view) => {\n let field = view.state.field(lintState, false);\n if (!field)\n return false;\n let sel = view.state.selection.main, next = field.diagnostics.iter(sel.to + 1);\n if (!next.value) {\n next = field.diagnostics.iter(0);\n if (!next.value || next.from == sel.from && next.to == sel.to)\n return false;\n }\n view.dispatch({ selection: { anchor: next.from, head: next.to }, scrollIntoView: true });\n return true;\n};\n/**\nMove the selection to the previous diagnostic.\n*/\nconst previousDiagnostic = (view) => {\n let { state } = view, field = state.field(lintState, false);\n if (!field)\n return false;\n let sel = state.selection.main;\n let prevFrom, prevTo, lastFrom, lastTo;\n field.diagnostics.between(0, state.doc.length, (from, to) => {\n if (to < sel.to && (prevFrom == null || prevFrom < from)) {\n prevFrom = from;\n prevTo = to;\n }\n if (lastFrom == null || from > lastFrom) {\n lastFrom = from;\n lastTo = to;\n }\n });\n if (lastFrom == null || prevFrom == null && lastFrom == sel.from)\n return false;\n view.dispatch({ selection: { anchor: prevFrom !== null && prevFrom !== void 0 ? prevFrom : lastFrom, head: prevTo !== null && prevTo !== void 0 ? prevTo : lastTo }, scrollIntoView: true });\n return true;\n};\n/**\nA set of default key bindings for the lint functionality.\n\n- Ctrl-Shift-m (Cmd-Shift-m on macOS): [`openLintPanel`](https://codemirror.net/6/docs/ref/#lint.openLintPanel)\n- F8: [`nextDiagnostic`](https://codemirror.net/6/docs/ref/#lint.nextDiagnostic)\n*/\nconst lintKeymap = [\n { key: \"Mod-Shift-m\", run: openLintPanel, preventDefault: true },\n { key: \"F8\", run: nextDiagnostic }\n];\nconst lintPlugin = /*@__PURE__*/ViewPlugin.fromClass(class {\n constructor(view) {\n this.view = view;\n this.timeout = -1;\n this.set = true;\n let { delay } = view.state.facet(lintConfig);\n this.lintTime = Date.now() + delay;\n this.run = this.run.bind(this);\n this.timeout = setTimeout(this.run, delay);\n }\n run() {\n clearTimeout(this.timeout);\n let now = Date.now();\n if (now < this.lintTime - 10) {\n this.timeout = setTimeout(this.run, this.lintTime - now);\n }\n else {\n this.set = false;\n let { state } = this.view, { sources } = state.facet(lintConfig);\n if (sources.length)\n Promise.all(sources.map(source => Promise.resolve(source(this.view)))).then(annotations => {\n let all = annotations.reduce((a, b) => a.concat(b));\n if (this.view.state.doc == state.doc)\n this.view.dispatch(setDiagnostics(this.view.state, all));\n }, error => { logException(this.view.state, error); });\n }\n }\n update(update) {\n let config = update.state.facet(lintConfig);\n if (update.docChanged || config != update.startState.facet(lintConfig) ||\n config.needsRefresh && config.needsRefresh(update)) {\n this.lintTime = Date.now() + config.delay;\n if (!this.set) {\n this.set = true;\n this.timeout = setTimeout(this.run, config.delay);\n }\n }\n }\n force() {\n if (this.set) {\n this.lintTime = Date.now();\n this.run();\n }\n }\n destroy() {\n clearTimeout(this.timeout);\n }\n});\nconst lintConfig = /*@__PURE__*/Facet.define({\n combine(input) {\n return Object.assign({ sources: input.map(i => i.source).filter(x => x != null) }, combineConfig(input.map(i => i.config), {\n delay: 750,\n markerFilter: null,\n tooltipFilter: null,\n needsRefresh: null,\n hideOn: () => null,\n }, {\n needsRefresh: (a, b) => !a ? b : !b ? a : u => a(u) || b(u)\n }));\n }\n});\n/**\nGiven a diagnostic source, this function returns an extension that\nenables linting with that source. It will be called whenever the\neditor is idle (after its content changed). If `null` is given as\nsource, this only configures the lint extension.\n*/\nfunction linter(source, config = {}) {\n return [\n lintConfig.of({ source, config }),\n lintPlugin,\n lintExtensions\n ];\n}\n/**\nForces any linters [configured](https://codemirror.net/6/docs/ref/#lint.linter) to run when the\neditor is idle to run right away.\n*/\nfunction forceLinting(view) {\n let plugin = view.plugin(lintPlugin);\n if (plugin)\n plugin.force();\n}\nfunction assignKeys(actions) {\n let assigned = [];\n if (actions)\n actions: for (let { name } of actions) {\n for (let i = 0; i < name.length; i++) {\n let ch = name[i];\n if (/[a-zA-Z]/.test(ch) && !assigned.some(c => c.toLowerCase() == ch.toLowerCase())) {\n assigned.push(ch);\n continue actions;\n }\n }\n assigned.push(\"\");\n }\n return assigned;\n}\nfunction renderDiagnostic(view, diagnostic, inPanel) {\n var _a;\n let keys = inPanel ? assignKeys(diagnostic.actions) : [];\n return elt(\"li\", { class: \"cm-diagnostic cm-diagnostic-\" + diagnostic.severity }, elt(\"span\", { class: \"cm-diagnosticText\" }, diagnostic.renderMessage ? diagnostic.renderMessage(view) : diagnostic.message), (_a = diagnostic.actions) === null || _a === void 0 ? void 0 : _a.map((action, i) => {\n let fired = false, click = (e) => {\n e.preventDefault();\n if (fired)\n return;\n fired = true;\n let found = findDiagnostic(view.state.field(lintState).diagnostics, diagnostic);\n if (found)\n action.apply(view, found.from, found.to);\n };\n let { name } = action, keyIndex = keys[i] ? name.indexOf(keys[i]) : -1;\n let nameElt = keyIndex < 0 ? name : [name.slice(0, keyIndex),\n elt(\"u\", name.slice(keyIndex, keyIndex + 1)),\n name.slice(keyIndex + 1)];\n return elt(\"button\", {\n type: \"button\",\n class: \"cm-diagnosticAction\",\n onclick: click,\n onmousedown: click,\n \"aria-label\": ` Action: ${name}${keyIndex < 0 ? \"\" : ` (access key \"${keys[i]})\"`}.`\n }, nameElt);\n }), diagnostic.source && elt(\"div\", { class: \"cm-diagnosticSource\" }, diagnostic.source));\n}\nclass DiagnosticWidget extends WidgetType {\n constructor(diagnostic) {\n super();\n this.diagnostic = diagnostic;\n }\n eq(other) { return other.diagnostic == this.diagnostic; }\n toDOM() {\n return elt(\"span\", { class: \"cm-lintPoint cm-lintPoint-\" + this.diagnostic.severity });\n }\n}\nclass PanelItem {\n constructor(view, diagnostic) {\n this.diagnostic = diagnostic;\n this.id = \"item_\" + Math.floor(Math.random() * 0xffffffff).toString(16);\n this.dom = renderDiagnostic(view, diagnostic, true);\n this.dom.id = this.id;\n this.dom.setAttribute(\"role\", \"option\");\n }\n}\nclass LintPanel {\n constructor(view) {\n this.view = view;\n this.items = [];\n let onkeydown = (event) => {\n if (event.keyCode == 27) { // Escape\n closeLintPanel(this.view);\n this.view.focus();\n }\n else if (event.keyCode == 38 || event.keyCode == 33) { // ArrowUp, PageUp\n this.moveSelection((this.selectedIndex - 1 + this.items.length) % this.items.length);\n }\n else if (event.keyCode == 40 || event.keyCode == 34) { // ArrowDown, PageDown\n this.moveSelection((this.selectedIndex + 1) % this.items.length);\n }\n else if (event.keyCode == 36) { // Home\n this.moveSelection(0);\n }\n else if (event.keyCode == 35) { // End\n this.moveSelection(this.items.length - 1);\n }\n else if (event.keyCode == 13) { // Enter\n this.view.focus();\n }\n else if (event.keyCode >= 65 && event.keyCode <= 90 && this.selectedIndex >= 0) { // A-Z\n let { diagnostic } = this.items[this.selectedIndex], keys = assignKeys(diagnostic.actions);\n for (let i = 0; i < keys.length; i++)\n if (keys[i].toUpperCase().charCodeAt(0) == event.keyCode) {\n let found = findDiagnostic(this.view.state.field(lintState).diagnostics, diagnostic);\n if (found)\n diagnostic.actions[i].apply(view, found.from, found.to);\n }\n }\n else {\n return;\n }\n event.preventDefault();\n };\n let onclick = (event) => {\n for (let i = 0; i < this.items.length; i++) {\n if (this.items[i].dom.contains(event.target))\n this.moveSelection(i);\n }\n };\n this.list = elt(\"ul\", {\n tabIndex: 0,\n role: \"listbox\",\n \"aria-label\": this.view.state.phrase(\"Diagnostics\"),\n onkeydown,\n onclick\n });\n this.dom = elt(\"div\", { class: \"cm-panel-lint\" }, this.list, elt(\"button\", {\n type: \"button\",\n name: \"close\",\n \"aria-label\": this.view.state.phrase(\"close\"),\n onclick: () => closeLintPanel(this.view)\n }, \"×\"));\n this.update();\n }\n get selectedIndex() {\n let selected = this.view.state.field(lintState).selected;\n if (!selected)\n return -1;\n for (let i = 0; i < this.items.length; i++)\n if (this.items[i].diagnostic == selected.diagnostic)\n return i;\n return -1;\n }\n update() {\n let { diagnostics, selected } = this.view.state.field(lintState);\n let i = 0, needsSync = false, newSelectedItem = null;\n diagnostics.between(0, this.view.state.doc.length, (_start, _end, { spec }) => {\n let found = -1, item;\n for (let j = i; j < this.items.length; j++)\n if (this.items[j].diagnostic == spec.diagnostic) {\n found = j;\n break;\n }\n if (found < 0) {\n item = new PanelItem(this.view, spec.diagnostic);\n this.items.splice(i, 0, item);\n needsSync = true;\n }\n else {\n item = this.items[found];\n if (found > i) {\n this.items.splice(i, found - i);\n needsSync = true;\n }\n }\n if (selected && item.diagnostic == selected.diagnostic) {\n if (!item.dom.hasAttribute(\"aria-selected\")) {\n item.dom.setAttribute(\"aria-selected\", \"true\");\n newSelectedItem = item;\n }\n }\n else if (item.dom.hasAttribute(\"aria-selected\")) {\n item.dom.removeAttribute(\"aria-selected\");\n }\n i++;\n });\n while (i < this.items.length && !(this.items.length == 1 && this.items[0].diagnostic.from < 0)) {\n needsSync = true;\n this.items.pop();\n }\n if (this.items.length == 0) {\n this.items.push(new PanelItem(this.view, {\n from: -1, to: -1,\n severity: \"info\",\n message: this.view.state.phrase(\"No diagnostics\")\n }));\n needsSync = true;\n }\n if (newSelectedItem) {\n this.list.setAttribute(\"aria-activedescendant\", newSelectedItem.id);\n this.view.requestMeasure({\n key: this,\n read: () => ({ sel: newSelectedItem.dom.getBoundingClientRect(), panel: this.list.getBoundingClientRect() }),\n write: ({ sel, panel }) => {\n let scaleY = panel.height / this.list.offsetHeight;\n if (sel.top < panel.top)\n this.list.scrollTop -= (panel.top - sel.top) / scaleY;\n else if (sel.bottom > panel.bottom)\n this.list.scrollTop += (sel.bottom - panel.bottom) / scaleY;\n }\n });\n }\n else if (this.selectedIndex < 0) {\n this.list.removeAttribute(\"aria-activedescendant\");\n }\n if (needsSync)\n this.sync();\n }\n sync() {\n let domPos = this.list.firstChild;\n function rm() {\n let prev = domPos;\n domPos = prev.nextSibling;\n prev.remove();\n }\n for (let item of this.items) {\n if (item.dom.parentNode == this.list) {\n while (domPos != item.dom)\n rm();\n domPos = item.dom.nextSibling;\n }\n else {\n this.list.insertBefore(item.dom, domPos);\n }\n }\n while (domPos)\n rm();\n }\n moveSelection(selectedIndex) {\n if (this.selectedIndex < 0)\n return;\n let field = this.view.state.field(lintState);\n let selection = findDiagnostic(field.diagnostics, this.items[selectedIndex].diagnostic);\n if (!selection)\n return;\n this.view.dispatch({\n selection: { anchor: selection.from, head: selection.to },\n scrollIntoView: true,\n effects: movePanelSelection.of(selection)\n });\n }\n static open(view) { return new LintPanel(view); }\n}\nfunction svg(content, attrs = `viewBox=\"0 0 40 40\"`) {\n return `url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" ${attrs}>${encodeURIComponent(content)}</svg>')`;\n}\nfunction underline(color) {\n return svg(`<path d=\"m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0\" stroke=\"${color}\" fill=\"none\" stroke-width=\".7\"/>`, `width=\"6\" height=\"3\"`);\n}\nconst baseTheme = /*@__PURE__*/EditorView.baseTheme({\n \".cm-diagnostic\": {\n padding: \"3px 6px 3px 8px\",\n marginLeft: \"-1px\",\n display: \"block\",\n whiteSpace: \"pre-wrap\"\n },\n \".cm-diagnostic-error\": { borderLeft: \"5px solid #d11\" },\n \".cm-diagnostic-warning\": { borderLeft: \"5px solid orange\" },\n \".cm-diagnostic-info\": { borderLeft: \"5px solid #999\" },\n \".cm-diagnostic-hint\": { borderLeft: \"5px solid #66d\" },\n \".cm-diagnosticAction\": {\n font: \"inherit\",\n border: \"none\",\n padding: \"2px 4px\",\n backgroundColor: \"#444\",\n color: \"white\",\n borderRadius: \"3px\",\n marginLeft: \"8px\",\n cursor: \"pointer\"\n },\n \".cm-diagnosticSource\": {\n fontSize: \"70%\",\n opacity: .7\n },\n \".cm-lintRange\": {\n backgroundPosition: \"left bottom\",\n backgroundRepeat: \"repeat-x\",\n paddingBottom: \"0.7px\",\n },\n \".cm-lintRange-error\": { backgroundImage: /*@__PURE__*/underline(\"#d11\") },\n \".cm-lintRange-warning\": { backgroundImage: /*@__PURE__*/underline(\"orange\") },\n \".cm-lintRange-info\": { backgroundImage: /*@__PURE__*/underline(\"#999\") },\n \".cm-lintRange-hint\": { backgroundImage: /*@__PURE__*/underline(\"#66d\") },\n \".cm-lintRange-active\": { backgroundColor: \"#ffdd9980\" },\n \".cm-tooltip-lint\": {\n padding: 0,\n margin: 0\n },\n \".cm-lintPoint\": {\n position: \"relative\",\n \"&:after\": {\n content: '\"\"',\n position: \"absolute\",\n bottom: 0,\n left: \"-2px\",\n borderLeft: \"3px solid transparent\",\n borderRight: \"3px solid transparent\",\n borderBottom: \"4px solid #d11\"\n }\n },\n \".cm-lintPoint-warning\": {\n \"&:after\": { borderBottomColor: \"orange\" }\n },\n \".cm-lintPoint-info\": {\n \"&:after\": { borderBottomColor: \"#999\" }\n },\n \".cm-lintPoint-hint\": {\n \"&:after\": { borderBottomColor: \"#66d\" }\n },\n \".cm-panel.cm-panel-lint\": {\n position: \"relative\",\n \"& ul\": {\n maxHeight: \"100px\",\n overflowY: \"auto\",\n \"& [aria-selected]\": {\n backgroundColor: \"#ddd\",\n \"& u\": { textDecoration: \"underline\" }\n },\n \"&:focus [aria-selected]\": {\n background_fallback: \"#bdf\",\n backgroundColor: \"Highlight\",\n color_fallback: \"white\",\n color: \"HighlightText\"\n },\n \"& u\": { textDecoration: \"none\" },\n padding: 0,\n margin: 0\n },\n \"& [name=close]\": {\n position: \"absolute\",\n top: \"0\",\n right: \"2px\",\n background: \"inherit\",\n border: \"none\",\n font: \"inherit\",\n padding: 0,\n margin: 0\n }\n }\n});\nfunction severityWeight(sev) {\n return sev == \"error\" ? 4 : sev == \"warning\" ? 3 : sev == \"info\" ? 2 : 1;\n}\nclass LintGutterMarker extends GutterMarker {\n constructor(diagnostics) {\n super();\n this.diagnostics = diagnostics;\n this.severity = diagnostics.reduce((max, d) => severityWeight(max) < severityWeight(d.severity) ? d.severity : max, \"hint\");\n }\n toDOM(view) {\n let elt = document.createElement(\"div\");\n elt.className = \"cm-lint-marker cm-lint-marker-\" + this.severity;\n let diagnostics = this.diagnostics;\n let diagnosticsFilter = view.state.facet(lintGutterConfig).tooltipFilter;\n if (diagnosticsFilter)\n diagnostics = diagnosticsFilter(diagnostics, view.state);\n if (diagnostics.length)\n elt.onmouseover = () => gutterMarkerMouseOver(view, elt, diagnostics);\n return elt;\n }\n}\nfunction trackHoverOn(view, marker) {\n let mousemove = (event) => {\n let rect = marker.getBoundingClientRect();\n if (event.clientX > rect.left - 10 /* Hover.Margin */ && event.clientX < rect.right + 10 /* Hover.Margin */ &&\n event.clientY > rect.top - 10 /* Hover.Margin */ && event.clientY < rect.bottom + 10 /* Hover.Margin */)\n return;\n for (let target = event.target; target; target = target.parentNode) {\n if (target.nodeType == 1 && target.classList.contains(\"cm-tooltip-lint\"))\n return;\n }\n window.removeEventListener(\"mousemove\", mousemove);\n if (view.state.field(lintGutterTooltip))\n view.dispatch({ effects: setLintGutterTooltip.of(null) });\n };\n window.addEventListener(\"mousemove\", mousemove);\n}\nfunction gutterMarkerMouseOver(view, marker, diagnostics) {\n function hovered() {\n let line = view.elementAtHeight(marker.getBoundingClientRect().top + 5 - view.documentTop);\n const linePos = view.coordsAtPos(line.from);\n if (linePos) {\n view.dispatch({ effects: setLintGutterTooltip.of({\n pos: line.from,\n above: false,\n create() {\n return {\n dom: diagnosticsTooltip(view, diagnostics),\n getCoords: () => marker.getBoundingClientRect()\n };\n }\n }) });\n }\n marker.onmouseout = marker.onmousemove = null;\n trackHoverOn(view, marker);\n }\n let { hoverTime } = view.state.facet(lintGutterConfig);\n let hoverTimeout = setTimeout(hovered, hoverTime);\n marker.onmouseout = () => {\n clearTimeout(hoverTimeout);\n marker.onmouseout = marker.onmousemove = null;\n };\n marker.onmousemove = () => {\n clearTimeout(hoverTimeout);\n hoverTimeout = setTimeout(hovered, hoverTime);\n };\n}\nfunction markersForDiagnostics(doc, diagnostics) {\n let byLine = Object.create(null);\n for (let diagnostic of diagnostics) {\n let line = doc.lineAt(diagnostic.from);\n (byLine[line.from] || (byLine[line.from] = [])).push(diagnostic);\n }\n let markers = [];\n for (let line in byLine) {\n markers.push(new LintGutterMarker(byLine[line]).range(+line));\n }\n return RangeSet.of(markers, true);\n}\nconst lintGutterExtension = /*@__PURE__*/gutter({\n class: \"cm-gutter-lint\",\n markers: view => view.state.field(lintGutterMarkers),\n});\nconst lintGutterMarkers = /*@__PURE__*/StateField.define({\n create() {\n return RangeSet.empty;\n },\n update(markers, tr) {\n markers = markers.map(tr.changes);\n let diagnosticFilter = tr.state.facet(lintGutterConfig).markerFilter;\n for (let effect of tr.effects) {\n if (effect.is(setDiagnosticsEffect)) {\n let diagnostics = effect.value;\n if (diagnosticFilter)\n diagnostics = diagnosticFilter(diagnostics || [], tr.state);\n markers = markersForDiagnostics(tr.state.doc, diagnostics.slice(0));\n }\n }\n return markers;\n }\n});\nconst setLintGutterTooltip = /*@__PURE__*/StateEffect.define();\nconst lintGutterTooltip = /*@__PURE__*/StateField.define({\n create() { return null; },\n update(tooltip, tr) {\n if (tooltip && tr.docChanged)\n tooltip = hideTooltip(tr, tooltip) ? null : Object.assign(Object.assign({}, tooltip), { pos: tr.changes.mapPos(tooltip.pos) });\n return tr.effects.reduce((t, e) => e.is(setLintGutterTooltip) ? e.value : t, tooltip);\n },\n provide: field => showTooltip.from(field)\n});\nconst lintGutterTheme = /*@__PURE__*/EditorView.baseTheme({\n \".cm-gutter-lint\": {\n width: \"1.4em\",\n \"& .cm-gutterElement\": {\n padding: \".2em\"\n }\n },\n \".cm-lint-marker\": {\n width: \"1em\",\n height: \"1em\"\n },\n \".cm-lint-marker-info\": {\n content: /*@__PURE__*/svg(`<path fill=\"#aaf\" stroke=\"#77e\" stroke-width=\"6\" stroke-linejoin=\"round\" d=\"M5 5L35 5L35 35L5 35Z\"/>`)\n },\n \".cm-lint-marker-warning\": {\n content: /*@__PURE__*/svg(`<path fill=\"#fe8\" stroke=\"#fd7\" stroke-width=\"6\" stroke-linejoin=\"round\" d=\"M20 6L37 35L3 35Z\"/>`),\n },\n \".cm-lint-marker-error\": {\n content: /*@__PURE__*/svg(`<circle cx=\"20\" cy=\"20\" r=\"15\" fill=\"#f87\" stroke=\"#f43\" stroke-width=\"6\"/>`)\n },\n});\nconst lintExtensions = [\n lintState,\n /*@__PURE__*/EditorView.decorations.compute([lintState], state => {\n let { selected, panel } = state.field(lintState);\n return !selected || !panel || selected.from == selected.to ? Decoration.none : Decoration.set([\n activeMark.range(selected.from, selected.to)\n ]);\n }),\n /*@__PURE__*/hoverTooltip(lintTooltip, { hideOn: hideTooltip }),\n baseTheme\n];\nconst lintGutterConfig = /*@__PURE__*/Facet.define({\n combine(configs) {\n return combineConfig(configs, {\n hoverTime: 300 /* Hover.Time */,\n markerFilter: null,\n tooltipFilter: null\n });\n }\n});\n/**\nReturns an extension that installs a gutter showing markers for\neach line that has diagnostics, which can be hovered over to see\nthe diagnostics.\n*/\nfunction lintGutter(config = {}) {\n return [lintGutterConfig.of(config), lintGutterMarkers, lintGutterExtension, lintGutterTheme, lintGutterTooltip];\n}\n/**\nIterate over the marked diagnostics for the given editor state,\ncalling `f` for each of them. Note that, if the document changed\nsince the diagnostics were created, the `Diagnostic` object will\nhold the original outdated position, whereas the `to` and `from`\narguments hold the diagnostic's current position.\n*/\nfunction forEachDiagnostic(state, f) {\n let lState = state.field(lintState, false);\n if (lState && lState.diagnostics.size)\n for (let iter = RangeSet.iter([lState.diagnostics]); iter.value; iter.next())\n f(iter.value.spec.diagnostic, iter.from, iter.to);\n}\n\nexport { closeLintPanel, diagnosticCount, forEachDiagnostic, forceLinting, lintGutter, lintKeymap, linter, nextDiagnostic, openLintPanel, previousDiagnostic, setDiagnostics, setDiagnosticsEffect };\n","import { lineNumbers, highlightActiveLineGutter, highlightSpecialChars, drawSelection, dropCursor, rectangularSelection, crosshairCursor, highlightActiveLine, keymap } from '@codemirror/view';\nexport { EditorView } from '@codemirror/view';\nimport { EditorState } from '@codemirror/state';\nimport { foldGutter, indentOnInput, syntaxHighlighting, defaultHighlightStyle, bracketMatching, foldKeymap } from '@codemirror/language';\nimport { history, defaultKeymap, historyKeymap } from '@codemirror/commands';\nimport { highlightSelectionMatches, searchKeymap } from '@codemirror/search';\nimport { closeBrackets, autocompletion, closeBracketsKeymap, completionKeymap } from '@codemirror/autocomplete';\nimport { lintKeymap } from '@codemirror/lint';\n\n// (The superfluous function calls around the list of extensions work\n// around current limitations in tree-shaking software.)\n/**\nThis is an extension value that just pulls together a number of\nextensions that you might want in a basic editor. It is meant as a\nconvenient helper to quickly set up CodeMirror without installing\nand importing a lot of separate packages.\n\nSpecifically, it includes...\n\n - [the default command bindings](https://codemirror.net/6/docs/ref/#commands.defaultKeymap)\n - [line numbers](https://codemirror.net/6/docs/ref/#view.lineNumbers)\n - [special character highlighting](https://codemirror.net/6/docs/ref/#view.highlightSpecialChars)\n - [the undo history](https://codemirror.net/6/docs/ref/#commands.history)\n - [a fold gutter](https://codemirror.net/6/docs/ref/#language.foldGutter)\n - [custom selection drawing](https://codemirror.net/6/docs/ref/#view.drawSelection)\n - [drop cursor](https://codemirror.net/6/docs/ref/#view.dropCursor)\n - [multiple selections](https://codemirror.net/6/docs/ref/#state.EditorState^allowMultipleSelections)\n - [reindentation on input](https://codemirror.net/6/docs/ref/#language.indentOnInput)\n - [the default highlight style](https://codemirror.net/6/docs/ref/#language.defaultHighlightStyle) (as fallback)\n - [bracket matching](https://codemirror.net/6/docs/ref/#language.bracketMatching)\n - [bracket closing](https://codemirror.net/6/docs/ref/#autocomplete.closeBrackets)\n - [autocompletion](https://codemirror.net/6/docs/ref/#autocomplete.autocompletion)\n - [rectangular selection](https://codemirror.net/6/docs/ref/#view.rectangularSelection) and [crosshair cursor](https://codemirror.net/6/docs/ref/#view.crosshairCursor)\n - [active line highlighting](https://codemirror.net/6/docs/ref/#view.highlightActiveLine)\n - [active line gutter highlighting](https://codemirror.net/6/docs/ref/#view.highlightActiveLineGutter)\n - [selection match highlighting](https://codemirror.net/6/docs/ref/#search.highlightSelectionMatches)\n - [search](https://codemirror.net/6/docs/ref/#search.searchKeymap)\n - [linting](https://codemirror.net/6/docs/ref/#lint.lintKeymap)\n\n(You'll probably want to add some language package to your setup\ntoo.)\n\nThis extension does not allow customization. The idea is that,\nonce you decide you want to configure your editor more precisely,\nyou take this package's source (which is just a bunch of imports\nand an array literal), copy it into your own code, and adjust it\nas desired.\n*/\nconst basicSetup = /*@__PURE__*/(() => [\n lineNumbers(),\n highlightActiveLineGutter(),\n highlightSpecialChars(),\n history(),\n foldGutter(),\n drawSelection(),\n dropCursor(),\n EditorState.allowMultipleSelections.of(true),\n indentOnInput(),\n syntaxHighlighting(defaultHighlightStyle, { fallback: true }),\n bracketMatching(),\n closeBrackets(),\n autocompletion(),\n rectangularSelection(),\n crosshairCursor(),\n highlightActiveLine(),\n highlightSelectionMatches(),\n keymap.of([\n ...closeBracketsKeymap,\n ...defaultKeymap,\n ...searchKeymap,\n ...historyKeymap,\n ...foldKeymap,\n ...completionKeymap,\n ...lintKeymap\n ])\n])();\n/**\nA minimal set of extensions to create a functional editor. Only\nincludes [the default keymap](https://codemirror.net/6/docs/ref/#commands.defaultKeymap), [undo\nhistory](https://codemirror.net/6/docs/ref/#commands.history), [special character\nhighlighting](https://codemirror.net/6/docs/ref/#view.highlightSpecialChars), [custom selection\ndrawing](https://codemirror.net/6/docs/ref/#view.drawSelection), and [default highlight\nstyle](https://codemirror.net/6/docs/ref/#language.defaultHighlightStyle).\n*/\nconst minimalSetup = /*@__PURE__*/(() => [\n highlightSpecialChars(),\n history(),\n drawSelection(),\n syntaxHighlighting(defaultHighlightStyle, { fallback: true }),\n keymap.of([\n ...defaultKeymap,\n ...historyKeymap,\n ])\n])();\n\nexport { basicSetup, minimalSetup };\n"],"names":["crelt","elt","arguments","document","createElement","i","next","nodeType","Array","isArray","name","Object","prototype","hasOwnProperty","call","value","setAttribute","length","add","child","appendChild","createTextNode","RangeError","basicNormalize","String","normalize","x","SearchCursor","constructor","text","query","from","to","test","this","done","matches","buffer","bufferPos","iter","iterRange","bufferStart","peek","codePointAt","pop","nextOverlapping","str","fromCodePoint","start","codePointSize","norm","pos","code","charCodeAt","match","end","index","keep","splice","push","Symbol","iterator","empty","exec","baseFlags","unicode","RegExpCursor","options","curLine","MultilineRegExpCursor","re","RegExp","ignoreCase","startLine","lineAt","curLineStart","matchPos","toCharEnd","getLine","skip","lineBreak","slice","nextLine","off","lastIndex","flattened","WeakMap","FlattenedDoc","get","doc","cached","flat","sliceString","set","cachedFrom","chunkEnd","line","createLineDialog","view","input","class","state","selection","main","head","number","go","sign","ln","cl","percent","col","pc","lines","Math","round","docLine","max","min","EditorSelection","cursor","dispatch","effects","dialogEffect","of","EditorView","scrollIntoView","y","focus","dom","onkeydown","event","keyCode","preventDefault","onsubmit","phrase","type","StateEffect","define","dialogField","StateField","create","update","tr","e","is","provide","f","showPanel","val","baseTheme$1","baseTheme","padding","fontSize","defaultHighlightOptions","highlightWordAroundCursor","minSelectionLength","maxMatches","wholeWords","highlightConfig","Facet","combine","combineConfig","a","b","matchDeco","Decoration","mark","mainMatchDeco","insideWordBoundaries","check","sliceDoc","CharCategory","Word","matchHighlighter","ViewPlugin","fromClass","decorations","getDeco","selectionSet","docChanged","viewportChanged","conf","facet","sel","ranges","none","range","word","wordAt","charCategorizer","len","insideWord","deco","part","visibleRanges","v","defaultTheme","backgroundColor","searchConfigFacet","configs","top","caseSensitive","literal","regexp","wholeWord","createPanel","SearchPanel","scrollToMatch","SearchQuery","config","search","replace","valid","source","_a","validRegExp","unquoted","unquote","_","ch","eq","other","RegExpQuery","StringQuery","getCursor","st","EditorState","regexpCursor","stringCursor","QueryType","spec","undefined","toLowerCase","categorizer","buf","bufPos","charBefore","charAfter","super","nextMatch","curFrom","curTo","prevMatchInRange","prevMatch","getReplacement","_result","matchAll","limit","highlight","_from","_to","findClusterBreak","size","result","m","setSearchQuery","togglePanel","searchState","SearchState","defaultQuery","effect","panel","createSearchPanel","matchMark","selectedMatchMark","searchHighlighter","field","startState","builder","RangeSetBuilder","l","selected","some","r","finish","searchCommand","openSearchPanel","findNext","single","announceMatch","userEvent","selectSearchInput","findPrevious","prev","selectMatches","map","replaceNext","readOnly","replacement","changes","toText","insert","announce","replaceAll","announceText","fallback","_b","_c","_d","_e","selText","getSearchInput","getPanel","querySelector","root","activeElement","select","searchInput","appendConfig","searchExtensions","closeSearchPanel","contains","searchKeymap","key","run","scope","shift","cur","newSel","mainIndex","selectWord","searchedText","fullWord","cycled","findNextOccurrence","addRange","button","onclick","content","commit","bind","searchField","placeholder","form","onchange","onkeyup","replaceField","caseField","checked","reField","wordField","keydown","runScopeHandlers","target","shiftKey","transactions","setQuery","mount","AnnounceMargin","Break","lineEnd","position","right","border","font","margin","marginRight","whiteSpace","Prec","low","SelectedDiagnostic","diagnostic","LintState","diagnostics","init","markedDiagnostics","diagnosticFilter","lintConfig","markerFilter","d","widget","DiagnosticWidget","attributes","severity","markClass","findDiagnostic","after","found","between","setDiagnosticsEffect","movePanelSelection","lintState","mapped","selPos","mapPos","autoPanel","LintPanel","open","s","activeMark","lintTooltip","side","stackStart","stackEnd","tooltipFilter","above","diagnosticsTooltip","renderDiagnostic","closeLintPanel","lintKeymap","concat","lintExtensions","anchor","assign","sources","filter","delay","needsRefresh","hideOn","u","assignKeys","actions","assigned","c","inPanel","keys","renderMessage","message","action","fired","click","apply","keyIndex","indexOf","nameElt","onmousedown","WidgetType","toDOM","PanelItem","id","floor","random","toString","items","list","tabIndex","role","moveSelection","selectedIndex","toUpperCase","needsSync","newSelectedItem","_start","_end","item","j","hasAttribute","removeAttribute","requestMeasure","read","getBoundingClientRect","write","scaleY","height","offsetHeight","scrollTop","bottom","sync","domPos","firstChild","rm","nextSibling","remove","parentNode","insertBefore","underline","color","attrs","encodeURIComponent","svg","marginLeft","display","borderLeft","borderRadius","opacity","backgroundPosition","backgroundRepeat","paddingBottom","backgroundImage","left","borderRight","borderBottom","borderBottomColor","maxHeight","overflowY","textDecoration","background_fallback","color_fallback","background","compute","hoverTooltip","tooltip","touchesRange","basicSetup","lineNumbers","highlightActiveLineGutter","highlightSpecialChars","history","foldGutter","drawSelection","dropCursor","allowMultipleSelections","indentOnInput","syntaxHighlighting","defaultHighlightStyle","bracketMatching","closeBrackets","autocompletion","rectangularSelection","crosshairCursor","highlightActiveLine","keymap","closeBracketsKeymap","defaultKeymap","historyKeymap","foldKeymap","completionKeymap","minimalSetup"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
|