From d67a531cab0d60d6fc50dad38f8215c054916dc4 Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Wed, 4 Sep 2024 17:21:51 +0200 Subject: [PATCH 01/97] bump: `v0.7.4` --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index a0d76a8..f4dd4f4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "FindMy" -version = "v0.7.3" +version = "0.7.4" description = "Everything you need to work with Apple's Find My network!" authors = ["Mike Almeloo "] readme = "README.md" From 5b9c9ad3eb5c736c21100005bb1c671dab8a20a6 Mon Sep 17 00:00:00 2001 From: Mike Almeloo Date: Wed, 4 Sep 2024 17:41:57 +0200 Subject: [PATCH 02/97] chore: Update developer instructions --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1cde203..8a95de5 100644 --- a/README.md +++ b/README.md @@ -61,8 +61,8 @@ Before opening a pull request, please ensure that your code adheres to these rul There are pre-commit hooks included to help you with this, which you can set up as follows: ```shell -pip install poetry ruff -poetry install # this installs pre-commit into your environment +pip install poetry +poetry install --with dev # this installs pre-commit into your environment pre-commit install ``` From 7fcdd834a3607c841a985d767cfe788fa5665f7c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 5 Sep 2024 19:45:35 +0000 Subject: [PATCH 03/97] chore(deps): update dependency ruff to v0.6.4 --- poetry.lock | 40 ++++++++++++++++++++-------------------- pyproject.toml | 2 +- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/poetry.lock b/poetry.lock index 6286f41..5943f27 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1262,29 +1262,29 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "ruff" -version = "0.6.3" +version = "0.6.4" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.6.3-py3-none-linux_armv6l.whl", hash = "sha256:97f58fda4e309382ad30ede7f30e2791d70dd29ea17f41970119f55bdb7a45c3"}, - {file = "ruff-0.6.3-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:3b061e49b5cf3a297b4d1c27ac5587954ccb4ff601160d3d6b2f70b1622194dc"}, - {file = "ruff-0.6.3-py3-none-macosx_11_0_arm64.whl", hash = "sha256:34e2824a13bb8c668c71c1760a6ac7d795ccbd8d38ff4a0d8471fdb15de910b1"}, - {file = "ruff-0.6.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bddfbb8d63c460f4b4128b6a506e7052bad4d6f3ff607ebbb41b0aa19c2770d1"}, - {file = "ruff-0.6.3-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ced3eeb44df75353e08ab3b6a9e113b5f3f996bea48d4f7c027bc528ba87b672"}, - {file = "ruff-0.6.3-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:47021dff5445d549be954eb275156dfd7c37222acc1e8014311badcb9b4ec8c1"}, - {file = "ruff-0.6.3-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:7d7bd20dc07cebd68cc8bc7b3f5ada6d637f42d947c85264f94b0d1cd9d87384"}, - {file = "ruff-0.6.3-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:500f166d03fc6d0e61c8e40a3ff853fa8a43d938f5d14c183c612df1b0d6c58a"}, - {file = "ruff-0.6.3-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:42844ff678f9b976366b262fa2d1d1a3fe76f6e145bd92c84e27d172e3c34500"}, - {file = "ruff-0.6.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70452a10eb2d66549de8e75f89ae82462159855e983ddff91bc0bce6511d0470"}, - {file = "ruff-0.6.3-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:65a533235ed55f767d1fc62193a21cbf9e3329cf26d427b800fdeacfb77d296f"}, - {file = "ruff-0.6.3-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:d2e2c23cef30dc3cbe9cc5d04f2899e7f5e478c40d2e0a633513ad081f7361b5"}, - {file = "ruff-0.6.3-py3-none-musllinux_1_2_i686.whl", hash = "sha256:d8a136aa7d228975a6aee3dd8bea9b28e2b43e9444aa678fb62aeb1956ff2351"}, - {file = "ruff-0.6.3-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:f92fe93bc72e262b7b3f2bba9879897e2d58a989b4714ba6a5a7273e842ad2f8"}, - {file = "ruff-0.6.3-py3-none-win32.whl", hash = "sha256:7a62d3b5b0d7f9143d94893f8ba43aa5a5c51a0ffc4a401aa97a81ed76930521"}, - {file = "ruff-0.6.3-py3-none-win_amd64.whl", hash = "sha256:746af39356fee2b89aada06c7376e1aa274a23493d7016059c3a72e3b296befb"}, - {file = "ruff-0.6.3-py3-none-win_arm64.whl", hash = "sha256:14a9528a8b70ccc7a847637c29e56fd1f9183a9db743bbc5b8e0c4ad60592a82"}, - {file = "ruff-0.6.3.tar.gz", hash = "sha256:183b99e9edd1ef63be34a3b51fee0a9f4ab95add123dbf89a71f7b1f0c991983"}, + {file = "ruff-0.6.4-py3-none-linux_armv6l.whl", hash = "sha256:c4b153fc152af51855458e79e835fb6b933032921756cec9af7d0ba2aa01a258"}, + {file = "ruff-0.6.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:bedff9e4f004dad5f7f76a9d39c4ca98af526c9b1695068198b3bda8c085ef60"}, + {file = "ruff-0.6.4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d02a4127a86de23002e694d7ff19f905c51e338c72d8e09b56bfb60e1681724f"}, + {file = "ruff-0.6.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7862f42fc1a4aca1ea3ffe8a11f67819d183a5693b228f0bb3a531f5e40336fc"}, + {file = "ruff-0.6.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eebe4ff1967c838a1a9618a5a59a3b0a00406f8d7eefee97c70411fefc353617"}, + {file = "ruff-0.6.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:932063a03bac394866683e15710c25b8690ccdca1cf192b9a98260332ca93408"}, + {file = "ruff-0.6.4-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:50e30b437cebef547bd5c3edf9ce81343e5dd7c737cb36ccb4fe83573f3d392e"}, + {file = "ruff-0.6.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c44536df7b93a587de690e124b89bd47306fddd59398a0fb12afd6133c7b3818"}, + {file = "ruff-0.6.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ea086601b22dc5e7693a78f3fcfc460cceabfdf3bdc36dc898792aba48fbad6"}, + {file = "ruff-0.6.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b52387d3289ccd227b62102c24714ed75fbba0b16ecc69a923a37e3b5e0aaaa"}, + {file = "ruff-0.6.4-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:0308610470fcc82969082fc83c76c0d362f562e2f0cdab0586516f03a4e06ec6"}, + {file = "ruff-0.6.4-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:803b96dea21795a6c9d5bfa9e96127cc9c31a1987802ca68f35e5c95aed3fc0d"}, + {file = "ruff-0.6.4-py3-none-musllinux_1_2_i686.whl", hash = "sha256:66dbfea86b663baab8fcae56c59f190caba9398df1488164e2df53e216248baa"}, + {file = "ruff-0.6.4-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:34d5efad480193c046c86608dbba2bccdc1c5fd11950fb271f8086e0c763a5d1"}, + {file = "ruff-0.6.4-py3-none-win32.whl", hash = "sha256:f0f8968feea5ce3777c0d8365653d5e91c40c31a81d95824ba61d871a11b8523"}, + {file = "ruff-0.6.4-py3-none-win_amd64.whl", hash = "sha256:549daccee5227282289390b0222d0fbee0275d1db6d514550d65420053021a58"}, + {file = "ruff-0.6.4-py3-none-win_arm64.whl", hash = "sha256:ac4b75e898ed189b3708c9ab3fc70b79a433219e1e87193b4f2b77251d058d14"}, + {file = "ruff-0.6.4.tar.gz", hash = "sha256:ac3b5bfbee99973f80aa1b7cbd1c9cbce200883bdd067300c22a6cc1c7fba212"}, ] [[package]] @@ -1934,4 +1934,4 @@ type = ["pytest-mypy"] [metadata] lock-version = "2.0" python-versions = ">=3.9,<3.13" -content-hash = "82afdb0285f12c854d3b3cb9166c8f6e80a8700ddcd31838df68596fbd298729" +content-hash = "9d31e27e5dcfdfdf576817300a35493f5bb364bc6f18e2fb98b2135ce3be33a7" diff --git a/pyproject.toml b/pyproject.toml index f4dd4f4..5bab38b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,7 +21,7 @@ optional = true [tool.poetry.group.dev.dependencies] pre-commit = "^3.8.0" pyright = "1.1.378" -ruff = "0.6.3" +ruff = "0.6.4" tomli = "^2.0.1" packaging = "^24.1" From 501f875c63fffd41fee053c2f78a80b842e3990a Mon Sep 17 00:00:00 2001 From: Steffen Siebert Date: Sat, 7 Sep 2024 15:07:29 +0200 Subject: [PATCH 04/97] Fix crash in http.py on Python 3.9 --- findmy/util/http.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/findmy/util/http.py b/findmy/util/http.py index 027694f..93f48fc 100644 --- a/findmy/util/http.py +++ b/findmy/util/http.py @@ -107,7 +107,8 @@ class HttpSession(Closable): if isinstance(auth, tuple): kwargs["auth"] = BasicAuth(auth[0], auth[1]) else: - kwargs.pop("auth") + if auth: + kwargs.pop("auth") options = cast(_AiohttpRequestOptions, kwargs) async with await session.request( From a6ba9ef25a815d6022011a5b7e4c92625b5cbee0 Mon Sep 17 00:00:00 2001 From: Steffen Siebert Date: Sat, 7 Sep 2024 22:09:15 +0200 Subject: [PATCH 05/97] Implement requested change --- findmy/util/http.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/findmy/util/http.py b/findmy/util/http.py index 93f48fc..495994a 100644 --- a/findmy/util/http.py +++ b/findmy/util/http.py @@ -107,8 +107,7 @@ class HttpSession(Closable): if isinstance(auth, tuple): kwargs["auth"] = BasicAuth(auth[0], auth[1]) else: - if auth: - kwargs.pop("auth") + kwargs.pop("auth", None) options = cast(_AiohttpRequestOptions, kwargs) async with await session.request( From 72039669a8f0ace1e6159136de3544cf02512580 Mon Sep 17 00:00:00 2001 From: Steffen Siebert Date: Sat, 7 Sep 2024 22:13:18 +0200 Subject: [PATCH 06/97] Implement the change as actually requested --- findmy/util/http.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/findmy/util/http.py b/findmy/util/http.py index 495994a..a6da8ac 100644 --- a/findmy/util/http.py +++ b/findmy/util/http.py @@ -103,11 +103,9 @@ class HttpSession(Closable): session = await self._get_session() # cast from http options to library supported options - auth = kwargs.get("auth") + auth = kwargs.pop("auth", None) if isinstance(auth, tuple): kwargs["auth"] = BasicAuth(auth[0], auth[1]) - else: - kwargs.pop("auth", None) options = cast(_AiohttpRequestOptions, kwargs) async with await session.request( From 31eb4a166567786b0085b43f4482d0c9a3bad014 Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Sun, 8 Sep 2024 17:13:05 +0200 Subject: [PATCH 07/97] ci: Run pre-commit and unit tests on PRs --- .github/workflows/pre-commit.yml | 1 + .github/workflows/test.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 1498bc6..939faf2 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -3,6 +3,7 @@ name: Pre-commit on: workflow_dispatch: push: + pull_request: jobs: check: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 6869e20..a199491 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -3,6 +3,7 @@ name: Run unit tests on: workflow_dispatch: push: + pull_request: jobs: versions: From 8ef5774cdaf63a00bd1c2c354e725d70931088a4 Mon Sep 17 00:00:00 2001 From: Mimoja Date: Tue, 17 Sep 2024 01:43:21 -0600 Subject: [PATCH 08/97] real_airtag: read identifier and model from plist for later resolving Signed-off-by: Mimoja --- findmy/accessory.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/findmy/accessory.py b/findmy/accessory.py index 230239a..50740f7 100644 --- a/findmy/accessory.py +++ b/findmy/accessory.py @@ -65,6 +65,7 @@ class RollingKeyPairSource(ABC): class FindMyAccessory(RollingKeyPairSource): """A findable Find My-accessory using official key rollover.""" + # pylint: disable=too-many-arguments def __init__( self, master_key: bytes, @@ -72,6 +73,8 @@ class FindMyAccessory(RollingKeyPairSource): sks: bytes, paired_at: datetime, name: str | None = None, + model: str | None = None, + identifier: str | None = None, ) -> None: """ Initialize a FindMyAccessory. These values are usually obtained during pairing. @@ -91,6 +94,8 @@ class FindMyAccessory(RollingKeyPairSource): ) self._name = name + self._model = model + self._identifier = identifier @property @override @@ -167,7 +172,10 @@ class FindMyAccessory(RollingKeyPairSource): # "Paired at" timestamp (UTC) paired_at = device_data["pairingDate"].replace(tzinfo=timezone.utc) - return cls(master_key, skn, sks, paired_at) + model = device_data["model"] + identifier = device_data["identifier"] + + return cls(master_key, skn, sks, paired_at, None, model, identifier) class AccessoryKeyGenerator(KeyGenerator[KeyPair]): From 42aba786094e6c26c1e1fda72d3996e15ab06674 Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Tue, 17 Sep 2024 23:49:18 +0200 Subject: [PATCH 09/97] chore: Fix linter --- findmy/accessory.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/findmy/accessory.py b/findmy/accessory.py index 50740f7..16840ae 100644 --- a/findmy/accessory.py +++ b/findmy/accessory.py @@ -65,8 +65,7 @@ class RollingKeyPairSource(ABC): class FindMyAccessory(RollingKeyPairSource): """A findable Find My-accessory using official key rollover.""" - # pylint: disable=too-many-arguments - def __init__( + def __init__( # noqa: PLR0913 self, master_key: bytes, skn: bytes, From d25a7292a58af552c9fc1d2d639ec38f6e12d4b5 Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Wed, 18 Sep 2024 00:01:06 +0200 Subject: [PATCH 10/97] accessory: Add more properties to retrieve values --- findmy/accessory.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/findmy/accessory.py b/findmy/accessory.py index 16840ae..f704d7e 100644 --- a/findmy/accessory.py +++ b/findmy/accessory.py @@ -96,6 +96,26 @@ class FindMyAccessory(RollingKeyPairSource): self._model = model self._identifier = identifier + @property + def paired_at(self) -> datetime: + """Date and time at which this accessory was paired with an Apple account.""" + return self._paired_at + + @property + def name(self) -> str | None: + """Name of this accessory.""" + return self._name + + @property + def model(self) -> str | None: + """Model string of this accessory, as provided by the manufacturer.""" + return self._model + + @property + def identifier(self) -> str | None: + """Internal identifier of this accessory.""" + return self._identifier + @property @override def interval(self) -> timedelta: From e1787e776a8046eb9ad1dea8b10656962b1da1d0 Mon Sep 17 00:00:00 2001 From: Mike Almeloo Date: Wed, 18 Sep 2024 00:06:04 +0200 Subject: [PATCH 11/97] ci: Use exact Python version for caching --- .github/actions/setup-project/action.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/actions/setup-project/action.yml b/.github/actions/setup-project/action.yml index 4dfb260..d675fc7 100644 --- a/.github/actions/setup-project/action.yml +++ b/.github/actions/setup-project/action.yml @@ -13,6 +13,7 @@ runs: steps: - name: Set up Python + id: setup-python uses: actions/setup-python@v5 with: python-version: ${{ inputs.python-version }} @@ -35,7 +36,7 @@ runs: uses: actions/cache@v4 with: path: .venv - key: venv-${{ runner.os }}-python-${{ inputs.python-version }}-groups-${{ steps.cache-key.outputs.key }}-${{ hashFiles('**/poetry.lock') }} + key: venv-${{ runner.os }}-python-${{ steps.setup-python.outputs.version }}-groups-${{ steps.cache-key.outputs.key }}-${{ hashFiles('**/poetry.lock') }} - name: Install dependencies if: steps.cache-dependencies.outputs.cache-hit != 'true' From 137b2225c98553d071ea81c0eb48b292744a1491 Mon Sep 17 00:00:00 2001 From: Mike Almeloo Date: Wed, 18 Sep 2024 00:13:50 +0200 Subject: [PATCH 12/97] ci: Do not use setup-python to determine version --- .github/actions/setup-project/action.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/actions/setup-project/action.yml b/.github/actions/setup-project/action.yml index d675fc7..c0dbec0 100644 --- a/.github/actions/setup-project/action.yml +++ b/.github/actions/setup-project/action.yml @@ -13,7 +13,6 @@ runs: steps: - name: Set up Python - id: setup-python uses: actions/setup-python@v5 with: python-version: ${{ inputs.python-version }} @@ -31,12 +30,16 @@ runs: key=$(echo "${{ inputs.dependency-groups }}" | sed 's/,/+/') echo "key=$key" >> "$GITHUB_OUTPUT" + - name: Get full Python version + id: full-python-version + run: echo version=$(python -c "import sys; print('-'.join(str(v) for v in sys.version_info))") >> $GITHUB_OUTPUT + - name: Load cached venv id: cache-dependencies uses: actions/cache@v4 with: path: .venv - key: venv-${{ runner.os }}-python-${{ steps.setup-python.outputs.version }}-groups-${{ steps.cache-key.outputs.key }}-${{ hashFiles('**/poetry.lock') }} + key: venv-${{ runner.os }}-py${{ steps.full-python-version.outputs.version }}-grp${{ steps.cache-key.outputs.key }}-${{ hashFiles('**/poetry.lock') }} - name: Install dependencies if: steps.cache-dependencies.outputs.cache-hit != 'true' From f1cb07effc886109a62a6678c4c8865e4ee29ace Mon Sep 17 00:00:00 2001 From: Mike Almeloo Date: Wed, 18 Sep 2024 00:14:47 +0200 Subject: [PATCH 13/97] ci: Add missing `shell` property --- .github/actions/setup-project/action.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/actions/setup-project/action.yml b/.github/actions/setup-project/action.yml index c0dbec0..94d0ed8 100644 --- a/.github/actions/setup-project/action.yml +++ b/.github/actions/setup-project/action.yml @@ -32,6 +32,7 @@ runs: - name: Get full Python version id: full-python-version + shell: bash run: echo version=$(python -c "import sys; print('-'.join(str(v) for v in sys.version_info))") >> $GITHUB_OUTPUT - name: Load cached venv From 8a096230a201731f0c0769a188025e8874575c3d Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Wed, 18 Sep 2024 16:38:59 +0200 Subject: [PATCH 14/97] keys: Add name getter/setter to accessories and keypairs --- findmy/accessory.py | 4 ++++ findmy/keys.py | 19 +++++++++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/findmy/accessory.py b/findmy/accessory.py index f704d7e..1d7708f 100644 --- a/findmy/accessory.py +++ b/findmy/accessory.py @@ -106,6 +106,10 @@ class FindMyAccessory(RollingKeyPairSource): """Name of this accessory.""" return self._name + @name.setter + def name(self, name: str | None) -> None: + self._name = name + @property def model(self) -> str | None: """Model string of this accessory, as provided by the manufacturer.""" diff --git a/findmy/keys.py b/findmy/keys.py index a5c8932..e0febc1 100644 --- a/findmy/keys.py +++ b/findmy/keys.py @@ -81,7 +81,12 @@ class HasPublicKey(HasHashedPublicKey, ABC): class KeyPair(HasPublicKey): """A private-public keypair for a trackable FindMy accessory.""" - def __init__(self, private_key: bytes, key_type: KeyType = KeyType.UNKNOWN) -> None: + def __init__( + self, + private_key: bytes, + key_type: KeyType = KeyType.UNKNOWN, + name: str | None = None, + ) -> None: """Initialize the `KeyPair` with the private key bytes.""" priv_int = crypto.bytes_to_int(private_key) self._priv_key = ec.derive_private_key( @@ -90,12 +95,22 @@ class KeyPair(HasPublicKey): ) self._key_type = key_type + self._name = name @property def key_type(self) -> KeyType: """Type of this key.""" return self._key_type + @property + def name(self) -> str | None: + """Name of this KeyPair.""" + return self._name + + @name.setter + def name(self, name: str | None) -> None: + self._name = name + @classmethod def new(cls) -> KeyPair: """Generate a new random `KeyPair`.""" @@ -138,7 +153,7 @@ class KeyPair(HasPublicKey): @override def __repr__(self) -> str: - return f'KeyPair(public_key="{self.adv_key_b64}", type={self.key_type})' + return f'KeyPair(name="{self.name}", public_key="{self.adv_key_b64}", type={self.key_type})' K = TypeVar("K") From c5501444f799cd17087142aef404664d0fe1bf91 Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Wed, 18 Sep 2024 16:40:31 +0200 Subject: [PATCH 15/97] chore: Update dependencies --- poetry.lock | 712 ++++++++++++++++++++++++++-------------------------- 1 file changed, 362 insertions(+), 350 deletions(-) diff --git a/poetry.lock b/poetry.lock index 5943f27..40b8adb 100644 --- a/poetry.lock +++ b/poetry.lock @@ -288,78 +288,78 @@ files = [ [[package]] name = "cffi" -version = "1.17.0" +version = "1.17.1" description = "Foreign Function Interface for Python calling C code." optional = false python-versions = ">=3.8" files = [ - {file = "cffi-1.17.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f9338cc05451f1942d0d8203ec2c346c830f8e86469903d5126c1f0a13a2bcbb"}, - {file = "cffi-1.17.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a0ce71725cacc9ebf839630772b07eeec220cbb5f03be1399e0457a1464f8e1a"}, - {file = "cffi-1.17.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c815270206f983309915a6844fe994b2fa47e5d05c4c4cef267c3b30e34dbe42"}, - {file = "cffi-1.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6bdcd415ba87846fd317bee0774e412e8792832e7805938987e4ede1d13046d"}, - {file = "cffi-1.17.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a98748ed1a1df4ee1d6f927e151ed6c1a09d5ec21684de879c7ea6aa96f58f2"}, - {file = "cffi-1.17.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0a048d4f6630113e54bb4b77e315e1ba32a5a31512c31a273807d0027a7e69ab"}, - {file = "cffi-1.17.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24aa705a5f5bd3a8bcfa4d123f03413de5d86e497435693b638cbffb7d5d8a1b"}, - {file = "cffi-1.17.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:856bf0924d24e7f93b8aee12a3a1095c34085600aa805693fb7f5d1962393206"}, - {file = "cffi-1.17.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:4304d4416ff032ed50ad6bb87416d802e67139e31c0bde4628f36a47a3164bfa"}, - {file = "cffi-1.17.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:331ad15c39c9fe9186ceaf87203a9ecf5ae0ba2538c9e898e3a6967e8ad3db6f"}, - {file = "cffi-1.17.0-cp310-cp310-win32.whl", hash = "sha256:669b29a9eca6146465cc574659058ed949748f0809a2582d1f1a324eb91054dc"}, - {file = "cffi-1.17.0-cp310-cp310-win_amd64.whl", hash = "sha256:48b389b1fd5144603d61d752afd7167dfd205973a43151ae5045b35793232aa2"}, - {file = "cffi-1.17.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c5d97162c196ce54af6700949ddf9409e9833ef1003b4741c2b39ef46f1d9720"}, - {file = "cffi-1.17.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5ba5c243f4004c750836f81606a9fcb7841f8874ad8f3bf204ff5e56332b72b9"}, - {file = "cffi-1.17.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bb9333f58fc3a2296fb1d54576138d4cf5d496a2cc118422bd77835e6ae0b9cb"}, - {file = "cffi-1.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:435a22d00ec7d7ea533db494da8581b05977f9c37338c80bc86314bec2619424"}, - {file = "cffi-1.17.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d1df34588123fcc88c872f5acb6f74ae59e9d182a2707097f9e28275ec26a12d"}, - {file = "cffi-1.17.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:df8bb0010fdd0a743b7542589223a2816bdde4d94bb5ad67884348fa2c1c67e8"}, - {file = "cffi-1.17.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8b5b9712783415695663bd463990e2f00c6750562e6ad1d28e072a611c5f2a6"}, - {file = "cffi-1.17.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ffef8fd58a36fb5f1196919638f73dd3ae0db1a878982b27a9a5a176ede4ba91"}, - {file = "cffi-1.17.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:4e67d26532bfd8b7f7c05d5a766d6f437b362c1bf203a3a5ce3593a645e870b8"}, - {file = "cffi-1.17.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:45f7cd36186db767d803b1473b3c659d57a23b5fa491ad83c6d40f2af58e4dbb"}, - {file = "cffi-1.17.0-cp311-cp311-win32.whl", hash = "sha256:a9015f5b8af1bb6837a3fcb0cdf3b874fe3385ff6274e8b7925d81ccaec3c5c9"}, - {file = "cffi-1.17.0-cp311-cp311-win_amd64.whl", hash = "sha256:b50aaac7d05c2c26dfd50c3321199f019ba76bb650e346a6ef3616306eed67b0"}, - {file = "cffi-1.17.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:aec510255ce690d240f7cb23d7114f6b351c733a74c279a84def763660a2c3bc"}, - {file = "cffi-1.17.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2770bb0d5e3cc0e31e7318db06efcbcdb7b31bcb1a70086d3177692a02256f59"}, - {file = "cffi-1.17.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:db9a30ec064129d605d0f1aedc93e00894b9334ec74ba9c6bdd08147434b33eb"}, - {file = "cffi-1.17.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a47eef975d2b8b721775a0fa286f50eab535b9d56c70a6e62842134cf7841195"}, - {file = "cffi-1.17.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f3e0992f23bbb0be00a921eae5363329253c3b86287db27092461c887b791e5e"}, - {file = "cffi-1.17.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6107e445faf057c118d5050560695e46d272e5301feffda3c41849641222a828"}, - {file = "cffi-1.17.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb862356ee9391dc5a0b3cbc00f416b48c1b9a52d252d898e5b7696a5f9fe150"}, - {file = "cffi-1.17.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c1c13185b90bbd3f8b5963cd8ce7ad4ff441924c31e23c975cb150e27c2bf67a"}, - {file = "cffi-1.17.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:17c6d6d3260c7f2d94f657e6872591fe8733872a86ed1345bda872cfc8c74885"}, - {file = "cffi-1.17.0-cp312-cp312-win32.whl", hash = "sha256:c3b8bd3133cd50f6b637bb4322822c94c5ce4bf0d724ed5ae70afce62187c492"}, - {file = "cffi-1.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:dca802c8db0720ce1c49cce1149ff7b06e91ba15fa84b1d59144fef1a1bc7ac2"}, - {file = "cffi-1.17.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6ce01337d23884b21c03869d2f68c5523d43174d4fc405490eb0091057943118"}, - {file = "cffi-1.17.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cab2eba3830bf4f6d91e2d6718e0e1c14a2f5ad1af68a89d24ace0c6b17cced7"}, - {file = "cffi-1.17.0-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:14b9cbc8f7ac98a739558eb86fabc283d4d564dafed50216e7f7ee62d0d25377"}, - {file = "cffi-1.17.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b00e7bcd71caa0282cbe3c90966f738e2db91e64092a877c3ff7f19a1628fdcb"}, - {file = "cffi-1.17.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:41f4915e09218744d8bae14759f983e466ab69b178de38066f7579892ff2a555"}, - {file = "cffi-1.17.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e4760a68cab57bfaa628938e9c2971137e05ce48e762a9cb53b76c9b569f1204"}, - {file = "cffi-1.17.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:011aff3524d578a9412c8b3cfaa50f2c0bd78e03eb7af7aa5e0df59b158efb2f"}, - {file = "cffi-1.17.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:a003ac9edc22d99ae1286b0875c460351f4e101f8c9d9d2576e78d7e048f64e0"}, - {file = "cffi-1.17.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ef9528915df81b8f4c7612b19b8628214c65c9b7f74db2e34a646a0a2a0da2d4"}, - {file = "cffi-1.17.0-cp313-cp313-win32.whl", hash = "sha256:70d2aa9fb00cf52034feac4b913181a6e10356019b18ef89bc7c12a283bf5f5a"}, - {file = "cffi-1.17.0-cp313-cp313-win_amd64.whl", hash = "sha256:b7b6ea9e36d32582cda3465f54c4b454f62f23cb083ebc7a94e2ca6ef011c3a7"}, - {file = "cffi-1.17.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:964823b2fc77b55355999ade496c54dde161c621cb1f6eac61dc30ed1b63cd4c"}, - {file = "cffi-1.17.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:516a405f174fd3b88829eabfe4bb296ac602d6a0f68e0d64d5ac9456194a5b7e"}, - {file = "cffi-1.17.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dec6b307ce928e8e112a6bb9921a1cb00a0e14979bf28b98e084a4b8a742bd9b"}, - {file = "cffi-1.17.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e4094c7b464cf0a858e75cd14b03509e84789abf7b79f8537e6a72152109c76e"}, - {file = "cffi-1.17.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2404f3de742f47cb62d023f0ba7c5a916c9c653d5b368cc966382ae4e57da401"}, - {file = "cffi-1.17.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3aa9d43b02a0c681f0bfbc12d476d47b2b2b6a3f9287f11ee42989a268a1833c"}, - {file = "cffi-1.17.0-cp38-cp38-win32.whl", hash = "sha256:0bb15e7acf8ab35ca8b24b90af52c8b391690ef5c4aec3d31f38f0d37d2cc499"}, - {file = "cffi-1.17.0-cp38-cp38-win_amd64.whl", hash = "sha256:93a7350f6706b31f457c1457d3a3259ff9071a66f312ae64dc024f049055f72c"}, - {file = "cffi-1.17.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1a2ddbac59dc3716bc79f27906c010406155031a1c801410f1bafff17ea304d2"}, - {file = "cffi-1.17.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6327b572f5770293fc062a7ec04160e89741e8552bf1c358d1a23eba68166759"}, - {file = "cffi-1.17.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dbc183e7bef690c9abe5ea67b7b60fdbca81aa8da43468287dae7b5c046107d4"}, - {file = "cffi-1.17.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5bdc0f1f610d067c70aa3737ed06e2726fd9d6f7bfee4a351f4c40b6831f4e82"}, - {file = "cffi-1.17.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6d872186c1617d143969defeadac5a904e6e374183e07977eedef9c07c8953bf"}, - {file = "cffi-1.17.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0d46ee4764b88b91f16661a8befc6bfb24806d885e27436fdc292ed7e6f6d058"}, - {file = "cffi-1.17.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f76a90c345796c01d85e6332e81cab6d70de83b829cf1d9762d0a3da59c7932"}, - {file = "cffi-1.17.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0e60821d312f99d3e1569202518dddf10ae547e799d75aef3bca3a2d9e8ee693"}, - {file = "cffi-1.17.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:eb09b82377233b902d4c3fbeeb7ad731cdab579c6c6fda1f763cd779139e47c3"}, - {file = "cffi-1.17.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:24658baf6224d8f280e827f0a50c46ad819ec8ba380a42448e24459daf809cf4"}, - {file = "cffi-1.17.0-cp39-cp39-win32.whl", hash = "sha256:0fdacad9e0d9fc23e519efd5ea24a70348305e8d7d85ecbb1a5fa66dc834e7fb"}, - {file = "cffi-1.17.0-cp39-cp39-win_amd64.whl", hash = "sha256:7cbc78dc018596315d4e7841c8c3a7ae31cc4d638c9b627f87d52e8abaaf2d29"}, - {file = "cffi-1.17.0.tar.gz", hash = "sha256:f3157624b7558b914cb039fd1af735e5e8049a87c817cc215109ad1c8779df76"}, + {file = "cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14"}, + {file = "cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6"}, + {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17"}, + {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8"}, + {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e"}, + {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be"}, + {file = "cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c"}, + {file = "cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15"}, + {file = "cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401"}, + {file = "cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6"}, + {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d"}, + {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6"}, + {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f"}, + {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b"}, + {file = "cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655"}, + {file = "cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0"}, + {file = "cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4"}, + {file = "cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99"}, + {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93"}, + {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3"}, + {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8"}, + {file = "cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65"}, + {file = "cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903"}, + {file = "cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e"}, + {file = "cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4"}, + {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd"}, + {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed"}, + {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9"}, + {file = "cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d"}, + {file = "cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a"}, + {file = "cffi-1.17.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c"}, + {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1"}, + {file = "cffi-1.17.1-cp38-cp38-win32.whl", hash = "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8"}, + {file = "cffi-1.17.1-cp38-cp38-win_amd64.whl", hash = "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1"}, + {file = "cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16"}, + {file = "cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0"}, + {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3"}, + {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595"}, + {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a"}, + {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e"}, + {file = "cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7"}, + {file = "cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662"}, + {file = "cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"}, ] [package.dependencies] @@ -488,38 +488,38 @@ files = [ [[package]] name = "cryptography" -version = "43.0.0" +version = "43.0.1" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-43.0.0-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:64c3f16e2a4fc51c0d06af28441881f98c5d91009b8caaff40cf3548089e9c74"}, - {file = "cryptography-43.0.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3dcdedae5c7710b9f97ac6bba7e1052b95c7083c9d0e9df96e02a1932e777895"}, - {file = "cryptography-43.0.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d9a1eca329405219b605fac09ecfc09ac09e595d6def650a437523fcd08dd22"}, - {file = "cryptography-43.0.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:ea9e57f8ea880eeea38ab5abf9fbe39f923544d7884228ec67d666abd60f5a47"}, - {file = "cryptography-43.0.0-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:9a8d6802e0825767476f62aafed40532bd435e8a5f7d23bd8b4f5fd04cc80ecf"}, - {file = "cryptography-43.0.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:cc70b4b581f28d0a254d006f26949245e3657d40d8857066c2ae22a61222ef55"}, - {file = "cryptography-43.0.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:4a997df8c1c2aae1e1e5ac49c2e4f610ad037fc5a3aadc7b64e39dea42249431"}, - {file = "cryptography-43.0.0-cp37-abi3-win32.whl", hash = "sha256:6e2b11c55d260d03a8cf29ac9b5e0608d35f08077d8c087be96287f43af3ccdc"}, - {file = "cryptography-43.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:31e44a986ceccec3d0498e16f3d27b2ee5fdf69ce2ab89b52eaad1d2f33d8778"}, - {file = "cryptography-43.0.0-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:7b3f5fe74a5ca32d4d0f302ffe6680fcc5c28f8ef0dc0ae8f40c0f3a1b4fca66"}, - {file = "cryptography-43.0.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac1955ce000cb29ab40def14fd1bbfa7af2017cca696ee696925615cafd0dce5"}, - {file = "cryptography-43.0.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:299d3da8e00b7e2b54bb02ef58d73cd5f55fb31f33ebbf33bd00d9aa6807df7e"}, - {file = "cryptography-43.0.0-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:ee0c405832ade84d4de74b9029bedb7b31200600fa524d218fc29bfa371e97f5"}, - {file = "cryptography-43.0.0-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:cb013933d4c127349b3948aa8aaf2f12c0353ad0eccd715ca789c8a0f671646f"}, - {file = "cryptography-43.0.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:fdcb265de28585de5b859ae13e3846a8e805268a823a12a4da2597f1f5afc9f0"}, - {file = "cryptography-43.0.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:2905ccf93a8a2a416f3ec01b1a7911c3fe4073ef35640e7ee5296754e30b762b"}, - {file = "cryptography-43.0.0-cp39-abi3-win32.whl", hash = "sha256:47ca71115e545954e6c1d207dd13461ab81f4eccfcb1345eac874828b5e3eaaf"}, - {file = "cryptography-43.0.0-cp39-abi3-win_amd64.whl", hash = "sha256:0663585d02f76929792470451a5ba64424acc3cd5227b03921dab0e2f27b1709"}, - {file = "cryptography-43.0.0-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2c6d112bf61c5ef44042c253e4859b3cbbb50df2f78fa8fae6747a7814484a70"}, - {file = "cryptography-43.0.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:844b6d608374e7d08f4f6e6f9f7b951f9256db41421917dfb2d003dde4cd6b66"}, - {file = "cryptography-43.0.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:51956cf8730665e2bdf8ddb8da0056f699c1a5715648c1b0144670c1ba00b48f"}, - {file = "cryptography-43.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:aae4d918f6b180a8ab8bf6511a419473d107df4dbb4225c7b48c5c9602c38c7f"}, - {file = "cryptography-43.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:232ce02943a579095a339ac4b390fbbe97f5b5d5d107f8a08260ea2768be8cc2"}, - {file = "cryptography-43.0.0-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:5bcb8a5620008a8034d39bce21dc3e23735dfdb6a33a06974739bfa04f853947"}, - {file = "cryptography-43.0.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:08a24a7070b2b6804c1940ff0f910ff728932a9d0e80e7814234269f9d46d069"}, - {file = "cryptography-43.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:e9c5266c432a1e23738d178e51c2c7a5e2ddf790f248be939448c0ba2021f9d1"}, - {file = "cryptography-43.0.0.tar.gz", hash = "sha256:b88075ada2d51aa9f18283532c9f60e72170041bba88d7f37e49cbb10275299e"}, + {file = "cryptography-43.0.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:8385d98f6a3bf8bb2d65a73e17ed87a3ba84f6991c155691c51112075f9ffc5d"}, + {file = "cryptography-43.0.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27e613d7077ac613e399270253259d9d53872aaf657471473ebfc9a52935c062"}, + {file = "cryptography-43.0.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68aaecc4178e90719e95298515979814bda0cbada1256a4485414860bd7ab962"}, + {file = "cryptography-43.0.1-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:de41fd81a41e53267cb020bb3a7212861da53a7d39f863585d13ea11049cf277"}, + {file = "cryptography-43.0.1-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f98bf604c82c416bc829e490c700ca1553eafdf2912a91e23a79d97d9801372a"}, + {file = "cryptography-43.0.1-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:61ec41068b7b74268fa86e3e9e12b9f0c21fcf65434571dbb13d954bceb08042"}, + {file = "cryptography-43.0.1-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:014f58110f53237ace6a408b5beb6c427b64e084eb451ef25a28308270086494"}, + {file = "cryptography-43.0.1-cp37-abi3-win32.whl", hash = "sha256:2bd51274dcd59f09dd952afb696bf9c61a7a49dfc764c04dd33ef7a6b502a1e2"}, + {file = "cryptography-43.0.1-cp37-abi3-win_amd64.whl", hash = "sha256:666ae11966643886c2987b3b721899d250855718d6d9ce41b521252a17985f4d"}, + {file = "cryptography-43.0.1-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:ac119bb76b9faa00f48128b7f5679e1d8d437365c5d26f1c2c3f0da4ce1b553d"}, + {file = "cryptography-43.0.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1bbcce1a551e262dfbafb6e6252f1ae36a248e615ca44ba302df077a846a8806"}, + {file = "cryptography-43.0.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58d4e9129985185a06d849aa6df265bdd5a74ca6e1b736a77959b498e0505b85"}, + {file = "cryptography-43.0.1-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:d03a475165f3134f773d1388aeb19c2d25ba88b6a9733c5c590b9ff7bbfa2e0c"}, + {file = "cryptography-43.0.1-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:511f4273808ab590912a93ddb4e3914dfd8a388fed883361b02dea3791f292e1"}, + {file = "cryptography-43.0.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:80eda8b3e173f0f247f711eef62be51b599b5d425c429b5d4ca6a05e9e856baa"}, + {file = "cryptography-43.0.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:38926c50cff6f533f8a2dae3d7f19541432610d114a70808f0926d5aaa7121e4"}, + {file = "cryptography-43.0.1-cp39-abi3-win32.whl", hash = "sha256:a575913fb06e05e6b4b814d7f7468c2c660e8bb16d8d5a1faf9b33ccc569dd47"}, + {file = "cryptography-43.0.1-cp39-abi3-win_amd64.whl", hash = "sha256:d75601ad10b059ec832e78823b348bfa1a59f6b8d545db3a24fd44362a1564cb"}, + {file = "cryptography-43.0.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ea25acb556320250756e53f9e20a4177515f012c9eaea17eb7587a8c4d8ae034"}, + {file = "cryptography-43.0.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c1332724be35d23a854994ff0b66530119500b6053d0bd3363265f7e5e77288d"}, + {file = "cryptography-43.0.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:fba1007b3ef89946dbbb515aeeb41e30203b004f0b4b00e5e16078b518563289"}, + {file = "cryptography-43.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5b43d1ea6b378b54a1dc99dd8a2b5be47658fe9a7ce0a58ff0b55f4b43ef2b84"}, + {file = "cryptography-43.0.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:88cce104c36870d70c49c7c8fd22885875d950d9ee6ab54df2745f83ba0dc365"}, + {file = "cryptography-43.0.1-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:9d3cdb25fa98afdd3d0892d132b8d7139e2c087da1712041f6b762e4f807cc96"}, + {file = "cryptography-43.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e710bf40870f4db63c3d7d929aa9e09e4e7ee219e703f949ec4073b4294f6172"}, + {file = "cryptography-43.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7c05650fe8023c5ed0d46793d4b7d7e6cd9c04e68eabe5b0aeea836e37bdcec2"}, + {file = "cryptography-43.0.1.tar.gz", hash = "sha256:203e92a75716d8cfb491dc47c79e17d0d9207ccffcbcb35f598fbe463ae3444d"}, ] [package.dependencies] @@ -532,48 +532,48 @@ nox = ["nox"] pep8test = ["check-sdist", "click", "mypy", "ruff"] sdist = ["build"] ssh = ["bcrypt (>=3.1.5)"] -test = ["certifi", "cryptography-vectors (==43.0.0)", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] +test = ["certifi", "cryptography-vectors (==43.0.1)", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] test-randomorder = ["pytest-randomly"] [[package]] name = "dbus-fast" -version = "2.24.0" +version = "2.24.2" description = "A faster version of dbus-next" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "dbus_fast-2.24.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b0f69c272ef1376b5f3a8c899b6aa34d72a568935f90ac269abdf4a74241b57b"}, - {file = "dbus_fast-2.24.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:014441b49e250f5709b9e43dbdd3fee680edf2d2b50d934ef6ffe1814d16457d"}, - {file = "dbus_fast-2.24.0-cp310-cp310-manylinux_2_31_x86_64.whl", hash = "sha256:1516eef9726da1de870adaad690ed4b2dc45d2c7e3926e07abb3ac5309fd04e2"}, - {file = "dbus_fast-2.24.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:aaf255b28b18c1b3caef03a1e3c66716ed23a4fc3e153ccdc8a0558c1078b257"}, - {file = "dbus_fast-2.24.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:884b09ee6034fae49dde65fd2d2575d1876ff96e893a877778be86417922f139"}, - {file = "dbus_fast-2.24.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87ed7661e38457789c8d7f10b067c83267b0610c0de39896bec2ff083a2e0047"}, - {file = "dbus_fast-2.24.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ddb5116858e01dcad2326f0519bb805c71da93e0c47ad8a0cfa3730b72de9a79"}, - {file = "dbus_fast-2.24.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7be081fd6c1a78fd12a98c6ee47fc2d7437e85f800b037cde189beabf5067a71"}, - {file = "dbus_fast-2.24.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3acc7893804d1ca9d438df9742e08b45a9f6e70924e2f706378742f766570191"}, - {file = "dbus_fast-2.24.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c1bc8a95cc83556b0e12469ad7c14830419ab3a8bdb1f6ff2a0844c3d0558740"}, - {file = "dbus_fast-2.24.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e19be18299601f04510bac045172aee53fc04f027f58ee5ade960ef58f8bd716"}, - {file = "dbus_fast-2.24.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6f7f45957f3f705d52b586677a44e16a7338e7ac72d616a06048a73755e11553"}, - {file = "dbus_fast-2.24.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aec31051f632898b12f4ad0841fc89b32ef7918ee0590a7ff31c729660bc4262"}, - {file = "dbus_fast-2.24.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d14686d9709924888735c88f941c7c4fba95672abd658c050ba6dfd21ce3ea92"}, - {file = "dbus_fast-2.24.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3697fbf642ea0d36cd8907e6b5a28c336b45e08710e42d96f32a0e881ed3111c"}, - {file = "dbus_fast-2.24.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:11f69848d86d5f68e4efcf7e40d1c2f1de912b5d8ca0a76ebe4e20e68e6603f8"}, - {file = "dbus_fast-2.24.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:58d5d630c165148c76daef056a5443daacf9c0eabcc28e67d5e9951d5a1a7504"}, - {file = "dbus_fast-2.24.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5aac69b8e0b3f3b918e06a3448c2b40c8868bddfa715dfaf7f5bbde4d76783f6"}, - {file = "dbus_fast-2.24.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90ce8cc1f99da1fac661fda7ae76afc3373d1afb709a8f1c525ddd38c63f7c4c"}, - {file = "dbus_fast-2.24.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:81621cbd5a172cdfe3649032405e5bfeeb8dafef114bbc48949563d56a082a8b"}, - {file = "dbus_fast-2.24.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:fcd754fd6cca77fb73815f7ca4d8ae14b72aacdfb027359adfb9ab03e21615ab"}, - {file = "dbus_fast-2.24.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84ac47e47ee88f80e28004722b3a0398777309c47cb0cd502e8db6afdd836fa6"}, - {file = "dbus_fast-2.24.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4065c11993e70c0cae849b2045862b6f221f3d81074488b22257aa898b04c803"}, - {file = "dbus_fast-2.24.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:c291dbbd3920f4ff4a3051e82d107489cabdb5725c57638b379db74b631b016d"}, - {file = "dbus_fast-2.24.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:637fa5db4c6c0916cd9b08ba31a59688bd61ff5f796c20ab6801eefb1d9ac712"}, - {file = "dbus_fast-2.24.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48869b2eafdcb62d0344e1ed93c97e4a55e981c399dfd9feb3874ebd461feba7"}, - {file = "dbus_fast-2.24.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a2290482d5b5723d0008ba422c0270d6ba7ca28440acfc5bcb96b4da28a21b7"}, - {file = "dbus_fast-2.24.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:415c5e0673d219cd2254c3d261ca90f4fe0ebc618ab9735b994365387d83f94c"}, - {file = "dbus_fast-2.24.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e33f70bf79fe431d7914981ef7792041306675877611c898a1da3a87089fc2de"}, - {file = "dbus_fast-2.24.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10c8046391cce8e04f5c6be328743d32614c8c3b59ed2878f7b1edc55ac1c473"}, - {file = "dbus_fast-2.24.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a04269b8301944b320a40b08909db26d719d35f5ed5d2f05947436428a1bab99"}, - {file = "dbus_fast-2.24.0.tar.gz", hash = "sha256:72b59c51e882300fd7f6d5bec8fb84ae8dea58040ade1d15c62c7fd9fa546f35"}, + {file = "dbus_fast-2.24.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4785df473961432e208cd8b96ae58a8e9bf7cbd3f9ced29eb0ecc16dfc1af6f1"}, + {file = "dbus_fast-2.24.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9879cee2a2e13ce9047a6f012d16d90b2a38fc40784ab4a233d4ddd80c9e803a"}, + {file = "dbus_fast-2.24.2-cp310-cp310-manylinux_2_31_x86_64.whl", hash = "sha256:72d9b28592dbe65774889cd3fc365e70e25862af79f5807a0bb375c1f7668dac"}, + {file = "dbus_fast-2.24.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:920a4f303127d25cfbb36c2c62dadf3a9e01b7512c091a1e8f9d6f0496934d54"}, + {file = "dbus_fast-2.24.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0642e4165361bfbe13878a65c9a5580bb086073300614243f81e8ca3f204e14e"}, + {file = "dbus_fast-2.24.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f5ff65eb4a42c3416423d65ed66f81798724047e23d3d034702ca3c3cf59f93d"}, + {file = "dbus_fast-2.24.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8b92b110c7d6ceb53d673281a490fcdccd552beee1c0b6a8f234579f845bd87c"}, + {file = "dbus_fast-2.24.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5c8eff87f24f8b58f439a716a7fb655eaacfa37dd72c11c98bbff7e391ef8550"}, + {file = "dbus_fast-2.24.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3c629360152618585a4e1ffeacc88e3ea92b64ee76de180d67d9f4e9bdf85a7e"}, + {file = "dbus_fast-2.24.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf3a971c41d53f4f4ceb29ca3b6b6ffcd9fb92f1d7c7d464292ad000974113f1"}, + {file = "dbus_fast-2.24.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d20cf9cd64a0dfb5d7efd7d52a6fd927becabdff234082c7819582f74e81dc59"}, + {file = "dbus_fast-2.24.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:fbfe0e2ee611e22f13c0e30f5f65b9264dd4f88c5581499dfd7f8c1578d81a27"}, + {file = "dbus_fast-2.24.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dfdb015a56b98b6e6c935b4b7e66e26a7d13a46a826320776418ec557a954347"}, + {file = "dbus_fast-2.24.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:459dca547117baf7383e63f2a7d7da651e21f3bad0ac2ba4bcdc71a13a071f18"}, + {file = "dbus_fast-2.24.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1a1d8f5efbb026626a2a3b755c09d3b8134700a03daaf34db22736045503ba4"}, + {file = "dbus_fast-2.24.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:8bcc7e733a2b4f3d27184cb273da7de01c8a2f20b496bf73b8e0954e590ffbba"}, + {file = "dbus_fast-2.24.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:789089a6489418dc3d26c5eb1c92144cece6dd93ae1b31aee12d5be164832ca2"}, + {file = "dbus_fast-2.24.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b884a221c73731920182599690538d23abc38490742d4beda9e52ee3576ab849"}, + {file = "dbus_fast-2.24.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fe312ea313fdd8affcd362e24bf8aca280f5724099f27b0d48e699aa83f6f6"}, + {file = "dbus_fast-2.24.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:7f3438da463b69f81cbe5f163f2489bfe215d5d96c7fbfca30a744f58fc3d85b"}, + {file = "dbus_fast-2.24.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:a9d76b33e8927e87261f5ddb919f5339b49046745508f3bc383e5b10d5f8a750"}, + {file = "dbus_fast-2.24.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:871696881a5ca703998f73d5c944f430f7937eb86de8736ca41a44fc1d21b8ba"}, + {file = "dbus_fast-2.24.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5efd4472b6008f99fe0751cc660f4de72f3267aea719b334940e7086824231ed"}, + {file = "dbus_fast-2.24.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5bc6816dc3a53b90aa2d465f44f06f636eb094db8c0b69aca62c11ca8d9a5c26"}, + {file = "dbus_fast-2.24.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:cc5c340970c7b6acaf6ee0cccfaad701d20954c08234f8428c550ae090ee1247"}, + {file = "dbus_fast-2.24.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:522c00aa19411e8abb7934fcb4066b05bcf8c313e9215376ed6fef7137307183"}, + {file = "dbus_fast-2.24.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3ed265d4285a2aab12935ad143bf6e08933f136ff74dc864b3642c85e646128"}, + {file = "dbus_fast-2.24.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:292d6334c8267f424d4f7dded170e2e9b79596485ef93ce60aa5ef972406860b"}, + {file = "dbus_fast-2.24.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8c72bce6e574bf855f2d843ea660a0e997cc29a05a17ee2da0134b2381fe03"}, + {file = "dbus_fast-2.24.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5bec804cde188c445520fc988295cc8cc74044d7cf3b661825cd36fb52a45d45"}, + {file = "dbus_fast-2.24.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70f230ee387a44ff2fa485eb47412d3bf0eefee62ad1c0ef58bdb332560386ce"}, + {file = "dbus_fast-2.24.2.tar.gz", hash = "sha256:20c517dc70dbc940b8bf2e0f079abf3dfe821fdda3013641a17e3d8f18e131ae"}, ] [[package]] @@ -614,19 +614,19 @@ test = ["pytest (>=6)"] [[package]] name = "filelock" -version = "3.15.4" +version = "3.16.1" description = "A platform independent file lock." optional = false python-versions = ">=3.8" files = [ - {file = "filelock-3.15.4-py3-none-any.whl", hash = "sha256:6ca1fffae96225dab4c6eaf1c4f4f28cd2568d3ec2a44e15a08520504de468e7"}, - {file = "filelock-3.15.4.tar.gz", hash = "sha256:2207938cbc1844345cb01a5a95524dae30f0ce089eba5b00378295a17e3e90cb"}, + {file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"}, + {file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"}, ] [package.extras] -docs = ["furo (>=2023.9.10)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.3.2)", "diff-cover (>=8.0.1)", "pytest (>=7.4.3)", "pytest-asyncio (>=0.21)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)", "pytest-timeout (>=2.2)", "virtualenv (>=20.26.2)"] -typing = ["typing-extensions (>=4.8)"] +docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4.1)"] +testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.2)", "pytest (>=8.3.3)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.4)"] +typing = ["typing-extensions (>=4.12.2)"] [[package]] name = "frozenlist" @@ -716,13 +716,13 @@ files = [ [[package]] name = "identify" -version = "2.6.0" +version = "2.6.1" description = "File identification library for Python" optional = false python-versions = ">=3.8" files = [ - {file = "identify-2.6.0-py2.py3-none-any.whl", hash = "sha256:e79ae4406387a9d300332b5fd366d8994f1525e8414984e1a59e058b2eda2dd0"}, - {file = "identify-2.6.0.tar.gz", hash = "sha256:cb171c685bdc31bcc4c1734698736a7d5b6c8bf2e0c15117f4d469c8640ae5cf"}, + {file = "identify-2.6.1-py2.py3-none-any.whl", hash = "sha256:53863bcac7caf8d2ed85bd20312ea5dcfc22226800f6d6881f232d861db5a8f0"}, + {file = "identify-2.6.1.tar.gz", hash = "sha256:91478c5fb7c3aac5ff7bf9b4344f803843dc586832d5f110d672b19aa1984c98"}, ] [package.extras] @@ -730,15 +730,18 @@ license = ["ukkonen"] [[package]] name = "idna" -version = "3.8" +version = "3.10" description = "Internationalized Domain Names in Applications (IDNA)" optional = false python-versions = ">=3.6" files = [ - {file = "idna-3.8-py3-none-any.whl", hash = "sha256:050b4e5baadcd44d760cedbd2b8e639f2ff89bbc7a5730fcc662954303377aac"}, - {file = "idna-3.8.tar.gz", hash = "sha256:d838c2c0ed6fced7693d5e8ab8e734d5f8fda53a039c0164afb0b82e771e3603"}, + {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, + {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, ] +[package.extras] +all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] + [[package]] name = "imagesize" version = "1.4.1" @@ -752,22 +755,26 @@ files = [ [[package]] name = "importlib-metadata" -version = "8.4.0" +version = "8.5.0" description = "Read metadata from Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "importlib_metadata-8.4.0-py3-none-any.whl", hash = "sha256:66f342cc6ac9818fc6ff340576acd24d65ba0b3efabb2b4ac08b598965a4a2f1"}, - {file = "importlib_metadata-8.4.0.tar.gz", hash = "sha256:9a547d3bc3608b025f93d403fdd1aae741c24fbb8314df4b155675742ce303c5"}, + {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, + {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, ] [package.dependencies] -zipp = ">=0.5" +zipp = ">=3.20" [package.extras] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +cover = ["pytest-cov"] doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +enabler = ["pytest-enabler (>=2.2)"] perf = ["ipython"] -test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy", "pytest-perf (>=0.9.2)", "pytest-ruff (>=0.2.1)"] +test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] +type = ["pytest-mypy"] [[package]] name = "iniconfig" @@ -868,103 +875,108 @@ files = [ [[package]] name = "multidict" -version = "6.0.5" +version = "6.1.0" description = "multidict implementation" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:228b644ae063c10e7f324ab1ab6b548bdf6f8b47f3ec234fef1093bc2735e5f9"}, - {file = "multidict-6.0.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:896ebdcf62683551312c30e20614305f53125750803b614e9e6ce74a96232604"}, - {file = "multidict-6.0.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:411bf8515f3be9813d06004cac41ccf7d1cd46dfe233705933dd163b60e37600"}, - {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1d147090048129ce3c453f0292e7697d333db95e52616b3793922945804a433c"}, - {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:215ed703caf15f578dca76ee6f6b21b7603791ae090fbf1ef9d865571039ade5"}, - {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c6390cf87ff6234643428991b7359b5f59cc15155695deb4eda5c777d2b880f"}, - {file = "multidict-6.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fd81c4ebdb4f214161be351eb5bcf385426bf023041da2fd9e60681f3cebae"}, - {file = "multidict-6.0.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3cc2ad10255f903656017363cd59436f2111443a76f996584d1077e43ee51182"}, - {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:6939c95381e003f54cd4c5516740faba40cf5ad3eeff460c3ad1d3e0ea2549bf"}, - {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:220dd781e3f7af2c2c1053da9fa96d9cf3072ca58f057f4c5adaaa1cab8fc442"}, - {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:766c8f7511df26d9f11cd3a8be623e59cca73d44643abab3f8c8c07620524e4a"}, - {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:fe5d7785250541f7f5019ab9cba2c71169dc7d74d0f45253f8313f436458a4ef"}, - {file = "multidict-6.0.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:c1c1496e73051918fcd4f58ff2e0f2f3066d1c76a0c6aeffd9b45d53243702cc"}, - {file = "multidict-6.0.5-cp310-cp310-win32.whl", hash = "sha256:7afcdd1fc07befad18ec4523a782cde4e93e0a2bf71239894b8d61ee578c1319"}, - {file = "multidict-6.0.5-cp310-cp310-win_amd64.whl", hash = "sha256:99f60d34c048c5c2fabc766108c103612344c46e35d4ed9ae0673d33c8fb26e8"}, - {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f285e862d2f153a70586579c15c44656f888806ed0e5b56b64489afe4a2dbfba"}, - {file = "multidict-6.0.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:53689bb4e102200a4fafa9de9c7c3c212ab40a7ab2c8e474491914d2305f187e"}, - {file = "multidict-6.0.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:612d1156111ae11d14afaf3a0669ebf6c170dbb735e510a7438ffe2369a847fd"}, - {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7be7047bd08accdb7487737631d25735c9a04327911de89ff1b26b81745bd4e3"}, - {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de170c7b4fe6859beb8926e84f7d7d6c693dfe8e27372ce3b76f01c46e489fcf"}, - {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:04bde7a7b3de05732a4eb39c94574db1ec99abb56162d6c520ad26f83267de29"}, - {file = "multidict-6.0.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85f67aed7bb647f93e7520633d8f51d3cbc6ab96957c71272b286b2f30dc70ed"}, - {file = "multidict-6.0.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425bf820055005bfc8aa9a0b99ccb52cc2f4070153e34b701acc98d201693733"}, - {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d3eb1ceec286eba8220c26f3b0096cf189aea7057b6e7b7a2e60ed36b373b77f"}, - {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7901c05ead4b3fb75113fb1dd33eb1253c6d3ee37ce93305acd9d38e0b5f21a4"}, - {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:e0e79d91e71b9867c73323a3444724d496c037e578a0e1755ae159ba14f4f3d1"}, - {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:29bfeb0dff5cb5fdab2023a7a9947b3b4af63e9c47cae2a10ad58394b517fddc"}, - {file = "multidict-6.0.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:e030047e85cbcedbfc073f71836d62dd5dadfbe7531cae27789ff66bc551bd5e"}, - {file = "multidict-6.0.5-cp311-cp311-win32.whl", hash = "sha256:2f4848aa3baa109e6ab81fe2006c77ed4d3cd1e0ac2c1fbddb7b1277c168788c"}, - {file = "multidict-6.0.5-cp311-cp311-win_amd64.whl", hash = "sha256:2faa5ae9376faba05f630d7e5e6be05be22913782b927b19d12b8145968a85ea"}, - {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:51d035609b86722963404f711db441cf7134f1889107fb171a970c9701f92e1e"}, - {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cbebcd5bcaf1eaf302617c114aa67569dd3f090dd0ce8ba9e35e9985b41ac35b"}, - {file = "multidict-6.0.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2ffc42c922dbfddb4a4c3b438eb056828719f07608af27d163191cb3e3aa6cc5"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ceb3b7e6a0135e092de86110c5a74e46bda4bd4fbfeeb3a3bcec79c0f861e450"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:79660376075cfd4b2c80f295528aa6beb2058fd289f4c9252f986751a4cd0496"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e4428b29611e989719874670fd152b6625500ad6c686d464e99f5aaeeaca175a"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d84a5c3a5f7ce6db1f999fb9438f686bc2e09d38143f2d93d8406ed2dd6b9226"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:76c0de87358b192de7ea9649beb392f107dcad9ad27276324c24c91774ca5271"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:79a6d2ba910adb2cbafc95dad936f8b9386e77c84c35bc0add315b856d7c3abb"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:92d16a3e275e38293623ebf639c471d3e03bb20b8ebb845237e0d3664914caef"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:fb616be3538599e797a2017cccca78e354c767165e8858ab5116813146041a24"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:14c2976aa9038c2629efa2c148022ed5eb4cb939e15ec7aace7ca932f48f9ba6"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:435a0984199d81ca178b9ae2c26ec3d49692d20ee29bc4c11a2a8d4514c67eda"}, - {file = "multidict-6.0.5-cp312-cp312-win32.whl", hash = "sha256:9fe7b0653ba3d9d65cbe7698cca585bf0f8c83dbbcc710db9c90f478e175f2d5"}, - {file = "multidict-6.0.5-cp312-cp312-win_amd64.whl", hash = "sha256:01265f5e40f5a17f8241d52656ed27192be03bfa8764d88e8220141d1e4b3556"}, - {file = "multidict-6.0.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:19fe01cea168585ba0f678cad6f58133db2aa14eccaf22f88e4a6dccadfad8b3"}, - {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bf7a982604375a8d49b6cc1b781c1747f243d91b81035a9b43a2126c04766f5"}, - {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:107c0cdefe028703fb5dafe640a409cb146d44a6ae201e55b35a4af8e95457dd"}, - {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:403c0911cd5d5791605808b942c88a8155c2592e05332d2bf78f18697a5fa15e"}, - {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aeaf541ddbad8311a87dd695ed9642401131ea39ad7bc8cf3ef3967fd093b626"}, - {file = "multidict-6.0.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e4972624066095e52b569e02b5ca97dbd7a7ddd4294bf4e7247d52635630dd83"}, - {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:d946b0a9eb8aaa590df1fe082cee553ceab173e6cb5b03239716338629c50c7a"}, - {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:b55358304d7a73d7bdf5de62494aaf70bd33015831ffd98bc498b433dfe5b10c"}, - {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:a3145cb08d8625b2d3fee1b2d596a8766352979c9bffe5d7833e0503d0f0b5e5"}, - {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:d65f25da8e248202bd47445cec78e0025c0fe7582b23ec69c3b27a640dd7a8e3"}, - {file = "multidict-6.0.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c9bf56195c6bbd293340ea82eafd0071cb3d450c703d2c93afb89f93b8386ccc"}, - {file = "multidict-6.0.5-cp37-cp37m-win32.whl", hash = "sha256:69db76c09796b313331bb7048229e3bee7928eb62bab5e071e9f7fcc4879caee"}, - {file = "multidict-6.0.5-cp37-cp37m-win_amd64.whl", hash = "sha256:fce28b3c8a81b6b36dfac9feb1de115bab619b3c13905b419ec71d03a3fc1423"}, - {file = "multidict-6.0.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:76f067f5121dcecf0d63a67f29080b26c43c71a98b10c701b0677e4a065fbd54"}, - {file = "multidict-6.0.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b82cc8ace10ab5bd93235dfaab2021c70637005e1ac787031f4d1da63d493c1d"}, - {file = "multidict-6.0.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5cb241881eefd96b46f89b1a056187ea8e9ba14ab88ba632e68d7a2ecb7aadf7"}, - {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8e94e6912639a02ce173341ff62cc1201232ab86b8a8fcc05572741a5dc7d93"}, - {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09a892e4a9fb47331da06948690ae38eaa2426de97b4ccbfafbdcbe5c8f37ff8"}, - {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55205d03e8a598cfc688c71ca8ea5f66447164efff8869517f175ea632c7cb7b"}, - {file = "multidict-6.0.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:37b15024f864916b4951adb95d3a80c9431299080341ab9544ed148091b53f50"}, - {file = "multidict-6.0.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f2a1dee728b52b33eebff5072817176c172050d44d67befd681609b4746e1c2e"}, - {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:edd08e6f2f1a390bf137080507e44ccc086353c8e98c657e666c017718561b89"}, - {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:60d698e8179a42ec85172d12f50b1668254628425a6bd611aba022257cac1386"}, - {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:3d25f19500588cbc47dc19081d78131c32637c25804df8414463ec908631e453"}, - {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:4cc0ef8b962ac7a5e62b9e826bd0cd5040e7d401bc45a6835910ed699037a461"}, - {file = "multidict-6.0.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:eca2e9d0cc5a889850e9bbd68e98314ada174ff6ccd1129500103df7a94a7a44"}, - {file = "multidict-6.0.5-cp38-cp38-win32.whl", hash = "sha256:4a6a4f196f08c58c59e0b8ef8ec441d12aee4125a7d4f4fef000ccb22f8d7241"}, - {file = "multidict-6.0.5-cp38-cp38-win_amd64.whl", hash = "sha256:0275e35209c27a3f7951e1ce7aaf93ce0d163b28948444bec61dd7badc6d3f8c"}, - {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e7be68734bd8c9a513f2b0cfd508802d6609da068f40dc57d4e3494cefc92929"}, - {file = "multidict-6.0.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1d9ea7a7e779d7a3561aade7d596649fbecfa5c08a7674b11b423783217933f9"}, - {file = "multidict-6.0.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ea1456df2a27c73ce51120fa2f519f1bea2f4a03a917f4a43c8707cf4cbbae1a"}, - {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf590b134eb70629e350691ecca88eac3e3b8b3c86992042fb82e3cb1830d5e1"}, - {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5c0631926c4f58e9a5ccce555ad7747d9a9f8b10619621f22f9635f069f6233e"}, - {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dce1c6912ab9ff5f179eaf6efe7365c1f425ed690b03341911bf4939ef2f3046"}, - {file = "multidict-6.0.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0868d64af83169e4d4152ec612637a543f7a336e4a307b119e98042e852ad9c"}, - {file = "multidict-6.0.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:141b43360bfd3bdd75f15ed811850763555a251e38b2405967f8e25fb43f7d40"}, - {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7df704ca8cf4a073334e0427ae2345323613e4df18cc224f647f251e5e75a527"}, - {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:6214c5a5571802c33f80e6c84713b2c79e024995b9c5897f794b43e714daeec9"}, - {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:cd6c8fca38178e12c00418de737aef1261576bd1b6e8c6134d3e729a4e858b38"}, - {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:e02021f87a5b6932fa6ce916ca004c4d441509d33bbdbeca70d05dff5e9d2479"}, - {file = "multidict-6.0.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ebd8d160f91a764652d3e51ce0d2956b38efe37c9231cd82cfc0bed2e40b581c"}, - {file = "multidict-6.0.5-cp39-cp39-win32.whl", hash = "sha256:04da1bb8c8dbadf2a18a452639771951c662c5ad03aefe4884775454be322c9b"}, - {file = "multidict-6.0.5-cp39-cp39-win_amd64.whl", hash = "sha256:d6f6d4f185481c9669b9447bf9d9cf3b95a0e9df9d169bbc17e363b7d5487755"}, - {file = "multidict-6.0.5-py3-none-any.whl", hash = "sha256:0d63c74e3d7ab26de115c49bffc92cc77ed23395303d496eae515d4204a625e7"}, - {file = "multidict-6.0.5.tar.gz", hash = "sha256:f7e301075edaf50500f0b341543c41194d8df3ae5caf4702f2095f3ca73dd8da"}, + {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3380252550e372e8511d49481bd836264c009adb826b23fefcc5dd3c69692f60"}, + {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:99f826cbf970077383d7de805c0681799491cb939c25450b9b5b3ced03ca99f1"}, + {file = "multidict-6.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a114d03b938376557927ab23f1e950827c3b893ccb94b62fd95d430fd0e5cf53"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1c416351ee6271b2f49b56ad7f308072f6f44b37118d69c2cad94f3fa8a40d5"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6b5d83030255983181005e6cfbac1617ce9746b219bc2aad52201ad121226581"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3e97b5e938051226dc025ec80980c285b053ffb1e25a3db2a3aa3bc046bf7f56"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d618649d4e70ac6efcbba75be98b26ef5078faad23592f9b51ca492953012429"}, + {file = "multidict-6.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10524ebd769727ac77ef2278390fb0068d83f3acb7773792a5080f2b0abf7748"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ff3827aef427c89a25cc96ded1759271a93603aba9fb977a6d264648ebf989db"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:06809f4f0f7ab7ea2cabf9caca7d79c22c0758b58a71f9d32943ae13c7ace056"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f179dee3b863ab1c59580ff60f9d99f632f34ccb38bf67a33ec6b3ecadd0fd76"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:aaed8b0562be4a0876ee3b6946f6869b7bcdb571a5d1496683505944e268b160"}, + {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3c8b88a2ccf5493b6c8da9076fb151ba106960a2df90c2633f342f120751a9e7"}, + {file = "multidict-6.1.0-cp310-cp310-win32.whl", hash = "sha256:4a9cb68166a34117d6646c0023c7b759bf197bee5ad4272f420a0141d7eb03a0"}, + {file = "multidict-6.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:20b9b5fbe0b88d0bdef2012ef7dee867f874b72528cf1d08f1d59b0e3850129d"}, + {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3efe2c2cb5763f2f1b275ad2bf7a287d3f7ebbef35648a9726e3b69284a4f3d6"}, + {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7053d3b0353a8b9de430a4f4b4268ac9a4fb3481af37dfe49825bf45ca24156"}, + {file = "multidict-6.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:27e5fc84ccef8dfaabb09d82b7d179c7cf1a3fbc8a966f8274fcb4ab2eb4cadb"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e2b90b43e696f25c62656389d32236e049568b39320e2735d51f08fd362761b"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d83a047959d38a7ff552ff94be767b7fd79b831ad1cd9920662db05fec24fe72"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d1a9dd711d0877a1ece3d2e4fea11a8e75741ca21954c919406b44e7cf971304"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec2abea24d98246b94913b76a125e855eb5c434f7c46546046372fe60f666351"}, + {file = "multidict-6.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4867cafcbc6585e4b678876c489b9273b13e9fff9f6d6d66add5e15d11d926cb"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5b48204e8d955c47c55b72779802b219a39acc3ee3d0116d5080c388970b76e3"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d8fff389528cad1618fb4b26b95550327495462cd745d879a8c7c2115248e399"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a7a9541cd308eed5e30318430a9c74d2132e9a8cb46b901326272d780bf2d423"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:da1758c76f50c39a2efd5e9859ce7d776317eb1dd34317c8152ac9251fc574a3"}, + {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c943a53e9186688b45b323602298ab727d8865d8c9ee0b17f8d62d14b56f0753"}, + {file = "multidict-6.1.0-cp311-cp311-win32.whl", hash = "sha256:90f8717cb649eea3504091e640a1b8568faad18bd4b9fcd692853a04475a4b80"}, + {file = "multidict-6.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:82176036e65644a6cc5bd619f65f6f19781e8ec2e5330f51aa9ada7504cc1926"}, + {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b04772ed465fa3cc947db808fa306d79b43e896beb677a56fb2347ca1a49c1fa"}, + {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6180c0ae073bddeb5a97a38c03f30c233e0a4d39cd86166251617d1bbd0af436"}, + {file = "multidict-6.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:071120490b47aa997cca00666923a83f02c7fbb44f71cf7f136df753f7fa8761"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50b3a2710631848991d0bf7de077502e8994c804bb805aeb2925a981de58ec2e"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b58c621844d55e71c1b7f7c498ce5aa6985d743a1a59034c57a905b3f153c1ef"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55b6d90641869892caa9ca42ff913f7ff1c5ece06474fbd32fb2cf6834726c95"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b820514bfc0b98a30e3d85462084779900347e4d49267f747ff54060cc33925"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10a9b09aba0c5b48c53761b7c720aaaf7cf236d5fe394cd399c7ba662d5f9966"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e16bf3e5fc9f44632affb159d30a437bfe286ce9e02754759be5536b169b305"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76f364861c3bfc98cbbcbd402d83454ed9e01a5224bb3a28bf70002a230f73e2"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:820c661588bd01a0aa62a1283f20d2be4281b086f80dad9e955e690c75fb54a2"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0e5f362e895bc5b9e67fe6e4ded2492d8124bdf817827f33c5b46c2fe3ffaca6"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ec660d19bbc671e3a6443325f07263be452c453ac9e512f5eb935e7d4ac28b3"}, + {file = "multidict-6.1.0-cp312-cp312-win32.whl", hash = "sha256:58130ecf8f7b8112cdb841486404f1282b9c86ccb30d3519faf301b2e5659133"}, + {file = "multidict-6.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:188215fc0aafb8e03341995e7c4797860181562380f81ed0a87ff455b70bf1f1"}, + {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:d569388c381b24671589335a3be6e1d45546c2988c2ebe30fdcada8457a31008"}, + {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:052e10d2d37810b99cc170b785945421141bf7bb7d2f8799d431e7db229c385f"}, + {file = "multidict-6.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f90c822a402cb865e396a504f9fc8173ef34212a342d92e362ca498cad308e28"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b225d95519a5bf73860323e633a664b0d85ad3d5bede6d30d95b35d4dfe8805b"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:23bfd518810af7de1116313ebd9092cb9aa629beb12f6ed631ad53356ed6b86c"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c09fcfdccdd0b57867577b719c69e347a436b86cd83747f179dbf0cc0d4c1f3"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf6bea52ec97e95560af5ae576bdac3aa3aae0b6758c6efa115236d9e07dae44"}, + {file = "multidict-6.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57feec87371dbb3520da6192213c7d6fc892d5589a93db548331954de8248fd2"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0c3f390dc53279cbc8ba976e5f8035eab997829066756d811616b652b00a23a3"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:59bfeae4b25ec05b34f1956eaa1cb38032282cd4dfabc5056d0a1ec4d696d3aa"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b2f59caeaf7632cc633b5cf6fc449372b83bbdf0da4ae04d5be36118e46cc0aa"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:37bb93b2178e02b7b618893990941900fd25b6b9ac0fa49931a40aecdf083fe4"}, + {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4e9f48f58c2c523d5a06faea47866cd35b32655c46b443f163d08c6d0ddb17d6"}, + {file = "multidict-6.1.0-cp313-cp313-win32.whl", hash = "sha256:3a37ffb35399029b45c6cc33640a92bef403c9fd388acce75cdc88f58bd19a81"}, + {file = "multidict-6.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:e9aa71e15d9d9beaad2c6b9319edcdc0a49a43ef5c0a4c8265ca9ee7d6c67774"}, + {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:db7457bac39421addd0c8449933ac32d8042aae84a14911a757ae6ca3eef1392"}, + {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d094ddec350a2fb899fec68d8353c78233debde9b7d8b4beeafa70825f1c281a"}, + {file = "multidict-6.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5845c1fd4866bb5dd3125d89b90e57ed3138241540897de748cdf19de8a2fca2"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9079dfc6a70abe341f521f78405b8949f96db48da98aeb43f9907f342f627cdc"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3914f5aaa0f36d5d60e8ece6a308ee1c9784cd75ec8151062614657a114c4478"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c08be4f460903e5a9d0f76818db3250f12e9c344e79314d1d570fc69d7f4eae4"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d093be959277cb7dee84b801eb1af388b6ad3ca6a6b6bf1ed7585895789d027d"}, + {file = "multidict-6.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3702ea6872c5a2a4eeefa6ffd36b042e9773f05b1f37ae3ef7264b1163c2dcf6"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:2090f6a85cafc5b2db085124d752757c9d251548cedabe9bd31afe6363e0aff2"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:f67f217af4b1ff66c68a87318012de788dd95fcfeb24cc889011f4e1c7454dfd"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:189f652a87e876098bbc67b4da1049afb5f5dfbaa310dd67c594b01c10388db6"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:6bb5992037f7a9eff7991ebe4273ea7f51f1c1c511e6a2ce511d0e7bdb754492"}, + {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f4c2b9e770c4e393876e35a7046879d195cd123b4f116d299d442b335bcd"}, + {file = "multidict-6.1.0-cp38-cp38-win32.whl", hash = "sha256:e27bbb6d14416713a8bd7aaa1313c0fc8d44ee48d74497a0ff4c3a1b6ccb5167"}, + {file = "multidict-6.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:22f3105d4fb15c8f57ff3959a58fcab6ce36814486500cd7485651230ad4d4ef"}, + {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:4e18b656c5e844539d506a0a06432274d7bd52a7487e6828c63a63d69185626c"}, + {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a185f876e69897a6f3325c3f19f26a297fa058c5e456bfcff8015e9a27e83ae1"}, + {file = "multidict-6.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ab7c4ceb38d91570a650dba194e1ca87c2b543488fe9309b4212694174fd539c"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e617fb6b0b6953fffd762669610c1c4ffd05632c138d61ac7e14ad187870669c"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:16e5f4bf4e603eb1fdd5d8180f1a25f30056f22e55ce51fb3d6ad4ab29f7d96f"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f4c035da3f544b1882bac24115f3e2e8760f10a0107614fc9839fd232200b875"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:957cf8e4b6e123a9eea554fa7ebc85674674b713551de587eb318a2df3e00255"}, + {file = "multidict-6.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:483a6aea59cb89904e1ceabd2b47368b5600fb7de78a6e4a2c2987b2d256cf30"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:87701f25a2352e5bf7454caa64757642734da9f6b11384c1f9d1a8e699758057"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:682b987361e5fd7a139ed565e30d81fd81e9629acc7d925a205366877d8c8657"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce2186a7df133a9c895dea3331ddc5ddad42cdd0d1ea2f0a51e5d161e4762f28"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9f636b730f7e8cb19feb87094949ba54ee5357440b9658b2a32a5ce4bce53972"}, + {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:73eae06aa53af2ea5270cc066dcaf02cc60d2994bbb2c4ef5764949257d10f43"}, + {file = "multidict-6.1.0-cp39-cp39-win32.whl", hash = "sha256:1ca0083e80e791cffc6efce7660ad24af66c8d4079d2a750b29001b53ff59ada"}, + {file = "multidict-6.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:aa466da5b15ccea564bdab9c89175c762bc12825f4659c11227f515cee76fa4a"}, + {file = "multidict-6.1.0-py3-none-any.whl", hash = "sha256:48e171e52d1c4d33888e529b999e5900356b9ae588c2f09a52dcefb158b27506"}, + {file = "multidict-6.1.0.tar.gz", hash = "sha256:22ae2ebf9b0c69d206c003e2f6a914ea33f0a932d4aa16f236afc049d9958f4a"}, ] +[package.dependencies] +typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.11\""} + [[package]] name = "nodeenv" version = "1.9.1" @@ -989,19 +1001,19 @@ files = [ [[package]] name = "platformdirs" -version = "4.2.2" +version = "4.3.6" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false python-versions = ">=3.8" files = [ - {file = "platformdirs-4.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, - {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, + {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, + {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, ] [package.extras] -docs = ["furo (>=2023.9.10)", "proselint (>=0.13)", "sphinx (>=7.2.6)", "sphinx-autodoc-typehints (>=1.25.2)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=7.4.3)", "pytest-cov (>=4.1)", "pytest-mock (>=3.12)"] -type = ["mypy (>=1.8)"] +docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] +type = ["mypy (>=1.11.2)"] [[package]] name = "pluggy" @@ -1157,13 +1169,13 @@ dev = ["twine (>=3.4.1)"] [[package]] name = "pytest" -version = "8.3.2" +version = "8.3.3" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.8" files = [ - {file = "pytest-8.3.2-py3-none-any.whl", hash = "sha256:4ba08f9ae7dcf84ded419494d229b48d0903ea6407b030eaec46df5e6a73bba5"}, - {file = "pytest-8.3.2.tar.gz", hash = "sha256:c132345d12ce551242c87269de812483f5bcc87cdbb4722e48487ba194f9fdce"}, + {file = "pytest-8.3.3-py3-none-any.whl", hash = "sha256:a6853c7375b2663155079443d2e45de913a911a11d669df02a50814944db57b2"}, + {file = "pytest-8.3.3.tar.gz", hash = "sha256:70b98107bd648308a7952b06e6ca9a50bc660be218d53c257cc1fc94fda10181"}, ] [package.dependencies] @@ -1530,13 +1542,13 @@ files = [ [[package]] name = "urllib3" -version = "2.2.2" +version = "2.2.3" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = ">=3.8" files = [ - {file = "urllib3-2.2.2-py3-none-any.whl", hash = "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472"}, - {file = "urllib3-2.2.2.tar.gz", hash = "sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168"}, + {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, + {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, ] [package.extras] @@ -1547,13 +1559,13 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "virtualenv" -version = "20.26.3" +version = "20.26.5" description = "Virtual Python Environment builder" optional = false python-versions = ">=3.7" files = [ - {file = "virtualenv-20.26.3-py3-none-any.whl", hash = "sha256:8cc4a31139e796e9a7de2cd5cf2489de1217193116a8fd42328f1bd65f434589"}, - {file = "virtualenv-20.26.3.tar.gz", hash = "sha256:4c43a2a236279d9ea36a0d76f98d84bd6ca94ac4e0f4a3b9d46d05e10fea542a"}, + {file = "virtualenv-20.26.5-py3-none-any.whl", hash = "sha256:4f3ac17b81fba3ce3bd6f4ead2749a72da5929c01774948e243db9ba41df4ff6"}, + {file = "virtualenv-20.26.5.tar.gz", hash = "sha256:ce489cac131aa58f4b25e321d6d186171f78e6cb13fafbf32a840cee67733ff4"}, ] [package.dependencies] @@ -1809,103 +1821,103 @@ all = ["winrt-Windows.Foundation.Collections[all] (==2.2.0)", "winrt-Windows.Fou [[package]] name = "yarl" -version = "1.9.7" +version = "1.11.1" description = "Yet another URL library" optional = false python-versions = ">=3.8" files = [ - {file = "yarl-1.9.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:60c04415b31a1611ef5989a6084dd6f6b95652c6a18378b58985667b65b2ecb6"}, - {file = "yarl-1.9.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1787dcfdbe730207acb454548a6e19f80ae75e6d2d1f531c5a777bc1ab6f7952"}, - {file = "yarl-1.9.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f5ddad20363f9f1bbedc95789c897da62f939e6bc855793c3060ef8b9f9407bf"}, - {file = "yarl-1.9.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fdb156a06208fc9645ae7cc0fca45c40dd40d7a8c4db626e542525489ca81a9"}, - {file = "yarl-1.9.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:522fa3d300d898402ae4e0fa7c2c21311248ca43827dc362a667de87fdb4f1be"}, - {file = "yarl-1.9.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e7f9cabfb8b980791b97a3ae3eab2e38b2ba5eab1af9b7495bdc44e1ce7c89e3"}, - {file = "yarl-1.9.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1fc728857df4087da6544fc68f62d7017fa68d74201d5b878e18ed4822c31fb3"}, - {file = "yarl-1.9.7-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3dba2ebac677184d56374fa3e452b461f5d6a03aa132745e648ae8859361eb6b"}, - {file = "yarl-1.9.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a95167ae34667c5cc7d9206c024f793e8ffbadfb307d5c059de470345de58a21"}, - {file = "yarl-1.9.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:9d319ac113ca47352319cbea92d1925a37cb7bd61a8c2f3e3cd2e96eb33cccae"}, - {file = "yarl-1.9.7-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:2d71a5d818d82586ac46265ae01466e0bda0638760f18b21f1174e0dd58a9d2f"}, - {file = "yarl-1.9.7-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:ff03f1c1ac474c66d474929ae7e4dd195592c1c7cc8c36418528ed81b1ca0a79"}, - {file = "yarl-1.9.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:78250f635f221dde97d02c57aade3313310469bc291888dfe32acd1012594441"}, - {file = "yarl-1.9.7-cp310-cp310-win32.whl", hash = "sha256:f3aaf9fa960d55bd7876d55d7ea3cc046f3660df1ff73fc1b8c520a741ed1f21"}, - {file = "yarl-1.9.7-cp310-cp310-win_amd64.whl", hash = "sha256:e8362c941e07fbcde851597672a5e41b21dc292b7d5a1dc439b7a93c9a1af5d9"}, - {file = "yarl-1.9.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:596069ddeaf72b5eb36cd714dcd2b5751d0090d05a8d65113b582ed9e1c801fb"}, - {file = "yarl-1.9.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cb870907e8b86b2f32541403da9455afc1e535ce483e579bea0e6e79a0cc751c"}, - {file = "yarl-1.9.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ca5e86be84492fa403c4dcd4dcaf8e1b1c4ffc747b5176f7c3d09878c45719b0"}, - {file = "yarl-1.9.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a99cecfb51c84d00132db909e83ae388793ca86e48df7ae57f1be0beab0dcce5"}, - {file = "yarl-1.9.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:25508739e9b44d251172145f54c084b71747b09e4d237dc2abb045f46c36a66e"}, - {file = "yarl-1.9.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:60f3b5aec3146b6992640592856414870f5b20eb688c1f1d5f7ac010a7f86561"}, - {file = "yarl-1.9.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1557456afce5db3d655b5f8a31cdcaae1f47e57958760525c44b76e812b4987"}, - {file = "yarl-1.9.7-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:71bb1435a84688ed831220c5305d96161beb65cac4a966374475348aa3de4575"}, - {file = "yarl-1.9.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f87d8645a7a806ec8f66aac5e3b1dcb5014849ff53ffe2a1f0b86ca813f534c7"}, - {file = "yarl-1.9.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:58e3f01673873b8573da3abe138debc63e4e68541b2104a55df4c10c129513a4"}, - {file = "yarl-1.9.7-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:8af0bbd4d84f8abdd9b11be9488e32c76b1501889b73c9e2292a15fb925b378b"}, - {file = "yarl-1.9.7-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:7fc441408ed0d9c6d2d627a02e281c21f5de43eb5209c16636a17fc704f7d0f8"}, - {file = "yarl-1.9.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a9552367dc440870556da47bb289a806f08ad06fbc4054072d193d9e5dd619ba"}, - {file = "yarl-1.9.7-cp311-cp311-win32.whl", hash = "sha256:628619008680a11d07243391271b46f07f13b75deb9fe92ef342305058c70722"}, - {file = "yarl-1.9.7-cp311-cp311-win_amd64.whl", hash = "sha256:bc23d870864971c8455cfba17498ccefa53a5719ea9f5fce5e7e9c1606b5755f"}, - {file = "yarl-1.9.7-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0d8cf3d0b67996edc11957aece3fbce4c224d0451c7c3d6154ec3a35d0e55f6b"}, - {file = "yarl-1.9.7-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3a7748cd66fef49c877e59503e0cc76179caf1158d1080228e67e1db14554f08"}, - {file = "yarl-1.9.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a6fa3aeca8efabb0fbbb3b15e0956b0cb77f7d9db67c107503c30af07cd9e00"}, - {file = "yarl-1.9.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf37dd0008e5ac5c3880198976063c491b6a15b288d150d12833248cf2003acb"}, - {file = "yarl-1.9.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:87aa5308482f248f8c3bd9311cd6c7dfd98ea1a8e57e35fb11e4adcac3066003"}, - {file = "yarl-1.9.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:867b13c1b361f9ba5d2f84dc5408082f5d744c83f66de45edc2b96793a9c5e48"}, - {file = "yarl-1.9.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48ce93947554c2c85fe97fc4866646ec90840bc1162e4db349b37d692a811755"}, - {file = "yarl-1.9.7-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fcd3d94b848cba132f39a5b40d80b0847d001a91a6f35a2204505cdd46afe1b2"}, - {file = "yarl-1.9.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d06d6a8f98dd87646d98f0c468be14b201e47ec6092ad569adf835810ad0dffb"}, - {file = "yarl-1.9.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:91567ff4fce73d2e7ac67ed5983ad26ba2343bc28cb22e1e1184a9677df98d7c"}, - {file = "yarl-1.9.7-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:1d5594512541e63188fea640b7f066c218d2176203d6e6f82abf702ae3dca3b2"}, - {file = "yarl-1.9.7-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9c2743e43183e4afbb07d5605693299b8756baff0b086c25236c761feb0e3c56"}, - {file = "yarl-1.9.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:daa69a3a2204355af39f4cfe7f3870d87c53d77a597b5100b97e3faa9460428b"}, - {file = "yarl-1.9.7-cp312-cp312-win32.whl", hash = "sha256:36b16884336c15adf79a4bf1d592e0c1ffdb036a760e36a1361565b66785ec6c"}, - {file = "yarl-1.9.7-cp312-cp312-win_amd64.whl", hash = "sha256:2ead2f87a1174963cc406d18ac93d731fbb190633d3995fa052d10cefae69ed8"}, - {file = "yarl-1.9.7-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:808eddabcb6f7b2cdb6929b3e021ac824a2c07dc7bc83f7618e18438b1b65781"}, - {file = "yarl-1.9.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:395ab0d8ce6d104a988da429bcbfd445e03fb4c911148dfd523f69d13f772e47"}, - {file = "yarl-1.9.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:49827dfccbd59c4499605c13805e947349295466e490860a855b7c7e82ec9c75"}, - {file = "yarl-1.9.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f6b8bbdd425d0978311520ea99fb6c0e9e04e64aee84fac05f3157ace9f81b05"}, - {file = "yarl-1.9.7-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:71d33fd1c219b5b28ee98cd76da0c9398a4ed4792fd75c94135237db05ba5ca8"}, - {file = "yarl-1.9.7-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:62440431741d0b7d410e5cbad800885e3289048140a43390ecab4f0b96dde3bb"}, - {file = "yarl-1.9.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4db97210433366dfba55590e48285b89ad0146c52bf248dd0da492dd9f0f72cf"}, - {file = "yarl-1.9.7-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:653597b615809f2e5f4dba6cd805608b6fd3597128361a22cc612cf7c7a4d1bf"}, - {file = "yarl-1.9.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:df47612129e66f7ce7c9994d4cd4e6852f6e3bf97699375d86991481796eeec8"}, - {file = "yarl-1.9.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:5e338b6febbae6c9fe86924bac3ea9c1944e33255c249543cd82a4af6df6047b"}, - {file = "yarl-1.9.7-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:e649d37d04665dddb90994bbf0034331b6c14144cc6f3fbce400dc5f28dc05b7"}, - {file = "yarl-1.9.7-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:0a1b8fd849567be56342e988e72c9d28bd3c77b9296c38b9b42d2fe4813c9d3f"}, - {file = "yarl-1.9.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f9d715b2175dff9a49c6dafdc2ab3f04850ba2f3d4a77f69a5a1786b057a9d45"}, - {file = "yarl-1.9.7-cp313-cp313-win32.whl", hash = "sha256:bc9233638b07c2e4a3a14bef70f53983389bffa9e8cb90a2da3f67ac9c5e1842"}, - {file = "yarl-1.9.7-cp313-cp313-win_amd64.whl", hash = "sha256:62e110772330d7116f91e79cd83fef92545cb2f36414c95881477aa01971f75f"}, - {file = "yarl-1.9.7-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a564155cc2194ecd9c0d8f8dc57059b822a507de5f08120063675eb9540576aa"}, - {file = "yarl-1.9.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:03e917cc44a01e1be60a83ee1a17550b929490aaa5df2a109adc02137bddf06b"}, - {file = "yarl-1.9.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:eefda67ba0ba44ab781e34843c266a76f718772b348f7c5d798d8ea55b95517f"}, - {file = "yarl-1.9.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:316c82b499b6df41444db5dea26ee23ece9356e38cea43a8b2af9e6d8a3558e4"}, - {file = "yarl-1.9.7-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:10452727843bc847596b75e30a7fe92d91829f60747301d1bd60363366776b0b"}, - {file = "yarl-1.9.7-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:050f3e4d886be55728fef268587d061c5ce6f79a82baba71840801b63441c301"}, - {file = "yarl-1.9.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0aabe557446aa615693a82b4d3803c102fd0e7a6a503bf93d744d182a510184"}, - {file = "yarl-1.9.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:23404842228e6fa8ace235024519df37f3f8e173620407644d40ddca571ff0f4"}, - {file = "yarl-1.9.7-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:34736fcc9d6d7080ebbeb0998ecb91e4f14ad8f18648cf0b3099e2420a225d86"}, - {file = "yarl-1.9.7-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:48f7a158f3ca67509d21cb02a96964e4798b6f133691cc0c86cf36e26e26ec8f"}, - {file = "yarl-1.9.7-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:6639444d161c693cdabb073baaed1945c717d3982ecedf23a219bc55a242e728"}, - {file = "yarl-1.9.7-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:1cd450e10cb53d63962757c3f6f7870be49a3e448c46621d6bd46f8088d532de"}, - {file = "yarl-1.9.7-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:74d3ef5e81f81507cea04bf5ae22f18ef538607a7c754aac2b6e3029956a2842"}, - {file = "yarl-1.9.7-cp38-cp38-win32.whl", hash = "sha256:4052dbd0c900bece330e3071c636f99dff06e4628461a29b38c6e222a427cf98"}, - {file = "yarl-1.9.7-cp38-cp38-win_amd64.whl", hash = "sha256:dd08da4f2d171e19bd02083c921f1bef89f8f5f87000d0ffc49aa257bc5a9802"}, - {file = "yarl-1.9.7-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7ab906a956d2109c6ea11e24c66592b06336e2743509290117f0f7f47d2c1dd3"}, - {file = "yarl-1.9.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d8ad761493d5aaa7ab2a09736e62b8a220cb0b10ff8ccf6968c861cd8718b915"}, - {file = "yarl-1.9.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d35f9cdab0ec5e20cf6d2bd46456cf599052cf49a1698ef06b9592238d1cf1b1"}, - {file = "yarl-1.9.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a48d2b9f0ae29a456fb766ae461691378ecc6cf159dd9f938507d925607591c3"}, - {file = "yarl-1.9.7-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cf85599c9336b89b92c313519bcaa223d92fa5d98feb4935a47cce2e8722b4b8"}, - {file = "yarl-1.9.7-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8e8916b1ff7680b1f2b1608c82dc15c569b9f2cb2da100c747c291f1acf18a14"}, - {file = "yarl-1.9.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:29c80890e0a64fb0e5f71350d48da330995073881f8b8e623154aef631febfb0"}, - {file = "yarl-1.9.7-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9163d21aa40ff8528db2aee2b0b6752efe098055b41ab8e5422b2098457199fe"}, - {file = "yarl-1.9.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:65e3098969baf221bb45e3b2f60735fc2b154fc95902131ebc604bae4c629ea6"}, - {file = "yarl-1.9.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:cddebd096effe4be90fd378e4224cd575ac99e1c521598a6900e94959006e02e"}, - {file = "yarl-1.9.7-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:8525f955a2dcc281573b6aadeb8ab9c37e2d3428b64ca6a2feec2a794a69c1da"}, - {file = "yarl-1.9.7-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:5d585c7d834c13f24c7e3e0efaf1a4b7678866940802e11bd6c4d1f99c935e6b"}, - {file = "yarl-1.9.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:78805148e780a9ca66f3123e04741e344b66cf06b4fb13223e3a209f39a6da55"}, - {file = "yarl-1.9.7-cp39-cp39-win32.whl", hash = "sha256:3f53df493ec80b76969d6e1ae6e4411a55ab1360e02b80c84bd4b33d61a567ba"}, - {file = "yarl-1.9.7-cp39-cp39-win_amd64.whl", hash = "sha256:c81c28221a85add23a0922a6aeb2cdda7f9723e03e2dfae06fee5c57fe684262"}, - {file = "yarl-1.9.7-py3-none-any.whl", hash = "sha256:49935cc51d272264358962d050d726c3e5603a616f53e52ea88e9df1728aa2ee"}, - {file = "yarl-1.9.7.tar.gz", hash = "sha256:f28e602edeeec01fc96daf7728e8052bc2e12a672e2a138561a1ebaf30fd9df7"}, + {file = "yarl-1.11.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:400cd42185f92de559d29eeb529e71d80dfbd2f45c36844914a4a34297ca6f00"}, + {file = "yarl-1.11.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8258c86f47e080a258993eed877d579c71da7bda26af86ce6c2d2d072c11320d"}, + {file = "yarl-1.11.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2164cd9725092761fed26f299e3f276bb4b537ca58e6ff6b252eae9631b5c96e"}, + {file = "yarl-1.11.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08ea567c16f140af8ddc7cb58e27e9138a1386e3e6e53982abaa6f2377b38cc"}, + {file = "yarl-1.11.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:768ecc550096b028754ea28bf90fde071c379c62c43afa574edc6f33ee5daaec"}, + {file = "yarl-1.11.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2909fa3a7d249ef64eeb2faa04b7957e34fefb6ec9966506312349ed8a7e77bf"}, + {file = "yarl-1.11.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01a8697ec24f17c349c4f655763c4db70eebc56a5f82995e5e26e837c6eb0e49"}, + {file = "yarl-1.11.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e286580b6511aac7c3268a78cdb861ec739d3e5a2a53b4809faef6b49778eaff"}, + {file = "yarl-1.11.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4179522dc0305c3fc9782549175c8e8849252fefeb077c92a73889ccbcd508ad"}, + {file = "yarl-1.11.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:27fcb271a41b746bd0e2a92182df507e1c204759f460ff784ca614e12dd85145"}, + {file = "yarl-1.11.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f61db3b7e870914dbd9434b560075e0366771eecbe6d2b5561f5bc7485f39efd"}, + {file = "yarl-1.11.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:c92261eb2ad367629dc437536463dc934030c9e7caca861cc51990fe6c565f26"}, + {file = "yarl-1.11.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d95b52fbef190ca87d8c42f49e314eace4fc52070f3dfa5f87a6594b0c1c6e46"}, + {file = "yarl-1.11.1-cp310-cp310-win32.whl", hash = "sha256:489fa8bde4f1244ad6c5f6d11bb33e09cf0d1d0367edb197619c3e3fc06f3d91"}, + {file = "yarl-1.11.1-cp310-cp310-win_amd64.whl", hash = "sha256:476e20c433b356e16e9a141449f25161e6b69984fb4cdbd7cd4bd54c17844998"}, + {file = "yarl-1.11.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:946eedc12895873891aaceb39bceb484b4977f70373e0122da483f6c38faaa68"}, + {file = "yarl-1.11.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:21a7c12321436b066c11ec19c7e3cb9aec18884fe0d5b25d03d756a9e654edfe"}, + {file = "yarl-1.11.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c35f493b867912f6fda721a59cc7c4766d382040bdf1ddaeeaa7fa4d072f4675"}, + {file = "yarl-1.11.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25861303e0be76b60fddc1250ec5986c42f0a5c0c50ff57cc30b1be199c00e63"}, + {file = "yarl-1.11.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e4b53f73077e839b3f89c992223f15b1d2ab314bdbdf502afdc7bb18e95eae27"}, + {file = "yarl-1.11.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:327c724b01b8641a1bf1ab3b232fb638706e50f76c0b5bf16051ab65c868fac5"}, + {file = "yarl-1.11.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4307d9a3417eea87715c9736d050c83e8c1904e9b7aada6ce61b46361b733d92"}, + {file = "yarl-1.11.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48a28bed68ab8fb7e380775f0029a079f08a17799cb3387a65d14ace16c12e2b"}, + {file = "yarl-1.11.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:067b961853c8e62725ff2893226fef3d0da060656a9827f3f520fb1d19b2b68a"}, + {file = "yarl-1.11.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8215f6f21394d1f46e222abeb06316e77ef328d628f593502d8fc2a9117bde83"}, + {file = "yarl-1.11.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:498442e3af2a860a663baa14fbf23fb04b0dd758039c0e7c8f91cb9279799bff"}, + {file = "yarl-1.11.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:69721b8effdb588cb055cc22f7c5105ca6fdaa5aeb3ea09021d517882c4a904c"}, + {file = "yarl-1.11.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1e969fa4c1e0b1a391f3fcbcb9ec31e84440253325b534519be0d28f4b6b533e"}, + {file = "yarl-1.11.1-cp311-cp311-win32.whl", hash = "sha256:7d51324a04fc4b0e097ff8a153e9276c2593106a811704025bbc1d6916f45ca6"}, + {file = "yarl-1.11.1-cp311-cp311-win_amd64.whl", hash = "sha256:15061ce6584ece023457fb8b7a7a69ec40bf7114d781a8c4f5dcd68e28b5c53b"}, + {file = "yarl-1.11.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:a4264515f9117be204935cd230fb2a052dd3792789cc94c101c535d349b3dab0"}, + {file = "yarl-1.11.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f41fa79114a1d2eddb5eea7b912d6160508f57440bd302ce96eaa384914cd265"}, + {file = "yarl-1.11.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:02da8759b47d964f9173c8675710720b468aa1c1693be0c9c64abb9d8d9a4867"}, + {file = "yarl-1.11.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9361628f28f48dcf8b2f528420d4d68102f593f9c2e592bfc842f5fb337e44fd"}, + {file = "yarl-1.11.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b91044952da03b6f95fdba398d7993dd983b64d3c31c358a4c89e3c19b6f7aef"}, + {file = "yarl-1.11.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:74db2ef03b442276d25951749a803ddb6e270d02dda1d1c556f6ae595a0d76a8"}, + {file = "yarl-1.11.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e975a2211952a8a083d1b9d9ba26472981ae338e720b419eb50535de3c02870"}, + {file = "yarl-1.11.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8aef97ba1dd2138112890ef848e17d8526fe80b21f743b4ee65947ea184f07a2"}, + {file = "yarl-1.11.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a7915ea49b0c113641dc4d9338efa9bd66b6a9a485ffe75b9907e8573ca94b84"}, + {file = "yarl-1.11.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:504cf0d4c5e4579a51261d6091267f9fd997ef58558c4ffa7a3e1460bd2336fa"}, + {file = "yarl-1.11.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:3de5292f9f0ee285e6bd168b2a77b2a00d74cbcfa420ed078456d3023d2f6dff"}, + {file = "yarl-1.11.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:a34e1e30f1774fa35d37202bbeae62423e9a79d78d0874e5556a593479fdf239"}, + {file = "yarl-1.11.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:66b63c504d2ca43bf7221a1f72fbe981ff56ecb39004c70a94485d13e37ebf45"}, + {file = "yarl-1.11.1-cp312-cp312-win32.whl", hash = "sha256:a28b70c9e2213de425d9cba5ab2e7f7a1c8ca23a99c4b5159bf77b9c31251447"}, + {file = "yarl-1.11.1-cp312-cp312-win_amd64.whl", hash = "sha256:17b5a386d0d36fb828e2fb3ef08c8829c1ebf977eef88e5367d1c8c94b454639"}, + {file = "yarl-1.11.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1fa2e7a406fbd45b61b4433e3aa254a2c3e14c4b3186f6e952d08a730807fa0c"}, + {file = "yarl-1.11.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:750f656832d7d3cb0c76be137ee79405cc17e792f31e0a01eee390e383b2936e"}, + {file = "yarl-1.11.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0b8486f322d8f6a38539136a22c55f94d269addb24db5cb6f61adc61eabc9d93"}, + {file = "yarl-1.11.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3fce4da3703ee6048ad4138fe74619c50874afe98b1ad87b2698ef95bf92c96d"}, + {file = "yarl-1.11.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8ed653638ef669e0efc6fe2acb792275cb419bf9cb5c5049399f3556995f23c7"}, + {file = "yarl-1.11.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18ac56c9dd70941ecad42b5a906820824ca72ff84ad6fa18db33c2537ae2e089"}, + {file = "yarl-1.11.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:688654f8507464745ab563b041d1fb7dab5d9912ca6b06e61d1c4708366832f5"}, + {file = "yarl-1.11.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4973eac1e2ff63cf187073cd4e1f1148dcd119314ab79b88e1b3fad74a18c9d5"}, + {file = "yarl-1.11.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:964a428132227edff96d6f3cf261573cb0f1a60c9a764ce28cda9525f18f7786"}, + {file = "yarl-1.11.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:6d23754b9939cbab02c63434776df1170e43b09c6a517585c7ce2b3d449b7318"}, + {file = "yarl-1.11.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c2dc4250fe94d8cd864d66018f8344d4af50e3758e9d725e94fecfa27588ff82"}, + {file = "yarl-1.11.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09696438cb43ea6f9492ef237761b043f9179f455f405279e609f2bc9100212a"}, + {file = "yarl-1.11.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:999bfee0a5b7385a0af5ffb606393509cfde70ecca4f01c36985be6d33e336da"}, + {file = "yarl-1.11.1-cp313-cp313-win32.whl", hash = "sha256:ce928c9c6409c79e10f39604a7e214b3cb69552952fbda8d836c052832e6a979"}, + {file = "yarl-1.11.1-cp313-cp313-win_amd64.whl", hash = "sha256:501c503eed2bb306638ccb60c174f856cc3246c861829ff40eaa80e2f0330367"}, + {file = "yarl-1.11.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:dae7bd0daeb33aa3e79e72877d3d51052e8b19c9025ecf0374f542ea8ec120e4"}, + {file = "yarl-1.11.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3ff6b1617aa39279fe18a76c8d165469c48b159931d9b48239065767ee455b2b"}, + {file = "yarl-1.11.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3257978c870728a52dcce8c2902bf01f6c53b65094b457bf87b2644ee6238ddc"}, + {file = "yarl-1.11.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f351fa31234699d6084ff98283cb1e852270fe9e250a3b3bf7804eb493bd937"}, + {file = "yarl-1.11.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8aef1b64da41d18026632d99a06b3fefe1d08e85dd81d849fa7c96301ed22f1b"}, + {file = "yarl-1.11.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7175a87ab8f7fbde37160a15e58e138ba3b2b0e05492d7351314a250d61b1591"}, + {file = "yarl-1.11.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba444bdd4caa2a94456ef67a2f383710928820dd0117aae6650a4d17029fa25e"}, + {file = "yarl-1.11.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0ea9682124fc062e3d931c6911934a678cb28453f957ddccf51f568c2f2b5e05"}, + {file = "yarl-1.11.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8418c053aeb236b20b0ab8fa6bacfc2feaaf7d4683dd96528610989c99723d5f"}, + {file = "yarl-1.11.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:61a5f2c14d0a1adfdd82258f756b23a550c13ba4c86c84106be4c111a3a4e413"}, + {file = "yarl-1.11.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f3a6d90cab0bdf07df8f176eae3a07127daafcf7457b997b2bf46776da2c7eb7"}, + {file = "yarl-1.11.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:077da604852be488c9a05a524068cdae1e972b7dc02438161c32420fb4ec5e14"}, + {file = "yarl-1.11.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:15439f3c5c72686b6c3ff235279630d08936ace67d0fe5c8d5bbc3ef06f5a420"}, + {file = "yarl-1.11.1-cp38-cp38-win32.whl", hash = "sha256:238a21849dd7554cb4d25a14ffbfa0ef380bb7ba201f45b144a14454a72ffa5a"}, + {file = "yarl-1.11.1-cp38-cp38-win_amd64.whl", hash = "sha256:67459cf8cf31da0e2cbdb4b040507e535d25cfbb1604ca76396a3a66b8ba37a6"}, + {file = "yarl-1.11.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:884eab2ce97cbaf89f264372eae58388862c33c4f551c15680dd80f53c89a269"}, + {file = "yarl-1.11.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8a336eaa7ee7e87cdece3cedb395c9657d227bfceb6781295cf56abcd3386a26"}, + {file = "yarl-1.11.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:87f020d010ba80a247c4abc335fc13421037800ca20b42af5ae40e5fd75e7909"}, + {file = "yarl-1.11.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:637c7ddb585a62d4469f843dac221f23eec3cbad31693b23abbc2c366ad41ff4"}, + {file = "yarl-1.11.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:48dfd117ab93f0129084577a07287376cc69c08138694396f305636e229caa1a"}, + {file = "yarl-1.11.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75e0ae31fb5ccab6eda09ba1494e87eb226dcbd2372dae96b87800e1dcc98804"}, + {file = "yarl-1.11.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f46f81501160c28d0c0b7333b4f7be8983dbbc161983b6fb814024d1b4952f79"}, + {file = "yarl-1.11.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:04293941646647b3bfb1719d1d11ff1028e9c30199509a844da3c0f5919dc520"}, + {file = "yarl-1.11.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:250e888fa62d73e721f3041e3a9abf427788a1934b426b45e1b92f62c1f68366"}, + {file = "yarl-1.11.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:e8f63904df26d1a66aabc141bfd258bf738b9bc7bc6bdef22713b4f5ef789a4c"}, + {file = "yarl-1.11.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:aac44097d838dda26526cffb63bdd8737a2dbdf5f2c68efb72ad83aec6673c7e"}, + {file = "yarl-1.11.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:267b24f891e74eccbdff42241c5fb4f974de2d6271dcc7d7e0c9ae1079a560d9"}, + {file = "yarl-1.11.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6907daa4b9d7a688063ed098c472f96e8181733c525e03e866fb5db480a424df"}, + {file = "yarl-1.11.1-cp39-cp39-win32.whl", hash = "sha256:14438dfc5015661f75f85bc5adad0743678eefee266ff0c9a8e32969d5d69f74"}, + {file = "yarl-1.11.1-cp39-cp39-win_amd64.whl", hash = "sha256:94d0caaa912bfcdc702a4204cd5e2bb01eb917fc4f5ea2315aa23962549561b0"}, + {file = "yarl-1.11.1-py3-none-any.whl", hash = "sha256:72bf26f66456baa0584eff63e44545c9f0eaed9b73cb6601b647c91f14c11f38"}, + {file = "yarl-1.11.1.tar.gz", hash = "sha256:1bb2d9e212fb7449b8fb73bc461b51eaa17cc8430b4a87d87be7b25052d92f53"}, ] [package.dependencies] @@ -1914,13 +1926,13 @@ multidict = ">=4.0" [[package]] name = "zipp" -version = "3.20.1" +version = "3.20.2" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false python-versions = ">=3.8" files = [ - {file = "zipp-3.20.1-py3-none-any.whl", hash = "sha256:9960cd8967c8f85a56f920d5d507274e74f9ff813a0ab8889a5b5be2daf44064"}, - {file = "zipp-3.20.1.tar.gz", hash = "sha256:c22b14cc4763c5a5b04134207736c107db42e9d3ef2d9779d465f5f1bcba572b"}, + {file = "zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350"}, + {file = "zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29"}, ] [package.extras] From 67d354ed1f5d52be9166bceea8c6f5a9171c76db Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 18 Sep 2024 14:42:49 +0000 Subject: [PATCH 16/97] chore(deps): update pre-commit-ci/lite-action action to v1.0.3 --- .github/workflows/pre-commit.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 939faf2..f5f06a2 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -18,5 +18,5 @@ jobs: - uses: pre-commit/action@v3.0.1 - - uses: pre-commit-ci/lite-action@v1.0.2 + - uses: pre-commit-ci/lite-action@v1.0.3 if: always() From 97b3c3967732ebad1f2c3b124583221dea516670 Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Wed, 18 Sep 2024 16:42:54 +0200 Subject: [PATCH 17/97] chore: Update ruff/pyright --- .pre-commit-config.yaml | 4 ++-- poetry.lock | 46 ++++++++++++++++++++--------------------- pyproject.toml | 4 ++-- 3 files changed, 27 insertions(+), 27 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 41eeaa0..8b8d69d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,11 +1,11 @@ repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.6.3 + rev: v0.6.5 hooks: - id: ruff args: ["--fix"] - id: ruff-format - repo: https://github.com/RobertCraigie/pyright-python - rev: v1.1.378 + rev: v1.1.381 hooks: - id: pyright diff --git a/poetry.lock b/poetry.lock index 40b8adb..a241774 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1151,13 +1151,13 @@ pyobjc-framework-Cocoa = ">=10.3.1" [[package]] name = "pyright" -version = "1.1.378" +version = "1.1.381" description = "Command line wrapper for pyright" optional = false python-versions = ">=3.7" files = [ - {file = "pyright-1.1.378-py3-none-any.whl", hash = "sha256:8853776138b01bc284da07ac481235be7cc89d3176b073d2dba73636cb95be79"}, - {file = "pyright-1.1.378.tar.gz", hash = "sha256:78a043be2876d12d0af101d667e92c7734f3ebb9db71dccc2c220e7e7eb89ca2"}, + {file = "pyright-1.1.381-py3-none-any.whl", hash = "sha256:5dc0aa80a265675d36abab59c674ae01dbe476714f91845b61b841d34aa99081"}, + {file = "pyright-1.1.381.tar.gz", hash = "sha256:314cf0c1351c189524fb10c7ac20688ecd470e8cc505c394d642c9c80bf7c3a5"}, ] [package.dependencies] @@ -1274,29 +1274,29 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "ruff" -version = "0.6.4" +version = "0.6.5" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.6.4-py3-none-linux_armv6l.whl", hash = "sha256:c4b153fc152af51855458e79e835fb6b933032921756cec9af7d0ba2aa01a258"}, - {file = "ruff-0.6.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:bedff9e4f004dad5f7f76a9d39c4ca98af526c9b1695068198b3bda8c085ef60"}, - {file = "ruff-0.6.4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d02a4127a86de23002e694d7ff19f905c51e338c72d8e09b56bfb60e1681724f"}, - {file = "ruff-0.6.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7862f42fc1a4aca1ea3ffe8a11f67819d183a5693b228f0bb3a531f5e40336fc"}, - {file = "ruff-0.6.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eebe4ff1967c838a1a9618a5a59a3b0a00406f8d7eefee97c70411fefc353617"}, - {file = "ruff-0.6.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:932063a03bac394866683e15710c25b8690ccdca1cf192b9a98260332ca93408"}, - {file = "ruff-0.6.4-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:50e30b437cebef547bd5c3edf9ce81343e5dd7c737cb36ccb4fe83573f3d392e"}, - {file = "ruff-0.6.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c44536df7b93a587de690e124b89bd47306fddd59398a0fb12afd6133c7b3818"}, - {file = "ruff-0.6.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ea086601b22dc5e7693a78f3fcfc460cceabfdf3bdc36dc898792aba48fbad6"}, - {file = "ruff-0.6.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b52387d3289ccd227b62102c24714ed75fbba0b16ecc69a923a37e3b5e0aaaa"}, - {file = "ruff-0.6.4-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:0308610470fcc82969082fc83c76c0d362f562e2f0cdab0586516f03a4e06ec6"}, - {file = "ruff-0.6.4-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:803b96dea21795a6c9d5bfa9e96127cc9c31a1987802ca68f35e5c95aed3fc0d"}, - {file = "ruff-0.6.4-py3-none-musllinux_1_2_i686.whl", hash = "sha256:66dbfea86b663baab8fcae56c59f190caba9398df1488164e2df53e216248baa"}, - {file = "ruff-0.6.4-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:34d5efad480193c046c86608dbba2bccdc1c5fd11950fb271f8086e0c763a5d1"}, - {file = "ruff-0.6.4-py3-none-win32.whl", hash = "sha256:f0f8968feea5ce3777c0d8365653d5e91c40c31a81d95824ba61d871a11b8523"}, - {file = "ruff-0.6.4-py3-none-win_amd64.whl", hash = "sha256:549daccee5227282289390b0222d0fbee0275d1db6d514550d65420053021a58"}, - {file = "ruff-0.6.4-py3-none-win_arm64.whl", hash = "sha256:ac4b75e898ed189b3708c9ab3fc70b79a433219e1e87193b4f2b77251d058d14"}, - {file = "ruff-0.6.4.tar.gz", hash = "sha256:ac3b5bfbee99973f80aa1b7cbd1c9cbce200883bdd067300c22a6cc1c7fba212"}, + {file = "ruff-0.6.5-py3-none-linux_armv6l.whl", hash = "sha256:7e4e308f16e07c95fc7753fc1aaac690a323b2bb9f4ec5e844a97bb7fbebd748"}, + {file = "ruff-0.6.5-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:932cd69eefe4daf8c7d92bd6689f7e8182571cb934ea720af218929da7bd7d69"}, + {file = "ruff-0.6.5-py3-none-macosx_11_0_arm64.whl", hash = "sha256:3a8d42d11fff8d3143ff4da41742a98f8f233bf8890e9fe23077826818f8d680"}, + {file = "ruff-0.6.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a50af6e828ee692fb10ff2dfe53f05caecf077f4210fae9677e06a808275754f"}, + {file = "ruff-0.6.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:794ada3400a0d0b89e3015f1a7e01f4c97320ac665b7bc3ade24b50b54cb2972"}, + {file = "ruff-0.6.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:381413ec47f71ce1d1c614f7779d88886f406f1fd53d289c77e4e533dc6ea200"}, + {file = "ruff-0.6.5-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:52e75a82bbc9b42e63c08d22ad0ac525117e72aee9729a069d7c4f235fc4d276"}, + {file = "ruff-0.6.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09c72a833fd3551135ceddcba5ebdb68ff89225d30758027280968c9acdc7810"}, + {file = "ruff-0.6.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:800c50371bdcb99b3c1551d5691e14d16d6f07063a518770254227f7f6e8c178"}, + {file = "ruff-0.6.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e25ddd9cd63ba1f3bd51c1f09903904a6adf8429df34f17d728a8fa11174253"}, + {file = "ruff-0.6.5-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:7291e64d7129f24d1b0c947ec3ec4c0076e958d1475c61202497c6aced35dd19"}, + {file = "ruff-0.6.5-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:9ad7dfbd138d09d9a7e6931e6a7e797651ce29becd688be8a0d4d5f8177b4b0c"}, + {file = "ruff-0.6.5-py3-none-musllinux_1_2_i686.whl", hash = "sha256:005256d977021790cc52aa23d78f06bb5090dc0bfbd42de46d49c201533982ae"}, + {file = "ruff-0.6.5-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:482c1e6bfeb615eafc5899127b805d28e387bd87db38b2c0c41d271f5e58d8cc"}, + {file = "ruff-0.6.5-py3-none-win32.whl", hash = "sha256:cf4d3fa53644137f6a4a27a2b397381d16454a1566ae5335855c187fbf67e4f5"}, + {file = "ruff-0.6.5-py3-none-win_amd64.whl", hash = "sha256:3e42a57b58e3612051a636bc1ac4e6b838679530235520e8f095f7c44f706ff9"}, + {file = "ruff-0.6.5-py3-none-win_arm64.whl", hash = "sha256:51935067740773afdf97493ba9b8231279e9beef0f2a8079188c4776c25688e0"}, + {file = "ruff-0.6.5.tar.gz", hash = "sha256:4d32d87fab433c0cf285c3683dd4dae63be05fd7a1d65b3f5bf7cdd05a6b96fb"}, ] [[package]] @@ -1946,4 +1946,4 @@ type = ["pytest-mypy"] [metadata] lock-version = "2.0" python-versions = ">=3.9,<3.13" -content-hash = "9d31e27e5dcfdfdf576817300a35493f5bb364bc6f18e2fb98b2135ce3be33a7" +content-hash = "8dad7b10d19cbe2f65240e0495c9780c24ae08a44c32dbb23dc482e3019b04eb" diff --git a/pyproject.toml b/pyproject.toml index 5bab38b..0942296 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,8 +20,8 @@ optional = true [tool.poetry.group.dev.dependencies] pre-commit = "^3.8.0" -pyright = "1.1.378" -ruff = "0.6.4" +pyright = "1.1.381" +ruff = "0.6.5" tomli = "^2.0.1" packaging = "^24.1" From 1e198e87c9497ba2788aeaf3ea1e9cc64115860f Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Wed, 18 Sep 2024 16:47:10 +0200 Subject: [PATCH 18/97] ci: Do not run on branches other than main --- .github/workflows/pre-commit.yml | 1 + .github/workflows/test.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 939faf2..7ff88de 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -3,6 +3,7 @@ name: Pre-commit on: workflow_dispatch: push: + branches: [main] pull_request: jobs: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a199491..1a3c9df 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -3,6 +3,7 @@ name: Run unit tests on: workflow_dispatch: push: + branches: [main] pull_request: jobs: From 12de1db111369ecdc00aebd925974bf9cf2e07ba Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Wed, 18 Sep 2024 16:50:53 +0200 Subject: [PATCH 19/97] bump: `v0.7.5` --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 0942296..5d15b3e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "FindMy" -version = "0.7.4" +version = "0.7.5" description = "Everything you need to work with Apple's Find My network!" authors = ["Mike Almeloo "] readme = "README.md" From 0ab2055d3eb2a3149f087742e7bd659508c32808 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 11 Nov 2024 19:52:54 +0000 Subject: [PATCH 20/97] chore(deps): update dependency tomli to v2.1.0 --- poetry.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/poetry.lock b/poetry.lock index a241774..4ffe5b4 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1520,13 +1520,13 @@ test = ["coverage[toml]", "pytest", "pytest-cov"] [[package]] name = "tomli" -version = "2.0.1" +version = "2.1.0" description = "A lil' TOML parser" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, - {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, + {file = "tomli-2.1.0-py3-none-any.whl", hash = "sha256:a5c57c3d1c56f5ccdf89f6523458f60ef716e210fc47c4cfb188c5ba473e0391"}, + {file = "tomli-2.1.0.tar.gz", hash = "sha256:3f646cae2aec94e17d04973e4249548320197cfabdf130015d023de4b74d8ab8"}, ] [[package]] From 7cd4ecefde736b461926fe203e462b11798fa598 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 15 Nov 2024 12:42:43 +0000 Subject: [PATCH 21/97] chore(deps): update dependency ruff to v0.7.4 --- poetry.lock | 40 ++++++++++++++++++++-------------------- pyproject.toml | 2 +- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/poetry.lock b/poetry.lock index a241774..6130f12 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1274,29 +1274,29 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "ruff" -version = "0.6.5" +version = "0.7.4" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.6.5-py3-none-linux_armv6l.whl", hash = "sha256:7e4e308f16e07c95fc7753fc1aaac690a323b2bb9f4ec5e844a97bb7fbebd748"}, - {file = "ruff-0.6.5-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:932cd69eefe4daf8c7d92bd6689f7e8182571cb934ea720af218929da7bd7d69"}, - {file = "ruff-0.6.5-py3-none-macosx_11_0_arm64.whl", hash = "sha256:3a8d42d11fff8d3143ff4da41742a98f8f233bf8890e9fe23077826818f8d680"}, - {file = "ruff-0.6.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a50af6e828ee692fb10ff2dfe53f05caecf077f4210fae9677e06a808275754f"}, - {file = "ruff-0.6.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:794ada3400a0d0b89e3015f1a7e01f4c97320ac665b7bc3ade24b50b54cb2972"}, - {file = "ruff-0.6.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:381413ec47f71ce1d1c614f7779d88886f406f1fd53d289c77e4e533dc6ea200"}, - {file = "ruff-0.6.5-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:52e75a82bbc9b42e63c08d22ad0ac525117e72aee9729a069d7c4f235fc4d276"}, - {file = "ruff-0.6.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09c72a833fd3551135ceddcba5ebdb68ff89225d30758027280968c9acdc7810"}, - {file = "ruff-0.6.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:800c50371bdcb99b3c1551d5691e14d16d6f07063a518770254227f7f6e8c178"}, - {file = "ruff-0.6.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e25ddd9cd63ba1f3bd51c1f09903904a6adf8429df34f17d728a8fa11174253"}, - {file = "ruff-0.6.5-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:7291e64d7129f24d1b0c947ec3ec4c0076e958d1475c61202497c6aced35dd19"}, - {file = "ruff-0.6.5-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:9ad7dfbd138d09d9a7e6931e6a7e797651ce29becd688be8a0d4d5f8177b4b0c"}, - {file = "ruff-0.6.5-py3-none-musllinux_1_2_i686.whl", hash = "sha256:005256d977021790cc52aa23d78f06bb5090dc0bfbd42de46d49c201533982ae"}, - {file = "ruff-0.6.5-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:482c1e6bfeb615eafc5899127b805d28e387bd87db38b2c0c41d271f5e58d8cc"}, - {file = "ruff-0.6.5-py3-none-win32.whl", hash = "sha256:cf4d3fa53644137f6a4a27a2b397381d16454a1566ae5335855c187fbf67e4f5"}, - {file = "ruff-0.6.5-py3-none-win_amd64.whl", hash = "sha256:3e42a57b58e3612051a636bc1ac4e6b838679530235520e8f095f7c44f706ff9"}, - {file = "ruff-0.6.5-py3-none-win_arm64.whl", hash = "sha256:51935067740773afdf97493ba9b8231279e9beef0f2a8079188c4776c25688e0"}, - {file = "ruff-0.6.5.tar.gz", hash = "sha256:4d32d87fab433c0cf285c3683dd4dae63be05fd7a1d65b3f5bf7cdd05a6b96fb"}, + {file = "ruff-0.7.4-py3-none-linux_armv6l.whl", hash = "sha256:a4919925e7684a3f18e18243cd6bea7cfb8e968a6eaa8437971f681b7ec51478"}, + {file = "ruff-0.7.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:cfb365c135b830778dda8c04fb7d4280ed0b984e1aec27f574445231e20d6c63"}, + {file = "ruff-0.7.4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:63a569b36bc66fbadec5beaa539dd81e0527cb258b94e29e0531ce41bacc1f20"}, + {file = "ruff-0.7.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d06218747d361d06fd2fdac734e7fa92df36df93035db3dc2ad7aa9852cb109"}, + {file = "ruff-0.7.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e0cea28d0944f74ebc33e9f934238f15c758841f9f5edd180b5315c203293452"}, + {file = "ruff-0.7.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:80094ecd4793c68b2571b128f91754d60f692d64bc0d7272ec9197fdd09bf9ea"}, + {file = "ruff-0.7.4-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:997512325c6620d1c4c2b15db49ef59543ef9cd0f4aa8065ec2ae5103cedc7e7"}, + {file = "ruff-0.7.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:00b4cf3a6b5fad6d1a66e7574d78956bbd09abfd6c8a997798f01f5da3d46a05"}, + {file = "ruff-0.7.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7dbdc7d8274e1422722933d1edddfdc65b4336abf0b16dfcb9dedd6e6a517d06"}, + {file = "ruff-0.7.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e92dfb5f00eaedb1501b2f906ccabfd67b2355bdf117fea9719fc99ac2145bc"}, + {file = "ruff-0.7.4-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:3bd726099f277d735dc38900b6a8d6cf070f80828877941983a57bca1cd92172"}, + {file = "ruff-0.7.4-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:2e32829c429dd081ee5ba39aef436603e5b22335c3d3fff013cd585806a6486a"}, + {file = "ruff-0.7.4-py3-none-musllinux_1_2_i686.whl", hash = "sha256:662a63b4971807623f6f90c1fb664613f67cc182dc4d991471c23c541fee62dd"}, + {file = "ruff-0.7.4-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:876f5e09eaae3eb76814c1d3b68879891d6fde4824c015d48e7a7da4cf066a3a"}, + {file = "ruff-0.7.4-py3-none-win32.whl", hash = "sha256:75c53f54904be42dd52a548728a5b572344b50d9b2873d13a3f8c5e3b91f5cac"}, + {file = "ruff-0.7.4-py3-none-win_amd64.whl", hash = "sha256:745775c7b39f914238ed1f1b0bebed0b9155a17cd8bc0b08d3c87e4703b990d6"}, + {file = "ruff-0.7.4-py3-none-win_arm64.whl", hash = "sha256:11bff065102c3ae9d3ea4dc9ecdfe5a5171349cdd0787c1fc64761212fc9cf1f"}, + {file = "ruff-0.7.4.tar.gz", hash = "sha256:cd12e35031f5af6b9b93715d8c4f40360070b2041f81273d0527683d5708fce2"}, ] [[package]] @@ -1946,4 +1946,4 @@ type = ["pytest-mypy"] [metadata] lock-version = "2.0" python-versions = ">=3.9,<3.13" -content-hash = "8dad7b10d19cbe2f65240e0495c9780c24ae08a44c32dbb23dc482e3019b04eb" +content-hash = "369440b91196f5e5ca8612cb7df7a28b3d18e0ea7c84bd6b965de4676d45702a" diff --git a/pyproject.toml b/pyproject.toml index 5d15b3e..3fdab27 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,7 +21,7 @@ optional = true [tool.poetry.group.dev.dependencies] pre-commit = "^3.8.0" pyright = "1.1.381" -ruff = "0.6.5" +ruff = "0.7.4" tomli = "^2.0.1" packaging = "^24.1" From f45b9723f73e05ea80060870f6e41e737fb52a1a Mon Sep 17 00:00:00 2001 From: Philip Magyar Date: Wed, 20 Nov 2024 09:04:05 +0100 Subject: [PATCH 22/97] fix confidance/horizontal acc, add mac address --- findmy/keys.py | 8 +++++++- findmy/reports/reports.py | 14 +++++++++++--- findmy/util/parsers.py | 3 +++ 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/findmy/keys.py b/findmy/keys.py index e0febc1..1ebc81d 100644 --- a/findmy/keys.py +++ b/findmy/keys.py @@ -12,7 +12,7 @@ from typing import Generator, Generic, TypeVar, overload from cryptography.hazmat.primitives.asymmetric import ec from typing_extensions import override -from .util import crypto +from .util import crypto, parsers class KeyType(Enum): @@ -70,6 +70,12 @@ class HasPublicKey(HasHashedPublicKey, ABC): def adv_key_b64(self) -> str: """Return the advertised (public) key as a base64-encoded string.""" return base64.b64encode(self.adv_key_bytes).decode("ascii") + + @property + def mac_address(self) -> str: + """Get the mac address from the public key.""" + first_hex = self.adv_key_bytes[0] | 0b11000000 + return parsers.format_hex_byte(first_hex) + ":" + ":".join([parsers.format_hex_byte(x) for x in self.adv_key_bytes[1:6]]) @property @override diff --git a/findmy/reports/reports.py b/findmy/reports/reports.py index 3f17be3..0403839 100644 --- a/findmy/reports/reports.py +++ b/findmy/reports/reports.py @@ -121,6 +121,14 @@ class LocationReport(HasHashedPublicKey): """The `datetime` when this report was recorded by a device.""" timestamp_int = int.from_bytes(self._payload[0:4], "big") + (60 * 60 * 24 * 11323) return datetime.fromtimestamp(timestamp_int, tz=timezone.utc).astimezone() + + @property + def confidence(self) -> int: + """Confidence of the location of this report. Int between 1 and 3""" + # If the payload length is 88, the confidence is the 5th byte, otherwise it's the 6th byte + if (len(self._payload) == 88): + return self.payload[4] + return self.payload[5] @property def latitude(self) -> float: @@ -145,10 +153,10 @@ class LocationReport(HasHashedPublicKey): return struct.unpack(">i", lon_bytes)[0] / 10000000 @property - def confidence(self) -> int: - """Confidence of the location of this report.""" + def horizontal_accuracy(self) -> int: + """Horizontal accuracy of the location of this report.""" if not self.is_decrypted: - msg = "Confidence is unavailable while the report is encrypted." + msg = "Horizontal accuracy is unavailable while the report is encrypted." raise RuntimeError(msg) assert self._decrypted_data is not None diff --git a/findmy/util/parsers.py b/findmy/util/parsers.py index 2f06769..563db93 100644 --- a/findmy/util/parsers.py +++ b/findmy/util/parsers.py @@ -15,3 +15,6 @@ def decode_plist(data: bytes) -> Any: # noqa: ANN401 data = plist_header + data return plistlib.loads(data) + +def format_hex_byte(byte): + return f'{byte:02x}'.upper() \ No newline at end of file From a4b753287ec4adbc514fc8da553e2c039329ec88 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci-lite[bot]" <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Date: Wed, 20 Nov 2024 08:06:31 +0000 Subject: [PATCH 23/97] [pre-commit.ci lite] apply automatic fixes --- findmy/keys.py | 8 ++++++-- findmy/reports/reports.py | 4 ++-- findmy/util/parsers.py | 3 ++- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/findmy/keys.py b/findmy/keys.py index 1ebc81d..1b53f33 100644 --- a/findmy/keys.py +++ b/findmy/keys.py @@ -70,12 +70,16 @@ class HasPublicKey(HasHashedPublicKey, ABC): def adv_key_b64(self) -> str: """Return the advertised (public) key as a base64-encoded string.""" return base64.b64encode(self.adv_key_bytes).decode("ascii") - + @property def mac_address(self) -> str: """Get the mac address from the public key.""" first_hex = self.adv_key_bytes[0] | 0b11000000 - return parsers.format_hex_byte(first_hex) + ":" + ":".join([parsers.format_hex_byte(x) for x in self.adv_key_bytes[1:6]]) + return ( + parsers.format_hex_byte(first_hex) + + ":" + + ":".join([parsers.format_hex_byte(x) for x in self.adv_key_bytes[1:6]]) + ) @property @override diff --git a/findmy/reports/reports.py b/findmy/reports/reports.py index 0403839..307db87 100644 --- a/findmy/reports/reports.py +++ b/findmy/reports/reports.py @@ -121,12 +121,12 @@ class LocationReport(HasHashedPublicKey): """The `datetime` when this report was recorded by a device.""" timestamp_int = int.from_bytes(self._payload[0:4], "big") + (60 * 60 * 24 * 11323) return datetime.fromtimestamp(timestamp_int, tz=timezone.utc).astimezone() - + @property def confidence(self) -> int: """Confidence of the location of this report. Int between 1 and 3""" # If the payload length is 88, the confidence is the 5th byte, otherwise it's the 6th byte - if (len(self._payload) == 88): + if len(self._payload) == 88: return self.payload[4] return self.payload[5] diff --git a/findmy/util/parsers.py b/findmy/util/parsers.py index 563db93..b1abb43 100644 --- a/findmy/util/parsers.py +++ b/findmy/util/parsers.py @@ -16,5 +16,6 @@ def decode_plist(data: bytes) -> Any: # noqa: ANN401 return plistlib.loads(data) + def format_hex_byte(byte): - return f'{byte:02x}'.upper() \ No newline at end of file + return f"{byte:02x}".upper() From 263cd5bd16a159a931f3833419e41dd7e6126e62 Mon Sep 17 00:00:00 2001 From: Philip Magyar Date: Wed, 20 Nov 2024 09:12:19 +0100 Subject: [PATCH 24/97] fix commit errors --- findmy/reports/reports.py | 2 +- findmy/util/parsers.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/findmy/reports/reports.py b/findmy/reports/reports.py index 307db87..14a9f2a 100644 --- a/findmy/reports/reports.py +++ b/findmy/reports/reports.py @@ -124,7 +124,7 @@ class LocationReport(HasHashedPublicKey): @property def confidence(self) -> int: - """Confidence of the location of this report. Int between 1 and 3""" + """Confidence of the location of this report. Int between 1 and 3.""" # If the payload length is 88, the confidence is the 5th byte, otherwise it's the 6th byte if len(self._payload) == 88: return self.payload[4] diff --git a/findmy/util/parsers.py b/findmy/util/parsers.py index b1abb43..fdd7ecb 100644 --- a/findmy/util/parsers.py +++ b/findmy/util/parsers.py @@ -17,5 +17,6 @@ def decode_plist(data: bytes) -> Any: # noqa: ANN401 return plistlib.loads(data) -def format_hex_byte(byte): +def format_hex_byte(byte: int) -> str: + """Format a byte as a two character hex string in uppercase.""" return f"{byte:02x}".upper() From 78d472ba0dfb588631ace514ced0a54a17713661 Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Wed, 20 Nov 2024 21:15:37 +0100 Subject: [PATCH 25/97] Nitpicking --- findmy/keys.py | 8 ++------ findmy/reports/reports.py | 4 ++-- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/findmy/keys.py b/findmy/keys.py index 1b53f33..89f9fc0 100644 --- a/findmy/keys.py +++ b/findmy/keys.py @@ -74,12 +74,8 @@ class HasPublicKey(HasHashedPublicKey, ABC): @property def mac_address(self) -> str: """Get the mac address from the public key.""" - first_hex = self.adv_key_bytes[0] | 0b11000000 - return ( - parsers.format_hex_byte(first_hex) - + ":" - + ":".join([parsers.format_hex_byte(x) for x in self.adv_key_bytes[1:6]]) - ) + first_byte = (self.adv_key_bytes[0] | 0b11000000).to_bytes(1) + return ":".join([parsers.format_hex_byte(x) for x in first_byte + self.adv_key_bytes[1:6]]) @property @override diff --git a/findmy/reports/reports.py b/findmy/reports/reports.py index 14a9f2a..931ad40 100644 --- a/findmy/reports/reports.py +++ b/findmy/reports/reports.py @@ -127,8 +127,8 @@ class LocationReport(HasHashedPublicKey): """Confidence of the location of this report. Int between 1 and 3.""" # If the payload length is 88, the confidence is the 5th byte, otherwise it's the 6th byte if len(self._payload) == 88: - return self.payload[4] - return self.payload[5] + return self._payload[4] + return self._payload[5] @property def latitude(self) -> float: From 6210c2f876e5973de79a68567273b952384706fc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 20 Nov 2024 20:20:52 +0000 Subject: [PATCH 26/97] chore(deps): update dependency pyright to v1.1.389 --- poetry.lock | 12 +++++++----- pyproject.toml | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/poetry.lock b/poetry.lock index 6130f12..bec77fc 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1151,21 +1151,23 @@ pyobjc-framework-Cocoa = ">=10.3.1" [[package]] name = "pyright" -version = "1.1.381" +version = "1.1.389" description = "Command line wrapper for pyright" optional = false python-versions = ">=3.7" files = [ - {file = "pyright-1.1.381-py3-none-any.whl", hash = "sha256:5dc0aa80a265675d36abab59c674ae01dbe476714f91845b61b841d34aa99081"}, - {file = "pyright-1.1.381.tar.gz", hash = "sha256:314cf0c1351c189524fb10c7ac20688ecd470e8cc505c394d642c9c80bf7c3a5"}, + {file = "pyright-1.1.389-py3-none-any.whl", hash = "sha256:41e9620bba9254406dc1f621a88ceab5a88af4c826feb4f614d95691ed243a60"}, + {file = "pyright-1.1.389.tar.gz", hash = "sha256:716bf8cc174ab8b4dcf6828c3298cac05c5ed775dda9910106a5dcfe4c7fe220"}, ] [package.dependencies] nodeenv = ">=1.6.0" +typing-extensions = ">=4.1" [package.extras] -all = ["twine (>=3.4.1)"] +all = ["nodejs-wheel-binaries", "twine (>=3.4.1)"] dev = ["twine (>=3.4.1)"] +nodejs = ["nodejs-wheel-binaries"] [[package]] name = "pytest" @@ -1946,4 +1948,4 @@ type = ["pytest-mypy"] [metadata] lock-version = "2.0" python-versions = ">=3.9,<3.13" -content-hash = "369440b91196f5e5ca8612cb7df7a28b3d18e0ea7c84bd6b965de4676d45702a" +content-hash = "a736677453b1393df21bea62a2f87bacccea4bd7615b16efe6ab07170ea651a6" diff --git a/pyproject.toml b/pyproject.toml index 3fdab27..d89135e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,7 +20,7 @@ optional = true [tool.poetry.group.dev.dependencies] pre-commit = "^3.8.0" -pyright = "1.1.381" +pyright = "1.1.389" ruff = "0.7.4" tomli = "^2.0.1" packaging = "^24.1" From 98f63474860fb3480a72be7a0d7f0e37bc37b741 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 20 Nov 2024 20:23:20 +0000 Subject: [PATCH 27/97] chore(deps): update dependency sphinx-autoapi to v3.3.3 --- poetry.lock | 13 +++++-------- pyproject.toml | 2 +- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/poetry.lock b/poetry.lock index cae271c..ea3d8d5 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1372,13 +1372,13 @@ test = ["cython (>=3.0)", "defusedxml (>=0.7.1)", "pytest (>=8.0)", "setuptools [[package]] name = "sphinx-autoapi" -version = "3.3.1" +version = "3.3.3" description = "Sphinx API documentation generator" optional = false python-versions = ">=3.8" files = [ - {file = "sphinx_autoapi-3.3.1-py2.py3-none-any.whl", hash = "sha256:c31a5f41eabc9705d277b75f98e983d653e9af24e294dd576b2afa1719f72c1f"}, - {file = "sphinx_autoapi-3.3.1.tar.gz", hash = "sha256:e44a225827d0ef7178748225a66f30c95454dfd00ee3c22afbdfb8056f7dffb5"}, + {file = "sphinx_autoapi-3.3.3-py3-none-any.whl", hash = "sha256:5c7349b42d45a492a611cb81fb48583d5148e9eab7fc6b1f326dc9273b9191e3"}, + {file = "sphinx_autoapi-3.3.3.tar.gz", hash = "sha256:c44fd719580e9a3684ff82019f4f7f39fc970e3030ffd325936654a6f4d31f22"}, ] [package.dependencies] @@ -1389,10 +1389,7 @@ astroid = [ Jinja2 = "*" PyYAML = "*" sphinx = ">=6.1.0" -stdlib-list = {version = "*", markers = "python_version < \"3.10\""} - -[package.extras] -docs = ["furo", "sphinx", "sphinx-design"] +stdlib_list = {version = "*", markers = "python_version < \"3.10\""} [[package]] name = "sphinxcontrib-applehelp" @@ -1948,4 +1945,4 @@ type = ["pytest-mypy"] [metadata] lock-version = "2.0" python-versions = ">=3.9,<3.13" -content-hash = "a736677453b1393df21bea62a2f87bacccea4bd7615b16efe6ab07170ea651a6" +content-hash = "10d8a5dfa9e1da82bf9f8eb3597a13845118b00be57caf446aba1d5568104742" diff --git a/pyproject.toml b/pyproject.toml index d89135e..ebd20c4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,7 +36,7 @@ optional = true [tool.poetry.group.docs.dependencies] sphinx = "^7.2.6" -sphinx-autoapi = "3.3.1" +sphinx-autoapi = "3.3.3" [tool.pyright] venvPath = "." From bf49c69c39ca9d55c942c8fb5331bf9d59f32576 Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Thu, 5 Dec 2024 22:54:40 +0100 Subject: [PATCH 28/97] Add key generation margin when comparing against detected device --- findmy/scanner/scanner.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/findmy/scanner/scanner.py b/findmy/scanner/scanner.py index 810abbf..5b4c0af 100644 --- a/findmy/scanner/scanner.py +++ b/findmy/scanner/scanner.py @@ -6,7 +6,7 @@ import asyncio import logging import time from abc import ABC, abstractmethod -from datetime import datetime +from datetime import datetime, timedelta from typing import TYPE_CHECKING, Any, AsyncGenerator from bleak import BleakScanner @@ -240,7 +240,12 @@ class SeparatedOfflineFindingDevice(OfflineFindingDevice, HasPublicKey): if isinstance(other_device, HasPublicKey): return self.adv_key_bytes == other_device.adv_key_bytes if isinstance(other_device, RollingKeyPairSource): - return any(self.is_from(key) for key in other_device.keys_at(self.detected_at)) + # 12 hour margin around the detected time + potential_keys = other_device.keys_between( + self.detected_at - timedelta(hours=12), + self.detected_at + timedelta(hours=12), + ) + return any(self.is_from(key) for key in potential_keys) msg = f"Cannot compare against {type(other_device)}" raise ValueError(msg) From f8694bae03415dd73e253b6d89175f723ef93310 Mon Sep 17 00:00:00 2001 From: Cambridge Yang Date: Fri, 6 Dec 2024 10:35:28 -0500 Subject: [PATCH 29/97] reset device_fut when timeout is reached --- findmy/scanner/scanner.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/findmy/scanner/scanner.py b/findmy/scanner/scanner.py index 810abbf..c4bdd87 100644 --- a/findmy/scanner/scanner.py +++ b/findmy/scanner/scanner.py @@ -393,7 +393,8 @@ class OfflineFindingScanner: yield device time_left = stop_at - time.time() - except (asyncio.CancelledError, asyncio.TimeoutError): # timeout reached + except asyncio.TimeoutError: # timeout reached + self._device_fut = self._loop.create_future() return finally: await self._stop_scan() From c88f7c6e35b6b34df2a6cf2a0e6765af679977d3 Mon Sep 17 00:00:00 2001 From: Mike Almeloo Date: Sun, 22 Dec 2024 21:04:50 +0100 Subject: [PATCH 30/97] Delete .github/FUNDING.yml --- .github/FUNDING.yml | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index d90f350..0000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1 +0,0 @@ -github: [malmeloo] From a353b152b2a74e176dfe85b9d50b9d176e0374a3 Mon Sep 17 00:00:00 2001 From: Mike Almeloo Date: Sun, 22 Dec 2024 21:21:46 +0100 Subject: [PATCH 31/97] Add star history --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 8a95de5..61c034e 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,11 @@ [![](https://img.shields.io/github/license/malmeloo/FindMy.py)](LICENSE.md) [![](https://img.shields.io/pypi/pyversions/FindMy)](#) +
+ Star History + +
+ The all-in-one library that provides everything you need to query Apple's FindMy network! From 52dce281f8380c310a8533795c15c3050b55c8fb Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Mon, 23 Dec 2024 16:43:03 +0100 Subject: [PATCH 32/97] Upgrade dependencies --- poetry.lock | 1657 ++++++++++++++++++++++++++---------------------- pyproject.toml | 6 +- 2 files changed, 898 insertions(+), 765 deletions(-) diff --git a/poetry.lock b/poetry.lock index ea3d8d5..d797d0d 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,137 +1,123 @@ -# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand. [[package]] name = "aiohappyeyeballs" -version = "2.4.0" +version = "2.4.4" description = "Happy Eyeballs for asyncio" optional = false python-versions = ">=3.8" files = [ - {file = "aiohappyeyeballs-2.4.0-py3-none-any.whl", hash = "sha256:7ce92076e249169a13c2f49320d1967425eaf1f407522d707d59cac7628d62bd"}, - {file = "aiohappyeyeballs-2.4.0.tar.gz", hash = "sha256:55a1714f084e63d49639800f95716da97a1f173d46a16dfcfda0016abb93b6b2"}, + {file = "aiohappyeyeballs-2.4.4-py3-none-any.whl", hash = "sha256:a980909d50efcd44795c4afeca523296716d50cd756ddca6af8c65b996e27de8"}, + {file = "aiohappyeyeballs-2.4.4.tar.gz", hash = "sha256:5fdd7d87889c63183afc18ce9271f9b0a7d32c2303e394468dd45d514a757745"}, ] [[package]] name = "aiohttp" -version = "3.10.5" +version = "3.11.11" description = "Async http client/server framework (asyncio)" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "aiohttp-3.10.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:18a01eba2574fb9edd5f6e5fb25f66e6ce061da5dab5db75e13fe1558142e0a3"}, - {file = "aiohttp-3.10.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:94fac7c6e77ccb1ca91e9eb4cb0ac0270b9fb9b289738654120ba8cebb1189c6"}, - {file = "aiohttp-3.10.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2f1f1c75c395991ce9c94d3e4aa96e5c59c8356a15b1c9231e783865e2772699"}, - {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f7acae3cf1a2a2361ec4c8e787eaaa86a94171d2417aae53c0cca6ca3118ff6"}, - {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:94c4381ffba9cc508b37d2e536b418d5ea9cfdc2848b9a7fea6aebad4ec6aac1"}, - {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c31ad0c0c507894e3eaa843415841995bf8de4d6b2d24c6e33099f4bc9fc0d4f"}, - {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0912b8a8fadeb32ff67a3ed44249448c20148397c1ed905d5dac185b4ca547bb"}, - {file = "aiohttp-3.10.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d93400c18596b7dc4794d48a63fb361b01a0d8eb39f28800dc900c8fbdaca91"}, - {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d00f3c5e0d764a5c9aa5a62d99728c56d455310bcc288a79cab10157b3af426f"}, - {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:d742c36ed44f2798c8d3f4bc511f479b9ceef2b93f348671184139e7d708042c"}, - {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:814375093edae5f1cb31e3407997cf3eacefb9010f96df10d64829362ae2df69"}, - {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8224f98be68a84b19f48e0bdc14224b5a71339aff3a27df69989fa47d01296f3"}, - {file = "aiohttp-3.10.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d9a487ef090aea982d748b1b0d74fe7c3950b109df967630a20584f9a99c0683"}, - {file = "aiohttp-3.10.5-cp310-cp310-win32.whl", hash = "sha256:d9ef084e3dc690ad50137cc05831c52b6ca428096e6deb3c43e95827f531d5ef"}, - {file = "aiohttp-3.10.5-cp310-cp310-win_amd64.whl", hash = "sha256:66bf9234e08fe561dccd62083bf67400bdbf1c67ba9efdc3dac03650e97c6088"}, - {file = "aiohttp-3.10.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8c6a4e5e40156d72a40241a25cc226051c0a8d816610097a8e8f517aeacd59a2"}, - {file = "aiohttp-3.10.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c634a3207a5445be65536d38c13791904fda0748b9eabf908d3fe86a52941cf"}, - {file = "aiohttp-3.10.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4aff049b5e629ef9b3e9e617fa6e2dfeda1bf87e01bcfecaf3949af9e210105e"}, - {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1942244f00baaacaa8155eca94dbd9e8cc7017deb69b75ef67c78e89fdad3c77"}, - {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e04a1f2a65ad2f93aa20f9ff9f1b672bf912413e5547f60749fa2ef8a644e061"}, - {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7f2bfc0032a00405d4af2ba27f3c429e851d04fad1e5ceee4080a1c570476697"}, - {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:424ae21498790e12eb759040bbb504e5e280cab64693d14775c54269fd1d2bb7"}, - {file = "aiohttp-3.10.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:975218eee0e6d24eb336d0328c768ebc5d617609affaca5dbbd6dd1984f16ed0"}, - {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4120d7fefa1e2d8fb6f650b11489710091788de554e2b6f8347c7a20ceb003f5"}, - {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:b90078989ef3fc45cf9221d3859acd1108af7560c52397ff4ace8ad7052a132e"}, - {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:ba5a8b74c2a8af7d862399cdedce1533642fa727def0b8c3e3e02fcb52dca1b1"}, - {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:02594361128f780eecc2a29939d9dfc870e17b45178a867bf61a11b2a4367277"}, - {file = "aiohttp-3.10.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:8fb4fc029e135859f533025bc82047334e24b0d489e75513144f25408ecaf058"}, - {file = "aiohttp-3.10.5-cp311-cp311-win32.whl", hash = "sha256:e1ca1ef5ba129718a8fc827b0867f6aa4e893c56eb00003b7367f8a733a9b072"}, - {file = "aiohttp-3.10.5-cp311-cp311-win_amd64.whl", hash = "sha256:349ef8a73a7c5665cca65c88ab24abe75447e28aa3bc4c93ea5093474dfdf0ff"}, - {file = "aiohttp-3.10.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:305be5ff2081fa1d283a76113b8df7a14c10d75602a38d9f012935df20731487"}, - {file = "aiohttp-3.10.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3a1c32a19ee6bbde02f1cb189e13a71b321256cc1d431196a9f824050b160d5a"}, - {file = "aiohttp-3.10.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:61645818edd40cc6f455b851277a21bf420ce347baa0b86eaa41d51ef58ba23d"}, - {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6c225286f2b13bab5987425558baa5cbdb2bc925b2998038fa028245ef421e75"}, - {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8ba01ebc6175e1e6b7275c907a3a36be48a2d487549b656aa90c8a910d9f3178"}, - {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8eaf44ccbc4e35762683078b72bf293f476561d8b68ec8a64f98cf32811c323e"}, - {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1c43eb1ab7cbf411b8e387dc169acb31f0ca0d8c09ba63f9eac67829585b44f"}, - {file = "aiohttp-3.10.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de7a5299827253023c55ea549444e058c0eb496931fa05d693b95140a947cb73"}, - {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4790f0e15f00058f7599dab2b206d3049d7ac464dc2e5eae0e93fa18aee9e7bf"}, - {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:44b324a6b8376a23e6ba25d368726ee3bc281e6ab306db80b5819999c737d820"}, - {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:0d277cfb304118079e7044aad0b76685d30ecb86f83a0711fc5fb257ffe832ca"}, - {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:54d9ddea424cd19d3ff6128601a4a4d23d54a421f9b4c0fff740505813739a91"}, - {file = "aiohttp-3.10.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4f1c9866ccf48a6df2b06823e6ae80573529f2af3a0992ec4fe75b1a510df8a6"}, - {file = "aiohttp-3.10.5-cp312-cp312-win32.whl", hash = "sha256:dc4826823121783dccc0871e3f405417ac116055bf184ac04c36f98b75aacd12"}, - {file = "aiohttp-3.10.5-cp312-cp312-win_amd64.whl", hash = "sha256:22c0a23a3b3138a6bf76fc553789cb1a703836da86b0f306b6f0dc1617398abc"}, - {file = "aiohttp-3.10.5-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7f6b639c36734eaa80a6c152a238242bedcee9b953f23bb887e9102976343092"}, - {file = "aiohttp-3.10.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f29930bc2921cef955ba39a3ff87d2c4398a0394ae217f41cb02d5c26c8b1b77"}, - {file = "aiohttp-3.10.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f489a2c9e6455d87eabf907ac0b7d230a9786be43fbe884ad184ddf9e9c1e385"}, - {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:123dd5b16b75b2962d0fff566effb7a065e33cd4538c1692fb31c3bda2bfb972"}, - {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b98e698dc34966e5976e10bbca6d26d6724e6bdea853c7c10162a3235aba6e16"}, - {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3b9162bab7e42f21243effc822652dc5bb5e8ff42a4eb62fe7782bcbcdfacf6"}, - {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1923a5c44061bffd5eebeef58cecf68096e35003907d8201a4d0d6f6e387ccaa"}, - {file = "aiohttp-3.10.5-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d55f011da0a843c3d3df2c2cf4e537b8070a419f891c930245f05d329c4b0689"}, - {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:afe16a84498441d05e9189a15900640a2d2b5e76cf4efe8cbb088ab4f112ee57"}, - {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:f8112fb501b1e0567a1251a2fd0747baae60a4ab325a871e975b7bb67e59221f"}, - {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:1e72589da4c90337837fdfe2026ae1952c0f4a6e793adbbfbdd40efed7c63599"}, - {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:4d46c7b4173415d8e583045fbc4daa48b40e31b19ce595b8d92cf639396c15d5"}, - {file = "aiohttp-3.10.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:33e6bc4bab477c772a541f76cd91e11ccb6d2efa2b8d7d7883591dfb523e5987"}, - {file = "aiohttp-3.10.5-cp313-cp313-win32.whl", hash = "sha256:c58c6837a2c2a7cf3133983e64173aec11f9c2cd8e87ec2fdc16ce727bcf1a04"}, - {file = "aiohttp-3.10.5-cp313-cp313-win_amd64.whl", hash = "sha256:38172a70005252b6893088c0f5e8a47d173df7cc2b2bd88650957eb84fcf5022"}, - {file = "aiohttp-3.10.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:f6f18898ace4bcd2d41a122916475344a87f1dfdec626ecde9ee802a711bc569"}, - {file = "aiohttp-3.10.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:5ede29d91a40ba22ac1b922ef510aab871652f6c88ef60b9dcdf773c6d32ad7a"}, - {file = "aiohttp-3.10.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:673f988370f5954df96cc31fd99c7312a3af0a97f09e407399f61583f30da9bc"}, - {file = "aiohttp-3.10.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58718e181c56a3c02d25b09d4115eb02aafe1a732ce5714ab70326d9776457c3"}, - {file = "aiohttp-3.10.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4b38b1570242fbab8d86a84128fb5b5234a2f70c2e32f3070143a6d94bc854cf"}, - {file = "aiohttp-3.10.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:074d1bff0163e107e97bd48cad9f928fa5a3eb4b9d33366137ffce08a63e37fe"}, - {file = "aiohttp-3.10.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd31f176429cecbc1ba499d4aba31aaccfea488f418d60376b911269d3b883c5"}, - {file = "aiohttp-3.10.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7384d0b87d4635ec38db9263e6a3f1eb609e2e06087f0aa7f63b76833737b471"}, - {file = "aiohttp-3.10.5-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8989f46f3d7ef79585e98fa991e6ded55d2f48ae56d2c9fa5e491a6e4effb589"}, - {file = "aiohttp-3.10.5-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:c83f7a107abb89a227d6c454c613e7606c12a42b9a4ca9c5d7dad25d47c776ae"}, - {file = "aiohttp-3.10.5-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:cde98f323d6bf161041e7627a5fd763f9fd829bcfcd089804a5fdce7bb6e1b7d"}, - {file = "aiohttp-3.10.5-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:676f94c5480d8eefd97c0c7e3953315e4d8c2b71f3b49539beb2aa676c58272f"}, - {file = "aiohttp-3.10.5-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:2d21ac12dc943c68135ff858c3a989f2194a709e6e10b4c8977d7fcd67dfd511"}, - {file = "aiohttp-3.10.5-cp38-cp38-win32.whl", hash = "sha256:17e997105bd1a260850272bfb50e2a328e029c941c2708170d9d978d5a30ad9a"}, - {file = "aiohttp-3.10.5-cp38-cp38-win_amd64.whl", hash = "sha256:1c19de68896747a2aa6257ae4cf6ef59d73917a36a35ee9d0a6f48cff0f94db8"}, - {file = "aiohttp-3.10.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7e2fe37ac654032db1f3499fe56e77190282534810e2a8e833141a021faaab0e"}, - {file = "aiohttp-3.10.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f5bf3ead3cb66ab990ee2561373b009db5bc0e857549b6c9ba84b20bc462e172"}, - {file = "aiohttp-3.10.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1b2c16a919d936ca87a3c5f0e43af12a89a3ce7ccbce59a2d6784caba945b68b"}, - {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad146dae5977c4dd435eb31373b3fe9b0b1bf26858c6fc452bf6af394067e10b"}, - {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8c5c6fa16412b35999320f5c9690c0f554392dc222c04e559217e0f9ae244b92"}, - {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:95c4dc6f61d610bc0ee1edc6f29d993f10febfe5b76bb470b486d90bbece6b22"}, - {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da452c2c322e9ce0cfef392e469a26d63d42860f829026a63374fde6b5c5876f"}, - {file = "aiohttp-3.10.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:898715cf566ec2869d5cb4d5fb4be408964704c46c96b4be267442d265390f32"}, - {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:391cc3a9c1527e424c6865e087897e766a917f15dddb360174a70467572ac6ce"}, - {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:380f926b51b92d02a34119d072f178d80bbda334d1a7e10fa22d467a66e494db"}, - {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce91db90dbf37bb6fa0997f26574107e1b9d5ff939315247b7e615baa8ec313b"}, - {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9093a81e18c45227eebe4c16124ebf3e0d893830c6aca7cc310bfca8fe59d857"}, - {file = "aiohttp-3.10.5-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:ee40b40aa753d844162dcc80d0fe256b87cba48ca0054f64e68000453caead11"}, - {file = "aiohttp-3.10.5-cp39-cp39-win32.whl", hash = "sha256:03f2645adbe17f274444953bdea69f8327e9d278d961d85657cb0d06864814c1"}, - {file = "aiohttp-3.10.5-cp39-cp39-win_amd64.whl", hash = "sha256:d17920f18e6ee090bdd3d0bfffd769d9f2cb4c8ffde3eb203777a3895c128862"}, - {file = "aiohttp-3.10.5.tar.gz", hash = "sha256:f071854b47d39591ce9a17981c46790acb30518e2f83dfca8db2dfa091178691"}, + {file = "aiohttp-3.11.11-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a60804bff28662cbcf340a4d61598891f12eea3a66af48ecfdc975ceec21e3c8"}, + {file = "aiohttp-3.11.11-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4b4fa1cb5f270fb3eab079536b764ad740bb749ce69a94d4ec30ceee1b5940d5"}, + {file = "aiohttp-3.11.11-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:731468f555656767cda219ab42e033355fe48c85fbe3ba83a349631541715ba2"}, + {file = "aiohttp-3.11.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb23d8bb86282b342481cad4370ea0853a39e4a32a0042bb52ca6bdde132df43"}, + {file = "aiohttp-3.11.11-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f047569d655f81cb70ea5be942ee5d4421b6219c3f05d131f64088c73bb0917f"}, + {file = "aiohttp-3.11.11-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd7659baae9ccf94ae5fe8bfaa2c7bc2e94d24611528395ce88d009107e00c6d"}, + {file = "aiohttp-3.11.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af01e42ad87ae24932138f154105e88da13ce7d202a6de93fafdafb2883a00ef"}, + {file = "aiohttp-3.11.11-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5854be2f3e5a729800bac57a8d76af464e160f19676ab6aea74bde18ad19d438"}, + {file = "aiohttp-3.11.11-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:6526e5fb4e14f4bbf30411216780c9967c20c5a55f2f51d3abd6de68320cc2f3"}, + {file = "aiohttp-3.11.11-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:85992ee30a31835fc482468637b3e5bd085fa8fe9392ba0bdcbdc1ef5e9e3c55"}, + {file = "aiohttp-3.11.11-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:88a12ad8ccf325a8a5ed80e6d7c3bdc247d66175afedbe104ee2aaca72960d8e"}, + {file = "aiohttp-3.11.11-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:0a6d3fbf2232e3a08c41eca81ae4f1dff3d8f1a30bae415ebe0af2d2458b8a33"}, + {file = "aiohttp-3.11.11-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:84a585799c58b795573c7fa9b84c455adf3e1d72f19a2bf498b54a95ae0d194c"}, + {file = "aiohttp-3.11.11-cp310-cp310-win32.whl", hash = "sha256:bfde76a8f430cf5c5584553adf9926534352251d379dcb266ad2b93c54a29745"}, + {file = "aiohttp-3.11.11-cp310-cp310-win_amd64.whl", hash = "sha256:0fd82b8e9c383af11d2b26f27a478640b6b83d669440c0a71481f7c865a51da9"}, + {file = "aiohttp-3.11.11-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ba74ec819177af1ef7f59063c6d35a214a8fde6f987f7661f4f0eecc468a8f76"}, + {file = "aiohttp-3.11.11-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4af57160800b7a815f3fe0eba9b46bf28aafc195555f1824555fa2cfab6c1538"}, + {file = "aiohttp-3.11.11-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ffa336210cf9cd8ed117011085817d00abe4c08f99968deef0013ea283547204"}, + {file = "aiohttp-3.11.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81b8fe282183e4a3c7a1b72f5ade1094ed1c6345a8f153506d114af5bf8accd9"}, + {file = "aiohttp-3.11.11-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3af41686ccec6a0f2bdc66686dc0f403c41ac2089f80e2214a0f82d001052c03"}, + {file = "aiohttp-3.11.11-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:70d1f9dde0e5dd9e292a6d4d00058737052b01f3532f69c0c65818dac26dc287"}, + {file = "aiohttp-3.11.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:249cc6912405917344192b9f9ea5cd5b139d49e0d2f5c7f70bdfaf6b4dbf3a2e"}, + {file = "aiohttp-3.11.11-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0eb98d90b6690827dcc84c246811feeb4e1eea683c0eac6caed7549be9c84665"}, + {file = "aiohttp-3.11.11-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ec82bf1fda6cecce7f7b915f9196601a1bd1a3079796b76d16ae4cce6d0ef89b"}, + {file = "aiohttp-3.11.11-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:9fd46ce0845cfe28f108888b3ab17abff84ff695e01e73657eec3f96d72eef34"}, + {file = "aiohttp-3.11.11-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:bd176afcf8f5d2aed50c3647d4925d0db0579d96f75a31e77cbaf67d8a87742d"}, + {file = "aiohttp-3.11.11-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:ec2aa89305006fba9ffb98970db6c8221541be7bee4c1d027421d6f6df7d1ce2"}, + {file = "aiohttp-3.11.11-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:92cde43018a2e17d48bb09c79e4d4cb0e236de5063ce897a5e40ac7cb4878773"}, + {file = "aiohttp-3.11.11-cp311-cp311-win32.whl", hash = "sha256:aba807f9569455cba566882c8938f1a549f205ee43c27b126e5450dc9f83cc62"}, + {file = "aiohttp-3.11.11-cp311-cp311-win_amd64.whl", hash = "sha256:ae545f31489548c87b0cced5755cfe5a5308d00407000e72c4fa30b19c3220ac"}, + {file = "aiohttp-3.11.11-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e595c591a48bbc295ebf47cb91aebf9bd32f3ff76749ecf282ea7f9f6bb73886"}, + {file = "aiohttp-3.11.11-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3ea1b59dc06396b0b424740a10a0a63974c725b1c64736ff788a3689d36c02d2"}, + {file = "aiohttp-3.11.11-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8811f3f098a78ffa16e0ea36dffd577eb031aea797cbdba81be039a4169e242c"}, + {file = "aiohttp-3.11.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7227b87a355ce1f4bf83bfae4399b1f5bb42e0259cb9405824bd03d2f4336a"}, + {file = "aiohttp-3.11.11-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d40f9da8cabbf295d3a9dae1295c69975b86d941bc20f0a087f0477fa0a66231"}, + {file = "aiohttp-3.11.11-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ffb3dc385f6bb1568aa974fe65da84723210e5d9707e360e9ecb51f59406cd2e"}, + {file = "aiohttp-3.11.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8f5f7515f3552d899c61202d99dcb17d6e3b0de777900405611cd747cecd1b8"}, + {file = "aiohttp-3.11.11-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3499c7ffbfd9c6a3d8d6a2b01c26639da7e43d47c7b4f788016226b1e711caa8"}, + {file = "aiohttp-3.11.11-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8e2bf8029dbf0810c7bfbc3e594b51c4cc9101fbffb583a3923aea184724203c"}, + {file = "aiohttp-3.11.11-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b6212a60e5c482ef90f2d788835387070a88d52cf6241d3916733c9176d39eab"}, + {file = "aiohttp-3.11.11-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:d119fafe7b634dbfa25a8c597718e69a930e4847f0b88e172744be24515140da"}, + {file = "aiohttp-3.11.11-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:6fba278063559acc730abf49845d0e9a9e1ba74f85f0ee6efd5803f08b285853"}, + {file = "aiohttp-3.11.11-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:92fc484e34b733704ad77210c7957679c5c3877bd1e6b6d74b185e9320cc716e"}, + {file = "aiohttp-3.11.11-cp312-cp312-win32.whl", hash = "sha256:9f5b3c1ed63c8fa937a920b6c1bec78b74ee09593b3f5b979ab2ae5ef60d7600"}, + {file = "aiohttp-3.11.11-cp312-cp312-win_amd64.whl", hash = "sha256:1e69966ea6ef0c14ee53ef7a3d68b564cc408121ea56c0caa2dc918c1b2f553d"}, + {file = "aiohttp-3.11.11-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:541d823548ab69d13d23730a06f97460f4238ad2e5ed966aaf850d7c369782d9"}, + {file = "aiohttp-3.11.11-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:929f3ed33743a49ab127c58c3e0a827de0664bfcda566108989a14068f820194"}, + {file = "aiohttp-3.11.11-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0882c2820fd0132240edbb4a51eb8ceb6eef8181db9ad5291ab3332e0d71df5f"}, + {file = "aiohttp-3.11.11-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b63de12e44935d5aca7ed7ed98a255a11e5cb47f83a9fded7a5e41c40277d104"}, + {file = "aiohttp-3.11.11-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa54f8ef31d23c506910c21163f22b124facb573bff73930735cf9fe38bf7dff"}, + {file = "aiohttp-3.11.11-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a344d5dc18074e3872777b62f5f7d584ae4344cd6006c17ba12103759d407af3"}, + {file = "aiohttp-3.11.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b7fb429ab1aafa1f48578eb315ca45bd46e9c37de11fe45c7f5f4138091e2f1"}, + {file = "aiohttp-3.11.11-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c341c7d868750e31961d6d8e60ff040fb9d3d3a46d77fd85e1ab8e76c3e9a5c4"}, + {file = "aiohttp-3.11.11-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ed9ee95614a71e87f1a70bc81603f6c6760128b140bc4030abe6abaa988f1c3d"}, + {file = "aiohttp-3.11.11-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:de8d38f1c2810fa2a4f1d995a2e9c70bb8737b18da04ac2afbf3971f65781d87"}, + {file = "aiohttp-3.11.11-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:a9b7371665d4f00deb8f32208c7c5e652059b0fda41cf6dbcac6114a041f1cc2"}, + {file = "aiohttp-3.11.11-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:620598717fce1b3bd14dd09947ea53e1ad510317c85dda2c9c65b622edc96b12"}, + {file = "aiohttp-3.11.11-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:bf8d9bfee991d8acc72d060d53860f356e07a50f0e0d09a8dfedea1c554dd0d5"}, + {file = "aiohttp-3.11.11-cp313-cp313-win32.whl", hash = "sha256:9d73ee3725b7a737ad86c2eac5c57a4a97793d9f442599bea5ec67ac9f4bdc3d"}, + {file = "aiohttp-3.11.11-cp313-cp313-win_amd64.whl", hash = "sha256:c7a06301c2fb096bdb0bd25fe2011531c1453b9f2c163c8031600ec73af1cc99"}, + {file = "aiohttp-3.11.11-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3e23419d832d969f659c208557de4a123e30a10d26e1e14b73431d3c13444c2e"}, + {file = "aiohttp-3.11.11-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:21fef42317cf02e05d3b09c028712e1d73a9606f02467fd803f7c1f39cc59add"}, + {file = "aiohttp-3.11.11-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1f21bb8d0235fc10c09ce1d11ffbd40fc50d3f08a89e4cf3a0c503dc2562247a"}, + {file = "aiohttp-3.11.11-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1642eceeaa5ab6c9b6dfeaaa626ae314d808188ab23ae196a34c9d97efb68350"}, + {file = "aiohttp-3.11.11-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2170816e34e10f2fd120f603e951630f8a112e1be3b60963a1f159f5699059a6"}, + {file = "aiohttp-3.11.11-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8be8508d110d93061197fd2d6a74f7401f73b6d12f8822bbcd6d74f2b55d71b1"}, + {file = "aiohttp-3.11.11-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4eed954b161e6b9b65f6be446ed448ed3921763cc432053ceb606f89d793927e"}, + {file = "aiohttp-3.11.11-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6c9af134da4bc9b3bd3e6a70072509f295d10ee60c697826225b60b9959acdd"}, + {file = "aiohttp-3.11.11-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:44167fc6a763d534a6908bdb2592269b4bf30a03239bcb1654781adf5e49caf1"}, + {file = "aiohttp-3.11.11-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:479b8c6ebd12aedfe64563b85920525d05d394b85f166b7873c8bde6da612f9c"}, + {file = "aiohttp-3.11.11-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:10b4ff0ad793d98605958089fabfa350e8e62bd5d40aa65cdc69d6785859f94e"}, + {file = "aiohttp-3.11.11-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:b540bd67cfb54e6f0865ceccd9979687210d7ed1a1cc8c01f8e67e2f1e883d28"}, + {file = "aiohttp-3.11.11-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1dac54e8ce2ed83b1f6b1a54005c87dfed139cf3f777fdc8afc76e7841101226"}, + {file = "aiohttp-3.11.11-cp39-cp39-win32.whl", hash = "sha256:568c1236b2fde93b7720f95a890741854c1200fba4a3471ff48b2934d2d93fd3"}, + {file = "aiohttp-3.11.11-cp39-cp39-win_amd64.whl", hash = "sha256:943a8b052e54dfd6439fd7989f67fc6a7f2138d0a2cf0a7de5f18aa4fe7eb3b1"}, + {file = "aiohttp-3.11.11.tar.gz", hash = "sha256:bb49c7f1e6ebf3821a42d81d494f538107610c3a705987f53068546b0e90303e"}, ] [package.dependencies] aiohappyeyeballs = ">=2.3.0" aiosignal = ">=1.1.2" -async-timeout = {version = ">=4.0,<5.0", markers = "python_version < \"3.11\""} +async-timeout = {version = ">=4.0,<6.0", markers = "python_version < \"3.11\""} attrs = ">=17.3.0" frozenlist = ">=1.1.1" multidict = ">=4.5,<7.0" -yarl = ">=1.0,<2.0" +propcache = ">=0.2.0" +yarl = ">=1.17.0,<2.0" [package.extras] speedups = ["Brotli", "aiodns (>=3.2.0)", "brotlicffi"] [[package]] name = "aiosignal" -version = "1.3.1" +version = "1.3.2" description = "aiosignal: a list of registered asynchronous callbacks" optional = false -python-versions = ">=3.7" +python-versions = ">=3.9" files = [ - {file = "aiosignal-1.3.1-py3-none-any.whl", hash = "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"}, - {file = "aiosignal-1.3.1.tar.gz", hash = "sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc"}, + {file = "aiosignal-1.3.2-py2.py3-none-any.whl", hash = "sha256:45cde58e409a301715980c2b01d0c28bdde3770d8290b5eb2173759d9acb31a5"}, + {file = "aiosignal-1.3.2.tar.gz", hash = "sha256:a8c255c66fafb1e499c9351d0bf32ff2d8a0321595ebac3b93713656d2436f54"}, ] [package.dependencies] @@ -150,13 +136,13 @@ files = [ [[package]] name = "astroid" -version = "3.3.2" +version = "3.3.7" description = "An abstract syntax tree for Python with inference support." optional = false python-versions = ">=3.9.0" files = [ - {file = "astroid-3.3.2-py3-none-any.whl", hash = "sha256:9f8136ce9770e0f912401b25a0f15d5c2ec20b50e99b1b413ac0778fe53ff6f1"}, - {file = "astroid-3.3.2.tar.gz", hash = "sha256:99e9b5b602cbb005434084309213d6af32bf7a9b743c836749168b8e2b330cbd"}, + {file = "astroid-3.3.7-py3-none-any.whl", hash = "sha256:e1ea2c358a3c760ef583d4963e773100fa2c693b27ed158a1d0e81adb4436903"}, + {file = "astroid-3.3.7.tar.gz", hash = "sha256:29fe1df7ef64dc17a54dbfad67b40b445340fcdba7c4012e7ecc9270c9b2f5b6"}, ] [package.dependencies] @@ -175,19 +161,19 @@ files = [ [[package]] name = "attrs" -version = "24.2.0" +version = "24.3.0" description = "Classes Without Boilerplate" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "attrs-24.2.0-py3-none-any.whl", hash = "sha256:81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2"}, - {file = "attrs-24.2.0.tar.gz", hash = "sha256:5cfb1b9148b5b086569baec03f20d7b6bf3bcacc9a42bebf87ffaaca362f6346"}, + {file = "attrs-24.3.0-py3-none-any.whl", hash = "sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308"}, + {file = "attrs-24.3.0.tar.gz", hash = "sha256:8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff"}, ] [package.extras] benchmark = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins", "pytest-xdist[psutil]"] cov = ["cloudpickle", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit-uv", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier (<24.7)"] tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"] @@ -229,22 +215,22 @@ lxml = ["lxml"] [[package]] name = "bleak" -version = "0.22.2" +version = "0.22.3" description = "Bluetooth Low Energy platform Agnostic Klient" optional = false -python-versions = "<3.13,>=3.8" +python-versions = "<3.14,>=3.8" files = [ - {file = "bleak-0.22.2-py3-none-any.whl", hash = "sha256:8395c9e096f28e0ba1f3e6a8619fa21c327c484f720b7af3ea578d04f498a458"}, - {file = "bleak-0.22.2.tar.gz", hash = "sha256:09010c0f4bd843e7dcaa1652e1bfb2450ce690da08d4c6163f0723aaa986e9fe"}, + {file = "bleak-0.22.3-py3-none-any.whl", hash = "sha256:1e62a9f5e0c184826e6c906e341d8aca53793e4596eeaf4e0b191e7aca5c461c"}, + {file = "bleak-0.22.3.tar.gz", hash = "sha256:3149c3c19657e457727aa53d9d6aeb89658495822cd240afd8aeca4dd09c045c"}, ] [package.dependencies] async-timeout = {version = ">=3.0.0,<5", markers = "python_version < \"3.11\""} bleak-winrt = {version = ">=1.2.0,<2.0.0", markers = "platform_system == \"Windows\" and python_version < \"3.12\""} dbus-fast = {version = ">=1.83.0,<3", markers = "platform_system == \"Linux\""} -pyobjc-core = {version = ">=10.0,<11.0", markers = "platform_system == \"Darwin\""} -pyobjc-framework-CoreBluetooth = {version = ">=10.0,<11.0", markers = "platform_system == \"Darwin\""} -pyobjc-framework-libdispatch = {version = ">=10.0,<11.0", markers = "platform_system == \"Darwin\""} +pyobjc-core = {version = ">=10.3,<11.0", markers = "platform_system == \"Darwin\""} +pyobjc-framework-CoreBluetooth = {version = ">=10.3,<11.0", markers = "platform_system == \"Darwin\""} +pyobjc-framework-libdispatch = {version = ">=10.3,<11.0", markers = "platform_system == \"Darwin\""} typing-extensions = {version = ">=4.7.0", markers = "python_version < \"3.12\""} winrt-runtime = {version = ">=2,<3", markers = "platform_system == \"Windows\" and python_version >= \"3.12\""} "winrt-Windows.Devices.Bluetooth" = {version = ">=2,<3", markers = "platform_system == \"Windows\" and python_version >= \"3.12\""} @@ -277,13 +263,13 @@ files = [ [[package]] name = "certifi" -version = "2024.8.30" +version = "2024.12.14" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8"}, - {file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"}, + {file = "certifi-2024.12.14-py3-none-any.whl", hash = "sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56"}, + {file = "certifi-2024.12.14.tar.gz", hash = "sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db"}, ] [[package]] @@ -378,101 +364,116 @@ files = [ [[package]] name = "charset-normalizer" -version = "3.3.2" +version = "3.4.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false python-versions = ">=3.7.0" files = [ - {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, - {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-win32.whl", hash = "sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-win32.whl", hash = "sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-win32.whl", hash = "sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-win32.whl", hash = "sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-win32.whl", hash = "sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-win32.whl", hash = "sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-win32.whl", hash = "sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca"}, + {file = "charset_normalizer-3.4.0-py3-none-any.whl", hash = "sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079"}, + {file = "charset_normalizer-3.4.0.tar.gz", hash = "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e"}, ] [[package]] @@ -488,38 +489,38 @@ files = [ [[package]] name = "cryptography" -version = "43.0.1" +version = "43.0.3" description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." optional = false python-versions = ">=3.7" files = [ - {file = "cryptography-43.0.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:8385d98f6a3bf8bb2d65a73e17ed87a3ba84f6991c155691c51112075f9ffc5d"}, - {file = "cryptography-43.0.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27e613d7077ac613e399270253259d9d53872aaf657471473ebfc9a52935c062"}, - {file = "cryptography-43.0.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68aaecc4178e90719e95298515979814bda0cbada1256a4485414860bd7ab962"}, - {file = "cryptography-43.0.1-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:de41fd81a41e53267cb020bb3a7212861da53a7d39f863585d13ea11049cf277"}, - {file = "cryptography-43.0.1-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:f98bf604c82c416bc829e490c700ca1553eafdf2912a91e23a79d97d9801372a"}, - {file = "cryptography-43.0.1-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:61ec41068b7b74268fa86e3e9e12b9f0c21fcf65434571dbb13d954bceb08042"}, - {file = "cryptography-43.0.1-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:014f58110f53237ace6a408b5beb6c427b64e084eb451ef25a28308270086494"}, - {file = "cryptography-43.0.1-cp37-abi3-win32.whl", hash = "sha256:2bd51274dcd59f09dd952afb696bf9c61a7a49dfc764c04dd33ef7a6b502a1e2"}, - {file = "cryptography-43.0.1-cp37-abi3-win_amd64.whl", hash = "sha256:666ae11966643886c2987b3b721899d250855718d6d9ce41b521252a17985f4d"}, - {file = "cryptography-43.0.1-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:ac119bb76b9faa00f48128b7f5679e1d8d437365c5d26f1c2c3f0da4ce1b553d"}, - {file = "cryptography-43.0.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1bbcce1a551e262dfbafb6e6252f1ae36a248e615ca44ba302df077a846a8806"}, - {file = "cryptography-43.0.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58d4e9129985185a06d849aa6df265bdd5a74ca6e1b736a77959b498e0505b85"}, - {file = "cryptography-43.0.1-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:d03a475165f3134f773d1388aeb19c2d25ba88b6a9733c5c590b9ff7bbfa2e0c"}, - {file = "cryptography-43.0.1-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:511f4273808ab590912a93ddb4e3914dfd8a388fed883361b02dea3791f292e1"}, - {file = "cryptography-43.0.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:80eda8b3e173f0f247f711eef62be51b599b5d425c429b5d4ca6a05e9e856baa"}, - {file = "cryptography-43.0.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:38926c50cff6f533f8a2dae3d7f19541432610d114a70808f0926d5aaa7121e4"}, - {file = "cryptography-43.0.1-cp39-abi3-win32.whl", hash = "sha256:a575913fb06e05e6b4b814d7f7468c2c660e8bb16d8d5a1faf9b33ccc569dd47"}, - {file = "cryptography-43.0.1-cp39-abi3-win_amd64.whl", hash = "sha256:d75601ad10b059ec832e78823b348bfa1a59f6b8d545db3a24fd44362a1564cb"}, - {file = "cryptography-43.0.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ea25acb556320250756e53f9e20a4177515f012c9eaea17eb7587a8c4d8ae034"}, - {file = "cryptography-43.0.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:c1332724be35d23a854994ff0b66530119500b6053d0bd3363265f7e5e77288d"}, - {file = "cryptography-43.0.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:fba1007b3ef89946dbbb515aeeb41e30203b004f0b4b00e5e16078b518563289"}, - {file = "cryptography-43.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5b43d1ea6b378b54a1dc99dd8a2b5be47658fe9a7ce0a58ff0b55f4b43ef2b84"}, - {file = "cryptography-43.0.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:88cce104c36870d70c49c7c8fd22885875d950d9ee6ab54df2745f83ba0dc365"}, - {file = "cryptography-43.0.1-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:9d3cdb25fa98afdd3d0892d132b8d7139e2c087da1712041f6b762e4f807cc96"}, - {file = "cryptography-43.0.1-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e710bf40870f4db63c3d7d929aa9e09e4e7ee219e703f949ec4073b4294f6172"}, - {file = "cryptography-43.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7c05650fe8023c5ed0d46793d4b7d7e6cd9c04e68eabe5b0aeea836e37bdcec2"}, - {file = "cryptography-43.0.1.tar.gz", hash = "sha256:203e92a75716d8cfb491dc47c79e17d0d9207ccffcbcb35f598fbe463ae3444d"}, + {file = "cryptography-43.0.3-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:bf7a1932ac4176486eab36a19ed4c0492da5d97123f1406cf15e41b05e787d2e"}, + {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63efa177ff54aec6e1c0aefaa1a241232dcd37413835a9b674b6e3f0ae2bfd3e"}, + {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e1ce50266f4f70bf41a2c6dc4358afadae90e2a1e5342d3c08883df1675374f"}, + {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:443c4a81bb10daed9a8f334365fe52542771f25aedaf889fd323a853ce7377d6"}, + {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:74f57f24754fe349223792466a709f8e0c093205ff0dca557af51072ff47ab18"}, + {file = "cryptography-43.0.3-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:9762ea51a8fc2a88b70cf2995e5675b38d93bf36bd67d91721c309df184f49bd"}, + {file = "cryptography-43.0.3-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:81ef806b1fef6b06dcebad789f988d3b37ccaee225695cf3e07648eee0fc6b73"}, + {file = "cryptography-43.0.3-cp37-abi3-win32.whl", hash = "sha256:cbeb489927bd7af4aa98d4b261af9a5bc025bd87f0e3547e11584be9e9427be2"}, + {file = "cryptography-43.0.3-cp37-abi3-win_amd64.whl", hash = "sha256:f46304d6f0c6ab8e52770addfa2fc41e6629495548862279641972b6215451cd"}, + {file = "cryptography-43.0.3-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:8ac43ae87929a5982f5948ceda07001ee5e83227fd69cf55b109144938d96984"}, + {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:846da004a5804145a5f441b8530b4bf35afbf7da70f82409f151695b127213d5"}, + {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f996e7268af62598f2fc1204afa98a3b5712313a55c4c9d434aef49cadc91d4"}, + {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:f7b178f11ed3664fd0e995a47ed2b5ff0a12d893e41dd0494f406d1cf555cab7"}, + {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:c2e6fc39c4ab499049df3bdf567f768a723a5e8464816e8f009f121a5a9f4405"}, + {file = "cryptography-43.0.3-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:e1be4655c7ef6e1bbe6b5d0403526601323420bcf414598955968c9ef3eb7d16"}, + {file = "cryptography-43.0.3-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:df6b6c6d742395dd77a23ea3728ab62f98379eff8fb61be2744d4679ab678f73"}, + {file = "cryptography-43.0.3-cp39-abi3-win32.whl", hash = "sha256:d56e96520b1020449bbace2b78b603442e7e378a9b3bd68de65c782db1507995"}, + {file = "cryptography-43.0.3-cp39-abi3-win_amd64.whl", hash = "sha256:0c580952eef9bf68c4747774cde7ec1d85a6e61de97281f2dba83c7d2c806362"}, + {file = "cryptography-43.0.3-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d03b5621a135bffecad2c73e9f4deb1a0f977b9a8ffe6f8e002bf6c9d07b918c"}, + {file = "cryptography-43.0.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:a2a431ee15799d6db9fe80c82b055bae5a752bef645bba795e8e52687c69efe3"}, + {file = "cryptography-43.0.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:281c945d0e28c92ca5e5930664c1cefd85efe80e5c0d2bc58dd63383fda29f83"}, + {file = "cryptography-43.0.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:f18c716be16bc1fea8e95def49edf46b82fccaa88587a45f8dc0ff6ab5d8e0a7"}, + {file = "cryptography-43.0.3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:4a02ded6cd4f0a5562a8887df8b3bd14e822a90f97ac5e544c162899bc467664"}, + {file = "cryptography-43.0.3-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:53a583b6637ab4c4e3591a15bc9db855b8d9dee9a669b550f311480acab6eb08"}, + {file = "cryptography-43.0.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1ec0bcf7e17c0c5669d881b1cd38c4972fade441b27bda1051665faaa89bdcaa"}, + {file = "cryptography-43.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2ce6fae5bdad59577b44e4dfed356944fbf1d925269114c28be377692643b4ff"}, + {file = "cryptography-43.0.3.tar.gz", hash = "sha256:315b9001266a492a6ff443b61238f956b214dbec9910a081ba5b6646a055a805"}, ] [package.dependencies] @@ -532,59 +533,59 @@ nox = ["nox"] pep8test = ["check-sdist", "click", "mypy", "ruff"] sdist = ["build"] ssh = ["bcrypt (>=3.1.5)"] -test = ["certifi", "cryptography-vectors (==43.0.1)", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] +test = ["certifi", "cryptography-vectors (==43.0.3)", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] test-randomorder = ["pytest-randomly"] [[package]] name = "dbus-fast" -version = "2.24.2" +version = "2.24.4" description = "A faster version of dbus-next" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "dbus_fast-2.24.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4785df473961432e208cd8b96ae58a8e9bf7cbd3f9ced29eb0ecc16dfc1af6f1"}, - {file = "dbus_fast-2.24.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9879cee2a2e13ce9047a6f012d16d90b2a38fc40784ab4a233d4ddd80c9e803a"}, - {file = "dbus_fast-2.24.2-cp310-cp310-manylinux_2_31_x86_64.whl", hash = "sha256:72d9b28592dbe65774889cd3fc365e70e25862af79f5807a0bb375c1f7668dac"}, - {file = "dbus_fast-2.24.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:920a4f303127d25cfbb36c2c62dadf3a9e01b7512c091a1e8f9d6f0496934d54"}, - {file = "dbus_fast-2.24.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0642e4165361bfbe13878a65c9a5580bb086073300614243f81e8ca3f204e14e"}, - {file = "dbus_fast-2.24.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f5ff65eb4a42c3416423d65ed66f81798724047e23d3d034702ca3c3cf59f93d"}, - {file = "dbus_fast-2.24.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8b92b110c7d6ceb53d673281a490fcdccd552beee1c0b6a8f234579f845bd87c"}, - {file = "dbus_fast-2.24.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5c8eff87f24f8b58f439a716a7fb655eaacfa37dd72c11c98bbff7e391ef8550"}, - {file = "dbus_fast-2.24.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3c629360152618585a4e1ffeacc88e3ea92b64ee76de180d67d9f4e9bdf85a7e"}, - {file = "dbus_fast-2.24.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf3a971c41d53f4f4ceb29ca3b6b6ffcd9fb92f1d7c7d464292ad000974113f1"}, - {file = "dbus_fast-2.24.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d20cf9cd64a0dfb5d7efd7d52a6fd927becabdff234082c7819582f74e81dc59"}, - {file = "dbus_fast-2.24.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:fbfe0e2ee611e22f13c0e30f5f65b9264dd4f88c5581499dfd7f8c1578d81a27"}, - {file = "dbus_fast-2.24.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dfdb015a56b98b6e6c935b4b7e66e26a7d13a46a826320776418ec557a954347"}, - {file = "dbus_fast-2.24.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:459dca547117baf7383e63f2a7d7da651e21f3bad0ac2ba4bcdc71a13a071f18"}, - {file = "dbus_fast-2.24.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1a1d8f5efbb026626a2a3b755c09d3b8134700a03daaf34db22736045503ba4"}, - {file = "dbus_fast-2.24.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:8bcc7e733a2b4f3d27184cb273da7de01c8a2f20b496bf73b8e0954e590ffbba"}, - {file = "dbus_fast-2.24.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:789089a6489418dc3d26c5eb1c92144cece6dd93ae1b31aee12d5be164832ca2"}, - {file = "dbus_fast-2.24.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b884a221c73731920182599690538d23abc38490742d4beda9e52ee3576ab849"}, - {file = "dbus_fast-2.24.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:05fe312ea313fdd8affcd362e24bf8aca280f5724099f27b0d48e699aa83f6f6"}, - {file = "dbus_fast-2.24.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:7f3438da463b69f81cbe5f163f2489bfe215d5d96c7fbfca30a744f58fc3d85b"}, - {file = "dbus_fast-2.24.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:a9d76b33e8927e87261f5ddb919f5339b49046745508f3bc383e5b10d5f8a750"}, - {file = "dbus_fast-2.24.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:871696881a5ca703998f73d5c944f430f7937eb86de8736ca41a44fc1d21b8ba"}, - {file = "dbus_fast-2.24.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5efd4472b6008f99fe0751cc660f4de72f3267aea719b334940e7086824231ed"}, - {file = "dbus_fast-2.24.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5bc6816dc3a53b90aa2d465f44f06f636eb094db8c0b69aca62c11ca8d9a5c26"}, - {file = "dbus_fast-2.24.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:cc5c340970c7b6acaf6ee0cccfaad701d20954c08234f8428c550ae090ee1247"}, - {file = "dbus_fast-2.24.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:522c00aa19411e8abb7934fcb4066b05bcf8c313e9215376ed6fef7137307183"}, - {file = "dbus_fast-2.24.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3ed265d4285a2aab12935ad143bf6e08933f136ff74dc864b3642c85e646128"}, - {file = "dbus_fast-2.24.2-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:292d6334c8267f424d4f7dded170e2e9b79596485ef93ce60aa5ef972406860b"}, - {file = "dbus_fast-2.24.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f8c72bce6e574bf855f2d843ea660a0e997cc29a05a17ee2da0134b2381fe03"}, - {file = "dbus_fast-2.24.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5bec804cde188c445520fc988295cc8cc74044d7cf3b661825cd36fb52a45d45"}, - {file = "dbus_fast-2.24.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70f230ee387a44ff2fa485eb47412d3bf0eefee62ad1c0ef58bdb332560386ce"}, - {file = "dbus_fast-2.24.2.tar.gz", hash = "sha256:20c517dc70dbc940b8bf2e0f079abf3dfe821fdda3013641a17e3d8f18e131ae"}, + {file = "dbus_fast-2.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4640feb97e3b992052eb075a5dd606e0ba54ae3ce702d6d15d90b479da561547"}, + {file = "dbus_fast-2.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b0fd863108be7494cab3570b76aac68fbd54290d7edea9063afa33815d76015"}, + {file = "dbus_fast-2.24.4-cp310-cp310-manylinux_2_31_x86_64.whl", hash = "sha256:8bf8037e190071f02e01b2133effb1715b884bbbf5bd5e6dcf0998a6f7972d23"}, + {file = "dbus_fast-2.24.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:590f2767e3b8a9e66c7fb0500d439fe95793933682e525e3518f414d83a454bf"}, + {file = "dbus_fast-2.24.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cf9aba8ed59ef8c0026b321710442b8ccc876a37c883490fb2900bc009d7bd70"}, + {file = "dbus_fast-2.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d97063b1000d8a28e76f80f016ec794637df507fbc26a0211053045c2a14958"}, + {file = "dbus_fast-2.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:09eb824358c9e23405320e4430e6384eb750fd7c3aafe9fe1ed76341de50c276"}, + {file = "dbus_fast-2.24.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8f0726f01de87dc5db543c4f2cfa6334f2ec159465ba891c538e2f63ed3ac265"}, + {file = "dbus_fast-2.24.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7d8177f35a504651788f4a03bb81e92d90f26eaa3e5384085631a521a6d8a146"}, + {file = "dbus_fast-2.24.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f02b734948b9d70c943e694a0fca5ab323a516dc2d453365c70fbe4d5e0a731"}, + {file = "dbus_fast-2.24.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a1d215d9a62964a0df56ddb27f09f315903e5756920832fccb5b7990894ceb8"}, + {file = "dbus_fast-2.24.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:99f98f15543063806350c12b0304616660c34ad6e7d252cb3b8f74dd6a7ebc52"}, + {file = "dbus_fast-2.24.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ef4c70d965787215717e150d961a30e8414e0822d9c070baf5d4f166fa4996ad"}, + {file = "dbus_fast-2.24.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c74cf8283678ccbcc73c136eddbd60187775283c75372bcdfa62affdc787bc11"}, + {file = "dbus_fast-2.24.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5bf5d2ccc43b1072493f5b916c7f55aad9e773438c0ef1fdba563f6c8c0f281"}, + {file = "dbus_fast-2.24.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800066f870bf980939b14fa0a6eb262bf00d46f2436a47180686ea945900418e"}, + {file = "dbus_fast-2.24.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9b94f0421451196e769bbd4c32c88b575bf6d639733311870d7698d142961d7b"}, + {file = "dbus_fast-2.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:556c6d5378aa990d935eba24160b1af09e79f3382ba5aea484cac348d318d62c"}, + {file = "dbus_fast-2.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a17d91b75d7ad6dea9c81f3f006ba64232d71080a20832c8dd55f22cd72f07fc"}, + {file = "dbus_fast-2.24.4-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:6eb0266c95f7d7d58d2cbaaa87be881ec431eab027a14376ceabfe190c4c63f3"}, + {file = "dbus_fast-2.24.4-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:ee00b91fdb7ff439ac90aa8944c2bf781d4406d9d96d79d4e4aa211d165b4cad"}, + {file = "dbus_fast-2.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fad2bfd7a7f9370cbc30fc91d82e7978a337d51de22c17bed4afa425c60cf0dc"}, + {file = "dbus_fast-2.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6fa6e61c1b1c7059928af1d0fab864cb34d463a07c1f7df3b20c8a7a94e9d45"}, + {file = "dbus_fast-2.24.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:64b901364fe5351033784a87e6d4fbdc6684656e89e701bbd01be76fc8e852a6"}, + {file = "dbus_fast-2.24.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:0150b93244fc36f97ce166f0d671251e657fbd12e0c5e179507958f1845ba232"}, + {file = "dbus_fast-2.24.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:837b1cd3fb445454f812f33f61e4657568a57d0ebaabe196f61484aff865a457"}, + {file = "dbus_fast-2.24.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a3e2338e8d06488ed9ec764c53a25c041322dd94ee6cd519fc028c8880666909"}, + {file = "dbus_fast-2.24.4-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8cb67a94f9a9c27e18bb7dffd7e6cf6e16bce80a8850ca2d172e9ccb5d79f941"}, + {file = "dbus_fast-2.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c5361ee5726237f3308c57a4f09eaea242a3b9cb3125b0481f9e922a000fe5e"}, + {file = "dbus_fast-2.24.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d980c6214e3fdf9402bc3ac81af21b3808de29e41a65256ad4e36a590d5e47b6"}, + {file = "dbus_fast-2.24.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6b54971d1a02c753e62bc78431f59ee5db2f2049e9262880be92117cb7419fc"}, + {file = "dbus_fast-2.24.4.tar.gz", hash = "sha256:58f97e8342d6cd11ebb2c8ac959c5bb342eb83e29180528690b323a5a5def41c"}, ] [[package]] name = "distlib" -version = "0.3.8" +version = "0.3.9" description = "Distribution utilities" optional = false python-versions = "*" files = [ - {file = "distlib-0.3.8-py2.py3-none-any.whl", hash = "sha256:034db59a0b96f8ca18035f36290806a9a6e6bd9d1ff91e45a7f172eb17e51784"}, - {file = "distlib-0.3.8.tar.gz", hash = "sha256:1530ea13e350031b6312d8580ddb6b27a104275a31106523b8f123787f494f64"}, + {file = "distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87"}, + {file = "distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403"}, ] [[package]] @@ -630,99 +631,114 @@ typing = ["typing-extensions (>=4.12.2)"] [[package]] name = "frozenlist" -version = "1.4.1" +version = "1.5.0" description = "A list-like structure which implements collections.abc.MutableSequence" optional = false python-versions = ">=3.8" files = [ - {file = "frozenlist-1.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f9aa1878d1083b276b0196f2dfbe00c9b7e752475ed3b682025ff20c1c1f51ac"}, - {file = "frozenlist-1.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:29acab3f66f0f24674b7dc4736477bcd4bc3ad4b896f5f45379a67bce8b96868"}, - {file = "frozenlist-1.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:74fb4bee6880b529a0c6560885fce4dc95936920f9f20f53d99a213f7bf66776"}, - {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:590344787a90ae57d62511dd7c736ed56b428f04cd8c161fcc5e7232c130c69a"}, - {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:068b63f23b17df8569b7fdca5517edef76171cf3897eb68beb01341131fbd2ad"}, - {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c849d495bf5154cd8da18a9eb15db127d4dba2968d88831aff6f0331ea9bd4c"}, - {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9750cc7fe1ae3b1611bb8cfc3f9ec11d532244235d75901fb6b8e42ce9229dfe"}, - {file = "frozenlist-1.4.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9b2de4cf0cdd5bd2dee4c4f63a653c61d2408055ab77b151c1957f221cabf2a"}, - {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0633c8d5337cb5c77acbccc6357ac49a1770b8c487e5b3505c57b949b4b82e98"}, - {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:27657df69e8801be6c3638054e202a135c7f299267f1a55ed3a598934f6c0d75"}, - {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:f9a3ea26252bd92f570600098783d1371354d89d5f6b7dfd87359d669f2109b5"}, - {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:4f57dab5fe3407b6c0c1cc907ac98e8a189f9e418f3b6e54d65a718aaafe3950"}, - {file = "frozenlist-1.4.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:e02a0e11cf6597299b9f3bbd3f93d79217cb90cfd1411aec33848b13f5c656cc"}, - {file = "frozenlist-1.4.1-cp310-cp310-win32.whl", hash = "sha256:a828c57f00f729620a442881cc60e57cfcec6842ba38e1b19fd3e47ac0ff8dc1"}, - {file = "frozenlist-1.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:f56e2333dda1fe0f909e7cc59f021eba0d2307bc6f012a1ccf2beca6ba362439"}, - {file = "frozenlist-1.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:a0cb6f11204443f27a1628b0e460f37fb30f624be6051d490fa7d7e26d4af3d0"}, - {file = "frozenlist-1.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b46c8ae3a8f1f41a0d2ef350c0b6e65822d80772fe46b653ab6b6274f61d4a49"}, - {file = "frozenlist-1.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fde5bd59ab5357e3853313127f4d3565fc7dad314a74d7b5d43c22c6a5ed2ced"}, - {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:722e1124aec435320ae01ee3ac7bec11a5d47f25d0ed6328f2273d287bc3abb0"}, - {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2471c201b70d58a0f0c1f91261542a03d9a5e088ed3dc6c160d614c01649c106"}, - {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c757a9dd70d72b076d6f68efdbb9bc943665ae954dad2801b874c8c69e185068"}, - {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f146e0911cb2f1da549fc58fc7bcd2b836a44b79ef871980d605ec392ff6b0d2"}, - {file = "frozenlist-1.4.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f9c515e7914626b2a2e1e311794b4c35720a0be87af52b79ff8e1429fc25f19"}, - {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:c302220494f5c1ebeb0912ea782bcd5e2f8308037b3c7553fad0e48ebad6ad82"}, - {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:442acde1e068288a4ba7acfe05f5f343e19fac87bfc96d89eb886b0363e977ec"}, - {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:1b280e6507ea8a4fa0c0a7150b4e526a8d113989e28eaaef946cc77ffd7efc0a"}, - {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:fe1a06da377e3a1062ae5fe0926e12b84eceb8a50b350ddca72dc85015873f74"}, - {file = "frozenlist-1.4.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:db9e724bebd621d9beca794f2a4ff1d26eed5965b004a97f1f1685a173b869c2"}, - {file = "frozenlist-1.4.1-cp311-cp311-win32.whl", hash = "sha256:e774d53b1a477a67838a904131c4b0eef6b3d8a651f8b138b04f748fccfefe17"}, - {file = "frozenlist-1.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:fb3c2db03683b5767dedb5769b8a40ebb47d6f7f45b1b3e3b4b51ec8ad9d9825"}, - {file = "frozenlist-1.4.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:1979bc0aeb89b33b588c51c54ab0161791149f2461ea7c7c946d95d5f93b56ae"}, - {file = "frozenlist-1.4.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cc7b01b3754ea68a62bd77ce6020afaffb44a590c2289089289363472d13aedb"}, - {file = "frozenlist-1.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c9c92be9fd329ac801cc420e08452b70e7aeab94ea4233a4804f0915c14eba9b"}, - {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5c3894db91f5a489fc8fa6a9991820f368f0b3cbdb9cd8849547ccfab3392d86"}, - {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ba60bb19387e13597fb059f32cd4d59445d7b18b69a745b8f8e5db0346f33480"}, - {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8aefbba5f69d42246543407ed2461db31006b0f76c4e32dfd6f42215a2c41d09"}, - {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780d3a35680ced9ce682fbcf4cb9c2bad3136eeff760ab33707b71db84664e3a"}, - {file = "frozenlist-1.4.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9acbb16f06fe7f52f441bb6f413ebae6c37baa6ef9edd49cdd567216da8600cd"}, - {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:23b701e65c7b36e4bf15546a89279bd4d8675faabc287d06bbcfac7d3c33e1e6"}, - {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:3e0153a805a98f5ada7e09826255ba99fb4f7524bb81bf6b47fb702666484ae1"}, - {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:dd9b1baec094d91bf36ec729445f7769d0d0cf6b64d04d86e45baf89e2b9059b"}, - {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:1a4471094e146b6790f61b98616ab8e44f72661879cc63fa1049d13ef711e71e"}, - {file = "frozenlist-1.4.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5667ed53d68d91920defdf4035d1cdaa3c3121dc0b113255124bcfada1cfa1b8"}, - {file = "frozenlist-1.4.1-cp312-cp312-win32.whl", hash = "sha256:beee944ae828747fd7cb216a70f120767fc9f4f00bacae8543c14a6831673f89"}, - {file = "frozenlist-1.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:64536573d0a2cb6e625cf309984e2d873979709f2cf22839bf2d61790b448ad5"}, - {file = "frozenlist-1.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:20b51fa3f588ff2fe658663db52a41a4f7aa6c04f6201449c6c7c476bd255c0d"}, - {file = "frozenlist-1.4.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:410478a0c562d1a5bcc2f7ea448359fcb050ed48b3c6f6f4f18c313a9bdb1826"}, - {file = "frozenlist-1.4.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c6321c9efe29975232da3bd0af0ad216800a47e93d763ce64f291917a381b8eb"}, - {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:48f6a4533887e189dae092f1cf981f2e3885175f7a0f33c91fb5b7b682b6bab6"}, - {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6eb73fa5426ea69ee0e012fb59cdc76a15b1283d6e32e4f8dc4482ec67d1194d"}, - {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fbeb989b5cc29e8daf7f976b421c220f1b8c731cbf22b9130d8815418ea45887"}, - {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:32453c1de775c889eb4e22f1197fe3bdfe457d16476ea407472b9442e6295f7a"}, - {file = "frozenlist-1.4.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693945278a31f2086d9bf3df0fe8254bbeaef1fe71e1351c3bd730aa7d31c41b"}, - {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:1d0ce09d36d53bbbe566fe296965b23b961764c0bcf3ce2fa45f463745c04701"}, - {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:3a670dc61eb0d0eb7080890c13de3066790f9049b47b0de04007090807c776b0"}, - {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:dca69045298ce5c11fd539682cff879cc1e664c245d1c64da929813e54241d11"}, - {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:a06339f38e9ed3a64e4c4e43aec7f59084033647f908e4259d279a52d3757d09"}, - {file = "frozenlist-1.4.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b7f2f9f912dca3934c1baec2e4585a674ef16fe00218d833856408c48d5beee7"}, - {file = "frozenlist-1.4.1-cp38-cp38-win32.whl", hash = "sha256:e7004be74cbb7d9f34553a5ce5fb08be14fb33bc86f332fb71cbe5216362a497"}, - {file = "frozenlist-1.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:5a7d70357e7cee13f470c7883a063aae5fe209a493c57d86eb7f5a6f910fae09"}, - {file = "frozenlist-1.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bfa4a17e17ce9abf47a74ae02f32d014c5e9404b6d9ac7f729e01562bbee601e"}, - {file = "frozenlist-1.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b7e3ed87d4138356775346e6845cccbe66cd9e207f3cd11d2f0b9fd13681359d"}, - {file = "frozenlist-1.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c99169d4ff810155ca50b4da3b075cbde79752443117d89429595c2e8e37fed8"}, - {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:edb678da49d9f72c9f6c609fbe41a5dfb9a9282f9e6a2253d5a91e0fc382d7c0"}, - {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6db4667b187a6742b33afbbaf05a7bc551ffcf1ced0000a571aedbb4aa42fc7b"}, - {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55fdc093b5a3cb41d420884cdaf37a1e74c3c37a31f46e66286d9145d2063bd0"}, - {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82e8211d69a4f4bc360ea22cd6555f8e61a1bd211d1d5d39d3d228b48c83a897"}, - {file = "frozenlist-1.4.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89aa2c2eeb20957be2d950b85974b30a01a762f3308cd02bb15e1ad632e22dc7"}, - {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9d3e0c25a2350080e9319724dede4f31f43a6c9779be48021a7f4ebde8b2d742"}, - {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:7268252af60904bf52c26173cbadc3a071cece75f873705419c8681f24d3edea"}, - {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:0c250a29735d4f15321007fb02865f0e6b6a41a6b88f1f523ca1596ab5f50bd5"}, - {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:96ec70beabbd3b10e8bfe52616a13561e58fe84c0101dd031dc78f250d5128b9"}, - {file = "frozenlist-1.4.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:23b2d7679b73fe0e5a4560b672a39f98dfc6f60df63823b0a9970525325b95f6"}, - {file = "frozenlist-1.4.1-cp39-cp39-win32.whl", hash = "sha256:a7496bfe1da7fb1a4e1cc23bb67c58fab69311cc7d32b5a99c2007b4b2a0e932"}, - {file = "frozenlist-1.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:e6a20a581f9ce92d389a8c7d7c3dd47c81fd5d6e655c8dddf341e14aa48659d0"}, - {file = "frozenlist-1.4.1-py3-none-any.whl", hash = "sha256:04ced3e6a46b4cfffe20f9ae482818e34eba9b5fb0ce4056e4cc9b6e212d09b7"}, - {file = "frozenlist-1.4.1.tar.gz", hash = "sha256:c037a86e8513059a2613aaba4d817bb90b9d9b6b69aace3ce9c877e8c8ed402b"}, + {file = "frozenlist-1.5.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5b6a66c18b5b9dd261ca98dffcb826a525334b2f29e7caa54e182255c5f6a65a"}, + {file = "frozenlist-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d1b3eb7b05ea246510b43a7e53ed1653e55c2121019a97e60cad7efb881a97bb"}, + {file = "frozenlist-1.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:15538c0cbf0e4fa11d1e3a71f823524b0c46299aed6e10ebb4c2089abd8c3bec"}, + {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e79225373c317ff1e35f210dd5f1344ff31066ba8067c307ab60254cd3a78ad5"}, + {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9272fa73ca71266702c4c3e2d4a28553ea03418e591e377a03b8e3659d94fa76"}, + {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:498524025a5b8ba81695761d78c8dd7382ac0b052f34e66939c42df860b8ff17"}, + {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:92b5278ed9d50fe610185ecd23c55d8b307d75ca18e94c0e7de328089ac5dcba"}, + {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f3c8c1dacd037df16e85227bac13cca58c30da836c6f936ba1df0c05d046d8d"}, + {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f2ac49a9bedb996086057b75bf93538240538c6d9b38e57c82d51f75a73409d2"}, + {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e66cc454f97053b79c2ab09c17fbe3c825ea6b4de20baf1be28919460dd7877f"}, + {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:5a3ba5f9a0dfed20337d3e966dc359784c9f96503674c2faf015f7fe8e96798c"}, + {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6321899477db90bdeb9299ac3627a6a53c7399c8cd58d25da094007402b039ab"}, + {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:76e4753701248476e6286f2ef492af900ea67d9706a0155335a40ea21bf3b2f5"}, + {file = "frozenlist-1.5.0-cp310-cp310-win32.whl", hash = "sha256:977701c081c0241d0955c9586ffdd9ce44f7a7795df39b9151cd9a6fd0ce4cfb"}, + {file = "frozenlist-1.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:189f03b53e64144f90990d29a27ec4f7997d91ed3d01b51fa39d2dbe77540fd4"}, + {file = "frozenlist-1.5.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fd74520371c3c4175142d02a976aee0b4cb4a7cc912a60586ffd8d5929979b30"}, + {file = "frozenlist-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2f3f7a0fbc219fb4455264cae4d9f01ad41ae6ee8524500f381de64ffaa077d5"}, + {file = "frozenlist-1.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f47c9c9028f55a04ac254346e92977bf0f166c483c74b4232bee19a6697e4778"}, + {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0996c66760924da6e88922756d99b47512a71cfd45215f3570bf1e0b694c206a"}, + {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a2fe128eb4edeabe11896cb6af88fca5346059f6c8d807e3b910069f39157869"}, + {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a8ea951bbb6cacd492e3948b8da8c502a3f814f5d20935aae74b5df2b19cf3d"}, + {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de537c11e4aa01d37db0d403b57bd6f0546e71a82347a97c6a9f0dcc532b3a45"}, + {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c2623347b933fcb9095841f1cc5d4ff0b278addd743e0e966cb3d460278840d"}, + {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cee6798eaf8b1416ef6909b06f7dc04b60755206bddc599f52232606e18179d3"}, + {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f5f9da7f5dbc00a604fe74aa02ae7c98bcede8a3b8b9666f9f86fc13993bc71a"}, + {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:90646abbc7a5d5c7c19461d2e3eeb76eb0b204919e6ece342feb6032c9325ae9"}, + {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:bdac3c7d9b705d253b2ce370fde941836a5f8b3c5c2b8fd70940a3ea3af7f4f2"}, + {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:03d33c2ddbc1816237a67f66336616416e2bbb6beb306e5f890f2eb22b959cdf"}, + {file = "frozenlist-1.5.0-cp311-cp311-win32.whl", hash = "sha256:237f6b23ee0f44066219dae14c70ae38a63f0440ce6750f868ee08775073f942"}, + {file = "frozenlist-1.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:0cc974cc93d32c42e7b0f6cf242a6bd941c57c61b618e78b6c0a96cb72788c1d"}, + {file = "frozenlist-1.5.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:31115ba75889723431aa9a4e77d5f398f5cf976eea3bdf61749731f62d4a4a21"}, + {file = "frozenlist-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7437601c4d89d070eac8323f121fcf25f88674627505334654fd027b091db09d"}, + {file = "frozenlist-1.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7948140d9f8ece1745be806f2bfdf390127cf1a763b925c4a805c603df5e697e"}, + {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:feeb64bc9bcc6b45c6311c9e9b99406660a9c05ca8a5b30d14a78555088b0b3a"}, + {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:683173d371daad49cffb8309779e886e59c2f369430ad28fe715f66d08d4ab1a"}, + {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7d57d8f702221405a9d9b40f9da8ac2e4a1a8b5285aac6100f3393675f0a85ee"}, + {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30c72000fbcc35b129cb09956836c7d7abf78ab5416595e4857d1cae8d6251a6"}, + {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:000a77d6034fbad9b6bb880f7ec073027908f1b40254b5d6f26210d2dab1240e"}, + {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5d7f5a50342475962eb18b740f3beecc685a15b52c91f7d975257e13e029eca9"}, + {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:87f724d055eb4785d9be84e9ebf0f24e392ddfad00b3fe036e43f489fafc9039"}, + {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:6e9080bb2fb195a046e5177f10d9d82b8a204c0736a97a153c2466127de87784"}, + {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9b93d7aaa36c966fa42efcaf716e6b3900438632a626fb09c049f6a2f09fc631"}, + {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:52ef692a4bc60a6dd57f507429636c2af8b6046db8b31b18dac02cbc8f507f7f"}, + {file = "frozenlist-1.5.0-cp312-cp312-win32.whl", hash = "sha256:29d94c256679247b33a3dc96cce0f93cbc69c23bf75ff715919332fdbb6a32b8"}, + {file = "frozenlist-1.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:8969190d709e7c48ea386db202d708eb94bdb29207a1f269bab1196ce0dcca1f"}, + {file = "frozenlist-1.5.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7a1a048f9215c90973402e26c01d1cff8a209e1f1b53f72b95c13db61b00f953"}, + {file = "frozenlist-1.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dd47a5181ce5fcb463b5d9e17ecfdb02b678cca31280639255ce9d0e5aa67af0"}, + {file = "frozenlist-1.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1431d60b36d15cda188ea222033eec8e0eab488f39a272461f2e6d9e1a8e63c2"}, + {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6482a5851f5d72767fbd0e507e80737f9c8646ae7fd303def99bfe813f76cf7f"}, + {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44c49271a937625619e862baacbd037a7ef86dd1ee215afc298a417ff3270608"}, + {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:12f78f98c2f1c2429d42e6a485f433722b0061d5c0b0139efa64f396efb5886b"}, + {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce3aa154c452d2467487765e3adc730a8c153af77ad84096bc19ce19a2400840"}, + {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b7dc0c4338e6b8b091e8faf0db3168a37101943e687f373dce00959583f7439"}, + {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:45e0896250900b5aa25180f9aec243e84e92ac84bd4a74d9ad4138ef3f5c97de"}, + {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:561eb1c9579d495fddb6da8959fd2a1fca2c6d060d4113f5844b433fc02f2641"}, + {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:df6e2f325bfee1f49f81aaac97d2aa757c7646534a06f8f577ce184afe2f0a9e"}, + {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:140228863501b44b809fb39ec56b5d4071f4d0aa6d216c19cbb08b8c5a7eadb9"}, + {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7707a25d6a77f5d27ea7dc7d1fc608aa0a478193823f88511ef5e6b8a48f9d03"}, + {file = "frozenlist-1.5.0-cp313-cp313-win32.whl", hash = "sha256:31a9ac2b38ab9b5a8933b693db4939764ad3f299fcaa931a3e605bc3460e693c"}, + {file = "frozenlist-1.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:11aabdd62b8b9c4b84081a3c246506d1cddd2dd93ff0ad53ede5defec7886b28"}, + {file = "frozenlist-1.5.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:dd94994fc91a6177bfaafd7d9fd951bc8689b0a98168aa26b5f543868548d3ca"}, + {file = "frozenlist-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2d0da8bbec082bf6bf18345b180958775363588678f64998c2b7609e34719b10"}, + {file = "frozenlist-1.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:73f2e31ea8dd7df61a359b731716018c2be196e5bb3b74ddba107f694fbd7604"}, + {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:828afae9f17e6de596825cf4228ff28fbdf6065974e5ac1410cecc22f699d2b3"}, + {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1577515d35ed5649d52ab4319db757bb881ce3b2b796d7283e6634d99ace307"}, + {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2150cc6305a2c2ab33299453e2968611dacb970d2283a14955923062c8d00b10"}, + {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a72b7a6e3cd2725eff67cd64c8f13335ee18fc3c7befc05aed043d24c7b9ccb9"}, + {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c16d2fa63e0800723139137d667e1056bee1a1cf7965153d2d104b62855e9b99"}, + {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:17dcc32fc7bda7ce5875435003220a457bcfa34ab7924a49a1c19f55b6ee185c"}, + {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:97160e245ea33d8609cd2b8fd997c850b56db147a304a262abc2b3be021a9171"}, + {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f1e6540b7fa044eee0bb5111ada694cf3dc15f2b0347ca125ee9ca984d5e9e6e"}, + {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:91d6c171862df0a6c61479d9724f22efb6109111017c87567cfeb7b5d1449fdf"}, + {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:c1fac3e2ace2eb1052e9f7c7db480818371134410e1f5c55d65e8f3ac6d1407e"}, + {file = "frozenlist-1.5.0-cp38-cp38-win32.whl", hash = "sha256:b97f7b575ab4a8af9b7bc1d2ef7f29d3afee2226bd03ca3875c16451ad5a7723"}, + {file = "frozenlist-1.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:374ca2dabdccad8e2a76d40b1d037f5bd16824933bf7bcea3e59c891fd4a0923"}, + {file = "frozenlist-1.5.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9bbcdfaf4af7ce002694a4e10a0159d5a8d20056a12b05b45cea944a4953f972"}, + {file = "frozenlist-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1893f948bf6681733aaccf36c5232c231e3b5166d607c5fa77773611df6dc336"}, + {file = "frozenlist-1.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2b5e23253bb709ef57a8e95e6ae48daa9ac5f265637529e4ce6b003a37b2621f"}, + {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f253985bb515ecd89629db13cb58d702035ecd8cfbca7d7a7e29a0e6d39af5f"}, + {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:04a5c6babd5e8fb7d3c871dc8b321166b80e41b637c31a995ed844a6139942b6"}, + {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fe0f1c29ba24ba6ff6abf688cb0b7cf1efab6b6aa6adc55441773c252f7411"}, + {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:226d72559fa19babe2ccd920273e767c96a49b9d3d38badd7c91a0fdeda8ea08"}, + {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15b731db116ab3aedec558573c1a5eec78822b32292fe4f2f0345b7f697745c2"}, + {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:366d8f93e3edfe5a918c874702f78faac300209a4d5bf38352b2c1bdc07a766d"}, + {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1b96af8c582b94d381a1c1f51ffaedeb77c821c690ea5f01da3d70a487dd0a9b"}, + {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:c03eff4a41bd4e38415cbed054bbaff4a075b093e2394b6915dca34a40d1e38b"}, + {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:50cf5e7ee9b98f22bdecbabf3800ae78ddcc26e4a435515fc72d97903e8488e0"}, + {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1e76bfbc72353269c44e0bc2cfe171900fbf7f722ad74c9a7b638052afe6a00c"}, + {file = "frozenlist-1.5.0-cp39-cp39-win32.whl", hash = "sha256:666534d15ba8f0fda3f53969117383d5dc021266b3c1a42c9ec4855e4b58b9d3"}, + {file = "frozenlist-1.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:5c28f4b5dbef8a0d8aad0d4de24d1e9e981728628afaf4ea0792f5d0939372f0"}, + {file = "frozenlist-1.5.0-py3-none-any.whl", hash = "sha256:d994863bba198a4a518b467bb971c56e1db3f180a25c6cf7bb1949c267f748c3"}, + {file = "frozenlist-1.5.0.tar.gz", hash = "sha256:81d5af29e61b9c8348e876d442253723928dce6433e0e76cd925cd83f1b4b817"}, ] [[package]] name = "identify" -version = "2.6.1" +version = "2.6.3" description = "File identification library for Python" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "identify-2.6.1-py2.py3-none-any.whl", hash = "sha256:53863bcac7caf8d2ed85bd20312ea5dcfc22226800f6d6881f232d861db5a8f0"}, - {file = "identify-2.6.1.tar.gz", hash = "sha256:91478c5fb7c3aac5ff7bf9b4344f803843dc586832d5f110d672b19aa1984c98"}, + {file = "identify-2.6.3-py2.py3-none-any.whl", hash = "sha256:9edba65473324c2ea9684b1f944fe3191db3345e50b6d04571d10ed164f8d7bd"}, + {file = "identify-2.6.3.tar.gz", hash = "sha256:62f5dae9b5fef52c84cc188514e9ea4f3f636b1d8799ab5ebc475471f9e47a02"}, ] [package.extras] @@ -789,13 +805,13 @@ files = [ [[package]] name = "jinja2" -version = "3.1.4" +version = "3.1.5" description = "A very fast and expressive template engine." optional = false python-versions = ">=3.7" files = [ - {file = "jinja2-3.1.4-py3-none-any.whl", hash = "sha256:bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d"}, - {file = "jinja2-3.1.4.tar.gz", hash = "sha256:4a3aee7acbbe7303aede8e9648d13b8bf88a429282aa6122a993f0ac800cb369"}, + {file = "jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb"}, + {file = "jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb"}, ] [package.dependencies] @@ -806,71 +822,72 @@ i18n = ["Babel (>=2.7)"] [[package]] name = "markupsafe" -version = "2.1.5" +version = "3.0.2" description = "Safely add untrusted strings to HTML/XML markup." optional = false -python-versions = ">=3.7" +python-versions = ">=3.9" files = [ - {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4"}, - {file = "MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906"}, - {file = "MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-win32.whl", hash = "sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371"}, - {file = "MarkupSafe-2.1.5-cp37-cp37m-win_amd64.whl", hash = "sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff"}, - {file = "MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf"}, - {file = "MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5"}, - {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a"}, + {file = "markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0"}, ] [[package]] @@ -990,13 +1007,13 @@ files = [ [[package]] name = "packaging" -version = "24.1" +version = "24.2" description = "Core utilities for Python packages" optional = false python-versions = ">=3.8" files = [ - {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, - {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, + {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, + {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, ] [[package]] @@ -1048,6 +1065,97 @@ nodeenv = ">=0.11.1" pyyaml = ">=5.1" virtualenv = ">=20.10.0" +[[package]] +name = "propcache" +version = "0.2.1" +description = "Accelerated property cache" +optional = false +python-versions = ">=3.9" +files = [ + {file = "propcache-0.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6b3f39a85d671436ee3d12c017f8fdea38509e4f25b28eb25877293c98c243f6"}, + {file = "propcache-0.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d51fbe4285d5db5d92a929e3e21536ea3dd43732c5b177c7ef03f918dff9f2"}, + {file = "propcache-0.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6445804cf4ec763dc70de65a3b0d9954e868609e83850a47ca4f0cb64bd79fea"}, + {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9479aa06a793c5aeba49ce5c5692ffb51fcd9a7016e017d555d5e2b0045d212"}, + {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9631c5e8b5b3a0fda99cb0d29c18133bca1e18aea9effe55adb3da1adef80d3"}, + {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3156628250f46a0895f1f36e1d4fbe062a1af8718ec3ebeb746f1d23f0c5dc4d"}, + {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b6fb63ae352e13748289f04f37868099e69dba4c2b3e271c46061e82c745634"}, + {file = "propcache-0.2.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:887d9b0a65404929641a9fabb6452b07fe4572b269d901d622d8a34a4e9043b2"}, + {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a96dc1fa45bd8c407a0af03b2d5218392729e1822b0c32e62c5bf7eeb5fb3958"}, + {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:a7e65eb5c003a303b94aa2c3852ef130230ec79e349632d030e9571b87c4698c"}, + {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:999779addc413181912e984b942fbcc951be1f5b3663cd80b2687758f434c583"}, + {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:19a0f89a7bb9d8048d9c4370c9c543c396e894c76be5525f5e1ad287f1750ddf"}, + {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1ac2f5fe02fa75f56e1ad473f1175e11f475606ec9bd0be2e78e4734ad575034"}, + {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:574faa3b79e8ebac7cb1d7930f51184ba1ccf69adfdec53a12f319a06030a68b"}, + {file = "propcache-0.2.1-cp310-cp310-win32.whl", hash = "sha256:03ff9d3f665769b2a85e6157ac8b439644f2d7fd17615a82fa55739bc97863f4"}, + {file = "propcache-0.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:2d3af2e79991102678f53e0dbf4c35de99b6b8b58f29a27ca0325816364caaba"}, + {file = "propcache-0.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1ffc3cca89bb438fb9c95c13fc874012f7b9466b89328c3c8b1aa93cdcfadd16"}, + {file = "propcache-0.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f174bbd484294ed9fdf09437f889f95807e5f229d5d93588d34e92106fbf6717"}, + {file = "propcache-0.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:70693319e0b8fd35dd863e3e29513875eb15c51945bf32519ef52927ca883bc3"}, + {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b480c6a4e1138e1aa137c0079b9b6305ec6dcc1098a8ca5196283e8a49df95a9"}, + {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d27b84d5880f6d8aa9ae3edb253c59d9f6642ffbb2c889b78b60361eed449787"}, + {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:857112b22acd417c40fa4595db2fe28ab900c8c5fe4670c7989b1c0230955465"}, + {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf6c4150f8c0e32d241436526f3c3f9cbd34429492abddbada2ffcff506c51af"}, + {file = "propcache-0.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:66d4cfda1d8ed687daa4bc0274fcfd5267873db9a5bc0418c2da19273040eeb7"}, + {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c2f992c07c0fca81655066705beae35fc95a2fa7366467366db627d9f2ee097f"}, + {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:4a571d97dbe66ef38e472703067021b1467025ec85707d57e78711c085984e54"}, + {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:bb6178c241278d5fe853b3de743087be7f5f4c6f7d6d22a3b524d323eecec505"}, + {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:ad1af54a62ffe39cf34db1aa6ed1a1873bd548f6401db39d8e7cd060b9211f82"}, + {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e7048abd75fe40712005bcfc06bb44b9dfcd8e101dda2ecf2f5aa46115ad07ca"}, + {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:160291c60081f23ee43d44b08a7e5fb76681221a8e10b3139618c5a9a291b84e"}, + {file = "propcache-0.2.1-cp311-cp311-win32.whl", hash = "sha256:819ce3b883b7576ca28da3861c7e1a88afd08cc8c96908e08a3f4dd64a228034"}, + {file = "propcache-0.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:edc9fc7051e3350643ad929df55c451899bb9ae6d24998a949d2e4c87fb596d3"}, + {file = "propcache-0.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:081a430aa8d5e8876c6909b67bd2d937bfd531b0382d3fdedb82612c618bc41a"}, + {file = "propcache-0.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d2ccec9ac47cf4e04897619c0e0c1a48c54a71bdf045117d3a26f80d38ab1fb0"}, + {file = "propcache-0.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:14d86fe14b7e04fa306e0c43cdbeebe6b2c2156a0c9ce56b815faacc193e320d"}, + {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:049324ee97bb67285b49632132db351b41e77833678432be52bdd0289c0e05e4"}, + {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1cd9a1d071158de1cc1c71a26014dcdfa7dd3d5f4f88c298c7f90ad6f27bb46d"}, + {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98110aa363f1bb4c073e8dcfaefd3a5cea0f0834c2aab23dda657e4dab2f53b5"}, + {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:647894f5ae99c4cf6bb82a1bb3a796f6e06af3caa3d32e26d2350d0e3e3faf24"}, + {file = "propcache-0.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfd3223c15bebe26518d58ccf9a39b93948d3dcb3e57a20480dfdd315356baff"}, + {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d71264a80f3fcf512eb4f18f59423fe82d6e346ee97b90625f283df56aee103f"}, + {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:e73091191e4280403bde6c9a52a6999d69cdfde498f1fdf629105247599b57ec"}, + {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3935bfa5fede35fb202c4b569bb9c042f337ca4ff7bd540a0aa5e37131659348"}, + {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:f508b0491767bb1f2b87fdfacaba5f7eddc2f867740ec69ece6d1946d29029a6"}, + {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1672137af7c46662a1c2be1e8dc78cb6d224319aaa40271c9257d886be4363a6"}, + {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b74c261802d3d2b85c9df2dfb2fa81b6f90deeef63c2db9f0e029a3cac50b518"}, + {file = "propcache-0.2.1-cp312-cp312-win32.whl", hash = "sha256:d09c333d36c1409d56a9d29b3a1b800a42c76a57a5a8907eacdbce3f18768246"}, + {file = "propcache-0.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:c214999039d4f2a5b2073ac506bba279945233da8c786e490d411dfc30f855c1"}, + {file = "propcache-0.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aca405706e0b0a44cc6bfd41fbe89919a6a56999157f6de7e182a990c36e37bc"}, + {file = "propcache-0.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:12d1083f001ace206fe34b6bdc2cb94be66d57a850866f0b908972f90996b3e9"}, + {file = "propcache-0.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d93f3307ad32a27bda2e88ec81134b823c240aa3abb55821a8da553eed8d9439"}, + {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba278acf14471d36316159c94a802933d10b6a1e117b8554fe0d0d9b75c9d536"}, + {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4e6281aedfca15301c41f74d7005e6e3f4ca143584ba696ac69df4f02f40d629"}, + {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5b750a8e5a1262434fb1517ddf64b5de58327f1adc3524a5e44c2ca43305eb0b"}, + {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf72af5e0fb40e9babf594308911436c8efde3cb5e75b6f206c34ad18be5c052"}, + {file = "propcache-0.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b2d0a12018b04f4cb820781ec0dffb5f7c7c1d2a5cd22bff7fb055a2cb19ebce"}, + {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e800776a79a5aabdb17dcc2346a7d66d0777e942e4cd251defeb084762ecd17d"}, + {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:4160d9283bd382fa6c0c2b5e017acc95bc183570cd70968b9202ad6d8fc48dce"}, + {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:30b43e74f1359353341a7adb783c8f1b1c676367b011709f466f42fda2045e95"}, + {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:58791550b27d5488b1bb52bc96328456095d96206a250d28d874fafe11b3dfaf"}, + {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:0f022d381747f0dfe27e99d928e31bc51a18b65bb9e481ae0af1380a6725dd1f"}, + {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:297878dc9d0a334358f9b608b56d02e72899f3b8499fc6044133f0d319e2ec30"}, + {file = "propcache-0.2.1-cp313-cp313-win32.whl", hash = "sha256:ddfab44e4489bd79bda09d84c430677fc7f0a4939a73d2bba3073036f487a0a6"}, + {file = "propcache-0.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:556fc6c10989f19a179e4321e5d678db8eb2924131e64652a51fe83e4c3db0e1"}, + {file = "propcache-0.2.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6a9a8c34fb7bb609419a211e59da8887eeca40d300b5ea8e56af98f6fbbb1541"}, + {file = "propcache-0.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ae1aa1cd222c6d205853b3013c69cd04515f9d6ab6de4b0603e2e1c33221303e"}, + {file = "propcache-0.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:accb6150ce61c9c4b7738d45550806aa2b71c7668c6942f17b0ac182b6142fd4"}, + {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5eee736daafa7af6d0a2dc15cc75e05c64f37fc37bafef2e00d77c14171c2097"}, + {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7a31fc1e1bd362874863fdeed71aed92d348f5336fd84f2197ba40c59f061bd"}, + {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba4cfa1052819d16699e1d55d18c92b6e094d4517c41dd231a8b9f87b6fa681"}, + {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f089118d584e859c62b3da0892b88a83d611c2033ac410e929cb6754eec0ed16"}, + {file = "propcache-0.2.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:781e65134efaf88feb447e8c97a51772aa75e48b794352f94cb7ea717dedda0d"}, + {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31f5af773530fd3c658b32b6bdc2d0838543de70eb9a2156c03e410f7b0d3aae"}, + {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:a7a078f5d37bee6690959c813977da5291b24286e7b962e62a94cec31aa5188b"}, + {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:cea7daf9fc7ae6687cf1e2c049752f19f146fdc37c2cc376e7d0032cf4f25347"}, + {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:8b3489ff1ed1e8315674d0775dc7d2195fb13ca17b3808721b54dbe9fd020faf"}, + {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9403db39be1393618dd80c746cb22ccda168efce239c73af13c3763ef56ffc04"}, + {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5d97151bc92d2b2578ff7ce779cdb9174337390a535953cbb9452fb65164c587"}, + {file = "propcache-0.2.1-cp39-cp39-win32.whl", hash = "sha256:9caac6b54914bdf41bcc91e7eb9147d331d29235a7c967c150ef5df6464fd1bb"}, + {file = "propcache-0.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:92fc4500fcb33899b05ba73276dfb684a20d31caa567b7cb5252d48f896a91b1"}, + {file = "propcache-0.2.1-py3-none-any.whl", hash = "sha256:52277518d6aae65536e9cea52d4e7fd2f7a66f4aa2d30ed3f2fcea620ace3c54"}, + {file = "propcache-0.2.1.tar.gz", hash = "sha256:3f77ce728b19cb537714499928fe800c3dda29e8d9428778fc7c186da4c09a64"}, +] + [[package]] name = "pycparser" version = "2.22" @@ -1075,89 +1183,93 @@ windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pyobjc-core" -version = "10.3.1" +version = "10.3.2" description = "Python<->ObjC Interoperability Module" optional = false python-versions = ">=3.8" files = [ - {file = "pyobjc_core-10.3.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ea46d2cda17921e417085ac6286d43ae448113158afcf39e0abe484c58fb3d78"}, - {file = "pyobjc_core-10.3.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:899d3c84d2933d292c808f385dc881a140cf08632907845043a333a9d7c899f9"}, - {file = "pyobjc_core-10.3.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:6ff5823d13d0a534cdc17fa4ad47cf5bee4846ce0fd27fc40012e12b46db571b"}, - {file = "pyobjc_core-10.3.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2581e8e68885bcb0e11ec619e81ef28e08ee3fac4de20d8cc83bc5af5bcf4a90"}, - {file = "pyobjc_core-10.3.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ea98d4c2ec39ca29e62e0327db21418696161fb138ee6278daf2acbedf7ce504"}, - {file = "pyobjc_core-10.3.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:4c179c26ee2123d0aabffb9dbc60324b62b6f8614fb2c2328b09386ef59ef6d8"}, - {file = "pyobjc_core-10.3.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:cb901fce65c9be420c40d8a6ee6fff5ff27c6945f44fd7191989b982baa66dea"}, - {file = "pyobjc_core-10.3.1.tar.gz", hash = "sha256:b204a80ccc070f9ab3f8af423a3a25a6fd787e228508d00c4c30f8ac538ba720"}, + {file = "pyobjc_core-10.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:acb40672d682851a5c7fd84e5041c4d069b62076168d72591abb5fcc871bb039"}, + {file = "pyobjc_core-10.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:cea5e77659619ad93c782ca07644b6efe7d7ec6f59e46128843a0a87c1af511a"}, + {file = "pyobjc_core-10.3.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:16644a92fb9661de841ba6115e5354db06a1d193a5e239046e840013c7b3874d"}, + {file = "pyobjc_core-10.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:76b8b911d94501dac89821df349b1860bb770dce102a1a293f524b5b09dd9462"}, + {file = "pyobjc_core-10.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:8c6288fdb210b64115760a4504efbc4daffdc390d309e9318eb0e3e3b78d2828"}, + {file = "pyobjc_core-10.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:87901e9f7032f33eb4fa884e407bf2744d5a0791b379bfca783982a02be3f7fb"}, + {file = "pyobjc_core-10.3.2-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:636971ab48a4198ca129e149fe58ccf85a7b4a9b93d27f5ae920d88eb2655431"}, + {file = "pyobjc_core-10.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:48e9ac3af42b2340dae709a8b894f5ef7e5132d8546adcd1797cffcc449dabdc"}, + {file = "pyobjc_core-10.3.2.tar.gz", hash = "sha256:dbf1475d864ce594288ce03e94e3a98dc7f0e4639971eb1e312bdf6661c21e0e"}, ] [[package]] name = "pyobjc-framework-cocoa" -version = "10.3.1" +version = "10.3.2" description = "Wrappers for the Cocoa frameworks on macOS" optional = false python-versions = ">=3.8" files = [ - {file = "pyobjc_framework_Cocoa-10.3.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4cb4f8491ab4d9b59f5187e42383f819f7a46306a4fa25b84f126776305291d1"}, - {file = "pyobjc_framework_Cocoa-10.3.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5f31021f4f8fdf873b57a97ee1f3c1620dbe285e0b4eaed73dd0005eb72fd773"}, - {file = "pyobjc_framework_Cocoa-10.3.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:11b4e0bad4bbb44a4edda128612f03cdeab38644bbf174de0c13129715497296"}, - {file = "pyobjc_framework_Cocoa-10.3.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:de5e62e5ccf2871a94acf3bf79646b20ea893cc9db78afa8d1fe1b0d0f7cbdb0"}, - {file = "pyobjc_framework_Cocoa-10.3.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c5af24610ab639bd1f521ce4500484b40787f898f691b7a23da3339e6bc8b90"}, - {file = "pyobjc_framework_Cocoa-10.3.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:a7151186bb7805deea434fae9a4423335e6371d105f29e73cc2036c6779a9dbc"}, - {file = "pyobjc_framework_Cocoa-10.3.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:743d2a1ac08027fd09eab65814c79002a1d0421d7c0074ffd1217b6560889744"}, - {file = "pyobjc_framework_cocoa-10.3.1.tar.gz", hash = "sha256:1cf20714daaa986b488fb62d69713049f635c9d41a60c8da97d835710445281a"}, + {file = "pyobjc_framework_Cocoa-10.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:61f44c2adab28fdf3aa3d593c9497a2d9ceb9583ed9814adb48828c385d83ff4"}, + {file = "pyobjc_framework_Cocoa-10.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7caaf8b260e81b27b7b787332846f644b9423bfc1536f6ec24edbde59ab77a87"}, + {file = "pyobjc_framework_Cocoa-10.3.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:c49e99fc4b9e613fb308651b99d52a8a9ae9916c8ef27aa2f5d585b6678a59bf"}, + {file = "pyobjc_framework_Cocoa-10.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f1161b5713f9b9934c12649d73a6749617172e240f9431eff9e22175262fdfda"}, + {file = "pyobjc_framework_Cocoa-10.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:08e48b9ee4eb393447b2b781d16663b954bd10a26927df74f92e924c05568d89"}, + {file = "pyobjc_framework_Cocoa-10.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7faa448d2038ae0e0287a326d390002e744bb6470e45995e2dbd16c892e4495a"}, + {file = "pyobjc_framework_Cocoa-10.3.2-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:fcd53fee2be9708576617994b107aedc2c40824b648cd51e780e8399c0a447b6"}, + {file = "pyobjc_framework_Cocoa-10.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:838fcf0d10674bde9ff64a3f20c0e188f2dc5e804476d80509b81c4ac1dabc59"}, + {file = "pyobjc_framework_cocoa-10.3.2.tar.gz", hash = "sha256:673968e5435845bef969bfe374f31a1a6dc660c98608d2b84d5cae6eafa5c39d"}, ] [package.dependencies] -pyobjc-core = ">=10.3.1" +pyobjc-core = ">=10.3.2" [[package]] name = "pyobjc-framework-corebluetooth" -version = "10.3.1" +version = "10.3.2" description = "Wrappers for the framework CoreBluetooth on macOS" optional = false python-versions = ">=3.8" files = [ - {file = "pyobjc_framework_CoreBluetooth-10.3.1-cp36-abi3-macosx_10_13_universal2.whl", hash = "sha256:c89ee6fba0ed359c46b4908a7d01f88f133be025bd534cbbf4fb9c183e62fc97"}, - {file = "pyobjc_framework_CoreBluetooth-10.3.1-cp36-abi3-macosx_10_9_universal2.whl", hash = "sha256:2f261a386aa6906f9d4601d35ff71a13315dbca1a0698bf1f1ecfe3971de4648"}, - {file = "pyobjc_framework_CoreBluetooth-10.3.1-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:5211df0da2e8be511d9a54a48505dd7af0c4d04546fe2027dd723801d633c6ba"}, - {file = "pyobjc_framework_CoreBluetooth-10.3.1-cp36-abi3-macosx_11_0_universal2.whl", hash = "sha256:b8becd4e406be289a2d423611d3ad40730532a1f6728effb2200e68c9c04c3e8"}, - {file = "pyobjc_framework_corebluetooth-10.3.1.tar.gz", hash = "sha256:dc5d326ab5541b8b68e7e920aa8363851e779cb8c33842f6cfeef4674cc62f94"}, + {file = "pyobjc_framework_CoreBluetooth-10.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:af3e2f935a6a7e5b009b4cf63c64899592a7b46c3ddcbc8f2e28848842ef65f4"}, + {file = "pyobjc_framework_CoreBluetooth-10.3.2-cp36-abi3-macosx_10_13_universal2.whl", hash = "sha256:973b78f47c7e2209a475e60bcc7d1b4a87be6645d39b4e8290ee82640e1cc364"}, + {file = "pyobjc_framework_CoreBluetooth-10.3.2-cp36-abi3-macosx_10_9_universal2.whl", hash = "sha256:4bafdf1be15eae48a4878dbbf1bf19877ce28cbbba5baa0267a9564719ee736e"}, + {file = "pyobjc_framework_CoreBluetooth-10.3.2-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:4d7dc7494de66c850bda7b173579df7481dc97046fa229d480fe9bf90b2b9651"}, + {file = "pyobjc_framework_CoreBluetooth-10.3.2-cp36-abi3-macosx_11_0_universal2.whl", hash = "sha256:62e09e730f4d98384f1b6d44718812195602b3c82d5c78e09f60e8a934e7b266"}, + {file = "pyobjc_framework_corebluetooth-10.3.2.tar.gz", hash = "sha256:c0a077bc3a2466271efa382c1e024630bc43cc6f9ab8f3f97431ad08b1ad52bb"}, ] [package.dependencies] -pyobjc-core = ">=10.3.1" -pyobjc-framework-Cocoa = ">=10.3.1" +pyobjc-core = ">=10.3.2" +pyobjc-framework-Cocoa = ">=10.3.2" [[package]] name = "pyobjc-framework-libdispatch" -version = "10.3.1" +version = "10.3.2" description = "Wrappers for libdispatch on macOS" optional = false python-versions = ">=3.8" files = [ - {file = "pyobjc_framework_libdispatch-10.3.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5543aea8acd53fb02bcf962b003a2a9c2bdacf28dc290c31a3d2de7543ef8392"}, - {file = "pyobjc_framework_libdispatch-10.3.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3e0db3138aae333f0b87b42586bc016430a76638af169aab9cef6afee4e5f887"}, - {file = "pyobjc_framework_libdispatch-10.3.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b209dbc9338cd87e053ede4d782b8c445bcc0b9a3d0365a6ffa1f9cd5143c301"}, - {file = "pyobjc_framework_libdispatch-10.3.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a74e62314376dc2d34bc5d4a86cedaf5795786178ebccd0553c58e8fa73400a3"}, - {file = "pyobjc_framework_libdispatch-10.3.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8e8fb27ac86d48605eb2107ac408ed8de281751df81f5430fe66c8228d7626b8"}, - {file = "pyobjc_framework_libdispatch-10.3.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:0a7a19afef70c98b3b527fb2c9adb025444bcb50f65c8d7b949f1efb51bde577"}, - {file = "pyobjc_framework_libdispatch-10.3.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:109044cddecb3332cbb75f14819cd01b98aacfefe91204c776b491eccc58a112"}, - {file = "pyobjc_framework_libdispatch-10.3.1.tar.gz", hash = "sha256:f5c3475498cb32f54d75e21952670e4a32c8517fb2db2e90869f634edc942446"}, + {file = "pyobjc_framework_libdispatch-10.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:35233a8b1135567c7696087f924e398799467c7f129200b559e8e4fa777af860"}, + {file = "pyobjc_framework_libdispatch-10.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:061f6aa0f88d11d993e6546ec734303cb8979f40ae0f5cd23541236a6b426abd"}, + {file = "pyobjc_framework_libdispatch-10.3.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:6bb528f34538f35e1b79d839dbfc398dd426990e190d9301fe2d811fddc3da62"}, + {file = "pyobjc_framework_libdispatch-10.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1357729d5fded08fbf746834ebeef27bee07d6acb991f3b8366e8f4319d882c4"}, + {file = "pyobjc_framework_libdispatch-10.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:210398f9e1815ceeff49b578bf51c2d6a4a30d4c33f573da322f3d7da1add121"}, + {file = "pyobjc_framework_libdispatch-10.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e7ae5988ac0b369ad40ce5497af71864fac45c289fa52671009b427f03d6871f"}, + {file = "pyobjc_framework_libdispatch-10.3.2-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:f9d51d52dff453a4b19c096171a6cd31dd5e665371c00c1d72d480e1c22cd3d4"}, + {file = "pyobjc_framework_libdispatch-10.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ef755bcabff2ea8db45603a8294818e0eeae85bf0b7b9d59e42f5947a26e33b9"}, + {file = "pyobjc_framework_libdispatch-10.3.2.tar.gz", hash = "sha256:e9f4311fbf8df602852557a98d2a64f37a9d363acf4d75634120251bbc7b7304"}, ] [package.dependencies] -pyobjc-core = ">=10.3.1" -pyobjc-framework-Cocoa = ">=10.3.1" +pyobjc-core = ">=10.3.2" +pyobjc-framework-Cocoa = ">=10.3.2" [[package]] name = "pyright" -version = "1.1.389" +version = "1.1.391" description = "Command line wrapper for pyright" optional = false python-versions = ">=3.7" files = [ - {file = "pyright-1.1.389-py3-none-any.whl", hash = "sha256:41e9620bba9254406dc1f621a88ceab5a88af4c826feb4f614d95691ed243a60"}, - {file = "pyright-1.1.389.tar.gz", hash = "sha256:716bf8cc174ab8b4dcf6828c3298cac05c5ed775dda9910106a5dcfe4c7fe220"}, + {file = "pyright-1.1.391-py3-none-any.whl", hash = "sha256:54fa186f8b3e8a55a44ebfa842636635688670c6896dcf6cf4a7fc75062f4d15"}, + {file = "pyright-1.1.391.tar.gz", hash = "sha256:66b2d42cdf5c3cbab05f2f4b76e8bec8aa78e679bfa0b6ad7b923d9e027cadb2"}, ] [package.dependencies] @@ -1171,13 +1283,13 @@ nodejs = ["nodejs-wheel-binaries"] [[package]] name = "pytest" -version = "8.3.3" +version = "8.3.4" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.8" files = [ - {file = "pytest-8.3.3-py3-none-any.whl", hash = "sha256:a6853c7375b2663155079443d2e45de913a911a11d669df02a50814944db57b2"}, - {file = "pytest-8.3.3.tar.gz", hash = "sha256:70b98107bd648308a7952b06e6ca9a50bc660be218d53c257cc1fc94fda10181"}, + {file = "pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6"}, + {file = "pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761"}, ] [package.dependencies] @@ -1276,40 +1388,40 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "ruff" -version = "0.7.4" +version = "0.8.4" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.7.4-py3-none-linux_armv6l.whl", hash = "sha256:a4919925e7684a3f18e18243cd6bea7cfb8e968a6eaa8437971f681b7ec51478"}, - {file = "ruff-0.7.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:cfb365c135b830778dda8c04fb7d4280ed0b984e1aec27f574445231e20d6c63"}, - {file = "ruff-0.7.4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:63a569b36bc66fbadec5beaa539dd81e0527cb258b94e29e0531ce41bacc1f20"}, - {file = "ruff-0.7.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0d06218747d361d06fd2fdac734e7fa92df36df93035db3dc2ad7aa9852cb109"}, - {file = "ruff-0.7.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e0cea28d0944f74ebc33e9f934238f15c758841f9f5edd180b5315c203293452"}, - {file = "ruff-0.7.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:80094ecd4793c68b2571b128f91754d60f692d64bc0d7272ec9197fdd09bf9ea"}, - {file = "ruff-0.7.4-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:997512325c6620d1c4c2b15db49ef59543ef9cd0f4aa8065ec2ae5103cedc7e7"}, - {file = "ruff-0.7.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:00b4cf3a6b5fad6d1a66e7574d78956bbd09abfd6c8a997798f01f5da3d46a05"}, - {file = "ruff-0.7.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7dbdc7d8274e1422722933d1edddfdc65b4336abf0b16dfcb9dedd6e6a517d06"}, - {file = "ruff-0.7.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e92dfb5f00eaedb1501b2f906ccabfd67b2355bdf117fea9719fc99ac2145bc"}, - {file = "ruff-0.7.4-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:3bd726099f277d735dc38900b6a8d6cf070f80828877941983a57bca1cd92172"}, - {file = "ruff-0.7.4-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:2e32829c429dd081ee5ba39aef436603e5b22335c3d3fff013cd585806a6486a"}, - {file = "ruff-0.7.4-py3-none-musllinux_1_2_i686.whl", hash = "sha256:662a63b4971807623f6f90c1fb664613f67cc182dc4d991471c23c541fee62dd"}, - {file = "ruff-0.7.4-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:876f5e09eaae3eb76814c1d3b68879891d6fde4824c015d48e7a7da4cf066a3a"}, - {file = "ruff-0.7.4-py3-none-win32.whl", hash = "sha256:75c53f54904be42dd52a548728a5b572344b50d9b2873d13a3f8c5e3b91f5cac"}, - {file = "ruff-0.7.4-py3-none-win_amd64.whl", hash = "sha256:745775c7b39f914238ed1f1b0bebed0b9155a17cd8bc0b08d3c87e4703b990d6"}, - {file = "ruff-0.7.4-py3-none-win_arm64.whl", hash = "sha256:11bff065102c3ae9d3ea4dc9ecdfe5a5171349cdd0787c1fc64761212fc9cf1f"}, - {file = "ruff-0.7.4.tar.gz", hash = "sha256:cd12e35031f5af6b9b93715d8c4f40360070b2041f81273d0527683d5708fce2"}, + {file = "ruff-0.8.4-py3-none-linux_armv6l.whl", hash = "sha256:58072f0c06080276804c6a4e21a9045a706584a958e644353603d36ca1eb8a60"}, + {file = "ruff-0.8.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:ffb60904651c00a1e0b8df594591770018a0f04587f7deeb3838344fe3adabac"}, + {file = "ruff-0.8.4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:6ddf5d654ac0d44389f6bf05cee4caeefc3132a64b58ea46738111d687352296"}, + {file = "ruff-0.8.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e248b1f0fa2749edd3350a2a342b67b43a2627434c059a063418e3d375cfe643"}, + {file = "ruff-0.8.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bf197b98ed86e417412ee3b6c893f44c8864f816451441483253d5ff22c0e81e"}, + {file = "ruff-0.8.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c41319b85faa3aadd4d30cb1cffdd9ac6b89704ff79f7664b853785b48eccdf3"}, + {file = "ruff-0.8.4-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:9f8402b7c4f96463f135e936d9ab77b65711fcd5d72e5d67597b543bbb43cf3f"}, + {file = "ruff-0.8.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e4e56b3baa9c23d324ead112a4fdf20db9a3f8f29eeabff1355114dd96014604"}, + {file = "ruff-0.8.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:736272574e97157f7edbbb43b1d046125fce9e7d8d583d5d65d0c9bf2c15addf"}, + {file = "ruff-0.8.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e5fe710ab6061592521f902fca7ebcb9fabd27bc7c57c764298b1c1f15fff720"}, + {file = "ruff-0.8.4-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:13e9ec6d6b55f6da412d59953d65d66e760d583dd3c1c72bf1f26435b5bfdbae"}, + {file = "ruff-0.8.4-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:97d9aefef725348ad77d6db98b726cfdb075a40b936c7984088804dfd38268a7"}, + {file = "ruff-0.8.4-py3-none-musllinux_1_2_i686.whl", hash = "sha256:ab78e33325a6f5374e04c2ab924a3367d69a0da36f8c9cb6b894a62017506111"}, + {file = "ruff-0.8.4-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:8ef06f66f4a05c3ddbc9121a8b0cecccd92c5bf3dd43b5472ffe40b8ca10f0f8"}, + {file = "ruff-0.8.4-py3-none-win32.whl", hash = "sha256:552fb6d861320958ca5e15f28b20a3d071aa83b93caee33a87b471f99a6c0835"}, + {file = "ruff-0.8.4-py3-none-win_amd64.whl", hash = "sha256:f21a1143776f8656d7f364bd264a9d60f01b7f52243fbe90e7670c0dfe0cf65d"}, + {file = "ruff-0.8.4-py3-none-win_arm64.whl", hash = "sha256:9183dd615d8df50defa8b1d9a074053891ba39025cf5ae88e8bcb52edcc4bf08"}, + {file = "ruff-0.8.4.tar.gz", hash = "sha256:0d5f89f254836799af1615798caa5f80b7f935d7a670fad66c5007928e57ace8"}, ] [[package]] name = "six" -version = "1.16.0" +version = "1.17.0" description = "Python 2 and 3 compatibility utilities" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ - {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, - {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, + {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, + {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, ] [[package]] @@ -1487,13 +1599,13 @@ test = ["pytest"] [[package]] name = "srp" -version = "1.0.21" +version = "1.0.22" description = "Secure Remote Password" optional = false python-versions = "*" files = [ - {file = "srp-1.0.21-py3-none-any.whl", hash = "sha256:e49ad6e2b8b1189c5879874664d33e4e1e403598c3e0903541a1bde03f7becae"}, - {file = "srp-1.0.21.tar.gz", hash = "sha256:866813bcf521189a1563e6ca3112b6f54fdf725a410a2dbebb6f0d84b82a1f1d"}, + {file = "srp-1.0.22-py3-none-any.whl", hash = "sha256:35aa8af053285a35683eb37182dcb2e46dbd85c7075d28e139f200d6bf16ea43"}, + {file = "srp-1.0.22.tar.gz", hash = "sha256:f330d0ec7387e2ac8577487b164963155d4a031bca6e2024f1b0930eb92baa5d"}, ] [package.dependencies] @@ -1501,31 +1613,61 @@ six = "*" [[package]] name = "stdlib-list" -version = "0.10.0" +version = "0.11.0" description = "A list of Python Standard Libraries (2.7 through 3.12)." optional = false -python-versions = ">=3.7" +python-versions = ">=3.9" files = [ - {file = "stdlib_list-0.10.0-py3-none-any.whl", hash = "sha256:b3a911bc441d03e0332dd1a9e7d0870ba3bb0a542a74d7524f54fb431256e214"}, - {file = "stdlib_list-0.10.0.tar.gz", hash = "sha256:6519c50d645513ed287657bfe856d527f277331540691ddeaf77b25459964a14"}, + {file = "stdlib_list-0.11.0-py3-none-any.whl", hash = "sha256:8bf8decfffaaf273d4cfeb5bd852b910a00dec1037dcf163576803622bccf597"}, + {file = "stdlib_list-0.11.0.tar.gz", hash = "sha256:b74a7b643a77a12637e907f3f62f0ab9f67300bce4014f6b2d3c8b4c8fd63c66"}, ] [package.extras] dev = ["build", "stdlib-list[doc,lint,test]"] doc = ["furo", "sphinx"] -lint = ["black", "mypy", "ruff"] +lint = ["mypy", "ruff"] support = ["sphobjinv"] test = ["coverage[toml]", "pytest", "pytest-cov"] [[package]] name = "tomli" -version = "2.1.0" +version = "2.2.1" description = "A lil' TOML parser" optional = false python-versions = ">=3.8" files = [ - {file = "tomli-2.1.0-py3-none-any.whl", hash = "sha256:a5c57c3d1c56f5ccdf89f6523458f60ef716e210fc47c4cfb188c5ba473e0391"}, - {file = "tomli-2.1.0.tar.gz", hash = "sha256:3f646cae2aec94e17d04973e4249548320197cfabdf130015d023de4b74d8ab8"}, + {file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"}, + {file = "tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6"}, + {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a"}, + {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee"}, + {file = "tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e"}, + {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4"}, + {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106"}, + {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8"}, + {file = "tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff"}, + {file = "tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b"}, + {file = "tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea"}, + {file = "tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8"}, + {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192"}, + {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222"}, + {file = "tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77"}, + {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6"}, + {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd"}, + {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e"}, + {file = "tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98"}, + {file = "tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4"}, + {file = "tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7"}, + {file = "tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c"}, + {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13"}, + {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281"}, + {file = "tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272"}, + {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140"}, + {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2"}, + {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744"}, + {file = "tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec"}, + {file = "tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69"}, + {file = "tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc"}, + {file = "tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff"}, ] [[package]] @@ -1541,13 +1683,13 @@ files = [ [[package]] name = "urllib3" -version = "2.2.3" +version = "2.3.0" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, - {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, + {file = "urllib3-2.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df"}, + {file = "urllib3-2.3.0.tar.gz", hash = "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d"}, ] [package.extras] @@ -1558,13 +1700,13 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "virtualenv" -version = "20.26.5" +version = "20.28.0" description = "Virtual Python Environment builder" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "virtualenv-20.26.5-py3-none-any.whl", hash = "sha256:4f3ac17b81fba3ce3bd6f4ead2749a72da5929c01774948e243db9ba41df4ff6"}, - {file = "virtualenv-20.26.5.tar.gz", hash = "sha256:ce489cac131aa58f4b25e321d6d186171f78e6cb13fafbf32a840cee67733ff4"}, + {file = "virtualenv-20.28.0-py3-none-any.whl", hash = "sha256:23eae1b4516ecd610481eda647f3a7c09aea295055337331bb4e6892ecce47b0"}, + {file = "virtualenv-20.28.0.tar.gz", hash = "sha256:2c9c3262bb8e7b87ea801d715fae4495e6032450c71d2309be9550e7364049aa"}, ] [package.dependencies] @@ -1578,360 +1720,351 @@ test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess [[package]] name = "winrt-runtime" -version = "2.2.0" +version = "2.3.0" description = "Python projection of Windows Runtime (WinRT) APIs" optional = false python-versions = "<3.14,>=3.9" files = [ - {file = "winrt_runtime-2.2.0-cp310-cp310-win32.whl", hash = "sha256:ab034330d6b64ce93683bdc14d4f3f83dfafbf1f72b45893505f7d684e5e7fe1"}, - {file = "winrt_runtime-2.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:ad9927a1838dea47ceb2d773c0269242bcee7cb5379ed801547788ab435da502"}, - {file = "winrt_runtime-2.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:87745ae54d054957a99c70875c1ac3c89cca258ed06836ae308fbbb7dda4ef61"}, - {file = "winrt_runtime-2.2.0-cp311-cp311-win32.whl", hash = "sha256:7ee2397934c1c4a090f9d889292def90b8f673dc1d320f1f07931ad1cb6e49bf"}, - {file = "winrt_runtime-2.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:f110b0f451b514cf09c4fa0e73bab54d4b598c3092df9dd87940403998e81f30"}, - {file = "winrt_runtime-2.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:27606e7a393a26e484f03db699c4d7c206d180a3736a6cd68fba3b3896e364a4"}, - {file = "winrt_runtime-2.2.0-cp312-cp312-win32.whl", hash = "sha256:5a769bfb4e264b7fd306027da90c6e4e615667e9afdd8e5d712bc45bdabaf0d2"}, - {file = "winrt_runtime-2.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:ef30ea7446a1e37660265b76e586fcffc0e83a859b7729141cdf68cbedf808a8"}, - {file = "winrt_runtime-2.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:d8f6338fb8433b4df900c8f173959a5ae9ac63b0b20faddb338e76a6e9391bc9"}, - {file = "winrt_runtime-2.2.0-cp313-cp313-win32.whl", hash = "sha256:6d8c1122158edc96cac956a5ab62bc06a56e088bdf83d0993a455216b3fd1cac"}, - {file = "winrt_runtime-2.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:76b2dc846e6802375113c9ce9e7fcc4292926bd788445f34d404bae72d2b4f4b"}, - {file = "winrt_runtime-2.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:faacc05577573702cb135e7da4d619f4990c768063dc869362f13d856a0738e3"}, - {file = "winrt_runtime-2.2.0-cp39-cp39-win32.whl", hash = "sha256:f00334e3304a43e1742514bed2dc736a9242e831676f605fdfb5d62932714b18"}, - {file = "winrt_runtime-2.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:ef1b2dc31576d686cce088a349b539fc0f47bdf2f66fb8ea63a6964dc069d00d"}, - {file = "winrt_runtime-2.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:1c9e8a609cf00acc426eae2ed4ad866991a0f33f196ec9dc69af95ae43b4373b"}, - {file = "winrt_runtime-2.2.0.tar.gz", hash = "sha256:37a673b295ebd5f6dc5a3b42fd52c8e4589ca3e605deb54c26d0877d2575ec85"}, + {file = "winrt_runtime-2.3.0-cp310-cp310-win32.whl", hash = "sha256:5c22ed339b420a6026134e28281b25078a9e6755eceb494dce5d42ee5814e3fd"}, + {file = "winrt_runtime-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:f3ef0d6b281a8d4155ea14a0f917faf82a004d4996d07beb2b3d2af191503fb1"}, + {file = "winrt_runtime-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:93ce23df52396ed89dfe659ee0e1a968928e526b9c577942d4a54ad55b333644"}, + {file = "winrt_runtime-2.3.0-cp311-cp311-win32.whl", hash = "sha256:352d70864846fd7ec89703845b82a35cef73f42d178a02a4635a38df5a61c0f8"}, + {file = "winrt_runtime-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:286e6036af4903dd830398103c3edd110a46432347e8a52ba416d937c0e1f5f9"}, + {file = "winrt_runtime-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:44d0f0f48f2f10c02b885989e8bbac41d7bf9c03550b20ddf562100356fca7a9"}, + {file = "winrt_runtime-2.3.0-cp312-cp312-win32.whl", hash = "sha256:03d3e4aedc65832e57c0dbf210ec2a9d7fb2819c74d420ba889b323e9fa5cf28"}, + {file = "winrt_runtime-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:0dc636aec2f4ee6c3849fa59dae10c128f4a908f0ce452e91af65d812ea66dcb"}, + {file = "winrt_runtime-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:d9f140c71e4f3bf7bf7d6853b246eab2e1632c72f218ff163aa41a74b576736f"}, + {file = "winrt_runtime-2.3.0-cp313-cp313-win32.whl", hash = "sha256:77f06df6b7a6cb536913ae455e30c1733d31d88dafe2c3cd8c3d0e2bcf7e2a20"}, + {file = "winrt_runtime-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:7388774b74ea2f4510ab3a98c95af296665ebe69d9d7e2fd7ee2c3fc5856099e"}, + {file = "winrt_runtime-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:0d3a4ac7661cad492d51653054e63328b940a6083c1ee1dd977f90069cb8afaa"}, + {file = "winrt_runtime-2.3.0-cp39-cp39-win32.whl", hash = "sha256:cd7bce2c7703054e7f64d11be665e9728e15d9dae0d952a51228fe830e0c4b55"}, + {file = "winrt_runtime-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:2da01af378ab9374a3a933da97543f471a676a3b844318316869bffeff811e8a"}, + {file = "winrt_runtime-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:1c6bbfcc7cbe1c8159ed5d776b30b7f1cbc2c6990803292823b0788c22d75636"}, + {file = "winrt_runtime-2.3.0.tar.gz", hash = "sha256:bb895a2b8c74b375781302215e2661914369c625aa1f8df84f8d37691b22db77"}, ] [[package]] name = "winrt-windows-devices-bluetooth" -version = "2.2.0" +version = "2.3.0" description = "Python projection of Windows Runtime (WinRT) APIs" optional = false python-versions = "<3.14,>=3.9" files = [ - {file = "winrt_Windows.Devices.Bluetooth-2.2.0-cp310-cp310-win32.whl", hash = "sha256:f3ced50ded44f74ac901d05f99cdd0bdf78e3a939a42d3cd80c33e510b4b8569"}, - {file = "winrt_Windows.Devices.Bluetooth-2.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:241a8f0ab06f6178d2e5757e7bc1f6c37e00e65ab6858ae676a1723a6445fa92"}, - {file = "winrt_Windows.Devices.Bluetooth-2.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:3abefa3d11b4af9d9731d9d1a71083b1ef301fa30f7006a6c1f341426dd6d733"}, - {file = "winrt_Windows.Devices.Bluetooth-2.2.0-cp311-cp311-win32.whl", hash = "sha256:4215c45595201f5f43f98b1e8911ff5cb0b303fe3298fa4d91a7bdc6d5523853"}, - {file = "winrt_Windows.Devices.Bluetooth-2.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:5cda69842b30bf56b10ea1a747d01b295abc910d9ccc10e9c97e8f554cd536e0"}, - {file = "winrt_Windows.Devices.Bluetooth-2.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:f7c12a28cd04eb05bacc73d8025ba135a929b9d511d21f20d0072d735853e8a2"}, - {file = "winrt_Windows.Devices.Bluetooth-2.2.0-cp312-cp312-win32.whl", hash = "sha256:c929ea5215942fb26081b26aae094a2f70551cc0a59499ab2c9ea1f6d6b991f9"}, - {file = "winrt_Windows.Devices.Bluetooth-2.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:c1444e2031f3e69990d412b9edf75413a09280744bbc088a6b0760d94d356d4b"}, - {file = "winrt_Windows.Devices.Bluetooth-2.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:f2d06ce6c43e37ea09ac073805ac6f9f62ae10ce552c90ae6eca978accd3f434"}, - {file = "winrt_Windows.Devices.Bluetooth-2.2.0-cp313-cp313-win32.whl", hash = "sha256:b44a45c60f1d9fa288a12119991060ef7998793c6b93baa84308cfb090492788"}, - {file = "winrt_Windows.Devices.Bluetooth-2.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:fb698a55d06dc34643437b370c35fa064bd28762561e880715a30463c359fa44"}, - {file = "winrt_Windows.Devices.Bluetooth-2.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:cb350bfe21bab3573c9cd84006efad9c46a395a2943ab474105aed8b21bb88a4"}, - {file = "winrt_Windows.Devices.Bluetooth-2.2.0-cp39-cp39-win32.whl", hash = "sha256:7ee056e4c1a542352bcacbb95f898b7ae2739b3e0a63f7ab1290a7e2569f6393"}, - {file = "winrt_Windows.Devices.Bluetooth-2.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:f919cee2a49c3c48d1ef9dd84b419a6438000ef43bc35a7a349291c162cab4f3"}, - {file = "winrt_Windows.Devices.Bluetooth-2.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:f223af93675f6f92ab87de08c6d413ecc8ab19014b7438893437c42dcb2b0969"}, - {file = "winrt_windows_devices_bluetooth-2.2.0.tar.gz", hash = "sha256:95a5cf9c1e915557a28a4f017ea1ff7357039ee23526258f9cc161cf080b4577"}, + {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp310-cp310-win32.whl", hash = "sha256:554aa6d0ca4bebc22a45f19fa60db1183a2b5643468f3c95cf0ebc33fbc1b0d0"}, + {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:cec2682e10431f027c1823647772671fb09bebc1e8a00021a3651120b846d36f"}, + {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:b4d42faef99845de2aded4c75c906f03cc3ba3df51fb4435e4cc88a19168cf99"}, + {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp311-cp311-win32.whl", hash = "sha256:64e0992175d4d5a1160179a8c586c2202a0edbd47a5b6da4efdbc8bb601f2f99"}, + {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:0830111c077508b599062fbe2d817203e4efa3605bd209cf4a3e03388ec39dda"}, + {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:3943d538cb7b6bde3fd8741591eb6e23487ee9ee6284f05428b205e7d10b6d92"}, + {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp312-cp312-win32.whl", hash = "sha256:544ed169039e6d5e250323cc18c87967cfeb4d3d09ce354fd7c5fd2283f3bb98"}, + {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:f7becf095bf9bc999629fcb6401a88b879c3531b3c55c820e63259c955ddc06c"}, + {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:a6a2980409c855b4e5dab0be9bde9f30236292ac1fc994df959fa5a518cd6690"}, + {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp313-cp313-win32.whl", hash = "sha256:82f443be43379d4762e72633047c82843c873b6f26428a18855ca7b53e1958d7"}, + {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:8b407da87ab52315c2d562a75d824dcafcae6e1628031cdb971072a47eb78ff0"}, + {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:e36d0b487bc5b64662b8470085edf8bfa5a220d7afc4f2e8d7faa3e3ac2bae80"}, + {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp39-cp39-win32.whl", hash = "sha256:6553023433edf5a75767e8962bf492d0623036975c7d8373d5bbccc633a77bbc"}, + {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:77bdeadb043190c40ebbad462cd06e38b6461bc976bc67daf587e9395c387aae"}, + {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:c588ab79b534fedecce48f7082b419315e8d797d0120556166492e603e90d932"}, + {file = "winrt_windows_devices_bluetooth-2.3.0.tar.gz", hash = "sha256:a1204b71c369a0399ec15d9a7b7c67990dd74504e486b839bf81825bd381a837"}, ] [package.dependencies] -winrt-runtime = "2.2.0" +winrt-runtime = "2.3.0" [package.extras] -all = ["winrt-Windows.Devices.Bluetooth.GenericAttributeProfile[all] (==2.2.0)", "winrt-Windows.Devices.Bluetooth.Rfcomm[all] (==2.2.0)", "winrt-Windows.Devices.Enumeration[all] (==2.2.0)", "winrt-Windows.Devices.Radios[all] (==2.2.0)", "winrt-Windows.Foundation.Collections[all] (==2.2.0)", "winrt-Windows.Foundation[all] (==2.2.0)", "winrt-Windows.Networking[all] (==2.2.0)", "winrt-Windows.Storage.Streams[all] (==2.2.0)"] +all = ["winrt-Windows.Devices.Bluetooth.GenericAttributeProfile[all] (==2.3.0)", "winrt-Windows.Devices.Bluetooth.Rfcomm[all] (==2.3.0)", "winrt-Windows.Devices.Enumeration[all] (==2.3.0)", "winrt-Windows.Devices.Radios[all] (==2.3.0)", "winrt-Windows.Foundation.Collections[all] (==2.3.0)", "winrt-Windows.Foundation[all] (==2.3.0)", "winrt-Windows.Networking[all] (==2.3.0)", "winrt-Windows.Storage.Streams[all] (==2.3.0)"] [[package]] name = "winrt-windows-devices-bluetooth-advertisement" -version = "2.2.0" +version = "2.3.0" description = "Python projection of Windows Runtime (WinRT) APIs" optional = false python-versions = "<3.14,>=3.9" files = [ - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.2.0-cp310-cp310-win32.whl", hash = "sha256:3d5fddffd5f6eeafebe1bcbaa096b8962c28c9236490f6f887ac2ed3ee4ed62c"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:f1cb5a835dc3574b0c47a613fa49eeeccdd9aa5801d43d7b7606ad5ce3614a54"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:9c2530c4972671ffb8a6e54621490c6c7a8c13b4d57e6474e05b62f211bbaab6"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.2.0-cp311-cp311-win32.whl", hash = "sha256:28b36b3be137bdb6bdaad0d7a620c1a8b156e3c2737d08b9827af02b3c9d52bf"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:52948f17ecfc70c58b07077191985712172b518b5e3f4874e5708d175b7ace72"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:338296b76c01840c1dc10799a405b76460346bf677af11e6ab324311fd58e1a9"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.2.0-cp312-cp312-win32.whl", hash = "sha256:4c14f48ac1886a3d374ee511467f0a61f26d88a321bf97d47429859730ee9248"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:89a658e901de88373e6a17a98273b8555e3f80563f2cc362b7f75817a7f9d915"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:3b2b1b34f37a3329cf72793a089dd13fefd7b582c3e3a53a69a1353fd18940a3"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.2.0-cp313-cp313-win32.whl", hash = "sha256:1b2d42c3d90b3e985954196b9a9e4007e22ff468d3d020c5a4acdee2821018fe"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:8d964c599670ea21b97afe2435e7638ca26e04936aacc0550474b6ec3fea988f"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:add4f459f0a02d1da38d579c3af887cfc3fe54f7782d779cf4ffe7f24404f1ff"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.2.0-cp39-cp39-win32.whl", hash = "sha256:756aeb2408bd59983a34da7f2552690d9e1071ad75de96aff15b365e1137b157"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:9d19ef4cb00f58e10bdd0a2eb497eabecb3a2a5586fdcacebae6f0009585f3f1"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:1008641262bbbe130b6fcda76b9c890327aa416ef5b240a6a2cbb895d37dd3c7"}, - {file = "winrt_windows_devices_bluetooth_advertisement-2.2.0.tar.gz", hash = "sha256:bcbf246994b60e5de4bea9eb3fa01c5d6452200789004d14df70b27be9aa4775"}, + {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp310-cp310-win32.whl", hash = "sha256:4386498e7794ed383542ea868f0aa2dd8fb5f09f12bdffde024d12bd9f5a3756"}, + {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:d6fa25b2541d2898ae17982e86e0977a639b04f75119612cb46e1719474513fd"}, + {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:b200ff5acd181353f61f5b6446176faf78a61867d8c1d21e77a15e239d2cdf6b"}, + {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp311-cp311-win32.whl", hash = "sha256:e56ad277813b48e35a3074f286c55a7a25884676e23ef9c3fc12349a42cb8fa4"}, + {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:d6533fef6a5914dc8d519b83b1841becf6fd2f37163d6e07df318a6a6118f194"}, + {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:8f4369cb0108f8ee0cace559f9870b00a4dde3fc1abd52f84adba08bc733825c"}, + {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp312-cp312-win32.whl", hash = "sha256:d729d989acd7c1d703e2088299b6e219089a415db4a7b80cd52fdc507ec3ce95"}, + {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d3d258d4388a2b46f2e46f2fbdede1bf327eaa9c2dd4605f8a7fe454077c49e"}, + {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:d8c12457b00a79f8f1058d7a51bd8e7f177fb66e31389469e75b1104f6358921"}, + {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp313-cp313-win32.whl", hash = "sha256:ac1e55a350881f82cb51e162cb7a4b5d9359e9e5fbde922de802404a951d64ec"}, + {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:0fc339340fb8be21c1c829816a49dc31b986c6d602d113d4a49ee8ffaf0e2396"}, + {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:da63d9c56edcb3b2d5135e65cc8c9c4658344dd480a8a2daf45beb2106f17874"}, + {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp39-cp39-win32.whl", hash = "sha256:e98c6ae4b0afd3e4f3ab4fa06e84d6017ff9242146a64e3bad73f7f34183a076"}, + {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:cdc485f4143fbbb3ae0c9c9ad03b1021a5cb233c6df65bf56ac14f8e22c918c3"}, + {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:7af519cc895be84d6974e9f70d102545a5e8db05e065903b0fd84521218e60a9"}, + {file = "winrt_windows_devices_bluetooth_advertisement-2.3.0.tar.gz", hash = "sha256:c8adbec690b765ca70337c35efec9910b0937a40a0a242184ea295367137f81c"}, ] [package.dependencies] -winrt-runtime = "2.2.0" +winrt-runtime = "2.3.0" [package.extras] -all = ["winrt-Windows.Devices.Bluetooth[all] (==2.2.0)", "winrt-Windows.Foundation.Collections[all] (==2.2.0)", "winrt-Windows.Foundation[all] (==2.2.0)", "winrt-Windows.Storage.Streams[all] (==2.2.0)"] +all = ["winrt-Windows.Devices.Bluetooth[all] (==2.3.0)", "winrt-Windows.Foundation.Collections[all] (==2.3.0)", "winrt-Windows.Foundation[all] (==2.3.0)", "winrt-Windows.Storage.Streams[all] (==2.3.0)"] [[package]] name = "winrt-windows-devices-bluetooth-genericattributeprofile" -version = "2.2.0" +version = "2.3.0" description = "Python projection of Windows Runtime (WinRT) APIs" optional = false python-versions = "<3.14,>=3.9" files = [ - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.2.0-cp310-cp310-win32.whl", hash = "sha256:1472f89b9d6527137e1c58dfb46f22faf2753c477a9d4f85f789b3266ad282a9"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:e25702f1aa6d4ecdf335805a50048e70ee2206499cfd7ed4fbe1a92358bdcc16"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:d07d27a6f8f7a1f52aa978724d5a09d43053b428c71563892b70df409049a37a"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.2.0-cp311-cp311-win32.whl", hash = "sha256:5c6c863daaa99b0bb670730296137b7c718d94726c112ff44ec73c8b27a12ded"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:fbee7c90c0a155477eba09eb09297711b2cb32f6ede4c01d0afe58cb3776f06a"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:655777193fd338e1a8c30ebbb8460c017d08548c54ddec9fc5503f1605c47332"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.2.0-cp312-cp312-win32.whl", hash = "sha256:45a48ab8da94eee1590f22826c084f4b1f8c32107a023f05d6a03437931a6852"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:395cb2fecd0835a402c3c4f274395bc689549b2a6b4155d3ad97b29ec87ee4f2"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:25063b43550c5630f188cfb263ab09acc920db97d1625c48e24baa6e7d445b6e"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.2.0-cp313-cp313-win32.whl", hash = "sha256:d1d26512fe45c3be0dbeb932dbd75abd580cd46ccfc278fcf51042eff302fa9c"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:21786840502a34958dd5fb137381f9144a6437b49ee90a877beb3148ead6cfe9"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:5d98852458b639e875bb4895a9ad2d5626059bc99c5f745be0560d235502d648"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.2.0-cp39-cp39-win32.whl", hash = "sha256:827b390b1a47c9aa6bfd717b66822f4fc698b0c02c8678924e2bc6ac37093b65"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:727567b725ca94b677bda97a6f725d58fc1a4652d4cc232b44cc57dd7ba9ee87"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:ac901d17d2350785bce18282cd29d002d2c4da8adff5160891c4115ae010a2d0"}, - {file = "winrt_windows_devices_bluetooth_genericattributeprofile-2.2.0.tar.gz", hash = "sha256:0de4ee5f57223107f25c20f6bb2739947670a2f8cf09907f3e611efc81e7c6e0"}, + {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp310-cp310-win32.whl", hash = "sha256:1ec75b107370827874d8435a47852d0459cb66d5694e02a833e0a75c4748e847"}, + {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:0a178aa936abbc56ae1cc54a222dee4a34ce6c09506a5b592d4f7d04dbe76b95"}, + {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:b7067b8578e19ad17b28694090d5b000fee57db5b219462155961b685d71fba5"}, + {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp311-cp311-win32.whl", hash = "sha256:e0aeba201e20b6c4bc18a4336b5b07d653d4ab4c9c17a301613db680a346cd5e"}, + {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:f87b3995de18b98075ec2b02afc7252873fa75e7c840eb770d7bfafb4fda5c12"}, + {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:7dccce04ec076666001efca8e2484d0ec444b2302ae150ef184aa253b8cfba09"}, + {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp312-cp312-win32.whl", hash = "sha256:1b97ef2ab9c9f5bae984989a47565d0d19c84969d74982a2664a4a3485cb8274"}, + {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:5fac2c7b301fa70e105785d7504176c76e4d824fc3823afed4d1ab6a7682272c"}, + {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:353fdccf2398b2a12e0835834cff8143a7efd9ba877fb5820fdcce531732b500"}, + {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp313-cp313-win32.whl", hash = "sha256:f414f793767ccc56d055b1c74830efb51fa4cbdc9163847b1a38b1ee35778f49"}, + {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:8ef35d9cda5bbdcc55aa7eaf143ab873227d6ee467aaf28edbd2428f229e7c94"}, + {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:6a9e7308ba264175c2a9ee31f6cf1d647cb35ee9a1da7350793d8fe033a6b9b8"}, + {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp39-cp39-win32.whl", hash = "sha256:aea58f7e484cf3480ab9472a3e99b61c157b8a47baae8694bc7400ea5335f5dc"}, + {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:992b792a9e7f5771ccdc18eec4e526a11f23b75d9be5de3ec552ff719333897a"}, + {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:66b030a9cc6099dafe4253239e8e625cc063bb9bb115bebed6260d92dd86f6b1"}, + {file = "winrt_windows_devices_bluetooth_genericattributeprofile-2.3.0.tar.gz", hash = "sha256:f40f94bf2f7243848dc10e39cfde76c9044727a05e7e5dfb8cb7f062f3fd3dda"}, ] [package.dependencies] -winrt-runtime = "2.2.0" +winrt-runtime = "2.3.0" [package.extras] -all = ["winrt-Windows.Devices.Bluetooth[all] (==2.2.0)", "winrt-Windows.Devices.Enumeration[all] (==2.2.0)", "winrt-Windows.Foundation.Collections[all] (==2.2.0)", "winrt-Windows.Foundation[all] (==2.2.0)", "winrt-Windows.Storage.Streams[all] (==2.2.0)"] +all = ["winrt-Windows.Devices.Bluetooth[all] (==2.3.0)", "winrt-Windows.Devices.Enumeration[all] (==2.3.0)", "winrt-Windows.Foundation.Collections[all] (==2.3.0)", "winrt-Windows.Foundation[all] (==2.3.0)", "winrt-Windows.Storage.Streams[all] (==2.3.0)"] [[package]] name = "winrt-windows-devices-enumeration" -version = "2.2.0" +version = "2.3.0" description = "Python projection of Windows Runtime (WinRT) APIs" optional = false python-versions = "<3.14,>=3.9" files = [ - {file = "winrt_Windows.Devices.Enumeration-2.2.0-cp310-cp310-win32.whl", hash = "sha256:69e87ba0ae5c31f60bc07d0558d91af96213d8b8b2b1be0ccf3e5824cab466ef"}, - {file = "winrt_Windows.Devices.Enumeration-2.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:e6993d5305ff750c5c51f57253935458996fb45c049891f2fb00772cc6ece6b3"}, - {file = "winrt_Windows.Devices.Enumeration-2.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:bb54aa94b17052d65fe4fa5777183cf9bfb697574c3461759114d3ec0c802cec"}, - {file = "winrt_Windows.Devices.Enumeration-2.2.0-cp311-cp311-win32.whl", hash = "sha256:fef83263e73c2611d223f06735d2c2a16629d723f74e1964dc882f90b6e1cda1"}, - {file = "winrt_Windows.Devices.Enumeration-2.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:cf3cec5a6fba069ecbd4f3efa95e9f197aeebdd05a60bcd52b953888169ab7ee"}, - {file = "winrt_Windows.Devices.Enumeration-2.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:d9ce308c492c1e9f2417f91ad02e366f4269cc1c6d271f0be4092b758df4c9bf"}, - {file = "winrt_Windows.Devices.Enumeration-2.2.0-cp312-cp312-win32.whl", hash = "sha256:5bea21988749fad21574ea789b4090cfbfbb982a5f9a42b2d6f05b3ad47f68bd"}, - {file = "winrt_Windows.Devices.Enumeration-2.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:c9718d7033550a029e0c2848ff620bf063a519cb22ab9d880d64ceb302763a48"}, - {file = "winrt_Windows.Devices.Enumeration-2.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:69f67f01aa519304e4af04a1a23261bd8b57136395de2e08d56968f9c6daa18e"}, - {file = "winrt_Windows.Devices.Enumeration-2.2.0-cp313-cp313-win32.whl", hash = "sha256:84447916282773d7b7e5a445eae0ab273c21105f1bbcdfb7d8e21cd41403d5c1"}, - {file = "winrt_Windows.Devices.Enumeration-2.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:1bb9d97f8d2518bb5b331f825431814277de4341811a1776e79d51767e79700c"}, - {file = "winrt_Windows.Devices.Enumeration-2.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:2a5408423f680f6b36d7accad7151336ea16ad1eaa2652f60ed88e2cbd14562c"}, - {file = "winrt_Windows.Devices.Enumeration-2.2.0-cp39-cp39-win32.whl", hash = "sha256:51f4c9b6f3376913e3009bfe232cfc082357b24d6eeec098cf53f361527e1c1f"}, - {file = "winrt_Windows.Devices.Enumeration-2.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:1e6895d5538539d0c6bd081374e7646684901038d4d2dede7841b63adfaf8086"}, - {file = "winrt_Windows.Devices.Enumeration-2.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:0845fca0841003ae446650ab6695c38d45623bc1e8e40a43e839e450a874fd6f"}, - {file = "winrt_windows_devices_enumeration-2.2.0.tar.gz", hash = "sha256:cfe1780101e3ef9c5b4716cca608aa6b6ddf19f1d7a2a70434241d438db19d3d"}, + {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp310-cp310-win32.whl", hash = "sha256:461360ab47967f39721e71276fdcfe87ad2f71ba7b09d721f2f88bcdf16a6924"}, + {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:a7d7b01d43d5dcc1f3846db12f4c552155efae75469f36052623faed7f0f74a8"}, + {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:6478fbe6f45172a9911c15b061ec9b0f30c9f4845ba3fd1e9e1bb78c1fb691c4"}, + {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp311-cp311-win32.whl", hash = "sha256:30be5cba8e9e81ea8dd514ba1300b5bb14ad7cc4e32efe908ddddd14c73e7f61"}, + {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:86c2a1865e0a0146dd4f51f17e3d773d3e6732742f61838c05061f28738c6dbd"}, + {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:1b50d9304e49a9f04bc8139831b75be968ff19a1f50529d5eb0081dae2103d92"}, + {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp312-cp312-win32.whl", hash = "sha256:42ed0349f0290a1b0a101425a06196c5d5db1240db6f8bd7d2204f23c48d727b"}, + {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:83e385fbf85b9511699d33c659673611f42b98bd3a554a85b377a34cc3b68b2e"}, + {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:26f855caee61c12449c6b07e22ea1ad470f8daa24223d8581e1fe622c70b48a8"}, + {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp313-cp313-win32.whl", hash = "sha256:a5f2cff6ee584e5627a2246bdbcd1b3a3fd1e7ae0741f62c59f7d5a5650d5791"}, + {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:7516171521aa383ccdc8f422cc202979a2359d0d1256f22852bfb0b55d9154f0"}, + {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:80d01dfffe4b548439242f3f7a737189354768b203cca023dc29b267dfe5595a"}, + {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp39-cp39-win32.whl", hash = "sha256:990a375cd8edc2d30b939a49dcc1349ede3a4b8e4da78baf0de5e5711d3a4f00"}, + {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:2e7bedf0eac2066d7d37b1d34071b95bb57024e9e083867be1d24e916e012ac0"}, + {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:c53b673b80ba794f1c1320a5e0a14d795193c3f64b8132ebafba2f49c7301c2f"}, + {file = "winrt_windows_devices_enumeration-2.3.0.tar.gz", hash = "sha256:a14078aac41432781acb0c950fcdcdeb096e2f80f7591a3d46435f30221fc3eb"}, ] [package.dependencies] -winrt-runtime = "2.2.0" +winrt-runtime = "2.3.0" [package.extras] -all = ["winrt-Windows.ApplicationModel.Background[all] (==2.2.0)", "winrt-Windows.Foundation.Collections[all] (==2.2.0)", "winrt-Windows.Foundation[all] (==2.2.0)", "winrt-Windows.Security.Credentials[all] (==2.2.0)", "winrt-Windows.Storage.Streams[all] (==2.2.0)", "winrt-Windows.UI.Popups[all] (==2.2.0)", "winrt-Windows.UI[all] (==2.2.0)"] +all = ["winrt-Windows.ApplicationModel.Background[all] (==2.3.0)", "winrt-Windows.Foundation.Collections[all] (==2.3.0)", "winrt-Windows.Foundation[all] (==2.3.0)", "winrt-Windows.Security.Credentials[all] (==2.3.0)", "winrt-Windows.Storage.Streams[all] (==2.3.0)", "winrt-Windows.UI.Popups[all] (==2.3.0)", "winrt-Windows.UI[all] (==2.3.0)"] [[package]] name = "winrt-windows-foundation" -version = "2.2.0" +version = "2.3.0" description = "Python projection of Windows Runtime (WinRT) APIs" optional = false python-versions = "<3.14,>=3.9" files = [ - {file = "winrt_Windows.Foundation-2.2.0-cp310-cp310-win32.whl", hash = "sha256:cb86bbf04f72d983e4ae13db0a48784638b36214bb2c44809f39686ef3314354"}, - {file = "winrt_Windows.Foundation-2.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:2dbd0957216c07db4b91a144a0ffa7c8892cc668b19ca15b78067255445741b2"}, - {file = "winrt_Windows.Foundation-2.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:5345f7d0504aa1a605be5b5fe0d1944b322591f7669c2c86b7c45384924c8c9b"}, - {file = "winrt_Windows.Foundation-2.2.0-cp311-cp311-win32.whl", hash = "sha256:f6711adf8a34e48c94183e792f153de5f3796f8f3c045356544605384bbcb7e1"}, - {file = "winrt_Windows.Foundation-2.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:0a5bfe2647659e7ec288d8552e61e577a931914531ccc9cb958469d85f049d6b"}, - {file = "winrt_Windows.Foundation-2.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:9eabbd1b179fd04f167884fa0feaa17ccd67d89f6eac4099b16c6c0dc22e9f32"}, - {file = "winrt_Windows.Foundation-2.2.0-cp312-cp312-win32.whl", hash = "sha256:0f0319659f00d04d13fc5db45f574479a396147c955628dc2dda056397a0df28"}, - {file = "winrt_Windows.Foundation-2.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:8bc605242d268cd8ccce68c78ec4a967b8e5431c3a969c9e7a01d454696dfb3f"}, - {file = "winrt_Windows.Foundation-2.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:f901b20c3a874a2cf9dcb1e97bbcff329d95fd3859a873be314a5a58073b4690"}, - {file = "winrt_Windows.Foundation-2.2.0-cp313-cp313-win32.whl", hash = "sha256:c5cf43bb1dccf3a302d16572d53f26479d277e02606531782c364056c2323678"}, - {file = "winrt_Windows.Foundation-2.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:10c84276ff182a06da6deb1ba9ad375f9b3fbc15c3684a160e775005d915197a"}, - {file = "winrt_Windows.Foundation-2.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:473cc57664bfd5401ec171c8f55079cdc8a980210f2c82fb2945361ea640bfbf"}, - {file = "winrt_Windows.Foundation-2.2.0-cp39-cp39-win32.whl", hash = "sha256:32578bd31eda714bc5cb5b10f0e778c720a2e45bc9b3c60690faa1615336047d"}, - {file = "winrt_Windows.Foundation-2.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:7bfb62127959f56fdacad6a817176a8b22cf6917a0d5c3e5d25cdad33a90173a"}, - {file = "winrt_Windows.Foundation-2.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:07ea5a2f05cb9fb433371e55f70fbe27f32a6eb07ae28042f01678b4d82d823a"}, - {file = "winrt_windows_foundation-2.2.0.tar.gz", hash = "sha256:9a76291204900cd92008163fbe273ae43c9a925ca4a5a29cdd736e59cd397bf1"}, + {file = "winrt_Windows.Foundation-2.3.0-cp310-cp310-win32.whl", hash = "sha256:ea7b0e82be5c05690fedaf0dac5aa5e5fefd7ebf90b1497e5993197d305d916d"}, + {file = "winrt_Windows.Foundation-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:6807dd40f8ecd6403679f6eae0db81674fdcf33768d08fdee66e0a17b7a02515"}, + {file = "winrt_Windows.Foundation-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:0a861815e97ace82583210c03cf800507b0c3a97edd914bfffa5f88de1fbafcc"}, + {file = "winrt_Windows.Foundation-2.3.0-cp311-cp311-win32.whl", hash = "sha256:c79b3d9384128b6b28c2483b4600f15c5d32c1f6646f9d77fdb3ee9bbaef6f81"}, + {file = "winrt_Windows.Foundation-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:fdd9c4914070dc598f5961d9c7571dd7d745f5cc60347603bf39d6ee921bd85c"}, + {file = "winrt_Windows.Foundation-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:62bbb0ffa273551d33fd533d6e09b6f9f633dc214225d483722af47d2525fb84"}, + {file = "winrt_Windows.Foundation-2.3.0-cp312-cp312-win32.whl", hash = "sha256:d36f472ac258e79eee6061e1bb4ce50bfd200f9271392d23479c800ca6aee8d1"}, + {file = "winrt_Windows.Foundation-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:8de9b5e95a3fdabdb45b1952e05355dd5a678f80bf09a54d9f966dccc805b383"}, + {file = "winrt_Windows.Foundation-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:37da09c08c9c772baedb1958e5ee116fe63809f33c6820c69750f340b3dda292"}, + {file = "winrt_Windows.Foundation-2.3.0-cp313-cp313-win32.whl", hash = "sha256:2b00fad3f2a3859ccae41eee12ab44434813a371c2f3003b4f2419e5eecb4832"}, + {file = "winrt_Windows.Foundation-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:686619932b2a2c689cbebc7f5196437a45fd2056656ef130bb10240bb111086a"}, + {file = "winrt_Windows.Foundation-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:b38dcb83fe82a7da9a57d7d5ad5deb09503b5be6d9357a9fd3016ca31673805d"}, + {file = "winrt_Windows.Foundation-2.3.0-cp39-cp39-win32.whl", hash = "sha256:2d6922de4dc38061b86d314c7319d7c6bd78a52d64ee0c93eb81474bddb499bc"}, + {file = "winrt_Windows.Foundation-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:1513e43adff3779d2f611d8bdf9350ac1a7c04389e9e6b1d777c5cd54f46e4fc"}, + {file = "winrt_Windows.Foundation-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:c811e4a4f79b947fbbb50f74d34ef6840dd2dd26e0199bd61a4185e48c6a84a8"}, + {file = "winrt_windows_foundation-2.3.0.tar.gz", hash = "sha256:c5766f011c8debbe89b460af4a97d026ca252144e62d7278c9c79c5581ea0c02"}, ] [package.dependencies] -winrt-runtime = "2.2.0" +winrt-runtime = "2.3.0" [package.extras] -all = ["winrt-Windows.Foundation.Collections[all] (==2.2.0)"] +all = ["winrt-Windows.Foundation.Collections[all] (==2.3.0)"] [[package]] name = "winrt-windows-foundation-collections" -version = "2.2.0" +version = "2.3.0" description = "Python projection of Windows Runtime (WinRT) APIs" optional = false python-versions = "<3.14,>=3.9" files = [ - {file = "winrt_Windows.Foundation.Collections-2.2.0-cp310-cp310-win32.whl", hash = "sha256:92a031fca53910c8bce683391888ba3427db178fc47653310de16fb7e9131e9d"}, - {file = "winrt_Windows.Foundation.Collections-2.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:a71925d738a443cf27522f34ced84730f1b325f69ccdd0145580e6078d4481c5"}, - {file = "winrt_Windows.Foundation.Collections-2.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:74c9419b26b510e6e95182e02dc55a78094b6f2af5002330467d030ae6d0b765"}, - {file = "winrt_Windows.Foundation.Collections-2.2.0-cp311-cp311-win32.whl", hash = "sha256:8a76d79be0af1840b9c5ac1879dcf5aa65b512accd8278ac6424dcbfdb2a6fe1"}, - {file = "winrt_Windows.Foundation.Collections-2.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:b18dcd7bc8cf70758b965397e26da725ac345dd9f16b922b0204e8f21ed4d7e6"}, - {file = "winrt_Windows.Foundation.Collections-2.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:1d6b0b04683e98989dd611940b5fe36c1338f6d91f43c1bdc88f2f2f1956a968"}, - {file = "winrt_Windows.Foundation.Collections-2.2.0-cp312-cp312-win32.whl", hash = "sha256:ade4ea4584ba96e39d2b34f1036d8cb40ff2e9609a090562cfd2b8837dc7f828"}, - {file = "winrt_Windows.Foundation.Collections-2.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:1e896291c5efe0566db84eab13888bee7300392a6811ae85c55ced51bac0b147"}, - {file = "winrt_Windows.Foundation.Collections-2.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:e44e13027597fcc638073459dcc159a21c57f9dbe0e9a2282326e32386c25bd0"}, - {file = "winrt_Windows.Foundation.Collections-2.2.0-cp313-cp313-win32.whl", hash = "sha256:ea7fa3a7ecb754eb09408e7127cd960d316cc1ba60a6440e191a81f14b42265c"}, - {file = "winrt_Windows.Foundation.Collections-2.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:f338860e27a8a67b386273c73ad10c680a9f40a42e0185cc6443d208a7425ece"}, - {file = "winrt_Windows.Foundation.Collections-2.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:dd705d4c62bd8c109f2bc667a0c76dc30ef9a1b2ced3e7bd95253a31e39781df"}, - {file = "winrt_Windows.Foundation.Collections-2.2.0-cp39-cp39-win32.whl", hash = "sha256:6798595621ad58473fe9e86f5f58d732628d88f06535b68c4d86cb5aed78f2b3"}, - {file = "winrt_Windows.Foundation.Collections-2.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:c8ac098a60dad586e950a8236bab09ae57b6a08147d36db6b0aed135a9a81831"}, - {file = "winrt_Windows.Foundation.Collections-2.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:c67105ebd88faf10d2941516c0ea9f73d9282fb8a7d2a73163a7a7e013bba839"}, - {file = "winrt_windows_foundation_collections-2.2.0.tar.gz", hash = "sha256:10db64da49185af3e14465cd65ec4055eb122a96daedb73b774889f3b7fcfa63"}, + {file = "winrt_Windows.Foundation.Collections-2.3.0-cp310-cp310-win32.whl", hash = "sha256:d2fca59eef9582a33c2797b1fda1d5757d66827cc34e6fc1d1c94a5875c4c043"}, + {file = "winrt_Windows.Foundation.Collections-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:d14b47d9137aebad71aa4fde5892673f2fa326f5f4799378cb9f6158b07a9824"}, + {file = "winrt_Windows.Foundation.Collections-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:cca5398a4522dffd76decf64a28368cda67e81dc01cad35a9f39cc351af69bdd"}, + {file = "winrt_Windows.Foundation.Collections-2.3.0-cp311-cp311-win32.whl", hash = "sha256:3808af64c95a9b464e8e97f6bec57a8b22168185f1c893f30de69aaf48c85b17"}, + {file = "winrt_Windows.Foundation.Collections-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:1e9a3842a39feb965545124abfe79ed726adc5a1fc6a192470a3c5d3ec3f7a74"}, + {file = "winrt_Windows.Foundation.Collections-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:751c2a68fef080dfe0af892ef4cebf317844e4baa786e979028757fe2740fba4"}, + {file = "winrt_Windows.Foundation.Collections-2.3.0-cp312-cp312-win32.whl", hash = "sha256:498c1fc403d3dc7a091aaac92af471615de4f9550d544347cb3b169c197183b5"}, + {file = "winrt_Windows.Foundation.Collections-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:4d1b1cacc159f38d8e6b662f6e7a5c41879a36aa7434c1580d7f948c9037419e"}, + {file = "winrt_Windows.Foundation.Collections-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:398d93b76a2cf70d5e75c1f802e1dd856501e63bc9a31f4510ac59f718951b9e"}, + {file = "winrt_Windows.Foundation.Collections-2.3.0-cp313-cp313-win32.whl", hash = "sha256:1e5f1637e0919c7bb5b11ba1eebbd43bc0ad9600cf887b59fcece0f8a6c0eac3"}, + {file = "winrt_Windows.Foundation.Collections-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:c809a70bc0f93d53c7289a0a86d8869740e09fff0c57318a14401f5c17e0b912"}, + {file = "winrt_Windows.Foundation.Collections-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:269942fe86af06293a2676c8b2dcd5cb1d8ddfe1b5244f11c16e48ae0a5d100f"}, + {file = "winrt_Windows.Foundation.Collections-2.3.0-cp39-cp39-win32.whl", hash = "sha256:936b1c5720b564ec699673198addee97f3bdb790622d24c8fd1b346a9767717c"}, + {file = "winrt_Windows.Foundation.Collections-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:905a6ac9cd6b51659a9bba08cf44cfc925f528ef34cdd9c3a6c2632e97804a96"}, + {file = "winrt_Windows.Foundation.Collections-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:1d6eac85976bd831e1b8cc479d7f14afa51c27cec5a38e2540077d3400cbd3ef"}, + {file = "winrt_windows_foundation_collections-2.3.0.tar.gz", hash = "sha256:15c997fd6b64ef0400a619319ea3c6851c9c24e31d51b6448ba9bac3616d25a0"}, ] [package.dependencies] -winrt-runtime = "2.2.0" +winrt-runtime = "2.3.0" [package.extras] -all = ["winrt-Windows.Foundation[all] (==2.2.0)"] +all = ["winrt-Windows.Foundation[all] (==2.3.0)"] [[package]] name = "winrt-windows-storage-streams" -version = "2.2.0" +version = "2.3.0" description = "Python projection of Windows Runtime (WinRT) APIs" optional = false python-versions = "<3.14,>=3.9" files = [ - {file = "winrt_Windows.Storage.Streams-2.2.0-cp310-cp310-win32.whl", hash = "sha256:e888ae08f1245f8b6d53783487581fc664683bb29778f2acca6bafb6a78bcc22"}, - {file = "winrt_Windows.Storage.Streams-2.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:9213576d566398657142372aa34354b9f7b8ce0581cff308c7afbc0d908368a1"}, - {file = "winrt_Windows.Storage.Streams-2.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:49d2bdd749994fb81c813f02f3c506fff580f358083b65a123308f322c2fe6cf"}, - {file = "winrt_Windows.Storage.Streams-2.2.0-cp311-cp311-win32.whl", hash = "sha256:db4ebe7ed79a585a1bb78a3f8cea05f7d74a6a8bc913f61b31ddfe3ae10d134d"}, - {file = "winrt_Windows.Storage.Streams-2.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:f9f77c5398eb90c58645c62b6f278f701d2636c0007817cc6fc28256adbebdcb"}, - {file = "winrt_Windows.Storage.Streams-2.2.0-cp311-cp311-win_arm64.whl", hash = "sha256:894c2616eeae887275a1a64a4233964f9466ee1281b8c11ec7c06d64aafec88a"}, - {file = "winrt_Windows.Storage.Streams-2.2.0-cp312-cp312-win32.whl", hash = "sha256:85a2eefb2935db92d10b8e9be836c431d47298b566b55da633b11f822c63838d"}, - {file = "winrt_Windows.Storage.Streams-2.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:f88cdc6204219c7f1b58d793826ea2eff013a45306fbb340d61c10896c237547"}, - {file = "winrt_Windows.Storage.Streams-2.2.0-cp312-cp312-win_arm64.whl", hash = "sha256:78af200d0db5ebe151b1df194de97f1e71c2d5f5cba4da09798c15402f4ab91d"}, - {file = "winrt_Windows.Storage.Streams-2.2.0-cp313-cp313-win32.whl", hash = "sha256:6408184ba5d17e0d408d7c0b85357a58f13c775521d17a8730f1a680553e0061"}, - {file = "winrt_Windows.Storage.Streams-2.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:ad9cd8e97cf4115ba074ec153ab273c370e690abb010d8b3b970339d20f94321"}, - {file = "winrt_Windows.Storage.Streams-2.2.0-cp313-cp313-win_arm64.whl", hash = "sha256:c467cf04005b72efd769ea99c7c15973db44d5ac6084a7c7714af85e49981abd"}, - {file = "winrt_Windows.Storage.Streams-2.2.0-cp39-cp39-win32.whl", hash = "sha256:f72559b5de7c3a0cab97cd50ab594a0e3278df4d38e03f79b5b2d2e13e926c4c"}, - {file = "winrt_Windows.Storage.Streams-2.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:37bf5bb801aa1e4a4c6f3ddfe2b8c9b05d7726ebfdfc8b9bfe41bdcc3866749b"}, - {file = "winrt_Windows.Storage.Streams-2.2.0-cp39-cp39-win_arm64.whl", hash = "sha256:2dcab77a7affb1136503edec82a755b82716abd882fadd5f50ce260438b9c21b"}, - {file = "winrt_windows_storage_streams-2.2.0.tar.gz", hash = "sha256:46a8718c4e00a129d305f03571789f4bed530c05e135c2476494af93f374b68a"}, + {file = "winrt_Windows.Storage.Streams-2.3.0-cp310-cp310-win32.whl", hash = "sha256:2c0901aee1232e92ed9320644b853d7801a0bdb87790164d56e961cd39910f07"}, + {file = "winrt_Windows.Storage.Streams-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:ba07dc25decffd29aa8603119629c167bd03fa274099e3bad331a4920c292b78"}, + {file = "winrt_Windows.Storage.Streams-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:5b60b48460095c50a00a6f7f9b3b780f5bdcb1ec663fc09458201499f93e23ea"}, + {file = "winrt_Windows.Storage.Streams-2.3.0-cp311-cp311-win32.whl", hash = "sha256:8388f37759df64ceef1423ae7dd9275c8a6eb3b8245d400173b4916adc94b5ad"}, + {file = "winrt_Windows.Storage.Streams-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:e5783dbe3694cc3deda594256ebb1088655386959bb834a6bfb7cd763ee87631"}, + {file = "winrt_Windows.Storage.Streams-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:0a487d19c73b82aafa3d5ef889bb35e6e8e2487ca4f16f5446f2445033d5219c"}, + {file = "winrt_Windows.Storage.Streams-2.3.0-cp312-cp312-win32.whl", hash = "sha256:272e87e6c74cb2832261ab33db7966a99e7a2400240cc4f8bf526a80ca054c68"}, + {file = "winrt_Windows.Storage.Streams-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:997bf1a2d52c5f104b172947e571f27d9916a4409b4da592ec3e7f907848dd1a"}, + {file = "winrt_Windows.Storage.Streams-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:d56daa00205c24ede6669d41eb70d6017e0202371d99f8ee2b0b31350ab59bd5"}, + {file = "winrt_Windows.Storage.Streams-2.3.0-cp313-cp313-win32.whl", hash = "sha256:7ac4e46fc5e21d8badc5d41779273c3f5e7196f1cf2df1959b6b70eca1d5d85f"}, + {file = "winrt_Windows.Storage.Streams-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:1460027c94c107fcee484997494f3a400f08ee40396f010facb0e72b3b74c457"}, + {file = "winrt_Windows.Storage.Streams-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:e4553a70f5264a7733596802a2991e2414cdcd5e396b9d11ee87be9abae9329e"}, + {file = "winrt_Windows.Storage.Streams-2.3.0-cp39-cp39-win32.whl", hash = "sha256:28e1117e23046e499831af16d11f5e61e6066ed6247ef58b93738702522c29b0"}, + {file = "winrt_Windows.Storage.Streams-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:5511dc578f92eb303aee4d3345ee4ffc88aa414564e43e0e3d84ff29427068f0"}, + {file = "winrt_Windows.Storage.Streams-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:6f5b3f8af4df08f5bf9329373949236ffaef22d021070278795e56da5326a876"}, + {file = "winrt_windows_storage_streams-2.3.0.tar.gz", hash = "sha256:d2c010beeb1dd7c135ed67ecfaea13440474a7c469e2e9aa2852db27d2063d44"}, ] [package.dependencies] -winrt-runtime = "2.2.0" +winrt-runtime = "2.3.0" [package.extras] -all = ["winrt-Windows.Foundation.Collections[all] (==2.2.0)", "winrt-Windows.Foundation[all] (==2.2.0)", "winrt-Windows.Storage[all] (==2.2.0)", "winrt-Windows.System[all] (==2.2.0)"] +all = ["winrt-Windows.Foundation.Collections[all] (==2.3.0)", "winrt-Windows.Foundation[all] (==2.3.0)", "winrt-Windows.Storage[all] (==2.3.0)", "winrt-Windows.System[all] (==2.3.0)"] [[package]] name = "yarl" -version = "1.11.1" +version = "1.18.3" description = "Yet another URL library" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "yarl-1.11.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:400cd42185f92de559d29eeb529e71d80dfbd2f45c36844914a4a34297ca6f00"}, - {file = "yarl-1.11.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8258c86f47e080a258993eed877d579c71da7bda26af86ce6c2d2d072c11320d"}, - {file = "yarl-1.11.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2164cd9725092761fed26f299e3f276bb4b537ca58e6ff6b252eae9631b5c96e"}, - {file = "yarl-1.11.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08ea567c16f140af8ddc7cb58e27e9138a1386e3e6e53982abaa6f2377b38cc"}, - {file = "yarl-1.11.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:768ecc550096b028754ea28bf90fde071c379c62c43afa574edc6f33ee5daaec"}, - {file = "yarl-1.11.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2909fa3a7d249ef64eeb2faa04b7957e34fefb6ec9966506312349ed8a7e77bf"}, - {file = "yarl-1.11.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01a8697ec24f17c349c4f655763c4db70eebc56a5f82995e5e26e837c6eb0e49"}, - {file = "yarl-1.11.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e286580b6511aac7c3268a78cdb861ec739d3e5a2a53b4809faef6b49778eaff"}, - {file = "yarl-1.11.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4179522dc0305c3fc9782549175c8e8849252fefeb077c92a73889ccbcd508ad"}, - {file = "yarl-1.11.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:27fcb271a41b746bd0e2a92182df507e1c204759f460ff784ca614e12dd85145"}, - {file = "yarl-1.11.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f61db3b7e870914dbd9434b560075e0366771eecbe6d2b5561f5bc7485f39efd"}, - {file = "yarl-1.11.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:c92261eb2ad367629dc437536463dc934030c9e7caca861cc51990fe6c565f26"}, - {file = "yarl-1.11.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d95b52fbef190ca87d8c42f49e314eace4fc52070f3dfa5f87a6594b0c1c6e46"}, - {file = "yarl-1.11.1-cp310-cp310-win32.whl", hash = "sha256:489fa8bde4f1244ad6c5f6d11bb33e09cf0d1d0367edb197619c3e3fc06f3d91"}, - {file = "yarl-1.11.1-cp310-cp310-win_amd64.whl", hash = "sha256:476e20c433b356e16e9a141449f25161e6b69984fb4cdbd7cd4bd54c17844998"}, - {file = "yarl-1.11.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:946eedc12895873891aaceb39bceb484b4977f70373e0122da483f6c38faaa68"}, - {file = "yarl-1.11.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:21a7c12321436b066c11ec19c7e3cb9aec18884fe0d5b25d03d756a9e654edfe"}, - {file = "yarl-1.11.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c35f493b867912f6fda721a59cc7c4766d382040bdf1ddaeeaa7fa4d072f4675"}, - {file = "yarl-1.11.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25861303e0be76b60fddc1250ec5986c42f0a5c0c50ff57cc30b1be199c00e63"}, - {file = "yarl-1.11.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e4b53f73077e839b3f89c992223f15b1d2ab314bdbdf502afdc7bb18e95eae27"}, - {file = "yarl-1.11.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:327c724b01b8641a1bf1ab3b232fb638706e50f76c0b5bf16051ab65c868fac5"}, - {file = "yarl-1.11.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4307d9a3417eea87715c9736d050c83e8c1904e9b7aada6ce61b46361b733d92"}, - {file = "yarl-1.11.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48a28bed68ab8fb7e380775f0029a079f08a17799cb3387a65d14ace16c12e2b"}, - {file = "yarl-1.11.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:067b961853c8e62725ff2893226fef3d0da060656a9827f3f520fb1d19b2b68a"}, - {file = "yarl-1.11.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8215f6f21394d1f46e222abeb06316e77ef328d628f593502d8fc2a9117bde83"}, - {file = "yarl-1.11.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:498442e3af2a860a663baa14fbf23fb04b0dd758039c0e7c8f91cb9279799bff"}, - {file = "yarl-1.11.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:69721b8effdb588cb055cc22f7c5105ca6fdaa5aeb3ea09021d517882c4a904c"}, - {file = "yarl-1.11.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1e969fa4c1e0b1a391f3fcbcb9ec31e84440253325b534519be0d28f4b6b533e"}, - {file = "yarl-1.11.1-cp311-cp311-win32.whl", hash = "sha256:7d51324a04fc4b0e097ff8a153e9276c2593106a811704025bbc1d6916f45ca6"}, - {file = "yarl-1.11.1-cp311-cp311-win_amd64.whl", hash = "sha256:15061ce6584ece023457fb8b7a7a69ec40bf7114d781a8c4f5dcd68e28b5c53b"}, - {file = "yarl-1.11.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:a4264515f9117be204935cd230fb2a052dd3792789cc94c101c535d349b3dab0"}, - {file = "yarl-1.11.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f41fa79114a1d2eddb5eea7b912d6160508f57440bd302ce96eaa384914cd265"}, - {file = "yarl-1.11.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:02da8759b47d964f9173c8675710720b468aa1c1693be0c9c64abb9d8d9a4867"}, - {file = "yarl-1.11.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9361628f28f48dcf8b2f528420d4d68102f593f9c2e592bfc842f5fb337e44fd"}, - {file = "yarl-1.11.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b91044952da03b6f95fdba398d7993dd983b64d3c31c358a4c89e3c19b6f7aef"}, - {file = "yarl-1.11.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:74db2ef03b442276d25951749a803ddb6e270d02dda1d1c556f6ae595a0d76a8"}, - {file = "yarl-1.11.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e975a2211952a8a083d1b9d9ba26472981ae338e720b419eb50535de3c02870"}, - {file = "yarl-1.11.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8aef97ba1dd2138112890ef848e17d8526fe80b21f743b4ee65947ea184f07a2"}, - {file = "yarl-1.11.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a7915ea49b0c113641dc4d9338efa9bd66b6a9a485ffe75b9907e8573ca94b84"}, - {file = "yarl-1.11.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:504cf0d4c5e4579a51261d6091267f9fd997ef58558c4ffa7a3e1460bd2336fa"}, - {file = "yarl-1.11.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:3de5292f9f0ee285e6bd168b2a77b2a00d74cbcfa420ed078456d3023d2f6dff"}, - {file = "yarl-1.11.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:a34e1e30f1774fa35d37202bbeae62423e9a79d78d0874e5556a593479fdf239"}, - {file = "yarl-1.11.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:66b63c504d2ca43bf7221a1f72fbe981ff56ecb39004c70a94485d13e37ebf45"}, - {file = "yarl-1.11.1-cp312-cp312-win32.whl", hash = "sha256:a28b70c9e2213de425d9cba5ab2e7f7a1c8ca23a99c4b5159bf77b9c31251447"}, - {file = "yarl-1.11.1-cp312-cp312-win_amd64.whl", hash = "sha256:17b5a386d0d36fb828e2fb3ef08c8829c1ebf977eef88e5367d1c8c94b454639"}, - {file = "yarl-1.11.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1fa2e7a406fbd45b61b4433e3aa254a2c3e14c4b3186f6e952d08a730807fa0c"}, - {file = "yarl-1.11.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:750f656832d7d3cb0c76be137ee79405cc17e792f31e0a01eee390e383b2936e"}, - {file = "yarl-1.11.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0b8486f322d8f6a38539136a22c55f94d269addb24db5cb6f61adc61eabc9d93"}, - {file = "yarl-1.11.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3fce4da3703ee6048ad4138fe74619c50874afe98b1ad87b2698ef95bf92c96d"}, - {file = "yarl-1.11.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8ed653638ef669e0efc6fe2acb792275cb419bf9cb5c5049399f3556995f23c7"}, - {file = "yarl-1.11.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18ac56c9dd70941ecad42b5a906820824ca72ff84ad6fa18db33c2537ae2e089"}, - {file = "yarl-1.11.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:688654f8507464745ab563b041d1fb7dab5d9912ca6b06e61d1c4708366832f5"}, - {file = "yarl-1.11.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4973eac1e2ff63cf187073cd4e1f1148dcd119314ab79b88e1b3fad74a18c9d5"}, - {file = "yarl-1.11.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:964a428132227edff96d6f3cf261573cb0f1a60c9a764ce28cda9525f18f7786"}, - {file = "yarl-1.11.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:6d23754b9939cbab02c63434776df1170e43b09c6a517585c7ce2b3d449b7318"}, - {file = "yarl-1.11.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c2dc4250fe94d8cd864d66018f8344d4af50e3758e9d725e94fecfa27588ff82"}, - {file = "yarl-1.11.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09696438cb43ea6f9492ef237761b043f9179f455f405279e609f2bc9100212a"}, - {file = "yarl-1.11.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:999bfee0a5b7385a0af5ffb606393509cfde70ecca4f01c36985be6d33e336da"}, - {file = "yarl-1.11.1-cp313-cp313-win32.whl", hash = "sha256:ce928c9c6409c79e10f39604a7e214b3cb69552952fbda8d836c052832e6a979"}, - {file = "yarl-1.11.1-cp313-cp313-win_amd64.whl", hash = "sha256:501c503eed2bb306638ccb60c174f856cc3246c861829ff40eaa80e2f0330367"}, - {file = "yarl-1.11.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:dae7bd0daeb33aa3e79e72877d3d51052e8b19c9025ecf0374f542ea8ec120e4"}, - {file = "yarl-1.11.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3ff6b1617aa39279fe18a76c8d165469c48b159931d9b48239065767ee455b2b"}, - {file = "yarl-1.11.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3257978c870728a52dcce8c2902bf01f6c53b65094b457bf87b2644ee6238ddc"}, - {file = "yarl-1.11.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f351fa31234699d6084ff98283cb1e852270fe9e250a3b3bf7804eb493bd937"}, - {file = "yarl-1.11.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8aef1b64da41d18026632d99a06b3fefe1d08e85dd81d849fa7c96301ed22f1b"}, - {file = "yarl-1.11.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7175a87ab8f7fbde37160a15e58e138ba3b2b0e05492d7351314a250d61b1591"}, - {file = "yarl-1.11.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba444bdd4caa2a94456ef67a2f383710928820dd0117aae6650a4d17029fa25e"}, - {file = "yarl-1.11.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0ea9682124fc062e3d931c6911934a678cb28453f957ddccf51f568c2f2b5e05"}, - {file = "yarl-1.11.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8418c053aeb236b20b0ab8fa6bacfc2feaaf7d4683dd96528610989c99723d5f"}, - {file = "yarl-1.11.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:61a5f2c14d0a1adfdd82258f756b23a550c13ba4c86c84106be4c111a3a4e413"}, - {file = "yarl-1.11.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f3a6d90cab0bdf07df8f176eae3a07127daafcf7457b997b2bf46776da2c7eb7"}, - {file = "yarl-1.11.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:077da604852be488c9a05a524068cdae1e972b7dc02438161c32420fb4ec5e14"}, - {file = "yarl-1.11.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:15439f3c5c72686b6c3ff235279630d08936ace67d0fe5c8d5bbc3ef06f5a420"}, - {file = "yarl-1.11.1-cp38-cp38-win32.whl", hash = "sha256:238a21849dd7554cb4d25a14ffbfa0ef380bb7ba201f45b144a14454a72ffa5a"}, - {file = "yarl-1.11.1-cp38-cp38-win_amd64.whl", hash = "sha256:67459cf8cf31da0e2cbdb4b040507e535d25cfbb1604ca76396a3a66b8ba37a6"}, - {file = "yarl-1.11.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:884eab2ce97cbaf89f264372eae58388862c33c4f551c15680dd80f53c89a269"}, - {file = "yarl-1.11.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8a336eaa7ee7e87cdece3cedb395c9657d227bfceb6781295cf56abcd3386a26"}, - {file = "yarl-1.11.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:87f020d010ba80a247c4abc335fc13421037800ca20b42af5ae40e5fd75e7909"}, - {file = "yarl-1.11.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:637c7ddb585a62d4469f843dac221f23eec3cbad31693b23abbc2c366ad41ff4"}, - {file = "yarl-1.11.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:48dfd117ab93f0129084577a07287376cc69c08138694396f305636e229caa1a"}, - {file = "yarl-1.11.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75e0ae31fb5ccab6eda09ba1494e87eb226dcbd2372dae96b87800e1dcc98804"}, - {file = "yarl-1.11.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f46f81501160c28d0c0b7333b4f7be8983dbbc161983b6fb814024d1b4952f79"}, - {file = "yarl-1.11.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:04293941646647b3bfb1719d1d11ff1028e9c30199509a844da3c0f5919dc520"}, - {file = "yarl-1.11.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:250e888fa62d73e721f3041e3a9abf427788a1934b426b45e1b92f62c1f68366"}, - {file = "yarl-1.11.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:e8f63904df26d1a66aabc141bfd258bf738b9bc7bc6bdef22713b4f5ef789a4c"}, - {file = "yarl-1.11.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:aac44097d838dda26526cffb63bdd8737a2dbdf5f2c68efb72ad83aec6673c7e"}, - {file = "yarl-1.11.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:267b24f891e74eccbdff42241c5fb4f974de2d6271dcc7d7e0c9ae1079a560d9"}, - {file = "yarl-1.11.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6907daa4b9d7a688063ed098c472f96e8181733c525e03e866fb5db480a424df"}, - {file = "yarl-1.11.1-cp39-cp39-win32.whl", hash = "sha256:14438dfc5015661f75f85bc5adad0743678eefee266ff0c9a8e32969d5d69f74"}, - {file = "yarl-1.11.1-cp39-cp39-win_amd64.whl", hash = "sha256:94d0caaa912bfcdc702a4204cd5e2bb01eb917fc4f5ea2315aa23962549561b0"}, - {file = "yarl-1.11.1-py3-none-any.whl", hash = "sha256:72bf26f66456baa0584eff63e44545c9f0eaed9b73cb6601b647c91f14c11f38"}, - {file = "yarl-1.11.1.tar.gz", hash = "sha256:1bb2d9e212fb7449b8fb73bc461b51eaa17cc8430b4a87d87be7b25052d92f53"}, + {file = "yarl-1.18.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7df647e8edd71f000a5208fe6ff8c382a1de8edfbccdbbfe649d263de07d8c34"}, + {file = "yarl-1.18.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c69697d3adff5aa4f874b19c0e4ed65180ceed6318ec856ebc423aa5850d84f7"}, + {file = "yarl-1.18.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:602d98f2c2d929f8e697ed274fbadc09902c4025c5a9963bf4e9edfc3ab6f7ed"}, + {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c654d5207c78e0bd6d749f6dae1dcbbfde3403ad3a4b11f3c5544d9906969dde"}, + {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5094d9206c64181d0f6e76ebd8fb2f8fe274950a63890ee9e0ebfd58bf9d787b"}, + {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35098b24e0327fc4ebdc8ffe336cee0a87a700c24ffed13161af80124b7dc8e5"}, + {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3236da9272872443f81fedc389bace88408f64f89f75d1bdb2256069a8730ccc"}, + {file = "yarl-1.18.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2c08cc9b16f4f4bc522771d96734c7901e7ebef70c6c5c35dd0f10845270bcd"}, + {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:80316a8bd5109320d38eef8833ccf5f89608c9107d02d2a7f985f98ed6876990"}, + {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:c1e1cc06da1491e6734f0ea1e6294ce00792193c463350626571c287c9a704db"}, + {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fea09ca13323376a2fdfb353a5fa2e59f90cd18d7ca4eaa1fd31f0a8b4f91e62"}, + {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:e3b9fd71836999aad54084906f8663dffcd2a7fb5cdafd6c37713b2e72be1760"}, + {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:757e81cae69244257d125ff31663249b3013b5dc0a8520d73694aed497fb195b"}, + {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b1771de9944d875f1b98a745bc547e684b863abf8f8287da8466cf470ef52690"}, + {file = "yarl-1.18.3-cp310-cp310-win32.whl", hash = "sha256:8874027a53e3aea659a6d62751800cf6e63314c160fd607489ba5c2edd753cf6"}, + {file = "yarl-1.18.3-cp310-cp310-win_amd64.whl", hash = "sha256:93b2e109287f93db79210f86deb6b9bbb81ac32fc97236b16f7433db7fc437d8"}, + {file = "yarl-1.18.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8503ad47387b8ebd39cbbbdf0bf113e17330ffd339ba1144074da24c545f0069"}, + {file = "yarl-1.18.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:02ddb6756f8f4517a2d5e99d8b2f272488e18dd0bfbc802f31c16c6c20f22193"}, + {file = "yarl-1.18.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:67a283dd2882ac98cc6318384f565bffc751ab564605959df4752d42483ad889"}, + {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d980e0325b6eddc81331d3f4551e2a333999fb176fd153e075c6d1c2530aa8a8"}, + {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b643562c12680b01e17239be267bc306bbc6aac1f34f6444d1bded0c5ce438ca"}, + {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c017a3b6df3a1bd45b9fa49a0f54005e53fbcad16633870104b66fa1a30a29d8"}, + {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75674776d96d7b851b6498f17824ba17849d790a44d282929c42dbb77d4f17ae"}, + {file = "yarl-1.18.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ccaa3a4b521b780a7e771cc336a2dba389a0861592bbce09a476190bb0c8b4b3"}, + {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2d06d3005e668744e11ed80812e61efd77d70bb7f03e33c1598c301eea20efbb"}, + {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:9d41beda9dc97ca9ab0b9888cb71f7539124bc05df02c0cff6e5acc5a19dcc6e"}, + {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ba23302c0c61a9999784e73809427c9dbedd79f66a13d84ad1b1943802eaaf59"}, + {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:6748dbf9bfa5ba1afcc7556b71cda0d7ce5f24768043a02a58846e4a443d808d"}, + {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0b0cad37311123211dc91eadcb322ef4d4a66008d3e1bdc404808992260e1a0e"}, + {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0fb2171a4486bb075316ee754c6d8382ea6eb8b399d4ec62fde2b591f879778a"}, + {file = "yarl-1.18.3-cp311-cp311-win32.whl", hash = "sha256:61b1a825a13bef4a5f10b1885245377d3cd0bf87cba068e1d9a88c2ae36880e1"}, + {file = "yarl-1.18.3-cp311-cp311-win_amd64.whl", hash = "sha256:b9d60031cf568c627d028239693fd718025719c02c9f55df0a53e587aab951b5"}, + {file = "yarl-1.18.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1dd4bdd05407ced96fed3d7f25dbbf88d2ffb045a0db60dbc247f5b3c5c25d50"}, + {file = "yarl-1.18.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7c33dd1931a95e5d9a772d0ac5e44cac8957eaf58e3c8da8c1414de7dd27c576"}, + {file = "yarl-1.18.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:25b411eddcfd56a2f0cd6a384e9f4f7aa3efee14b188de13048c25b5e91f1640"}, + {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:436c4fc0a4d66b2badc6c5fc5ef4e47bb10e4fd9bf0c79524ac719a01f3607c2"}, + {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e35ef8683211db69ffe129a25d5634319a677570ab6b2eba4afa860f54eeaf75"}, + {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:84b2deecba4a3f1a398df819151eb72d29bfeb3b69abb145a00ddc8d30094512"}, + {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00e5a1fea0fd4f5bfa7440a47eff01d9822a65b4488f7cff83155a0f31a2ecba"}, + {file = "yarl-1.18.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d0e883008013c0e4aef84dcfe2a0b172c4d23c2669412cf5b3371003941f72bb"}, + {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5a3f356548e34a70b0172d8890006c37be92995f62d95a07b4a42e90fba54272"}, + {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ccd17349166b1bee6e529b4add61727d3f55edb7babbe4069b5764c9587a8cc6"}, + {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b958ddd075ddba5b09bb0be8a6d9906d2ce933aee81100db289badbeb966f54e"}, + {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c7d79f7d9aabd6011004e33b22bc13056a3e3fb54794d138af57f5ee9d9032cb"}, + {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4891ed92157e5430874dad17b15eb1fda57627710756c27422200c52d8a4e393"}, + {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ce1af883b94304f493698b00d0f006d56aea98aeb49d75ec7d98cd4a777e9285"}, + {file = "yarl-1.18.3-cp312-cp312-win32.whl", hash = "sha256:f91c4803173928a25e1a55b943c81f55b8872f0018be83e3ad4938adffb77dd2"}, + {file = "yarl-1.18.3-cp312-cp312-win_amd64.whl", hash = "sha256:7e2ee16578af3b52ac2f334c3b1f92262f47e02cc6193c598502bd46f5cd1477"}, + {file = "yarl-1.18.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:90adb47ad432332d4f0bc28f83a5963f426ce9a1a8809f5e584e704b82685dcb"}, + {file = "yarl-1.18.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:913829534200eb0f789d45349e55203a091f45c37a2674678744ae52fae23efa"}, + {file = "yarl-1.18.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ef9f7768395923c3039055c14334ba4d926f3baf7b776c923c93d80195624782"}, + {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a19f62ff30117e706ebc9090b8ecc79aeb77d0b1f5ec10d2d27a12bc9f66d0"}, + {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e17c9361d46a4d5addf777c6dd5eab0715a7684c2f11b88c67ac37edfba6c482"}, + {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a74a13a4c857a84a845505fd2d68e54826a2cd01935a96efb1e9d86c728e186"}, + {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41f7ce59d6ee7741af71d82020346af364949314ed3d87553763a2df1829cc58"}, + {file = "yarl-1.18.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f52a265001d830bc425f82ca9eabda94a64a4d753b07d623a9f2863fde532b53"}, + {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:82123d0c954dc58db301f5021a01854a85bf1f3bb7d12ae0c01afc414a882ca2"}, + {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:2ec9bbba33b2d00999af4631a3397d1fd78290c48e2a3e52d8dd72db3a067ac8"}, + {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:fbd6748e8ab9b41171bb95c6142faf068f5ef1511935a0aa07025438dd9a9bc1"}, + {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:877d209b6aebeb5b16c42cbb377f5f94d9e556626b1bfff66d7b0d115be88d0a"}, + {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b464c4ab4bfcb41e3bfd3f1c26600d038376c2de3297760dfe064d2cb7ea8e10"}, + {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8d39d351e7faf01483cc7ff7c0213c412e38e5a340238826be7e0e4da450fdc8"}, + {file = "yarl-1.18.3-cp313-cp313-win32.whl", hash = "sha256:61ee62ead9b68b9123ec24bc866cbef297dd266175d53296e2db5e7f797f902d"}, + {file = "yarl-1.18.3-cp313-cp313-win_amd64.whl", hash = "sha256:578e281c393af575879990861823ef19d66e2b1d0098414855dd367e234f5b3c"}, + {file = "yarl-1.18.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:61e5e68cb65ac8f547f6b5ef933f510134a6bf31bb178be428994b0cb46c2a04"}, + {file = "yarl-1.18.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fe57328fbc1bfd0bd0514470ac692630f3901c0ee39052ae47acd1d90a436719"}, + {file = "yarl-1.18.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a440a2a624683108a1b454705ecd7afc1c3438a08e890a1513d468671d90a04e"}, + {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09c7907c8548bcd6ab860e5f513e727c53b4a714f459b084f6580b49fa1b9cee"}, + {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b4f6450109834af88cb4cc5ecddfc5380ebb9c228695afc11915a0bf82116789"}, + {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9ca04806f3be0ac6d558fffc2fdf8fcef767e0489d2684a21912cc4ed0cd1b8"}, + {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77a6e85b90a7641d2e07184df5557132a337f136250caafc9ccaa4a2a998ca2c"}, + {file = "yarl-1.18.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6333c5a377c8e2f5fae35e7b8f145c617b02c939d04110c76f29ee3676b5f9a5"}, + {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0b3c92fa08759dbf12b3a59579a4096ba9af8dd344d9a813fc7f5070d86bbab1"}, + {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:4ac515b860c36becb81bb84b667466885096b5fc85596948548b667da3bf9f24"}, + {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:045b8482ce9483ada4f3f23b3774f4e1bf4f23a2d5c912ed5170f68efb053318"}, + {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:a4bb030cf46a434ec0225bddbebd4b89e6471814ca851abb8696170adb163985"}, + {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:54d6921f07555713b9300bee9c50fb46e57e2e639027089b1d795ecd9f7fa910"}, + {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1d407181cfa6e70077df3377938c08012d18893f9f20e92f7d2f314a437c30b1"}, + {file = "yarl-1.18.3-cp39-cp39-win32.whl", hash = "sha256:ac36703a585e0929b032fbaab0707b75dc12703766d0b53486eabd5139ebadd5"}, + {file = "yarl-1.18.3-cp39-cp39-win_amd64.whl", hash = "sha256:ba87babd629f8af77f557b61e49e7c7cac36f22f871156b91e10a6e9d4f829e9"}, + {file = "yarl-1.18.3-py3-none-any.whl", hash = "sha256:b57f4f58099328dfb26c6a771d09fb20dbbae81d20cfb66141251ea063bd101b"}, + {file = "yarl-1.18.3.tar.gz", hash = "sha256:ac1801c45cbf77b6c99242eeff4fffb5e4e73a800b5c4ad4fc0be5def634d2e1"}, ] [package.dependencies] idna = ">=2.0" multidict = ">=4.0" +propcache = ">=0.2.0" [[package]] name = "zipp" -version = "3.20.2" +version = "3.21.0" description = "Backport of pathlib-compatible object wrapper for zip files" optional = false -python-versions = ">=3.8" +python-versions = ">=3.9" files = [ - {file = "zipp-3.20.2-py3-none-any.whl", hash = "sha256:a817ac80d6cf4b23bf7f2828b7cabf326f15a001bea8b1f9b49631780ba28350"}, - {file = "zipp-3.20.2.tar.gz", hash = "sha256:bc9eb26f4506fda01b81bcde0ca78103b6e62f991b381fec825435c836edbc29"}, + {file = "zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931"}, + {file = "zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4"}, ] [package.extras] @@ -1945,4 +2078,4 @@ type = ["pytest-mypy"] [metadata] lock-version = "2.0" python-versions = ">=3.9,<3.13" -content-hash = "10d8a5dfa9e1da82bf9f8eb3597a13845118b00be57caf446aba1d5568104742" +content-hash = "5e024a02db1087b08a3687cea0d572515957a0346126a4837186fedb22b5af99" diff --git a/pyproject.toml b/pyproject.toml index ebd20c4..7627312 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ packages = [{ include = "findmy" }] [tool.poetry.dependencies] python = ">=3.9,<3.13" srp = "^1.0.21" -cryptography = ">=42.0.0,<44.0.0" +cryptography = ">=42.0.0,<45.0.0" beautifulsoup4 = "^4.12.3" aiohttp = "^3.9.5" bleak = "^0.22.2" @@ -20,8 +20,8 @@ optional = true [tool.poetry.group.dev.dependencies] pre-commit = "^3.8.0" -pyright = "1.1.389" -ruff = "0.7.4" +pyright = "^1.1.391" +ruff = "^0.8.4" tomli = "^2.0.1" packaging = "^24.1" From 8fb2338914b81f36550d1381039e56b758a632eb Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Mon, 23 Dec 2024 17:34:30 +0100 Subject: [PATCH 33/97] fix: Manually filter fetched reports to adhere to date ranges Fixes #83 --- findmy/reports/reports.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/findmy/reports/reports.py b/findmy/reports/reports.py index 931ad40..7124e5b 100644 --- a/findmy/reports/reports.py +++ b/findmy/reports/reports.py @@ -7,7 +7,7 @@ import hashlib import logging import struct from datetime import datetime, timedelta, timezone -from typing import TYPE_CHECKING, Sequence, overload +from typing import TYPE_CHECKING, overload from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives.asymmetric import ec @@ -18,6 +18,8 @@ from findmy.accessory import RollingKeyPairSource from findmy.keys import HasHashedPublicKey, KeyPair if TYPE_CHECKING: + from collections.abc import Sequence + from .account import AsyncAppleAccount logging.getLogger(__name__) @@ -315,8 +317,12 @@ class LocationReportsFetcher: ) -> list[LocationReport]: logging.debug("Fetching reports for %s keys", len(keys)) - start_date = int(date_from.timestamp() * 1000) - end_date = int(date_to.timestamp() * 1000) + # lock requested time range to the past 7 days, +- 12 hours, then filter the response. + # this is due to an Apple backend bug where the time range is not respected. + # More info: https://github.com/biemster/FindMy/issues/7 + now = datetime.now().astimezone() + start_date = int((now - timedelta(days=7, hours=12)).timestamp() * 1000) + end_date = int((now + timedelta(hours=12)).timestamp() * 1000) ids = [key.hashed_adv_key_b64 for key in keys] data = await self._account.fetch_raw_reports(start_date, end_date, ids) @@ -338,6 +344,9 @@ class LocationReportsFetcher: if isinstance(key, KeyPair): loc_report.decrypt(key) + if loc_report.timestamp < date_from or loc_report.timestamp > date_to: + continue + reports.append(loc_report) return reports From ebb6a1cb0a1a395e5e7ec8f9215e44b96212dee2 Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Tue, 31 Dec 2024 14:21:02 +0100 Subject: [PATCH 34/97] Support python 3.13 --- poetry.lock | 4 ++-- pyproject.toml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/poetry.lock b/poetry.lock index d797d0d..67038d2 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2077,5 +2077,5 @@ type = ["pytest-mypy"] [metadata] lock-version = "2.0" -python-versions = ">=3.9,<3.13" -content-hash = "5e024a02db1087b08a3687cea0d572515957a0346126a4837186fedb22b5af99" +python-versions = ">=3.9,<3.14" +content-hash = "62a4fa64ff5f4ef1f7845adada99ccb41d056fb644bed923b1d7046316e720c5" diff --git a/pyproject.toml b/pyproject.toml index 7627312..53d51e4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ readme = "README.md" packages = [{ include = "findmy" }] [tool.poetry.dependencies] -python = ">=3.9,<3.13" +python = ">=3.9,<3.14" srp = "^1.0.21" cryptography = ">=42.0.0,<45.0.0" beautifulsoup4 = "^4.12.3" From f2c140f54091d453e0035c0c5255e62aa8104255 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 1 Jan 2025 00:22:51 +0000 Subject: [PATCH 35/97] chore(deps): update dependency sphinx-autoapi to v3.4.0 --- poetry.lock | 8 ++++---- pyproject.toml | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/poetry.lock b/poetry.lock index 67038d2..0df4412 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1484,13 +1484,13 @@ test = ["cython (>=3.0)", "defusedxml (>=0.7.1)", "pytest (>=8.0)", "setuptools [[package]] name = "sphinx-autoapi" -version = "3.3.3" +version = "3.4.0" description = "Sphinx API documentation generator" optional = false python-versions = ">=3.8" files = [ - {file = "sphinx_autoapi-3.3.3-py3-none-any.whl", hash = "sha256:5c7349b42d45a492a611cb81fb48583d5148e9eab7fc6b1f326dc9273b9191e3"}, - {file = "sphinx_autoapi-3.3.3.tar.gz", hash = "sha256:c44fd719580e9a3684ff82019f4f7f39fc970e3030ffd325936654a6f4d31f22"}, + {file = "sphinx_autoapi-3.4.0-py3-none-any.whl", hash = "sha256:4027fef2875a22c5f2a57107c71641d82f6166bf55beb407a47aaf3ef14e7b92"}, + {file = "sphinx_autoapi-3.4.0.tar.gz", hash = "sha256:e6d5371f9411bbb9fca358c00a9e57aef3ac94cbfc5df4bab285946462f69e0c"}, ] [package.dependencies] @@ -2078,4 +2078,4 @@ type = ["pytest-mypy"] [metadata] lock-version = "2.0" python-versions = ">=3.9,<3.14" -content-hash = "62a4fa64ff5f4ef1f7845adada99ccb41d056fb644bed923b1d7046316e720c5" +content-hash = "3254f7e19cb3c4e6795666136732664d74327f344f0c3594cee0fb0d26058d77" diff --git a/pyproject.toml b/pyproject.toml index 53d51e4..686d66b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -36,7 +36,7 @@ optional = true [tool.poetry.group.docs.dependencies] sphinx = "^7.2.6" -sphinx-autoapi = "3.3.3" +sphinx-autoapi = "3.4.0" [tool.pyright] venvPath = "." From 3ffd696572f06cf209b855e7e76b1be139b44857 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 1 Jan 2025 00:22:54 +0000 Subject: [PATCH 36/97] chore(deps): update pre-commit-ci/lite-action action to v1.1.0 --- .github/workflows/pre-commit.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index d90bb95..3524136 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -19,5 +19,5 @@ jobs: - uses: pre-commit/action@v3.0.1 - - uses: pre-commit-ci/lite-action@v1.0.3 + - uses: pre-commit-ci/lite-action@v1.1.0 if: always() From f822aad103561ff1646296ef06e51e2148fceb4f Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Sun, 5 Jan 2025 13:04:58 +0100 Subject: [PATCH 37/97] Update dependencies --- poetry.lock | 257 +++++++++++++++++++++++++--------------------------- 1 file changed, 122 insertions(+), 135 deletions(-) diff --git a/poetry.lock b/poetry.lock index 67038d2..c42547f 100644 --- a/poetry.lock +++ b/poetry.lock @@ -136,13 +136,13 @@ files = [ [[package]] name = "astroid" -version = "3.3.7" +version = "3.3.8" description = "An abstract syntax tree for Python with inference support." optional = false python-versions = ">=3.9.0" files = [ - {file = "astroid-3.3.7-py3-none-any.whl", hash = "sha256:e1ea2c358a3c760ef583d4963e773100fa2c693b27ed158a1d0e81adb4436903"}, - {file = "astroid-3.3.7.tar.gz", hash = "sha256:29fe1df7ef64dc17a54dbfad67b40b445340fcdba7c4012e7ecc9270c9b2f5b6"}, + {file = "astroid-3.3.8-py3-none-any.whl", hash = "sha256:187ccc0c248bfbba564826c26f070494f7bc964fd286b6d9fff4420e55de828c"}, + {file = "astroid-3.3.8.tar.gz", hash = "sha256:a88c7994f914a4ea8572fac479459f4955eeccc877be3f2d959a33273b0cf40b"}, ] [package.dependencies] @@ -364,116 +364,103 @@ files = [ [[package]] name = "charset-normalizer" -version = "3.4.0" +version = "3.4.1" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false -python-versions = ">=3.7.0" +python-versions = ">=3.7" files = [ - {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-win32.whl", hash = "sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc"}, - {file = "charset_normalizer-3.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-win32.whl", hash = "sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99"}, - {file = "charset_normalizer-3.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-win32.whl", hash = "sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7"}, - {file = "charset_normalizer-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-win32.whl", hash = "sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67"}, - {file = "charset_normalizer-3.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-win32.whl", hash = "sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149"}, - {file = "charset_normalizer-3.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-win32.whl", hash = "sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613"}, - {file = "charset_normalizer-3.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-win32.whl", hash = "sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2"}, - {file = "charset_normalizer-3.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca"}, - {file = "charset_normalizer-3.4.0-py3-none-any.whl", hash = "sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079"}, - {file = "charset_normalizer-3.4.0.tar.gz", hash = "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f"}, + {file = "charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b"}, + {file = "charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35"}, + {file = "charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407"}, + {file = "charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f30bf9fd9be89ecb2360c7d94a711f00c09b976258846efe40db3d05828e8089"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:97f68b8d6831127e4787ad15e6757232e14e12060bec17091b85eb1486b91d8d"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7974a0b5ecd505609e3b19742b60cee7aa2aa2fb3151bc917e6e2646d7667dcf"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc54db6c8593ef7d4b2a331b58653356cf04f67c960f584edb7c3d8c97e8f39e"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:311f30128d7d333eebd7896965bfcfbd0065f1716ec92bd5638d7748eb6f936a"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:7d053096f67cd1241601111b698f5cad775f97ab25d81567d3f59219b5f1adbd"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:807f52c1f798eef6cf26beb819eeb8819b1622ddfeef9d0977a8502d4db6d534"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:dccbe65bd2f7f7ec22c4ff99ed56faa1e9f785482b9bbd7c717e26fd723a1d1e"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:2fb9bd477fdea8684f78791a6de97a953c51831ee2981f8e4f583ff3b9d9687e"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:01732659ba9b5b873fc117534143e4feefecf3b2078b0a6a2e925271bb6f4cfa"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-win32.whl", hash = "sha256:7a4f97a081603d2050bfaffdefa5b02a9ec823f8348a572e39032caa8404a487"}, + {file = "charset_normalizer-3.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:7b1bef6280950ee6c177b326508f86cad7ad4dff12454483b51d8b7d673a2c5d"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-win32.whl", hash = "sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e"}, + {file = "charset_normalizer-3.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-win32.whl", hash = "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5"}, + {file = "charset_normalizer-3.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765"}, + {file = "charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85"}, + {file = "charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3"}, ] [[package]] @@ -732,13 +719,13 @@ files = [ [[package]] name = "identify" -version = "2.6.3" +version = "2.6.5" description = "File identification library for Python" optional = false python-versions = ">=3.9" files = [ - {file = "identify-2.6.3-py2.py3-none-any.whl", hash = "sha256:9edba65473324c2ea9684b1f944fe3191db3345e50b6d04571d10ed164f8d7bd"}, - {file = "identify-2.6.3.tar.gz", hash = "sha256:62f5dae9b5fef52c84cc188514e9ea4f3f636b1d8799ab5ebc475471f9e47a02"}, + {file = "identify-2.6.5-py2.py3-none-any.whl", hash = "sha256:14181a47091eb75b337af4c23078c9d09225cd4c48929f521f3bf16b09d02566"}, + {file = "identify-2.6.5.tar.gz", hash = "sha256:c10b33f250e5bba374fae86fb57f3adcebf1161bce7cdf92031915fd480c13bc"}, ] [package.extras] @@ -1388,29 +1375,29 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] [[package]] name = "ruff" -version = "0.8.4" +version = "0.8.6" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ - {file = "ruff-0.8.4-py3-none-linux_armv6l.whl", hash = "sha256:58072f0c06080276804c6a4e21a9045a706584a958e644353603d36ca1eb8a60"}, - {file = "ruff-0.8.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:ffb60904651c00a1e0b8df594591770018a0f04587f7deeb3838344fe3adabac"}, - {file = "ruff-0.8.4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:6ddf5d654ac0d44389f6bf05cee4caeefc3132a64b58ea46738111d687352296"}, - {file = "ruff-0.8.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e248b1f0fa2749edd3350a2a342b67b43a2627434c059a063418e3d375cfe643"}, - {file = "ruff-0.8.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bf197b98ed86e417412ee3b6c893f44c8864f816451441483253d5ff22c0e81e"}, - {file = "ruff-0.8.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c41319b85faa3aadd4d30cb1cffdd9ac6b89704ff79f7664b853785b48eccdf3"}, - {file = "ruff-0.8.4-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:9f8402b7c4f96463f135e936d9ab77b65711fcd5d72e5d67597b543bbb43cf3f"}, - {file = "ruff-0.8.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e4e56b3baa9c23d324ead112a4fdf20db9a3f8f29eeabff1355114dd96014604"}, - {file = "ruff-0.8.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:736272574e97157f7edbbb43b1d046125fce9e7d8d583d5d65d0c9bf2c15addf"}, - {file = "ruff-0.8.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e5fe710ab6061592521f902fca7ebcb9fabd27bc7c57c764298b1c1f15fff720"}, - {file = "ruff-0.8.4-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:13e9ec6d6b55f6da412d59953d65d66e760d583dd3c1c72bf1f26435b5bfdbae"}, - {file = "ruff-0.8.4-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:97d9aefef725348ad77d6db98b726cfdb075a40b936c7984088804dfd38268a7"}, - {file = "ruff-0.8.4-py3-none-musllinux_1_2_i686.whl", hash = "sha256:ab78e33325a6f5374e04c2ab924a3367d69a0da36f8c9cb6b894a62017506111"}, - {file = "ruff-0.8.4-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:8ef06f66f4a05c3ddbc9121a8b0cecccd92c5bf3dd43b5472ffe40b8ca10f0f8"}, - {file = "ruff-0.8.4-py3-none-win32.whl", hash = "sha256:552fb6d861320958ca5e15f28b20a3d071aa83b93caee33a87b471f99a6c0835"}, - {file = "ruff-0.8.4-py3-none-win_amd64.whl", hash = "sha256:f21a1143776f8656d7f364bd264a9d60f01b7f52243fbe90e7670c0dfe0cf65d"}, - {file = "ruff-0.8.4-py3-none-win_arm64.whl", hash = "sha256:9183dd615d8df50defa8b1d9a074053891ba39025cf5ae88e8bcb52edcc4bf08"}, - {file = "ruff-0.8.4.tar.gz", hash = "sha256:0d5f89f254836799af1615798caa5f80b7f935d7a670fad66c5007928e57ace8"}, + {file = "ruff-0.8.6-py3-none-linux_armv6l.whl", hash = "sha256:defed167955d42c68b407e8f2e6f56ba52520e790aba4ca707a9c88619e580e3"}, + {file = "ruff-0.8.6-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:54799ca3d67ae5e0b7a7ac234baa657a9c1784b48ec954a094da7c206e0365b1"}, + {file = "ruff-0.8.6-py3-none-macosx_11_0_arm64.whl", hash = "sha256:e88b8f6d901477c41559ba540beeb5a671e14cd29ebd5683903572f4b40a9807"}, + {file = "ruff-0.8.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0509e8da430228236a18a677fcdb0c1f102dd26d5520f71f79b094963322ed25"}, + {file = "ruff-0.8.6-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:91a7ddb221779871cf226100e677b5ea38c2d54e9e2c8ed847450ebbdf99b32d"}, + {file = "ruff-0.8.6-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:248b1fb3f739d01d528cc50b35ee9c4812aa58cc5935998e776bf8ed5b251e75"}, + {file = "ruff-0.8.6-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:bc3c083c50390cf69e7e1b5a5a7303898966be973664ec0c4a4acea82c1d4315"}, + {file = "ruff-0.8.6-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:52d587092ab8df308635762386f45f4638badb0866355b2b86760f6d3c076188"}, + {file = "ruff-0.8.6-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:61323159cf21bc3897674e5adb27cd9e7700bab6b84de40d7be28c3d46dc67cf"}, + {file = "ruff-0.8.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ae4478b1471fc0c44ed52a6fb787e641a2ac58b1c1f91763bafbc2faddc5117"}, + {file = "ruff-0.8.6-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:0c000a471d519b3e6cfc9c6680025d923b4ca140ce3e4612d1a2ef58e11f11fe"}, + {file = "ruff-0.8.6-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:9257aa841e9e8d9b727423086f0fa9a86b6b420fbf4bf9e1465d1250ce8e4d8d"}, + {file = "ruff-0.8.6-py3-none-musllinux_1_2_i686.whl", hash = "sha256:45a56f61b24682f6f6709636949ae8cc82ae229d8d773b4c76c09ec83964a95a"}, + {file = "ruff-0.8.6-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:496dd38a53aa173481a7d8866bcd6451bd934d06976a2505028a50583e001b76"}, + {file = "ruff-0.8.6-py3-none-win32.whl", hash = "sha256:e169ea1b9eae61c99b257dc83b9ee6c76f89042752cb2d83486a7d6e48e8f764"}, + {file = "ruff-0.8.6-py3-none-win_amd64.whl", hash = "sha256:f1d70bef3d16fdc897ee290d7d20da3cbe4e26349f62e8a0274e7a3f4ce7a905"}, + {file = "ruff-0.8.6-py3-none-win_arm64.whl", hash = "sha256:7d7fc2377a04b6e04ffe588caad613d0c460eb2ecba4c0ccbbfe2bc973cbc162"}, + {file = "ruff-0.8.6.tar.gz", hash = "sha256:dcad24b81b62650b0eb8814f576fc65cfee8674772a6e24c9b747911801eeaa5"}, ] [[package]] @@ -1700,13 +1687,13 @@ zstd = ["zstandard (>=0.18.0)"] [[package]] name = "virtualenv" -version = "20.28.0" +version = "20.28.1" description = "Virtual Python Environment builder" optional = false python-versions = ">=3.8" files = [ - {file = "virtualenv-20.28.0-py3-none-any.whl", hash = "sha256:23eae1b4516ecd610481eda647f3a7c09aea295055337331bb4e6892ecce47b0"}, - {file = "virtualenv-20.28.0.tar.gz", hash = "sha256:2c9c3262bb8e7b87ea801d715fae4495e6032450c71d2309be9550e7364049aa"}, + {file = "virtualenv-20.28.1-py3-none-any.whl", hash = "sha256:412773c85d4dab0409b83ec36f7a6499e72eaf08c80e81e9576bca61831c71cb"}, + {file = "virtualenv-20.28.1.tar.gz", hash = "sha256:5d34ab240fdb5d21549b76f9e8ff3af28252f5499fb6d6f031adac4e5a8c5329"}, ] [package.dependencies] From 5cd53fbed9f9d676a4fda855bfa779df84dd3d28 Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Sun, 5 Jan 2025 13:09:43 +0100 Subject: [PATCH 38/97] bump: `v0.7.6` --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 53d51e4..3b59d8a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "FindMy" -version = "0.7.5" +version = "v0.7.6" description = "Everything you need to work with Apple's Find My network!" authors = ["Mike Almeloo "] readme = "README.md" From cc758bfdbe8f99e2495534fd764a8800dff1ed18 Mon Sep 17 00:00:00 2001 From: Cambridge Yang Date: Fri, 10 Jan 2025 07:29:23 +0000 Subject: [PATCH 39/97] add time margin when matching against nearby device --- findmy/scanner/scanner.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/findmy/scanner/scanner.py b/findmy/scanner/scanner.py index 1b4a961..a74921e 100644 --- a/findmy/scanner/scanner.py +++ b/findmy/scanner/scanner.py @@ -158,8 +158,13 @@ class NearbyOfflineFindingDevice(OfflineFindingDevice): if isinstance(other_device, HasPublicKey): return other_device.adv_key_bytes.startswith(self._first_adv_key_bytes) if isinstance(other_device, RollingKeyPairSource): - return any(self.is_from(key) for key in other_device.keys_at(self.detected_at)) - + # 1 hour margin around the detected time + potential_keys = other_device.keys_between( + self.detected_at - timedelta(hours=1), + self.detected_at + timedelta(hours=1), + ) + return any(self.is_from(key) for key in potential_keys) + msg = f"Cannot compare against {type(other_device)}" raise ValueError(msg) From 010ff02ebfdcbd4b818db865e1f25ebebdf8cbbf Mon Sep 17 00:00:00 2001 From: "pre-commit-ci-lite[bot]" <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Date: Fri, 10 Jan 2025 07:38:46 +0000 Subject: [PATCH 40/97] [pre-commit.ci lite] apply automatic fixes --- findmy/scanner/scanner.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/findmy/scanner/scanner.py b/findmy/scanner/scanner.py index a74921e..f9febbf 100644 --- a/findmy/scanner/scanner.py +++ b/findmy/scanner/scanner.py @@ -164,7 +164,7 @@ class NearbyOfflineFindingDevice(OfflineFindingDevice): self.detected_at + timedelta(hours=1), ) return any(self.is_from(key) for key in potential_keys) - + msg = f"Cannot compare against {type(other_device)}" raise ValueError(msg) From c6dc4a0deff3027a6b9a2ff8eb528a1a8f52248b Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Thu, 23 Jan 2025 14:22:51 +0100 Subject: [PATCH 41/97] fix: Auto-retry requests to remote anisette server --- findmy/reports/anisette.py | 2 +- findmy/util/http.py | 36 +++++++++++++++++++++++++++++------- 2 files changed, 30 insertions(+), 8 deletions(-) diff --git a/findmy/reports/anisette.py b/findmy/reports/anisette.py index bcf2bf1..d56f52d 100644 --- a/findmy/reports/anisette.py +++ b/findmy/reports/anisette.py @@ -205,7 +205,7 @@ class RemoteAnisetteProvider(BaseAnisetteProvider): if self._anisette_data is None or time.time() >= self._anisette_data_expires_at: logging.info("Fetching anisette data from %s", self._server_url) - r = await self._http.get(self._server_url) + r = await self._http.get(self._server_url, auto_retry=True) self._anisette_data = r.json() self._anisette_data_expires_at = time.time() + self._ANISETTE_DATA_VALID_FOR diff --git a/findmy/util/http.py b/findmy/util/http.py index a6da8ac..f954e49 100644 --- a/findmy/util/http.py +++ b/findmy/util/http.py @@ -2,10 +2,12 @@ from __future__ import annotations +import asyncio import json import logging from typing import Any, TypedDict, cast +import aiohttp from aiohttp import BasicAuth, ClientSession, ClientTimeout from typing_extensions import Unpack, override @@ -18,6 +20,7 @@ logging.getLogger(__name__) class _RequestOptions(TypedDict, total=False): json: dict[str, Any] | None headers: dict[str, str] + auto_retry: bool data: bytes @@ -108,13 +111,32 @@ class HttpSession(Closable): kwargs["auth"] = BasicAuth(auth[0], auth[1]) options = cast(_AiohttpRequestOptions, kwargs) - async with await session.request( - method, - url, - ssl=False, - **options, - ) as r: - return HttpResponse(r.status, await r.content.read()) + auto_retry = kwargs.pop("auto_retry", False) + + retry_count = 1 + while True: # if auto_retry is set, raise for status and retry on error + try: + async with await session.request( + method, + url, + ssl=False, + raise_for_status=auto_retry, + **options, + ) as r: + return HttpResponse(r.status, await r.content.read()) + except aiohttp.ClientError as e: # noqa: PERF203 + if not auto_retry or retry_count > 3: + raise e from None + + retry_after = 5 * retry_count + logging.warning( + "Error while making HTTP request; retrying after %i seconds. %s", + retry_after, + e, + ) + await asyncio.sleep(retry_after) + + retry_count += 1 async def get(self, url: str, **kwargs: Unpack[_HttpRequestOptions]) -> HttpResponse: """Alias for `HttpSession.request("GET", ...)`.""" From 10aee19e93ee60f1b80667df83eaaddf93306649 Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Thu, 23 Jan 2025 16:27:28 +0100 Subject: [PATCH 42/97] feat: Support fetching of multiple accessories at once --- findmy/reports/account.py | 115 +++++++++++++++++++++++++++++++++----- findmy/reports/reports.py | 100 +++++++++++++++++++++++---------- 2 files changed, 173 insertions(+), 42 deletions(-) diff --git a/findmy/reports/account.py b/findmy/reports/account.py index 59dbe3d..264d01c 100644 --- a/findmy/reports/account.py +++ b/findmy/reports/account.py @@ -15,7 +15,6 @@ from typing import ( TYPE_CHECKING, Any, Callable, - Sequence, TypedDict, TypeVar, cast, @@ -49,6 +48,8 @@ from .twofactor import ( ) if TYPE_CHECKING: + from collections.abc import Sequence + from findmy.accessory import RollingKeyPairSource from findmy.keys import HasHashedPublicKey from findmy.util.types import MaybeCoro @@ -248,13 +249,28 @@ class BaseAppleAccount(Closable, ABC): date_to: datetime | None, ) -> MaybeCoro[list[LocationReport]]: ... + @overload + def fetch_reports( + self, + keys: Sequence[RollingKeyPairSource], + date_from: datetime, + date_to: datetime | None, + ) -> MaybeCoro[dict[RollingKeyPairSource, list[LocationReport]]]: ... + @abstractmethod def fetch_reports( self, - keys: HasHashedPublicKey | Sequence[HasHashedPublicKey] | RollingKeyPairSource, + keys: HasHashedPublicKey + | Sequence[HasHashedPublicKey] + | RollingKeyPairSource + | Sequence[RollingKeyPairSource], date_from: datetime, date_to: datetime | None, - ) -> MaybeCoro[list[LocationReport] | dict[HasHashedPublicKey, list[LocationReport]]]: + ) -> MaybeCoro[ + list[LocationReport] + | dict[HasHashedPublicKey, list[LocationReport]] + | dict[RollingKeyPairSource, list[LocationReport]] + ]: """ Fetch location reports for `HasHashedPublicKey`s between `date_from` and `date_end`. @@ -286,12 +302,27 @@ class BaseAppleAccount(Closable, ABC): hours: int = 7 * 24, ) -> MaybeCoro[list[LocationReport]]: ... + @overload @abstractmethod def fetch_last_reports( self, - keys: HasHashedPublicKey | Sequence[HasHashedPublicKey] | RollingKeyPairSource, + keys: Sequence[RollingKeyPairSource], hours: int = 7 * 24, - ) -> MaybeCoro[list[LocationReport] | dict[HasHashedPublicKey, list[LocationReport]]]: + ) -> MaybeCoro[dict[RollingKeyPairSource, list[LocationReport]]]: ... + + @abstractmethod + def fetch_last_reports( + self, + keys: HasHashedPublicKey + | Sequence[HasHashedPublicKey] + | RollingKeyPairSource + | Sequence[RollingKeyPairSource], + hours: int = 7 * 24, + ) -> MaybeCoro[ + list[LocationReport] + | dict[HasHashedPublicKey, list[LocationReport]] + | dict[RollingKeyPairSource, list[LocationReport]] + ]: """ Fetch location reports for a sequence of `HasHashedPublicKey`s for the last `hours` hours. @@ -641,14 +672,29 @@ class AsyncAppleAccount(BaseAppleAccount): date_to: datetime | None, ) -> list[LocationReport]: ... + @overload + async def fetch_reports( + self, + keys: Sequence[RollingKeyPairSource], + date_from: datetime, + date_to: datetime | None, + ) -> dict[RollingKeyPairSource, list[LocationReport]]: ... + @require_login_state(LoginState.LOGGED_IN) @override async def fetch_reports( self, - keys: HasHashedPublicKey | Sequence[HasHashedPublicKey] | RollingKeyPairSource, + keys: HasHashedPublicKey + | Sequence[HasHashedPublicKey] + | RollingKeyPairSource + | Sequence[RollingKeyPairSource], date_from: datetime, date_to: datetime | None, - ) -> list[LocationReport] | dict[HasHashedPublicKey, list[LocationReport]]: + ) -> ( + list[LocationReport] + | dict[HasHashedPublicKey, list[LocationReport]] + | dict[RollingKeyPairSource, list[LocationReport]] + ): """See `BaseAppleAccount.fetch_reports`.""" date_to = date_to or datetime.now().astimezone() @@ -679,13 +725,27 @@ class AsyncAppleAccount(BaseAppleAccount): hours: int = 7 * 24, ) -> list[LocationReport]: ... + @overload + async def fetch_last_reports( + self, + keys: Sequence[RollingKeyPairSource], + hours: int = 7 * 24, + ) -> dict[RollingKeyPairSource, list[LocationReport]]: ... + @require_login_state(LoginState.LOGGED_IN) @override async def fetch_last_reports( self, - keys: HasHashedPublicKey | Sequence[HasHashedPublicKey] | RollingKeyPairSource, + keys: HasHashedPublicKey + | Sequence[HasHashedPublicKey] + | RollingKeyPairSource + | Sequence[RollingKeyPairSource], hours: int = 7 * 24, - ) -> list[LocationReport] | dict[HasHashedPublicKey, list[LocationReport]]: + ) -> ( + list[LocationReport] + | dict[HasHashedPublicKey, list[LocationReport]] + | dict[RollingKeyPairSource, list[LocationReport]] + ): """See `BaseAppleAccount.fetch_last_reports`.""" end = datetime.now(tz=timezone.utc) start = end - timedelta(hours=hours) @@ -1041,13 +1101,28 @@ class AppleAccount(BaseAppleAccount): date_to: datetime | None, ) -> list[LocationReport]: ... + @overload + def fetch_reports( + self, + keys: Sequence[RollingKeyPairSource], + date_from: datetime, + date_to: datetime | None, + ) -> dict[RollingKeyPairSource, list[LocationReport]]: ... + @override def fetch_reports( self, - keys: HasHashedPublicKey | Sequence[HasHashedPublicKey] | RollingKeyPairSource, + keys: HasHashedPublicKey + | Sequence[HasHashedPublicKey] + | RollingKeyPairSource + | Sequence[RollingKeyPairSource], date_from: datetime, date_to: datetime | None, - ) -> list[LocationReport] | dict[HasHashedPublicKey, list[LocationReport]]: + ) -> ( + list[LocationReport] + | dict[HasHashedPublicKey, list[LocationReport]] + | dict[RollingKeyPairSource, list[LocationReport]] + ): """See `AsyncAppleAccount.fetch_reports`.""" coro = self._asyncacc.fetch_reports(keys, date_from, date_to) return self._evt_loop.run_until_complete(coro) @@ -1073,12 +1148,26 @@ class AppleAccount(BaseAppleAccount): hours: int = 7 * 24, ) -> list[LocationReport]: ... + @overload + def fetch_last_reports( + self, + keys: Sequence[RollingKeyPairSource], + hours: int = 7 * 24, + ) -> dict[RollingKeyPairSource, list[LocationReport]]: ... + @override def fetch_last_reports( self, - keys: HasHashedPublicKey | Sequence[HasHashedPublicKey] | RollingKeyPairSource, + keys: HasHashedPublicKey + | Sequence[HasHashedPublicKey] + | RollingKeyPairSource + | Sequence[RollingKeyPairSource], hours: int = 7 * 24, - ) -> list[LocationReport] | dict[HasHashedPublicKey, list[LocationReport]]: + ) -> ( + list[LocationReport] + | dict[HasHashedPublicKey, list[LocationReport]] + | dict[RollingKeyPairSource, list[LocationReport]] + ): """See `AsyncAppleAccount.fetch_last_reports`.""" coro = self._asyncacc.fetch_last_reports(keys, hours) return self._evt_loop.run_until_complete(coro) diff --git a/findmy/reports/reports.py b/findmy/reports/reports.py index 7124e5b..e910545 100644 --- a/findmy/reports/reports.py +++ b/findmy/reports/reports.py @@ -6,8 +6,9 @@ import base64 import hashlib import logging import struct +from collections import defaultdict from datetime import datetime, timedelta, timezone -from typing import TYPE_CHECKING, overload +from typing import TYPE_CHECKING, cast, overload from cryptography.hazmat.backends import default_backend from cryptography.hazmat.primitives.asymmetric import ec @@ -260,12 +261,27 @@ class LocationReportsFetcher: device: RollingKeyPairSource, ) -> list[LocationReport]: ... + @overload async def fetch_reports( self, date_from: datetime, date_to: datetime, - device: HasHashedPublicKey | Sequence[HasHashedPublicKey] | RollingKeyPairSource, - ) -> list[LocationReport] | dict[HasHashedPublicKey, list[LocationReport]]: + device: Sequence[RollingKeyPairSource], + ) -> dict[RollingKeyPairSource, list[LocationReport]]: ... + + async def fetch_reports( + self, + date_from: datetime, + date_to: datetime, + device: HasHashedPublicKey + | Sequence[HasHashedPublicKey] + | RollingKeyPairSource + | Sequence[RollingKeyPairSource], + ) -> ( + list[LocationReport] + | dict[HasHashedPublicKey, list[LocationReport]] + | dict[RollingKeyPairSource, list[LocationReport]] + ): """ Fetch location reports for a certain device. @@ -276,45 +292,71 @@ class LocationReportsFetcher: When ``device`` is a :class:`.RollingKeyPairSource`, it will return a list of location reports corresponding to that source. """ - # single key + key_devs: ( + dict[HasHashedPublicKey, HasHashedPublicKey] + | dict[HasHashedPublicKey, RollingKeyPairSource] + ) = {} if isinstance(device, HasHashedPublicKey): - return await self._fetch_reports(date_from, date_to, [device]) - - # key generator - # add 12h margin to the generator - if isinstance(device, RollingKeyPairSource): - keys = list( - device.keys_between( + # single key + key_devs = {device: device} + elif isinstance(device, list) and all(isinstance(x, HasHashedPublicKey) for x in device): + # multiple static keys + device = cast(list[HasHashedPublicKey], device) + key_devs = {key: key for key in device} + elif isinstance(device, RollingKeyPairSource): + # key generator + # add 12h margin to the generator + key_devs = { + key: device + for key in device.keys_between( date_from - timedelta(hours=12), date_to + timedelta(hours=12), - ), - ) + ) + } + elif isinstance(device, list) and all(isinstance(x, RollingKeyPairSource) for x in device): + # multiple key generators + # add 12h margin to each generator + device = cast(list[RollingKeyPairSource], device) + key_devs = { + key: dev + for dev in device + for key in dev.keys_between( + date_from - timedelta(hours=12), + date_to + timedelta(hours=12), + ) + } else: - keys = device + msg = "Unknown device type: %s" + raise ValueError(msg, type(device)) # sequence of keys (fetch 256 max at a time) - reports: list[LocationReport] = [] + key_reports: dict[HasHashedPublicKey, list[LocationReport]] = {} + keys = list(key_devs.keys()) for key_offset in range(0, len(keys), 256): - chunk = keys[key_offset : key_offset + 256] - reports.extend(await self._fetch_reports(date_from, date_to, chunk)) + chunk_keys = keys[key_offset : key_offset + 256] + chunk_reports = await self._fetch_reports(date_from, date_to, chunk_keys) + key_reports |= chunk_reports - if isinstance(device, RollingKeyPairSource): - return reports + # combine (key -> list[report]) and (key -> device) into (device -> list[report]) + device_reports = defaultdict(list) + for key, reports in key_reports.items(): + device_reports[key_devs[key]].extend(reports) + for dev in device_reports: + device_reports[dev] = sorted(device_reports[dev]) - res: dict[HasHashedPublicKey, list[LocationReport]] = {key: [] for key in keys} - for report in reports: - for key in res: - if key.hashed_adv_key_bytes == report.hashed_adv_key_bytes: - res[key].append(report) - break - return res + # result + if isinstance(device, (HasHashedPublicKey, RollingKeyPairSource)): + # single key or generator + return device_reports[device] + # multiple static keys or key generators + return device_reports async def _fetch_reports( self, date_from: datetime, date_to: datetime, keys: Sequence[HasHashedPublicKey], - ) -> list[LocationReport]: + ) -> dict[HasHashedPublicKey, list[LocationReport]]: logging.debug("Fetching reports for %s keys", len(keys)) # lock requested time range to the past 7 days, +- 12 hours, then filter the response. @@ -327,7 +369,7 @@ class LocationReportsFetcher: data = await self._account.fetch_raw_reports(start_date, end_date, ids) id_to_key: dict[bytes, HasHashedPublicKey] = {key.hashed_adv_key_bytes: key for key in keys} - reports: list[LocationReport] = [] + reports: dict[HasHashedPublicKey, list[LocationReport]] = defaultdict(list) for report in data.get("results", []): payload = base64.b64decode(report["payload"]) hashed_adv_key = base64.b64decode(report["id"]) @@ -347,6 +389,6 @@ class LocationReportsFetcher: if loc_report.timestamp < date_from or loc_report.timestamp > date_to: continue - reports.append(loc_report) + reports[key].append(loc_report) return reports From c855e5b787ee90bc07a77eff3e73045cd4ca437c Mon Sep 17 00:00:00 2001 From: Max <12673799+krmax44@users.noreply.github.com> Date: Fri, 7 Feb 2025 21:40:58 +0100 Subject: [PATCH 43/97] Add Home Assistant extension to readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 61c034e..6f5553d 100644 --- a/README.md +++ b/README.md @@ -80,6 +80,7 @@ There are several other cool projects based on this library! Some of them have b * [OfflineFindRecovery](https://github.com/hajekj/OfflineFindRecovery) - Set of scripts to be able to precisely locate your lost MacBook via Apple's Offline Find through Bluetooth Low Energy. * [SwiftFindMy](https://github.com/airy10/SwiftFindMy) - Swift port of FindMy.py +* [FindMy Home Assistant Integration](github.com/krmax44/homeassistant-findmy) ## Credits From 8f53b1791db341e88446d735701fab5b154899fc Mon Sep 17 00:00:00 2001 From: Shreyas Minocha Date: Fri, 21 Feb 2025 12:18:09 -0500 Subject: [PATCH 44/97] Add pubkey-ble conversion example Resolves #100 --- examples/ble.py | 88 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 examples/ble.py diff --git a/examples/ble.py b/examples/ble.py new file mode 100644 index 0000000..1f9e4df --- /dev/null +++ b/examples/ble.py @@ -0,0 +1,88 @@ +from __future__ import annotations + +TWO_MOST_SIGNIFICANT_BITS_MASK = 0b11000000 + + +def pubkey_to_ble(pubkey: bytes) -> tuple[bytes, bytes]: + assert len(pubkey) == 28 + + addr = bytearray(pubkey[:6]) + addr[0] |= TWO_MOST_SIGNIFICANT_BITS_MASK + + ad = bytes( + [ + # apple company id + 0x4C, + 0x00, + # offline finding + 0x12, + # offline finding data length + 25, + # status + 0b11100000, # critically low battery + # remaining public key bytes + *pubkey[6:], + pubkey[0] >> 6, + 0, # hint + ], + ) + + return bytes(addr), ad + + +def ble_to_pubkey(addr: bytes, ad: bytes) -> bytes: + assert len(addr) == 6 + assert len(ad) == 29 + + assert ad[0:2] == bytes([0x4C, 0x00]) + assert ad[2] == 0x12 + assert ad[3] == 25 + + return bytes( + [ + (addr[0] & (0xFF ^ TWO_MOST_SIGNIFICANT_BITS_MASK)) | (ad[27] << 6), + *addr[1:], + *ad[5:27], + ], + ) + + +if __name__ == "__main__": + import base64 + import sys + + USAGE = f"""Usage: {sys.argv[0]} + +Subcommands: + +{sys.argv[0]} gen-pubkey +{sys.argv[0]} gen-ble """ + + if len(sys.argv) < 2: + print(USAGE, file=sys.stderr) + sys.exit(1) + + subcommand = sys.argv[1] + + if subcommand == "gen-pubkey": + if len(sys.argv) != 4: + print(USAGE, file=sys.stderr) + sys.exit(1) + + addr = bytes.fromhex(sys.argv[2]) + ad = bytes.fromhex(sys.argv[3]) + + pubkey = ble_to_pubkey(addr, ad) + print(base64.b64encode(pubkey).decode()) + elif subcommand == "gen-ble": + if len(sys.argv) != 3: + print(USAGE, file=sys.stderr) + sys.exit(1) + + pubkey = base64.b64decode(sys.argv[2]) + addr, ad = pubkey_to_ble(pubkey) + + print(addr.hex(), ad.hex()) + else: + print(USAGE, file=sys.stderr) + sys.exit(1) From f141ec37007b610a731d35fd454cd44fd84cc95d Mon Sep 17 00:00:00 2001 From: Shreyas Minocha Date: Mon, 24 Feb 2025 23:26:03 -0500 Subject: [PATCH 45/97] Replace new example with `HasPublicKey` method --- examples/ble.py | 88 ------------------------------------------------- findmy/keys.py | 19 +++++++++++ 2 files changed, 19 insertions(+), 88 deletions(-) delete mode 100644 examples/ble.py diff --git a/examples/ble.py b/examples/ble.py deleted file mode 100644 index 1f9e4df..0000000 --- a/examples/ble.py +++ /dev/null @@ -1,88 +0,0 @@ -from __future__ import annotations - -TWO_MOST_SIGNIFICANT_BITS_MASK = 0b11000000 - - -def pubkey_to_ble(pubkey: bytes) -> tuple[bytes, bytes]: - assert len(pubkey) == 28 - - addr = bytearray(pubkey[:6]) - addr[0] |= TWO_MOST_SIGNIFICANT_BITS_MASK - - ad = bytes( - [ - # apple company id - 0x4C, - 0x00, - # offline finding - 0x12, - # offline finding data length - 25, - # status - 0b11100000, # critically low battery - # remaining public key bytes - *pubkey[6:], - pubkey[0] >> 6, - 0, # hint - ], - ) - - return bytes(addr), ad - - -def ble_to_pubkey(addr: bytes, ad: bytes) -> bytes: - assert len(addr) == 6 - assert len(ad) == 29 - - assert ad[0:2] == bytes([0x4C, 0x00]) - assert ad[2] == 0x12 - assert ad[3] == 25 - - return bytes( - [ - (addr[0] & (0xFF ^ TWO_MOST_SIGNIFICANT_BITS_MASK)) | (ad[27] << 6), - *addr[1:], - *ad[5:27], - ], - ) - - -if __name__ == "__main__": - import base64 - import sys - - USAGE = f"""Usage: {sys.argv[0]} - -Subcommands: - -{sys.argv[0]} gen-pubkey -{sys.argv[0]} gen-ble """ - - if len(sys.argv) < 2: - print(USAGE, file=sys.stderr) - sys.exit(1) - - subcommand = sys.argv[1] - - if subcommand == "gen-pubkey": - if len(sys.argv) != 4: - print(USAGE, file=sys.stderr) - sys.exit(1) - - addr = bytes.fromhex(sys.argv[2]) - ad = bytes.fromhex(sys.argv[3]) - - pubkey = ble_to_pubkey(addr, ad) - print(base64.b64encode(pubkey).decode()) - elif subcommand == "gen-ble": - if len(sys.argv) != 3: - print(USAGE, file=sys.stderr) - sys.exit(1) - - pubkey = base64.b64decode(sys.argv[2]) - addr, ad = pubkey_to_ble(pubkey) - - print(addr.hex(), ad.hex()) - else: - print(USAGE, file=sys.stderr) - sys.exit(1) diff --git a/findmy/keys.py b/findmy/keys.py index 89f9fc0..87181b5 100644 --- a/findmy/keys.py +++ b/findmy/keys.py @@ -83,6 +83,25 @@ class HasPublicKey(HasHashedPublicKey, ABC): """See `HasHashedPublicKey.hashed_adv_key_bytes`.""" return hashlib.sha256(self.adv_key_bytes).digest() + def ble_advertisement(self, status: int = 0, hint: int = 0) -> bytes: + """Return BLE advertisement data that represents this key.""" + return bytes( + [ + # apple company id + 0x4C, + 0x00, + # offline finding + 0x12, + # offline finding data length + 25, + status, + # remaining public key bytes + *self.adv_key_bytes[6:], + self.adv_key_bytes[0] >> 6, + hint, + ], + ) + class KeyPair(HasPublicKey): """A private-public keypair for a trackable FindMy accessory.""" From 329e6d963cb5a34ac40c3f8d947033788f2c31f2 Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Thu, 27 Feb 2025 22:03:45 +0100 Subject: [PATCH 46/97] chore: migrate from poetry to uv --- .github/actions/setup-project/action.yml | 47 +- .github/workflows/docs.yml | 7 +- .github/workflows/pre-commit.yml | 2 - .github/workflows/publish.yml | 7 +- .github/workflows/test.yml | 7 +- README.md | 4 +- poetry.lock | 2068 ---------------------- pyproject.toml | 69 +- scripts/supported_py_versions.py | 4 +- shell.nix | 5 +- uv.lock | 1761 ++++++++++++++++++ 11 files changed, 1822 insertions(+), 2159 deletions(-) delete mode 100644 poetry.lock create mode 100644 uv.lock diff --git a/.github/actions/setup-project/action.yml b/.github/actions/setup-project/action.yml index 94d0ed8..1059892 100644 --- a/.github/actions/setup-project/action.yml +++ b/.github/actions/setup-project/action.yml @@ -1,48 +1,25 @@ -name: Common Python + Poetry Setup +name: Common Python + UV Setup inputs: - dependency-groups: - description: 'A comma-separated list of dependency groups to install' - default: 'main' python-version: - description: 'The Python version to use' - default: '3.10' + description: 'The Python version to install' + required: false runs: using: 'composite' steps: + - name: Install uv + uses: astral-sh/setup-uv@v5 + with: + enable-cache: true + python-version: ${{ matrix.python-version }} + - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: ${{ inputs.python-version }} - - - name: Install poetry + if: ${{ inputs.python-version != '' }} shell: bash - run: | - python -m pip install poetry - poetry config virtualenvs.in-project true - - - name: Get cache key - id: cache-key - shell: bash - run: | - key=$(echo "${{ inputs.dependency-groups }}" | sed 's/,/+/') - echo "key=$key" >> "$GITHUB_OUTPUT" - - - name: Get full Python version - id: full-python-version - shell: bash - run: echo version=$(python -c "import sys; print('-'.join(str(v) for v in sys.version_info))") >> $GITHUB_OUTPUT - - - name: Load cached venv - id: cache-dependencies - uses: actions/cache@v4 - with: - path: .venv - key: venv-${{ runner.os }}-py${{ steps.full-python-version.outputs.version }}-grp${{ steps.cache-key.outputs.key }}-${{ hashFiles('**/poetry.lock') }} + run: uv python install - name: Install dependencies - if: steps.cache-dependencies.outputs.cache-hit != 'true' shell: bash - run: poetry install --with ${{ inputs.dependency-groups }} + run: uv sync --all-extras --dev diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 2066d1e..4d2129c 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -17,14 +17,15 @@ jobs: steps: - uses: actions/checkout@v4 - - uses: './.github/actions/setup-project' + - name: Install uv and set the python version + uses: astral-sh/setup-uv@v5 with: - dependency-groups: 'docs' + python-version: ${{ matrix.python-version }} - name: Build documentation run: | cd docs - poetry run make html + uv run make html - name: Setup Pages uses: actions/configure-pages@v5 diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 3524136..87bf6c3 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -14,8 +14,6 @@ jobs: - uses: actions/checkout@v4 - uses: './.github/actions/setup-project' - with: - dependency-groups: 'dev,test' - uses: pre-commit/action@v3.0.1 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 162d774..1d49563 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -17,19 +17,16 @@ jobs: - uses: actions/checkout@v4 - uses: './.github/actions/setup-project' - with: - dependency-groups: 'dev' - name: Prepare README run: ./scripts/refactor_readme.py README.md - name: Build package - run: poetry build + run: uv build - name: Publish package run: | - poetry config pypi-token.pypi ${{ secrets.PYPI_API_TOKEN }} - poetry publish + uv publish --token ${{ secrets.PYPI_API_TOKEN }} - name: Create release uses: softprops/action-gh-release@v2 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1a3c9df..fba1f79 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -17,14 +17,12 @@ jobs: - uses: actions/checkout@v4 - uses: './.github/actions/setup-project' - with: - dependency-groups: 'dev' - id: supported-versions name: Get supported versions run: | set -e - echo "py-versions=$(poetry run ./scripts/supported_py_versions.py)" >> "$GITHUB_OUTPUT" + echo "py-versions=$(uv run ./scripts/supported_py_versions.py)" >> "$GITHUB_OUTPUT" test: runs-on: ubuntu-latest @@ -40,10 +38,9 @@ jobs: - uses: './.github/actions/setup-project' with: python-version: ${{ matrix.py-version }} - dependency-groups: 'test' - name: Run unit tests - run: poetry run pytest + run: uv run pytest results: runs-on: ubuntu-latest diff --git a/README.md b/README.md index 6f5553d..7af0842 100644 --- a/README.md +++ b/README.md @@ -66,8 +66,8 @@ Before opening a pull request, please ensure that your code adheres to these rul There are pre-commit hooks included to help you with this, which you can set up as follows: ```shell -pip install poetry -poetry install --with dev # this installs pre-commit into your environment +pip install uv +uv sync # this installs ruff & pre-commit into your environment pre-commit install ``` diff --git a/poetry.lock b/poetry.lock deleted file mode 100644 index 6b3b2ad..0000000 --- a/poetry.lock +++ /dev/null @@ -1,2068 +0,0 @@ -# This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand. - -[[package]] -name = "aiohappyeyeballs" -version = "2.4.4" -description = "Happy Eyeballs for asyncio" -optional = false -python-versions = ">=3.8" -files = [ - {file = "aiohappyeyeballs-2.4.4-py3-none-any.whl", hash = "sha256:a980909d50efcd44795c4afeca523296716d50cd756ddca6af8c65b996e27de8"}, - {file = "aiohappyeyeballs-2.4.4.tar.gz", hash = "sha256:5fdd7d87889c63183afc18ce9271f9b0a7d32c2303e394468dd45d514a757745"}, -] - -[[package]] -name = "aiohttp" -version = "3.11.11" -description = "Async http client/server framework (asyncio)" -optional = false -python-versions = ">=3.9" -files = [ - {file = "aiohttp-3.11.11-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a60804bff28662cbcf340a4d61598891f12eea3a66af48ecfdc975ceec21e3c8"}, - {file = "aiohttp-3.11.11-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4b4fa1cb5f270fb3eab079536b764ad740bb749ce69a94d4ec30ceee1b5940d5"}, - {file = "aiohttp-3.11.11-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:731468f555656767cda219ab42e033355fe48c85fbe3ba83a349631541715ba2"}, - {file = "aiohttp-3.11.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cb23d8bb86282b342481cad4370ea0853a39e4a32a0042bb52ca6bdde132df43"}, - {file = "aiohttp-3.11.11-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f047569d655f81cb70ea5be942ee5d4421b6219c3f05d131f64088c73bb0917f"}, - {file = "aiohttp-3.11.11-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd7659baae9ccf94ae5fe8bfaa2c7bc2e94d24611528395ce88d009107e00c6d"}, - {file = "aiohttp-3.11.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:af01e42ad87ae24932138f154105e88da13ce7d202a6de93fafdafb2883a00ef"}, - {file = "aiohttp-3.11.11-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5854be2f3e5a729800bac57a8d76af464e160f19676ab6aea74bde18ad19d438"}, - {file = "aiohttp-3.11.11-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:6526e5fb4e14f4bbf30411216780c9967c20c5a55f2f51d3abd6de68320cc2f3"}, - {file = "aiohttp-3.11.11-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:85992ee30a31835fc482468637b3e5bd085fa8fe9392ba0bdcbdc1ef5e9e3c55"}, - {file = "aiohttp-3.11.11-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:88a12ad8ccf325a8a5ed80e6d7c3bdc247d66175afedbe104ee2aaca72960d8e"}, - {file = "aiohttp-3.11.11-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:0a6d3fbf2232e3a08c41eca81ae4f1dff3d8f1a30bae415ebe0af2d2458b8a33"}, - {file = "aiohttp-3.11.11-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:84a585799c58b795573c7fa9b84c455adf3e1d72f19a2bf498b54a95ae0d194c"}, - {file = "aiohttp-3.11.11-cp310-cp310-win32.whl", hash = "sha256:bfde76a8f430cf5c5584553adf9926534352251d379dcb266ad2b93c54a29745"}, - {file = "aiohttp-3.11.11-cp310-cp310-win_amd64.whl", hash = "sha256:0fd82b8e9c383af11d2b26f27a478640b6b83d669440c0a71481f7c865a51da9"}, - {file = "aiohttp-3.11.11-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ba74ec819177af1ef7f59063c6d35a214a8fde6f987f7661f4f0eecc468a8f76"}, - {file = "aiohttp-3.11.11-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:4af57160800b7a815f3fe0eba9b46bf28aafc195555f1824555fa2cfab6c1538"}, - {file = "aiohttp-3.11.11-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ffa336210cf9cd8ed117011085817d00abe4c08f99968deef0013ea283547204"}, - {file = "aiohttp-3.11.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81b8fe282183e4a3c7a1b72f5ade1094ed1c6345a8f153506d114af5bf8accd9"}, - {file = "aiohttp-3.11.11-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3af41686ccec6a0f2bdc66686dc0f403c41ac2089f80e2214a0f82d001052c03"}, - {file = "aiohttp-3.11.11-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:70d1f9dde0e5dd9e292a6d4d00058737052b01f3532f69c0c65818dac26dc287"}, - {file = "aiohttp-3.11.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:249cc6912405917344192b9f9ea5cd5b139d49e0d2f5c7f70bdfaf6b4dbf3a2e"}, - {file = "aiohttp-3.11.11-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0eb98d90b6690827dcc84c246811feeb4e1eea683c0eac6caed7549be9c84665"}, - {file = "aiohttp-3.11.11-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ec82bf1fda6cecce7f7b915f9196601a1bd1a3079796b76d16ae4cce6d0ef89b"}, - {file = "aiohttp-3.11.11-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:9fd46ce0845cfe28f108888b3ab17abff84ff695e01e73657eec3f96d72eef34"}, - {file = "aiohttp-3.11.11-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:bd176afcf8f5d2aed50c3647d4925d0db0579d96f75a31e77cbaf67d8a87742d"}, - {file = "aiohttp-3.11.11-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:ec2aa89305006fba9ffb98970db6c8221541be7bee4c1d027421d6f6df7d1ce2"}, - {file = "aiohttp-3.11.11-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:92cde43018a2e17d48bb09c79e4d4cb0e236de5063ce897a5e40ac7cb4878773"}, - {file = "aiohttp-3.11.11-cp311-cp311-win32.whl", hash = "sha256:aba807f9569455cba566882c8938f1a549f205ee43c27b126e5450dc9f83cc62"}, - {file = "aiohttp-3.11.11-cp311-cp311-win_amd64.whl", hash = "sha256:ae545f31489548c87b0cced5755cfe5a5308d00407000e72c4fa30b19c3220ac"}, - {file = "aiohttp-3.11.11-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e595c591a48bbc295ebf47cb91aebf9bd32f3ff76749ecf282ea7f9f6bb73886"}, - {file = "aiohttp-3.11.11-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3ea1b59dc06396b0b424740a10a0a63974c725b1c64736ff788a3689d36c02d2"}, - {file = "aiohttp-3.11.11-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8811f3f098a78ffa16e0ea36dffd577eb031aea797cbdba81be039a4169e242c"}, - {file = "aiohttp-3.11.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7227b87a355ce1f4bf83bfae4399b1f5bb42e0259cb9405824bd03d2f4336a"}, - {file = "aiohttp-3.11.11-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d40f9da8cabbf295d3a9dae1295c69975b86d941bc20f0a087f0477fa0a66231"}, - {file = "aiohttp-3.11.11-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ffb3dc385f6bb1568aa974fe65da84723210e5d9707e360e9ecb51f59406cd2e"}, - {file = "aiohttp-3.11.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8f5f7515f3552d899c61202d99dcb17d6e3b0de777900405611cd747cecd1b8"}, - {file = "aiohttp-3.11.11-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3499c7ffbfd9c6a3d8d6a2b01c26639da7e43d47c7b4f788016226b1e711caa8"}, - {file = "aiohttp-3.11.11-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8e2bf8029dbf0810c7bfbc3e594b51c4cc9101fbffb583a3923aea184724203c"}, - {file = "aiohttp-3.11.11-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b6212a60e5c482ef90f2d788835387070a88d52cf6241d3916733c9176d39eab"}, - {file = "aiohttp-3.11.11-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:d119fafe7b634dbfa25a8c597718e69a930e4847f0b88e172744be24515140da"}, - {file = "aiohttp-3.11.11-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:6fba278063559acc730abf49845d0e9a9e1ba74f85f0ee6efd5803f08b285853"}, - {file = "aiohttp-3.11.11-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:92fc484e34b733704ad77210c7957679c5c3877bd1e6b6d74b185e9320cc716e"}, - {file = "aiohttp-3.11.11-cp312-cp312-win32.whl", hash = "sha256:9f5b3c1ed63c8fa937a920b6c1bec78b74ee09593b3f5b979ab2ae5ef60d7600"}, - {file = "aiohttp-3.11.11-cp312-cp312-win_amd64.whl", hash = "sha256:1e69966ea6ef0c14ee53ef7a3d68b564cc408121ea56c0caa2dc918c1b2f553d"}, - {file = "aiohttp-3.11.11-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:541d823548ab69d13d23730a06f97460f4238ad2e5ed966aaf850d7c369782d9"}, - {file = "aiohttp-3.11.11-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:929f3ed33743a49ab127c58c3e0a827de0664bfcda566108989a14068f820194"}, - {file = "aiohttp-3.11.11-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0882c2820fd0132240edbb4a51eb8ceb6eef8181db9ad5291ab3332e0d71df5f"}, - {file = "aiohttp-3.11.11-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b63de12e44935d5aca7ed7ed98a255a11e5cb47f83a9fded7a5e41c40277d104"}, - {file = "aiohttp-3.11.11-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aa54f8ef31d23c506910c21163f22b124facb573bff73930735cf9fe38bf7dff"}, - {file = "aiohttp-3.11.11-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a344d5dc18074e3872777b62f5f7d584ae4344cd6006c17ba12103759d407af3"}, - {file = "aiohttp-3.11.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b7fb429ab1aafa1f48578eb315ca45bd46e9c37de11fe45c7f5f4138091e2f1"}, - {file = "aiohttp-3.11.11-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c341c7d868750e31961d6d8e60ff040fb9d3d3a46d77fd85e1ab8e76c3e9a5c4"}, - {file = "aiohttp-3.11.11-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ed9ee95614a71e87f1a70bc81603f6c6760128b140bc4030abe6abaa988f1c3d"}, - {file = "aiohttp-3.11.11-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:de8d38f1c2810fa2a4f1d995a2e9c70bb8737b18da04ac2afbf3971f65781d87"}, - {file = "aiohttp-3.11.11-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:a9b7371665d4f00deb8f32208c7c5e652059b0fda41cf6dbcac6114a041f1cc2"}, - {file = "aiohttp-3.11.11-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:620598717fce1b3bd14dd09947ea53e1ad510317c85dda2c9c65b622edc96b12"}, - {file = "aiohttp-3.11.11-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:bf8d9bfee991d8acc72d060d53860f356e07a50f0e0d09a8dfedea1c554dd0d5"}, - {file = "aiohttp-3.11.11-cp313-cp313-win32.whl", hash = "sha256:9d73ee3725b7a737ad86c2eac5c57a4a97793d9f442599bea5ec67ac9f4bdc3d"}, - {file = "aiohttp-3.11.11-cp313-cp313-win_amd64.whl", hash = "sha256:c7a06301c2fb096bdb0bd25fe2011531c1453b9f2c163c8031600ec73af1cc99"}, - {file = "aiohttp-3.11.11-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3e23419d832d969f659c208557de4a123e30a10d26e1e14b73431d3c13444c2e"}, - {file = "aiohttp-3.11.11-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:21fef42317cf02e05d3b09c028712e1d73a9606f02467fd803f7c1f39cc59add"}, - {file = "aiohttp-3.11.11-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1f21bb8d0235fc10c09ce1d11ffbd40fc50d3f08a89e4cf3a0c503dc2562247a"}, - {file = "aiohttp-3.11.11-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1642eceeaa5ab6c9b6dfeaaa626ae314d808188ab23ae196a34c9d97efb68350"}, - {file = "aiohttp-3.11.11-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2170816e34e10f2fd120f603e951630f8a112e1be3b60963a1f159f5699059a6"}, - {file = "aiohttp-3.11.11-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8be8508d110d93061197fd2d6a74f7401f73b6d12f8822bbcd6d74f2b55d71b1"}, - {file = "aiohttp-3.11.11-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4eed954b161e6b9b65f6be446ed448ed3921763cc432053ceb606f89d793927e"}, - {file = "aiohttp-3.11.11-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6c9af134da4bc9b3bd3e6a70072509f295d10ee60c697826225b60b9959acdd"}, - {file = "aiohttp-3.11.11-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:44167fc6a763d534a6908bdb2592269b4bf30a03239bcb1654781adf5e49caf1"}, - {file = "aiohttp-3.11.11-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:479b8c6ebd12aedfe64563b85920525d05d394b85f166b7873c8bde6da612f9c"}, - {file = "aiohttp-3.11.11-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:10b4ff0ad793d98605958089fabfa350e8e62bd5d40aa65cdc69d6785859f94e"}, - {file = "aiohttp-3.11.11-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:b540bd67cfb54e6f0865ceccd9979687210d7ed1a1cc8c01f8e67e2f1e883d28"}, - {file = "aiohttp-3.11.11-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1dac54e8ce2ed83b1f6b1a54005c87dfed139cf3f777fdc8afc76e7841101226"}, - {file = "aiohttp-3.11.11-cp39-cp39-win32.whl", hash = "sha256:568c1236b2fde93b7720f95a890741854c1200fba4a3471ff48b2934d2d93fd3"}, - {file = "aiohttp-3.11.11-cp39-cp39-win_amd64.whl", hash = "sha256:943a8b052e54dfd6439fd7989f67fc6a7f2138d0a2cf0a7de5f18aa4fe7eb3b1"}, - {file = "aiohttp-3.11.11.tar.gz", hash = "sha256:bb49c7f1e6ebf3821a42d81d494f538107610c3a705987f53068546b0e90303e"}, -] - -[package.dependencies] -aiohappyeyeballs = ">=2.3.0" -aiosignal = ">=1.1.2" -async-timeout = {version = ">=4.0,<6.0", markers = "python_version < \"3.11\""} -attrs = ">=17.3.0" -frozenlist = ">=1.1.1" -multidict = ">=4.5,<7.0" -propcache = ">=0.2.0" -yarl = ">=1.17.0,<2.0" - -[package.extras] -speedups = ["Brotli", "aiodns (>=3.2.0)", "brotlicffi"] - -[[package]] -name = "aiosignal" -version = "1.3.2" -description = "aiosignal: a list of registered asynchronous callbacks" -optional = false -python-versions = ">=3.9" -files = [ - {file = "aiosignal-1.3.2-py2.py3-none-any.whl", hash = "sha256:45cde58e409a301715980c2b01d0c28bdde3770d8290b5eb2173759d9acb31a5"}, - {file = "aiosignal-1.3.2.tar.gz", hash = "sha256:a8c255c66fafb1e499c9351d0bf32ff2d8a0321595ebac3b93713656d2436f54"}, -] - -[package.dependencies] -frozenlist = ">=1.1.0" - -[[package]] -name = "alabaster" -version = "0.7.16" -description = "A light, configurable Sphinx theme" -optional = false -python-versions = ">=3.9" -files = [ - {file = "alabaster-0.7.16-py3-none-any.whl", hash = "sha256:b46733c07dce03ae4e150330b975c75737fa60f0a7c591b6c8bf4928a28e2c92"}, - {file = "alabaster-0.7.16.tar.gz", hash = "sha256:75a8b99c28a5dad50dd7f8ccdd447a121ddb3892da9e53d1ca5cca3106d58d65"}, -] - -[[package]] -name = "astroid" -version = "3.3.8" -description = "An abstract syntax tree for Python with inference support." -optional = false -python-versions = ">=3.9.0" -files = [ - {file = "astroid-3.3.8-py3-none-any.whl", hash = "sha256:187ccc0c248bfbba564826c26f070494f7bc964fd286b6d9fff4420e55de828c"}, - {file = "astroid-3.3.8.tar.gz", hash = "sha256:a88c7994f914a4ea8572fac479459f4955eeccc877be3f2d959a33273b0cf40b"}, -] - -[package.dependencies] -typing-extensions = {version = ">=4.0.0", markers = "python_version < \"3.11\""} - -[[package]] -name = "async-timeout" -version = "4.0.3" -description = "Timeout context manager for asyncio programs" -optional = false -python-versions = ">=3.7" -files = [ - {file = "async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f"}, - {file = "async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028"}, -] - -[[package]] -name = "attrs" -version = "24.3.0" -description = "Classes Without Boilerplate" -optional = false -python-versions = ">=3.8" -files = [ - {file = "attrs-24.3.0-py3-none-any.whl", hash = "sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308"}, - {file = "attrs-24.3.0.tar.gz", hash = "sha256:8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff"}, -] - -[package.extras] -benchmark = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -cov = ["cloudpickle", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit-uv", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier (<24.7)"] -tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"] - -[[package]] -name = "babel" -version = "2.16.0" -description = "Internationalization utilities" -optional = false -python-versions = ">=3.8" -files = [ - {file = "babel-2.16.0-py3-none-any.whl", hash = "sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b"}, - {file = "babel-2.16.0.tar.gz", hash = "sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316"}, -] - -[package.extras] -dev = ["freezegun (>=1.0,<2.0)", "pytest (>=6.0)", "pytest-cov"] - -[[package]] -name = "beautifulsoup4" -version = "4.12.3" -description = "Screen-scraping library" -optional = false -python-versions = ">=3.6.0" -files = [ - {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"}, - {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"}, -] - -[package.dependencies] -soupsieve = ">1.2" - -[package.extras] -cchardet = ["cchardet"] -chardet = ["chardet"] -charset-normalizer = ["charset-normalizer"] -html5lib = ["html5lib"] -lxml = ["lxml"] - -[[package]] -name = "bleak" -version = "0.22.3" -description = "Bluetooth Low Energy platform Agnostic Klient" -optional = false -python-versions = "<3.14,>=3.8" -files = [ - {file = "bleak-0.22.3-py3-none-any.whl", hash = "sha256:1e62a9f5e0c184826e6c906e341d8aca53793e4596eeaf4e0b191e7aca5c461c"}, - {file = "bleak-0.22.3.tar.gz", hash = "sha256:3149c3c19657e457727aa53d9d6aeb89658495822cd240afd8aeca4dd09c045c"}, -] - -[package.dependencies] -async-timeout = {version = ">=3.0.0,<5", markers = "python_version < \"3.11\""} -bleak-winrt = {version = ">=1.2.0,<2.0.0", markers = "platform_system == \"Windows\" and python_version < \"3.12\""} -dbus-fast = {version = ">=1.83.0,<3", markers = "platform_system == \"Linux\""} -pyobjc-core = {version = ">=10.3,<11.0", markers = "platform_system == \"Darwin\""} -pyobjc-framework-CoreBluetooth = {version = ">=10.3,<11.0", markers = "platform_system == \"Darwin\""} -pyobjc-framework-libdispatch = {version = ">=10.3,<11.0", markers = "platform_system == \"Darwin\""} -typing-extensions = {version = ">=4.7.0", markers = "python_version < \"3.12\""} -winrt-runtime = {version = ">=2,<3", markers = "platform_system == \"Windows\" and python_version >= \"3.12\""} -"winrt-Windows.Devices.Bluetooth" = {version = ">=2,<3", markers = "platform_system == \"Windows\" and python_version >= \"3.12\""} -"winrt-Windows.Devices.Bluetooth.Advertisement" = {version = ">=2,<3", markers = "platform_system == \"Windows\" and python_version >= \"3.12\""} -"winrt-Windows.Devices.Bluetooth.GenericAttributeProfile" = {version = ">=2,<3", markers = "platform_system == \"Windows\" and python_version >= \"3.12\""} -"winrt-Windows.Devices.Enumeration" = {version = ">=2,<3", markers = "platform_system == \"Windows\" and python_version >= \"3.12\""} -"winrt-Windows.Foundation" = {version = ">=2,<3", markers = "platform_system == \"Windows\" and python_version >= \"3.12\""} -"winrt-Windows.Foundation.Collections" = {version = ">=2,<3", markers = "platform_system == \"Windows\" and python_version >= \"3.12\""} -"winrt-Windows.Storage.Streams" = {version = ">=2,<3", markers = "platform_system == \"Windows\" and python_version >= \"3.12\""} - -[[package]] -name = "bleak-winrt" -version = "1.2.0" -description = "Python WinRT bindings for Bleak" -optional = false -python-versions = "*" -files = [ - {file = "bleak-winrt-1.2.0.tar.gz", hash = "sha256:0577d070251b9354fc6c45ffac57e39341ebb08ead014b1bdbd43e211d2ce1d6"}, - {file = "bleak_winrt-1.2.0-cp310-cp310-win32.whl", hash = "sha256:a2ae3054d6843ae0cfd3b94c83293a1dfd5804393977dd69bde91cb5099fc47c"}, - {file = "bleak_winrt-1.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:677df51dc825c6657b3ae94f00bd09b8ab88422b40d6a7bdbf7972a63bc44e9a"}, - {file = "bleak_winrt-1.2.0-cp311-cp311-win32.whl", hash = "sha256:9449cdb942f22c9892bc1ada99e2ccce9bea8a8af1493e81fefb6de2cb3a7b80"}, - {file = "bleak_winrt-1.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:98c1b5a6a6c431ac7f76aa4285b752fe14a1c626bd8a1dfa56f66173ff120bee"}, - {file = "bleak_winrt-1.2.0-cp37-cp37m-win32.whl", hash = "sha256:623ac511696e1f58d83cb9c431e32f613395f2199b3db7f125a3d872cab968a4"}, - {file = "bleak_winrt-1.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:13ab06dec55469cf51a2c187be7b630a7a2922e1ea9ac1998135974a7239b1e3"}, - {file = "bleak_winrt-1.2.0-cp38-cp38-win32.whl", hash = "sha256:5a36ff8cd53068c01a795a75d2c13054ddc5f99ce6de62c1a97cd343fc4d0727"}, - {file = "bleak_winrt-1.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:810c00726653a962256b7acd8edf81ab9e4a3c66e936a342ce4aec7dbd3a7263"}, - {file = "bleak_winrt-1.2.0-cp39-cp39-win32.whl", hash = "sha256:dd740047a08925bde54bec357391fcee595d7b8ca0c74c87170a5cbc3f97aa0a"}, - {file = "bleak_winrt-1.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:63130c11acfe75c504a79c01f9919e87f009f5e742bfc7b7a5c2a9c72bf591a7"}, -] - -[[package]] -name = "certifi" -version = "2024.12.14" -description = "Python package for providing Mozilla's CA Bundle." -optional = false -python-versions = ">=3.6" -files = [ - {file = "certifi-2024.12.14-py3-none-any.whl", hash = "sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56"}, - {file = "certifi-2024.12.14.tar.gz", hash = "sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db"}, -] - -[[package]] -name = "cffi" -version = "1.17.1" -description = "Foreign Function Interface for Python calling C code." -optional = false -python-versions = ">=3.8" -files = [ - {file = "cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14"}, - {file = "cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6"}, - {file = "cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17"}, - {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8"}, - {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e"}, - {file = "cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be"}, - {file = "cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c"}, - {file = "cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15"}, - {file = "cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401"}, - {file = "cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6"}, - {file = "cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d"}, - {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6"}, - {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f"}, - {file = "cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b"}, - {file = "cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655"}, - {file = "cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0"}, - {file = "cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4"}, - {file = "cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99"}, - {file = "cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93"}, - {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3"}, - {file = "cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8"}, - {file = "cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65"}, - {file = "cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903"}, - {file = "cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e"}, - {file = "cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4"}, - {file = "cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd"}, - {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed"}, - {file = "cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9"}, - {file = "cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d"}, - {file = "cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a"}, - {file = "cffi-1.17.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:636062ea65bd0195bc012fea9321aca499c0504409f413dc88af450b57ffd03b"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7eac2ef9b63c79431bc4b25f1cd649d7f061a28808cbc6c47b534bd789ef964"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e221cf152cff04059d011ee126477f0d9588303eb57e88923578ace7baad17f9"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31000ec67d4221a71bd3f67df918b1f88f676f1c3b535a7eb473255fdc0b83fc"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f17be4345073b0a7b8ea599688f692ac3ef23ce28e5df79c04de519dbc4912c"}, - {file = "cffi-1.17.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e2b1fac190ae3ebfe37b979cc1ce69c81f4e4fe5746bb401dca63a9062cdaf1"}, - {file = "cffi-1.17.1-cp38-cp38-win32.whl", hash = "sha256:7596d6620d3fa590f677e9ee430df2958d2d6d6de2feeae5b20e82c00b76fbf8"}, - {file = "cffi-1.17.1-cp38-cp38-win_amd64.whl", hash = "sha256:78122be759c3f8a014ce010908ae03364d00a1f81ab5c7f4a7a5120607ea56e1"}, - {file = "cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16"}, - {file = "cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0"}, - {file = "cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3"}, - {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595"}, - {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a"}, - {file = "cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e"}, - {file = "cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7"}, - {file = "cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662"}, - {file = "cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824"}, -] - -[package.dependencies] -pycparser = "*" - -[[package]] -name = "cfgv" -version = "3.4.0" -description = "Validate configuration and produce human readable error messages." -optional = false -python-versions = ">=3.8" -files = [ - {file = "cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9"}, - {file = "cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560"}, -] - -[[package]] -name = "charset-normalizer" -version = "3.4.1" -description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -optional = false -python-versions = ">=3.7" -files = [ - {file = "charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f"}, - {file = "charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b"}, - {file = "charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35"}, - {file = "charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407"}, - {file = "charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f30bf9fd9be89ecb2360c7d94a711f00c09b976258846efe40db3d05828e8089"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:97f68b8d6831127e4787ad15e6757232e14e12060bec17091b85eb1486b91d8d"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7974a0b5ecd505609e3b19742b60cee7aa2aa2fb3151bc917e6e2646d7667dcf"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc54db6c8593ef7d4b2a331b58653356cf04f67c960f584edb7c3d8c97e8f39e"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:311f30128d7d333eebd7896965bfcfbd0065f1716ec92bd5638d7748eb6f936a"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:7d053096f67cd1241601111b698f5cad775f97ab25d81567d3f59219b5f1adbd"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:807f52c1f798eef6cf26beb819eeb8819b1622ddfeef9d0977a8502d4db6d534"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:dccbe65bd2f7f7ec22c4ff99ed56faa1e9f785482b9bbd7c717e26fd723a1d1e"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:2fb9bd477fdea8684f78791a6de97a953c51831ee2981f8e4f583ff3b9d9687e"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:01732659ba9b5b873fc117534143e4feefecf3b2078b0a6a2e925271bb6f4cfa"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-win32.whl", hash = "sha256:7a4f97a081603d2050bfaffdefa5b02a9ec823f8348a572e39032caa8404a487"}, - {file = "charset_normalizer-3.4.1-cp37-cp37m-win_amd64.whl", hash = "sha256:7b1bef6280950ee6c177b326508f86cad7ad4dff12454483b51d8b7d673a2c5d"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ecddf25bee22fe4fe3737a399d0d177d72bc22be6913acfab364b40bce1ba83c"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c60ca7339acd497a55b0ea5d506b2a2612afb2826560416f6894e8b5770d4a9"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b7b2d86dd06bfc2ade3312a83a5c364c7ec2e3498f8734282c6c3d4b07b346b8"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd78cfcda14a1ef52584dbb008f7ac81c1328c0f58184bf9a84c49c605002da6"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6e27f48bcd0957c6d4cb9d6fa6b61d192d0b13d5ef563e5f2ae35feafc0d179c"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01ad647cdd609225c5350561d084b42ddf732f4eeefe6e678765636791e78b9a"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:619a609aa74ae43d90ed2e89bdd784765de0a25ca761b93e196d938b8fd1dbbd"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:89149166622f4db9b4b6a449256291dc87a99ee53151c74cbd82a53c8c2f6ccd"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:7709f51f5f7c853f0fb938bcd3bc59cdfdc5203635ffd18bf354f6967ea0f824"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:345b0426edd4e18138d6528aed636de7a9ed169b4aaf9d61a8c19e39d26838ca"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0907f11d019260cdc3f94fbdb23ff9125f6b5d1039b76003b5b0ac9d6a6c9d5b"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-win32.whl", hash = "sha256:ea0d8d539afa5eb2728aa1932a988a9a7af94f18582ffae4bc10b3fbdad0626e"}, - {file = "charset_normalizer-3.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:329ce159e82018d646c7ac45b01a430369d526569ec08516081727a20e9e4af4"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-win32.whl", hash = "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5"}, - {file = "charset_normalizer-3.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765"}, - {file = "charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85"}, - {file = "charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3"}, -] - -[[package]] -name = "colorama" -version = "0.4.6" -description = "Cross-platform colored terminal text." -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -files = [ - {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, - {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, -] - -[[package]] -name = "cryptography" -version = "43.0.3" -description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers." -optional = false -python-versions = ">=3.7" -files = [ - {file = "cryptography-43.0.3-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:bf7a1932ac4176486eab36a19ed4c0492da5d97123f1406cf15e41b05e787d2e"}, - {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63efa177ff54aec6e1c0aefaa1a241232dcd37413835a9b674b6e3f0ae2bfd3e"}, - {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e1ce50266f4f70bf41a2c6dc4358afadae90e2a1e5342d3c08883df1675374f"}, - {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:443c4a81bb10daed9a8f334365fe52542771f25aedaf889fd323a853ce7377d6"}, - {file = "cryptography-43.0.3-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:74f57f24754fe349223792466a709f8e0c093205ff0dca557af51072ff47ab18"}, - {file = "cryptography-43.0.3-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:9762ea51a8fc2a88b70cf2995e5675b38d93bf36bd67d91721c309df184f49bd"}, - {file = "cryptography-43.0.3-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:81ef806b1fef6b06dcebad789f988d3b37ccaee225695cf3e07648eee0fc6b73"}, - {file = "cryptography-43.0.3-cp37-abi3-win32.whl", hash = "sha256:cbeb489927bd7af4aa98d4b261af9a5bc025bd87f0e3547e11584be9e9427be2"}, - {file = "cryptography-43.0.3-cp37-abi3-win_amd64.whl", hash = "sha256:f46304d6f0c6ab8e52770addfa2fc41e6629495548862279641972b6215451cd"}, - {file = "cryptography-43.0.3-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:8ac43ae87929a5982f5948ceda07001ee5e83227fd69cf55b109144938d96984"}, - {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:846da004a5804145a5f441b8530b4bf35afbf7da70f82409f151695b127213d5"}, - {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f996e7268af62598f2fc1204afa98a3b5712313a55c4c9d434aef49cadc91d4"}, - {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:f7b178f11ed3664fd0e995a47ed2b5ff0a12d893e41dd0494f406d1cf555cab7"}, - {file = "cryptography-43.0.3-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:c2e6fc39c4ab499049df3bdf567f768a723a5e8464816e8f009f121a5a9f4405"}, - {file = "cryptography-43.0.3-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:e1be4655c7ef6e1bbe6b5d0403526601323420bcf414598955968c9ef3eb7d16"}, - {file = "cryptography-43.0.3-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:df6b6c6d742395dd77a23ea3728ab62f98379eff8fb61be2744d4679ab678f73"}, - {file = "cryptography-43.0.3-cp39-abi3-win32.whl", hash = "sha256:d56e96520b1020449bbace2b78b603442e7e378a9b3bd68de65c782db1507995"}, - {file = "cryptography-43.0.3-cp39-abi3-win_amd64.whl", hash = "sha256:0c580952eef9bf68c4747774cde7ec1d85a6e61de97281f2dba83c7d2c806362"}, - {file = "cryptography-43.0.3-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:d03b5621a135bffecad2c73e9f4deb1a0f977b9a8ffe6f8e002bf6c9d07b918c"}, - {file = "cryptography-43.0.3-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:a2a431ee15799d6db9fe80c82b055bae5a752bef645bba795e8e52687c69efe3"}, - {file = "cryptography-43.0.3-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:281c945d0e28c92ca5e5930664c1cefd85efe80e5c0d2bc58dd63383fda29f83"}, - {file = "cryptography-43.0.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:f18c716be16bc1fea8e95def49edf46b82fccaa88587a45f8dc0ff6ab5d8e0a7"}, - {file = "cryptography-43.0.3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:4a02ded6cd4f0a5562a8887df8b3bd14e822a90f97ac5e544c162899bc467664"}, - {file = "cryptography-43.0.3-pp39-pypy39_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:53a583b6637ab4c4e3591a15bc9db855b8d9dee9a669b550f311480acab6eb08"}, - {file = "cryptography-43.0.3-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:1ec0bcf7e17c0c5669d881b1cd38c4972fade441b27bda1051665faaa89bdcaa"}, - {file = "cryptography-43.0.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2ce6fae5bdad59577b44e4dfed356944fbf1d925269114c28be377692643b4ff"}, - {file = "cryptography-43.0.3.tar.gz", hash = "sha256:315b9001266a492a6ff443b61238f956b214dbec9910a081ba5b6646a055a805"}, -] - -[package.dependencies] -cffi = {version = ">=1.12", markers = "platform_python_implementation != \"PyPy\""} - -[package.extras] -docs = ["sphinx (>=5.3.0)", "sphinx-rtd-theme (>=1.1.1)"] -docstest = ["pyenchant (>=1.6.11)", "readme-renderer", "sphinxcontrib-spelling (>=4.0.1)"] -nox = ["nox"] -pep8test = ["check-sdist", "click", "mypy", "ruff"] -sdist = ["build"] -ssh = ["bcrypt (>=3.1.5)"] -test = ["certifi", "cryptography-vectors (==43.0.3)", "pretend", "pytest (>=6.2.0)", "pytest-benchmark", "pytest-cov", "pytest-xdist"] -test-randomorder = ["pytest-randomly"] - -[[package]] -name = "dbus-fast" -version = "2.24.4" -description = "A faster version of dbus-next" -optional = false -python-versions = "<4.0,>=3.8" -files = [ - {file = "dbus_fast-2.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4640feb97e3b992052eb075a5dd606e0ba54ae3ce702d6d15d90b479da561547"}, - {file = "dbus_fast-2.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b0fd863108be7494cab3570b76aac68fbd54290d7edea9063afa33815d76015"}, - {file = "dbus_fast-2.24.4-cp310-cp310-manylinux_2_31_x86_64.whl", hash = "sha256:8bf8037e190071f02e01b2133effb1715b884bbbf5bd5e6dcf0998a6f7972d23"}, - {file = "dbus_fast-2.24.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:590f2767e3b8a9e66c7fb0500d439fe95793933682e525e3518f414d83a454bf"}, - {file = "dbus_fast-2.24.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cf9aba8ed59ef8c0026b321710442b8ccc876a37c883490fb2900bc009d7bd70"}, - {file = "dbus_fast-2.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d97063b1000d8a28e76f80f016ec794637df507fbc26a0211053045c2a14958"}, - {file = "dbus_fast-2.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:09eb824358c9e23405320e4430e6384eb750fd7c3aafe9fe1ed76341de50c276"}, - {file = "dbus_fast-2.24.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8f0726f01de87dc5db543c4f2cfa6334f2ec159465ba891c538e2f63ed3ac265"}, - {file = "dbus_fast-2.24.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7d8177f35a504651788f4a03bb81e92d90f26eaa3e5384085631a521a6d8a146"}, - {file = "dbus_fast-2.24.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f02b734948b9d70c943e694a0fca5ab323a516dc2d453365c70fbe4d5e0a731"}, - {file = "dbus_fast-2.24.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a1d215d9a62964a0df56ddb27f09f315903e5756920832fccb5b7990894ceb8"}, - {file = "dbus_fast-2.24.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:99f98f15543063806350c12b0304616660c34ad6e7d252cb3b8f74dd6a7ebc52"}, - {file = "dbus_fast-2.24.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ef4c70d965787215717e150d961a30e8414e0822d9c070baf5d4f166fa4996ad"}, - {file = "dbus_fast-2.24.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c74cf8283678ccbcc73c136eddbd60187775283c75372bcdfa62affdc787bc11"}, - {file = "dbus_fast-2.24.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5bf5d2ccc43b1072493f5b916c7f55aad9e773438c0ef1fdba563f6c8c0f281"}, - {file = "dbus_fast-2.24.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800066f870bf980939b14fa0a6eb262bf00d46f2436a47180686ea945900418e"}, - {file = "dbus_fast-2.24.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9b94f0421451196e769bbd4c32c88b575bf6d639733311870d7698d142961d7b"}, - {file = "dbus_fast-2.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:556c6d5378aa990d935eba24160b1af09e79f3382ba5aea484cac348d318d62c"}, - {file = "dbus_fast-2.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a17d91b75d7ad6dea9c81f3f006ba64232d71080a20832c8dd55f22cd72f07fc"}, - {file = "dbus_fast-2.24.4-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:6eb0266c95f7d7d58d2cbaaa87be881ec431eab027a14376ceabfe190c4c63f3"}, - {file = "dbus_fast-2.24.4-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:ee00b91fdb7ff439ac90aa8944c2bf781d4406d9d96d79d4e4aa211d165b4cad"}, - {file = "dbus_fast-2.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fad2bfd7a7f9370cbc30fc91d82e7978a337d51de22c17bed4afa425c60cf0dc"}, - {file = "dbus_fast-2.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f6fa6e61c1b1c7059928af1d0fab864cb34d463a07c1f7df3b20c8a7a94e9d45"}, - {file = "dbus_fast-2.24.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:64b901364fe5351033784a87e6d4fbdc6684656e89e701bbd01be76fc8e852a6"}, - {file = "dbus_fast-2.24.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:0150b93244fc36f97ce166f0d671251e657fbd12e0c5e179507958f1845ba232"}, - {file = "dbus_fast-2.24.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:837b1cd3fb445454f812f33f61e4657568a57d0ebaabe196f61484aff865a457"}, - {file = "dbus_fast-2.24.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a3e2338e8d06488ed9ec764c53a25c041322dd94ee6cd519fc028c8880666909"}, - {file = "dbus_fast-2.24.4-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8cb67a94f9a9c27e18bb7dffd7e6cf6e16bce80a8850ca2d172e9ccb5d79f941"}, - {file = "dbus_fast-2.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c5361ee5726237f3308c57a4f09eaea242a3b9cb3125b0481f9e922a000fe5e"}, - {file = "dbus_fast-2.24.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d980c6214e3fdf9402bc3ac81af21b3808de29e41a65256ad4e36a590d5e47b6"}, - {file = "dbus_fast-2.24.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6b54971d1a02c753e62bc78431f59ee5db2f2049e9262880be92117cb7419fc"}, - {file = "dbus_fast-2.24.4.tar.gz", hash = "sha256:58f97e8342d6cd11ebb2c8ac959c5bb342eb83e29180528690b323a5a5def41c"}, -] - -[[package]] -name = "distlib" -version = "0.3.9" -description = "Distribution utilities" -optional = false -python-versions = "*" -files = [ - {file = "distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87"}, - {file = "distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403"}, -] - -[[package]] -name = "docutils" -version = "0.21.2" -description = "Docutils -- Python Documentation Utilities" -optional = false -python-versions = ">=3.9" -files = [ - {file = "docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2"}, - {file = "docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f"}, -] - -[[package]] -name = "exceptiongroup" -version = "1.2.2" -description = "Backport of PEP 654 (exception groups)" -optional = false -python-versions = ">=3.7" -files = [ - {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, - {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, -] - -[package.extras] -test = ["pytest (>=6)"] - -[[package]] -name = "filelock" -version = "3.16.1" -description = "A platform independent file lock." -optional = false -python-versions = ">=3.8" -files = [ - {file = "filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0"}, - {file = "filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435"}, -] - -[package.extras] -docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4.1)"] -testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.2)", "pytest (>=8.3.3)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.4)"] -typing = ["typing-extensions (>=4.12.2)"] - -[[package]] -name = "frozenlist" -version = "1.5.0" -description = "A list-like structure which implements collections.abc.MutableSequence" -optional = false -python-versions = ">=3.8" -files = [ - {file = "frozenlist-1.5.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5b6a66c18b5b9dd261ca98dffcb826a525334b2f29e7caa54e182255c5f6a65a"}, - {file = "frozenlist-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d1b3eb7b05ea246510b43a7e53ed1653e55c2121019a97e60cad7efb881a97bb"}, - {file = "frozenlist-1.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:15538c0cbf0e4fa11d1e3a71f823524b0c46299aed6e10ebb4c2089abd8c3bec"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e79225373c317ff1e35f210dd5f1344ff31066ba8067c307ab60254cd3a78ad5"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9272fa73ca71266702c4c3e2d4a28553ea03418e591e377a03b8e3659d94fa76"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:498524025a5b8ba81695761d78c8dd7382ac0b052f34e66939c42df860b8ff17"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:92b5278ed9d50fe610185ecd23c55d8b307d75ca18e94c0e7de328089ac5dcba"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f3c8c1dacd037df16e85227bac13cca58c30da836c6f936ba1df0c05d046d8d"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f2ac49a9bedb996086057b75bf93538240538c6d9b38e57c82d51f75a73409d2"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e66cc454f97053b79c2ab09c17fbe3c825ea6b4de20baf1be28919460dd7877f"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:5a3ba5f9a0dfed20337d3e966dc359784c9f96503674c2faf015f7fe8e96798c"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6321899477db90bdeb9299ac3627a6a53c7399c8cd58d25da094007402b039ab"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:76e4753701248476e6286f2ef492af900ea67d9706a0155335a40ea21bf3b2f5"}, - {file = "frozenlist-1.5.0-cp310-cp310-win32.whl", hash = "sha256:977701c081c0241d0955c9586ffdd9ce44f7a7795df39b9151cd9a6fd0ce4cfb"}, - {file = "frozenlist-1.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:189f03b53e64144f90990d29a27ec4f7997d91ed3d01b51fa39d2dbe77540fd4"}, - {file = "frozenlist-1.5.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fd74520371c3c4175142d02a976aee0b4cb4a7cc912a60586ffd8d5929979b30"}, - {file = "frozenlist-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2f3f7a0fbc219fb4455264cae4d9f01ad41ae6ee8524500f381de64ffaa077d5"}, - {file = "frozenlist-1.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f47c9c9028f55a04ac254346e92977bf0f166c483c74b4232bee19a6697e4778"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0996c66760924da6e88922756d99b47512a71cfd45215f3570bf1e0b694c206a"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a2fe128eb4edeabe11896cb6af88fca5346059f6c8d807e3b910069f39157869"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a8ea951bbb6cacd492e3948b8da8c502a3f814f5d20935aae74b5df2b19cf3d"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de537c11e4aa01d37db0d403b57bd6f0546e71a82347a97c6a9f0dcc532b3a45"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c2623347b933fcb9095841f1cc5d4ff0b278addd743e0e966cb3d460278840d"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cee6798eaf8b1416ef6909b06f7dc04b60755206bddc599f52232606e18179d3"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f5f9da7f5dbc00a604fe74aa02ae7c98bcede8a3b8b9666f9f86fc13993bc71a"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:90646abbc7a5d5c7c19461d2e3eeb76eb0b204919e6ece342feb6032c9325ae9"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:bdac3c7d9b705d253b2ce370fde941836a5f8b3c5c2b8fd70940a3ea3af7f4f2"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:03d33c2ddbc1816237a67f66336616416e2bbb6beb306e5f890f2eb22b959cdf"}, - {file = "frozenlist-1.5.0-cp311-cp311-win32.whl", hash = "sha256:237f6b23ee0f44066219dae14c70ae38a63f0440ce6750f868ee08775073f942"}, - {file = "frozenlist-1.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:0cc974cc93d32c42e7b0f6cf242a6bd941c57c61b618e78b6c0a96cb72788c1d"}, - {file = "frozenlist-1.5.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:31115ba75889723431aa9a4e77d5f398f5cf976eea3bdf61749731f62d4a4a21"}, - {file = "frozenlist-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7437601c4d89d070eac8323f121fcf25f88674627505334654fd027b091db09d"}, - {file = "frozenlist-1.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7948140d9f8ece1745be806f2bfdf390127cf1a763b925c4a805c603df5e697e"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:feeb64bc9bcc6b45c6311c9e9b99406660a9c05ca8a5b30d14a78555088b0b3a"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:683173d371daad49cffb8309779e886e59c2f369430ad28fe715f66d08d4ab1a"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7d57d8f702221405a9d9b40f9da8ac2e4a1a8b5285aac6100f3393675f0a85ee"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30c72000fbcc35b129cb09956836c7d7abf78ab5416595e4857d1cae8d6251a6"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:000a77d6034fbad9b6bb880f7ec073027908f1b40254b5d6f26210d2dab1240e"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5d7f5a50342475962eb18b740f3beecc685a15b52c91f7d975257e13e029eca9"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:87f724d055eb4785d9be84e9ebf0f24e392ddfad00b3fe036e43f489fafc9039"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:6e9080bb2fb195a046e5177f10d9d82b8a204c0736a97a153c2466127de87784"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9b93d7aaa36c966fa42efcaf716e6b3900438632a626fb09c049f6a2f09fc631"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:52ef692a4bc60a6dd57f507429636c2af8b6046db8b31b18dac02cbc8f507f7f"}, - {file = "frozenlist-1.5.0-cp312-cp312-win32.whl", hash = "sha256:29d94c256679247b33a3dc96cce0f93cbc69c23bf75ff715919332fdbb6a32b8"}, - {file = "frozenlist-1.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:8969190d709e7c48ea386db202d708eb94bdb29207a1f269bab1196ce0dcca1f"}, - {file = "frozenlist-1.5.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7a1a048f9215c90973402e26c01d1cff8a209e1f1b53f72b95c13db61b00f953"}, - {file = "frozenlist-1.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dd47a5181ce5fcb463b5d9e17ecfdb02b678cca31280639255ce9d0e5aa67af0"}, - {file = "frozenlist-1.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1431d60b36d15cda188ea222033eec8e0eab488f39a272461f2e6d9e1a8e63c2"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6482a5851f5d72767fbd0e507e80737f9c8646ae7fd303def99bfe813f76cf7f"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44c49271a937625619e862baacbd037a7ef86dd1ee215afc298a417ff3270608"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:12f78f98c2f1c2429d42e6a485f433722b0061d5c0b0139efa64f396efb5886b"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce3aa154c452d2467487765e3adc730a8c153af77ad84096bc19ce19a2400840"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b7dc0c4338e6b8b091e8faf0db3168a37101943e687f373dce00959583f7439"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:45e0896250900b5aa25180f9aec243e84e92ac84bd4a74d9ad4138ef3f5c97de"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:561eb1c9579d495fddb6da8959fd2a1fca2c6d060d4113f5844b433fc02f2641"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:df6e2f325bfee1f49f81aaac97d2aa757c7646534a06f8f577ce184afe2f0a9e"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:140228863501b44b809fb39ec56b5d4071f4d0aa6d216c19cbb08b8c5a7eadb9"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7707a25d6a77f5d27ea7dc7d1fc608aa0a478193823f88511ef5e6b8a48f9d03"}, - {file = "frozenlist-1.5.0-cp313-cp313-win32.whl", hash = "sha256:31a9ac2b38ab9b5a8933b693db4939764ad3f299fcaa931a3e605bc3460e693c"}, - {file = "frozenlist-1.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:11aabdd62b8b9c4b84081a3c246506d1cddd2dd93ff0ad53ede5defec7886b28"}, - {file = "frozenlist-1.5.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:dd94994fc91a6177bfaafd7d9fd951bc8689b0a98168aa26b5f543868548d3ca"}, - {file = "frozenlist-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2d0da8bbec082bf6bf18345b180958775363588678f64998c2b7609e34719b10"}, - {file = "frozenlist-1.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:73f2e31ea8dd7df61a359b731716018c2be196e5bb3b74ddba107f694fbd7604"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:828afae9f17e6de596825cf4228ff28fbdf6065974e5ac1410cecc22f699d2b3"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1577515d35ed5649d52ab4319db757bb881ce3b2b796d7283e6634d99ace307"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2150cc6305a2c2ab33299453e2968611dacb970d2283a14955923062c8d00b10"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a72b7a6e3cd2725eff67cd64c8f13335ee18fc3c7befc05aed043d24c7b9ccb9"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c16d2fa63e0800723139137d667e1056bee1a1cf7965153d2d104b62855e9b99"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:17dcc32fc7bda7ce5875435003220a457bcfa34ab7924a49a1c19f55b6ee185c"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:97160e245ea33d8609cd2b8fd997c850b56db147a304a262abc2b3be021a9171"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f1e6540b7fa044eee0bb5111ada694cf3dc15f2b0347ca125ee9ca984d5e9e6e"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:91d6c171862df0a6c61479d9724f22efb6109111017c87567cfeb7b5d1449fdf"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:c1fac3e2ace2eb1052e9f7c7db480818371134410e1f5c55d65e8f3ac6d1407e"}, - {file = "frozenlist-1.5.0-cp38-cp38-win32.whl", hash = "sha256:b97f7b575ab4a8af9b7bc1d2ef7f29d3afee2226bd03ca3875c16451ad5a7723"}, - {file = "frozenlist-1.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:374ca2dabdccad8e2a76d40b1d037f5bd16824933bf7bcea3e59c891fd4a0923"}, - {file = "frozenlist-1.5.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9bbcdfaf4af7ce002694a4e10a0159d5a8d20056a12b05b45cea944a4953f972"}, - {file = "frozenlist-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1893f948bf6681733aaccf36c5232c231e3b5166d607c5fa77773611df6dc336"}, - {file = "frozenlist-1.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2b5e23253bb709ef57a8e95e6ae48daa9ac5f265637529e4ce6b003a37b2621f"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f253985bb515ecd89629db13cb58d702035ecd8cfbca7d7a7e29a0e6d39af5f"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:04a5c6babd5e8fb7d3c871dc8b321166b80e41b637c31a995ed844a6139942b6"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fe0f1c29ba24ba6ff6abf688cb0b7cf1efab6b6aa6adc55441773c252f7411"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:226d72559fa19babe2ccd920273e767c96a49b9d3d38badd7c91a0fdeda8ea08"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15b731db116ab3aedec558573c1a5eec78822b32292fe4f2f0345b7f697745c2"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:366d8f93e3edfe5a918c874702f78faac300209a4d5bf38352b2c1bdc07a766d"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1b96af8c582b94d381a1c1f51ffaedeb77c821c690ea5f01da3d70a487dd0a9b"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:c03eff4a41bd4e38415cbed054bbaff4a075b093e2394b6915dca34a40d1e38b"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:50cf5e7ee9b98f22bdecbabf3800ae78ddcc26e4a435515fc72d97903e8488e0"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1e76bfbc72353269c44e0bc2cfe171900fbf7f722ad74c9a7b638052afe6a00c"}, - {file = "frozenlist-1.5.0-cp39-cp39-win32.whl", hash = "sha256:666534d15ba8f0fda3f53969117383d5dc021266b3c1a42c9ec4855e4b58b9d3"}, - {file = "frozenlist-1.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:5c28f4b5dbef8a0d8aad0d4de24d1e9e981728628afaf4ea0792f5d0939372f0"}, - {file = "frozenlist-1.5.0-py3-none-any.whl", hash = "sha256:d994863bba198a4a518b467bb971c56e1db3f180a25c6cf7bb1949c267f748c3"}, - {file = "frozenlist-1.5.0.tar.gz", hash = "sha256:81d5af29e61b9c8348e876d442253723928dce6433e0e76cd925cd83f1b4b817"}, -] - -[[package]] -name = "identify" -version = "2.6.5" -description = "File identification library for Python" -optional = false -python-versions = ">=3.9" -files = [ - {file = "identify-2.6.5-py2.py3-none-any.whl", hash = "sha256:14181a47091eb75b337af4c23078c9d09225cd4c48929f521f3bf16b09d02566"}, - {file = "identify-2.6.5.tar.gz", hash = "sha256:c10b33f250e5bba374fae86fb57f3adcebf1161bce7cdf92031915fd480c13bc"}, -] - -[package.extras] -license = ["ukkonen"] - -[[package]] -name = "idna" -version = "3.10" -description = "Internationalized Domain Names in Applications (IDNA)" -optional = false -python-versions = ">=3.6" -files = [ - {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, - {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, -] - -[package.extras] -all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] - -[[package]] -name = "imagesize" -version = "1.4.1" -description = "Getting image size from png/jpeg/jpeg2000/gif file" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" -files = [ - {file = "imagesize-1.4.1-py2.py3-none-any.whl", hash = "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b"}, - {file = "imagesize-1.4.1.tar.gz", hash = "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a"}, -] - -[[package]] -name = "importlib-metadata" -version = "8.5.0" -description = "Read metadata from Python packages" -optional = false -python-versions = ">=3.8" -files = [ - {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, - {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, -] - -[package.dependencies] -zipp = ">=3.20" - -[package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] -cover = ["pytest-cov"] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -enabler = ["pytest-enabler (>=2.2)"] -perf = ["ipython"] -test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] -type = ["pytest-mypy"] - -[[package]] -name = "iniconfig" -version = "2.0.0" -description = "brain-dead simple config-ini parsing" -optional = false -python-versions = ">=3.7" -files = [ - {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, - {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, -] - -[[package]] -name = "jinja2" -version = "3.1.5" -description = "A very fast and expressive template engine." -optional = false -python-versions = ">=3.7" -files = [ - {file = "jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb"}, - {file = "jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb"}, -] - -[package.dependencies] -MarkupSafe = ">=2.0" - -[package.extras] -i18n = ["Babel (>=2.7)"] - -[[package]] -name = "markupsafe" -version = "3.0.2" -description = "Safely add untrusted strings to HTML/XML markup." -optional = false -python-versions = ">=3.9" -files = [ - {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50"}, - {file = "MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d"}, - {file = "MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30"}, - {file = "MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1"}, - {file = "MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6"}, - {file = "MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f"}, - {file = "MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a"}, - {file = "markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0"}, -] - -[[package]] -name = "multidict" -version = "6.1.0" -description = "multidict implementation" -optional = false -python-versions = ">=3.8" -files = [ - {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3380252550e372e8511d49481bd836264c009adb826b23fefcc5dd3c69692f60"}, - {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:99f826cbf970077383d7de805c0681799491cb939c25450b9b5b3ced03ca99f1"}, - {file = "multidict-6.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a114d03b938376557927ab23f1e950827c3b893ccb94b62fd95d430fd0e5cf53"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1c416351ee6271b2f49b56ad7f308072f6f44b37118d69c2cad94f3fa8a40d5"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6b5d83030255983181005e6cfbac1617ce9746b219bc2aad52201ad121226581"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3e97b5e938051226dc025ec80980c285b053ffb1e25a3db2a3aa3bc046bf7f56"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d618649d4e70ac6efcbba75be98b26ef5078faad23592f9b51ca492953012429"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10524ebd769727ac77ef2278390fb0068d83f3acb7773792a5080f2b0abf7748"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ff3827aef427c89a25cc96ded1759271a93603aba9fb977a6d264648ebf989db"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:06809f4f0f7ab7ea2cabf9caca7d79c22c0758b58a71f9d32943ae13c7ace056"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f179dee3b863ab1c59580ff60f9d99f632f34ccb38bf67a33ec6b3ecadd0fd76"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:aaed8b0562be4a0876ee3b6946f6869b7bcdb571a5d1496683505944e268b160"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3c8b88a2ccf5493b6c8da9076fb151ba106960a2df90c2633f342f120751a9e7"}, - {file = "multidict-6.1.0-cp310-cp310-win32.whl", hash = "sha256:4a9cb68166a34117d6646c0023c7b759bf197bee5ad4272f420a0141d7eb03a0"}, - {file = "multidict-6.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:20b9b5fbe0b88d0bdef2012ef7dee867f874b72528cf1d08f1d59b0e3850129d"}, - {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3efe2c2cb5763f2f1b275ad2bf7a287d3f7ebbef35648a9726e3b69284a4f3d6"}, - {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7053d3b0353a8b9de430a4f4b4268ac9a4fb3481af37dfe49825bf45ca24156"}, - {file = "multidict-6.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:27e5fc84ccef8dfaabb09d82b7d179c7cf1a3fbc8a966f8274fcb4ab2eb4cadb"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e2b90b43e696f25c62656389d32236e049568b39320e2735d51f08fd362761b"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d83a047959d38a7ff552ff94be767b7fd79b831ad1cd9920662db05fec24fe72"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d1a9dd711d0877a1ece3d2e4fea11a8e75741ca21954c919406b44e7cf971304"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec2abea24d98246b94913b76a125e855eb5c434f7c46546046372fe60f666351"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4867cafcbc6585e4b678876c489b9273b13e9fff9f6d6d66add5e15d11d926cb"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5b48204e8d955c47c55b72779802b219a39acc3ee3d0116d5080c388970b76e3"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d8fff389528cad1618fb4b26b95550327495462cd745d879a8c7c2115248e399"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a7a9541cd308eed5e30318430a9c74d2132e9a8cb46b901326272d780bf2d423"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:da1758c76f50c39a2efd5e9859ce7d776317eb1dd34317c8152ac9251fc574a3"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c943a53e9186688b45b323602298ab727d8865d8c9ee0b17f8d62d14b56f0753"}, - {file = "multidict-6.1.0-cp311-cp311-win32.whl", hash = "sha256:90f8717cb649eea3504091e640a1b8568faad18bd4b9fcd692853a04475a4b80"}, - {file = "multidict-6.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:82176036e65644a6cc5bd619f65f6f19781e8ec2e5330f51aa9ada7504cc1926"}, - {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b04772ed465fa3cc947db808fa306d79b43e896beb677a56fb2347ca1a49c1fa"}, - {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6180c0ae073bddeb5a97a38c03f30c233e0a4d39cd86166251617d1bbd0af436"}, - {file = "multidict-6.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:071120490b47aa997cca00666923a83f02c7fbb44f71cf7f136df753f7fa8761"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50b3a2710631848991d0bf7de077502e8994c804bb805aeb2925a981de58ec2e"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b58c621844d55e71c1b7f7c498ce5aa6985d743a1a59034c57a905b3f153c1ef"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55b6d90641869892caa9ca42ff913f7ff1c5ece06474fbd32fb2cf6834726c95"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b820514bfc0b98a30e3d85462084779900347e4d49267f747ff54060cc33925"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10a9b09aba0c5b48c53761b7c720aaaf7cf236d5fe394cd399c7ba662d5f9966"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e16bf3e5fc9f44632affb159d30a437bfe286ce9e02754759be5536b169b305"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76f364861c3bfc98cbbcbd402d83454ed9e01a5224bb3a28bf70002a230f73e2"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:820c661588bd01a0aa62a1283f20d2be4281b086f80dad9e955e690c75fb54a2"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0e5f362e895bc5b9e67fe6e4ded2492d8124bdf817827f33c5b46c2fe3ffaca6"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ec660d19bbc671e3a6443325f07263be452c453ac9e512f5eb935e7d4ac28b3"}, - {file = "multidict-6.1.0-cp312-cp312-win32.whl", hash = "sha256:58130ecf8f7b8112cdb841486404f1282b9c86ccb30d3519faf301b2e5659133"}, - {file = "multidict-6.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:188215fc0aafb8e03341995e7c4797860181562380f81ed0a87ff455b70bf1f1"}, - {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:d569388c381b24671589335a3be6e1d45546c2988c2ebe30fdcada8457a31008"}, - {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:052e10d2d37810b99cc170b785945421141bf7bb7d2f8799d431e7db229c385f"}, - {file = "multidict-6.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f90c822a402cb865e396a504f9fc8173ef34212a342d92e362ca498cad308e28"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b225d95519a5bf73860323e633a664b0d85ad3d5bede6d30d95b35d4dfe8805b"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:23bfd518810af7de1116313ebd9092cb9aa629beb12f6ed631ad53356ed6b86c"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c09fcfdccdd0b57867577b719c69e347a436b86cd83747f179dbf0cc0d4c1f3"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf6bea52ec97e95560af5ae576bdac3aa3aae0b6758c6efa115236d9e07dae44"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57feec87371dbb3520da6192213c7d6fc892d5589a93db548331954de8248fd2"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0c3f390dc53279cbc8ba976e5f8035eab997829066756d811616b652b00a23a3"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:59bfeae4b25ec05b34f1956eaa1cb38032282cd4dfabc5056d0a1ec4d696d3aa"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b2f59caeaf7632cc633b5cf6fc449372b83bbdf0da4ae04d5be36118e46cc0aa"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:37bb93b2178e02b7b618893990941900fd25b6b9ac0fa49931a40aecdf083fe4"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4e9f48f58c2c523d5a06faea47866cd35b32655c46b443f163d08c6d0ddb17d6"}, - {file = "multidict-6.1.0-cp313-cp313-win32.whl", hash = "sha256:3a37ffb35399029b45c6cc33640a92bef403c9fd388acce75cdc88f58bd19a81"}, - {file = "multidict-6.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:e9aa71e15d9d9beaad2c6b9319edcdc0a49a43ef5c0a4c8265ca9ee7d6c67774"}, - {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:db7457bac39421addd0c8449933ac32d8042aae84a14911a757ae6ca3eef1392"}, - {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d094ddec350a2fb899fec68d8353c78233debde9b7d8b4beeafa70825f1c281a"}, - {file = "multidict-6.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5845c1fd4866bb5dd3125d89b90e57ed3138241540897de748cdf19de8a2fca2"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9079dfc6a70abe341f521f78405b8949f96db48da98aeb43f9907f342f627cdc"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3914f5aaa0f36d5d60e8ece6a308ee1c9784cd75ec8151062614657a114c4478"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c08be4f460903e5a9d0f76818db3250f12e9c344e79314d1d570fc69d7f4eae4"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d093be959277cb7dee84b801eb1af388b6ad3ca6a6b6bf1ed7585895789d027d"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3702ea6872c5a2a4eeefa6ffd36b042e9773f05b1f37ae3ef7264b1163c2dcf6"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:2090f6a85cafc5b2db085124d752757c9d251548cedabe9bd31afe6363e0aff2"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:f67f217af4b1ff66c68a87318012de788dd95fcfeb24cc889011f4e1c7454dfd"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:189f652a87e876098bbc67b4da1049afb5f5dfbaa310dd67c594b01c10388db6"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:6bb5992037f7a9eff7991ebe4273ea7f51f1c1c511e6a2ce511d0e7bdb754492"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f4c2b9e770c4e393876e35a7046879d195cd123b4f116d299d442b335bcd"}, - {file = "multidict-6.1.0-cp38-cp38-win32.whl", hash = "sha256:e27bbb6d14416713a8bd7aaa1313c0fc8d44ee48d74497a0ff4c3a1b6ccb5167"}, - {file = "multidict-6.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:22f3105d4fb15c8f57ff3959a58fcab6ce36814486500cd7485651230ad4d4ef"}, - {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:4e18b656c5e844539d506a0a06432274d7bd52a7487e6828c63a63d69185626c"}, - {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a185f876e69897a6f3325c3f19f26a297fa058c5e456bfcff8015e9a27e83ae1"}, - {file = "multidict-6.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ab7c4ceb38d91570a650dba194e1ca87c2b543488fe9309b4212694174fd539c"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e617fb6b0b6953fffd762669610c1c4ffd05632c138d61ac7e14ad187870669c"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:16e5f4bf4e603eb1fdd5d8180f1a25f30056f22e55ce51fb3d6ad4ab29f7d96f"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f4c035da3f544b1882bac24115f3e2e8760f10a0107614fc9839fd232200b875"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:957cf8e4b6e123a9eea554fa7ebc85674674b713551de587eb318a2df3e00255"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:483a6aea59cb89904e1ceabd2b47368b5600fb7de78a6e4a2c2987b2d256cf30"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:87701f25a2352e5bf7454caa64757642734da9f6b11384c1f9d1a8e699758057"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:682b987361e5fd7a139ed565e30d81fd81e9629acc7d925a205366877d8c8657"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce2186a7df133a9c895dea3331ddc5ddad42cdd0d1ea2f0a51e5d161e4762f28"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9f636b730f7e8cb19feb87094949ba54ee5357440b9658b2a32a5ce4bce53972"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:73eae06aa53af2ea5270cc066dcaf02cc60d2994bbb2c4ef5764949257d10f43"}, - {file = "multidict-6.1.0-cp39-cp39-win32.whl", hash = "sha256:1ca0083e80e791cffc6efce7660ad24af66c8d4079d2a750b29001b53ff59ada"}, - {file = "multidict-6.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:aa466da5b15ccea564bdab9c89175c762bc12825f4659c11227f515cee76fa4a"}, - {file = "multidict-6.1.0-py3-none-any.whl", hash = "sha256:48e171e52d1c4d33888e529b999e5900356b9ae588c2f09a52dcefb158b27506"}, - {file = "multidict-6.1.0.tar.gz", hash = "sha256:22ae2ebf9b0c69d206c003e2f6a914ea33f0a932d4aa16f236afc049d9958f4a"}, -] - -[package.dependencies] -typing-extensions = {version = ">=4.1.0", markers = "python_version < \"3.11\""} - -[[package]] -name = "nodeenv" -version = "1.9.1" -description = "Node.js virtual environment builder" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -files = [ - {file = "nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9"}, - {file = "nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f"}, -] - -[[package]] -name = "packaging" -version = "24.2" -description = "Core utilities for Python packages" -optional = false -python-versions = ">=3.8" -files = [ - {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, - {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, -] - -[[package]] -name = "platformdirs" -version = "4.3.6" -description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." -optional = false -python-versions = ">=3.8" -files = [ - {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, - {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, -] - -[package.extras] -docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] -test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] -type = ["mypy (>=1.11.2)"] - -[[package]] -name = "pluggy" -version = "1.5.0" -description = "plugin and hook calling mechanisms for python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, - {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, -] - -[package.extras] -dev = ["pre-commit", "tox"] -testing = ["pytest", "pytest-benchmark"] - -[[package]] -name = "pre-commit" -version = "3.8.0" -description = "A framework for managing and maintaining multi-language pre-commit hooks." -optional = false -python-versions = ">=3.9" -files = [ - {file = "pre_commit-3.8.0-py2.py3-none-any.whl", hash = "sha256:9a90a53bf82fdd8778d58085faf8d83df56e40dfe18f45b19446e26bf1b3a63f"}, - {file = "pre_commit-3.8.0.tar.gz", hash = "sha256:8bb6494d4a20423842e198980c9ecf9f96607a07ea29549e180eef9ae80fe7af"}, -] - -[package.dependencies] -cfgv = ">=2.0.0" -identify = ">=1.0.0" -nodeenv = ">=0.11.1" -pyyaml = ">=5.1" -virtualenv = ">=20.10.0" - -[[package]] -name = "propcache" -version = "0.2.1" -description = "Accelerated property cache" -optional = false -python-versions = ">=3.9" -files = [ - {file = "propcache-0.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6b3f39a85d671436ee3d12c017f8fdea38509e4f25b28eb25877293c98c243f6"}, - {file = "propcache-0.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d51fbe4285d5db5d92a929e3e21536ea3dd43732c5b177c7ef03f918dff9f2"}, - {file = "propcache-0.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6445804cf4ec763dc70de65a3b0d9954e868609e83850a47ca4f0cb64bd79fea"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9479aa06a793c5aeba49ce5c5692ffb51fcd9a7016e017d555d5e2b0045d212"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9631c5e8b5b3a0fda99cb0d29c18133bca1e18aea9effe55adb3da1adef80d3"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3156628250f46a0895f1f36e1d4fbe062a1af8718ec3ebeb746f1d23f0c5dc4d"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b6fb63ae352e13748289f04f37868099e69dba4c2b3e271c46061e82c745634"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:887d9b0a65404929641a9fabb6452b07fe4572b269d901d622d8a34a4e9043b2"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a96dc1fa45bd8c407a0af03b2d5218392729e1822b0c32e62c5bf7eeb5fb3958"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:a7e65eb5c003a303b94aa2c3852ef130230ec79e349632d030e9571b87c4698c"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:999779addc413181912e984b942fbcc951be1f5b3663cd80b2687758f434c583"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:19a0f89a7bb9d8048d9c4370c9c543c396e894c76be5525f5e1ad287f1750ddf"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1ac2f5fe02fa75f56e1ad473f1175e11f475606ec9bd0be2e78e4734ad575034"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:574faa3b79e8ebac7cb1d7930f51184ba1ccf69adfdec53a12f319a06030a68b"}, - {file = "propcache-0.2.1-cp310-cp310-win32.whl", hash = "sha256:03ff9d3f665769b2a85e6157ac8b439644f2d7fd17615a82fa55739bc97863f4"}, - {file = "propcache-0.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:2d3af2e79991102678f53e0dbf4c35de99b6b8b58f29a27ca0325816364caaba"}, - {file = "propcache-0.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1ffc3cca89bb438fb9c95c13fc874012f7b9466b89328c3c8b1aa93cdcfadd16"}, - {file = "propcache-0.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f174bbd484294ed9fdf09437f889f95807e5f229d5d93588d34e92106fbf6717"}, - {file = "propcache-0.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:70693319e0b8fd35dd863e3e29513875eb15c51945bf32519ef52927ca883bc3"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b480c6a4e1138e1aa137c0079b9b6305ec6dcc1098a8ca5196283e8a49df95a9"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d27b84d5880f6d8aa9ae3edb253c59d9f6642ffbb2c889b78b60361eed449787"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:857112b22acd417c40fa4595db2fe28ab900c8c5fe4670c7989b1c0230955465"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf6c4150f8c0e32d241436526f3c3f9cbd34429492abddbada2ffcff506c51af"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:66d4cfda1d8ed687daa4bc0274fcfd5267873db9a5bc0418c2da19273040eeb7"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c2f992c07c0fca81655066705beae35fc95a2fa7366467366db627d9f2ee097f"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:4a571d97dbe66ef38e472703067021b1467025ec85707d57e78711c085984e54"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:bb6178c241278d5fe853b3de743087be7f5f4c6f7d6d22a3b524d323eecec505"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:ad1af54a62ffe39cf34db1aa6ed1a1873bd548f6401db39d8e7cd060b9211f82"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e7048abd75fe40712005bcfc06bb44b9dfcd8e101dda2ecf2f5aa46115ad07ca"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:160291c60081f23ee43d44b08a7e5fb76681221a8e10b3139618c5a9a291b84e"}, - {file = "propcache-0.2.1-cp311-cp311-win32.whl", hash = "sha256:819ce3b883b7576ca28da3861c7e1a88afd08cc8c96908e08a3f4dd64a228034"}, - {file = "propcache-0.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:edc9fc7051e3350643ad929df55c451899bb9ae6d24998a949d2e4c87fb596d3"}, - {file = "propcache-0.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:081a430aa8d5e8876c6909b67bd2d937bfd531b0382d3fdedb82612c618bc41a"}, - {file = "propcache-0.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d2ccec9ac47cf4e04897619c0e0c1a48c54a71bdf045117d3a26f80d38ab1fb0"}, - {file = "propcache-0.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:14d86fe14b7e04fa306e0c43cdbeebe6b2c2156a0c9ce56b815faacc193e320d"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:049324ee97bb67285b49632132db351b41e77833678432be52bdd0289c0e05e4"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1cd9a1d071158de1cc1c71a26014dcdfa7dd3d5f4f88c298c7f90ad6f27bb46d"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98110aa363f1bb4c073e8dcfaefd3a5cea0f0834c2aab23dda657e4dab2f53b5"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:647894f5ae99c4cf6bb82a1bb3a796f6e06af3caa3d32e26d2350d0e3e3faf24"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfd3223c15bebe26518d58ccf9a39b93948d3dcb3e57a20480dfdd315356baff"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d71264a80f3fcf512eb4f18f59423fe82d6e346ee97b90625f283df56aee103f"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:e73091191e4280403bde6c9a52a6999d69cdfde498f1fdf629105247599b57ec"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3935bfa5fede35fb202c4b569bb9c042f337ca4ff7bd540a0aa5e37131659348"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:f508b0491767bb1f2b87fdfacaba5f7eddc2f867740ec69ece6d1946d29029a6"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1672137af7c46662a1c2be1e8dc78cb6d224319aaa40271c9257d886be4363a6"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b74c261802d3d2b85c9df2dfb2fa81b6f90deeef63c2db9f0e029a3cac50b518"}, - {file = "propcache-0.2.1-cp312-cp312-win32.whl", hash = "sha256:d09c333d36c1409d56a9d29b3a1b800a42c76a57a5a8907eacdbce3f18768246"}, - {file = "propcache-0.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:c214999039d4f2a5b2073ac506bba279945233da8c786e490d411dfc30f855c1"}, - {file = "propcache-0.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aca405706e0b0a44cc6bfd41fbe89919a6a56999157f6de7e182a990c36e37bc"}, - {file = "propcache-0.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:12d1083f001ace206fe34b6bdc2cb94be66d57a850866f0b908972f90996b3e9"}, - {file = "propcache-0.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d93f3307ad32a27bda2e88ec81134b823c240aa3abb55821a8da553eed8d9439"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba278acf14471d36316159c94a802933d10b6a1e117b8554fe0d0d9b75c9d536"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4e6281aedfca15301c41f74d7005e6e3f4ca143584ba696ac69df4f02f40d629"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5b750a8e5a1262434fb1517ddf64b5de58327f1adc3524a5e44c2ca43305eb0b"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf72af5e0fb40e9babf594308911436c8efde3cb5e75b6f206c34ad18be5c052"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b2d0a12018b04f4cb820781ec0dffb5f7c7c1d2a5cd22bff7fb055a2cb19ebce"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e800776a79a5aabdb17dcc2346a7d66d0777e942e4cd251defeb084762ecd17d"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:4160d9283bd382fa6c0c2b5e017acc95bc183570cd70968b9202ad6d8fc48dce"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:30b43e74f1359353341a7adb783c8f1b1c676367b011709f466f42fda2045e95"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:58791550b27d5488b1bb52bc96328456095d96206a250d28d874fafe11b3dfaf"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:0f022d381747f0dfe27e99d928e31bc51a18b65bb9e481ae0af1380a6725dd1f"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:297878dc9d0a334358f9b608b56d02e72899f3b8499fc6044133f0d319e2ec30"}, - {file = "propcache-0.2.1-cp313-cp313-win32.whl", hash = "sha256:ddfab44e4489bd79bda09d84c430677fc7f0a4939a73d2bba3073036f487a0a6"}, - {file = "propcache-0.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:556fc6c10989f19a179e4321e5d678db8eb2924131e64652a51fe83e4c3db0e1"}, - {file = "propcache-0.2.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6a9a8c34fb7bb609419a211e59da8887eeca40d300b5ea8e56af98f6fbbb1541"}, - {file = "propcache-0.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ae1aa1cd222c6d205853b3013c69cd04515f9d6ab6de4b0603e2e1c33221303e"}, - {file = "propcache-0.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:accb6150ce61c9c4b7738d45550806aa2b71c7668c6942f17b0ac182b6142fd4"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5eee736daafa7af6d0a2dc15cc75e05c64f37fc37bafef2e00d77c14171c2097"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7a31fc1e1bd362874863fdeed71aed92d348f5336fd84f2197ba40c59f061bd"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba4cfa1052819d16699e1d55d18c92b6e094d4517c41dd231a8b9f87b6fa681"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f089118d584e859c62b3da0892b88a83d611c2033ac410e929cb6754eec0ed16"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:781e65134efaf88feb447e8c97a51772aa75e48b794352f94cb7ea717dedda0d"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31f5af773530fd3c658b32b6bdc2d0838543de70eb9a2156c03e410f7b0d3aae"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:a7a078f5d37bee6690959c813977da5291b24286e7b962e62a94cec31aa5188b"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:cea7daf9fc7ae6687cf1e2c049752f19f146fdc37c2cc376e7d0032cf4f25347"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:8b3489ff1ed1e8315674d0775dc7d2195fb13ca17b3808721b54dbe9fd020faf"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9403db39be1393618dd80c746cb22ccda168efce239c73af13c3763ef56ffc04"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5d97151bc92d2b2578ff7ce779cdb9174337390a535953cbb9452fb65164c587"}, - {file = "propcache-0.2.1-cp39-cp39-win32.whl", hash = "sha256:9caac6b54914bdf41bcc91e7eb9147d331d29235a7c967c150ef5df6464fd1bb"}, - {file = "propcache-0.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:92fc4500fcb33899b05ba73276dfb684a20d31caa567b7cb5252d48f896a91b1"}, - {file = "propcache-0.2.1-py3-none-any.whl", hash = "sha256:52277518d6aae65536e9cea52d4e7fd2f7a66f4aa2d30ed3f2fcea620ace3c54"}, - {file = "propcache-0.2.1.tar.gz", hash = "sha256:3f77ce728b19cb537714499928fe800c3dda29e8d9428778fc7c186da4c09a64"}, -] - -[[package]] -name = "pycparser" -version = "2.22" -description = "C parser in Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc"}, - {file = "pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6"}, -] - -[[package]] -name = "pygments" -version = "2.18.0" -description = "Pygments is a syntax highlighting package written in Python." -optional = false -python-versions = ">=3.8" -files = [ - {file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"}, - {file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"}, -] - -[package.extras] -windows-terminal = ["colorama (>=0.4.6)"] - -[[package]] -name = "pyobjc-core" -version = "10.3.2" -description = "Python<->ObjC Interoperability Module" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pyobjc_core-10.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:acb40672d682851a5c7fd84e5041c4d069b62076168d72591abb5fcc871bb039"}, - {file = "pyobjc_core-10.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:cea5e77659619ad93c782ca07644b6efe7d7ec6f59e46128843a0a87c1af511a"}, - {file = "pyobjc_core-10.3.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:16644a92fb9661de841ba6115e5354db06a1d193a5e239046e840013c7b3874d"}, - {file = "pyobjc_core-10.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:76b8b911d94501dac89821df349b1860bb770dce102a1a293f524b5b09dd9462"}, - {file = "pyobjc_core-10.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:8c6288fdb210b64115760a4504efbc4daffdc390d309e9318eb0e3e3b78d2828"}, - {file = "pyobjc_core-10.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:87901e9f7032f33eb4fa884e407bf2744d5a0791b379bfca783982a02be3f7fb"}, - {file = "pyobjc_core-10.3.2-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:636971ab48a4198ca129e149fe58ccf85a7b4a9b93d27f5ae920d88eb2655431"}, - {file = "pyobjc_core-10.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:48e9ac3af42b2340dae709a8b894f5ef7e5132d8546adcd1797cffcc449dabdc"}, - {file = "pyobjc_core-10.3.2.tar.gz", hash = "sha256:dbf1475d864ce594288ce03e94e3a98dc7f0e4639971eb1e312bdf6661c21e0e"}, -] - -[[package]] -name = "pyobjc-framework-cocoa" -version = "10.3.2" -description = "Wrappers for the Cocoa frameworks on macOS" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pyobjc_framework_Cocoa-10.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:61f44c2adab28fdf3aa3d593c9497a2d9ceb9583ed9814adb48828c385d83ff4"}, - {file = "pyobjc_framework_Cocoa-10.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7caaf8b260e81b27b7b787332846f644b9423bfc1536f6ec24edbde59ab77a87"}, - {file = "pyobjc_framework_Cocoa-10.3.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:c49e99fc4b9e613fb308651b99d52a8a9ae9916c8ef27aa2f5d585b6678a59bf"}, - {file = "pyobjc_framework_Cocoa-10.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f1161b5713f9b9934c12649d73a6749617172e240f9431eff9e22175262fdfda"}, - {file = "pyobjc_framework_Cocoa-10.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:08e48b9ee4eb393447b2b781d16663b954bd10a26927df74f92e924c05568d89"}, - {file = "pyobjc_framework_Cocoa-10.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:7faa448d2038ae0e0287a326d390002e744bb6470e45995e2dbd16c892e4495a"}, - {file = "pyobjc_framework_Cocoa-10.3.2-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:fcd53fee2be9708576617994b107aedc2c40824b648cd51e780e8399c0a447b6"}, - {file = "pyobjc_framework_Cocoa-10.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:838fcf0d10674bde9ff64a3f20c0e188f2dc5e804476d80509b81c4ac1dabc59"}, - {file = "pyobjc_framework_cocoa-10.3.2.tar.gz", hash = "sha256:673968e5435845bef969bfe374f31a1a6dc660c98608d2b84d5cae6eafa5c39d"}, -] - -[package.dependencies] -pyobjc-core = ">=10.3.2" - -[[package]] -name = "pyobjc-framework-corebluetooth" -version = "10.3.2" -description = "Wrappers for the framework CoreBluetooth on macOS" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pyobjc_framework_CoreBluetooth-10.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:af3e2f935a6a7e5b009b4cf63c64899592a7b46c3ddcbc8f2e28848842ef65f4"}, - {file = "pyobjc_framework_CoreBluetooth-10.3.2-cp36-abi3-macosx_10_13_universal2.whl", hash = "sha256:973b78f47c7e2209a475e60bcc7d1b4a87be6645d39b4e8290ee82640e1cc364"}, - {file = "pyobjc_framework_CoreBluetooth-10.3.2-cp36-abi3-macosx_10_9_universal2.whl", hash = "sha256:4bafdf1be15eae48a4878dbbf1bf19877ce28cbbba5baa0267a9564719ee736e"}, - {file = "pyobjc_framework_CoreBluetooth-10.3.2-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:4d7dc7494de66c850bda7b173579df7481dc97046fa229d480fe9bf90b2b9651"}, - {file = "pyobjc_framework_CoreBluetooth-10.3.2-cp36-abi3-macosx_11_0_universal2.whl", hash = "sha256:62e09e730f4d98384f1b6d44718812195602b3c82d5c78e09f60e8a934e7b266"}, - {file = "pyobjc_framework_corebluetooth-10.3.2.tar.gz", hash = "sha256:c0a077bc3a2466271efa382c1e024630bc43cc6f9ab8f3f97431ad08b1ad52bb"}, -] - -[package.dependencies] -pyobjc-core = ">=10.3.2" -pyobjc-framework-Cocoa = ">=10.3.2" - -[[package]] -name = "pyobjc-framework-libdispatch" -version = "10.3.2" -description = "Wrappers for libdispatch on macOS" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pyobjc_framework_libdispatch-10.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:35233a8b1135567c7696087f924e398799467c7f129200b559e8e4fa777af860"}, - {file = "pyobjc_framework_libdispatch-10.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:061f6aa0f88d11d993e6546ec734303cb8979f40ae0f5cd23541236a6b426abd"}, - {file = "pyobjc_framework_libdispatch-10.3.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:6bb528f34538f35e1b79d839dbfc398dd426990e190d9301fe2d811fddc3da62"}, - {file = "pyobjc_framework_libdispatch-10.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1357729d5fded08fbf746834ebeef27bee07d6acb991f3b8366e8f4319d882c4"}, - {file = "pyobjc_framework_libdispatch-10.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:210398f9e1815ceeff49b578bf51c2d6a4a30d4c33f573da322f3d7da1add121"}, - {file = "pyobjc_framework_libdispatch-10.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e7ae5988ac0b369ad40ce5497af71864fac45c289fa52671009b427f03d6871f"}, - {file = "pyobjc_framework_libdispatch-10.3.2-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:f9d51d52dff453a4b19c096171a6cd31dd5e665371c00c1d72d480e1c22cd3d4"}, - {file = "pyobjc_framework_libdispatch-10.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ef755bcabff2ea8db45603a8294818e0eeae85bf0b7b9d59e42f5947a26e33b9"}, - {file = "pyobjc_framework_libdispatch-10.3.2.tar.gz", hash = "sha256:e9f4311fbf8df602852557a98d2a64f37a9d363acf4d75634120251bbc7b7304"}, -] - -[package.dependencies] -pyobjc-core = ">=10.3.2" -pyobjc-framework-Cocoa = ">=10.3.2" - -[[package]] -name = "pyright" -version = "1.1.391" -description = "Command line wrapper for pyright" -optional = false -python-versions = ">=3.7" -files = [ - {file = "pyright-1.1.391-py3-none-any.whl", hash = "sha256:54fa186f8b3e8a55a44ebfa842636635688670c6896dcf6cf4a7fc75062f4d15"}, - {file = "pyright-1.1.391.tar.gz", hash = "sha256:66b2d42cdf5c3cbab05f2f4b76e8bec8aa78e679bfa0b6ad7b923d9e027cadb2"}, -] - -[package.dependencies] -nodeenv = ">=1.6.0" -typing-extensions = ">=4.1" - -[package.extras] -all = ["nodejs-wheel-binaries", "twine (>=3.4.1)"] -dev = ["twine (>=3.4.1)"] -nodejs = ["nodejs-wheel-binaries"] - -[[package]] -name = "pytest" -version = "8.3.4" -description = "pytest: simple powerful testing with Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6"}, - {file = "pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "sys_platform == \"win32\""} -exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} -iniconfig = "*" -packaging = "*" -pluggy = ">=1.5,<2" -tomli = {version = ">=1", markers = "python_version < \"3.11\""} - -[package.extras] -dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] - -[[package]] -name = "pyyaml" -version = "6.0.2" -description = "YAML parser and emitter for Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, - {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, - {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"}, - {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"}, - {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"}, - {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"}, - {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"}, - {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"}, - {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"}, - {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"}, - {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"}, - {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"}, - {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"}, - {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"}, - {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"}, - {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"}, - {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"}, - {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"}, - {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"}, - {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"}, - {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"}, - {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"}, - {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"}, - {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"}, - {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"}, - {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"}, - {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"}, - {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"}, - {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"}, - {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"}, - {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"}, - {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"}, - {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"}, - {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"}, - {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"}, - {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"}, - {file = "PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a"}, - {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5"}, - {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d"}, - {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083"}, - {file = "PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706"}, - {file = "PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a"}, - {file = "PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff"}, - {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"}, - {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"}, - {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"}, - {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"}, - {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"}, - {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"}, - {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"}, - {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"}, - {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"}, - {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, -] - -[[package]] -name = "requests" -version = "2.32.3" -description = "Python HTTP for Humans." -optional = false -python-versions = ">=3.8" -files = [ - {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, - {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, -] - -[package.dependencies] -certifi = ">=2017.4.17" -charset-normalizer = ">=2,<4" -idna = ">=2.5,<4" -urllib3 = ">=1.21.1,<3" - -[package.extras] -socks = ["PySocks (>=1.5.6,!=1.5.7)"] -use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] - -[[package]] -name = "ruff" -version = "0.8.6" -description = "An extremely fast Python linter and code formatter, written in Rust." -optional = false -python-versions = ">=3.7" -files = [ - {file = "ruff-0.8.6-py3-none-linux_armv6l.whl", hash = "sha256:defed167955d42c68b407e8f2e6f56ba52520e790aba4ca707a9c88619e580e3"}, - {file = "ruff-0.8.6-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:54799ca3d67ae5e0b7a7ac234baa657a9c1784b48ec954a094da7c206e0365b1"}, - {file = "ruff-0.8.6-py3-none-macosx_11_0_arm64.whl", hash = "sha256:e88b8f6d901477c41559ba540beeb5a671e14cd29ebd5683903572f4b40a9807"}, - {file = "ruff-0.8.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0509e8da430228236a18a677fcdb0c1f102dd26d5520f71f79b094963322ed25"}, - {file = "ruff-0.8.6-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:91a7ddb221779871cf226100e677b5ea38c2d54e9e2c8ed847450ebbdf99b32d"}, - {file = "ruff-0.8.6-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:248b1fb3f739d01d528cc50b35ee9c4812aa58cc5935998e776bf8ed5b251e75"}, - {file = "ruff-0.8.6-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:bc3c083c50390cf69e7e1b5a5a7303898966be973664ec0c4a4acea82c1d4315"}, - {file = "ruff-0.8.6-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:52d587092ab8df308635762386f45f4638badb0866355b2b86760f6d3c076188"}, - {file = "ruff-0.8.6-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:61323159cf21bc3897674e5adb27cd9e7700bab6b84de40d7be28c3d46dc67cf"}, - {file = "ruff-0.8.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ae4478b1471fc0c44ed52a6fb787e641a2ac58b1c1f91763bafbc2faddc5117"}, - {file = "ruff-0.8.6-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:0c000a471d519b3e6cfc9c6680025d923b4ca140ce3e4612d1a2ef58e11f11fe"}, - {file = "ruff-0.8.6-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:9257aa841e9e8d9b727423086f0fa9a86b6b420fbf4bf9e1465d1250ce8e4d8d"}, - {file = "ruff-0.8.6-py3-none-musllinux_1_2_i686.whl", hash = "sha256:45a56f61b24682f6f6709636949ae8cc82ae229d8d773b4c76c09ec83964a95a"}, - {file = "ruff-0.8.6-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:496dd38a53aa173481a7d8866bcd6451bd934d06976a2505028a50583e001b76"}, - {file = "ruff-0.8.6-py3-none-win32.whl", hash = "sha256:e169ea1b9eae61c99b257dc83b9ee6c76f89042752cb2d83486a7d6e48e8f764"}, - {file = "ruff-0.8.6-py3-none-win_amd64.whl", hash = "sha256:f1d70bef3d16fdc897ee290d7d20da3cbe4e26349f62e8a0274e7a3f4ce7a905"}, - {file = "ruff-0.8.6-py3-none-win_arm64.whl", hash = "sha256:7d7fc2377a04b6e04ffe588caad613d0c460eb2ecba4c0ccbbfe2bc973cbc162"}, - {file = "ruff-0.8.6.tar.gz", hash = "sha256:dcad24b81b62650b0eb8814f576fc65cfee8674772a6e24c9b747911801eeaa5"}, -] - -[[package]] -name = "six" -version = "1.17.0" -description = "Python 2 and 3 compatibility utilities" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -files = [ - {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, - {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, -] - -[[package]] -name = "snowballstemmer" -version = "2.2.0" -description = "This package provides 29 stemmers for 28 languages generated from Snowball algorithms." -optional = false -python-versions = "*" -files = [ - {file = "snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a"}, - {file = "snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1"}, -] - -[[package]] -name = "soupsieve" -version = "2.6" -description = "A modern CSS selector implementation for Beautiful Soup." -optional = false -python-versions = ">=3.8" -files = [ - {file = "soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9"}, - {file = "soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb"}, -] - -[[package]] -name = "sphinx" -version = "7.4.7" -description = "Python documentation generator" -optional = false -python-versions = ">=3.9" -files = [ - {file = "sphinx-7.4.7-py3-none-any.whl", hash = "sha256:c2419e2135d11f1951cd994d6eb18a1835bd8fdd8429f9ca375dc1f3281bd239"}, - {file = "sphinx-7.4.7.tar.gz", hash = "sha256:242f92a7ea7e6c5b406fdc2615413890ba9f699114a9c09192d7dfead2ee9cfe"}, -] - -[package.dependencies] -alabaster = ">=0.7.14,<0.8.0" -babel = ">=2.13" -colorama = {version = ">=0.4.6", markers = "sys_platform == \"win32\""} -docutils = ">=0.20,<0.22" -imagesize = ">=1.3" -importlib-metadata = {version = ">=6.0", markers = "python_version < \"3.10\""} -Jinja2 = ">=3.1" -packaging = ">=23.0" -Pygments = ">=2.17" -requests = ">=2.30.0" -snowballstemmer = ">=2.2" -sphinxcontrib-applehelp = "*" -sphinxcontrib-devhelp = "*" -sphinxcontrib-htmlhelp = ">=2.0.0" -sphinxcontrib-jsmath = "*" -sphinxcontrib-qthelp = "*" -sphinxcontrib-serializinghtml = ">=1.1.9" -tomli = {version = ">=2", markers = "python_version < \"3.11\""} - -[package.extras] -docs = ["sphinxcontrib-websupport"] -lint = ["flake8 (>=6.0)", "importlib-metadata (>=6.0)", "mypy (==1.10.1)", "pytest (>=6.0)", "ruff (==0.5.2)", "sphinx-lint (>=0.9)", "tomli (>=2)", "types-docutils (==0.21.0.20240711)", "types-requests (>=2.30.0)"] -test = ["cython (>=3.0)", "defusedxml (>=0.7.1)", "pytest (>=8.0)", "setuptools (>=70.0)", "typing_extensions (>=4.9)"] - -[[package]] -name = "sphinx-autoapi" -version = "3.4.0" -description = "Sphinx API documentation generator" -optional = false -python-versions = ">=3.8" -files = [ - {file = "sphinx_autoapi-3.4.0-py3-none-any.whl", hash = "sha256:4027fef2875a22c5f2a57107c71641d82f6166bf55beb407a47aaf3ef14e7b92"}, - {file = "sphinx_autoapi-3.4.0.tar.gz", hash = "sha256:e6d5371f9411bbb9fca358c00a9e57aef3ac94cbfc5df4bab285946462f69e0c"}, -] - -[package.dependencies] -astroid = [ - {version = ">=2.7", markers = "python_version < \"3.12\""}, - {version = ">=3.0.0a1", markers = "python_version >= \"3.12\""}, -] -Jinja2 = "*" -PyYAML = "*" -sphinx = ">=6.1.0" -stdlib_list = {version = "*", markers = "python_version < \"3.10\""} - -[[package]] -name = "sphinxcontrib-applehelp" -version = "2.0.0" -description = "sphinxcontrib-applehelp is a Sphinx extension which outputs Apple help books" -optional = false -python-versions = ">=3.9" -files = [ - {file = "sphinxcontrib_applehelp-2.0.0-py3-none-any.whl", hash = "sha256:4cd3f0ec4ac5dd9c17ec65e9ab272c9b867ea77425228e68ecf08d6b28ddbdb5"}, - {file = "sphinxcontrib_applehelp-2.0.0.tar.gz", hash = "sha256:2f29ef331735ce958efa4734873f084941970894c6090408b079c61b2e1c06d1"}, -] - -[package.extras] -lint = ["mypy", "ruff (==0.5.5)", "types-docutils"] -standalone = ["Sphinx (>=5)"] -test = ["pytest"] - -[[package]] -name = "sphinxcontrib-devhelp" -version = "2.0.0" -description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp documents" -optional = false -python-versions = ">=3.9" -files = [ - {file = "sphinxcontrib_devhelp-2.0.0-py3-none-any.whl", hash = "sha256:aefb8b83854e4b0998877524d1029fd3e6879210422ee3780459e28a1f03a8a2"}, - {file = "sphinxcontrib_devhelp-2.0.0.tar.gz", hash = "sha256:411f5d96d445d1d73bb5d52133377b4248ec79db5c793ce7dbe59e074b4dd1ad"}, -] - -[package.extras] -lint = ["mypy", "ruff (==0.5.5)", "types-docutils"] -standalone = ["Sphinx (>=5)"] -test = ["pytest"] - -[[package]] -name = "sphinxcontrib-htmlhelp" -version = "2.1.0" -description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files" -optional = false -python-versions = ">=3.9" -files = [ - {file = "sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl", hash = "sha256:166759820b47002d22914d64a075ce08f4c46818e17cfc9470a9786b759b19f8"}, - {file = "sphinxcontrib_htmlhelp-2.1.0.tar.gz", hash = "sha256:c9e2916ace8aad64cc13a0d233ee22317f2b9025b9cf3295249fa985cc7082e9"}, -] - -[package.extras] -lint = ["mypy", "ruff (==0.5.5)", "types-docutils"] -standalone = ["Sphinx (>=5)"] -test = ["html5lib", "pytest"] - -[[package]] -name = "sphinxcontrib-jsmath" -version = "1.0.1" -description = "A sphinx extension which renders display math in HTML via JavaScript" -optional = false -python-versions = ">=3.5" -files = [ - {file = "sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"}, - {file = "sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178"}, -] - -[package.extras] -test = ["flake8", "mypy", "pytest"] - -[[package]] -name = "sphinxcontrib-qthelp" -version = "2.0.0" -description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp documents" -optional = false -python-versions = ">=3.9" -files = [ - {file = "sphinxcontrib_qthelp-2.0.0-py3-none-any.whl", hash = "sha256:b18a828cdba941ccd6ee8445dbe72ffa3ef8cbe7505d8cd1fa0d42d3f2d5f3eb"}, - {file = "sphinxcontrib_qthelp-2.0.0.tar.gz", hash = "sha256:4fe7d0ac8fc171045be623aba3e2a8f613f8682731f9153bb2e40ece16b9bbab"}, -] - -[package.extras] -lint = ["mypy", "ruff (==0.5.5)", "types-docutils"] -standalone = ["Sphinx (>=5)"] -test = ["defusedxml (>=0.7.1)", "pytest"] - -[[package]] -name = "sphinxcontrib-serializinghtml" -version = "2.0.0" -description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)" -optional = false -python-versions = ">=3.9" -files = [ - {file = "sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl", hash = "sha256:6e2cb0eef194e10c27ec0023bfeb25badbbb5868244cf5bc5bdc04e4464bf331"}, - {file = "sphinxcontrib_serializinghtml-2.0.0.tar.gz", hash = "sha256:e9d912827f872c029017a53f0ef2180b327c3f7fd23c87229f7a8e8b70031d4d"}, -] - -[package.extras] -lint = ["mypy", "ruff (==0.5.5)", "types-docutils"] -standalone = ["Sphinx (>=5)"] -test = ["pytest"] - -[[package]] -name = "srp" -version = "1.0.22" -description = "Secure Remote Password" -optional = false -python-versions = "*" -files = [ - {file = "srp-1.0.22-py3-none-any.whl", hash = "sha256:35aa8af053285a35683eb37182dcb2e46dbd85c7075d28e139f200d6bf16ea43"}, - {file = "srp-1.0.22.tar.gz", hash = "sha256:f330d0ec7387e2ac8577487b164963155d4a031bca6e2024f1b0930eb92baa5d"}, -] - -[package.dependencies] -six = "*" - -[[package]] -name = "stdlib-list" -version = "0.11.0" -description = "A list of Python Standard Libraries (2.7 through 3.12)." -optional = false -python-versions = ">=3.9" -files = [ - {file = "stdlib_list-0.11.0-py3-none-any.whl", hash = "sha256:8bf8decfffaaf273d4cfeb5bd852b910a00dec1037dcf163576803622bccf597"}, - {file = "stdlib_list-0.11.0.tar.gz", hash = "sha256:b74a7b643a77a12637e907f3f62f0ab9f67300bce4014f6b2d3c8b4c8fd63c66"}, -] - -[package.extras] -dev = ["build", "stdlib-list[doc,lint,test]"] -doc = ["furo", "sphinx"] -lint = ["mypy", "ruff"] -support = ["sphobjinv"] -test = ["coverage[toml]", "pytest", "pytest-cov"] - -[[package]] -name = "tomli" -version = "2.2.1" -description = "A lil' TOML parser" -optional = false -python-versions = ">=3.8" -files = [ - {file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"}, - {file = "tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6"}, - {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a"}, - {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee"}, - {file = "tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e"}, - {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4"}, - {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106"}, - {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8"}, - {file = "tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff"}, - {file = "tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b"}, - {file = "tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea"}, - {file = "tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8"}, - {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192"}, - {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222"}, - {file = "tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77"}, - {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6"}, - {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd"}, - {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e"}, - {file = "tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98"}, - {file = "tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4"}, - {file = "tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7"}, - {file = "tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c"}, - {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13"}, - {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281"}, - {file = "tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272"}, - {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140"}, - {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2"}, - {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744"}, - {file = "tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec"}, - {file = "tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69"}, - {file = "tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc"}, - {file = "tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff"}, -] - -[[package]] -name = "typing-extensions" -version = "4.12.2" -description = "Backported and Experimental Type Hints for Python 3.8+" -optional = false -python-versions = ">=3.8" -files = [ - {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, - {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, -] - -[[package]] -name = "urllib3" -version = "2.3.0" -description = "HTTP library with thread-safe connection pooling, file post, and more." -optional = false -python-versions = ">=3.9" -files = [ - {file = "urllib3-2.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df"}, - {file = "urllib3-2.3.0.tar.gz", hash = "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d"}, -] - -[package.extras] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] -h2 = ["h2 (>=4,<5)"] -socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] -zstd = ["zstandard (>=0.18.0)"] - -[[package]] -name = "virtualenv" -version = "20.28.1" -description = "Virtual Python Environment builder" -optional = false -python-versions = ">=3.8" -files = [ - {file = "virtualenv-20.28.1-py3-none-any.whl", hash = "sha256:412773c85d4dab0409b83ec36f7a6499e72eaf08c80e81e9576bca61831c71cb"}, - {file = "virtualenv-20.28.1.tar.gz", hash = "sha256:5d34ab240fdb5d21549b76f9e8ff3af28252f5499fb6d6f031adac4e5a8c5329"}, -] - -[package.dependencies] -distlib = ">=0.3.7,<1" -filelock = ">=3.12.2,<4" -platformdirs = ">=3.9.1,<5" - -[package.extras] -docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.2,!=7.3)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] -test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8)", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10)"] - -[[package]] -name = "winrt-runtime" -version = "2.3.0" -description = "Python projection of Windows Runtime (WinRT) APIs" -optional = false -python-versions = "<3.14,>=3.9" -files = [ - {file = "winrt_runtime-2.3.0-cp310-cp310-win32.whl", hash = "sha256:5c22ed339b420a6026134e28281b25078a9e6755eceb494dce5d42ee5814e3fd"}, - {file = "winrt_runtime-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:f3ef0d6b281a8d4155ea14a0f917faf82a004d4996d07beb2b3d2af191503fb1"}, - {file = "winrt_runtime-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:93ce23df52396ed89dfe659ee0e1a968928e526b9c577942d4a54ad55b333644"}, - {file = "winrt_runtime-2.3.0-cp311-cp311-win32.whl", hash = "sha256:352d70864846fd7ec89703845b82a35cef73f42d178a02a4635a38df5a61c0f8"}, - {file = "winrt_runtime-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:286e6036af4903dd830398103c3edd110a46432347e8a52ba416d937c0e1f5f9"}, - {file = "winrt_runtime-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:44d0f0f48f2f10c02b885989e8bbac41d7bf9c03550b20ddf562100356fca7a9"}, - {file = "winrt_runtime-2.3.0-cp312-cp312-win32.whl", hash = "sha256:03d3e4aedc65832e57c0dbf210ec2a9d7fb2819c74d420ba889b323e9fa5cf28"}, - {file = "winrt_runtime-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:0dc636aec2f4ee6c3849fa59dae10c128f4a908f0ce452e91af65d812ea66dcb"}, - {file = "winrt_runtime-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:d9f140c71e4f3bf7bf7d6853b246eab2e1632c72f218ff163aa41a74b576736f"}, - {file = "winrt_runtime-2.3.0-cp313-cp313-win32.whl", hash = "sha256:77f06df6b7a6cb536913ae455e30c1733d31d88dafe2c3cd8c3d0e2bcf7e2a20"}, - {file = "winrt_runtime-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:7388774b74ea2f4510ab3a98c95af296665ebe69d9d7e2fd7ee2c3fc5856099e"}, - {file = "winrt_runtime-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:0d3a4ac7661cad492d51653054e63328b940a6083c1ee1dd977f90069cb8afaa"}, - {file = "winrt_runtime-2.3.0-cp39-cp39-win32.whl", hash = "sha256:cd7bce2c7703054e7f64d11be665e9728e15d9dae0d952a51228fe830e0c4b55"}, - {file = "winrt_runtime-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:2da01af378ab9374a3a933da97543f471a676a3b844318316869bffeff811e8a"}, - {file = "winrt_runtime-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:1c6bbfcc7cbe1c8159ed5d776b30b7f1cbc2c6990803292823b0788c22d75636"}, - {file = "winrt_runtime-2.3.0.tar.gz", hash = "sha256:bb895a2b8c74b375781302215e2661914369c625aa1f8df84f8d37691b22db77"}, -] - -[[package]] -name = "winrt-windows-devices-bluetooth" -version = "2.3.0" -description = "Python projection of Windows Runtime (WinRT) APIs" -optional = false -python-versions = "<3.14,>=3.9" -files = [ - {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp310-cp310-win32.whl", hash = "sha256:554aa6d0ca4bebc22a45f19fa60db1183a2b5643468f3c95cf0ebc33fbc1b0d0"}, - {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:cec2682e10431f027c1823647772671fb09bebc1e8a00021a3651120b846d36f"}, - {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:b4d42faef99845de2aded4c75c906f03cc3ba3df51fb4435e4cc88a19168cf99"}, - {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp311-cp311-win32.whl", hash = "sha256:64e0992175d4d5a1160179a8c586c2202a0edbd47a5b6da4efdbc8bb601f2f99"}, - {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:0830111c077508b599062fbe2d817203e4efa3605bd209cf4a3e03388ec39dda"}, - {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:3943d538cb7b6bde3fd8741591eb6e23487ee9ee6284f05428b205e7d10b6d92"}, - {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp312-cp312-win32.whl", hash = "sha256:544ed169039e6d5e250323cc18c87967cfeb4d3d09ce354fd7c5fd2283f3bb98"}, - {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:f7becf095bf9bc999629fcb6401a88b879c3531b3c55c820e63259c955ddc06c"}, - {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:a6a2980409c855b4e5dab0be9bde9f30236292ac1fc994df959fa5a518cd6690"}, - {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp313-cp313-win32.whl", hash = "sha256:82f443be43379d4762e72633047c82843c873b6f26428a18855ca7b53e1958d7"}, - {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:8b407da87ab52315c2d562a75d824dcafcae6e1628031cdb971072a47eb78ff0"}, - {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:e36d0b487bc5b64662b8470085edf8bfa5a220d7afc4f2e8d7faa3e3ac2bae80"}, - {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp39-cp39-win32.whl", hash = "sha256:6553023433edf5a75767e8962bf492d0623036975c7d8373d5bbccc633a77bbc"}, - {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:77bdeadb043190c40ebbad462cd06e38b6461bc976bc67daf587e9395c387aae"}, - {file = "winrt_Windows.Devices.Bluetooth-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:c588ab79b534fedecce48f7082b419315e8d797d0120556166492e603e90d932"}, - {file = "winrt_windows_devices_bluetooth-2.3.0.tar.gz", hash = "sha256:a1204b71c369a0399ec15d9a7b7c67990dd74504e486b839bf81825bd381a837"}, -] - -[package.dependencies] -winrt-runtime = "2.3.0" - -[package.extras] -all = ["winrt-Windows.Devices.Bluetooth.GenericAttributeProfile[all] (==2.3.0)", "winrt-Windows.Devices.Bluetooth.Rfcomm[all] (==2.3.0)", "winrt-Windows.Devices.Enumeration[all] (==2.3.0)", "winrt-Windows.Devices.Radios[all] (==2.3.0)", "winrt-Windows.Foundation.Collections[all] (==2.3.0)", "winrt-Windows.Foundation[all] (==2.3.0)", "winrt-Windows.Networking[all] (==2.3.0)", "winrt-Windows.Storage.Streams[all] (==2.3.0)"] - -[[package]] -name = "winrt-windows-devices-bluetooth-advertisement" -version = "2.3.0" -description = "Python projection of Windows Runtime (WinRT) APIs" -optional = false -python-versions = "<3.14,>=3.9" -files = [ - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp310-cp310-win32.whl", hash = "sha256:4386498e7794ed383542ea868f0aa2dd8fb5f09f12bdffde024d12bd9f5a3756"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:d6fa25b2541d2898ae17982e86e0977a639b04f75119612cb46e1719474513fd"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:b200ff5acd181353f61f5b6446176faf78a61867d8c1d21e77a15e239d2cdf6b"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp311-cp311-win32.whl", hash = "sha256:e56ad277813b48e35a3074f286c55a7a25884676e23ef9c3fc12349a42cb8fa4"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:d6533fef6a5914dc8d519b83b1841becf6fd2f37163d6e07df318a6a6118f194"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:8f4369cb0108f8ee0cace559f9870b00a4dde3fc1abd52f84adba08bc733825c"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp312-cp312-win32.whl", hash = "sha256:d729d989acd7c1d703e2088299b6e219089a415db4a7b80cd52fdc507ec3ce95"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d3d258d4388a2b46f2e46f2fbdede1bf327eaa9c2dd4605f8a7fe454077c49e"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:d8c12457b00a79f8f1058d7a51bd8e7f177fb66e31389469e75b1104f6358921"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp313-cp313-win32.whl", hash = "sha256:ac1e55a350881f82cb51e162cb7a4b5d9359e9e5fbde922de802404a951d64ec"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:0fc339340fb8be21c1c829816a49dc31b986c6d602d113d4a49ee8ffaf0e2396"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:da63d9c56edcb3b2d5135e65cc8c9c4658344dd480a8a2daf45beb2106f17874"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp39-cp39-win32.whl", hash = "sha256:e98c6ae4b0afd3e4f3ab4fa06e84d6017ff9242146a64e3bad73f7f34183a076"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:cdc485f4143fbbb3ae0c9c9ad03b1021a5cb233c6df65bf56ac14f8e22c918c3"}, - {file = "winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:7af519cc895be84d6974e9f70d102545a5e8db05e065903b0fd84521218e60a9"}, - {file = "winrt_windows_devices_bluetooth_advertisement-2.3.0.tar.gz", hash = "sha256:c8adbec690b765ca70337c35efec9910b0937a40a0a242184ea295367137f81c"}, -] - -[package.dependencies] -winrt-runtime = "2.3.0" - -[package.extras] -all = ["winrt-Windows.Devices.Bluetooth[all] (==2.3.0)", "winrt-Windows.Foundation.Collections[all] (==2.3.0)", "winrt-Windows.Foundation[all] (==2.3.0)", "winrt-Windows.Storage.Streams[all] (==2.3.0)"] - -[[package]] -name = "winrt-windows-devices-bluetooth-genericattributeprofile" -version = "2.3.0" -description = "Python projection of Windows Runtime (WinRT) APIs" -optional = false -python-versions = "<3.14,>=3.9" -files = [ - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp310-cp310-win32.whl", hash = "sha256:1ec75b107370827874d8435a47852d0459cb66d5694e02a833e0a75c4748e847"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:0a178aa936abbc56ae1cc54a222dee4a34ce6c09506a5b592d4f7d04dbe76b95"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:b7067b8578e19ad17b28694090d5b000fee57db5b219462155961b685d71fba5"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp311-cp311-win32.whl", hash = "sha256:e0aeba201e20b6c4bc18a4336b5b07d653d4ab4c9c17a301613db680a346cd5e"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:f87b3995de18b98075ec2b02afc7252873fa75e7c840eb770d7bfafb4fda5c12"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:7dccce04ec076666001efca8e2484d0ec444b2302ae150ef184aa253b8cfba09"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp312-cp312-win32.whl", hash = "sha256:1b97ef2ab9c9f5bae984989a47565d0d19c84969d74982a2664a4a3485cb8274"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:5fac2c7b301fa70e105785d7504176c76e4d824fc3823afed4d1ab6a7682272c"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:353fdccf2398b2a12e0835834cff8143a7efd9ba877fb5820fdcce531732b500"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp313-cp313-win32.whl", hash = "sha256:f414f793767ccc56d055b1c74830efb51fa4cbdc9163847b1a38b1ee35778f49"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:8ef35d9cda5bbdcc55aa7eaf143ab873227d6ee467aaf28edbd2428f229e7c94"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:6a9e7308ba264175c2a9ee31f6cf1d647cb35ee9a1da7350793d8fe033a6b9b8"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp39-cp39-win32.whl", hash = "sha256:aea58f7e484cf3480ab9472a3e99b61c157b8a47baae8694bc7400ea5335f5dc"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:992b792a9e7f5771ccdc18eec4e526a11f23b75d9be5de3ec552ff719333897a"}, - {file = "winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:66b030a9cc6099dafe4253239e8e625cc063bb9bb115bebed6260d92dd86f6b1"}, - {file = "winrt_windows_devices_bluetooth_genericattributeprofile-2.3.0.tar.gz", hash = "sha256:f40f94bf2f7243848dc10e39cfde76c9044727a05e7e5dfb8cb7f062f3fd3dda"}, -] - -[package.dependencies] -winrt-runtime = "2.3.0" - -[package.extras] -all = ["winrt-Windows.Devices.Bluetooth[all] (==2.3.0)", "winrt-Windows.Devices.Enumeration[all] (==2.3.0)", "winrt-Windows.Foundation.Collections[all] (==2.3.0)", "winrt-Windows.Foundation[all] (==2.3.0)", "winrt-Windows.Storage.Streams[all] (==2.3.0)"] - -[[package]] -name = "winrt-windows-devices-enumeration" -version = "2.3.0" -description = "Python projection of Windows Runtime (WinRT) APIs" -optional = false -python-versions = "<3.14,>=3.9" -files = [ - {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp310-cp310-win32.whl", hash = "sha256:461360ab47967f39721e71276fdcfe87ad2f71ba7b09d721f2f88bcdf16a6924"}, - {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:a7d7b01d43d5dcc1f3846db12f4c552155efae75469f36052623faed7f0f74a8"}, - {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:6478fbe6f45172a9911c15b061ec9b0f30c9f4845ba3fd1e9e1bb78c1fb691c4"}, - {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp311-cp311-win32.whl", hash = "sha256:30be5cba8e9e81ea8dd514ba1300b5bb14ad7cc4e32efe908ddddd14c73e7f61"}, - {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:86c2a1865e0a0146dd4f51f17e3d773d3e6732742f61838c05061f28738c6dbd"}, - {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:1b50d9304e49a9f04bc8139831b75be968ff19a1f50529d5eb0081dae2103d92"}, - {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp312-cp312-win32.whl", hash = "sha256:42ed0349f0290a1b0a101425a06196c5d5db1240db6f8bd7d2204f23c48d727b"}, - {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:83e385fbf85b9511699d33c659673611f42b98bd3a554a85b377a34cc3b68b2e"}, - {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:26f855caee61c12449c6b07e22ea1ad470f8daa24223d8581e1fe622c70b48a8"}, - {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp313-cp313-win32.whl", hash = "sha256:a5f2cff6ee584e5627a2246bdbcd1b3a3fd1e7ae0741f62c59f7d5a5650d5791"}, - {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:7516171521aa383ccdc8f422cc202979a2359d0d1256f22852bfb0b55d9154f0"}, - {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:80d01dfffe4b548439242f3f7a737189354768b203cca023dc29b267dfe5595a"}, - {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp39-cp39-win32.whl", hash = "sha256:990a375cd8edc2d30b939a49dcc1349ede3a4b8e4da78baf0de5e5711d3a4f00"}, - {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:2e7bedf0eac2066d7d37b1d34071b95bb57024e9e083867be1d24e916e012ac0"}, - {file = "winrt_Windows.Devices.Enumeration-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:c53b673b80ba794f1c1320a5e0a14d795193c3f64b8132ebafba2f49c7301c2f"}, - {file = "winrt_windows_devices_enumeration-2.3.0.tar.gz", hash = "sha256:a14078aac41432781acb0c950fcdcdeb096e2f80f7591a3d46435f30221fc3eb"}, -] - -[package.dependencies] -winrt-runtime = "2.3.0" - -[package.extras] -all = ["winrt-Windows.ApplicationModel.Background[all] (==2.3.0)", "winrt-Windows.Foundation.Collections[all] (==2.3.0)", "winrt-Windows.Foundation[all] (==2.3.0)", "winrt-Windows.Security.Credentials[all] (==2.3.0)", "winrt-Windows.Storage.Streams[all] (==2.3.0)", "winrt-Windows.UI.Popups[all] (==2.3.0)", "winrt-Windows.UI[all] (==2.3.0)"] - -[[package]] -name = "winrt-windows-foundation" -version = "2.3.0" -description = "Python projection of Windows Runtime (WinRT) APIs" -optional = false -python-versions = "<3.14,>=3.9" -files = [ - {file = "winrt_Windows.Foundation-2.3.0-cp310-cp310-win32.whl", hash = "sha256:ea7b0e82be5c05690fedaf0dac5aa5e5fefd7ebf90b1497e5993197d305d916d"}, - {file = "winrt_Windows.Foundation-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:6807dd40f8ecd6403679f6eae0db81674fdcf33768d08fdee66e0a17b7a02515"}, - {file = "winrt_Windows.Foundation-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:0a861815e97ace82583210c03cf800507b0c3a97edd914bfffa5f88de1fbafcc"}, - {file = "winrt_Windows.Foundation-2.3.0-cp311-cp311-win32.whl", hash = "sha256:c79b3d9384128b6b28c2483b4600f15c5d32c1f6646f9d77fdb3ee9bbaef6f81"}, - {file = "winrt_Windows.Foundation-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:fdd9c4914070dc598f5961d9c7571dd7d745f5cc60347603bf39d6ee921bd85c"}, - {file = "winrt_Windows.Foundation-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:62bbb0ffa273551d33fd533d6e09b6f9f633dc214225d483722af47d2525fb84"}, - {file = "winrt_Windows.Foundation-2.3.0-cp312-cp312-win32.whl", hash = "sha256:d36f472ac258e79eee6061e1bb4ce50bfd200f9271392d23479c800ca6aee8d1"}, - {file = "winrt_Windows.Foundation-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:8de9b5e95a3fdabdb45b1952e05355dd5a678f80bf09a54d9f966dccc805b383"}, - {file = "winrt_Windows.Foundation-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:37da09c08c9c772baedb1958e5ee116fe63809f33c6820c69750f340b3dda292"}, - {file = "winrt_Windows.Foundation-2.3.0-cp313-cp313-win32.whl", hash = "sha256:2b00fad3f2a3859ccae41eee12ab44434813a371c2f3003b4f2419e5eecb4832"}, - {file = "winrt_Windows.Foundation-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:686619932b2a2c689cbebc7f5196437a45fd2056656ef130bb10240bb111086a"}, - {file = "winrt_Windows.Foundation-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:b38dcb83fe82a7da9a57d7d5ad5deb09503b5be6d9357a9fd3016ca31673805d"}, - {file = "winrt_Windows.Foundation-2.3.0-cp39-cp39-win32.whl", hash = "sha256:2d6922de4dc38061b86d314c7319d7c6bd78a52d64ee0c93eb81474bddb499bc"}, - {file = "winrt_Windows.Foundation-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:1513e43adff3779d2f611d8bdf9350ac1a7c04389e9e6b1d777c5cd54f46e4fc"}, - {file = "winrt_Windows.Foundation-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:c811e4a4f79b947fbbb50f74d34ef6840dd2dd26e0199bd61a4185e48c6a84a8"}, - {file = "winrt_windows_foundation-2.3.0.tar.gz", hash = "sha256:c5766f011c8debbe89b460af4a97d026ca252144e62d7278c9c79c5581ea0c02"}, -] - -[package.dependencies] -winrt-runtime = "2.3.0" - -[package.extras] -all = ["winrt-Windows.Foundation.Collections[all] (==2.3.0)"] - -[[package]] -name = "winrt-windows-foundation-collections" -version = "2.3.0" -description = "Python projection of Windows Runtime (WinRT) APIs" -optional = false -python-versions = "<3.14,>=3.9" -files = [ - {file = "winrt_Windows.Foundation.Collections-2.3.0-cp310-cp310-win32.whl", hash = "sha256:d2fca59eef9582a33c2797b1fda1d5757d66827cc34e6fc1d1c94a5875c4c043"}, - {file = "winrt_Windows.Foundation.Collections-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:d14b47d9137aebad71aa4fde5892673f2fa326f5f4799378cb9f6158b07a9824"}, - {file = "winrt_Windows.Foundation.Collections-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:cca5398a4522dffd76decf64a28368cda67e81dc01cad35a9f39cc351af69bdd"}, - {file = "winrt_Windows.Foundation.Collections-2.3.0-cp311-cp311-win32.whl", hash = "sha256:3808af64c95a9b464e8e97f6bec57a8b22168185f1c893f30de69aaf48c85b17"}, - {file = "winrt_Windows.Foundation.Collections-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:1e9a3842a39feb965545124abfe79ed726adc5a1fc6a192470a3c5d3ec3f7a74"}, - {file = "winrt_Windows.Foundation.Collections-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:751c2a68fef080dfe0af892ef4cebf317844e4baa786e979028757fe2740fba4"}, - {file = "winrt_Windows.Foundation.Collections-2.3.0-cp312-cp312-win32.whl", hash = "sha256:498c1fc403d3dc7a091aaac92af471615de4f9550d544347cb3b169c197183b5"}, - {file = "winrt_Windows.Foundation.Collections-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:4d1b1cacc159f38d8e6b662f6e7a5c41879a36aa7434c1580d7f948c9037419e"}, - {file = "winrt_Windows.Foundation.Collections-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:398d93b76a2cf70d5e75c1f802e1dd856501e63bc9a31f4510ac59f718951b9e"}, - {file = "winrt_Windows.Foundation.Collections-2.3.0-cp313-cp313-win32.whl", hash = "sha256:1e5f1637e0919c7bb5b11ba1eebbd43bc0ad9600cf887b59fcece0f8a6c0eac3"}, - {file = "winrt_Windows.Foundation.Collections-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:c809a70bc0f93d53c7289a0a86d8869740e09fff0c57318a14401f5c17e0b912"}, - {file = "winrt_Windows.Foundation.Collections-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:269942fe86af06293a2676c8b2dcd5cb1d8ddfe1b5244f11c16e48ae0a5d100f"}, - {file = "winrt_Windows.Foundation.Collections-2.3.0-cp39-cp39-win32.whl", hash = "sha256:936b1c5720b564ec699673198addee97f3bdb790622d24c8fd1b346a9767717c"}, - {file = "winrt_Windows.Foundation.Collections-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:905a6ac9cd6b51659a9bba08cf44cfc925f528ef34cdd9c3a6c2632e97804a96"}, - {file = "winrt_Windows.Foundation.Collections-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:1d6eac85976bd831e1b8cc479d7f14afa51c27cec5a38e2540077d3400cbd3ef"}, - {file = "winrt_windows_foundation_collections-2.3.0.tar.gz", hash = "sha256:15c997fd6b64ef0400a619319ea3c6851c9c24e31d51b6448ba9bac3616d25a0"}, -] - -[package.dependencies] -winrt-runtime = "2.3.0" - -[package.extras] -all = ["winrt-Windows.Foundation[all] (==2.3.0)"] - -[[package]] -name = "winrt-windows-storage-streams" -version = "2.3.0" -description = "Python projection of Windows Runtime (WinRT) APIs" -optional = false -python-versions = "<3.14,>=3.9" -files = [ - {file = "winrt_Windows.Storage.Streams-2.3.0-cp310-cp310-win32.whl", hash = "sha256:2c0901aee1232e92ed9320644b853d7801a0bdb87790164d56e961cd39910f07"}, - {file = "winrt_Windows.Storage.Streams-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:ba07dc25decffd29aa8603119629c167bd03fa274099e3bad331a4920c292b78"}, - {file = "winrt_Windows.Storage.Streams-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:5b60b48460095c50a00a6f7f9b3b780f5bdcb1ec663fc09458201499f93e23ea"}, - {file = "winrt_Windows.Storage.Streams-2.3.0-cp311-cp311-win32.whl", hash = "sha256:8388f37759df64ceef1423ae7dd9275c8a6eb3b8245d400173b4916adc94b5ad"}, - {file = "winrt_Windows.Storage.Streams-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:e5783dbe3694cc3deda594256ebb1088655386959bb834a6bfb7cd763ee87631"}, - {file = "winrt_Windows.Storage.Streams-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:0a487d19c73b82aafa3d5ef889bb35e6e8e2487ca4f16f5446f2445033d5219c"}, - {file = "winrt_Windows.Storage.Streams-2.3.0-cp312-cp312-win32.whl", hash = "sha256:272e87e6c74cb2832261ab33db7966a99e7a2400240cc4f8bf526a80ca054c68"}, - {file = "winrt_Windows.Storage.Streams-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:997bf1a2d52c5f104b172947e571f27d9916a4409b4da592ec3e7f907848dd1a"}, - {file = "winrt_Windows.Storage.Streams-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:d56daa00205c24ede6669d41eb70d6017e0202371d99f8ee2b0b31350ab59bd5"}, - {file = "winrt_Windows.Storage.Streams-2.3.0-cp313-cp313-win32.whl", hash = "sha256:7ac4e46fc5e21d8badc5d41779273c3f5e7196f1cf2df1959b6b70eca1d5d85f"}, - {file = "winrt_Windows.Storage.Streams-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:1460027c94c107fcee484997494f3a400f08ee40396f010facb0e72b3b74c457"}, - {file = "winrt_Windows.Storage.Streams-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:e4553a70f5264a7733596802a2991e2414cdcd5e396b9d11ee87be9abae9329e"}, - {file = "winrt_Windows.Storage.Streams-2.3.0-cp39-cp39-win32.whl", hash = "sha256:28e1117e23046e499831af16d11f5e61e6066ed6247ef58b93738702522c29b0"}, - {file = "winrt_Windows.Storage.Streams-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:5511dc578f92eb303aee4d3345ee4ffc88aa414564e43e0e3d84ff29427068f0"}, - {file = "winrt_Windows.Storage.Streams-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:6f5b3f8af4df08f5bf9329373949236ffaef22d021070278795e56da5326a876"}, - {file = "winrt_windows_storage_streams-2.3.0.tar.gz", hash = "sha256:d2c010beeb1dd7c135ed67ecfaea13440474a7c469e2e9aa2852db27d2063d44"}, -] - -[package.dependencies] -winrt-runtime = "2.3.0" - -[package.extras] -all = ["winrt-Windows.Foundation.Collections[all] (==2.3.0)", "winrt-Windows.Foundation[all] (==2.3.0)", "winrt-Windows.Storage[all] (==2.3.0)", "winrt-Windows.System[all] (==2.3.0)"] - -[[package]] -name = "yarl" -version = "1.18.3" -description = "Yet another URL library" -optional = false -python-versions = ">=3.9" -files = [ - {file = "yarl-1.18.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7df647e8edd71f000a5208fe6ff8c382a1de8edfbccdbbfe649d263de07d8c34"}, - {file = "yarl-1.18.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c69697d3adff5aa4f874b19c0e4ed65180ceed6318ec856ebc423aa5850d84f7"}, - {file = "yarl-1.18.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:602d98f2c2d929f8e697ed274fbadc09902c4025c5a9963bf4e9edfc3ab6f7ed"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c654d5207c78e0bd6d749f6dae1dcbbfde3403ad3a4b11f3c5544d9906969dde"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5094d9206c64181d0f6e76ebd8fb2f8fe274950a63890ee9e0ebfd58bf9d787b"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35098b24e0327fc4ebdc8ffe336cee0a87a700c24ffed13161af80124b7dc8e5"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3236da9272872443f81fedc389bace88408f64f89f75d1bdb2256069a8730ccc"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2c08cc9b16f4f4bc522771d96734c7901e7ebef70c6c5c35dd0f10845270bcd"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:80316a8bd5109320d38eef8833ccf5f89608c9107d02d2a7f985f98ed6876990"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:c1e1cc06da1491e6734f0ea1e6294ce00792193c463350626571c287c9a704db"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fea09ca13323376a2fdfb353a5fa2e59f90cd18d7ca4eaa1fd31f0a8b4f91e62"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:e3b9fd71836999aad54084906f8663dffcd2a7fb5cdafd6c37713b2e72be1760"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:757e81cae69244257d125ff31663249b3013b5dc0a8520d73694aed497fb195b"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b1771de9944d875f1b98a745bc547e684b863abf8f8287da8466cf470ef52690"}, - {file = "yarl-1.18.3-cp310-cp310-win32.whl", hash = "sha256:8874027a53e3aea659a6d62751800cf6e63314c160fd607489ba5c2edd753cf6"}, - {file = "yarl-1.18.3-cp310-cp310-win_amd64.whl", hash = "sha256:93b2e109287f93db79210f86deb6b9bbb81ac32fc97236b16f7433db7fc437d8"}, - {file = "yarl-1.18.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8503ad47387b8ebd39cbbbdf0bf113e17330ffd339ba1144074da24c545f0069"}, - {file = "yarl-1.18.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:02ddb6756f8f4517a2d5e99d8b2f272488e18dd0bfbc802f31c16c6c20f22193"}, - {file = "yarl-1.18.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:67a283dd2882ac98cc6318384f565bffc751ab564605959df4752d42483ad889"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d980e0325b6eddc81331d3f4551e2a333999fb176fd153e075c6d1c2530aa8a8"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b643562c12680b01e17239be267bc306bbc6aac1f34f6444d1bded0c5ce438ca"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c017a3b6df3a1bd45b9fa49a0f54005e53fbcad16633870104b66fa1a30a29d8"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75674776d96d7b851b6498f17824ba17849d790a44d282929c42dbb77d4f17ae"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ccaa3a4b521b780a7e771cc336a2dba389a0861592bbce09a476190bb0c8b4b3"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2d06d3005e668744e11ed80812e61efd77d70bb7f03e33c1598c301eea20efbb"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:9d41beda9dc97ca9ab0b9888cb71f7539124bc05df02c0cff6e5acc5a19dcc6e"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ba23302c0c61a9999784e73809427c9dbedd79f66a13d84ad1b1943802eaaf59"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:6748dbf9bfa5ba1afcc7556b71cda0d7ce5f24768043a02a58846e4a443d808d"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0b0cad37311123211dc91eadcb322ef4d4a66008d3e1bdc404808992260e1a0e"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0fb2171a4486bb075316ee754c6d8382ea6eb8b399d4ec62fde2b591f879778a"}, - {file = "yarl-1.18.3-cp311-cp311-win32.whl", hash = "sha256:61b1a825a13bef4a5f10b1885245377d3cd0bf87cba068e1d9a88c2ae36880e1"}, - {file = "yarl-1.18.3-cp311-cp311-win_amd64.whl", hash = "sha256:b9d60031cf568c627d028239693fd718025719c02c9f55df0a53e587aab951b5"}, - {file = "yarl-1.18.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1dd4bdd05407ced96fed3d7f25dbbf88d2ffb045a0db60dbc247f5b3c5c25d50"}, - {file = "yarl-1.18.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7c33dd1931a95e5d9a772d0ac5e44cac8957eaf58e3c8da8c1414de7dd27c576"}, - {file = "yarl-1.18.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:25b411eddcfd56a2f0cd6a384e9f4f7aa3efee14b188de13048c25b5e91f1640"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:436c4fc0a4d66b2badc6c5fc5ef4e47bb10e4fd9bf0c79524ac719a01f3607c2"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e35ef8683211db69ffe129a25d5634319a677570ab6b2eba4afa860f54eeaf75"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:84b2deecba4a3f1a398df819151eb72d29bfeb3b69abb145a00ddc8d30094512"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00e5a1fea0fd4f5bfa7440a47eff01d9822a65b4488f7cff83155a0f31a2ecba"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d0e883008013c0e4aef84dcfe2a0b172c4d23c2669412cf5b3371003941f72bb"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5a3f356548e34a70b0172d8890006c37be92995f62d95a07b4a42e90fba54272"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ccd17349166b1bee6e529b4add61727d3f55edb7babbe4069b5764c9587a8cc6"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b958ddd075ddba5b09bb0be8a6d9906d2ce933aee81100db289badbeb966f54e"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c7d79f7d9aabd6011004e33b22bc13056a3e3fb54794d138af57f5ee9d9032cb"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4891ed92157e5430874dad17b15eb1fda57627710756c27422200c52d8a4e393"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ce1af883b94304f493698b00d0f006d56aea98aeb49d75ec7d98cd4a777e9285"}, - {file = "yarl-1.18.3-cp312-cp312-win32.whl", hash = "sha256:f91c4803173928a25e1a55b943c81f55b8872f0018be83e3ad4938adffb77dd2"}, - {file = "yarl-1.18.3-cp312-cp312-win_amd64.whl", hash = "sha256:7e2ee16578af3b52ac2f334c3b1f92262f47e02cc6193c598502bd46f5cd1477"}, - {file = "yarl-1.18.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:90adb47ad432332d4f0bc28f83a5963f426ce9a1a8809f5e584e704b82685dcb"}, - {file = "yarl-1.18.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:913829534200eb0f789d45349e55203a091f45c37a2674678744ae52fae23efa"}, - {file = "yarl-1.18.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ef9f7768395923c3039055c14334ba4d926f3baf7b776c923c93d80195624782"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a19f62ff30117e706ebc9090b8ecc79aeb77d0b1f5ec10d2d27a12bc9f66d0"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e17c9361d46a4d5addf777c6dd5eab0715a7684c2f11b88c67ac37edfba6c482"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a74a13a4c857a84a845505fd2d68e54826a2cd01935a96efb1e9d86c728e186"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41f7ce59d6ee7741af71d82020346af364949314ed3d87553763a2df1829cc58"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f52a265001d830bc425f82ca9eabda94a64a4d753b07d623a9f2863fde532b53"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:82123d0c954dc58db301f5021a01854a85bf1f3bb7d12ae0c01afc414a882ca2"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:2ec9bbba33b2d00999af4631a3397d1fd78290c48e2a3e52d8dd72db3a067ac8"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:fbd6748e8ab9b41171bb95c6142faf068f5ef1511935a0aa07025438dd9a9bc1"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:877d209b6aebeb5b16c42cbb377f5f94d9e556626b1bfff66d7b0d115be88d0a"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b464c4ab4bfcb41e3bfd3f1c26600d038376c2de3297760dfe064d2cb7ea8e10"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8d39d351e7faf01483cc7ff7c0213c412e38e5a340238826be7e0e4da450fdc8"}, - {file = "yarl-1.18.3-cp313-cp313-win32.whl", hash = "sha256:61ee62ead9b68b9123ec24bc866cbef297dd266175d53296e2db5e7f797f902d"}, - {file = "yarl-1.18.3-cp313-cp313-win_amd64.whl", hash = "sha256:578e281c393af575879990861823ef19d66e2b1d0098414855dd367e234f5b3c"}, - {file = "yarl-1.18.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:61e5e68cb65ac8f547f6b5ef933f510134a6bf31bb178be428994b0cb46c2a04"}, - {file = "yarl-1.18.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fe57328fbc1bfd0bd0514470ac692630f3901c0ee39052ae47acd1d90a436719"}, - {file = "yarl-1.18.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a440a2a624683108a1b454705ecd7afc1c3438a08e890a1513d468671d90a04e"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09c7907c8548bcd6ab860e5f513e727c53b4a714f459b084f6580b49fa1b9cee"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b4f6450109834af88cb4cc5ecddfc5380ebb9c228695afc11915a0bf82116789"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9ca04806f3be0ac6d558fffc2fdf8fcef767e0489d2684a21912cc4ed0cd1b8"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77a6e85b90a7641d2e07184df5557132a337f136250caafc9ccaa4a2a998ca2c"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6333c5a377c8e2f5fae35e7b8f145c617b02c939d04110c76f29ee3676b5f9a5"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0b3c92fa08759dbf12b3a59579a4096ba9af8dd344d9a813fc7f5070d86bbab1"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:4ac515b860c36becb81bb84b667466885096b5fc85596948548b667da3bf9f24"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:045b8482ce9483ada4f3f23b3774f4e1bf4f23a2d5c912ed5170f68efb053318"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:a4bb030cf46a434ec0225bddbebd4b89e6471814ca851abb8696170adb163985"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:54d6921f07555713b9300bee9c50fb46e57e2e639027089b1d795ecd9f7fa910"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1d407181cfa6e70077df3377938c08012d18893f9f20e92f7d2f314a437c30b1"}, - {file = "yarl-1.18.3-cp39-cp39-win32.whl", hash = "sha256:ac36703a585e0929b032fbaab0707b75dc12703766d0b53486eabd5139ebadd5"}, - {file = "yarl-1.18.3-cp39-cp39-win_amd64.whl", hash = "sha256:ba87babd629f8af77f557b61e49e7c7cac36f22f871156b91e10a6e9d4f829e9"}, - {file = "yarl-1.18.3-py3-none-any.whl", hash = "sha256:b57f4f58099328dfb26c6a771d09fb20dbbae81d20cfb66141251ea063bd101b"}, - {file = "yarl-1.18.3.tar.gz", hash = "sha256:ac1801c45cbf77b6c99242eeff4fffb5e4e73a800b5c4ad4fc0be5def634d2e1"}, -] - -[package.dependencies] -idna = ">=2.0" -multidict = ">=4.0" -propcache = ">=0.2.0" - -[[package]] -name = "zipp" -version = "3.21.0" -description = "Backport of pathlib-compatible object wrapper for zip files" -optional = false -python-versions = ">=3.9" -files = [ - {file = "zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931"}, - {file = "zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4"}, -] - -[package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] -cover = ["pytest-cov"] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -enabler = ["pytest-enabler (>=2.2)"] -test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] -type = ["pytest-mypy"] - -[metadata] -lock-version = "2.0" -python-versions = ">=3.9,<3.14" -content-hash = "3254f7e19cb3c4e6795666136732664d74327f344f0c3594cee0fb0d26058d77" diff --git a/pyproject.toml b/pyproject.toml index 87d668f..1df1086 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,42 +1,36 @@ -[tool.poetry] +[project] name = "FindMy" version = "v0.7.6" description = "Everything you need to work with Apple's Find My network!" -authors = ["Mike Almeloo "] readme = "README.md" -packages = [{ include = "findmy" }] +authors = [ + {name = "Mike Almeloo", email = "git@mikealmel.ooo"}, +] +requires-python = ">=3.9,<3.14" +dependencies = [ + "srp>=1.0.21,<2.0.0", + "cryptography>=42.0.0,<45.0.0", + "beautifulsoup4>=4.12.3,<5.0.0", + "aiohttp>=3.9.5,<4.0.0", + "bleak>=0.22.2,<1.0.0", + "typing-extensions>=4.12.2,<5.0.0", +] -[tool.poetry.dependencies] -python = ">=3.9,<3.14" -srp = "^1.0.21" -cryptography = ">=42.0.0,<45.0.0" -beautifulsoup4 = "^4.12.3" -aiohttp = "^3.9.5" -bleak = "^0.22.2" -typing-extensions = "^4.12.2" - -[tool.poetry.group.dev] -optional = true - -[tool.poetry.group.dev.dependencies] -pre-commit = "^3.8.0" -pyright = "^1.1.391" -ruff = "^0.8.4" -tomli = "^2.0.1" -packaging = "^24.1" - -[tool.poetry.group.test] -optional = true - -[tool.poetry.group.test.dependencies] -pytest = "^8.3.2" - -[tool.poetry.group.docs] -optional = true - -[tool.poetry.group.docs.dependencies] -sphinx = "^7.2.6" -sphinx-autoapi = "3.4.0" +[dependency-groups] +dev = [ + "pre-commit>=3.8.0,<4.0.0", + "pyright>=1.1.391,<2.0.0", + "ruff>=0.8.4,<1.0.0", + "tomli>=2.0.1,<3.0.0", + "packaging>=24.1,<25.0", +] +test = [ + "pytest>=8.3.2,<9.0.0", +] +docs = [ + "sphinx>=7.2.6,<8.0.0", + "sphinx-autoapi==3.4.0", +] [tool.pyright] venvPath = "." @@ -91,6 +85,9 @@ ignore = [ "D", # documentation ] +[tool.setuptools] +license-files = [] + [build-system] -requires = ["poetry-core"] -build-backend = "poetry.core.masonry.api" +requires = ["setuptools", "setuptools-scm"] +build-backend = "setuptools.build_meta" diff --git a/scripts/supported_py_versions.py b/scripts/supported_py_versions.py index 23c9743..59f4a3e 100755 --- a/scripts/supported_py_versions.py +++ b/scripts/supported_py_versions.py @@ -1,9 +1,9 @@ #!/usr/bin/env python3 import json +from collections.abc import Generator from itertools import count from pathlib import Path -from typing import Generator import tomli from packaging.specifiers import SpecifierSet @@ -15,7 +15,7 @@ def get_python_versions() -> Generator[str, None, None]: with Path("pyproject.toml").open("rb") as f: pyproject_data = tomli.load(f) - specifier = SpecifierSet(pyproject_data["tool"]["poetry"]["dependencies"]["python"]) + specifier = SpecifierSet(pyproject_data["project"]["requires-python"]) below_spec = True for v_minor in count(): diff --git a/shell.nix b/shell.nix index 21ec685..df1aaff 100644 --- a/shell.nix +++ b/shell.nix @@ -1,9 +1,12 @@ { pkgs ? import {} }: +let + unstable = import (fetchTarball https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz) { }; +in pkgs.mkShell { packages = with pkgs; [ python312 - poetry + unstable.uv ]; shellHook = '' diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000..0dbee71 --- /dev/null +++ b/uv.lock @@ -0,0 +1,1761 @@ +version = 1 +revision = 1 +requires-python = ">=3.9, <3.14" +resolution-markers = [ + "python_full_version < '3.12'", + "python_full_version >= '3.12'", +] + +[[package]] +name = "aiohappyeyeballs" +version = "2.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/08/07/508f9ebba367fc3370162e53a3cfd12f5652ad79f0e0bfdf9f9847c6f159/aiohappyeyeballs-2.4.6.tar.gz", hash = "sha256:9b05052f9042985d32ecbe4b59a77ae19c006a78f1344d7fdad69d28ded3d0b0", size = 21726 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/44/4c/03fb05f56551828ec67ceb3665e5dc51638042d204983a03b0a1541475b6/aiohappyeyeballs-2.4.6-py3-none-any.whl", hash = "sha256:147ec992cf873d74f5062644332c539fcd42956dc69453fe5204195e560517e1", size = 14543 }, +] + +[[package]] +name = "aiohttp" +version = "3.11.13" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "aiohappyeyeballs" }, + { name = "aiosignal" }, + { name = "async-timeout", marker = "python_full_version < '3.11'" }, + { name = "attrs" }, + { name = "frozenlist" }, + { name = "multidict" }, + { name = "propcache" }, + { name = "yarl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b3/3f/c4a667d184c69667b8f16e0704127efc5f1e60577df429382b4d95fd381e/aiohttp-3.11.13.tar.gz", hash = "sha256:8ce789231404ca8fff7f693cdce398abf6d90fd5dae2b1847477196c243b1fbb", size = 7674284 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f2/49/18bde4fbe1f98a12fb548741e65b27c5f0991c1af4ad15c86b537a4ce94a/aiohttp-3.11.13-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a4fe27dbbeec445e6e1291e61d61eb212ee9fed6e47998b27de71d70d3e8777d", size = 708941 }, + { url = "https://files.pythonhosted.org/packages/99/24/417e5ab7074f5c97c9a794b6acdc59f47f2231d43e4d5cec06150035e61e/aiohttp-3.11.13-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9e64ca2dbea28807f8484c13f684a2f761e69ba2640ec49dacd342763cc265ef", size = 468823 }, + { url = "https://files.pythonhosted.org/packages/76/93/159d3a2561bc6d64d32f779d08b17570b1c5fe55b985da7e2df9b3a4ff8f/aiohttp-3.11.13-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9840be675de208d1f68f84d578eaa4d1a36eee70b16ae31ab933520c49ba1325", size = 455984 }, + { url = "https://files.pythonhosted.org/packages/18/bc/ed0dce45da90d4618ae14e677abbd704aec02e0f54820ea3815c156f0759/aiohttp-3.11.13-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28a772757c9067e2aee8a6b2b425d0efaa628c264d6416d283694c3d86da7689", size = 1585022 }, + { url = "https://files.pythonhosted.org/packages/75/10/c1e6d59030fcf04ccc253193607b5b7ced0caffd840353e109c51134e5e9/aiohttp-3.11.13-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b88aca5adbf4625e11118df45acac29616b425833c3be7a05ef63a6a4017bfdb", size = 1632761 }, + { url = "https://files.pythonhosted.org/packages/2d/8e/da1a20fbd2c961f824dc8efeb8d31c32ed4af761c87de83032ad4c4f5237/aiohttp-3.11.13-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ce10ddfbe26ed5856d6902162f71b8fe08545380570a885b4ab56aecfdcb07f4", size = 1668720 }, + { url = "https://files.pythonhosted.org/packages/fa/9e/d0bbdc82236c3fe43b28b3338a13ef9b697b0f7a875b33b950b975cab1f6/aiohttp-3.11.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa48dac27f41b36735c807d1ab093a8386701bbf00eb6b89a0f69d9fa26b3671", size = 1589941 }, + { url = "https://files.pythonhosted.org/packages/ed/14/248ed0385baeee854e495ca7f33b48bb151d1b226ddbf1585bdeb2301fbf/aiohttp-3.11.13-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:89ce611b1eac93ce2ade68f1470889e0173d606de20c85a012bfa24be96cf867", size = 1544978 }, + { url = "https://files.pythonhosted.org/packages/20/b0/b2ad9d24fe85db8330034ac45dde67799af40ca2363c0c9b30126e204ef3/aiohttp-3.11.13-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:78e4dd9c34ec7b8b121854eb5342bac8b02aa03075ae8618b6210a06bbb8a115", size = 1529641 }, + { url = "https://files.pythonhosted.org/packages/11/c6/03bdcb73a67a380b9593d52613ea88edd21ddc4ff5aaf06d4f807dfa2220/aiohttp-3.11.13-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:66047eacbc73e6fe2462b77ce39fc170ab51235caf331e735eae91c95e6a11e4", size = 1558027 }, + { url = "https://files.pythonhosted.org/packages/0d/ae/e45491c8ca4d1e30ff031fb25b44842e16c326f8467026c3eb2a9c167608/aiohttp-3.11.13-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5ad8f1c19fe277eeb8bc45741c6d60ddd11d705c12a4d8ee17546acff98e0802", size = 1536991 }, + { url = "https://files.pythonhosted.org/packages/19/89/10eb37351dd2b52928a54768a70a58171e43d7914685fe3feec8f681d905/aiohttp-3.11.13-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:64815c6f02e8506b10113ddbc6b196f58dbef135751cc7c32136df27b736db09", size = 1607848 }, + { url = "https://files.pythonhosted.org/packages/a4/fd/492dec170df6ea57bef4bcd26374befdc170b10ba9ac7f51a0214943c20a/aiohttp-3.11.13-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:967b93f21b426f23ca37329230d5bd122f25516ae2f24a9cea95a30023ff8283", size = 1629208 }, + { url = "https://files.pythonhosted.org/packages/70/46/ef8a02cb171d4779ca1632bc8ac0c5bb89729b091e2a3f4b895d688146b5/aiohttp-3.11.13-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cf1f31f83d16ec344136359001c5e871915c6ab685a3d8dee38e2961b4c81730", size = 1564684 }, + { url = "https://files.pythonhosted.org/packages/8a/03/b1b552d1112b72da94bd1f9f5efb8adbcbbafaa8d495fc0924cd80493f17/aiohttp-3.11.13-cp310-cp310-win32.whl", hash = "sha256:00c8ac69e259c60976aa2edae3f13d9991cf079aaa4d3cd5a49168ae3748dee3", size = 416982 }, + { url = "https://files.pythonhosted.org/packages/b0/2d/b6be8e7905ceba64121268ce28208bafe508a742c1467bf636a41d152284/aiohttp-3.11.13-cp310-cp310-win_amd64.whl", hash = "sha256:90d571c98d19a8b6e793b34aa4df4cee1e8fe2862d65cc49185a3a3d0a1a3996", size = 442389 }, + { url = "https://files.pythonhosted.org/packages/3b/93/8e012ae31ff1bda5d43565d6f9e0bad325ba6f3f2d78f298bd39645be8a3/aiohttp-3.11.13-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6b35aab22419ba45f8fc290d0010898de7a6ad131e468ffa3922b1b0b24e9d2e", size = 709013 }, + { url = "https://files.pythonhosted.org/packages/d8/be/fc7c436678ffe547d038319add8e44fd5e33090158752e5c480aed51a8d0/aiohttp-3.11.13-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f81cba651db8795f688c589dd11a4fbb834f2e59bbf9bb50908be36e416dc760", size = 468896 }, + { url = "https://files.pythonhosted.org/packages/d9/1c/56906111ac9d4dab4baab43c89d35d5de1dbb38085150257895005b08bef/aiohttp-3.11.13-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f55d0f242c2d1fcdf802c8fabcff25a9d85550a4cf3a9cf5f2a6b5742c992839", size = 455968 }, + { url = "https://files.pythonhosted.org/packages/ba/16/229d36ed27c2bb350320364efb56f906af194616cc15fc5d87f3ef21dbef/aiohttp-3.11.13-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4bea08a6aad9195ac9b1be6b0c7e8a702a9cec57ce6b713698b4a5afa9c2e33", size = 1686082 }, + { url = "https://files.pythonhosted.org/packages/3a/44/78fd174509c56028672e5dfef886569cfa1fced0c5fd5c4480426db19ac9/aiohttp-3.11.13-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c6070bcf2173a7146bb9e4735b3c62b2accba459a6eae44deea0eb23e0035a23", size = 1744056 }, + { url = "https://files.pythonhosted.org/packages/a3/11/325145c6dce8124b5caadbf763e908f2779c14bb0bc5868744d1e5cb9cb7/aiohttp-3.11.13-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:718d5deb678bc4b9d575bfe83a59270861417da071ab44542d0fcb6faa686636", size = 1785810 }, + { url = "https://files.pythonhosted.org/packages/95/de/faba18a0af09969e10eb89fdbd4cb968bea95e75449a7fa944d4de7d1d2f/aiohttp-3.11.13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f6b2c5b4a4d22b8fb2c92ac98e0747f5f195e8e9448bfb7404cd77e7bfa243f", size = 1675540 }, + { url = "https://files.pythonhosted.org/packages/ea/53/0437c46e960b79ae3b1ff74c1ec12f04bf4f425bd349c8807acb38aae3d7/aiohttp-3.11.13-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:747ec46290107a490d21fe1ff4183bef8022b848cf9516970cb31de6d9460088", size = 1620210 }, + { url = "https://files.pythonhosted.org/packages/04/2f/31769ed8e29cc22baaa4005bd2749a7fd0f61ad0f86024d38dff8e394cf6/aiohttp-3.11.13-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:01816f07c9cc9d80f858615b1365f8319d6a5fd079cd668cc58e15aafbc76a54", size = 1654399 }, + { url = "https://files.pythonhosted.org/packages/b0/24/acb24571815b9a86a8261577c920fd84f819178c02a75b05b1a0d7ab83fb/aiohttp-3.11.13-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:a08ad95fcbd595803e0c4280671d808eb170a64ca3f2980dd38e7a72ed8d1fea", size = 1660424 }, + { url = "https://files.pythonhosted.org/packages/91/45/30ca0c3ba5bbf7592eee7489eae30437736f7ff912eaa04cfdcf74edca8c/aiohttp-3.11.13-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:c97be90d70f7db3aa041d720bfb95f4869d6063fcdf2bb8333764d97e319b7d0", size = 1650415 }, + { url = "https://files.pythonhosted.org/packages/86/8d/4d887df5e732cc70349243c2c9784911979e7bd71c06f9e7717b8a896f75/aiohttp-3.11.13-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:ab915a57c65f7a29353c8014ac4be685c8e4a19e792a79fe133a8e101111438e", size = 1733292 }, + { url = "https://files.pythonhosted.org/packages/40/c9/bd950dac0a4c84d44d8da8d6e0f9c9511d45e02cf908a4e1fca591f46a25/aiohttp-3.11.13-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:35cda4e07f5e058a723436c4d2b7ba2124ab4e0aa49e6325aed5896507a8a42e", size = 1755536 }, + { url = "https://files.pythonhosted.org/packages/32/04/aafeda6b4ed3693a44bb89eae002ebaa74f88b2265a7e68f8a31c33330f5/aiohttp-3.11.13-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:af55314407714fe77a68a9ccaab90fdb5deb57342585fd4a3a8102b6d4370080", size = 1693126 }, + { url = "https://files.pythonhosted.org/packages/a1/4f/67729187e884b0f002a0317d2cc7962a5a0416cadc95ea88ba92477290d9/aiohttp-3.11.13-cp311-cp311-win32.whl", hash = "sha256:42d689a5c0a0c357018993e471893e939f555e302313d5c61dfc566c2cad6185", size = 416800 }, + { url = "https://files.pythonhosted.org/packages/29/23/d98d491ca073ee92cc6a741be97b6b097fb06dacc5f95c0c9350787db549/aiohttp-3.11.13-cp311-cp311-win_amd64.whl", hash = "sha256:b73a2b139782a07658fbf170fe4bcdf70fc597fae5ffe75e5b67674c27434a9f", size = 442891 }, + { url = "https://files.pythonhosted.org/packages/9a/a9/6657664a55f78db8767e396cc9723782ed3311eb57704b0a5dacfa731916/aiohttp-3.11.13-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:2eabb269dc3852537d57589b36d7f7362e57d1ece308842ef44d9830d2dc3c90", size = 705054 }, + { url = "https://files.pythonhosted.org/packages/3b/06/f7df1fe062d16422f70af5065b76264f40b382605cf7477fa70553a9c9c1/aiohttp-3.11.13-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7b77ee42addbb1c36d35aca55e8cc6d0958f8419e458bb70888d8c69a4ca833d", size = 464440 }, + { url = "https://files.pythonhosted.org/packages/22/3a/8773ea866735754004d9f79e501fe988bdd56cfac7fdecbc8de17fc093eb/aiohttp-3.11.13-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55789e93c5ed71832e7fac868167276beadf9877b85697020c46e9a75471f55f", size = 456394 }, + { url = "https://files.pythonhosted.org/packages/7f/61/8e2f2af2327e8e475a2b0890f15ef0bbfd117e321cce1e1ed210df81bbac/aiohttp-3.11.13-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c929f9a7249a11e4aa5c157091cfad7f49cc6b13f4eecf9b747104befd9f56f2", size = 1682752 }, + { url = "https://files.pythonhosted.org/packages/24/ed/84fce816bc8da39aa3f6c1196fe26e47065fea882b1a67a808282029c079/aiohttp-3.11.13-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d33851d85537bbf0f6291ddc97926a754c8f041af759e0aa0230fe939168852b", size = 1737375 }, + { url = "https://files.pythonhosted.org/packages/d9/de/35a5ba9e3d21ebfda1ebbe66f6cc5cbb4d3ff9bd6a03e5e8a788954f8f27/aiohttp-3.11.13-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9229d8613bd8401182868fe95688f7581673e1c18ff78855671a4b8284f47bcb", size = 1793660 }, + { url = "https://files.pythonhosted.org/packages/ff/fe/0f650a8c7c72c8a07edf8ab164786f936668acd71786dd5885fc4b1ca563/aiohttp-3.11.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:669dd33f028e54fe4c96576f406ebb242ba534dd3a981ce009961bf49960f117", size = 1692233 }, + { url = "https://files.pythonhosted.org/packages/a8/20/185378b3483f968c6303aafe1e33b0da0d902db40731b2b2b2680a631131/aiohttp-3.11.13-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c1b20a1ace54af7db1f95af85da530fe97407d9063b7aaf9ce6a32f44730778", size = 1619708 }, + { url = "https://files.pythonhosted.org/packages/a4/f9/d9c181750980b17e1e13e522d7e82a8d08d3d28a2249f99207ef5d8d738f/aiohttp-3.11.13-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5724cc77f4e648362ebbb49bdecb9e2b86d9b172c68a295263fa072e679ee69d", size = 1641802 }, + { url = "https://files.pythonhosted.org/packages/50/c7/1cb46b72b1788710343b6e59eaab9642bd2422f2d87ede18b1996e0aed8f/aiohttp-3.11.13-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:aa36c35e94ecdb478246dd60db12aba57cfcd0abcad43c927a8876f25734d496", size = 1684678 }, + { url = "https://files.pythonhosted.org/packages/71/87/89b979391de840c5d7c34e78e1148cc731b8aafa84b6a51d02f44b4c66e2/aiohttp-3.11.13-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9b5b37c863ad5b0892cc7a4ceb1e435e5e6acd3f2f8d3e11fa56f08d3c67b820", size = 1646921 }, + { url = "https://files.pythonhosted.org/packages/a7/db/a463700ac85b72f8cf68093e988538faaf4e865e3150aa165cf80ee29d6e/aiohttp-3.11.13-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:e06cf4852ce8c4442a59bae5a3ea01162b8fcb49ab438d8548b8dc79375dad8a", size = 1702493 }, + { url = "https://files.pythonhosted.org/packages/b8/32/1084e65da3adfb08c7e1b3e94f3e4ded8bd707dee265a412bc377b7cd000/aiohttp-3.11.13-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5194143927e494616e335d074e77a5dac7cd353a04755330c9adc984ac5a628e", size = 1735004 }, + { url = "https://files.pythonhosted.org/packages/a0/bb/a634cbdd97ce5d05c2054a9a35bfc32792d7e4f69d600ad7e820571d095b/aiohttp-3.11.13-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:afcb6b275c2d2ba5d8418bf30a9654fa978b4f819c2e8db6311b3525c86fe637", size = 1694964 }, + { url = "https://files.pythonhosted.org/packages/fd/cf/7d29db4e5c28ec316e5d2ac9ac9df0e2e278e9ea910e5c4205b9b64c2c42/aiohttp-3.11.13-cp312-cp312-win32.whl", hash = "sha256:7104d5b3943c6351d1ad7027d90bdd0ea002903e9f610735ac99df3b81f102ee", size = 411746 }, + { url = "https://files.pythonhosted.org/packages/65/a9/13e69ad4fd62104ebd94617f9f2be58231b50bb1e6bac114f024303ac23b/aiohttp-3.11.13-cp312-cp312-win_amd64.whl", hash = "sha256:47dc018b1b220c48089b5b9382fbab94db35bef2fa192995be22cbad3c5730c8", size = 438078 }, + { url = "https://files.pythonhosted.org/packages/87/dc/7d58d33cec693f1ddf407d4ab975445f5cb507af95600f137b81683a18d8/aiohttp-3.11.13-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:9862d077b9ffa015dbe3ce6c081bdf35135948cb89116e26667dd183550833d1", size = 698372 }, + { url = "https://files.pythonhosted.org/packages/84/e7/5d88514c9e24fbc8dd6117350a8ec4a9314f4adae6e89fe32e3e639b0c37/aiohttp-3.11.13-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:fbfef0666ae9e07abfa2c54c212ac18a1f63e13e0760a769f70b5717742f3ece", size = 461057 }, + { url = "https://files.pythonhosted.org/packages/96/1a/8143c48a929fa00c6324f85660cb0f47a55ed9385f0c1b72d4b8043acf8e/aiohttp-3.11.13-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:93a1f7d857c4fcf7cabb1178058182c789b30d85de379e04f64c15b7e88d66fb", size = 453340 }, + { url = "https://files.pythonhosted.org/packages/2f/1c/b8010e4d65c5860d62681088e5376f3c0a940c5e3ca8989cae36ce8c3ea8/aiohttp-3.11.13-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba40b7ae0f81c7029583a338853f6607b6d83a341a3dcde8bed1ea58a3af1df9", size = 1665561 }, + { url = "https://files.pythonhosted.org/packages/19/ed/a68c3ab2f92fdc17dfc2096117d1cfaa7f7bdded2a57bacbf767b104165b/aiohttp-3.11.13-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b5b95787335c483cd5f29577f42bbe027a412c5431f2f80a749c80d040f7ca9f", size = 1718335 }, + { url = "https://files.pythonhosted.org/packages/27/4f/3a0b6160ce663b8ebdb65d1eedff60900cd7108838c914d25952fe2b909f/aiohttp-3.11.13-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7d474c5c1f0b9405c1565fafdc4429fa7d986ccbec7ce55bc6a330f36409cad", size = 1775522 }, + { url = "https://files.pythonhosted.org/packages/0b/58/9da09291e19696c452e7224c1ce8c6d23a291fe8cd5c6b247b51bcda07db/aiohttp-3.11.13-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e83fb1991e9d8982b3b36aea1e7ad27ea0ce18c14d054c7a404d68b0319eebb", size = 1677566 }, + { url = "https://files.pythonhosted.org/packages/3d/18/6184f2bf8bbe397acbbbaa449937d61c20a6b85765f48e5eddc6d84957fe/aiohttp-3.11.13-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4586a68730bd2f2b04a83e83f79d271d8ed13763f64b75920f18a3a677b9a7f0", size = 1603590 }, + { url = "https://files.pythonhosted.org/packages/04/94/91e0d1ca0793012ccd927e835540aa38cca98bdce2389256ab813ebd64a3/aiohttp-3.11.13-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9fe4eb0e7f50cdb99b26250d9328faef30b1175a5dbcfd6d0578d18456bac567", size = 1618688 }, + { url = "https://files.pythonhosted.org/packages/71/85/d13c3ea2e48a10b43668305d4903838834c3d4112e5229177fbcc23a56cd/aiohttp-3.11.13-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:2a8a6bc19818ac3e5596310ace5aa50d918e1ebdcc204dc96e2f4d505d51740c", size = 1658053 }, + { url = "https://files.pythonhosted.org/packages/12/6a/3242a35100de23c1e8d9e05e8605e10f34268dee91b00d9d1e278c58eb80/aiohttp-3.11.13-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:7f27eec42f6c3c1df09cfc1f6786308f8b525b8efaaf6d6bd76c1f52c6511f6a", size = 1616917 }, + { url = "https://files.pythonhosted.org/packages/f5/b3/3f99b6f0a9a79590a7ba5655dbde8408c685aa462247378c977603464d0a/aiohttp-3.11.13-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:2a4a13dfbb23977a51853b419141cd0a9b9573ab8d3a1455c6e63561387b52ff", size = 1685872 }, + { url = "https://files.pythonhosted.org/packages/8a/2e/99672181751f280a85e24fcb9a2c2469e8b1a0de1746b7b5c45d1eb9a999/aiohttp-3.11.13-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:02876bf2f69b062584965507b07bc06903c2dc93c57a554b64e012d636952654", size = 1715719 }, + { url = "https://files.pythonhosted.org/packages/7a/cd/68030356eb9a7d57b3e2823c8a852709d437abb0fbff41a61ebc351b7625/aiohttp-3.11.13-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b992778d95b60a21c4d8d4a5f15aaab2bd3c3e16466a72d7f9bfd86e8cea0d4b", size = 1673166 }, + { url = "https://files.pythonhosted.org/packages/03/61/425397a9a2839c609d09fdb53d940472f316a2dbeaa77a35b2628dae6284/aiohttp-3.11.13-cp313-cp313-win32.whl", hash = "sha256:507ab05d90586dacb4f26a001c3abf912eb719d05635cbfad930bdbeb469b36c", size = 410615 }, + { url = "https://files.pythonhosted.org/packages/9c/54/ebb815bc0fe057d8e7a11c086c479e972e827082f39aeebc6019dd4f0862/aiohttp-3.11.13-cp313-cp313-win_amd64.whl", hash = "sha256:5ceb81a4db2decdfa087381b5fc5847aa448244f973e5da232610304e199e7b2", size = 436452 }, + { url = "https://files.pythonhosted.org/packages/86/88/c80c0972d35cdce2a62905a2053fc483685bf5f3930f1ab269ec006e1e98/aiohttp-3.11.13-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:51c3ff9c7a25f3cad5c09d9aacbc5aefb9267167c4652c1eb737989b554fe278", size = 709814 }, + { url = "https://files.pythonhosted.org/packages/ca/e6/d7ee65a814615fb6de79d124bb72be4e84f9d68485751c5279994554f061/aiohttp-3.11.13-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e271beb2b1dabec5cd84eb488bdabf9758d22ad13471e9c356be07ad139b3012", size = 469313 }, + { url = "https://files.pythonhosted.org/packages/8c/ab/d6257596cad471675419673d53f6e409d9eb7acfa7e36dfb77e8b65504b3/aiohttp-3.11.13-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0e9eb7e5764abcb49f0e2bd8f5731849b8728efbf26d0cac8e81384c95acec3f", size = 456376 }, + { url = "https://files.pythonhosted.org/packages/1d/d5/ab9ad5242c7920e224cbdc1c9bec62a79f75884049ccb86edb64225e4c0f/aiohttp-3.11.13-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:baae005092e3f200de02699314ac8933ec20abf998ec0be39448f6605bce93df", size = 1587792 }, + { url = "https://files.pythonhosted.org/packages/23/01/ef79aeb337702bbfd034b1d1a6357dca4a270ebe2b0ff80bb8ba90851ea0/aiohttp-3.11.13-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1982c98ac62c132d2b773d50e2fcc941eb0b8bad3ec078ce7e7877c4d5a2dce7", size = 1636636 }, + { url = "https://files.pythonhosted.org/packages/a6/ff/3bc33d6ab85046ecc3319817c1f473061cd97caba5a1cd154be181ab56ab/aiohttp-3.11.13-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d2b25b2eeb35707113b2d570cadc7c612a57f1c5d3e7bb2b13870fe284e08fc0", size = 1672707 }, + { url = "https://files.pythonhosted.org/packages/f4/fd/2d1934d22b89de0d6b9dbb30c310996e440fffc08f95b083d91b6a7916c1/aiohttp-3.11.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b27961d65639128336b7a7c3f0046dcc62a9443d5ef962e3c84170ac620cec47", size = 1589919 }, + { url = "https://files.pythonhosted.org/packages/35/01/b13fe945b056a910fe98f659e6533b4a9e7f08f414f6c5447a9726df81e0/aiohttp-3.11.13-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a01fe9f1e05025eacdd97590895e2737b9f851d0eb2e017ae9574d9a4f0b6252", size = 1544444 }, + { url = "https://files.pythonhosted.org/packages/73/9b/26da500b8de48a88b287936fae66d4f52306daedc6b6a273e97f479db685/aiohttp-3.11.13-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:fa1fb1b61881c8405829c50e9cc5c875bfdbf685edf57a76817dfb50643e4a1a", size = 1530616 }, + { url = "https://files.pythonhosted.org/packages/fc/27/5d1636c675f4f5ad0a8a68874d78fe6049041274d4d5da682f4ffee78097/aiohttp-3.11.13-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:25de43bb3cf83ad83efc8295af7310219af6dbe4c543c2e74988d8e9c8a2a917", size = 1559227 }, + { url = "https://files.pythonhosted.org/packages/32/cc/3ae7e23762b28fa9f794d89fde21111c5af85a2ec081a15812c312febfa7/aiohttp-3.11.13-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:fe7065e2215e4bba63dc00db9ae654c1ba3950a5fff691475a32f511142fcddb", size = 1536468 }, + { url = "https://files.pythonhosted.org/packages/cc/96/4ad817e79b0a3cc5089b818fccaf724d7d179f5840bc43fa538a2506f396/aiohttp-3.11.13-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:7836587eef675a17d835ec3d98a8c9acdbeb2c1d72b0556f0edf4e855a25e9c1", size = 1607310 }, + { url = "https://files.pythonhosted.org/packages/3f/f3/c7e502478b8a181a85ac1524a6755dbb41959ee82edb681981733dcac87e/aiohttp-3.11.13-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:85fa0b18558eb1427090912bd456a01f71edab0872f4e0f9e4285571941e4090", size = 1629492 }, + { url = "https://files.pythonhosted.org/packages/3a/bb/0629e93af6317b277285a472d8e7aa92fa4e654dca00cf70f89f1788bd89/aiohttp-3.11.13-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a86dc177eb4c286c19d1823ac296299f59ed8106c9536d2b559f65836e0fb2c6", size = 1567741 }, + { url = "https://files.pythonhosted.org/packages/fc/40/427dafa3664413d29c5b3546aaacafb33e7725b1f6e15ce54cb857183c7b/aiohttp-3.11.13-cp39-cp39-win32.whl", hash = "sha256:684eea71ab6e8ade86b9021bb62af4bf0881f6be4e926b6b5455de74e420783a", size = 417303 }, + { url = "https://files.pythonhosted.org/packages/ca/a1/c7c0cdccbad4678dfb51f4d4f22dc6aacf8e3cdd6b99071170246106c364/aiohttp-3.11.13-cp39-cp39-win_amd64.whl", hash = "sha256:82c249f2bfa5ecbe4a1a7902c81c0fba52ed9ebd0176ab3047395d02ad96cfcb", size = 442608 }, +] + +[[package]] +name = "aiosignal" +version = "1.3.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "frozenlist" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ba/b5/6d55e80f6d8a08ce22b982eafa278d823b541c925f11ee774b0b9c43473d/aiosignal-1.3.2.tar.gz", hash = "sha256:a8c255c66fafb1e499c9351d0bf32ff2d8a0321595ebac3b93713656d2436f54", size = 19424 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/6a/bc7e17a3e87a2985d3e8f4da4cd0f481060eb78fb08596c42be62c90a4d9/aiosignal-1.3.2-py2.py3-none-any.whl", hash = "sha256:45cde58e409a301715980c2b01d0c28bdde3770d8290b5eb2173759d9acb31a5", size = 7597 }, +] + +[[package]] +name = "alabaster" +version = "0.7.16" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c9/3e/13dd8e5ed9094e734ac430b5d0eb4f2bb001708a8b7856cbf8e084e001ba/alabaster-0.7.16.tar.gz", hash = "sha256:75a8b99c28a5dad50dd7f8ccdd447a121ddb3892da9e53d1ca5cca3106d58d65", size = 23776 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/32/34/d4e1c02d3bee589efb5dfa17f88ea08bdb3e3eac12bc475462aec52ed223/alabaster-0.7.16-py3-none-any.whl", hash = "sha256:b46733c07dce03ae4e150330b975c75737fa60f0a7c591b6c8bf4928a28e2c92", size = 13511 }, +] + +[[package]] +name = "astroid" +version = "3.3.8" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/80/c5/5c83c48bbf547f3dd8b587529db7cf5a265a3368b33e85e76af8ff6061d3/astroid-3.3.8.tar.gz", hash = "sha256:a88c7994f914a4ea8572fac479459f4955eeccc877be3f2d959a33273b0cf40b", size = 398196 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/07/28/0bc8a17d6cd4cc3c79ae41b7105a2b9a327c110e5ddd37a8a27b29a5c8a2/astroid-3.3.8-py3-none-any.whl", hash = "sha256:187ccc0c248bfbba564826c26f070494f7bc964fd286b6d9fff4420e55de828c", size = 275153 }, +] + +[[package]] +name = "async-timeout" +version = "4.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/87/d6/21b30a550dafea84b1b8eee21b5e23fa16d010ae006011221f33dcd8d7f8/async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f", size = 8345 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/fa/e01228c2938de91d47b307831c62ab9e4001e747789d0b05baf779a6488c/async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028", size = 5721 }, +] + +[[package]] +name = "attrs" +version = "25.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/49/7c/fdf464bcc51d23881d110abd74b512a42b3d5d376a55a831b44c603ae17f/attrs-25.1.0.tar.gz", hash = "sha256:1c97078a80c814273a76b2a298a932eb681c87415c11dee0a6921de7f1b02c3e", size = 810562 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fc/30/d4986a882011f9df997a55e6becd864812ccfcd821d64aac8570ee39f719/attrs-25.1.0-py3-none-any.whl", hash = "sha256:c75a69e28a550a7e93789579c22aa26b0f5b83b75dc4e08fe092980051e1090a", size = 63152 }, +] + +[[package]] +name = "babel" +version = "2.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7d/6b/d52e42361e1aa00709585ecc30b3f9684b3ab62530771402248b1b1d6240/babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d", size = 9951852 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537 }, +] + +[[package]] +name = "beautifulsoup4" +version = "4.13.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "soupsieve" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f0/3c/adaf39ce1fb4afdd21b611e3d530b183bb7759c9b673d60db0e347fd4439/beautifulsoup4-4.13.3.tar.gz", hash = "sha256:1bd32405dacc920b42b83ba01644747ed77456a65760e285fbc47633ceddaf8b", size = 619516 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/49/6abb616eb3cbab6a7cca303dc02fdf3836de2e0b834bf966a7f5271a34d8/beautifulsoup4-4.13.3-py3-none-any.whl", hash = "sha256:99045d7d3f08f91f0d656bc9b7efbae189426cd913d830294a15eefa0ea4df16", size = 186015 }, +] + +[[package]] +name = "bleak" +version = "0.22.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "async-timeout", marker = "python_full_version < '3.11'" }, + { name = "bleak-winrt", marker = "python_full_version < '3.12' and sys_platform == 'win32'" }, + { name = "dbus-fast", marker = "sys_platform == 'linux'" }, + { name = "pyobjc-core", marker = "sys_platform == 'darwin'" }, + { name = "pyobjc-framework-corebluetooth", marker = "sys_platform == 'darwin'" }, + { name = "pyobjc-framework-libdispatch", marker = "sys_platform == 'darwin'" }, + { name = "typing-extensions", marker = "python_full_version < '3.12'" }, + { name = "winrt-runtime", marker = "python_full_version >= '3.12' and sys_platform == 'win32'" }, + { name = "winrt-windows-devices-bluetooth", marker = "python_full_version >= '3.12' and sys_platform == 'win32'" }, + { name = "winrt-windows-devices-bluetooth-advertisement", marker = "python_full_version >= '3.12' and sys_platform == 'win32'" }, + { name = "winrt-windows-devices-bluetooth-genericattributeprofile", marker = "python_full_version >= '3.12' and sys_platform == 'win32'" }, + { name = "winrt-windows-devices-enumeration", marker = "python_full_version >= '3.12' and sys_platform == 'win32'" }, + { name = "winrt-windows-foundation", marker = "python_full_version >= '3.12' and sys_platform == 'win32'" }, + { name = "winrt-windows-foundation-collections", marker = "python_full_version >= '3.12' and sys_platform == 'win32'" }, + { name = "winrt-windows-storage-streams", marker = "python_full_version >= '3.12' and sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fb/96/15750b50c0018338e2cce30de939130971ebfdf4f9d6d56c960f5657daad/bleak-0.22.3.tar.gz", hash = "sha256:3149c3c19657e457727aa53d9d6aeb89658495822cd240afd8aeca4dd09c045c", size = 122339 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0a/ce/3adf9e742bb22e4a4b3435f24111cb46a1d12731ba655ee00bb5ab0308cc/bleak-0.22.3-py3-none-any.whl", hash = "sha256:1e62a9f5e0c184826e6c906e341d8aca53793e4596eeaf4e0b191e7aca5c461c", size = 142719 }, +] + +[[package]] +name = "bleak-winrt" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a9/7a/009ee84b7860a8c5345529026df32a5caa5da767a840a6f7bf259f53a2ed/bleak-winrt-1.2.0.tar.gz", hash = "sha256:0577d070251b9354fc6c45ffac57e39341ebb08ead014b1bdbd43e211d2ce1d6", size = 3855591 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/e8/468c305897ad38fda6bbd23a93fe5052c2f2269b35d08379ee58e9b70ed2/bleak_winrt-1.2.0-cp310-cp310-win32.whl", hash = "sha256:a2ae3054d6843ae0cfd3b94c83293a1dfd5804393977dd69bde91cb5099fc47c", size = 446426 }, + { url = "https://files.pythonhosted.org/packages/97/ea/bc9865b910b94c9d3f064f6adcb59acaadf88e81f650998248a79beb24db/bleak_winrt-1.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:677df51dc825c6657b3ae94f00bd09b8ab88422b40d6a7bdbf7972a63bc44e9a", size = 525255 }, + { url = "https://files.pythonhosted.org/packages/59/d8/a9d15da86bfac0426beda775f4ea7a3bfc862e12e7b6735c458ffcb20c3d/bleak_winrt-1.2.0-cp311-cp311-win32.whl", hash = "sha256:9449cdb942f22c9892bc1ada99e2ccce9bea8a8af1493e81fefb6de2cb3a7b80", size = 446383 }, + { url = "https://files.pythonhosted.org/packages/e4/ff/80fb7efa320059a096d6cde1fd869785000dde061e569c043273b69f89ba/bleak_winrt-1.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:98c1b5a6a6c431ac7f76aa4285b752fe14a1c626bd8a1dfa56f66173ff120bee", size = 524891 }, + { url = "https://files.pythonhosted.org/packages/16/c1/ac464ef8929578867d65c1b2c268260ca24990d80a7becabb02bb9f19b98/bleak_winrt-1.2.0-cp39-cp39-win32.whl", hash = "sha256:dd740047a08925bde54bec357391fcee595d7b8ca0c74c87170a5cbc3f97aa0a", size = 447366 }, + { url = "https://files.pythonhosted.org/packages/bb/ae/569e49da942f3be51bc5bc6848f7441ec2c362b4439d882e2cb9c70e25fc/bleak_winrt-1.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:63130c11acfe75c504a79c01f9919e87f009f5e742bfc7b7a5c2a9c72bf591a7", size = 527876 }, +] + +[[package]] +name = "certifi" +version = "2025.1.31" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651", size = 167577 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe", size = 166393 }, +] + +[[package]] +name = "cffi" +version = "1.17.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pycparser" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/90/07/f44ca684db4e4f08a3fdc6eeb9a0d15dc6883efc7b8c90357fdbf74e186c/cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14", size = 182191 }, + { url = "https://files.pythonhosted.org/packages/08/fd/cc2fedbd887223f9f5d170c96e57cbf655df9831a6546c1727ae13fa977a/cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67", size = 178592 }, + { url = "https://files.pythonhosted.org/packages/de/cc/4635c320081c78d6ffc2cab0a76025b691a91204f4aa317d568ff9280a2d/cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382", size = 426024 }, + { url = "https://files.pythonhosted.org/packages/b6/7b/3b2b250f3aab91abe5f8a51ada1b717935fdaec53f790ad4100fe2ec64d1/cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702", size = 448188 }, + { url = "https://files.pythonhosted.org/packages/d3/48/1b9283ebbf0ec065148d8de05d647a986c5f22586b18120020452fff8f5d/cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3", size = 455571 }, + { url = "https://files.pythonhosted.org/packages/40/87/3b8452525437b40f39ca7ff70276679772ee7e8b394934ff60e63b7b090c/cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6", size = 436687 }, + { url = "https://files.pythonhosted.org/packages/8d/fb/4da72871d177d63649ac449aec2e8a29efe0274035880c7af59101ca2232/cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17", size = 446211 }, + { url = "https://files.pythonhosted.org/packages/ab/a0/62f00bcb411332106c02b663b26f3545a9ef136f80d5df746c05878f8c4b/cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8", size = 461325 }, + { url = "https://files.pythonhosted.org/packages/36/83/76127035ed2e7e27b0787604d99da630ac3123bfb02d8e80c633f218a11d/cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e", size = 438784 }, + { url = "https://files.pythonhosted.org/packages/21/81/a6cd025db2f08ac88b901b745c163d884641909641f9b826e8cb87645942/cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be", size = 461564 }, + { url = "https://files.pythonhosted.org/packages/f8/fe/4d41c2f200c4a457933dbd98d3cf4e911870877bd94d9656cc0fcb390681/cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c", size = 171804 }, + { url = "https://files.pythonhosted.org/packages/d1/b6/0b0f5ab93b0df4acc49cae758c81fe4e5ef26c3ae2e10cc69249dfd8b3ab/cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15", size = 181299 }, + { url = "https://files.pythonhosted.org/packages/6b/f4/927e3a8899e52a27fa57a48607ff7dc91a9ebe97399b357b85a0c7892e00/cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401", size = 182264 }, + { url = "https://files.pythonhosted.org/packages/6c/f5/6c3a8efe5f503175aaddcbea6ad0d2c96dad6f5abb205750d1b3df44ef29/cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf", size = 178651 }, + { url = "https://files.pythonhosted.org/packages/94/dd/a3f0118e688d1b1a57553da23b16bdade96d2f9bcda4d32e7d2838047ff7/cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4", size = 445259 }, + { url = "https://files.pythonhosted.org/packages/2e/ea/70ce63780f096e16ce8588efe039d3c4f91deb1dc01e9c73a287939c79a6/cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41", size = 469200 }, + { url = "https://files.pythonhosted.org/packages/1c/a0/a4fa9f4f781bda074c3ddd57a572b060fa0df7655d2a4247bbe277200146/cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1", size = 477235 }, + { url = "https://files.pythonhosted.org/packages/62/12/ce8710b5b8affbcdd5c6e367217c242524ad17a02fe5beec3ee339f69f85/cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6", size = 459721 }, + { url = "https://files.pythonhosted.org/packages/ff/6b/d45873c5e0242196f042d555526f92aa9e0c32355a1be1ff8c27f077fd37/cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d", size = 467242 }, + { url = "https://files.pythonhosted.org/packages/1a/52/d9a0e523a572fbccf2955f5abe883cfa8bcc570d7faeee06336fbd50c9fc/cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6", size = 477999 }, + { url = "https://files.pythonhosted.org/packages/44/74/f2a2460684a1a2d00ca799ad880d54652841a780c4c97b87754f660c7603/cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f", size = 454242 }, + { url = "https://files.pythonhosted.org/packages/f8/4a/34599cac7dfcd888ff54e801afe06a19c17787dfd94495ab0c8d35fe99fb/cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b", size = 478604 }, + { url = "https://files.pythonhosted.org/packages/34/33/e1b8a1ba29025adbdcda5fb3a36f94c03d771c1b7b12f726ff7fef2ebe36/cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655", size = 171727 }, + { url = "https://files.pythonhosted.org/packages/3d/97/50228be003bb2802627d28ec0627837ac0bf35c90cf769812056f235b2d1/cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0", size = 181400 }, + { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178 }, + { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840 }, + { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803 }, + { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850 }, + { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729 }, + { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256 }, + { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424 }, + { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568 }, + { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736 }, + { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448 }, + { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976 }, + { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989 }, + { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802 }, + { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792 }, + { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893 }, + { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810 }, + { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200 }, + { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447 }, + { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358 }, + { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469 }, + { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475 }, + { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009 }, + { url = "https://files.pythonhosted.org/packages/b9/ea/8bb50596b8ffbc49ddd7a1ad305035daa770202a6b782fc164647c2673ad/cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16", size = 182220 }, + { url = "https://files.pythonhosted.org/packages/ae/11/e77c8cd24f58285a82c23af484cf5b124a376b32644e445960d1a4654c3a/cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36", size = 178605 }, + { url = "https://files.pythonhosted.org/packages/ed/65/25a8dc32c53bf5b7b6c2686b42ae2ad58743f7ff644844af7cdb29b49361/cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8", size = 424910 }, + { url = "https://files.pythonhosted.org/packages/42/7a/9d086fab7c66bd7c4d0f27c57a1b6b068ced810afc498cc8c49e0088661c/cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576", size = 447200 }, + { url = "https://files.pythonhosted.org/packages/da/63/1785ced118ce92a993b0ec9e0d0ac8dc3e5dbfbcaa81135be56c69cabbb6/cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87", size = 454565 }, + { url = "https://files.pythonhosted.org/packages/74/06/90b8a44abf3556599cdec107f7290277ae8901a58f75e6fe8f970cd72418/cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0", size = 435635 }, + { url = "https://files.pythonhosted.org/packages/bd/62/a1f468e5708a70b1d86ead5bab5520861d9c7eacce4a885ded9faa7729c3/cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3", size = 445218 }, + { url = "https://files.pythonhosted.org/packages/5b/95/b34462f3ccb09c2594aa782d90a90b045de4ff1f70148ee79c69d37a0a5a/cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595", size = 460486 }, + { url = "https://files.pythonhosted.org/packages/fc/fc/a1e4bebd8d680febd29cf6c8a40067182b64f00c7d105f8f26b5bc54317b/cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a", size = 437911 }, + { url = "https://files.pythonhosted.org/packages/e6/c3/21cab7a6154b6a5ea330ae80de386e7665254835b9e98ecc1340b3a7de9a/cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e", size = 460632 }, + { url = "https://files.pythonhosted.org/packages/cb/b5/fd9f8b5a84010ca169ee49f4e4ad6f8c05f4e3545b72ee041dbbcb159882/cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7", size = 171820 }, + { url = "https://files.pythonhosted.org/packages/8c/52/b08750ce0bce45c143e1b5d7357ee8c55341b52bdef4b0f081af1eb248c2/cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662", size = 181290 }, +] + +[[package]] +name = "cfgv" +version = "3.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/11/74/539e56497d9bd1d484fd863dd69cbbfa653cd2aa27abfe35653494d85e94/cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560", size = 7114 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c5/55/51844dd50c4fc7a33b653bfaba4c2456f06955289ca770a5dbd5fd267374/cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9", size = 7249 }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/16/b0/572805e227f01586461c80e0fd25d65a2115599cc9dad142fee4b747c357/charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3", size = 123188 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0d/58/5580c1716040bc89206c77d8f74418caf82ce519aae06450393ca73475d1/charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de", size = 198013 }, + { url = "https://files.pythonhosted.org/packages/d0/11/00341177ae71c6f5159a08168bcb98c6e6d196d372c94511f9f6c9afe0c6/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176", size = 141285 }, + { url = "https://files.pythonhosted.org/packages/01/09/11d684ea5819e5a8f5100fb0b38cf8d02b514746607934134d31233e02c8/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037", size = 151449 }, + { url = "https://files.pythonhosted.org/packages/08/06/9f5a12939db324d905dc1f70591ae7d7898d030d7662f0d426e2286f68c9/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f", size = 143892 }, + { url = "https://files.pythonhosted.org/packages/93/62/5e89cdfe04584cb7f4d36003ffa2936681b03ecc0754f8e969c2becb7e24/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a", size = 146123 }, + { url = "https://files.pythonhosted.org/packages/a9/ac/ab729a15c516da2ab70a05f8722ecfccc3f04ed7a18e45c75bbbaa347d61/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a", size = 147943 }, + { url = "https://files.pythonhosted.org/packages/03/d2/3f392f23f042615689456e9a274640c1d2e5dd1d52de36ab8f7955f8f050/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247", size = 142063 }, + { url = "https://files.pythonhosted.org/packages/f2/e3/e20aae5e1039a2cd9b08d9205f52142329f887f8cf70da3650326670bddf/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408", size = 150578 }, + { url = "https://files.pythonhosted.org/packages/8d/af/779ad72a4da0aed925e1139d458adc486e61076d7ecdcc09e610ea8678db/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb", size = 153629 }, + { url = "https://files.pythonhosted.org/packages/c2/b6/7aa450b278e7aa92cf7732140bfd8be21f5f29d5bf334ae987c945276639/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d", size = 150778 }, + { url = "https://files.pythonhosted.org/packages/39/f4/d9f4f712d0951dcbfd42920d3db81b00dd23b6ab520419626f4023334056/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807", size = 146453 }, + { url = "https://files.pythonhosted.org/packages/49/2b/999d0314e4ee0cff3cb83e6bc9aeddd397eeed693edb4facb901eb8fbb69/charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f", size = 95479 }, + { url = "https://files.pythonhosted.org/packages/2d/ce/3cbed41cff67e455a386fb5e5dd8906cdda2ed92fbc6297921f2e4419309/charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f", size = 102790 }, + { url = "https://files.pythonhosted.org/packages/72/80/41ef5d5a7935d2d3a773e3eaebf0a9350542f2cab4eac59a7a4741fbbbbe/charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125", size = 194995 }, + { url = "https://files.pythonhosted.org/packages/7a/28/0b9fefa7b8b080ec492110af6d88aa3dea91c464b17d53474b6e9ba5d2c5/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1", size = 139471 }, + { url = "https://files.pythonhosted.org/packages/71/64/d24ab1a997efb06402e3fc07317e94da358e2585165930d9d59ad45fcae2/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3", size = 149831 }, + { url = "https://files.pythonhosted.org/packages/37/ed/be39e5258e198655240db5e19e0b11379163ad7070962d6b0c87ed2c4d39/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd", size = 142335 }, + { url = "https://files.pythonhosted.org/packages/88/83/489e9504711fa05d8dde1574996408026bdbdbd938f23be67deebb5eca92/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00", size = 143862 }, + { url = "https://files.pythonhosted.org/packages/c6/c7/32da20821cf387b759ad24627a9aca289d2822de929b8a41b6241767b461/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12", size = 145673 }, + { url = "https://files.pythonhosted.org/packages/68/85/f4288e96039abdd5aeb5c546fa20a37b50da71b5cf01e75e87f16cd43304/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77", size = 140211 }, + { url = "https://files.pythonhosted.org/packages/28/a3/a42e70d03cbdabc18997baf4f0227c73591a08041c149e710045c281f97b/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146", size = 148039 }, + { url = "https://files.pythonhosted.org/packages/85/e4/65699e8ab3014ecbe6f5c71d1a55d810fb716bbfd74f6283d5c2aa87febf/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd", size = 151939 }, + { url = "https://files.pythonhosted.org/packages/b1/82/8e9fe624cc5374193de6860aba3ea8070f584c8565ee77c168ec13274bd2/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6", size = 149075 }, + { url = "https://files.pythonhosted.org/packages/3d/7b/82865ba54c765560c8433f65e8acb9217cb839a9e32b42af4aa8e945870f/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8", size = 144340 }, + { url = "https://files.pythonhosted.org/packages/b5/b6/9674a4b7d4d99a0d2df9b215da766ee682718f88055751e1e5e753c82db0/charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b", size = 95205 }, + { url = "https://files.pythonhosted.org/packages/1e/ab/45b180e175de4402dcf7547e4fb617283bae54ce35c27930a6f35b6bef15/charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76", size = 102441 }, + { url = "https://files.pythonhosted.org/packages/0a/9a/dd1e1cdceb841925b7798369a09279bd1cf183cef0f9ddf15a3a6502ee45/charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545", size = 196105 }, + { url = "https://files.pythonhosted.org/packages/d3/8c/90bfabf8c4809ecb648f39794cf2a84ff2e7d2a6cf159fe68d9a26160467/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7", size = 140404 }, + { url = "https://files.pythonhosted.org/packages/ad/8f/e410d57c721945ea3b4f1a04b74f70ce8fa800d393d72899f0a40526401f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757", size = 150423 }, + { url = "https://files.pythonhosted.org/packages/f0/b8/e6825e25deb691ff98cf5c9072ee0605dc2acfca98af70c2d1b1bc75190d/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa", size = 143184 }, + { url = "https://files.pythonhosted.org/packages/3e/a2/513f6cbe752421f16d969e32f3583762bfd583848b763913ddab8d9bfd4f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d", size = 145268 }, + { url = "https://files.pythonhosted.org/packages/74/94/8a5277664f27c3c438546f3eb53b33f5b19568eb7424736bdc440a88a31f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616", size = 147601 }, + { url = "https://files.pythonhosted.org/packages/7c/5f/6d352c51ee763623a98e31194823518e09bfa48be2a7e8383cf691bbb3d0/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b", size = 141098 }, + { url = "https://files.pythonhosted.org/packages/78/d4/f5704cb629ba5ab16d1d3d741396aec6dc3ca2b67757c45b0599bb010478/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d", size = 149520 }, + { url = "https://files.pythonhosted.org/packages/c5/96/64120b1d02b81785f222b976c0fb79a35875457fa9bb40827678e54d1bc8/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a", size = 152852 }, + { url = "https://files.pythonhosted.org/packages/84/c9/98e3732278a99f47d487fd3468bc60b882920cef29d1fa6ca460a1fdf4e6/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9", size = 150488 }, + { url = "https://files.pythonhosted.org/packages/13/0e/9c8d4cb99c98c1007cc11eda969ebfe837bbbd0acdb4736d228ccaabcd22/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1", size = 146192 }, + { url = "https://files.pythonhosted.org/packages/b2/21/2b6b5b860781a0b49427309cb8670785aa543fb2178de875b87b9cc97746/charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35", size = 95550 }, + { url = "https://files.pythonhosted.org/packages/21/5b/1b390b03b1d16c7e382b561c5329f83cc06623916aab983e8ab9239c7d5c/charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f", size = 102785 }, + { url = "https://files.pythonhosted.org/packages/38/94/ce8e6f63d18049672c76d07d119304e1e2d7c6098f0841b51c666e9f44a0/charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda", size = 195698 }, + { url = "https://files.pythonhosted.org/packages/24/2e/dfdd9770664aae179a96561cc6952ff08f9a8cd09a908f259a9dfa063568/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313", size = 140162 }, + { url = "https://files.pythonhosted.org/packages/24/4e/f646b9093cff8fc86f2d60af2de4dc17c759de9d554f130b140ea4738ca6/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9", size = 150263 }, + { url = "https://files.pythonhosted.org/packages/5e/67/2937f8d548c3ef6e2f9aab0f6e21001056f692d43282b165e7c56023e6dd/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b", size = 142966 }, + { url = "https://files.pythonhosted.org/packages/52/ed/b7f4f07de100bdb95c1756d3a4d17b90c1a3c53715c1a476f8738058e0fa/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11", size = 144992 }, + { url = "https://files.pythonhosted.org/packages/96/2c/d49710a6dbcd3776265f4c923bb73ebe83933dfbaa841c5da850fe0fd20b/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f", size = 147162 }, + { url = "https://files.pythonhosted.org/packages/b4/41/35ff1f9a6bd380303dea55e44c4933b4cc3c4850988927d4082ada230273/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd", size = 140972 }, + { url = "https://files.pythonhosted.org/packages/fb/43/c6a0b685fe6910d08ba971f62cd9c3e862a85770395ba5d9cad4fede33ab/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2", size = 149095 }, + { url = "https://files.pythonhosted.org/packages/4c/ff/a9a504662452e2d2878512115638966e75633519ec11f25fca3d2049a94a/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886", size = 152668 }, + { url = "https://files.pythonhosted.org/packages/6c/71/189996b6d9a4b932564701628af5cee6716733e9165af1d5e1b285c530ed/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601", size = 150073 }, + { url = "https://files.pythonhosted.org/packages/e4/93/946a86ce20790e11312c87c75ba68d5f6ad2208cfb52b2d6a2c32840d922/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd", size = 145732 }, + { url = "https://files.pythonhosted.org/packages/cd/e5/131d2fb1b0dddafc37be4f3a2fa79aa4c037368be9423061dccadfd90091/charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407", size = 95391 }, + { url = "https://files.pythonhosted.org/packages/27/f2/4f9a69cc7712b9b5ad8fdb87039fd89abba997ad5cbe690d1835d40405b0/charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971", size = 102702 }, + { url = "https://files.pythonhosted.org/packages/7f/c0/b913f8f02836ed9ab32ea643c6fe4d3325c3d8627cf6e78098671cafff86/charset_normalizer-3.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41", size = 197867 }, + { url = "https://files.pythonhosted.org/packages/0f/6c/2bee440303d705b6fb1e2ec789543edec83d32d258299b16eed28aad48e0/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f", size = 141385 }, + { url = "https://files.pythonhosted.org/packages/3d/04/cb42585f07f6f9fd3219ffb6f37d5a39b4fd2db2355b23683060029c35f7/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2", size = 151367 }, + { url = "https://files.pythonhosted.org/packages/54/54/2412a5b093acb17f0222de007cc129ec0e0df198b5ad2ce5699355269dfe/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770", size = 143928 }, + { url = "https://files.pythonhosted.org/packages/5a/6d/e2773862b043dcf8a221342954f375392bb2ce6487bcd9f2c1b34e1d6781/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4", size = 146203 }, + { url = "https://files.pythonhosted.org/packages/b9/f8/ca440ef60d8f8916022859885f231abb07ada3c347c03d63f283bec32ef5/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537", size = 148082 }, + { url = "https://files.pythonhosted.org/packages/04/d2/42fd330901aaa4b805a1097856c2edf5095e260a597f65def493f4b8c833/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496", size = 142053 }, + { url = "https://files.pythonhosted.org/packages/9e/af/3a97a4fa3c53586f1910dadfc916e9c4f35eeada36de4108f5096cb7215f/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78", size = 150625 }, + { url = "https://files.pythonhosted.org/packages/26/ae/23d6041322a3556e4da139663d02fb1b3c59a23ab2e2b56432bd2ad63ded/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7", size = 153549 }, + { url = "https://files.pythonhosted.org/packages/94/22/b8f2081c6a77cb20d97e57e0b385b481887aa08019d2459dc2858ed64871/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6", size = 150945 }, + { url = "https://files.pythonhosted.org/packages/c7/0b/c5ec5092747f801b8b093cdf5610e732b809d6cb11f4c51e35fc28d1d389/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294", size = 146595 }, + { url = "https://files.pythonhosted.org/packages/0c/5a/0b59704c38470df6768aa154cc87b1ac7c9bb687990a1559dc8765e8627e/charset_normalizer-3.4.1-cp39-cp39-win32.whl", hash = "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5", size = 95453 }, + { url = "https://files.pythonhosted.org/packages/85/2d/a9790237cb4d01a6d57afadc8573c8b73c609ade20b80f4cda30802009ee/charset_normalizer-3.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765", size = 102811 }, + { url = "https://files.pythonhosted.org/packages/0e/f6/65ecc6878a89bb1c23a086ea335ad4bf21a588990c3f535a227b9eea9108/charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85", size = 49767 }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 }, +] + +[[package]] +name = "cryptography" +version = "44.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi", marker = "platform_python_implementation != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c7/67/545c79fe50f7af51dbad56d16b23fe33f63ee6a5d956b3cb68ea110cbe64/cryptography-44.0.1.tar.gz", hash = "sha256:f51f5705ab27898afda1aaa430f34ad90dc117421057782022edf0600bec5f14", size = 710819 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/72/27/5e3524053b4c8889da65cf7814a9d0d8514a05194a25e1e34f46852ee6eb/cryptography-44.0.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:bf688f615c29bfe9dfc44312ca470989279f0e94bb9f631f85e3459af8efc009", size = 6642022 }, + { url = "https://files.pythonhosted.org/packages/34/b9/4d1fa8d73ae6ec350012f89c3abfbff19fc95fe5420cf972e12a8d182986/cryptography-44.0.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd7c7e2d71d908dc0f8d2027e1604102140d84b155e658c20e8ad1304317691f", size = 3943865 }, + { url = "https://files.pythonhosted.org/packages/6e/57/371a9f3f3a4500807b5fcd29fec77f418ba27ffc629d88597d0d1049696e/cryptography-44.0.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:887143b9ff6bad2b7570da75a7fe8bbf5f65276365ac259a5d2d5147a73775f2", size = 4162562 }, + { url = "https://files.pythonhosted.org/packages/c5/1d/5b77815e7d9cf1e3166988647f336f87d5634a5ccecec2ffbe08ef8dd481/cryptography-44.0.1-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:322eb03ecc62784536bc173f1483e76747aafeb69c8728df48537eb431cd1911", size = 3951923 }, + { url = "https://files.pythonhosted.org/packages/28/01/604508cd34a4024467cd4105887cf27da128cba3edd435b54e2395064bfb/cryptography-44.0.1-cp37-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:21377472ca4ada2906bc313168c9dc7b1d7ca417b63c1c3011d0c74b7de9ae69", size = 3685194 }, + { url = "https://files.pythonhosted.org/packages/c6/3d/d3c55d4f1d24580a236a6753902ef6d8aafd04da942a1ee9efb9dc8fd0cb/cryptography-44.0.1-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:df978682c1504fc93b3209de21aeabf2375cb1571d4e61907b3e7a2540e83026", size = 4187790 }, + { url = "https://files.pythonhosted.org/packages/ea/a6/44d63950c8588bfa8594fd234d3d46e93c3841b8e84a066649c566afb972/cryptography-44.0.1-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:eb3889330f2a4a148abead555399ec9a32b13b7c8ba969b72d8e500eb7ef84cd", size = 3951343 }, + { url = "https://files.pythonhosted.org/packages/c1/17/f5282661b57301204cbf188254c1a0267dbd8b18f76337f0a7ce1038888c/cryptography-44.0.1-cp37-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:8e6a85a93d0642bd774460a86513c5d9d80b5c002ca9693e63f6e540f1815ed0", size = 4187127 }, + { url = "https://files.pythonhosted.org/packages/f3/68/abbae29ed4f9d96596687f3ceea8e233f65c9645fbbec68adb7c756bb85a/cryptography-44.0.1-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:6f76fdd6fd048576a04c5210d53aa04ca34d2ed63336d4abd306d0cbe298fddf", size = 4070666 }, + { url = "https://files.pythonhosted.org/packages/0f/10/cf91691064a9e0a88ae27e31779200b1505d3aee877dbe1e4e0d73b4f155/cryptography-44.0.1-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6c8acf6f3d1f47acb2248ec3ea261171a671f3d9428e34ad0357148d492c7864", size = 4288811 }, + { url = "https://files.pythonhosted.org/packages/38/78/74ea9eb547d13c34e984e07ec8a473eb55b19c1451fe7fc8077c6a4b0548/cryptography-44.0.1-cp37-abi3-win32.whl", hash = "sha256:24979e9f2040c953a94bf3c6782e67795a4c260734e5264dceea65c8f4bae64a", size = 2771882 }, + { url = "https://files.pythonhosted.org/packages/cf/6c/3907271ee485679e15c9f5e93eac6aa318f859b0aed8d369afd636fafa87/cryptography-44.0.1-cp37-abi3-win_amd64.whl", hash = "sha256:fd0ee90072861e276b0ff08bd627abec29e32a53b2be44e41dbcdf87cbee2b00", size = 3206989 }, + { url = "https://files.pythonhosted.org/packages/9f/f1/676e69c56a9be9fd1bffa9bc3492366901f6e1f8f4079428b05f1414e65c/cryptography-44.0.1-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:a2d8a7045e1ab9b9f803f0d9531ead85f90c5f2859e653b61497228b18452008", size = 6643714 }, + { url = "https://files.pythonhosted.org/packages/ba/9f/1775600eb69e72d8f9931a104120f2667107a0ee478f6ad4fe4001559345/cryptography-44.0.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b8272f257cf1cbd3f2e120f14c68bff2b6bdfcc157fafdee84a1b795efd72862", size = 3943269 }, + { url = "https://files.pythonhosted.org/packages/25/ba/e00d5ad6b58183829615be7f11f55a7b6baa5a06910faabdc9961527ba44/cryptography-44.0.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e8d181e90a777b63f3f0caa836844a1182f1f265687fac2115fcf245f5fbec3", size = 4166461 }, + { url = "https://files.pythonhosted.org/packages/b3/45/690a02c748d719a95ab08b6e4decb9d81e0ec1bac510358f61624c86e8a3/cryptography-44.0.1-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:436df4f203482f41aad60ed1813811ac4ab102765ecae7a2bbb1dbb66dcff5a7", size = 3950314 }, + { url = "https://files.pythonhosted.org/packages/e6/50/bf8d090911347f9b75adc20f6f6569ed6ca9b9bff552e6e390f53c2a1233/cryptography-44.0.1-cp39-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4f422e8c6a28cf8b7f883eb790695d6d45b0c385a2583073f3cec434cc705e1a", size = 3686675 }, + { url = "https://files.pythonhosted.org/packages/e1/e7/cfb18011821cc5f9b21efb3f94f3241e3a658d267a3bf3a0f45543858ed8/cryptography-44.0.1-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:72198e2b5925155497a5a3e8c216c7fb3e64c16ccee11f0e7da272fa93b35c4c", size = 4190429 }, + { url = "https://files.pythonhosted.org/packages/07/ef/77c74d94a8bfc1a8a47b3cafe54af3db537f081742ee7a8a9bd982b62774/cryptography-44.0.1-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:2a46a89ad3e6176223b632056f321bc7de36b9f9b93b2cc1cccf935a3849dc62", size = 3950039 }, + { url = "https://files.pythonhosted.org/packages/6d/b9/8be0ff57c4592382b77406269b1e15650c9f1a167f9e34941b8515b97159/cryptography-44.0.1-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:53f23339864b617a3dfc2b0ac8d5c432625c80014c25caac9082314e9de56f41", size = 4189713 }, + { url = "https://files.pythonhosted.org/packages/78/e1/4b6ac5f4100545513b0847a4d276fe3c7ce0eacfa73e3b5ebd31776816ee/cryptography-44.0.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:888fcc3fce0c888785a4876ca55f9f43787f4c5c1cc1e2e0da71ad481ff82c5b", size = 4071193 }, + { url = "https://files.pythonhosted.org/packages/3d/cb/afff48ceaed15531eab70445abe500f07f8f96af2bb35d98af6bfa89ebd4/cryptography-44.0.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:00918d859aa4e57db8299607086f793fa7813ae2ff5a4637e318a25ef82730f7", size = 4289566 }, + { url = "https://files.pythonhosted.org/packages/30/6f/4eca9e2e0f13ae459acd1ca7d9f0257ab86e68f44304847610afcb813dc9/cryptography-44.0.1-cp39-abi3-win32.whl", hash = "sha256:9b336599e2cb77b1008cb2ac264b290803ec5e8e89d618a5e978ff5eb6f715d9", size = 2772371 }, + { url = "https://files.pythonhosted.org/packages/d2/05/5533d30f53f10239616a357f080892026db2d550a40c393d0a8a7af834a9/cryptography-44.0.1-cp39-abi3-win_amd64.whl", hash = "sha256:e403f7f766ded778ecdb790da786b418a9f2394f36e8cc8b796cc056ab05f44f", size = 3207303 }, + { url = "https://files.pythonhosted.org/packages/15/06/507bfb5c7e048114a0185dd65f7814677a2ba285d15705c3d69e660c21d7/cryptography-44.0.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:1f9a92144fa0c877117e9748c74501bea842f93d21ee00b0cf922846d9d0b183", size = 3380782 }, + { url = "https://files.pythonhosted.org/packages/e0/f1/7fb4982d59aa86e1a116c812b545e7fc045352be07738ae3fb278835a9a4/cryptography-44.0.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:610a83540765a8d8ce0f351ce42e26e53e1f774a6efb71eb1b41eb01d01c3d12", size = 3888155 }, + { url = "https://files.pythonhosted.org/packages/60/7b/cbc203838d3092203493d18b923fbbb1de64e0530b332a713ba376905b0b/cryptography-44.0.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:5fed5cd6102bb4eb843e3315d2bf25fede494509bddadb81e03a859c1bc17b83", size = 4106417 }, + { url = "https://files.pythonhosted.org/packages/12/c7/2fe59fb085ab418acc82e91e040a6acaa7b1696fcc1c1055317537fbf0d3/cryptography-44.0.1-pp310-pypy310_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:f4daefc971c2d1f82f03097dc6f216744a6cd2ac0f04c68fb935ea2ba2a0d420", size = 3887540 }, + { url = "https://files.pythonhosted.org/packages/48/89/09fc7b115f60f5bd970b80e32244f8e9aeeb9244bf870b63420cec3b5cd5/cryptography-44.0.1-pp310-pypy310_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:94f99f2b943b354a5b6307d7e8d19f5c423a794462bde2bf310c770ba052b1c4", size = 4106040 }, + { url = "https://files.pythonhosted.org/packages/2e/38/3fd83c4690dc7d753a442a284b3826ea5e5c380a411443c66421cd823898/cryptography-44.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d9c5b9f698a83c8bd71e0f4d3f9f839ef244798e5ffe96febfa9714717db7af7", size = 3134657 }, +] + +[[package]] +name = "dbus-fast" +version = "2.34.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0c/bc/a124a2bcd99063bd07e035b8d82437f152334a459c2497d06f77963f7b95/dbus_fast-2.34.0.tar.gz", hash = "sha256:32aa03b4b102e7ad8caf39c708e3c263ef73121a4bb64f3f877c5cf0bad91e45", size = 69778 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/87/c6/8c3b08b24778b0975c3ce23a865cf7b700e5ed28b9438e20fa13250a0410/dbus_fast-2.34.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc40230797a053bd151010c28fdfc785b92f5278d30b90aa246d7e8c353a66b8", size = 3940325 }, + { url = "https://files.pythonhosted.org/packages/07/b3/aa487b78012b10835273dbae253a97c34b5542bee96605f2090c9a9dfe0e/dbus_fast-2.34.0-cp310-cp310-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:a928e35190fb2e73bc024f502e4a070f0b2b562069d8643728f6be7319e38d49", size = 3833358 }, + { url = "https://files.pythonhosted.org/packages/6e/8d/fbb37a382fde9ba4d7dfacb3c187737726469d049ad449d01e21b790e66e/dbus_fast-2.34.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:448c349b9eb69a4aaec375ae6f3518bd890bd037652736e00df499cbf8bd120e", size = 4009251 }, + { url = "https://files.pythonhosted.org/packages/62/eb/f1d83ce47affab26c7fbf2ae09834bf108abc1c0ba00caeda79f99624fc9/dbus_fast-2.34.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ed2dab8b4966e7ef63e6561b4cb876ca88aa80c2d56c55fa9968baa93f552e6a", size = 3891079 }, + { url = "https://files.pythonhosted.org/packages/86/b2/3be042296a1edd10b4b426e68a2b2aa687b5e9a522eb0585e5e3a7e1cf76/dbus_fast-2.34.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:42d80d633b299ffdf796633ad053e786ff801e2c3f4a5313a84aa7f2055fa6a7", size = 3941276 }, + { url = "https://files.pythonhosted.org/packages/d7/3e/60d0459df2d4c1db55a219162ee5fd2d2183e819fc13858e5c2d4dcc0541/dbus_fast-2.34.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:815f4eff740bd7d8e48c99764aeeb26d677efc3f2ffb940fe3900690eeab2f09", size = 4061052 }, + { url = "https://files.pythonhosted.org/packages/a8/d1/7f09e3f41b0f6529c08b422d1cf2b2a37924f22939019970440b3ccd366d/dbus_fast-2.34.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83bc3114c05892dbed455e1f60b3db72b41d148b5a80ad4ff631a29ef39f00c0", size = 4359777 }, + { url = "https://files.pythonhosted.org/packages/d8/24/42d4de59272deefd07708f76f239cd2d1bc0200c3e98729c712366d18d27/dbus_fast-2.34.0-cp311-cp311-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:da2c434db31f6d8ca8b85ef9675f59ca21a0a04ecded92d734c34323fcf8e9af", size = 4216250 }, + { url = "https://files.pythonhosted.org/packages/43/7b/fcb43015ade4d8a7f8fe55877561a76db2a8957dc1fc7c7e533316cd50a6/dbus_fast-2.34.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a3d0347f62f479a3a18fbc754f716e9c22d9c605d1117dc5847701c00e96ecb", size = 4419016 }, + { url = "https://files.pythonhosted.org/packages/22/ab/602a7be13a65e70843e039bd9ce96e3527a4a07947f1e6aa89866b782123/dbus_fast-2.34.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:660710b5576845cfa0dfe57945982d7613842130b7b2ab7c9c30946d5af7742f", size = 4331039 }, + { url = "https://files.pythonhosted.org/packages/46/c8/64c31a43bd0ef4ae58448fc99962716efe6d47a68e40ebfdfb38d1a1c41e/dbus_fast-2.34.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:31e7f5e987ebbb4454ec8fd1f2da30e5c5e3824bf3349902d8a1673af5d89322", size = 4369440 }, + { url = "https://files.pythonhosted.org/packages/07/43/d4c0efca8d1f9627102ea0b4d9602db48f36f4caddc9fa223543bd65ee55/dbus_fast-2.34.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:30e400afb0e76d4d1331c4ed094e2f1083665798b1be1185fe4ef1b512b2f279", size = 4516240 }, + { url = "https://files.pythonhosted.org/packages/2c/20/3d8e41d0d80120351047a227989c044fcd50f347530185c4078d7cfd5453/dbus_fast-2.34.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e4a3b3bf7abc78885a838850147d0f7faee815679cfa116f981df7bb0376ed6", size = 4365799 }, + { url = "https://files.pythonhosted.org/packages/1a/f5/50df7a2422e7edb694ef2af8425b1ec32f4190771d29a9d727b4c41492cd/dbus_fast-2.34.0-cp312-cp312-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:f7ff4725e4f42cb78d6fabde939ee298e0f02ce88eef6278e93175399752b5cf", size = 4203785 }, + { url = "https://files.pythonhosted.org/packages/cb/5e/58f4eecab2649b8bd00e3574fe89cdd88f439688010192403f3e767980c4/dbus_fast-2.34.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:33f793c638181bafc9bf4d5414d951b902898dff90aebed0be9fe738c47c147e", size = 4474681 }, + { url = "https://files.pythonhosted.org/packages/b3/c6/52736458dd94b487ea789a2760bfd69157e5b47b51b234b21e106585802c/dbus_fast-2.34.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:18fb0033e201acc45c21289d26af0c1f653439619327eda68261199840630336", size = 4318149 }, + { url = "https://files.pythonhosted.org/packages/24/41/eb7829bf6a1c0f5b245ce82482672306f0dc6889bc57b066e689975a2920/dbus_fast-2.34.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:15825368b033a0588095fbd5f400b7ea76a4350a925b620b25aadeaf31b6c963", size = 4397595 }, + { url = "https://files.pythonhosted.org/packages/41/e0/09094bd91d96f7cf46db810dabc3bc5881482e6a2eab7ea9b8e665ff096a/dbus_fast-2.34.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:83d0360004e7f3ecd72216b4bfd23dbb0b0b2669a61109b79bc7810032e6f4d0", size = 4583630 }, + { url = "https://files.pythonhosted.org/packages/f7/e4/8bbcbcfbf8e2a8c1dc0ba0b5391ad10b904eec139ca8aa1d364dad33ca5e/dbus_fast-2.34.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97a6f5c0b0faf1ba33ca965598842d6dca546f1772ac984597db55ce7c3df877", size = 4316555 }, + { url = "https://files.pythonhosted.org/packages/72/ca/026617f018f31f77e812a3543b0662f6955c189826f20d81bfaef948a256/dbus_fast-2.34.0-cp313-cp313-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:b77aa52a60dfdb8e9bf71acc60ee130f0f8b46245b4af2b52cb1854fd0a4cfc6", size = 4157858 }, + { url = "https://files.pythonhosted.org/packages/ec/80/2e37b8e1cfb19209da5d2f9958eb70701fb43919ec4fc8ec72e773d76fc5/dbus_fast-2.34.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7404fa0b8da448826ef902147b0a2bb5639de8414581e5eecbc141734f05af8f", size = 4424420 }, + { url = "https://files.pythonhosted.org/packages/be/45/67c832024beec9c9bbe68007316be4372980043487206bb5f7f90e724e8a/dbus_fast-2.34.0-cp313-cp313-manylinux_2_36_x86_64.whl", hash = "sha256:8656a01c0afce62179b6a5c7d81317266fdb79353e38d0e0ae5d47a41d79ea39", size = 4429375 }, + { url = "https://files.pythonhosted.org/packages/b3/0f/ae640652a5fa1da0e6398c22fb3cd5b0b18fdafa5721566b7cee7369ea1a/dbus_fast-2.34.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:283688903a351fe62498de77dea8606668c2047b60e2f8c46ce3d5166fe9a228", size = 4265247 }, + { url = "https://files.pythonhosted.org/packages/24/40/5abcaedcc8c0c87e6cc3a898a3d6fcf46ec13c71f0340afc6dcae8fd9d36/dbus_fast-2.34.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:6605e75cbfd0acf55bff1d8226b1232aed50981f11fda07ff0d9b63ae7c2b8ae", size = 4348803 }, + { url = "https://files.pythonhosted.org/packages/1d/b6/6b62e11e404288b7e9a03942482b38559fe0eaf4351871f2147716cd4083/dbus_fast-2.34.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b03f9ba02707d27f6a93062b7d414106c2d9308e332d0c813f219aeb01f4b116", size = 4540892 }, + { url = "https://files.pythonhosted.org/packages/e0/c9/597e68b90e3cacd9c03159192becbce7ec7892b938acd75d05bc700c4cc0/dbus_fast-2.34.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30ca3718c397c41a0df97cf83d6693096567148f63e0b4e7a3e1ccf771ed2afa", size = 3947946 }, + { url = "https://files.pythonhosted.org/packages/15/71/93cebe6fcc0c7ed9cfdbd6cbf1909243a1c4a1e93d95041025760ddf9235/dbus_fast-2.34.0-cp39-cp39-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:685dc7eafea2b9f6ebc91120d2877aeed61c881be27045c73d790f1cad99d5f7", size = 3841178 }, + { url = "https://files.pythonhosted.org/packages/8c/d5/eb02539e1330a3ad395bca36da84516108a55bb1f24775fab4a0088a6f89/dbus_fast-2.34.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d3871301ea1c052b3ba588da089e130908b6b1ec9a70a3b84a7458905f07b19", size = 4015738 }, + { url = "https://files.pythonhosted.org/packages/a5/4b/f3f16cec334fd6bead8800e96d8187a9eea968332f0876a32f60e2cd475b/dbus_fast-2.34.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f7d00050870da39788f584474007a9b4e58da74b42a3bc7760fadffb2b983a86", size = 3897882 }, + { url = "https://files.pythonhosted.org/packages/82/54/276a2b7d66a824c2313ae0e6282597d17c1f2b1390a7803f17f5ea6b64c9/dbus_fast-2.34.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:d54554ff9ce5ce5a50c446f559aa4af742f98ac35c2062976cf551802b8f5409", size = 3938341 }, + { url = "https://files.pythonhosted.org/packages/e6/0f/c514b73861f95849149da560408eb74c77366e19147fbfeef52b5593498c/dbus_fast-2.34.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:62ed9ad1779ae2f765305f373eed0b8576535b6141d7e1a3e726dbe006f98da2", size = 4068155 }, + { url = "https://files.pythonhosted.org/packages/9d/72/adb5c70571ccde24a8993f46da80e11d9fef890ef65ff9370d1bfa6e8856/dbus_fast-2.34.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ce7e32b7f3c55b32b2d952cff05e072b272ca2d5dce6fd5e17acdd9656234dd", size = 687437 }, + { url = "https://files.pythonhosted.org/packages/7b/2c/058f6428453ec3a894b7649c28c6732566344e0495b9bea22278700a6a90/dbus_fast-2.34.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:b7cbeeb606ad4964e57c469ae5aeda7a9ab85bec2282b19decf984127167f5ec", size = 737847 }, + { url = "https://files.pythonhosted.org/packages/cc/cf/a78b8ec9344389974d496865e753af2598babe781b4cfe4fcebdb7a72e86/dbus_fast-2.34.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:723d2a9295ddd1f39c8544138a5951fa0c75894b5ea03c8979897e145535c529", size = 717794 }, + { url = "https://files.pythonhosted.org/packages/90/51/41b2914072a6803ef6873ef41f4d0a96b14620713bf3c06ec5b9131534c7/dbus_fast-2.34.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dca4f301f095b5b0087cb6ba7f18f87e84d182845d606ff759dba441f11c8f00", size = 686068 }, + { url = "https://files.pythonhosted.org/packages/57/f7/e7693bc837c0a552ed36cb9a4a2a42419282d444888c93bfda717fb6aa81/dbus_fast-2.34.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:f80603cf4f9964d2b72463554427c82e649a64b3542a7d78a402a6ff59391598", size = 736069 }, + { url = "https://files.pythonhosted.org/packages/8f/73/51f6040175fc55b2fc970fbaa12d061b97cd90181cfdaf7e4cb9f56acdd5/dbus_fast-2.34.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:783deb17c112ad7e3e684f061e5fcf626c0cf8c1758a2b168b84ce6836374e78", size = 716180 }, +] + +[[package]] +name = "distlib" +version = "0.3.9" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0d/dd/1bec4c5ddb504ca60fc29472f3d27e8d4da1257a854e1d96742f15c1d02d/distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403", size = 613923 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/91/a1/cf2472db20f7ce4a6be1253a81cfdf85ad9c7885ffbed7047fb72c24cf87/distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87", size = 468973 }, +] + +[[package]] +name = "docutils" +version = "0.21.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ae/ed/aefcc8cd0ba62a0560c3c18c33925362d46c6075480bfa4df87b28e169a9/docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f", size = 2204444 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8f/d7/9322c609343d929e75e7e5e6255e614fcc67572cfd083959cdef3b7aad79/docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2", size = 587408 }, +] + +[[package]] +name = "exceptiongroup" +version = "1.2.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/09/35/2495c4ac46b980e4ca1f6ad6db102322ef3ad2410b79fdde159a4b0f3b92/exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc", size = 28883 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/02/cc/b7e31358aac6ed1ef2bb790a9746ac2c69bcb3c8588b41616914eb106eaf/exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b", size = 16453 }, +] + +[[package]] +name = "filelock" +version = "3.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/dc/9c/0b15fb47b464e1b663b1acd1253a062aa5feecb07d4e597daea542ebd2b5/filelock-3.17.0.tar.gz", hash = "sha256:ee4e77401ef576ebb38cd7f13b9b28893194acc20a8e68e18730ba9c0e54660e", size = 18027 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/89/ec/00d68c4ddfedfe64159999e5f8a98fb8442729a63e2077eb9dcd89623d27/filelock-3.17.0-py3-none-any.whl", hash = "sha256:533dc2f7ba78dc2f0f531fc6c4940addf7b70a481e269a5a3b93be94ffbe8338", size = 16164 }, +] + +[[package]] +name = "findmy" +version = "0.7.6" +source = { editable = "." } +dependencies = [ + { name = "aiohttp" }, + { name = "beautifulsoup4" }, + { name = "bleak" }, + { name = "cryptography" }, + { name = "srp" }, + { name = "typing-extensions" }, +] + +[package.dev-dependencies] +dev = [ + { name = "packaging" }, + { name = "pre-commit" }, + { name = "pyright" }, + { name = "ruff" }, + { name = "tomli" }, +] +docs = [ + { name = "sphinx" }, + { name = "sphinx-autoapi" }, +] +test = [ + { name = "pytest" }, +] + +[package.metadata] +requires-dist = [ + { name = "aiohttp", specifier = ">=3.9.5,<4.0.0" }, + { name = "beautifulsoup4", specifier = ">=4.12.3,<5.0.0" }, + { name = "bleak", specifier = ">=0.22.2,<1.0.0" }, + { name = "cryptography", specifier = ">=42.0.0,<45.0.0" }, + { name = "srp", specifier = ">=1.0.21,<2.0.0" }, + { name = "typing-extensions", specifier = ">=4.12.2,<5.0.0" }, +] + +[package.metadata.requires-dev] +dev = [ + { name = "packaging", specifier = ">=24.1,<25.0" }, + { name = "pre-commit", specifier = ">=3.8.0,<4.0.0" }, + { name = "pyright", specifier = ">=1.1.391,<2.0.0" }, + { name = "ruff", specifier = ">=0.8.4,<1.0.0" }, + { name = "tomli", specifier = ">=2.0.1,<3.0.0" }, +] +docs = [ + { name = "sphinx", specifier = ">=7.2.6,<8.0.0" }, + { name = "sphinx-autoapi", specifier = "==3.4.0" }, +] +test = [{ name = "pytest", specifier = ">=8.3.2,<9.0.0" }] + +[[package]] +name = "frozenlist" +version = "1.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8f/ed/0f4cec13a93c02c47ec32d81d11c0c1efbadf4a471e3f3ce7cad366cbbd3/frozenlist-1.5.0.tar.gz", hash = "sha256:81d5af29e61b9c8348e876d442253723928dce6433e0e76cd925cd83f1b4b817", size = 39930 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/79/29d44c4af36b2b240725dce566b20f63f9b36ef267aaaa64ee7466f4f2f8/frozenlist-1.5.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5b6a66c18b5b9dd261ca98dffcb826a525334b2f29e7caa54e182255c5f6a65a", size = 94451 }, + { url = "https://files.pythonhosted.org/packages/47/47/0c999aeace6ead8a44441b4f4173e2261b18219e4ad1fe9a479871ca02fc/frozenlist-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d1b3eb7b05ea246510b43a7e53ed1653e55c2121019a97e60cad7efb881a97bb", size = 54301 }, + { url = "https://files.pythonhosted.org/packages/8d/60/107a38c1e54176d12e06e9d4b5d755b677d71d1219217cee063911b1384f/frozenlist-1.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:15538c0cbf0e4fa11d1e3a71f823524b0c46299aed6e10ebb4c2089abd8c3bec", size = 52213 }, + { url = "https://files.pythonhosted.org/packages/17/62/594a6829ac5679c25755362a9dc93486a8a45241394564309641425d3ff6/frozenlist-1.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e79225373c317ff1e35f210dd5f1344ff31066ba8067c307ab60254cd3a78ad5", size = 240946 }, + { url = "https://files.pythonhosted.org/packages/7e/75/6c8419d8f92c80dd0ee3f63bdde2702ce6398b0ac8410ff459f9b6f2f9cb/frozenlist-1.5.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9272fa73ca71266702c4c3e2d4a28553ea03418e591e377a03b8e3659d94fa76", size = 264608 }, + { url = "https://files.pythonhosted.org/packages/88/3e/82a6f0b84bc6fb7e0be240e52863c6d4ab6098cd62e4f5b972cd31e002e8/frozenlist-1.5.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:498524025a5b8ba81695761d78c8dd7382ac0b052f34e66939c42df860b8ff17", size = 261361 }, + { url = "https://files.pythonhosted.org/packages/fd/85/14e5f9ccac1b64ff2f10c927b3ffdf88772aea875882406f9ba0cec8ad84/frozenlist-1.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:92b5278ed9d50fe610185ecd23c55d8b307d75ca18e94c0e7de328089ac5dcba", size = 231649 }, + { url = "https://files.pythonhosted.org/packages/ee/59/928322800306f6529d1852323014ee9008551e9bb027cc38d276cbc0b0e7/frozenlist-1.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f3c8c1dacd037df16e85227bac13cca58c30da836c6f936ba1df0c05d046d8d", size = 241853 }, + { url = "https://files.pythonhosted.org/packages/7d/bd/e01fa4f146a6f6c18c5d34cab8abdc4013774a26c4ff851128cd1bd3008e/frozenlist-1.5.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f2ac49a9bedb996086057b75bf93538240538c6d9b38e57c82d51f75a73409d2", size = 243652 }, + { url = "https://files.pythonhosted.org/packages/a5/bd/e4771fd18a8ec6757033f0fa903e447aecc3fbba54e3630397b61596acf0/frozenlist-1.5.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e66cc454f97053b79c2ab09c17fbe3c825ea6b4de20baf1be28919460dd7877f", size = 241734 }, + { url = "https://files.pythonhosted.org/packages/21/13/c83821fa5544af4f60c5d3a65d054af3213c26b14d3f5f48e43e5fb48556/frozenlist-1.5.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:5a3ba5f9a0dfed20337d3e966dc359784c9f96503674c2faf015f7fe8e96798c", size = 260959 }, + { url = "https://files.pythonhosted.org/packages/71/f3/1f91c9a9bf7ed0e8edcf52698d23f3c211d8d00291a53c9f115ceb977ab1/frozenlist-1.5.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6321899477db90bdeb9299ac3627a6a53c7399c8cd58d25da094007402b039ab", size = 262706 }, + { url = "https://files.pythonhosted.org/packages/4c/22/4a256fdf5d9bcb3ae32622c796ee5ff9451b3a13a68cfe3f68e2c95588ce/frozenlist-1.5.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:76e4753701248476e6286f2ef492af900ea67d9706a0155335a40ea21bf3b2f5", size = 250401 }, + { url = "https://files.pythonhosted.org/packages/af/89/c48ebe1f7991bd2be6d5f4ed202d94960c01b3017a03d6954dd5fa9ea1e8/frozenlist-1.5.0-cp310-cp310-win32.whl", hash = "sha256:977701c081c0241d0955c9586ffdd9ce44f7a7795df39b9151cd9a6fd0ce4cfb", size = 45498 }, + { url = "https://files.pythonhosted.org/packages/28/2f/cc27d5f43e023d21fe5c19538e08894db3d7e081cbf582ad5ed366c24446/frozenlist-1.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:189f03b53e64144f90990d29a27ec4f7997d91ed3d01b51fa39d2dbe77540fd4", size = 51622 }, + { url = "https://files.pythonhosted.org/packages/79/43/0bed28bf5eb1c9e4301003b74453b8e7aa85fb293b31dde352aac528dafc/frozenlist-1.5.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fd74520371c3c4175142d02a976aee0b4cb4a7cc912a60586ffd8d5929979b30", size = 94987 }, + { url = "https://files.pythonhosted.org/packages/bb/bf/b74e38f09a246e8abbe1e90eb65787ed745ccab6eaa58b9c9308e052323d/frozenlist-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2f3f7a0fbc219fb4455264cae4d9f01ad41ae6ee8524500f381de64ffaa077d5", size = 54584 }, + { url = "https://files.pythonhosted.org/packages/2c/31/ab01375682f14f7613a1ade30149f684c84f9b8823a4391ed950c8285656/frozenlist-1.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f47c9c9028f55a04ac254346e92977bf0f166c483c74b4232bee19a6697e4778", size = 52499 }, + { url = "https://files.pythonhosted.org/packages/98/a8/d0ac0b9276e1404f58fec3ab6e90a4f76b778a49373ccaf6a563f100dfbc/frozenlist-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0996c66760924da6e88922756d99b47512a71cfd45215f3570bf1e0b694c206a", size = 276357 }, + { url = "https://files.pythonhosted.org/packages/ad/c9/c7761084fa822f07dac38ac29f841d4587570dd211e2262544aa0b791d21/frozenlist-1.5.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a2fe128eb4edeabe11896cb6af88fca5346059f6c8d807e3b910069f39157869", size = 287516 }, + { url = "https://files.pythonhosted.org/packages/a1/ff/cd7479e703c39df7bdab431798cef89dc75010d8aa0ca2514c5b9321db27/frozenlist-1.5.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a8ea951bbb6cacd492e3948b8da8c502a3f814f5d20935aae74b5df2b19cf3d", size = 283131 }, + { url = "https://files.pythonhosted.org/packages/59/a0/370941beb47d237eca4fbf27e4e91389fd68699e6f4b0ebcc95da463835b/frozenlist-1.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de537c11e4aa01d37db0d403b57bd6f0546e71a82347a97c6a9f0dcc532b3a45", size = 261320 }, + { url = "https://files.pythonhosted.org/packages/b8/5f/c10123e8d64867bc9b4f2f510a32042a306ff5fcd7e2e09e5ae5100ee333/frozenlist-1.5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c2623347b933fcb9095841f1cc5d4ff0b278addd743e0e966cb3d460278840d", size = 274877 }, + { url = "https://files.pythonhosted.org/packages/fa/79/38c505601ae29d4348f21706c5d89755ceded02a745016ba2f58bd5f1ea6/frozenlist-1.5.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cee6798eaf8b1416ef6909b06f7dc04b60755206bddc599f52232606e18179d3", size = 269592 }, + { url = "https://files.pythonhosted.org/packages/19/e2/39f3a53191b8204ba9f0bb574b926b73dd2efba2a2b9d2d730517e8f7622/frozenlist-1.5.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f5f9da7f5dbc00a604fe74aa02ae7c98bcede8a3b8b9666f9f86fc13993bc71a", size = 265934 }, + { url = "https://files.pythonhosted.org/packages/d5/c9/3075eb7f7f3a91f1a6b00284af4de0a65a9ae47084930916f5528144c9dd/frozenlist-1.5.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:90646abbc7a5d5c7c19461d2e3eeb76eb0b204919e6ece342feb6032c9325ae9", size = 283859 }, + { url = "https://files.pythonhosted.org/packages/05/f5/549f44d314c29408b962fa2b0e69a1a67c59379fb143b92a0a065ffd1f0f/frozenlist-1.5.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:bdac3c7d9b705d253b2ce370fde941836a5f8b3c5c2b8fd70940a3ea3af7f4f2", size = 287560 }, + { url = "https://files.pythonhosted.org/packages/9d/f8/cb09b3c24a3eac02c4c07a9558e11e9e244fb02bf62c85ac2106d1eb0c0b/frozenlist-1.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:03d33c2ddbc1816237a67f66336616416e2bbb6beb306e5f890f2eb22b959cdf", size = 277150 }, + { url = "https://files.pythonhosted.org/packages/37/48/38c2db3f54d1501e692d6fe058f45b6ad1b358d82cd19436efab80cfc965/frozenlist-1.5.0-cp311-cp311-win32.whl", hash = "sha256:237f6b23ee0f44066219dae14c70ae38a63f0440ce6750f868ee08775073f942", size = 45244 }, + { url = "https://files.pythonhosted.org/packages/ca/8c/2ddffeb8b60a4bce3b196c32fcc30d8830d4615e7b492ec2071da801b8ad/frozenlist-1.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:0cc974cc93d32c42e7b0f6cf242a6bd941c57c61b618e78b6c0a96cb72788c1d", size = 51634 }, + { url = "https://files.pythonhosted.org/packages/79/73/fa6d1a96ab7fd6e6d1c3500700963eab46813847f01ef0ccbaa726181dd5/frozenlist-1.5.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:31115ba75889723431aa9a4e77d5f398f5cf976eea3bdf61749731f62d4a4a21", size = 94026 }, + { url = "https://files.pythonhosted.org/packages/ab/04/ea8bf62c8868b8eada363f20ff1b647cf2e93377a7b284d36062d21d81d1/frozenlist-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7437601c4d89d070eac8323f121fcf25f88674627505334654fd027b091db09d", size = 54150 }, + { url = "https://files.pythonhosted.org/packages/d0/9a/8e479b482a6f2070b26bda572c5e6889bb3ba48977e81beea35b5ae13ece/frozenlist-1.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7948140d9f8ece1745be806f2bfdf390127cf1a763b925c4a805c603df5e697e", size = 51927 }, + { url = "https://files.pythonhosted.org/packages/e3/12/2aad87deb08a4e7ccfb33600871bbe8f0e08cb6d8224371387f3303654d7/frozenlist-1.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:feeb64bc9bcc6b45c6311c9e9b99406660a9c05ca8a5b30d14a78555088b0b3a", size = 282647 }, + { url = "https://files.pythonhosted.org/packages/77/f2/07f06b05d8a427ea0060a9cef6e63405ea9e0d761846b95ef3fb3be57111/frozenlist-1.5.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:683173d371daad49cffb8309779e886e59c2f369430ad28fe715f66d08d4ab1a", size = 289052 }, + { url = "https://files.pythonhosted.org/packages/bd/9f/8bf45a2f1cd4aa401acd271b077989c9267ae8463e7c8b1eb0d3f561b65e/frozenlist-1.5.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7d57d8f702221405a9d9b40f9da8ac2e4a1a8b5285aac6100f3393675f0a85ee", size = 291719 }, + { url = "https://files.pythonhosted.org/packages/41/d1/1f20fd05a6c42d3868709b7604c9f15538a29e4f734c694c6bcfc3d3b935/frozenlist-1.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30c72000fbcc35b129cb09956836c7d7abf78ab5416595e4857d1cae8d6251a6", size = 267433 }, + { url = "https://files.pythonhosted.org/packages/af/f2/64b73a9bb86f5a89fb55450e97cd5c1f84a862d4ff90d9fd1a73ab0f64a5/frozenlist-1.5.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:000a77d6034fbad9b6bb880f7ec073027908f1b40254b5d6f26210d2dab1240e", size = 283591 }, + { url = "https://files.pythonhosted.org/packages/29/e2/ffbb1fae55a791fd6c2938dd9ea779509c977435ba3940b9f2e8dc9d5316/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5d7f5a50342475962eb18b740f3beecc685a15b52c91f7d975257e13e029eca9", size = 273249 }, + { url = "https://files.pythonhosted.org/packages/2e/6e/008136a30798bb63618a114b9321b5971172a5abddff44a100c7edc5ad4f/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:87f724d055eb4785d9be84e9ebf0f24e392ddfad00b3fe036e43f489fafc9039", size = 271075 }, + { url = "https://files.pythonhosted.org/packages/ae/f0/4e71e54a026b06724cec9b6c54f0b13a4e9e298cc8db0f82ec70e151f5ce/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:6e9080bb2fb195a046e5177f10d9d82b8a204c0736a97a153c2466127de87784", size = 285398 }, + { url = "https://files.pythonhosted.org/packages/4d/36/70ec246851478b1c0b59f11ef8ade9c482ff447c1363c2bd5fad45098b12/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9b93d7aaa36c966fa42efcaf716e6b3900438632a626fb09c049f6a2f09fc631", size = 294445 }, + { url = "https://files.pythonhosted.org/packages/37/e0/47f87544055b3349b633a03c4d94b405956cf2437f4ab46d0928b74b7526/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:52ef692a4bc60a6dd57f507429636c2af8b6046db8b31b18dac02cbc8f507f7f", size = 280569 }, + { url = "https://files.pythonhosted.org/packages/f9/7c/490133c160fb6b84ed374c266f42800e33b50c3bbab1652764e6e1fc498a/frozenlist-1.5.0-cp312-cp312-win32.whl", hash = "sha256:29d94c256679247b33a3dc96cce0f93cbc69c23bf75ff715919332fdbb6a32b8", size = 44721 }, + { url = "https://files.pythonhosted.org/packages/b1/56/4e45136ffc6bdbfa68c29ca56ef53783ef4c2fd395f7cbf99a2624aa9aaa/frozenlist-1.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:8969190d709e7c48ea386db202d708eb94bdb29207a1f269bab1196ce0dcca1f", size = 51329 }, + { url = "https://files.pythonhosted.org/packages/da/3b/915f0bca8a7ea04483622e84a9bd90033bab54bdf485479556c74fd5eaf5/frozenlist-1.5.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7a1a048f9215c90973402e26c01d1cff8a209e1f1b53f72b95c13db61b00f953", size = 91538 }, + { url = "https://files.pythonhosted.org/packages/c7/d1/a7c98aad7e44afe5306a2b068434a5830f1470675f0e715abb86eb15f15b/frozenlist-1.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dd47a5181ce5fcb463b5d9e17ecfdb02b678cca31280639255ce9d0e5aa67af0", size = 52849 }, + { url = "https://files.pythonhosted.org/packages/3a/c8/76f23bf9ab15d5f760eb48701909645f686f9c64fbb8982674c241fbef14/frozenlist-1.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1431d60b36d15cda188ea222033eec8e0eab488f39a272461f2e6d9e1a8e63c2", size = 50583 }, + { url = "https://files.pythonhosted.org/packages/1f/22/462a3dd093d11df623179d7754a3b3269de3b42de2808cddef50ee0f4f48/frozenlist-1.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6482a5851f5d72767fbd0e507e80737f9c8646ae7fd303def99bfe813f76cf7f", size = 265636 }, + { url = "https://files.pythonhosted.org/packages/80/cf/e075e407fc2ae7328155a1cd7e22f932773c8073c1fc78016607d19cc3e5/frozenlist-1.5.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44c49271a937625619e862baacbd037a7ef86dd1ee215afc298a417ff3270608", size = 270214 }, + { url = "https://files.pythonhosted.org/packages/a1/58/0642d061d5de779f39c50cbb00df49682832923f3d2ebfb0fedf02d05f7f/frozenlist-1.5.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:12f78f98c2f1c2429d42e6a485f433722b0061d5c0b0139efa64f396efb5886b", size = 273905 }, + { url = "https://files.pythonhosted.org/packages/ab/66/3fe0f5f8f2add5b4ab7aa4e199f767fd3b55da26e3ca4ce2cc36698e50c4/frozenlist-1.5.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce3aa154c452d2467487765e3adc730a8c153af77ad84096bc19ce19a2400840", size = 250542 }, + { url = "https://files.pythonhosted.org/packages/f6/b8/260791bde9198c87a465224e0e2bb62c4e716f5d198fc3a1dacc4895dbd1/frozenlist-1.5.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b7dc0c4338e6b8b091e8faf0db3168a37101943e687f373dce00959583f7439", size = 267026 }, + { url = "https://files.pythonhosted.org/packages/2e/a4/3d24f88c527f08f8d44ade24eaee83b2627793fa62fa07cbb7ff7a2f7d42/frozenlist-1.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:45e0896250900b5aa25180f9aec243e84e92ac84bd4a74d9ad4138ef3f5c97de", size = 257690 }, + { url = "https://files.pythonhosted.org/packages/de/9a/d311d660420b2beeff3459b6626f2ab4fb236d07afbdac034a4371fe696e/frozenlist-1.5.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:561eb1c9579d495fddb6da8959fd2a1fca2c6d060d4113f5844b433fc02f2641", size = 253893 }, + { url = "https://files.pythonhosted.org/packages/c6/23/e491aadc25b56eabd0f18c53bb19f3cdc6de30b2129ee0bc39cd387cd560/frozenlist-1.5.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:df6e2f325bfee1f49f81aaac97d2aa757c7646534a06f8f577ce184afe2f0a9e", size = 267006 }, + { url = "https://files.pythonhosted.org/packages/08/c4/ab918ce636a35fb974d13d666dcbe03969592aeca6c3ab3835acff01f79c/frozenlist-1.5.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:140228863501b44b809fb39ec56b5d4071f4d0aa6d216c19cbb08b8c5a7eadb9", size = 276157 }, + { url = "https://files.pythonhosted.org/packages/c0/29/3b7a0bbbbe5a34833ba26f686aabfe982924adbdcafdc294a7a129c31688/frozenlist-1.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7707a25d6a77f5d27ea7dc7d1fc608aa0a478193823f88511ef5e6b8a48f9d03", size = 264642 }, + { url = "https://files.pythonhosted.org/packages/ab/42/0595b3dbffc2e82d7fe658c12d5a5bafcd7516c6bf2d1d1feb5387caa9c1/frozenlist-1.5.0-cp313-cp313-win32.whl", hash = "sha256:31a9ac2b38ab9b5a8933b693db4939764ad3f299fcaa931a3e605bc3460e693c", size = 44914 }, + { url = "https://files.pythonhosted.org/packages/17/c4/b7db1206a3fea44bf3b838ca61deb6f74424a8a5db1dd53ecb21da669be6/frozenlist-1.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:11aabdd62b8b9c4b84081a3c246506d1cddd2dd93ff0ad53ede5defec7886b28", size = 51167 }, + { url = "https://files.pythonhosted.org/packages/da/4d/d94ff0fb0f5313902c132817c62d19cdc5bdcd0c195d392006ef4b779fc6/frozenlist-1.5.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9bbcdfaf4af7ce002694a4e10a0159d5a8d20056a12b05b45cea944a4953f972", size = 95319 }, + { url = "https://files.pythonhosted.org/packages/8c/1b/d90e554ca2b483d31cb2296e393f72c25bdc38d64526579e95576bfda587/frozenlist-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1893f948bf6681733aaccf36c5232c231e3b5166d607c5fa77773611df6dc336", size = 54749 }, + { url = "https://files.pythonhosted.org/packages/f8/66/7fdecc9ef49f8db2aa4d9da916e4ecf357d867d87aea292efc11e1b2e932/frozenlist-1.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2b5e23253bb709ef57a8e95e6ae48daa9ac5f265637529e4ce6b003a37b2621f", size = 52718 }, + { url = "https://files.pythonhosted.org/packages/08/04/e2fddc92135276e07addbc1cf413acffa0c2d848b3e54cacf684e146df49/frozenlist-1.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f253985bb515ecd89629db13cb58d702035ecd8cfbca7d7a7e29a0e6d39af5f", size = 241756 }, + { url = "https://files.pythonhosted.org/packages/c6/52/be5ff200815d8a341aee5b16b6b707355e0ca3652953852238eb92b120c2/frozenlist-1.5.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:04a5c6babd5e8fb7d3c871dc8b321166b80e41b637c31a995ed844a6139942b6", size = 267718 }, + { url = "https://files.pythonhosted.org/packages/88/be/4bd93a58be57a3722fc544c36debdf9dcc6758f761092e894d78f18b8f20/frozenlist-1.5.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fe0f1c29ba24ba6ff6abf688cb0b7cf1efab6b6aa6adc55441773c252f7411", size = 263494 }, + { url = "https://files.pythonhosted.org/packages/32/ba/58348b90193caa096ce9e9befea6ae67f38dabfd3aacb47e46137a6250a8/frozenlist-1.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:226d72559fa19babe2ccd920273e767c96a49b9d3d38badd7c91a0fdeda8ea08", size = 232838 }, + { url = "https://files.pythonhosted.org/packages/f6/33/9f152105227630246135188901373c4f322cc026565ca6215b063f4c82f4/frozenlist-1.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15b731db116ab3aedec558573c1a5eec78822b32292fe4f2f0345b7f697745c2", size = 242912 }, + { url = "https://files.pythonhosted.org/packages/a0/10/3db38fb3ccbafadd80a1b0d6800c987b0e3fe3ef2d117c6ced0246eea17a/frozenlist-1.5.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:366d8f93e3edfe5a918c874702f78faac300209a4d5bf38352b2c1bdc07a766d", size = 244763 }, + { url = "https://files.pythonhosted.org/packages/e2/cd/1df468fdce2f66a4608dffe44c40cdc35eeaa67ef7fd1d813f99a9a37842/frozenlist-1.5.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1b96af8c582b94d381a1c1f51ffaedeb77c821c690ea5f01da3d70a487dd0a9b", size = 242841 }, + { url = "https://files.pythonhosted.org/packages/ee/5f/16097a5ca0bb6b6779c02cc9379c72fe98d56115d4c54d059fb233168fb6/frozenlist-1.5.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:c03eff4a41bd4e38415cbed054bbaff4a075b093e2394b6915dca34a40d1e38b", size = 263407 }, + { url = "https://files.pythonhosted.org/packages/0f/f7/58cd220ee1c2248ee65a32f5b4b93689e3fe1764d85537eee9fc392543bc/frozenlist-1.5.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:50cf5e7ee9b98f22bdecbabf3800ae78ddcc26e4a435515fc72d97903e8488e0", size = 265083 }, + { url = "https://files.pythonhosted.org/packages/62/b8/49768980caabf81ac4a2d156008f7cbd0107e6b36d08a313bb31035d9201/frozenlist-1.5.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1e76bfbc72353269c44e0bc2cfe171900fbf7f722ad74c9a7b638052afe6a00c", size = 251564 }, + { url = "https://files.pythonhosted.org/packages/cb/83/619327da3b86ef957ee7a0cbf3c166a09ed1e87a3f7f1ff487d7d0284683/frozenlist-1.5.0-cp39-cp39-win32.whl", hash = "sha256:666534d15ba8f0fda3f53969117383d5dc021266b3c1a42c9ec4855e4b58b9d3", size = 45691 }, + { url = "https://files.pythonhosted.org/packages/8b/28/407bc34a745151ed2322c690b6e7d83d7101472e81ed76e1ebdac0b70a78/frozenlist-1.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:5c28f4b5dbef8a0d8aad0d4de24d1e9e981728628afaf4ea0792f5d0939372f0", size = 51767 }, + { url = "https://files.pythonhosted.org/packages/c6/c8/a5be5b7550c10858fcf9b0ea054baccab474da77d37f1e828ce043a3a5d4/frozenlist-1.5.0-py3-none-any.whl", hash = "sha256:d994863bba198a4a518b467bb971c56e1db3f180a25c6cf7bb1949c267f748c3", size = 11901 }, +] + +[[package]] +name = "identify" +version = "2.6.8" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/fa/5eb460539e6f5252a7c5a931b53426e49258cde17e3d50685031c300a8fd/identify-2.6.8.tar.gz", hash = "sha256:61491417ea2c0c5c670484fd8abbb34de34cdae1e5f39a73ee65e48e4bb663fc", size = 99249 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/8c/4bfcab2d8286473b8d83ea742716f4b79290172e75f91142bc1534b05b9a/identify-2.6.8-py2.py3-none-any.whl", hash = "sha256:83657f0f766a3c8d0eaea16d4ef42494b39b34629a4b3192a9d020d349b3e255", size = 99109 }, +] + +[[package]] +name = "idna" +version = "3.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442 }, +] + +[[package]] +name = "imagesize" +version = "1.4.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a7/84/62473fb57d61e31fef6e36d64a179c8781605429fd927b5dd608c997be31/imagesize-1.4.1.tar.gz", hash = "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a", size = 1280026 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ff/62/85c4c919272577931d407be5ba5d71c20f0b616d31a0befe0ae45bb79abd/imagesize-1.4.1-py2.py3-none-any.whl", hash = "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b", size = 8769 }, +] + +[[package]] +name = "importlib-metadata" +version = "8.6.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "zipp", marker = "python_full_version < '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/33/08/c1395a292bb23fd03bdf572a1357c5a733d3eecbab877641ceacab23db6e/importlib_metadata-8.6.1.tar.gz", hash = "sha256:310b41d755445d74569f993ccfc22838295d9fe005425094fad953d7f15c8580", size = 55767 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/79/9d/0fb148dc4d6fa4a7dd1d8378168d9b4cd8d4560a6fbf6f0121c5fc34eb68/importlib_metadata-8.6.1-py3-none-any.whl", hash = "sha256:02a89390c1e15fdfdc0d7c6b25cb3e62650d0494005c97d6f148bf5b9787525e", size = 26971 }, +] + +[[package]] +name = "iniconfig" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d7/4b/cbd8e699e64a6f16ca3a8220661b5f83792b3017d0f79807cb8708d33913/iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3", size = 4646 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892 }, +] + +[[package]] +name = "jinja2" +version = "3.1.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/af/92/b3130cbbf5591acf9ade8708c365f3238046ac7cb8ccba6e81abccb0ccff/jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb", size = 244674 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bd/0f/2ba5fbcd631e3e88689309dbe978c5769e883e4b84ebfe7da30b43275c5a/jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb", size = 134596 }, +] + +[[package]] +name = "markupsafe" +version = "3.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/90/d08277ce111dd22f77149fd1a5d4653eeb3b3eaacbdfcbae5afb2600eebd/MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8", size = 14357 }, + { url = "https://files.pythonhosted.org/packages/04/e1/6e2194baeae0bca1fae6629dc0cbbb968d4d941469cbab11a3872edff374/MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158", size = 12393 }, + { url = "https://files.pythonhosted.org/packages/1d/69/35fa85a8ece0a437493dc61ce0bb6d459dcba482c34197e3efc829aa357f/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579", size = 21732 }, + { url = "https://files.pythonhosted.org/packages/22/35/137da042dfb4720b638d2937c38a9c2df83fe32d20e8c8f3185dbfef05f7/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d", size = 20866 }, + { url = "https://files.pythonhosted.org/packages/29/28/6d029a903727a1b62edb51863232152fd335d602def598dade38996887f0/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb", size = 20964 }, + { url = "https://files.pythonhosted.org/packages/cc/cd/07438f95f83e8bc028279909d9c9bd39e24149b0d60053a97b2bc4f8aa51/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b", size = 21977 }, + { url = "https://files.pythonhosted.org/packages/29/01/84b57395b4cc062f9c4c55ce0df7d3108ca32397299d9df00fedd9117d3d/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c", size = 21366 }, + { url = "https://files.pythonhosted.org/packages/bd/6e/61ebf08d8940553afff20d1fb1ba7294b6f8d279df9fd0c0db911b4bbcfd/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171", size = 21091 }, + { url = "https://files.pythonhosted.org/packages/11/23/ffbf53694e8c94ebd1e7e491de185124277964344733c45481f32ede2499/MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50", size = 15065 }, + { url = "https://files.pythonhosted.org/packages/44/06/e7175d06dd6e9172d4a69a72592cb3f7a996a9c396eee29082826449bbc3/MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a", size = 15514 }, + { url = "https://files.pythonhosted.org/packages/6b/28/bbf83e3f76936960b850435576dd5e67034e200469571be53f69174a2dfd/MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d", size = 14353 }, + { url = "https://files.pythonhosted.org/packages/6c/30/316d194b093cde57d448a4c3209f22e3046c5bb2fb0820b118292b334be7/MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93", size = 12392 }, + { url = "https://files.pythonhosted.org/packages/f2/96/9cdafba8445d3a53cae530aaf83c38ec64c4d5427d975c974084af5bc5d2/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832", size = 23984 }, + { url = "https://files.pythonhosted.org/packages/f1/a4/aefb044a2cd8d7334c8a47d3fb2c9f328ac48cb349468cc31c20b539305f/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84", size = 23120 }, + { url = "https://files.pythonhosted.org/packages/8d/21/5e4851379f88f3fad1de30361db501300d4f07bcad047d3cb0449fc51f8c/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca", size = 23032 }, + { url = "https://files.pythonhosted.org/packages/00/7b/e92c64e079b2d0d7ddf69899c98842f3f9a60a1ae72657c89ce2655c999d/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798", size = 24057 }, + { url = "https://files.pythonhosted.org/packages/f9/ac/46f960ca323037caa0a10662ef97d0a4728e890334fc156b9f9e52bcc4ca/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e", size = 23359 }, + { url = "https://files.pythonhosted.org/packages/69/84/83439e16197337b8b14b6a5b9c2105fff81d42c2a7c5b58ac7b62ee2c3b1/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4", size = 23306 }, + { url = "https://files.pythonhosted.org/packages/9a/34/a15aa69f01e2181ed8d2b685c0d2f6655d5cca2c4db0ddea775e631918cd/MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", size = 15094 }, + { url = "https://files.pythonhosted.org/packages/da/b8/3a3bd761922d416f3dc5d00bfbed11f66b1ab89a0c2b6e887240a30b0f6b/MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", size = 15521 }, + { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274 }, + { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348 }, + { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149 }, + { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118 }, + { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993 }, + { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178 }, + { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319 }, + { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352 }, + { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097 }, + { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601 }, + { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274 }, + { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352 }, + { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122 }, + { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085 }, + { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978 }, + { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208 }, + { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357 }, + { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344 }, + { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101 }, + { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603 }, + { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510 }, + { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486 }, + { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480 }, + { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914 }, + { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796 }, + { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473 }, + { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114 }, + { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098 }, + { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208 }, + { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739 }, + { url = "https://files.pythonhosted.org/packages/a7/ea/9b1530c3fdeeca613faeb0fb5cbcf2389d816072fab72a71b45749ef6062/MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a", size = 14344 }, + { url = "https://files.pythonhosted.org/packages/4b/c2/fbdbfe48848e7112ab05e627e718e854d20192b674952d9042ebd8c9e5de/MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff", size = 12389 }, + { url = "https://files.pythonhosted.org/packages/f0/25/7a7c6e4dbd4f867d95d94ca15449e91e52856f6ed1905d58ef1de5e211d0/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13", size = 21607 }, + { url = "https://files.pythonhosted.org/packages/53/8f/f339c98a178f3c1e545622206b40986a4c3307fe39f70ccd3d9df9a9e425/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144", size = 20728 }, + { url = "https://files.pythonhosted.org/packages/1a/03/8496a1a78308456dbd50b23a385c69b41f2e9661c67ea1329849a598a8f9/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29", size = 20826 }, + { url = "https://files.pythonhosted.org/packages/e6/cf/0a490a4bd363048c3022f2f475c8c05582179bb179defcee4766fb3dcc18/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0", size = 21843 }, + { url = "https://files.pythonhosted.org/packages/19/a3/34187a78613920dfd3cdf68ef6ce5e99c4f3417f035694074beb8848cd77/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0", size = 21219 }, + { url = "https://files.pythonhosted.org/packages/17/d8/5811082f85bb88410ad7e452263af048d685669bbbfb7b595e8689152498/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178", size = 20946 }, + { url = "https://files.pythonhosted.org/packages/7c/31/bd635fb5989440d9365c5e3c47556cfea121c7803f5034ac843e8f37c2f2/MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f", size = 15063 }, + { url = "https://files.pythonhosted.org/packages/b3/73/085399401383ce949f727afec55ec3abd76648d04b9f22e1c0e99cb4bec3/MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a", size = 15506 }, +] + +[[package]] +name = "multidict" +version = "6.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d6/be/504b89a5e9ca731cd47487e91c469064f8ae5af93b7259758dcfc2b9c848/multidict-6.1.0.tar.gz", hash = "sha256:22ae2ebf9b0c69d206c003e2f6a914ea33f0a932d4aa16f236afc049d9958f4a", size = 64002 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/29/68/259dee7fd14cf56a17c554125e534f6274c2860159692a414d0b402b9a6d/multidict-6.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3380252550e372e8511d49481bd836264c009adb826b23fefcc5dd3c69692f60", size = 48628 }, + { url = "https://files.pythonhosted.org/packages/50/79/53ba256069fe5386a4a9e80d4e12857ced9de295baf3e20c68cdda746e04/multidict-6.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:99f826cbf970077383d7de805c0681799491cb939c25450b9b5b3ced03ca99f1", size = 29327 }, + { url = "https://files.pythonhosted.org/packages/ff/10/71f1379b05b196dae749b5ac062e87273e3f11634f447ebac12a571d90ae/multidict-6.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a114d03b938376557927ab23f1e950827c3b893ccb94b62fd95d430fd0e5cf53", size = 29689 }, + { url = "https://files.pythonhosted.org/packages/71/45/70bac4f87438ded36ad4793793c0095de6572d433d98575a5752629ef549/multidict-6.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1c416351ee6271b2f49b56ad7f308072f6f44b37118d69c2cad94f3fa8a40d5", size = 126639 }, + { url = "https://files.pythonhosted.org/packages/80/cf/17f35b3b9509b4959303c05379c4bfb0d7dd05c3306039fc79cf035bbac0/multidict-6.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6b5d83030255983181005e6cfbac1617ce9746b219bc2aad52201ad121226581", size = 134315 }, + { url = "https://files.pythonhosted.org/packages/ef/1f/652d70ab5effb33c031510a3503d4d6efc5ec93153562f1ee0acdc895a57/multidict-6.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3e97b5e938051226dc025ec80980c285b053ffb1e25a3db2a3aa3bc046bf7f56", size = 129471 }, + { url = "https://files.pythonhosted.org/packages/a6/64/2dd6c4c681688c0165dea3975a6a4eab4944ea30f35000f8b8af1df3148c/multidict-6.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d618649d4e70ac6efcbba75be98b26ef5078faad23592f9b51ca492953012429", size = 124585 }, + { url = "https://files.pythonhosted.org/packages/87/56/e6ee5459894c7e554b57ba88f7257dc3c3d2d379cb15baaa1e265b8c6165/multidict-6.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10524ebd769727ac77ef2278390fb0068d83f3acb7773792a5080f2b0abf7748", size = 116957 }, + { url = "https://files.pythonhosted.org/packages/36/9e/616ce5e8d375c24b84f14fc263c7ef1d8d5e8ef529dbc0f1df8ce71bb5b8/multidict-6.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ff3827aef427c89a25cc96ded1759271a93603aba9fb977a6d264648ebf989db", size = 128609 }, + { url = "https://files.pythonhosted.org/packages/8c/4f/4783e48a38495d000f2124020dc96bacc806a4340345211b1ab6175a6cb4/multidict-6.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:06809f4f0f7ab7ea2cabf9caca7d79c22c0758b58a71f9d32943ae13c7ace056", size = 123016 }, + { url = "https://files.pythonhosted.org/packages/3e/b3/4950551ab8fc39862ba5e9907dc821f896aa829b4524b4deefd3e12945ab/multidict-6.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f179dee3b863ab1c59580ff60f9d99f632f34ccb38bf67a33ec6b3ecadd0fd76", size = 133542 }, + { url = "https://files.pythonhosted.org/packages/96/4d/f0ce6ac9914168a2a71df117935bb1f1781916acdecbb43285e225b484b8/multidict-6.1.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:aaed8b0562be4a0876ee3b6946f6869b7bcdb571a5d1496683505944e268b160", size = 130163 }, + { url = "https://files.pythonhosted.org/packages/be/72/17c9f67e7542a49dd252c5ae50248607dfb780bcc03035907dafefb067e3/multidict-6.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3c8b88a2ccf5493b6c8da9076fb151ba106960a2df90c2633f342f120751a9e7", size = 126832 }, + { url = "https://files.pythonhosted.org/packages/71/9f/72d719e248cbd755c8736c6d14780533a1606ffb3fbb0fbd77da9f0372da/multidict-6.1.0-cp310-cp310-win32.whl", hash = "sha256:4a9cb68166a34117d6646c0023c7b759bf197bee5ad4272f420a0141d7eb03a0", size = 26402 }, + { url = "https://files.pythonhosted.org/packages/04/5a/d88cd5d00a184e1ddffc82aa2e6e915164a6d2641ed3606e766b5d2f275a/multidict-6.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:20b9b5fbe0b88d0bdef2012ef7dee867f874b72528cf1d08f1d59b0e3850129d", size = 28800 }, + { url = "https://files.pythonhosted.org/packages/93/13/df3505a46d0cd08428e4c8169a196131d1b0c4b515c3649829258843dde6/multidict-6.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3efe2c2cb5763f2f1b275ad2bf7a287d3f7ebbef35648a9726e3b69284a4f3d6", size = 48570 }, + { url = "https://files.pythonhosted.org/packages/f0/e1/a215908bfae1343cdb72f805366592bdd60487b4232d039c437fe8f5013d/multidict-6.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7053d3b0353a8b9de430a4f4b4268ac9a4fb3481af37dfe49825bf45ca24156", size = 29316 }, + { url = "https://files.pythonhosted.org/packages/70/0f/6dc70ddf5d442702ed74f298d69977f904960b82368532c88e854b79f72b/multidict-6.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:27e5fc84ccef8dfaabb09d82b7d179c7cf1a3fbc8a966f8274fcb4ab2eb4cadb", size = 29640 }, + { url = "https://files.pythonhosted.org/packages/d8/6d/9c87b73a13d1cdea30b321ef4b3824449866bd7f7127eceed066ccb9b9ff/multidict-6.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e2b90b43e696f25c62656389d32236e049568b39320e2735d51f08fd362761b", size = 131067 }, + { url = "https://files.pythonhosted.org/packages/cc/1e/1b34154fef373371fd6c65125b3d42ff5f56c7ccc6bfff91b9b3c60ae9e0/multidict-6.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d83a047959d38a7ff552ff94be767b7fd79b831ad1cd9920662db05fec24fe72", size = 138507 }, + { url = "https://files.pythonhosted.org/packages/fb/e0/0bc6b2bac6e461822b5f575eae85da6aae76d0e2a79b6665d6206b8e2e48/multidict-6.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d1a9dd711d0877a1ece3d2e4fea11a8e75741ca21954c919406b44e7cf971304", size = 133905 }, + { url = "https://files.pythonhosted.org/packages/ba/af/73d13b918071ff9b2205fcf773d316e0f8fefb4ec65354bbcf0b10908cc6/multidict-6.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec2abea24d98246b94913b76a125e855eb5c434f7c46546046372fe60f666351", size = 129004 }, + { url = "https://files.pythonhosted.org/packages/74/21/23960627b00ed39643302d81bcda44c9444ebcdc04ee5bedd0757513f259/multidict-6.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4867cafcbc6585e4b678876c489b9273b13e9fff9f6d6d66add5e15d11d926cb", size = 121308 }, + { url = "https://files.pythonhosted.org/packages/8b/5c/cf282263ffce4a596ed0bb2aa1a1dddfe1996d6a62d08842a8d4b33dca13/multidict-6.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5b48204e8d955c47c55b72779802b219a39acc3ee3d0116d5080c388970b76e3", size = 132608 }, + { url = "https://files.pythonhosted.org/packages/d7/3e/97e778c041c72063f42b290888daff008d3ab1427f5b09b714f5a8eff294/multidict-6.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d8fff389528cad1618fb4b26b95550327495462cd745d879a8c7c2115248e399", size = 127029 }, + { url = "https://files.pythonhosted.org/packages/47/ac/3efb7bfe2f3aefcf8d103e9a7162572f01936155ab2f7ebcc7c255a23212/multidict-6.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a7a9541cd308eed5e30318430a9c74d2132e9a8cb46b901326272d780bf2d423", size = 137594 }, + { url = "https://files.pythonhosted.org/packages/42/9b/6c6e9e8dc4f915fc90a9b7798c44a30773dea2995fdcb619870e705afe2b/multidict-6.1.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:da1758c76f50c39a2efd5e9859ce7d776317eb1dd34317c8152ac9251fc574a3", size = 134556 }, + { url = "https://files.pythonhosted.org/packages/1d/10/8e881743b26aaf718379a14ac58572a240e8293a1c9d68e1418fb11c0f90/multidict-6.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c943a53e9186688b45b323602298ab727d8865d8c9ee0b17f8d62d14b56f0753", size = 130993 }, + { url = "https://files.pythonhosted.org/packages/45/84/3eb91b4b557442802d058a7579e864b329968c8d0ea57d907e7023c677f2/multidict-6.1.0-cp311-cp311-win32.whl", hash = "sha256:90f8717cb649eea3504091e640a1b8568faad18bd4b9fcd692853a04475a4b80", size = 26405 }, + { url = "https://files.pythonhosted.org/packages/9f/0b/ad879847ecbf6d27e90a6eabb7eff6b62c129eefe617ea45eae7c1f0aead/multidict-6.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:82176036e65644a6cc5bd619f65f6f19781e8ec2e5330f51aa9ada7504cc1926", size = 28795 }, + { url = "https://files.pythonhosted.org/packages/fd/16/92057c74ba3b96d5e211b553895cd6dc7cc4d1e43d9ab8fafc727681ef71/multidict-6.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b04772ed465fa3cc947db808fa306d79b43e896beb677a56fb2347ca1a49c1fa", size = 48713 }, + { url = "https://files.pythonhosted.org/packages/94/3d/37d1b8893ae79716179540b89fc6a0ee56b4a65fcc0d63535c6f5d96f217/multidict-6.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6180c0ae073bddeb5a97a38c03f30c233e0a4d39cd86166251617d1bbd0af436", size = 29516 }, + { url = "https://files.pythonhosted.org/packages/a2/12/adb6b3200c363062f805275b4c1e656be2b3681aada66c80129932ff0bae/multidict-6.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:071120490b47aa997cca00666923a83f02c7fbb44f71cf7f136df753f7fa8761", size = 29557 }, + { url = "https://files.pythonhosted.org/packages/47/e9/604bb05e6e5bce1e6a5cf80a474e0f072e80d8ac105f1b994a53e0b28c42/multidict-6.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50b3a2710631848991d0bf7de077502e8994c804bb805aeb2925a981de58ec2e", size = 130170 }, + { url = "https://files.pythonhosted.org/packages/7e/13/9efa50801785eccbf7086b3c83b71a4fb501a4d43549c2f2f80b8787d69f/multidict-6.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b58c621844d55e71c1b7f7c498ce5aa6985d743a1a59034c57a905b3f153c1ef", size = 134836 }, + { url = "https://files.pythonhosted.org/packages/bf/0f/93808b765192780d117814a6dfcc2e75de6dcc610009ad408b8814dca3ba/multidict-6.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55b6d90641869892caa9ca42ff913f7ff1c5ece06474fbd32fb2cf6834726c95", size = 133475 }, + { url = "https://files.pythonhosted.org/packages/d3/c8/529101d7176fe7dfe1d99604e48d69c5dfdcadb4f06561f465c8ef12b4df/multidict-6.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b820514bfc0b98a30e3d85462084779900347e4d49267f747ff54060cc33925", size = 131049 }, + { url = "https://files.pythonhosted.org/packages/ca/0c/fc85b439014d5a58063e19c3a158a889deec399d47b5269a0f3b6a2e28bc/multidict-6.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10a9b09aba0c5b48c53761b7c720aaaf7cf236d5fe394cd399c7ba662d5f9966", size = 120370 }, + { url = "https://files.pythonhosted.org/packages/db/46/d4416eb20176492d2258fbd47b4abe729ff3b6e9c829ea4236f93c865089/multidict-6.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e16bf3e5fc9f44632affb159d30a437bfe286ce9e02754759be5536b169b305", size = 125178 }, + { url = "https://files.pythonhosted.org/packages/5b/46/73697ad7ec521df7de5531a32780bbfd908ded0643cbe457f981a701457c/multidict-6.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76f364861c3bfc98cbbcbd402d83454ed9e01a5224bb3a28bf70002a230f73e2", size = 119567 }, + { url = "https://files.pythonhosted.org/packages/cd/ed/51f060e2cb0e7635329fa6ff930aa5cffa17f4c7f5c6c3ddc3500708e2f2/multidict-6.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:820c661588bd01a0aa62a1283f20d2be4281b086f80dad9e955e690c75fb54a2", size = 129822 }, + { url = "https://files.pythonhosted.org/packages/df/9e/ee7d1954b1331da3eddea0c4e08d9142da5f14b1321c7301f5014f49d492/multidict-6.1.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0e5f362e895bc5b9e67fe6e4ded2492d8124bdf817827f33c5b46c2fe3ffaca6", size = 128656 }, + { url = "https://files.pythonhosted.org/packages/77/00/8538f11e3356b5d95fa4b024aa566cde7a38aa7a5f08f4912b32a037c5dc/multidict-6.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ec660d19bbc671e3a6443325f07263be452c453ac9e512f5eb935e7d4ac28b3", size = 125360 }, + { url = "https://files.pythonhosted.org/packages/be/05/5d334c1f2462d43fec2363cd00b1c44c93a78c3925d952e9a71caf662e96/multidict-6.1.0-cp312-cp312-win32.whl", hash = "sha256:58130ecf8f7b8112cdb841486404f1282b9c86ccb30d3519faf301b2e5659133", size = 26382 }, + { url = "https://files.pythonhosted.org/packages/a3/bf/f332a13486b1ed0496d624bcc7e8357bb8053823e8cd4b9a18edc1d97e73/multidict-6.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:188215fc0aafb8e03341995e7c4797860181562380f81ed0a87ff455b70bf1f1", size = 28529 }, + { url = "https://files.pythonhosted.org/packages/22/67/1c7c0f39fe069aa4e5d794f323be24bf4d33d62d2a348acdb7991f8f30db/multidict-6.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:d569388c381b24671589335a3be6e1d45546c2988c2ebe30fdcada8457a31008", size = 48771 }, + { url = "https://files.pythonhosted.org/packages/3c/25/c186ee7b212bdf0df2519eacfb1981a017bda34392c67542c274651daf23/multidict-6.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:052e10d2d37810b99cc170b785945421141bf7bb7d2f8799d431e7db229c385f", size = 29533 }, + { url = "https://files.pythonhosted.org/packages/67/5e/04575fd837e0958e324ca035b339cea174554f6f641d3fb2b4f2e7ff44a2/multidict-6.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f90c822a402cb865e396a504f9fc8173ef34212a342d92e362ca498cad308e28", size = 29595 }, + { url = "https://files.pythonhosted.org/packages/d3/b2/e56388f86663810c07cfe4a3c3d87227f3811eeb2d08450b9e5d19d78876/multidict-6.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b225d95519a5bf73860323e633a664b0d85ad3d5bede6d30d95b35d4dfe8805b", size = 130094 }, + { url = "https://files.pythonhosted.org/packages/6c/ee/30ae9b4186a644d284543d55d491fbd4239b015d36b23fea43b4c94f7052/multidict-6.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:23bfd518810af7de1116313ebd9092cb9aa629beb12f6ed631ad53356ed6b86c", size = 134876 }, + { url = "https://files.pythonhosted.org/packages/84/c7/70461c13ba8ce3c779503c70ec9d0345ae84de04521c1f45a04d5f48943d/multidict-6.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c09fcfdccdd0b57867577b719c69e347a436b86cd83747f179dbf0cc0d4c1f3", size = 133500 }, + { url = "https://files.pythonhosted.org/packages/4a/9f/002af221253f10f99959561123fae676148dd730e2daa2cd053846a58507/multidict-6.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf6bea52ec97e95560af5ae576bdac3aa3aae0b6758c6efa115236d9e07dae44", size = 131099 }, + { url = "https://files.pythonhosted.org/packages/82/42/d1c7a7301d52af79d88548a97e297f9d99c961ad76bbe6f67442bb77f097/multidict-6.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57feec87371dbb3520da6192213c7d6fc892d5589a93db548331954de8248fd2", size = 120403 }, + { url = "https://files.pythonhosted.org/packages/68/f3/471985c2c7ac707547553e8f37cff5158030d36bdec4414cb825fbaa5327/multidict-6.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0c3f390dc53279cbc8ba976e5f8035eab997829066756d811616b652b00a23a3", size = 125348 }, + { url = "https://files.pythonhosted.org/packages/67/2c/e6df05c77e0e433c214ec1d21ddd203d9a4770a1f2866a8ca40a545869a0/multidict-6.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:59bfeae4b25ec05b34f1956eaa1cb38032282cd4dfabc5056d0a1ec4d696d3aa", size = 119673 }, + { url = "https://files.pythonhosted.org/packages/c5/cd/bc8608fff06239c9fb333f9db7743a1b2eafe98c2666c9a196e867a3a0a4/multidict-6.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b2f59caeaf7632cc633b5cf6fc449372b83bbdf0da4ae04d5be36118e46cc0aa", size = 129927 }, + { url = "https://files.pythonhosted.org/packages/44/8e/281b69b7bc84fc963a44dc6e0bbcc7150e517b91df368a27834299a526ac/multidict-6.1.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:37bb93b2178e02b7b618893990941900fd25b6b9ac0fa49931a40aecdf083fe4", size = 128711 }, + { url = "https://files.pythonhosted.org/packages/12/a4/63e7cd38ed29dd9f1881d5119f272c898ca92536cdb53ffe0843197f6c85/multidict-6.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4e9f48f58c2c523d5a06faea47866cd35b32655c46b443f163d08c6d0ddb17d6", size = 125519 }, + { url = "https://files.pythonhosted.org/packages/38/e0/4f5855037a72cd8a7a2f60a3952d9aa45feedb37ae7831642102604e8a37/multidict-6.1.0-cp313-cp313-win32.whl", hash = "sha256:3a37ffb35399029b45c6cc33640a92bef403c9fd388acce75cdc88f58bd19a81", size = 26426 }, + { url = "https://files.pythonhosted.org/packages/7e/a5/17ee3a4db1e310b7405f5d25834460073a8ccd86198ce044dfaf69eac073/multidict-6.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:e9aa71e15d9d9beaad2c6b9319edcdc0a49a43ef5c0a4c8265ca9ee7d6c67774", size = 28531 }, + { url = "https://files.pythonhosted.org/packages/e7/c9/9e153a6572b38ac5ff4434113af38acf8d5e9957897cdb1f513b3d6614ed/multidict-6.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:4e18b656c5e844539d506a0a06432274d7bd52a7487e6828c63a63d69185626c", size = 48550 }, + { url = "https://files.pythonhosted.org/packages/76/f5/79565ddb629eba6c7f704f09a09df085c8dc04643b12506f10f718cee37a/multidict-6.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a185f876e69897a6f3325c3f19f26a297fa058c5e456bfcff8015e9a27e83ae1", size = 29298 }, + { url = "https://files.pythonhosted.org/packages/60/1b/9851878b704bc98e641a3e0bce49382ae9e05743dac6d97748feb5b7baba/multidict-6.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ab7c4ceb38d91570a650dba194e1ca87c2b543488fe9309b4212694174fd539c", size = 29641 }, + { url = "https://files.pythonhosted.org/packages/89/87/d451d45aab9e422cb0fb2f7720c31a4c1d3012c740483c37f642eba568fb/multidict-6.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e617fb6b0b6953fffd762669610c1c4ffd05632c138d61ac7e14ad187870669c", size = 126202 }, + { url = "https://files.pythonhosted.org/packages/fa/b4/27cbe9f3e2e469359887653f2e45470272eef7295139916cc21107c6b48c/multidict-6.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:16e5f4bf4e603eb1fdd5d8180f1a25f30056f22e55ce51fb3d6ad4ab29f7d96f", size = 133925 }, + { url = "https://files.pythonhosted.org/packages/4d/a3/afc841899face8adfd004235ce759a37619f6ec99eafd959650c5ce4df57/multidict-6.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f4c035da3f544b1882bac24115f3e2e8760f10a0107614fc9839fd232200b875", size = 129039 }, + { url = "https://files.pythonhosted.org/packages/5e/41/0d0fb18c1ad574f807196f5f3d99164edf9de3e169a58c6dc2d6ed5742b9/multidict-6.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:957cf8e4b6e123a9eea554fa7ebc85674674b713551de587eb318a2df3e00255", size = 124072 }, + { url = "https://files.pythonhosted.org/packages/00/22/defd7a2e71a44e6e5b9a5428f972e5b572e7fe28e404dfa6519bbf057c93/multidict-6.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:483a6aea59cb89904e1ceabd2b47368b5600fb7de78a6e4a2c2987b2d256cf30", size = 116532 }, + { url = "https://files.pythonhosted.org/packages/91/25/f7545102def0b1d456ab6449388eed2dfd822debba1d65af60194904a23a/multidict-6.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:87701f25a2352e5bf7454caa64757642734da9f6b11384c1f9d1a8e699758057", size = 128173 }, + { url = "https://files.pythonhosted.org/packages/45/79/3dbe8d35fc99f5ea610813a72ab55f426cb9cf482f860fa8496e5409be11/multidict-6.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:682b987361e5fd7a139ed565e30d81fd81e9629acc7d925a205366877d8c8657", size = 122654 }, + { url = "https://files.pythonhosted.org/packages/97/cb/209e735eeab96e1b160825b5d0b36c56d3862abff828fc43999bb957dcad/multidict-6.1.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce2186a7df133a9c895dea3331ddc5ddad42cdd0d1ea2f0a51e5d161e4762f28", size = 133197 }, + { url = "https://files.pythonhosted.org/packages/e4/3a/a13808a7ada62808afccea67837a79d00ad6581440015ef00f726d064c2d/multidict-6.1.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9f636b730f7e8cb19feb87094949ba54ee5357440b9658b2a32a5ce4bce53972", size = 129754 }, + { url = "https://files.pythonhosted.org/packages/77/dd/8540e139eafb240079242da8f8ffdf9d3f4b4ad1aac5a786cd4050923783/multidict-6.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:73eae06aa53af2ea5270cc066dcaf02cc60d2994bbb2c4ef5764949257d10f43", size = 126402 }, + { url = "https://files.pythonhosted.org/packages/86/99/e82e1a275d8b1ea16d3a251474262258dbbe41c05cce0c01bceda1fc8ea5/multidict-6.1.0-cp39-cp39-win32.whl", hash = "sha256:1ca0083e80e791cffc6efce7660ad24af66c8d4079d2a750b29001b53ff59ada", size = 26421 }, + { url = "https://files.pythonhosted.org/packages/86/1c/9fa630272355af7e4446a2c7550c259f11ee422ab2d30ff90a0a71cf3d9e/multidict-6.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:aa466da5b15ccea564bdab9c89175c762bc12825f4659c11227f515cee76fa4a", size = 28791 }, + { url = "https://files.pythonhosted.org/packages/99/b7/b9e70fde2c0f0c9af4cc5277782a89b66d35948ea3369ec9f598358c3ac5/multidict-6.1.0-py3-none-any.whl", hash = "sha256:48e171e52d1c4d33888e529b999e5900356b9ae588c2f09a52dcefb158b27506", size = 10051 }, +] + +[[package]] +name = "nodeenv" +version = "1.9.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/16/fc88b08840de0e0a72a2f9d8c6bae36be573e475a6326ae854bcc549fc45/nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f", size = 47437 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9", size = 22314 }, +] + +[[package]] +name = "packaging" +version = "24.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d0/63/68dbb6eb2de9cb10ee4c9c14a0148804425e13c4fb20d61cce69f53106da/packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f", size = 163950 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", size = 65451 }, +] + +[[package]] +name = "platformdirs" +version = "4.3.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/13/fc/128cc9cb8f03208bdbf93d3aa862e16d376844a14f9a0ce5cf4507372de4/platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907", size = 21302 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3c/a6/bc1012356d8ece4d66dd75c4b9fc6c1f6650ddd5991e421177d9f8f671be/platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb", size = 18439 }, +] + +[[package]] +name = "pluggy" +version = "1.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", size = 67955 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556 }, +] + +[[package]] +name = "pre-commit" +version = "3.8.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cfgv" }, + { name = "identify" }, + { name = "nodeenv" }, + { name = "pyyaml" }, + { name = "virtualenv" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/64/10/97ee2fa54dff1e9da9badbc5e35d0bbaef0776271ea5907eccf64140f72f/pre_commit-3.8.0.tar.gz", hash = "sha256:8bb6494d4a20423842e198980c9ecf9f96607a07ea29549e180eef9ae80fe7af", size = 177815 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/07/92/caae8c86e94681b42c246f0bca35c059a2f0529e5b92619f6aba4cf7e7b6/pre_commit-3.8.0-py2.py3-none-any.whl", hash = "sha256:9a90a53bf82fdd8778d58085faf8d83df56e40dfe18f45b19446e26bf1b3a63f", size = 204643 }, +] + +[[package]] +name = "propcache" +version = "0.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/92/76/f941e63d55c0293ff7829dd21e7cf1147e90a526756869a9070f287a68c9/propcache-0.3.0.tar.gz", hash = "sha256:a8fd93de4e1d278046345f49e2238cdb298589325849b2645d4a94c53faeffc5", size = 42722 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8d/f0/dc9ec44d2e63c13f816a16398c039329736712440ff82b682dd9a78d2258/propcache-0.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:efa44f64c37cc30c9f05932c740a8b40ce359f51882c70883cc95feac842da4d", size = 79574 }, + { url = "https://files.pythonhosted.org/packages/99/3a/33a207dfcb3ee1131ea23a2aeb726c3c4994f89546d7eadf8c50627c8b63/propcache-0.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2383a17385d9800b6eb5855c2f05ee550f803878f344f58b6e194de08b96352c", size = 45898 }, + { url = "https://files.pythonhosted.org/packages/af/68/0bde765c9f5dc02b4466d2838600af38c81b184c26c6d3cd44643ac668e3/propcache-0.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d3e7420211f5a65a54675fd860ea04173cde60a7cc20ccfbafcccd155225f8bc", size = 45418 }, + { url = "https://files.pythonhosted.org/packages/06/a6/c682669bae41199358e16cc7b1c818f91c5f9e925cc863dabd98ce32716a/propcache-0.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3302c5287e504d23bb0e64d2a921d1eb4a03fb93a0a0aa3b53de059f5a5d737d", size = 205116 }, + { url = "https://files.pythonhosted.org/packages/fb/ae/82cfb50267d9a1baa0340728eb9e32245a68538fef929d7bb786d01c11a8/propcache-0.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7e2e068a83552ddf7a39a99488bcba05ac13454fb205c847674da0352602082f", size = 219405 }, + { url = "https://files.pythonhosted.org/packages/ab/16/7b6b2bf8c207cfd0e5ca3d41aea397392de9899867ec024f88c94f9ae2ab/propcache-0.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d913d36bdaf368637b4f88d554fb9cb9d53d6920b9c5563846555938d5450bf", size = 217656 }, + { url = "https://files.pythonhosted.org/packages/f4/eb/41447de61eb5454891658d0fb9b1d7d35d49a4a5dd2e0c86f2c332e8b7e1/propcache-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ee1983728964d6070ab443399c476de93d5d741f71e8f6e7880a065f878e0b9", size = 205414 }, + { url = "https://files.pythonhosted.org/packages/03/b6/9719878f8b5b20d37ee663a40f8dcbf888559e4d3be2ba2fe5c790fc28d2/propcache-0.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:36ca5e9a21822cc1746023e88f5c0af6fce3af3b85d4520efb1ce4221bed75cc", size = 195746 }, + { url = "https://files.pythonhosted.org/packages/bb/ec/b79c3210ba459800d1a8f1afeb81d7b503893555a7b79c24082ff26d3314/propcache-0.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:9ecde3671e62eeb99e977f5221abcf40c208f69b5eb986b061ccec317c82ebd0", size = 198651 }, + { url = "https://files.pythonhosted.org/packages/48/f6/2b0140bc47013e43575973068e72ad51ee9f22f2dad42e6d6e362d715125/propcache-0.3.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:d383bf5e045d7f9d239b38e6acadd7b7fdf6c0087259a84ae3475d18e9a2ae8b", size = 195858 }, + { url = "https://files.pythonhosted.org/packages/97/3d/2fa19303d87aa21f9a42dcd870d6088a2a776ff5518e394d50412c3679a6/propcache-0.3.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:8cb625bcb5add899cb8ba7bf716ec1d3e8f7cdea9b0713fa99eadf73b6d4986f", size = 197181 }, + { url = "https://files.pythonhosted.org/packages/09/f3/a2170ffc9fa774c1dfd52294113c0fa6cdc5b71dbfd7129bb9378fdd8b42/propcache-0.3.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:5fa159dcee5dba00c1def3231c249cf261185189205073bde13797e57dd7540a", size = 207411 }, + { url = "https://files.pythonhosted.org/packages/d6/1e/cb8a6c82178efffa0b00dc463f36cd086f747345585140aeb95d5cb93666/propcache-0.3.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:a7080b0159ce05f179cfac592cda1a82898ca9cd097dacf8ea20ae33474fbb25", size = 210724 }, + { url = "https://files.pythonhosted.org/packages/2b/72/6e273543337a3e22cf462eb836f065a9830b4d41baeb1f58db2695c934f3/propcache-0.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ed7161bccab7696a473fe7ddb619c1d75963732b37da4618ba12e60899fefe4f", size = 203511 }, + { url = "https://files.pythonhosted.org/packages/f3/ea/7412c79bcec06597c967d49789f5a1f7fd76a8654908feeaefafb7447c9a/propcache-0.3.0-cp310-cp310-win32.whl", hash = "sha256:bf0d9a171908f32d54f651648c7290397b8792f4303821c42a74e7805bfb813c", size = 40600 }, + { url = "https://files.pythonhosted.org/packages/a3/42/488c90190491f3e61bd2c2fb0b3d91c1c78778270dde2f0b6633fc9ff723/propcache-0.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:42924dc0c9d73e49908e35bbdec87adedd651ea24c53c29cac103ede0ea1d340", size = 44714 }, + { url = "https://files.pythonhosted.org/packages/45/c9/cf09ff7e6d09f14149094f7cd50d2dec032b24e61af21fc4540da2b17bfb/propcache-0.3.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9ddd49258610499aab83b4f5b61b32e11fce873586282a0e972e5ab3bcadee51", size = 79568 }, + { url = "https://files.pythonhosted.org/packages/c8/32/2424d89da88cd81b7d148e0d2b3131461b570a02aa9d84a2e567509adb0d/propcache-0.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2578541776769b500bada3f8a4eeaf944530516b6e90c089aa368266ed70c49e", size = 45895 }, + { url = "https://files.pythonhosted.org/packages/f6/91/ee5b6aa7aa31754fefcf0c5180e09223cac380ef195c4ddc8c266eb641ea/propcache-0.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d8074c5dd61c8a3e915fa8fc04754fa55cfa5978200d2daa1e2d4294c1f136aa", size = 45427 }, + { url = "https://files.pythonhosted.org/packages/bf/73/38f0128462b8b616181d8c53bd5d04eac41c50c449b07615c65d56ba0a9b/propcache-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b58229a844931bca61b3a20efd2be2a2acb4ad1622fc026504309a6883686fbf", size = 232427 }, + { url = "https://files.pythonhosted.org/packages/59/82/f3d4e84f4539dcfc9c3d338282b9e915f5b63c921986ecfdf7af2d12f87c/propcache-0.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e45377d5d6fefe1677da2a2c07b024a6dac782088e37c0b1efea4cfe2b1be19b", size = 239985 }, + { url = "https://files.pythonhosted.org/packages/42/e8/029f58cccbae83c9969a7ee7a06558d5b83a93dfc54e0f4f70234bbaea1b/propcache-0.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ec5060592d83454e8063e487696ac3783cc48c9a329498bafae0d972bc7816c9", size = 238827 }, + { url = "https://files.pythonhosted.org/packages/8b/a2/c373561777c0cb9b9e7b9b9a10b9b3a7b6bde75a2535b962231cecc8fdb8/propcache-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15010f29fbed80e711db272909a074dc79858c6d28e2915704cfc487a8ac89c6", size = 231348 }, + { url = "https://files.pythonhosted.org/packages/d7/d2/4673f715beedf6038b485bcd976813149231d9df5bb6196cb69a09c185c9/propcache-0.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a254537b9b696ede293bfdbc0a65200e8e4507bc9f37831e2a0318a9b333c85c", size = 220426 }, + { url = "https://files.pythonhosted.org/packages/e0/f6/1da65f900927bafd4675a16e890618ec7643f2f922bf0e4d84bb38645618/propcache-0.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2b975528998de037dfbc10144b8aed9b8dd5a99ec547f14d1cb7c5665a43f075", size = 220294 }, + { url = "https://files.pythonhosted.org/packages/ff/86/620451bdc02e91b1712cd71890c17077ee97e2a28493836a87e47b8e70ff/propcache-0.3.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:19d36bb351ad5554ff20f2ae75f88ce205b0748c38b146c75628577020351e3c", size = 212492 }, + { url = "https://files.pythonhosted.org/packages/6e/1b/e8f86921ed4016da80faf3b8f515f7829decabdbff106736bfff353bceba/propcache-0.3.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:6032231d4a5abd67c7f71168fd64a47b6b451fbcb91c8397c2f7610e67683810", size = 215113 }, + { url = "https://files.pythonhosted.org/packages/1a/95/a61d86cc49aa0945f6c06f3a4614fc543e311a50558c92861f5e9691a37c/propcache-0.3.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:6985a593417cdbc94c7f9c3403747335e450c1599da1647a5af76539672464d3", size = 228330 }, + { url = "https://files.pythonhosted.org/packages/8f/7d/10dbae48ff2bb189e92c2b3487a48f3229146a25941ad0d485934d1104d4/propcache-0.3.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:6a1948df1bb1d56b5e7b0553c0fa04fd0e320997ae99689488201f19fa90d2e7", size = 231942 }, + { url = "https://files.pythonhosted.org/packages/39/ce/82d16aec96c5513ae7db13ab901a65a1e54c915292fb5b2390e33275b61d/propcache-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:8319293e85feadbbfe2150a5659dbc2ebc4afdeaf7d98936fb9a2f2ba0d4c35c", size = 223077 }, + { url = "https://files.pythonhosted.org/packages/c8/e0/cb077e8e7a583c733df7f53327fcbdb92e42be59b976ce60bf1d904a0efe/propcache-0.3.0-cp311-cp311-win32.whl", hash = "sha256:63f26258a163c34542c24808f03d734b338da66ba91f410a703e505c8485791d", size = 40455 }, + { url = "https://files.pythonhosted.org/packages/d8/35/57abeb6146fe3c19081eeaf3d9d4cfea256f87f1e5101acf80d3332c1820/propcache-0.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:cacea77ef7a2195f04f9279297684955e3d1ae4241092ff0cfcef532bb7a1c32", size = 44705 }, + { url = "https://files.pythonhosted.org/packages/8d/2c/921f15dc365796ec23975b322b0078eae72995c7b4d49eba554c6a308d70/propcache-0.3.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e53d19c2bf7d0d1e6998a7e693c7e87300dd971808e6618964621ccd0e01fe4e", size = 79867 }, + { url = "https://files.pythonhosted.org/packages/11/a5/4a6cc1a559d1f2fb57ea22edc4245158cdffae92f7f92afcee2913f84417/propcache-0.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a61a68d630e812b67b5bf097ab84e2cd79b48c792857dc10ba8a223f5b06a2af", size = 46109 }, + { url = "https://files.pythonhosted.org/packages/e1/6d/28bfd3af3a567ad7d667348e7f46a520bda958229c4d545ba138a044232f/propcache-0.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fb91d20fa2d3b13deea98a690534697742029f4fb83673a3501ae6e3746508b5", size = 45635 }, + { url = "https://files.pythonhosted.org/packages/73/20/d75b42eaffe5075eac2f4e168f6393d21c664c91225288811d85451b2578/propcache-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:67054e47c01b7b349b94ed0840ccae075449503cf1fdd0a1fdd98ab5ddc2667b", size = 242159 }, + { url = "https://files.pythonhosted.org/packages/a5/fb/4b537dd92f9fd4be68042ec51c9d23885ca5fafe51ec24c58d9401034e5f/propcache-0.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:997e7b8f173a391987df40f3b52c423e5850be6f6df0dcfb5376365440b56667", size = 248163 }, + { url = "https://files.pythonhosted.org/packages/e7/af/8a9db04ac596d531ca0ef7dde518feaadfcdabef7b17d6a5ec59ee3effc2/propcache-0.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d663fd71491dde7dfdfc899d13a067a94198e90695b4321084c6e450743b8c7", size = 248794 }, + { url = "https://files.pythonhosted.org/packages/9d/c4/ecfc988879c0fd9db03228725b662d76cf484b6b46f7e92fee94e4b52490/propcache-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8884ba1a0fe7210b775106b25850f5e5a9dc3c840d1ae9924ee6ea2eb3acbfe7", size = 243912 }, + { url = "https://files.pythonhosted.org/packages/04/a2/298dd27184faa8b7d91cc43488b578db218b3cc85b54d912ed27b8c5597a/propcache-0.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aa806bbc13eac1ab6291ed21ecd2dd426063ca5417dd507e6be58de20e58dfcf", size = 229402 }, + { url = "https://files.pythonhosted.org/packages/be/0d/efe7fec316ca92dbf4bc4a9ba49ca889c43ca6d48ab1d6fa99fc94e5bb98/propcache-0.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6f4d7a7c0aff92e8354cceca6fe223973ddf08401047920df0fcb24be2bd5138", size = 226896 }, + { url = "https://files.pythonhosted.org/packages/60/63/72404380ae1d9c96d96e165aa02c66c2aae6072d067fc4713da5cde96762/propcache-0.3.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:9be90eebc9842a93ef8335291f57b3b7488ac24f70df96a6034a13cb58e6ff86", size = 221447 }, + { url = "https://files.pythonhosted.org/packages/9d/18/b8392cab6e0964b67a30a8f4dadeaff64dc7022b5a34bb1d004ea99646f4/propcache-0.3.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:bf15fc0b45914d9d1b706f7c9c4f66f2b7b053e9517e40123e137e8ca8958b3d", size = 222440 }, + { url = "https://files.pythonhosted.org/packages/6f/be/105d9ceda0f97eff8c06bac1673448b2db2a497444de3646464d3f5dc881/propcache-0.3.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5a16167118677d94bb48bfcd91e420088854eb0737b76ec374b91498fb77a70e", size = 234104 }, + { url = "https://files.pythonhosted.org/packages/cb/c9/f09a4ec394cfcce4053d8b2a04d622b5f22d21ba9bb70edd0cad061fa77b/propcache-0.3.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:41de3da5458edd5678b0f6ff66691507f9885f5fe6a0fb99a5d10d10c0fd2d64", size = 239086 }, + { url = "https://files.pythonhosted.org/packages/ea/aa/96f7f9ed6def82db67c972bdb7bd9f28b95d7d98f7e2abaf144c284bf609/propcache-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:728af36011bb5d344c4fe4af79cfe186729efb649d2f8b395d1572fb088a996c", size = 230991 }, + { url = "https://files.pythonhosted.org/packages/5a/11/bee5439de1307d06fad176f7143fec906e499c33d7aff863ea8428b8e98b/propcache-0.3.0-cp312-cp312-win32.whl", hash = "sha256:6b5b7fd6ee7b54e01759f2044f936dcf7dea6e7585f35490f7ca0420fe723c0d", size = 40337 }, + { url = "https://files.pythonhosted.org/packages/e4/17/e5789a54a0455a61cb9efc4ca6071829d992220c2998a27c59aeba749f6f/propcache-0.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:2d15bc27163cd4df433e75f546b9ac31c1ba7b0b128bfb1b90df19082466ff57", size = 44404 }, + { url = "https://files.pythonhosted.org/packages/3a/0f/a79dd23a0efd6ee01ab0dc9750d8479b343bfd0c73560d59d271eb6a99d4/propcache-0.3.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a2b9bf8c79b660d0ca1ad95e587818c30ccdb11f787657458d6f26a1ea18c568", size = 77287 }, + { url = "https://files.pythonhosted.org/packages/b8/51/76675703c90de38ac75adb8deceb3f3ad99b67ff02a0fa5d067757971ab8/propcache-0.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b0c1a133d42c6fc1f5fbcf5c91331657a1ff822e87989bf4a6e2e39b818d0ee9", size = 44923 }, + { url = "https://files.pythonhosted.org/packages/01/9b/fd5ddbee66cf7686e73c516227c2fd9bf471dbfed0f48329d095ea1228d3/propcache-0.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bb2f144c6d98bb5cbc94adeb0447cfd4c0f991341baa68eee3f3b0c9c0e83767", size = 44325 }, + { url = "https://files.pythonhosted.org/packages/13/1c/6961f11eb215a683b34b903b82bde486c606516c1466bf1fa67f26906d51/propcache-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1323cd04d6e92150bcc79d0174ce347ed4b349d748b9358fd2e497b121e03c8", size = 225116 }, + { url = "https://files.pythonhosted.org/packages/ef/ea/f8410c40abcb2e40dffe9adeed017898c930974650a63e5c79b886aa9f73/propcache-0.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b812b3cb6caacd072276ac0492d249f210006c57726b6484a1e1805b3cfeea0", size = 229905 }, + { url = "https://files.pythonhosted.org/packages/ef/5a/a9bf90894001468bf8e6ea293bb00626cc9ef10f8eb7996e9ec29345c7ed/propcache-0.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:742840d1d0438eb7ea4280f3347598f507a199a35a08294afdcc560c3739989d", size = 233221 }, + { url = "https://files.pythonhosted.org/packages/dd/ce/fffdddd9725b690b01d345c1156b4c2cc6dca09ab5c23a6d07b8f37d6e2f/propcache-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c6e7e4f9167fddc438cd653d826f2222222564daed4116a02a184b464d3ef05", size = 227627 }, + { url = "https://files.pythonhosted.org/packages/58/ae/45c89a5994a334735a3032b48e8e4a98c05d9536ddee0719913dc27da548/propcache-0.3.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a94ffc66738da99232ddffcf7910e0f69e2bbe3a0802e54426dbf0714e1c2ffe", size = 214217 }, + { url = "https://files.pythonhosted.org/packages/01/84/bc60188c3290ff8f5f4a92b9ca2d93a62e449c8daf6fd11ad517ad136926/propcache-0.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:3c6ec957025bf32b15cbc6b67afe233c65b30005e4c55fe5768e4bb518d712f1", size = 212921 }, + { url = "https://files.pythonhosted.org/packages/14/b3/39d60224048feef7a96edabb8217dc3f75415457e5ebbef6814f8b2a27b5/propcache-0.3.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:549722908de62aa0b47a78b90531c022fa6e139f9166be634f667ff45632cc92", size = 208200 }, + { url = "https://files.pythonhosted.org/packages/9d/b3/0a6720b86791251273fff8a01bc8e628bc70903513bd456f86cde1e1ef84/propcache-0.3.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:5d62c4f6706bff5d8a52fd51fec6069bef69e7202ed481486c0bc3874912c787", size = 208400 }, + { url = "https://files.pythonhosted.org/packages/e9/4f/bb470f3e687790547e2e78105fb411f54e0cdde0d74106ccadd2521c6572/propcache-0.3.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:24c04f8fbf60094c531667b8207acbae54146661657a1b1be6d3ca7773b7a545", size = 218116 }, + { url = "https://files.pythonhosted.org/packages/34/71/277f7f9add469698ac9724c199bfe06f85b199542121a71f65a80423d62a/propcache-0.3.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:7c5f5290799a3f6539cc5e6f474c3e5c5fbeba74a5e1e5be75587746a940d51e", size = 222911 }, + { url = "https://files.pythonhosted.org/packages/92/e3/a7b9782aef5a2fc765b1d97da9ec7aed2f25a4e985703608e73232205e3f/propcache-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4fa0e7c9c3cf7c276d4f6ab9af8adddc127d04e0fcabede315904d2ff76db626", size = 216563 }, + { url = "https://files.pythonhosted.org/packages/ab/76/0583ca2c551aa08ffcff87b2c6849c8f01c1f6fb815a5226f0c5c202173e/propcache-0.3.0-cp313-cp313-win32.whl", hash = "sha256:ee0bd3a7b2e184e88d25c9baa6a9dc609ba25b76daae942edfb14499ac7ec374", size = 39763 }, + { url = "https://files.pythonhosted.org/packages/80/ec/c6a84f9a36f608379b95f0e786c111d5465926f8c62f12be8cdadb02b15c/propcache-0.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:1c8f7d896a16da9455f882870a507567d4f58c53504dc2d4b1e1d386dfe4588a", size = 43650 }, + { url = "https://files.pythonhosted.org/packages/ee/95/7d32e3560f5bf83fc2f2a4c1b0c181d327d53d5f85ebd045ab89d4d97763/propcache-0.3.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:e560fd75aaf3e5693b91bcaddd8b314f4d57e99aef8a6c6dc692f935cc1e6bbf", size = 82140 }, + { url = "https://files.pythonhosted.org/packages/86/89/752388f12e6027a5e63f5d075f15291ded48e2d8311314fff039da5a9b11/propcache-0.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:65a37714b8ad9aba5780325228598a5b16c47ba0f8aeb3dc0514701e4413d7c0", size = 47296 }, + { url = "https://files.pythonhosted.org/packages/1b/4c/b55c98d586c69180d3048984a57a5ea238bdeeccf82dbfcd598e935e10bb/propcache-0.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:07700939b2cbd67bfb3b76a12e1412405d71019df00ca5697ce75e5ef789d829", size = 46724 }, + { url = "https://files.pythonhosted.org/packages/0f/b6/67451a437aed90c4e951e320b5b3d7eb584ade1d5592f6e5e8f678030989/propcache-0.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c0fdbdf6983526e269e5a8d53b7ae3622dd6998468821d660d0daf72779aefa", size = 291499 }, + { url = "https://files.pythonhosted.org/packages/ee/ff/e4179facd21515b24737e1e26e02615dfb5ed29416eed4cf5bc6ac5ce5fb/propcache-0.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:794c3dd744fad478b6232289c866c25406ecdfc47e294618bdf1697e69bd64a6", size = 293911 }, + { url = "https://files.pythonhosted.org/packages/76/8d/94a8585992a064a23bd54f56c5e58c3b8bf0c0a06ae10e56f2353ae16c3d/propcache-0.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4544699674faf66fb6b4473a1518ae4999c1b614f0b8297b1cef96bac25381db", size = 293301 }, + { url = "https://files.pythonhosted.org/packages/b0/b8/2c860c92b4134f68c7716c6f30a0d723973f881c32a6d7a24c4ddca05fdf/propcache-0.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fddb8870bdb83456a489ab67c6b3040a8d5a55069aa6f72f9d872235fbc52f54", size = 281947 }, + { url = "https://files.pythonhosted.org/packages/cd/72/b564be7411b525d11757b713c757c21cd4dc13b6569c3b2b8f6d3c96fd5e/propcache-0.3.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f857034dc68d5ceb30fb60afb6ff2103087aea10a01b613985610e007053a121", size = 268072 }, + { url = "https://files.pythonhosted.org/packages/37/68/d94649e399e8d7fc051e5a4f2334efc567993525af083db145a70690a121/propcache-0.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:02df07041e0820cacc8f739510078f2aadcfd3fc57eaeeb16d5ded85c872c89e", size = 275190 }, + { url = "https://files.pythonhosted.org/packages/d8/3c/446e125f5bbbc1922964dd67cb541c01cdb678d811297b79a4ff6accc843/propcache-0.3.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:f47d52fd9b2ac418c4890aad2f6d21a6b96183c98021f0a48497a904199f006e", size = 254145 }, + { url = "https://files.pythonhosted.org/packages/f4/80/fd3f741483dc8e59f7ba7e05eaa0f4e11677d7db2077522b92ff80117a2a/propcache-0.3.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:9ff4e9ecb6e4b363430edf2c6e50173a63e0820e549918adef70515f87ced19a", size = 257163 }, + { url = "https://files.pythonhosted.org/packages/dc/cf/6292b5ce6ed0017e6a89024a827292122cc41b6259b30ada0c6732288513/propcache-0.3.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:ecc2920630283e0783c22e2ac94427f8cca29a04cfdf331467d4f661f4072dac", size = 280249 }, + { url = "https://files.pythonhosted.org/packages/e8/f0/fd9b8247b449fe02a4f96538b979997e229af516d7462b006392badc59a1/propcache-0.3.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:c441c841e82c5ba7a85ad25986014be8d7849c3cfbdb6004541873505929a74e", size = 288741 }, + { url = "https://files.pythonhosted.org/packages/64/71/cf831fdc2617f86cfd7f414cfc487d018e722dac8acc098366ce9bba0941/propcache-0.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6c929916cbdb540d3407c66f19f73387f43e7c12fa318a66f64ac99da601bcdf", size = 277061 }, + { url = "https://files.pythonhosted.org/packages/42/78/9432542a35d944abeca9e02927a0de38cd7a298466d8ffa171536e2381c3/propcache-0.3.0-cp313-cp313t-win32.whl", hash = "sha256:0c3e893c4464ebd751b44ae76c12c5f5c1e4f6cbd6fbf67e3783cd93ad221863", size = 42252 }, + { url = "https://files.pythonhosted.org/packages/6f/45/960365f4f8978f48ebb56b1127adf33a49f2e69ecd46ac1f46d6cf78a79d/propcache-0.3.0-cp313-cp313t-win_amd64.whl", hash = "sha256:75e872573220d1ee2305b35c9813626e620768248425f58798413e9c39741f46", size = 46425 }, + { url = "https://files.pythonhosted.org/packages/6d/05/2695901870f8b8f5d68f7cbb05de92a7f21f032a0edc42a5b527d22eab28/propcache-0.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:03c091bb752349402f23ee43bb2bff6bd80ccab7c9df6b88ad4322258d6960fc", size = 80692 }, + { url = "https://files.pythonhosted.org/packages/57/5e/54d314533896ed43f5573ac80366a056f17a397234ada6e4303fa84a232f/propcache-0.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:46ed02532cb66612d42ae5c3929b5e98ae330ea0f3900bc66ec5f4862069519b", size = 46434 }, + { url = "https://files.pythonhosted.org/packages/40/61/3624c088406e9e54beb42801e9da53cc8b379f4c1b4ee3911876282d4af6/propcache-0.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:11ae6a8a01b8a4dc79093b5d3ca2c8a4436f5ee251a9840d7790dccbd96cb649", size = 45956 }, + { url = "https://files.pythonhosted.org/packages/e6/65/09b1bacf723721e36a84034ff0a4d64d13c7ddb92cfefe9c0b861886f814/propcache-0.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df03cd88f95b1b99052b52b1bb92173229d7a674df0ab06d2b25765ee8404bce", size = 208068 }, + { url = "https://files.pythonhosted.org/packages/57/7b/a6c8de8814f9f07b74c959e6d2ef1137ac2ff622fa1bd4cd00c5a6890525/propcache-0.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:03acd9ff19021bd0567582ac88f821b66883e158274183b9e5586f678984f8fe", size = 223581 }, + { url = "https://files.pythonhosted.org/packages/fb/03/8c081bfb32bb0c12118aff9720c498015c332630858c9aaec7930c40911d/propcache-0.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd54895e4ae7d32f1e3dd91261df46ee7483a735017dc6f987904f194aa5fd14", size = 221567 }, + { url = "https://files.pythonhosted.org/packages/70/b8/a6dc434561bac3601644724635328e05ea6b9163e4a628f5f4222a384625/propcache-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26a67e5c04e3119594d8cfae517f4b9330c395df07ea65eab16f3d559b7068fe", size = 208536 }, + { url = "https://files.pythonhosted.org/packages/1f/96/6f6fdb8bfd749803b160f23c446ef45f7cb51e355a24c5b07d8687ae2ee9/propcache-0.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee25f1ac091def37c4b59d192bbe3a206298feeb89132a470325bf76ad122a1e", size = 198920 }, + { url = "https://files.pythonhosted.org/packages/1b/6e/b407dff7f7dbbd9efd65236a53d4512929ce37026670af5c12f91bb95862/propcache-0.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:58e6d2a5a7cb3e5f166fd58e71e9a4ff504be9dc61b88167e75f835da5764d07", size = 203802 }, + { url = "https://files.pythonhosted.org/packages/2f/77/2dc3a33bcbd3652686038267aff2a2ff03e71e9a7f76f444c72cadf1ba21/propcache-0.3.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:be90c94570840939fecedf99fa72839aed70b0ced449b415c85e01ae67422c90", size = 199682 }, + { url = "https://files.pythonhosted.org/packages/5f/49/bb38b9159cfd6c74a6daf368e644eecbbda05a2f4731b6d5b6446a7bcb34/propcache-0.3.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:49ea05212a529c2caffe411e25a59308b07d6e10bf2505d77da72891f9a05641", size = 200815 }, + { url = "https://files.pythonhosted.org/packages/a3/d7/2d3cdf6e4fcc28bb3dd4cf23f6ae34cb24f2db4b7131a421bd7f38d70e56/propcache-0.3.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:119e244ab40f70a98c91906d4c1f4c5f2e68bd0b14e7ab0a06922038fae8a20f", size = 211553 }, + { url = "https://files.pythonhosted.org/packages/a7/64/efe070403dcb086d200a801dbf6e4d09f7f1278b15fae038038ad573eb22/propcache-0.3.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:507c5357a8d8b4593b97fb669c50598f4e6cccbbf77e22fa9598aba78292b4d7", size = 214878 }, + { url = "https://files.pythonhosted.org/packages/8f/ec/4ae54f9f8874c58ca1659a9dd260c3b312ca9911d3c74542ef003ca6e9b4/propcache-0.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:8526b0941ec5a40220fc4dfde76aed58808e2b309c03e9fa8e2260083ef7157f", size = 207562 }, + { url = "https://files.pythonhosted.org/packages/d7/92/e07bd88ece413fd069d66533d95cbc83649b57b60990f26a35a7f84e25ed/propcache-0.3.0-cp39-cp39-win32.whl", hash = "sha256:7cedd25e5f678f7738da38037435b340694ab34d424938041aa630d8bac42663", size = 41152 }, + { url = "https://files.pythonhosted.org/packages/26/8f/676ea691f5788bd9376ba77475204093a559c883ee1b6def0291e41020dc/propcache-0.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:bf4298f366ca7e1ad1d21bbb58300a6985015909964077afd37559084590c929", size = 45263 }, + { url = "https://files.pythonhosted.org/packages/b5/35/6c4c6fc8774a9e3629cd750dc24a7a4fb090a25ccd5c3246d127b70f9e22/propcache-0.3.0-py3-none-any.whl", hash = "sha256:67dda3c7325691c2081510e92c561f465ba61b975f481735aefdfc845d2cd043", size = 12101 }, +] + +[[package]] +name = "pycparser" +version = "2.22" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552 }, +] + +[[package]] +name = "pygments" +version = "2.19.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293 }, +] + +[[package]] +name = "pyobjc-core" +version = "10.3.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5d/07/2b3d63c0349fe4cf34d787a52a22faa156225808db2d1531fe58fabd779d/pyobjc_core-10.3.2.tar.gz", hash = "sha256:dbf1475d864ce594288ce03e94e3a98dc7f0e4639971eb1e312bdf6661c21e0e", size = 935182 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/60/8f4d181ffa050b6b98f92bb7487a2a0241435ceee652b26729d7c4514fd3/pyobjc_core-10.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:acb40672d682851a5c7fd84e5041c4d069b62076168d72591abb5fcc871bb039", size = 774483 }, + { url = "https://files.pythonhosted.org/packages/8e/11/f28af2cb4446743c8515f40f8dfac1bc078566c4a5cd7dcc6d24219ff3c9/pyobjc_core-10.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:cea5e77659619ad93c782ca07644b6efe7d7ec6f59e46128843a0a87c1af511a", size = 775537 }, + { url = "https://files.pythonhosted.org/packages/13/89/8808fe75efb03b29e082f9d12da31d55d5be3f55260c7b4e4cde7ebf81af/pyobjc_core-10.3.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:16644a92fb9661de841ba6115e5354db06a1d193a5e239046e840013c7b3874d", size = 826024 }, + { url = "https://files.pythonhosted.org/packages/08/27/e7b8240c116cd8231ac33daaf982e36f77be33cf5448bbc568ce17371a79/pyobjc_core-10.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:76b8b911d94501dac89821df349b1860bb770dce102a1a293f524b5b09dd9462", size = 827885 }, + { url = "https://files.pythonhosted.org/packages/de/a3/897cc31fca822a4df4ece31e4369dd9eae35bcb0b535fc9c7c21924268ba/pyobjc_core-10.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:8c6288fdb210b64115760a4504efbc4daffdc390d309e9318eb0e3e3b78d2828", size = 837794 }, + { url = "https://files.pythonhosted.org/packages/5f/08/b02d9b7ca2601a666e0064153f1985ef14fc294e7bbd31142b80ec4e8b70/pyobjc_core-10.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:48e9ac3af42b2340dae709a8b894f5ef7e5132d8546adcd1797cffcc449dabdc", size = 780928 }, +] + +[[package]] +name = "pyobjc-framework-cocoa" +version = "10.3.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyobjc-core" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/39/41/4f09a5e9a6769b4dafb293ea597ed693cc0def0e07867ad0a42664f530b6/pyobjc_framework_cocoa-10.3.2.tar.gz", hash = "sha256:673968e5435845bef969bfe374f31a1a6dc660c98608d2b84d5cae6eafa5c39d", size = 4942530 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7f/92/8181f9d1cc5539ffb56fe9a91df54348eb0eb36764e53b0082267192ce4b/pyobjc_framework_Cocoa-10.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:61f44c2adab28fdf3aa3d593c9497a2d9ceb9583ed9814adb48828c385d83ff4", size = 381552 }, + { url = "https://files.pythonhosted.org/packages/94/52/a41bf62d1467d74e61a729a1e36e064abb47f124a5e484643f021388873f/pyobjc_framework_Cocoa-10.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7caaf8b260e81b27b7b787332846f644b9423bfc1536f6ec24edbde59ab77a87", size = 381529 }, + { url = "https://files.pythonhosted.org/packages/22/fc/496c6ce1386f93d22d9a1ee1889215ed69989d976efa27e46b37b95a4f2d/pyobjc_framework_Cocoa-10.3.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:c49e99fc4b9e613fb308651b99d52a8a9ae9916c8ef27aa2f5d585b6678a59bf", size = 381866 }, + { url = "https://files.pythonhosted.org/packages/4e/c4/bccb4c05422170c0afccf6ebbdcc7551f7ddd03d2f7a65498d02cb179993/pyobjc_framework_Cocoa-10.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f1161b5713f9b9934c12649d73a6749617172e240f9431eff9e22175262fdfda", size = 381878 }, + { url = "https://files.pythonhosted.org/packages/25/ec/68657a633512edb84ecb1ff47a067a81028d6f027aa923e806400d2f8a26/pyobjc_framework_Cocoa-10.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:08e48b9ee4eb393447b2b781d16663b954bd10a26927df74f92e924c05568d89", size = 384925 }, + { url = "https://files.pythonhosted.org/packages/cc/fb/3ed87bcc1db8290cf83aad4cb584c7b489f1aad5500008ba3b43b6fd1a8b/pyobjc_framework_Cocoa-10.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:838fcf0d10674bde9ff64a3f20c0e188f2dc5e804476d80509b81c4ac1dabc59", size = 381514 }, +] + +[[package]] +name = "pyobjc-framework-corebluetooth" +version = "10.3.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyobjc-core" }, + { name = "pyobjc-framework-cocoa" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/13/ca/35d205c3e153e7bc59a417560a45e27a2410439e6f78390f97c1a996c922/pyobjc_framework_corebluetooth-10.3.2.tar.gz", hash = "sha256:c0a077bc3a2466271efa382c1e024630bc43cc6f9ab8f3f97431ad08b1ad52bb", size = 50622 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b8/74/9bfaa9af79d9ff51489c796775fe5715d67adae06b612f3ee776017bb24b/pyobjc_framework_CoreBluetooth-10.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:af3e2f935a6a7e5b009b4cf63c64899592a7b46c3ddcbc8f2e28848842ef65f4", size = 14095 }, + { url = "https://files.pythonhosted.org/packages/f7/b0/9006d9d6cc5780fc190629ff42d8825fe7737dbe2077fbaae38813f0242e/pyobjc_framework_CoreBluetooth-10.3.2-cp36-abi3-macosx_10_13_universal2.whl", hash = "sha256:973b78f47c7e2209a475e60bcc7d1b4a87be6645d39b4e8290ee82640e1cc364", size = 13891 }, + { url = "https://files.pythonhosted.org/packages/02/dd/b415258a86495c23962005bab11604562828dd183a009d04a82bc1f3a816/pyobjc_framework_CoreBluetooth-10.3.2-cp36-abi3-macosx_10_9_universal2.whl", hash = "sha256:4bafdf1be15eae48a4878dbbf1bf19877ce28cbbba5baa0267a9564719ee736e", size = 13843 }, + { url = "https://files.pythonhosted.org/packages/c4/7d/d8a340f3ca0862969a02c6fe053902388e45966040b41d7e023b9dcf97c8/pyobjc_framework_CoreBluetooth-10.3.2-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:4d7dc7494de66c850bda7b173579df7481dc97046fa229d480fe9bf90b2b9651", size = 10082 }, + { url = "https://files.pythonhosted.org/packages/e9/10/d9554ce442269a3c25d9bed9d8a5ffdc1fb5ab71b74bc52749a5f26a96c7/pyobjc_framework_CoreBluetooth-10.3.2-cp36-abi3-macosx_11_0_universal2.whl", hash = "sha256:62e09e730f4d98384f1b6d44718812195602b3c82d5c78e09f60e8a934e7b266", size = 13815 }, +] + +[[package]] +name = "pyobjc-framework-libdispatch" +version = "10.3.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pyobjc-core" }, + { name = "pyobjc-framework-cocoa" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/4d/12/a908f3f94952c8c9e3d6e6bd425613a79692e7d400557ede047992439edc/pyobjc_framework_libdispatch-10.3.2.tar.gz", hash = "sha256:e9f4311fbf8df602852557a98d2a64f37a9d363acf4d75634120251bbc7b7304", size = 45132 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1f/0e/2d948a0708a8f870915a45a8d5808ef08dcf1c1942ffd2f5a52e41e9098c/pyobjc_framework_libdispatch-10.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:35233a8b1135567c7696087f924e398799467c7f129200b559e8e4fa777af860", size = 20196 }, + { url = "https://files.pythonhosted.org/packages/9f/d9/901df936da47707045924eb231adf374e8ff7553202474df7cfb43d4e1e5/pyobjc_framework_libdispatch-10.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:061f6aa0f88d11d993e6546ec734303cb8979f40ae0f5cd23541236a6b426abd", size = 20201 }, + { url = "https://files.pythonhosted.org/packages/e0/e9/8e364765ccb1f3c686d922e2512499f2b4e25bfbfa5d73e833478bff88b5/pyobjc_framework_libdispatch-10.3.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:6bb528f34538f35e1b79d839dbfc398dd426990e190d9301fe2d811fddc3da62", size = 15572 }, + { url = "https://files.pythonhosted.org/packages/86/cc/ff00f7d2e1774e8bbab4da59793f094bdf97c9f0d178f6ace29a89413082/pyobjc_framework_libdispatch-10.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1357729d5fded08fbf746834ebeef27bee07d6acb991f3b8366e8f4319d882c4", size = 15576 }, + { url = "https://files.pythonhosted.org/packages/6b/27/530cd12bdc16938a85436ac5a81dccd85b35bac5e42144e623b69b052b76/pyobjc_framework_libdispatch-10.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:210398f9e1815ceeff49b578bf51c2d6a4a30d4c33f573da322f3d7da1add121", size = 15854 }, + { url = "https://files.pythonhosted.org/packages/17/ee/6e57b57857a8c3666a9a353849105959e47111901a3b20e36e61c787c6bc/pyobjc_framework_libdispatch-10.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ef755bcabff2ea8db45603a8294818e0eeae85bf0b7b9d59e42f5947a26e33b9", size = 20198 }, +] + +[[package]] +name = "pyright" +version = "1.1.395" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "nodeenv" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fb/47/a2e1dfd70f9f0db34f70d5b108c82be57bf24185af69c95acff57f9239fa/pyright-1.1.395.tar.gz", hash = "sha256:53703169068c160bfb41e1b44ba3e2512492869c26cfad927e1268cb3fbb1b1c", size = 3813566 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5f/a1/531897f8caa6c6cc99862cd1c908ddd8a366a51d968e83ab4523ded98b30/pyright-1.1.395-py3-none-any.whl", hash = "sha256:f9bc726870e740c6c77c94657734d90563a3e9765bb523b39f5860198ed75eef", size = 5688787 }, +] + +[[package]] +name = "pytest" +version = "8.3.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/05/35/30e0d83068951d90a01852cb1cef56e5d8a09d20c7f511634cc2f7e0372a/pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761", size = 1445919 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/11/92/76a1c94d3afee238333bc0a42b82935dd8f9cf8ce9e336ff87ee14d9e1cf/pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6", size = 343083 }, +] + +[[package]] +name = "pyyaml" +version = "6.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9b/95/a3fac87cb7158e231b5a6012e438c647e1a87f09f8e0d123acec8ab8bf71/PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", size = 184199 }, + { url = "https://files.pythonhosted.org/packages/c7/7a/68bd47624dab8fd4afbfd3c48e3b79efe09098ae941de5b58abcbadff5cb/PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", size = 171758 }, + { url = "https://files.pythonhosted.org/packages/49/ee/14c54df452143b9ee9f0f29074d7ca5516a36edb0b4cc40c3f280131656f/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", size = 718463 }, + { url = "https://files.pythonhosted.org/packages/4d/61/de363a97476e766574650d742205be468921a7b532aa2499fcd886b62530/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", size = 719280 }, + { url = "https://files.pythonhosted.org/packages/6b/4e/1523cb902fd98355e2e9ea5e5eb237cbc5f3ad5f3075fa65087aa0ecb669/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", size = 751239 }, + { url = "https://files.pythonhosted.org/packages/b7/33/5504b3a9a4464893c32f118a9cc045190a91637b119a9c881da1cf6b7a72/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", size = 695802 }, + { url = "https://files.pythonhosted.org/packages/5c/20/8347dcabd41ef3a3cdc4f7b7a2aff3d06598c8779faa189cdbf878b626a4/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", size = 720527 }, + { url = "https://files.pythonhosted.org/packages/be/aa/5afe99233fb360d0ff37377145a949ae258aaab831bde4792b32650a4378/PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", size = 144052 }, + { url = "https://files.pythonhosted.org/packages/b5/84/0fa4b06f6d6c958d207620fc60005e241ecedceee58931bb20138e1e5776/PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", size = 161774 }, + { url = "https://files.pythonhosted.org/packages/f8/aa/7af4e81f7acba21a4c6be026da38fd2b872ca46226673c89a758ebdc4fd2/PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", size = 184612 }, + { url = "https://files.pythonhosted.org/packages/8b/62/b9faa998fd185f65c1371643678e4d58254add437edb764a08c5a98fb986/PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", size = 172040 }, + { url = "https://files.pythonhosted.org/packages/ad/0c/c804f5f922a9a6563bab712d8dcc70251e8af811fce4524d57c2c0fd49a4/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", size = 736829 }, + { url = "https://files.pythonhosted.org/packages/51/16/6af8d6a6b210c8e54f1406a6b9481febf9c64a3109c541567e35a49aa2e7/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", size = 764167 }, + { url = "https://files.pythonhosted.org/packages/75/e4/2c27590dfc9992f73aabbeb9241ae20220bd9452df27483b6e56d3975cc5/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", size = 762952 }, + { url = "https://files.pythonhosted.org/packages/9b/97/ecc1abf4a823f5ac61941a9c00fe501b02ac3ab0e373c3857f7d4b83e2b6/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4", size = 735301 }, + { url = "https://files.pythonhosted.org/packages/45/73/0f49dacd6e82c9430e46f4a027baa4ca205e8b0a9dce1397f44edc23559d/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", size = 756638 }, + { url = "https://files.pythonhosted.org/packages/22/5f/956f0f9fc65223a58fbc14459bf34b4cc48dec52e00535c79b8db361aabd/PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", size = 143850 }, + { url = "https://files.pythonhosted.org/packages/ed/23/8da0bbe2ab9dcdd11f4f4557ccaf95c10b9811b13ecced089d43ce59c3c8/PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", size = 161980 }, + { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873 }, + { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302 }, + { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154 }, + { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223 }, + { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542 }, + { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164 }, + { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611 }, + { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591 }, + { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338 }, + { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309 }, + { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679 }, + { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428 }, + { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361 }, + { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523 }, + { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660 }, + { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597 }, + { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527 }, + { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446 }, + { url = "https://files.pythonhosted.org/packages/65/d8/b7a1db13636d7fb7d4ff431593c510c8b8fca920ade06ca8ef20015493c5/PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", size = 184777 }, + { url = "https://files.pythonhosted.org/packages/0a/02/6ec546cd45143fdf9840b2c6be8d875116a64076218b61d68e12548e5839/PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f", size = 172318 }, + { url = "https://files.pythonhosted.org/packages/0e/9a/8cc68be846c972bda34f6c2a93abb644fb2476f4dcc924d52175786932c9/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290", size = 720891 }, + { url = "https://files.pythonhosted.org/packages/e9/6c/6e1b7f40181bc4805e2e07f4abc10a88ce4648e7e95ff1abe4ae4014a9b2/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12", size = 722614 }, + { url = "https://files.pythonhosted.org/packages/3d/32/e7bd8535d22ea2874cef6a81021ba019474ace0d13a4819c2a4bce79bd6a/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19", size = 737360 }, + { url = "https://files.pythonhosted.org/packages/d7/12/7322c1e30b9be969670b672573d45479edef72c9a0deac3bb2868f5d7469/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e", size = 699006 }, + { url = "https://files.pythonhosted.org/packages/82/72/04fcad41ca56491995076630c3ec1e834be241664c0c09a64c9a2589b507/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725", size = 723577 }, + { url = "https://files.pythonhosted.org/packages/ed/5e/46168b1f2757f1fcd442bc3029cd8767d88a98c9c05770d8b420948743bb/PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631", size = 144593 }, + { url = "https://files.pythonhosted.org/packages/19/87/5124b1c1f2412bb95c59ec481eaf936cd32f0fe2a7b16b97b81c4c017a6a/PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", size = 162312 }, +] + +[[package]] +name = "requests" +version = "2.32.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928 }, +] + +[[package]] +name = "ruff" +version = "0.9.8" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e9/59/ac745a2492986a4c900c73a7a3a10eb4d7a3853e43443519bceecae5eefc/ruff-0.9.8.tar.gz", hash = "sha256:12d455f2be6fe98accbea2487bbb8eaec716c760bf60b45e7e13f76f913f56e9", size = 3715230 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5c/1c/9de3a463279e9a203104fe80881d7dcfd8377eb52b3d5608770ea6ff3dc6/ruff-0.9.8-py3-none-linux_armv6l.whl", hash = "sha256:d236f0ce0190bbc6fa9b4c4b85e916fb4c50fd087e6558af1bf5a45eb20e374d", size = 10036520 }, + { url = "https://files.pythonhosted.org/packages/35/10/a4eda083ad0b60a4c16bc9a68c6eda59de69a3a58913a0b62541f5c551cd/ruff-0.9.8-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:59fac6922b336d0c38df199761ade561563e1b7636e3a2b767b9ee5a68aa9cbf", size = 10827099 }, + { url = "https://files.pythonhosted.org/packages/57/34/cf7e18f2315926ee2c98f931717e1302f8c3face189f5b99352eb48c5373/ruff-0.9.8-py3-none-macosx_11_0_arm64.whl", hash = "sha256:a82082ec72bde2166ec138055307396c4d4e543fd97266dc2bfa24284cb30af6", size = 10161605 }, + { url = "https://files.pythonhosted.org/packages/f3/08/5e7e8fc08d193e3520b9227249a00bc9b8da9e0a20bf97bef03a9a9f0d38/ruff-0.9.8-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e06635d12321605d1d11226c7d3c6b1245a0df498099868d14b4e353b3f0ac22", size = 10338840 }, + { url = "https://files.pythonhosted.org/packages/54/c0/df2187618b87334867ea7942f6d2d79ea3e5cb3ed709cfa5c8df115d3715/ruff-0.9.8-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:65961815bb35d427e957940d13b2a1d0a67d8b245d3a7e0b5a4a2058536d3532", size = 9891009 }, + { url = "https://files.pythonhosted.org/packages/fb/39/8fc50b87203e71e6f3281111813ab0f3d6095cb1129efc2cf4c33e977657/ruff-0.9.8-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c18356beaef174797ad83f11debc5569e96afa73a549b2d073912565cfc4cfd1", size = 11413420 }, + { url = "https://files.pythonhosted.org/packages/6a/7b/53cd91b99a1cef31126859fb98fdc347c47e0047a9ec51391ea28f08284d/ruff-0.9.8-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:a1dfc443bee0288ea926a4d9ecfd858bf94ddf0a03a256c63e81b2b6dccdfc7d", size = 12138017 }, + { url = "https://files.pythonhosted.org/packages/1a/d4/949a328934202a2d2641dcd759761d8ed806e672cbbad0a88e20a46c43ba/ruff-0.9.8-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bc86d5a85cd5ab1d5aff1650f038aa34681d0692cc2467aa9ddef37bd56ea3f9", size = 11592548 }, + { url = "https://files.pythonhosted.org/packages/c6/8e/8520a4d97eefedb8472811fd5144fcb1fcbb29f83bb9bb4356a468e7eeac/ruff-0.9.8-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:66662aa19535d58fe6d04e5b59a39e495b102f2f5a2a1b9698e240eb78f429ef", size = 13787277 }, + { url = "https://files.pythonhosted.org/packages/24/68/f1629e00dbc5c9adcd31f12f9438b68c50ab0eefca8b07e11b6c94f11b09/ruff-0.9.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:733647b2fe9367e1aa049c0eba296363746f3bc0dbfd454b0bc4b7b46cdf0146", size = 11275421 }, + { url = "https://files.pythonhosted.org/packages/28/65/c133462f179b925e49910532c7d7b5a244df5995c155cd2ab9452545926f/ruff-0.9.8-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:100031be9777f67af7f61b4d4eea2a0531ed6788940aca4360f6b9aae317c53b", size = 10220273 }, + { url = "https://files.pythonhosted.org/packages/d8/1e/9339aef1896470380838385dbdc91f62998c37d406009f05ff3b810265f3/ruff-0.9.8-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:2f090758d58b4667d9022eee1085a854db93d800279e5a177ebda5adc1faf639", size = 9860266 }, + { url = "https://files.pythonhosted.org/packages/ca/33/2a2934860df6bd3665776ec686fc33910e7a1b793bdd2f000aea3e8f0b65/ruff-0.9.8-py3-none-musllinux_1_2_i686.whl", hash = "sha256:f774998b9c9a062510533aba9b53085de6be6d41e13a7a0bd086af8a40e838c3", size = 10831947 }, + { url = "https://files.pythonhosted.org/packages/74/66/0a7677b1cda4b2367a654f9af57f1dbe58f38c6704da88aee9bbf3941197/ruff-0.9.8-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:6ef7cc80626264ab8ab4d68b359ba867b8a52b0830a9643cd31289146dd40892", size = 11306767 }, + { url = "https://files.pythonhosted.org/packages/c4/90/6c98f94e036c8acdf19bd8f3f84d246e43cbcc950e24dc7ff85d2f2735ba/ruff-0.9.8-py3-none-win32.whl", hash = "sha256:54b57b623a683e696a1ede99db95500763c1badafe105b6ad8d8e9d96e385ae2", size = 10234107 }, + { url = "https://files.pythonhosted.org/packages/f5/e7/35877491b4b64daa35cbd7dc06aa5969e7bb1cd6f69e5594e4376dfbc16d/ruff-0.9.8-py3-none-win_amd64.whl", hash = "sha256:b0878103b2fb8af55ad701308a69ce713108ad346c3a3a143ebcd1e13829c9a7", size = 11357825 }, + { url = "https://files.pythonhosted.org/packages/6e/98/de77a972b2e9ded804dea5d4e6fbfa093d99e81092602567787ea87979af/ruff-0.9.8-py3-none-win_arm64.whl", hash = "sha256:e459a4fc4150fcc60da26c59a6a4b70878c60a99df865a71cf6f958dc68c419a", size = 10435420 }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 }, +] + +[[package]] +name = "snowballstemmer" +version = "2.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/44/7b/af302bebf22c749c56c9c3e8ae13190b5b5db37a33d9068652e8f73b7089/snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1", size = 86699 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ed/dc/c02e01294f7265e63a7315fe086dd1df7dacb9f840a804da846b96d01b96/snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a", size = 93002 }, +] + +[[package]] +name = "soupsieve" +version = "2.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d7/ce/fbaeed4f9fb8b2daa961f90591662df6a86c1abf25c548329a86920aedfb/soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb", size = 101569 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/c2/fe97d779f3ef3b15f05c94a2f1e3d21732574ed441687474db9d342a7315/soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9", size = 36186 }, +] + +[[package]] +name = "sphinx" +version = "7.4.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "alabaster" }, + { name = "babel" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "docutils" }, + { name = "imagesize" }, + { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, + { name = "jinja2" }, + { name = "packaging" }, + { name = "pygments" }, + { name = "requests" }, + { name = "snowballstemmer" }, + { name = "sphinxcontrib-applehelp" }, + { name = "sphinxcontrib-devhelp" }, + { name = "sphinxcontrib-htmlhelp" }, + { name = "sphinxcontrib-jsmath" }, + { name = "sphinxcontrib-qthelp" }, + { name = "sphinxcontrib-serializinghtml" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5b/be/50e50cb4f2eff47df05673d361095cafd95521d2a22521b920c67a372dcb/sphinx-7.4.7.tar.gz", hash = "sha256:242f92a7ea7e6c5b406fdc2615413890ba9f699114a9c09192d7dfead2ee9cfe", size = 8067911 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0d/ef/153f6803c5d5f8917dbb7f7fcf6d34a871ede3296fa89c2c703f5f8a6c8e/sphinx-7.4.7-py3-none-any.whl", hash = "sha256:c2419e2135d11f1951cd994d6eb18a1835bd8fdd8429f9ca375dc1f3281bd239", size = 3401624 }, +] + +[[package]] +name = "sphinx-autoapi" +version = "3.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "astroid" }, + { name = "jinja2" }, + { name = "pyyaml" }, + { name = "sphinx" }, + { name = "stdlib-list", marker = "python_full_version < '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/4a/eb/cc243583bb1d518ca3b10998c203d919a8ed90affd4831f2b61ad09043d2/sphinx_autoapi-3.4.0.tar.gz", hash = "sha256:e6d5371f9411bbb9fca358c00a9e57aef3ac94cbfc5df4bab285946462f69e0c", size = 29292 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/de/d6/f2acdc2567337fd5f5dc091a4e58d8a0fb14927b9779fc1e5ecee96d9824/sphinx_autoapi-3.4.0-py3-none-any.whl", hash = "sha256:4027fef2875a22c5f2a57107c71641d82f6166bf55beb407a47aaf3ef14e7b92", size = 34095 }, +] + +[[package]] +name = "sphinxcontrib-applehelp" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ba/6e/b837e84a1a704953c62ef8776d45c3e8d759876b4a84fe14eba2859106fe/sphinxcontrib_applehelp-2.0.0.tar.gz", hash = "sha256:2f29ef331735ce958efa4734873f084941970894c6090408b079c61b2e1c06d1", size = 20053 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5d/85/9ebeae2f76e9e77b952f4b274c27238156eae7979c5421fba91a28f4970d/sphinxcontrib_applehelp-2.0.0-py3-none-any.whl", hash = "sha256:4cd3f0ec4ac5dd9c17ec65e9ab272c9b867ea77425228e68ecf08d6b28ddbdb5", size = 119300 }, +] + +[[package]] +name = "sphinxcontrib-devhelp" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f6/d2/5beee64d3e4e747f316bae86b55943f51e82bb86ecd325883ef65741e7da/sphinxcontrib_devhelp-2.0.0.tar.gz", hash = "sha256:411f5d96d445d1d73bb5d52133377b4248ec79db5c793ce7dbe59e074b4dd1ad", size = 12967 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/35/7a/987e583882f985fe4d7323774889ec58049171828b58c2217e7f79cdf44e/sphinxcontrib_devhelp-2.0.0-py3-none-any.whl", hash = "sha256:aefb8b83854e4b0998877524d1029fd3e6879210422ee3780459e28a1f03a8a2", size = 82530 }, +] + +[[package]] +name = "sphinxcontrib-htmlhelp" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/93/983afd9aa001e5201eab16b5a444ed5b9b0a7a010541e0ddfbbfd0b2470c/sphinxcontrib_htmlhelp-2.1.0.tar.gz", hash = "sha256:c9e2916ace8aad64cc13a0d233ee22317f2b9025b9cf3295249fa985cc7082e9", size = 22617 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0a/7b/18a8c0bcec9182c05a0b3ec2a776bba4ead82750a55ff798e8d406dae604/sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl", hash = "sha256:166759820b47002d22914d64a075ce08f4c46818e17cfc9470a9786b759b19f8", size = 98705 }, +] + +[[package]] +name = "sphinxcontrib-jsmath" +version = "1.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b2/e8/9ed3830aeed71f17c026a07a5097edcf44b692850ef215b161b8ad875729/sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8", size = 5787 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c2/42/4c8646762ee83602e3fb3fbe774c2fac12f317deb0b5dbeeedd2d3ba4b77/sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178", size = 5071 }, +] + +[[package]] +name = "sphinxcontrib-qthelp" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/68/bc/9104308fc285eb3e0b31b67688235db556cd5b0ef31d96f30e45f2e51cae/sphinxcontrib_qthelp-2.0.0.tar.gz", hash = "sha256:4fe7d0ac8fc171045be623aba3e2a8f613f8682731f9153bb2e40ece16b9bbab", size = 17165 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/27/83/859ecdd180cacc13b1f7e857abf8582a64552ea7a061057a6c716e790fce/sphinxcontrib_qthelp-2.0.0-py3-none-any.whl", hash = "sha256:b18a828cdba941ccd6ee8445dbe72ffa3ef8cbe7505d8cd1fa0d42d3f2d5f3eb", size = 88743 }, +] + +[[package]] +name = "sphinxcontrib-serializinghtml" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3b/44/6716b257b0aa6bfd51a1b31665d1c205fb12cb5ad56de752dfa15657de2f/sphinxcontrib_serializinghtml-2.0.0.tar.gz", hash = "sha256:e9d912827f872c029017a53f0ef2180b327c3f7fd23c87229f7a8e8b70031d4d", size = 16080 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/52/a7/d2782e4e3f77c8450f727ba74a8f12756d5ba823d81b941f1b04da9d033a/sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl", hash = "sha256:6e2cb0eef194e10c27ec0023bfeb25badbbb5868244cf5bc5bdc04e4464bf331", size = 92072 }, +] + +[[package]] +name = "srp" +version = "1.0.22" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8d/fb/9210875dd162d3977580407b1c5ce6e779e770b8197a0de76819144a9755/srp-1.0.22.tar.gz", hash = "sha256:f330d0ec7387e2ac8577487b164963155d4a031bca6e2024f1b0930eb92baa5d", size = 22472 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/89/75/5352c3ebd26e7d119042ae8de07354435a19c77fa2b44058fa97a1416783/srp-1.0.22-py3-none-any.whl", hash = "sha256:35aa8af053285a35683eb37182dcb2e46dbd85c7075d28e139f200d6bf16ea43", size = 25347 }, +] + +[[package]] +name = "stdlib-list" +version = "0.11.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5d/09/8d5c564931ae23bef17420a6c72618463a59222ca4291a7dd88de8a0d490/stdlib_list-0.11.1.tar.gz", hash = "sha256:95ebd1d73da9333bba03ccc097f5bac05e3aa03e6822a0c0290f87e1047f1857", size = 60442 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/c7/4102536de33c19d090ed2b04e90e7452e2e3dc653cf3323208034eaaca27/stdlib_list-0.11.1-py3-none-any.whl", hash = "sha256:9029ea5e3dfde8cd4294cfd4d1797be56a67fc4693c606181730148c3fd1da29", size = 83620 }, +] + +[[package]] +name = "tomli" +version = "2.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/18/87/302344fed471e44a87289cf4967697d07e532f2421fdaf868a303cbae4ff/tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff", size = 17175 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/43/ca/75707e6efa2b37c77dadb324ae7d9571cb424e61ea73fad7c56c2d14527f/tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249", size = 131077 }, + { url = "https://files.pythonhosted.org/packages/c7/16/51ae563a8615d472fdbffc43a3f3d46588c264ac4f024f63f01283becfbb/tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6", size = 123429 }, + { url = "https://files.pythonhosted.org/packages/f1/dd/4f6cd1e7b160041db83c694abc78e100473c15d54620083dbd5aae7b990e/tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a", size = 226067 }, + { url = "https://files.pythonhosted.org/packages/a9/6b/c54ede5dc70d648cc6361eaf429304b02f2871a345bbdd51e993d6cdf550/tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee", size = 236030 }, + { url = "https://files.pythonhosted.org/packages/1f/47/999514fa49cfaf7a92c805a86c3c43f4215621855d151b61c602abb38091/tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e", size = 240898 }, + { url = "https://files.pythonhosted.org/packages/73/41/0a01279a7ae09ee1573b423318e7934674ce06eb33f50936655071d81a24/tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4", size = 229894 }, + { url = "https://files.pythonhosted.org/packages/55/18/5d8bc5b0a0362311ce4d18830a5d28943667599a60d20118074ea1b01bb7/tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106", size = 245319 }, + { url = "https://files.pythonhosted.org/packages/92/a3/7ade0576d17f3cdf5ff44d61390d4b3febb8a9fc2b480c75c47ea048c646/tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8", size = 238273 }, + { url = "https://files.pythonhosted.org/packages/72/6f/fa64ef058ac1446a1e51110c375339b3ec6be245af9d14c87c4a6412dd32/tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", size = 98310 }, + { url = "https://files.pythonhosted.org/packages/6a/1c/4a2dcde4a51b81be3530565e92eda625d94dafb46dbeb15069df4caffc34/tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", size = 108309 }, + { url = "https://files.pythonhosted.org/packages/52/e1/f8af4c2fcde17500422858155aeb0d7e93477a0d59a98e56cbfe75070fd0/tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea", size = 132762 }, + { url = "https://files.pythonhosted.org/packages/03/b8/152c68bb84fc00396b83e7bbddd5ec0bd3dd409db4195e2a9b3e398ad2e3/tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8", size = 123453 }, + { url = "https://files.pythonhosted.org/packages/c8/d6/fc9267af9166f79ac528ff7e8c55c8181ded34eb4b0e93daa767b8841573/tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192", size = 233486 }, + { url = "https://files.pythonhosted.org/packages/5c/51/51c3f2884d7bab89af25f678447ea7d297b53b5a3b5730a7cb2ef6069f07/tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222", size = 242349 }, + { url = "https://files.pythonhosted.org/packages/ab/df/bfa89627d13a5cc22402e441e8a931ef2108403db390ff3345c05253935e/tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77", size = 252159 }, + { url = "https://files.pythonhosted.org/packages/9e/6e/fa2b916dced65763a5168c6ccb91066f7639bdc88b48adda990db10c8c0b/tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6", size = 237243 }, + { url = "https://files.pythonhosted.org/packages/b4/04/885d3b1f650e1153cbb93a6a9782c58a972b94ea4483ae4ac5cedd5e4a09/tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd", size = 259645 }, + { url = "https://files.pythonhosted.org/packages/9c/de/6b432d66e986e501586da298e28ebeefd3edc2c780f3ad73d22566034239/tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e", size = 244584 }, + { url = "https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size = 98875 }, + { url = "https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size = 109418 }, + { url = "https://files.pythonhosted.org/packages/04/90/2ee5f2e0362cb8a0b6499dc44f4d7d48f8fff06d28ba46e6f1eaa61a1388/tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7", size = 132708 }, + { url = "https://files.pythonhosted.org/packages/c0/ec/46b4108816de6b385141f082ba99e315501ccd0a2ea23db4a100dd3990ea/tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c", size = 123582 }, + { url = "https://files.pythonhosted.org/packages/a0/bd/b470466d0137b37b68d24556c38a0cc819e8febe392d5b199dcd7f578365/tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13", size = 232543 }, + { url = "https://files.pythonhosted.org/packages/d9/e5/82e80ff3b751373f7cead2815bcbe2d51c895b3c990686741a8e56ec42ab/tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281", size = 241691 }, + { url = "https://files.pythonhosted.org/packages/05/7e/2a110bc2713557d6a1bfb06af23dd01e7dde52b6ee7dadc589868f9abfac/tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272", size = 251170 }, + { url = "https://files.pythonhosted.org/packages/64/7b/22d713946efe00e0adbcdfd6d1aa119ae03fd0b60ebed51ebb3fa9f5a2e5/tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140", size = 236530 }, + { url = "https://files.pythonhosted.org/packages/38/31/3a76f67da4b0cf37b742ca76beaf819dca0ebef26d78fc794a576e08accf/tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2", size = 258666 }, + { url = "https://files.pythonhosted.org/packages/07/10/5af1293da642aded87e8a988753945d0cf7e00a9452d3911dd3bb354c9e2/tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744", size = 243954 }, + { url = "https://files.pythonhosted.org/packages/5b/b9/1ed31d167be802da0fc95020d04cd27b7d7065cc6fbefdd2f9186f60d7bd/tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec", size = 98724 }, + { url = "https://files.pythonhosted.org/packages/c7/32/b0963458706accd9afcfeb867c0f9175a741bf7b19cd424230714d722198/tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69", size = 109383 }, + { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257 }, +] + +[[package]] +name = "typing-extensions" +version = "4.12.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/df/db/f35a00659bc03fec321ba8bce9420de607a1d37f8342eee1863174c69557/typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8", size = 85321 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438 }, +] + +[[package]] +name = "urllib3" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/aa/63/e53da845320b757bf29ef6a9062f5c669fe997973f966045cb019c3f4b66/urllib3-2.3.0.tar.gz", hash = "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d", size = 307268 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c8/19/4ec628951a74043532ca2cf5d97b7b14863931476d117c471e8e2b1eb39f/urllib3-2.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df", size = 128369 }, +] + +[[package]] +name = "virtualenv" +version = "20.29.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "distlib" }, + { name = "filelock" }, + { name = "platformdirs" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f1/88/dacc875dd54a8acadb4bcbfd4e3e86df8be75527116c91d8f9784f5e9cab/virtualenv-20.29.2.tar.gz", hash = "sha256:fdaabebf6d03b5ba83ae0a02cfe96f48a716f4fae556461d180825866f75b728", size = 4320272 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/93/fa/849483d56773ae29740ae70043ad88e068f98a6401aa819b5d6bee604683/virtualenv-20.29.2-py3-none-any.whl", hash = "sha256:febddfc3d1ea571bdb1dc0f98d7b45d24def7428214d4fb73cc486c9568cce6a", size = 4301478 }, +] + +[[package]] +name = "winrt-runtime" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ea/1e/20fd4bc1b42dca97ebde8bd5746084e538e2911feaad923370893091ac0f/winrt_runtime-2.3.0.tar.gz", hash = "sha256:bb895a2b8c74b375781302215e2661914369c625aa1f8df84f8d37691b22db77", size = 15503 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/aa/c7/950de705e0acc0e327ac646a2b422087102f89efe92aacf59b7ebd4bc581/winrt_runtime-2.3.0-cp310-cp310-win32.whl", hash = "sha256:5c22ed339b420a6026134e28281b25078a9e6755eceb494dce5d42ee5814e3fd", size = 184148 }, + { url = "https://files.pythonhosted.org/packages/ab/09/c6fe76ae2eedb546fa784c705b6cc9e9fee8daa7ba8bb1995f89224a997c/winrt_runtime-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:f3ef0d6b281a8d4155ea14a0f917faf82a004d4996d07beb2b3d2af191503fb1", size = 214125 }, + { url = "https://files.pythonhosted.org/packages/5f/cd/99bc298d8b155789226f7498ca6c40dde2132a625883007c8526f26e5547/winrt_runtime-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:93ce23df52396ed89dfe659ee0e1a968928e526b9c577942d4a54ad55b333644", size = 391311 }, + { url = "https://files.pythonhosted.org/packages/2b/72/9bd307cf431ede1b94d19822cd4a8b9f3d02ab6158c7217dabee7d1e0545/winrt_runtime-2.3.0-cp311-cp311-win32.whl", hash = "sha256:352d70864846fd7ec89703845b82a35cef73f42d178a02a4635a38df5a61c0f8", size = 183984 }, + { url = "https://files.pythonhosted.org/packages/24/d7/2761ebf993aebec6f2da74cf9148c1de8df1af6c5a04d305d1e80def721b/winrt_runtime-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:286e6036af4903dd830398103c3edd110a46432347e8a52ba416d937c0e1f5f9", size = 213952 }, + { url = "https://files.pythonhosted.org/packages/f5/e3/4e94f95d238816ca75e7aa512d6014d890da7de582b52f037d9cd7cb17bd/winrt_runtime-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:44d0f0f48f2f10c02b885989e8bbac41d7bf9c03550b20ddf562100356fca7a9", size = 391102 }, + { url = "https://files.pythonhosted.org/packages/72/72/25ae82fb1c8ab20ed4d85b44f118945d3e6da55a6e8df9c757f8665287d9/winrt_runtime-2.3.0-cp312-cp312-win32.whl", hash = "sha256:03d3e4aedc65832e57c0dbf210ec2a9d7fb2819c74d420ba889b323e9fa5cf28", size = 183246 }, + { url = "https://files.pythonhosted.org/packages/9e/e6/c440fe52fb54dcacd3838f50e4a0c404d7a6c69a3b0b88fc96abb24d660e/winrt_runtime-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:0dc636aec2f4ee6c3849fa59dae10c128f4a908f0ce452e91af65d812ea66dcb", size = 213396 }, + { url = "https://files.pythonhosted.org/packages/8c/b0/d80c1a969a71e6d57a37b30c2c5b8e708c85b55467543cebaadff6b20187/winrt_runtime-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:d9f140c71e4f3bf7bf7d6853b246eab2e1632c72f218ff163aa41a74b576736f", size = 390632 }, + { url = "https://files.pythonhosted.org/packages/08/c2/87551e0ec1796812396e1065e04cbf303557d8e4820c5eb53d707fa1ca62/winrt_runtime-2.3.0-cp313-cp313-win32.whl", hash = "sha256:77f06df6b7a6cb536913ae455e30c1733d31d88dafe2c3cd8c3d0e2bcf7e2a20", size = 183255 }, + { url = "https://files.pythonhosted.org/packages/d5/12/cd01c5825affcace2590ab6b771baf17a5f1289939fd5cabd317be501eb2/winrt_runtime-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:7388774b74ea2f4510ab3a98c95af296665ebe69d9d7e2fd7ee2c3fc5856099e", size = 213404 }, + { url = "https://files.pythonhosted.org/packages/c2/52/4b5bb8f46703efe650a021240d94d80d75eea98b3a4f817640f73b93b1c8/winrt_runtime-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:0d3a4ac7661cad492d51653054e63328b940a6083c1ee1dd977f90069cb8afaa", size = 390639 }, + { url = "https://files.pythonhosted.org/packages/7d/4b/3d4acb821d4bcc2fe4235486cc53d7ccf1af4d32b78a8e47b71ee037cb8d/winrt_runtime-2.3.0-cp39-cp39-win32.whl", hash = "sha256:cd7bce2c7703054e7f64d11be665e9728e15d9dae0d952a51228fe830e0c4b55", size = 184226 }, + { url = "https://files.pythonhosted.org/packages/63/fa/42254803549091fcd094addc2d287cc7f99487699d04af5a8f225ef50ce9/winrt_runtime-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:2da01af378ab9374a3a933da97543f471a676a3b844318316869bffeff811e8a", size = 214166 }, + { url = "https://files.pythonhosted.org/packages/3c/7a/2ad1e3347e92d29912b6f68a2d7a196ffac5477b571bcccd94930f89af02/winrt_runtime-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:1c6bbfcc7cbe1c8159ed5d776b30b7f1cbc2c6990803292823b0788c22d75636", size = 391352 }, +] + +[[package]] +name = "winrt-windows-devices-bluetooth" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "winrt-runtime", marker = "python_full_version >= '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c7/3a/64b2b8efe27fe4acb3a2da03a6687a2414d1c97465f212a3337415ca42ad/winrt_windows_devices_bluetooth-2.3.0.tar.gz", hash = "sha256:a1204b71c369a0399ec15d9a7b7c67990dd74504e486b839bf81825bd381a837", size = 21092 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/02/c5/134ec74073015df83cd0fb7b5916afd0cdea081b091823e584d20732b243/winrt_Windows.Devices.Bluetooth-2.3.0-cp310-cp310-win32.whl", hash = "sha256:554aa6d0ca4bebc22a45f19fa60db1183a2b5643468f3c95cf0ebc33fbc1b0d0", size = 92500 }, + { url = "https://files.pythonhosted.org/packages/4b/db/9f16d8d6017ebd44b7233fa81b9c8bd6ff3d13c95cf632c14ac0d48cfa67/winrt_Windows.Devices.Bluetooth-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:cec2682e10431f027c1823647772671fb09bebc1e8a00021a3651120b846d36f", size = 104863 }, + { url = "https://files.pythonhosted.org/packages/84/9c/52cfa9599d60b2b73f725c7b16b7facb933288fe3fe89c059b22f0ec6f5a/winrt_Windows.Devices.Bluetooth-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:b4d42faef99845de2aded4c75c906f03cc3ba3df51fb4435e4cc88a19168cf99", size = 95902 }, + { url = "https://files.pythonhosted.org/packages/80/54/587e263d9088629639e78d4d41f7c5fc402b8e8391eef4dc308b5e693b1b/winrt_Windows.Devices.Bluetooth-2.3.0-cp311-cp311-win32.whl", hash = "sha256:64e0992175d4d5a1160179a8c586c2202a0edbd47a5b6da4efdbc8bb601f2f99", size = 92367 }, + { url = "https://files.pythonhosted.org/packages/fb/de/6d9bbdae545cd315ec36ef8100e33b1d81ad4057a7e54add64c530587966/winrt_Windows.Devices.Bluetooth-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:0830111c077508b599062fbe2d817203e4efa3605bd209cf4a3e03388ec39dda", size = 104731 }, + { url = "https://files.pythonhosted.org/packages/16/da/f2f708ef77f919e882fb3e7dc3b867c7745cd589ae720cb9e24355ffc3bd/winrt_Windows.Devices.Bluetooth-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:3943d538cb7b6bde3fd8741591eb6e23487ee9ee6284f05428b205e7d10b6d92", size = 95841 }, + { url = "https://files.pythonhosted.org/packages/7d/ce/da88e546d58a63a42f6267511d7cdb61ee8e097ab0037276bea769dd97da/winrt_Windows.Devices.Bluetooth-2.3.0-cp312-cp312-win32.whl", hash = "sha256:544ed169039e6d5e250323cc18c87967cfeb4d3d09ce354fd7c5fd2283f3bb98", size = 92447 }, + { url = "https://files.pythonhosted.org/packages/6a/5d/f2bc563e7efb3b06e522809aa28824c44d2e94d9fc31ff202c29f91f33f8/winrt_Windows.Devices.Bluetooth-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:f7becf095bf9bc999629fcb6401a88b879c3531b3c55c820e63259c955ddc06c", size = 104484 }, + { url = "https://files.pythonhosted.org/packages/9f/d4/12b18fbc5cbd21e1d497f3c8788576e8ab2687aff74836c658f21d12e714/winrt_Windows.Devices.Bluetooth-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:a6a2980409c855b4e5dab0be9bde9f30236292ac1fc994df959fa5a518cd6690", size = 95188 }, + { url = "https://files.pythonhosted.org/packages/c6/dd/367a516ae820dcf398d7856dcde845ad604a689d4a67c0e97709e68f3757/winrt_Windows.Devices.Bluetooth-2.3.0-cp313-cp313-win32.whl", hash = "sha256:82f443be43379d4762e72633047c82843c873b6f26428a18855ca7b53e1958d7", size = 92448 }, + { url = "https://files.pythonhosted.org/packages/08/43/03356e20aa78aabc3581f979c36c3fa513f706a28896e51f6508fa6ce08d/winrt_Windows.Devices.Bluetooth-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:8b407da87ab52315c2d562a75d824dcafcae6e1628031cdb971072a47eb78ff0", size = 104502 }, + { url = "https://files.pythonhosted.org/packages/31/f0/7eb956b2f3e7a8886d3f94a2d430e96091f4897bd38ba449c2c11fa84b06/winrt_Windows.Devices.Bluetooth-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:e36d0b487bc5b64662b8470085edf8bfa5a220d7afc4f2e8d7faa3e3ac2bae80", size = 95208 }, + { url = "https://files.pythonhosted.org/packages/2f/67/104bd9216532241473becd5c9b1c15440d826100052fa58fe17eb80c6f89/winrt_Windows.Devices.Bluetooth-2.3.0-cp39-cp39-win32.whl", hash = "sha256:6553023433edf5a75767e8962bf492d0623036975c7d8373d5bbccc633a77bbc", size = 92621 }, + { url = "https://files.pythonhosted.org/packages/a7/23/cee9bf123db4332f970f7224430894aefa091c475a55df8e55166acf04e9/winrt_Windows.Devices.Bluetooth-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:77bdeadb043190c40ebbad462cd06e38b6461bc976bc67daf587e9395c387aae", size = 105095 }, + { url = "https://files.pythonhosted.org/packages/2c/9d/b5dd2c938e1e14394d9a7f67211a820f813fa792077d1568858c3bdf1234/winrt_Windows.Devices.Bluetooth-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:c588ab79b534fedecce48f7082b419315e8d797d0120556166492e603e90d932", size = 95875 }, +] + +[[package]] +name = "winrt-windows-devices-bluetooth-advertisement" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "winrt-runtime", marker = "python_full_version >= '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b4/9f/0f7393800a7d5907f0935a8c088937ca0d3eb3f131d8173e81a94f6a76ed/winrt_windows_devices_bluetooth_advertisement-2.3.0.tar.gz", hash = "sha256:c8adbec690b765ca70337c35efec9910b0937a40a0a242184ea295367137f81c", size = 13686 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f6/02/47ed542b5348d41c42ff87ebee04123f327d5795b00c1a47cc7ad858d296/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp310-cp310-win32.whl", hash = "sha256:4386498e7794ed383542ea868f0aa2dd8fb5f09f12bdffde024d12bd9f5a3756", size = 76840 }, + { url = "https://files.pythonhosted.org/packages/e3/68/34abc2d2330abeb908d2a48f6a6a5b7c47132f889f2847a406ad68ad5d7d/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:d6fa25b2541d2898ae17982e86e0977a639b04f75119612cb46e1719474513fd", size = 83647 }, + { url = "https://files.pythonhosted.org/packages/bb/d7/692d6e88e90447eee157d86cabb21d59ff00f038a6b049f645ca0dcabcf0/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:b200ff5acd181353f61f5b6446176faf78a61867d8c1d21e77a15e239d2cdf6b", size = 79035 }, + { url = "https://files.pythonhosted.org/packages/80/05/843e9eb1358190e411e7e5a16a3a668285f4f12eb2970c9b9921d7d2e13f/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp311-cp311-win32.whl", hash = "sha256:e56ad277813b48e35a3074f286c55a7a25884676e23ef9c3fc12349a42cb8fa4", size = 76767 }, + { url = "https://files.pythonhosted.org/packages/7f/10/76794461ac6960ec58b54261f1452f39a5fa377b4c7fa082f6f5665c51df/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:d6533fef6a5914dc8d519b83b1841becf6fd2f37163d6e07df318a6a6118f194", size = 83536 }, + { url = "https://files.pythonhosted.org/packages/86/8a/b86c0091f205f0f814396f356334fd3d5473d1302738be503cec7443dbd5/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:8f4369cb0108f8ee0cace559f9870b00a4dde3fc1abd52f84adba08bc733825c", size = 78971 }, + { url = "https://files.pythonhosted.org/packages/25/f4/53703d313aa45a6b7a7dd1b6d5bd8029a1ddd06d129de8ac50fd75c8d946/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp312-cp312-win32.whl", hash = "sha256:d729d989acd7c1d703e2088299b6e219089a415db4a7b80cd52fdc507ec3ce95", size = 76811 }, + { url = "https://files.pythonhosted.org/packages/6b/e0/c6bd7f3af35fe606ed668ac8cfec7d085dcf7873eb0fa0ba8d50af22b449/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d3d258d4388a2b46f2e46f2fbdede1bf327eaa9c2dd4605f8a7fe454077c49e", size = 83787 }, + { url = "https://files.pythonhosted.org/packages/a8/bc/7476372d4f6ec50b919639a16ac8cdf0ce8f63d4afe63a4c1250730f185c/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:d8c12457b00a79f8f1058d7a51bd8e7f177fb66e31389469e75b1104f6358921", size = 78910 }, + { url = "https://files.pythonhosted.org/packages/68/84/3e596881e9cf42dc43d45d52e4ee90163b671030b89bee11485cfc3cf311/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp313-cp313-win32.whl", hash = "sha256:ac1e55a350881f82cb51e162cb7a4b5d9359e9e5fbde922de802404a951d64ec", size = 76808 }, + { url = "https://files.pythonhosted.org/packages/6f/07/2a9408efdc48e27bfae721d9413477fa893c73a6ddea9ee9a944150012f2/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:0fc339340fb8be21c1c829816a49dc31b986c6d602d113d4a49ee8ffaf0e2396", size = 83798 }, + { url = "https://files.pythonhosted.org/packages/e5/01/aa3f75a1b18465522c7d679f840cefe487ed5e1064f8478f20451d2621f4/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:da63d9c56edcb3b2d5135e65cc8c9c4658344dd480a8a2daf45beb2106f17874", size = 78911 }, + { url = "https://files.pythonhosted.org/packages/8b/0e/6ce103899079b9799035d430989b73c4f5d0efb609424061ad604f7667b7/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp39-cp39-win32.whl", hash = "sha256:e98c6ae4b0afd3e4f3ab4fa06e84d6017ff9242146a64e3bad73f7f34183a076", size = 76846 }, + { url = "https://files.pythonhosted.org/packages/66/92/e4aa4b7096c2927550301166429dced4b46f6260971a72889ecccbde50ad/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:cdc485f4143fbbb3ae0c9c9ad03b1021a5cb233c6df65bf56ac14f8e22c918c3", size = 84077 }, + { url = "https://files.pythonhosted.org/packages/0c/bf/dc08e00aade2fd1bab8eeac6bf2c4b6f957a559087d470f5fe0a729303ec/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:7af519cc895be84d6974e9f70d102545a5e8db05e065903b0fd84521218e60a9", size = 78839 }, +] + +[[package]] +name = "winrt-windows-devices-bluetooth-genericattributeprofile" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "winrt-runtime", marker = "python_full_version >= '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/56/99/f1b517fc04244728eebf5f16c70d181ccc32e70e9a1655c7460ccd18755e/winrt_windows_devices_bluetooth_genericattributeprofile-2.3.0.tar.gz", hash = "sha256:f40f94bf2f7243848dc10e39cfde76c9044727a05e7e5dfb8cb7f062f3fd3dda", size = 33686 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/b4/2cb56a52cf45a7fde3e12760d4d4893859f9ef963a8dd44beaa9bf91d8da/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp310-cp310-win32.whl", hash = "sha256:1ec75b107370827874d8435a47852d0459cb66d5694e02a833e0a75c4748e847", size = 160077 }, + { url = "https://files.pythonhosted.org/packages/28/8e/1f5f3c705c3141cb72d7a1d02c204134b1a97c3801289adf205cbb5f76ea/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:0a178aa936abbc56ae1cc54a222dee4a34ce6c09506a5b592d4f7d04dbe76b95", size = 180443 }, + { url = "https://files.pythonhosted.org/packages/6d/6c/5a6a5127134c77376a22b69ef42951894e81ea97b08f5e2d3e96ed5924ad/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:b7067b8578e19ad17b28694090d5b000fee57db5b219462155961b685d71fba5", size = 167571 }, + { url = "https://files.pythonhosted.org/packages/a2/a4/ebf5c3db0dfdd9c03df4189eaff91a92788d875304bc473e39548a53eb7b/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp311-cp311-win32.whl", hash = "sha256:e0aeba201e20b6c4bc18a4336b5b07d653d4ab4c9c17a301613db680a346cd5e", size = 159925 }, + { url = "https://files.pythonhosted.org/packages/35/a1/efe3587a40210e9468696901eac78de039fb7b8515cdc1cacbf938dce2c7/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:f87b3995de18b98075ec2b02afc7252873fa75e7c840eb770d7bfafb4fda5c12", size = 180310 }, + { url = "https://files.pythonhosted.org/packages/97/8e/61a1d7548340c8aa608f7c36544e897145b1317fa2bdcdc2fb380768321a/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:7dccce04ec076666001efca8e2484d0ec444b2302ae150ef184aa253b8cfba09", size = 167363 }, + { url = "https://files.pythonhosted.org/packages/9c/bf/255bcf68a394007cb2275950d87063b828bb34500dc43f1356a079ce4374/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp312-cp312-win32.whl", hash = "sha256:1b97ef2ab9c9f5bae984989a47565d0d19c84969d74982a2664a4a3485cb8274", size = 160402 }, + { url = "https://files.pythonhosted.org/packages/a5/52/aa4b8a4e787b7e33e194193484567fcd1134cf9cf4d98cacf02333874b1d/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:5fac2c7b301fa70e105785d7504176c76e4d824fc3823afed4d1ab6a7682272c", size = 179589 }, + { url = "https://files.pythonhosted.org/packages/5b/1f/9e4ab12a378c57dd0426133e2887414ca5117275ea2a82fa4d6857ffa354/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:353fdccf2398b2a12e0835834cff8143a7efd9ba877fb5820fdcce531732b500", size = 166874 }, + { url = "https://files.pythonhosted.org/packages/ff/84/5dcec574261d1594b821ed14f161788e87e8268ca9e974959a89726846c3/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp313-cp313-win32.whl", hash = "sha256:f414f793767ccc56d055b1c74830efb51fa4cbdc9163847b1a38b1ee35778f49", size = 160415 }, + { url = "https://files.pythonhosted.org/packages/3c/0f/94019f58b293dcd2f5ea27cce710c55909b9c7b9f13664a6248b7369f201/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:8ef35d9cda5bbdcc55aa7eaf143ab873227d6ee467aaf28edbd2428f229e7c94", size = 179634 }, + { url = "https://files.pythonhosted.org/packages/c9/b1/d124bb30ff50de76e453beefabb75a7509c86054e00024e4163c3e1555db/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:6a9e7308ba264175c2a9ee31f6cf1d647cb35ee9a1da7350793d8fe033a6b9b8", size = 166849 }, + { url = "https://files.pythonhosted.org/packages/1b/02/3f9ffcdbf3e43b61025b98458cffa3a7c40eaef0b7593ac14c99fd235148/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp39-cp39-win32.whl", hash = "sha256:aea58f7e484cf3480ab9472a3e99b61c157b8a47baae8694bc7400ea5335f5dc", size = 159759 }, + { url = "https://files.pythonhosted.org/packages/d4/5a/4aa75c02797c3ef527948684a4ccd28afa670d98ad3d616cc5a46b1593cc/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:992b792a9e7f5771ccdc18eec4e526a11f23b75d9be5de3ec552ff719333897a", size = 181259 }, + { url = "https://files.pythonhosted.org/packages/b9/9c/7cc45ea7bb7fabc047c74a9a26c76cd132854cc8b4a22c9543ce3d074324/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:66b030a9cc6099dafe4253239e8e625cc063bb9bb115bebed6260d92dd86f6b1", size = 167511 }, +] + +[[package]] +name = "winrt-windows-devices-enumeration" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "winrt-runtime", marker = "python_full_version >= '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5f/74/aed7249ee138db3bc425913d3c0a0c7db42bdc97b0d2bf5da134cfc919cf/winrt_windows_devices_enumeration-2.3.0.tar.gz", hash = "sha256:a14078aac41432781acb0c950fcdcdeb096e2f80f7591a3d46435f30221fc3eb", size = 19943 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/25/4f/a20c0d8aa2a75a308c3271a31a87676312e3a627a4e62a628c6a49a849e1/winrt_Windows.Devices.Enumeration-2.3.0-cp310-cp310-win32.whl", hash = "sha256:461360ab47967f39721e71276fdcfe87ad2f71ba7b09d721f2f88bcdf16a6924", size = 113799 }, + { url = "https://files.pythonhosted.org/packages/01/2b/399f888c593132880359e1dde5eaafbeb8eced2f456da9ccc006405069b2/winrt_Windows.Devices.Enumeration-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:a7d7b01d43d5dcc1f3846db12f4c552155efae75469f36052623faed7f0f74a8", size = 131932 }, + { url = "https://files.pythonhosted.org/packages/b3/1c/25030c0433212f1de4f8547bee02f1ff8bcf69a6ee387e5908385721c705/winrt_Windows.Devices.Enumeration-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:6478fbe6f45172a9911c15b061ec9b0f30c9f4845ba3fd1e9e1bb78c1fb691c4", size = 121944 }, + { url = "https://files.pythonhosted.org/packages/22/b0/84e6186b20f1842d67d857bc59ce1b86d148c6a2fe885c49beb9caa9db81/winrt_Windows.Devices.Enumeration-2.3.0-cp311-cp311-win32.whl", hash = "sha256:30be5cba8e9e81ea8dd514ba1300b5bb14ad7cc4e32efe908ddddd14c73e7f61", size = 113746 }, + { url = "https://files.pythonhosted.org/packages/da/4e/bc5531ca1e2fd16ab9b565d009644678c0022471c299e278d4862b337dbc/winrt_Windows.Devices.Enumeration-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:86c2a1865e0a0146dd4f51f17e3d773d3e6732742f61838c05061f28738c6dbd", size = 131926 }, + { url = "https://files.pythonhosted.org/packages/19/ac/962f5f1bebf8874b6f9d83c296eda4b40ef7cc1682d5821e8c5334121915/winrt_Windows.Devices.Enumeration-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:1b50d9304e49a9f04bc8139831b75be968ff19a1f50529d5eb0081dae2103d92", size = 121920 }, + { url = "https://files.pythonhosted.org/packages/5f/9b/e72a1b250d3405c0e582cea24dbe145e860ce6dc99de99dc2548df3b227a/winrt_Windows.Devices.Enumeration-2.3.0-cp312-cp312-win32.whl", hash = "sha256:42ed0349f0290a1b0a101425a06196c5d5db1240db6f8bd7d2204f23c48d727b", size = 114104 }, + { url = "https://files.pythonhosted.org/packages/66/93/2bd286c7d1ba875248e1265788257e7c61b94b4ccea4eca2480526d2f468/winrt_Windows.Devices.Enumeration-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:83e385fbf85b9511699d33c659673611f42b98bd3a554a85b377a34cc3b68b2e", size = 132060 }, + { url = "https://files.pythonhosted.org/packages/e9/2d/67d13dc73063bd72171ec5af37069796bebae0f8e5fa607928843da09cd5/winrt_Windows.Devices.Enumeration-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:26f855caee61c12449c6b07e22ea1ad470f8daa24223d8581e1fe622c70b48a8", size = 121697 }, + { url = "https://files.pythonhosted.org/packages/ae/fa/3e654fba4c48fed2776ee023b690fe9eebf4e345a52f21a2358f30397deb/winrt_Windows.Devices.Enumeration-2.3.0-cp313-cp313-win32.whl", hash = "sha256:a5f2cff6ee584e5627a2246bdbcd1b3a3fd1e7ae0741f62c59f7d5a5650d5791", size = 114111 }, + { url = "https://files.pythonhosted.org/packages/98/0e/b946508e7a0dfc5c07bbab0860b2f30711a6f1c1d9999e3ab889b8024c5d/winrt_Windows.Devices.Enumeration-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:7516171521aa383ccdc8f422cc202979a2359d0d1256f22852bfb0b55d9154f0", size = 132059 }, + { url = "https://files.pythonhosted.org/packages/1e/d1/564b0c7ea461351f0101c50880d959cdbdfc443cb89559d819cb3d854f7a/winrt_Windows.Devices.Enumeration-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:80d01dfffe4b548439242f3f7a737189354768b203cca023dc29b267dfe5595a", size = 121739 }, + { url = "https://files.pythonhosted.org/packages/08/59/c6291fb23b9ac52a69db18afd8fa6e0be7c44a659f39de864f826795c024/winrt_Windows.Devices.Enumeration-2.3.0-cp39-cp39-win32.whl", hash = "sha256:990a375cd8edc2d30b939a49dcc1349ede3a4b8e4da78baf0de5e5711d3a4f00", size = 114099 }, + { url = "https://files.pythonhosted.org/packages/ab/3c/5b8ac1019fc9b10ca9bc0eabb48cd1ac52cfb0c27a2e517bc26f8e76f549/winrt_Windows.Devices.Enumeration-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:2e7bedf0eac2066d7d37b1d34071b95bb57024e9e083867be1d24e916e012ac0", size = 132618 }, + { url = "https://files.pythonhosted.org/packages/46/db/33765af733e669ea1491afa1d2b1eaa4ecc5bf10a09034794acc615b0403/winrt_Windows.Devices.Enumeration-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:c53b673b80ba794f1c1320a5e0a14d795193c3f64b8132ebafba2f49c7301c2f", size = 121881 }, +] + +[[package]] +name = "winrt-windows-foundation" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "winrt-runtime", marker = "python_full_version >= '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/55/7f/93fd748713622d999c5ae71fe66441c6d63b7b826285555e68807481222c/winrt_windows_foundation-2.3.0.tar.gz", hash = "sha256:c5766f011c8debbe89b460af4a97d026ca252144e62d7278c9c79c5581ea0c02", size = 22594 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9a/b0/0f0eca4cd09f331c8b0982e9a81319068b59df8cbaf3e5d93d8187a76adb/winrt_Windows.Foundation-2.3.0-cp310-cp310-win32.whl", hash = "sha256:ea7b0e82be5c05690fedaf0dac5aa5e5fefd7ebf90b1497e5993197d305d916d", size = 85735 }, + { url = "https://files.pythonhosted.org/packages/17/8a/6b0eccfe4e3b97dcebc353801c1db785dd1c06de3bb4fd1d5541ac1cb6e8/winrt_Windows.Foundation-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:6807dd40f8ecd6403679f6eae0db81674fdcf33768d08fdee66e0a17b7a02515", size = 99450 }, + { url = "https://files.pythonhosted.org/packages/1a/f2/d753626b27a7004fb5d9d423d0f9437ff0ba525f9b45ff0322cc70ae98d4/winrt_Windows.Foundation-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:0a861815e97ace82583210c03cf800507b0c3a97edd914bfffa5f88de1fbafcc", size = 86883 }, + { url = "https://files.pythonhosted.org/packages/45/3d/91f5afe1d1f112793e17db2d20c1308f0549d5ad01bcf49d84eafcb81cdd/winrt_Windows.Foundation-2.3.0-cp311-cp311-win32.whl", hash = "sha256:c79b3d9384128b6b28c2483b4600f15c5d32c1f6646f9d77fdb3ee9bbaef6f81", size = 85697 }, + { url = "https://files.pythonhosted.org/packages/d2/78/e312bfab3831cad54f7a3618106c07e936317e3e974da9cce7acd35b836d/winrt_Windows.Foundation-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:fdd9c4914070dc598f5961d9c7571dd7d745f5cc60347603bf39d6ee921bd85c", size = 99525 }, + { url = "https://files.pythonhosted.org/packages/29/7d/663f1e2fbc920bc86b4d12b454a013d4c5cccabcd77036af5865db1c9a99/winrt_Windows.Foundation-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:62bbb0ffa273551d33fd533d6e09b6f9f633dc214225d483722af47d2525fb84", size = 86931 }, + { url = "https://files.pythonhosted.org/packages/99/76/7844a78bca3d6084980c5ed1f3ec890d34a5af11b034da444a139ef0b81c/winrt_Windows.Foundation-2.3.0-cp312-cp312-win32.whl", hash = "sha256:d36f472ac258e79eee6061e1bb4ce50bfd200f9271392d23479c800ca6aee8d1", size = 85754 }, + { url = "https://files.pythonhosted.org/packages/25/ea/fe75d742284b3c292723f60d41e54591df9d1989266bceb5b70b4f17d383/winrt_Windows.Foundation-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:8de9b5e95a3fdabdb45b1952e05355dd5a678f80bf09a54d9f966dccc805b383", size = 100135 }, + { url = "https://files.pythonhosted.org/packages/65/ae/c0ea1864a8ee48617d7c12029e38a9935dd952d090e02b6d5cb98014d5b1/winrt_Windows.Foundation-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:37da09c08c9c772baedb1958e5ee116fe63809f33c6820c69750f340b3dda292", size = 86636 }, + { url = "https://files.pythonhosted.org/packages/d7/a0/a7d21584cac23961acaa359398ae3f5ad5d1a35b98e3be9c130634c226f8/winrt_Windows.Foundation-2.3.0-cp313-cp313-win32.whl", hash = "sha256:2b00fad3f2a3859ccae41eee12ab44434813a371c2f3003b4f2419e5eecb4832", size = 85760 }, + { url = "https://files.pythonhosted.org/packages/07/fe/2553025e5d1cf880b272d15ae43c5014c74687bfc041d4260d069f5357f3/winrt_Windows.Foundation-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:686619932b2a2c689cbebc7f5196437a45fd2056656ef130bb10240bb111086a", size = 100140 }, + { url = "https://files.pythonhosted.org/packages/ab/b7/94ed1b3d5341115a7f5dab8fff7b22695ae8779ece94ce9b2d9608d47478/winrt_Windows.Foundation-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:b38dcb83fe82a7da9a57d7d5ad5deb09503b5be6d9357a9fd3016ca31673805d", size = 86641 }, + { url = "https://files.pythonhosted.org/packages/d5/99/cdf8a3c431fec498795524cc7366970862a38eeeb3b16d2489dfb091e011/winrt_Windows.Foundation-2.3.0-cp39-cp39-win32.whl", hash = "sha256:2d6922de4dc38061b86d314c7319d7c6bd78a52d64ee0c93eb81474bddb499bc", size = 85900 }, + { url = "https://files.pythonhosted.org/packages/41/d4/65de7f7b2df0a465fb3c145773787a6d40e1a10ccd8bd7512287b7bd7415/winrt_Windows.Foundation-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:1513e43adff3779d2f611d8bdf9350ac1a7c04389e9e6b1d777c5cd54f46e4fc", size = 99727 }, + { url = "https://files.pythonhosted.org/packages/4f/94/f116bb10690d763bf2e338f4d1a6e28bae72d4ec885cbbf3d74b24b4ce0f/winrt_Windows.Foundation-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:c811e4a4f79b947fbbb50f74d34ef6840dd2dd26e0199bd61a4185e48c6a84a8", size = 86958 }, +] + +[[package]] +name = "winrt-windows-foundation-collections" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "winrt-runtime", marker = "python_full_version >= '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/59/fc/a8687fb0095471b0db29f6c921a8eb971f55ab79e1ccb5bcd01bf1b4baba/winrt_windows_foundation_collections-2.3.0.tar.gz", hash = "sha256:15c997fd6b64ef0400a619319ea3c6851c9c24e31d51b6448ba9bac3616d25a0", size = 12932 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fb/af/2549e23fd98b6155a75dc9896d16b0d95ec405051d7fb085d2d67c7fb3db/winrt_Windows.Foundation.Collections-2.3.0-cp310-cp310-win32.whl", hash = "sha256:d2fca59eef9582a33c2797b1fda1d5757d66827cc34e6fc1d1c94a5875c4c043", size = 51358 }, + { url = "https://files.pythonhosted.org/packages/b1/2a/44b0fdeec166174c2871d6500bcff577ffaf6f43c92dad03c1ac8a57939e/winrt_Windows.Foundation.Collections-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:d14b47d9137aebad71aa4fde5892673f2fa326f5f4799378cb9f6158b07a9824", size = 60713 }, + { url = "https://files.pythonhosted.org/packages/94/2e/56b9aef4d3f89627ee5b8af5eca4ead0e201df804e5d484c06d761b1246a/winrt_Windows.Foundation.Collections-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:cca5398a4522dffd76decf64a28368cda67e81dc01cad35a9f39cc351af69bdd", size = 52476 }, + { url = "https://files.pythonhosted.org/packages/4a/11/2905a6c48c9c8122b54dd008db6e342494ffcf01bbd8794371ad5da7ee21/winrt_Windows.Foundation.Collections-2.3.0-cp311-cp311-win32.whl", hash = "sha256:3808af64c95a9b464e8e97f6bec57a8b22168185f1c893f30de69aaf48c85b17", size = 51195 }, + { url = "https://files.pythonhosted.org/packages/e3/5d/4c315abf1cdef3ff3f50d80d722576d85c79ffc6b48dc4adb65cacfc971d/winrt_Windows.Foundation.Collections-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:1e9a3842a39feb965545124abfe79ed726adc5a1fc6a192470a3c5d3ec3f7a74", size = 60649 }, + { url = "https://files.pythonhosted.org/packages/6a/83/5c987b21d4e66f06ac63dbcf17f92b06a8b556c8d83aa8a10ce24b62ab76/winrt_Windows.Foundation.Collections-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:751c2a68fef080dfe0af892ef4cebf317844e4baa786e979028757fe2740fba4", size = 52404 }, + { url = "https://files.pythonhosted.org/packages/ec/a8/c826415e59acc7e12b1b10397e217a2025814c4823ac74a9e0a8f8887baf/winrt_Windows.Foundation.Collections-2.3.0-cp312-cp312-win32.whl", hash = "sha256:498c1fc403d3dc7a091aaac92af471615de4f9550d544347cb3b169c197183b5", size = 51199 }, + { url = "https://files.pythonhosted.org/packages/ed/cb/a17ba9fc5cca07acc9bcb62816da11468fe1f333622dd3d79a2f6ab3fd1e/winrt_Windows.Foundation.Collections-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:4d1b1cacc159f38d8e6b662f6e7a5c41879a36aa7434c1580d7f948c9037419e", size = 60738 }, + { url = "https://files.pythonhosted.org/packages/e9/05/d21b20759103c7b02e404ce255f81bff9a89129868cb237647ac3128960b/winrt_Windows.Foundation.Collections-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:398d93b76a2cf70d5e75c1f802e1dd856501e63bc9a31f4510ac59f718951b9e", size = 52488 }, + { url = "https://files.pythonhosted.org/packages/ea/00/aef792aa5434c7bd69161606c7c001bba6d38a2759dc2112c19f548ea187/winrt_Windows.Foundation.Collections-2.3.0-cp313-cp313-win32.whl", hash = "sha256:1e5f1637e0919c7bb5b11ba1eebbd43bc0ad9600cf887b59fcece0f8a6c0eac3", size = 51201 }, + { url = "https://files.pythonhosted.org/packages/e6/cf/dbca5e255ad05a162f82ad0f8dba7cdf91ebaf78b955f056b8fc98ead448/winrt_Windows.Foundation.Collections-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:c809a70bc0f93d53c7289a0a86d8869740e09fff0c57318a14401f5c17e0b912", size = 60736 }, + { url = "https://files.pythonhosted.org/packages/55/84/6e3a75da245964461b3e6ac5a9db7d596fbbe8cf13bf771b4264c2c93ba6/winrt_Windows.Foundation.Collections-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:269942fe86af06293a2676c8b2dcd5cb1d8ddfe1b5244f11c16e48ae0a5d100f", size = 52492 }, + { url = "https://files.pythonhosted.org/packages/42/1f/77683cbbe24bd082f69437315bc36c7627ea7f88a4f20516c2e48ce795ff/winrt_Windows.Foundation.Collections-2.3.0-cp39-cp39-win32.whl", hash = "sha256:936b1c5720b564ec699673198addee97f3bdb790622d24c8fd1b346a9767717c", size = 51383 }, + { url = "https://files.pythonhosted.org/packages/e1/27/5d97805bd203780907a98b2ca6d27c045059fae5d94d5f406f8862e5b1de/winrt_Windows.Foundation.Collections-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:905a6ac9cd6b51659a9bba08cf44cfc925f528ef34cdd9c3a6c2632e97804a96", size = 60913 }, + { url = "https://files.pythonhosted.org/packages/af/c0/e0761c619fac825ed36e1f6e69dee505a4e98fc754ebf733e3ef997938b3/winrt_Windows.Foundation.Collections-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:1d6eac85976bd831e1b8cc479d7f14afa51c27cec5a38e2540077d3400cbd3ef", size = 52491 }, +] + +[[package]] +name = "winrt-windows-storage-streams" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "winrt-runtime", marker = "python_full_version >= '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0c/07/5872ee6f9615a58820379ade122b28ff46b4227eee2232a22083a0ce7516/winrt_windows_storage_streams-2.3.0.tar.gz", hash = "sha256:d2c010beeb1dd7c135ed67ecfaea13440474a7c469e2e9aa2852db27d2063d44", size = 23581 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/71/80/b794af5c5e839aff29799222c2d5e4c9465ce463ca698a8162a88e0d09df/winrt_Windows.Storage.Streams-2.3.0-cp310-cp310-win32.whl", hash = "sha256:2c0901aee1232e92ed9320644b853d7801a0bdb87790164d56e961cd39910f07", size = 95958 }, + { url = "https://files.pythonhosted.org/packages/85/64/7916111ceb0710623acb9a1772bf9c5060b2028df430c415519a0a3b67fb/winrt_Windows.Storage.Streams-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:ba07dc25decffd29aa8603119629c167bd03fa274099e3bad331a4920c292b78", size = 108994 }, + { url = "https://files.pythonhosted.org/packages/21/b5/93e143087666887a971ede48e51ae5252d3e0f3276c69850706e63ba1d10/winrt_Windows.Storage.Streams-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:5b60b48460095c50a00a6f7f9b3b780f5bdcb1ec663fc09458201499f93e23ea", size = 103718 }, + { url = "https://files.pythonhosted.org/packages/73/08/0c98af6b1e2843a1043e8c4e02be851ed598bdef15f660fb8fa8d4355a65/winrt_Windows.Storage.Streams-2.3.0-cp311-cp311-win32.whl", hash = "sha256:8388f37759df64ceef1423ae7dd9275c8a6eb3b8245d400173b4916adc94b5ad", size = 95978 }, + { url = "https://files.pythonhosted.org/packages/69/c1/2bed5a680b23c6d831e07386e3651ac1d9a567faddc714027bf81d3d2b31/winrt_Windows.Storage.Streams-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:e5783dbe3694cc3deda594256ebb1088655386959bb834a6bfb7cd763ee87631", size = 110478 }, + { url = "https://files.pythonhosted.org/packages/2a/26/44ebbd289c79187be7ae869457617d6be06e3987c5b7106153d8674a86fe/winrt_Windows.Storage.Streams-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:0a487d19c73b82aafa3d5ef889bb35e6e8e2487ca4f16f5446f2445033d5219c", size = 103392 }, + { url = "https://files.pythonhosted.org/packages/dd/cd/70a986066ca94ec40e29fc689d795e8c488cbbf8df1e6d0b0b7ab0c4ebd7/winrt_Windows.Storage.Streams-2.3.0-cp312-cp312-win32.whl", hash = "sha256:272e87e6c74cb2832261ab33db7966a99e7a2400240cc4f8bf526a80ca054c68", size = 96013 }, + { url = "https://files.pythonhosted.org/packages/72/ea/5934fc1a3e8086c336d53ce91f63613d11ae8033b36dddb43bc2a459115a/winrt_Windows.Storage.Streams-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:997bf1a2d52c5f104b172947e571f27d9916a4409b4da592ec3e7f907848dd1a", size = 108629 }, + { url = "https://files.pythonhosted.org/packages/1d/ac/b688023e6c705a14207c60148c74e8fc1529b01142cd01587d3f2c63e8b9/winrt_Windows.Storage.Streams-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:d56daa00205c24ede6669d41eb70d6017e0202371d99f8ee2b0b31350ab59bd5", size = 103055 }, + { url = "https://files.pythonhosted.org/packages/a5/6f/1427f0240997dd2bd5c70ee2a129b6ee497deb6db1c519f2d4fe6af34b9f/winrt_Windows.Storage.Streams-2.3.0-cp313-cp313-win32.whl", hash = "sha256:7ac4e46fc5e21d8badc5d41779273c3f5e7196f1cf2df1959b6b70eca1d5d85f", size = 96000 }, + { url = "https://files.pythonhosted.org/packages/13/c1/8a673a0f7232caac6410373f492f0ebac73760f5e66996e75a2679923c40/winrt_Windows.Storage.Streams-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:1460027c94c107fcee484997494f3a400f08ee40396f010facb0e72b3b74c457", size = 108588 }, + { url = "https://files.pythonhosted.org/packages/24/72/2c0d42508109b563826d77e45ec5418b30140a33ffd9a5a420d5685c1b94/winrt_Windows.Storage.Streams-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:e4553a70f5264a7733596802a2991e2414cdcd5e396b9d11ee87be9abae9329e", size = 103050 }, + { url = "https://files.pythonhosted.org/packages/57/05/ee7481dfdb5b3b36e66e91ac278db2cea5a5a2da56ec1dbd176655f1c561/winrt_Windows.Storage.Streams-2.3.0-cp39-cp39-win32.whl", hash = "sha256:28e1117e23046e499831af16d11f5e61e6066ed6247ef58b93738702522c29b0", size = 96189 }, + { url = "https://files.pythonhosted.org/packages/45/8e/5ed7799680ad87e45cf9169cf29f34de24f1d678528d906191e1958ca6b0/winrt_Windows.Storage.Streams-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:5511dc578f92eb303aee4d3345ee4ffc88aa414564e43e0e3d84ff29427068f0", size = 109486 }, + { url = "https://files.pythonhosted.org/packages/f2/2e/b15feb390b7a9419def26db69d63cfd74fca56a10ecbdeb277bf6380c8dd/winrt_Windows.Storage.Streams-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:6f5b3f8af4df08f5bf9329373949236ffaef22d021070278795e56da5326a876", size = 103647 }, +] + +[[package]] +name = "yarl" +version = "1.18.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "idna" }, + { name = "multidict" }, + { name = "propcache" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b7/9d/4b94a8e6d2b51b599516a5cb88e5bc99b4d8d4583e468057eaa29d5f0918/yarl-1.18.3.tar.gz", hash = "sha256:ac1801c45cbf77b6c99242eeff4fffb5e4e73a800b5c4ad4fc0be5def634d2e1", size = 181062 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d2/98/e005bc608765a8a5569f58e650961314873c8469c333616eb40bff19ae97/yarl-1.18.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7df647e8edd71f000a5208fe6ff8c382a1de8edfbccdbbfe649d263de07d8c34", size = 141458 }, + { url = "https://files.pythonhosted.org/packages/df/5d/f8106b263b8ae8a866b46d9be869ac01f9b3fb7f2325f3ecb3df8003f796/yarl-1.18.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c69697d3adff5aa4f874b19c0e4ed65180ceed6318ec856ebc423aa5850d84f7", size = 94365 }, + { url = "https://files.pythonhosted.org/packages/56/3e/d8637ddb9ba69bf851f765a3ee288676f7cf64fb3be13760c18cbc9d10bd/yarl-1.18.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:602d98f2c2d929f8e697ed274fbadc09902c4025c5a9963bf4e9edfc3ab6f7ed", size = 92181 }, + { url = "https://files.pythonhosted.org/packages/76/f9/d616a5c2daae281171de10fba41e1c0e2d8207166fc3547252f7d469b4e1/yarl-1.18.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c654d5207c78e0bd6d749f6dae1dcbbfde3403ad3a4b11f3c5544d9906969dde", size = 315349 }, + { url = "https://files.pythonhosted.org/packages/bb/b4/3ea5e7b6f08f698b3769a06054783e434f6d59857181b5c4e145de83f59b/yarl-1.18.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5094d9206c64181d0f6e76ebd8fb2f8fe274950a63890ee9e0ebfd58bf9d787b", size = 330494 }, + { url = "https://files.pythonhosted.org/packages/55/f1/e0fc810554877b1b67420568afff51b967baed5b53bcc983ab164eebf9c9/yarl-1.18.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35098b24e0327fc4ebdc8ffe336cee0a87a700c24ffed13161af80124b7dc8e5", size = 326927 }, + { url = "https://files.pythonhosted.org/packages/a9/42/b1753949b327b36f210899f2dd0a0947c0c74e42a32de3f8eb5c7d93edca/yarl-1.18.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3236da9272872443f81fedc389bace88408f64f89f75d1bdb2256069a8730ccc", size = 319703 }, + { url = "https://files.pythonhosted.org/packages/f0/6d/e87c62dc9635daefb064b56f5c97df55a2e9cc947a2b3afd4fd2f3b841c7/yarl-1.18.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2c08cc9b16f4f4bc522771d96734c7901e7ebef70c6c5c35dd0f10845270bcd", size = 310246 }, + { url = "https://files.pythonhosted.org/packages/e3/ef/e2e8d1785cdcbd986f7622d7f0098205f3644546da7919c24b95790ec65a/yarl-1.18.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:80316a8bd5109320d38eef8833ccf5f89608c9107d02d2a7f985f98ed6876990", size = 319730 }, + { url = "https://files.pythonhosted.org/packages/fc/15/8723e22345bc160dfde68c4b3ae8b236e868f9963c74015f1bc8a614101c/yarl-1.18.3-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:c1e1cc06da1491e6734f0ea1e6294ce00792193c463350626571c287c9a704db", size = 321681 }, + { url = "https://files.pythonhosted.org/packages/86/09/bf764e974f1516efa0ae2801494a5951e959f1610dd41edbfc07e5e0f978/yarl-1.18.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fea09ca13323376a2fdfb353a5fa2e59f90cd18d7ca4eaa1fd31f0a8b4f91e62", size = 324812 }, + { url = "https://files.pythonhosted.org/packages/f6/4c/20a0187e3b903c97d857cf0272d687c1b08b03438968ae8ffc50fe78b0d6/yarl-1.18.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:e3b9fd71836999aad54084906f8663dffcd2a7fb5cdafd6c37713b2e72be1760", size = 337011 }, + { url = "https://files.pythonhosted.org/packages/c9/71/6244599a6e1cc4c9f73254a627234e0dad3883ece40cc33dce6265977461/yarl-1.18.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:757e81cae69244257d125ff31663249b3013b5dc0a8520d73694aed497fb195b", size = 338132 }, + { url = "https://files.pythonhosted.org/packages/af/f5/e0c3efaf74566c4b4a41cb76d27097df424052a064216beccae8d303c90f/yarl-1.18.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b1771de9944d875f1b98a745bc547e684b863abf8f8287da8466cf470ef52690", size = 331849 }, + { url = "https://files.pythonhosted.org/packages/8a/b8/3d16209c2014c2f98a8f658850a57b716efb97930aebf1ca0d9325933731/yarl-1.18.3-cp310-cp310-win32.whl", hash = "sha256:8874027a53e3aea659a6d62751800cf6e63314c160fd607489ba5c2edd753cf6", size = 84309 }, + { url = "https://files.pythonhosted.org/packages/fd/b7/2e9a5b18eb0fe24c3a0e8bae994e812ed9852ab4fd067c0107fadde0d5f0/yarl-1.18.3-cp310-cp310-win_amd64.whl", hash = "sha256:93b2e109287f93db79210f86deb6b9bbb81ac32fc97236b16f7433db7fc437d8", size = 90484 }, + { url = "https://files.pythonhosted.org/packages/40/93/282b5f4898d8e8efaf0790ba6d10e2245d2c9f30e199d1a85cae9356098c/yarl-1.18.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8503ad47387b8ebd39cbbbdf0bf113e17330ffd339ba1144074da24c545f0069", size = 141555 }, + { url = "https://files.pythonhosted.org/packages/6d/9c/0a49af78df099c283ca3444560f10718fadb8a18dc8b3edf8c7bd9fd7d89/yarl-1.18.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:02ddb6756f8f4517a2d5e99d8b2f272488e18dd0bfbc802f31c16c6c20f22193", size = 94351 }, + { url = "https://files.pythonhosted.org/packages/5a/a1/205ab51e148fdcedad189ca8dd587794c6f119882437d04c33c01a75dece/yarl-1.18.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:67a283dd2882ac98cc6318384f565bffc751ab564605959df4752d42483ad889", size = 92286 }, + { url = "https://files.pythonhosted.org/packages/ed/fe/88b690b30f3f59275fb674f5f93ddd4a3ae796c2b62e5bb9ece8a4914b83/yarl-1.18.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d980e0325b6eddc81331d3f4551e2a333999fb176fd153e075c6d1c2530aa8a8", size = 340649 }, + { url = "https://files.pythonhosted.org/packages/07/eb/3b65499b568e01f36e847cebdc8d7ccb51fff716dbda1ae83c3cbb8ca1c9/yarl-1.18.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b643562c12680b01e17239be267bc306bbc6aac1f34f6444d1bded0c5ce438ca", size = 356623 }, + { url = "https://files.pythonhosted.org/packages/33/46/f559dc184280b745fc76ec6b1954de2c55595f0ec0a7614238b9ebf69618/yarl-1.18.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c017a3b6df3a1bd45b9fa49a0f54005e53fbcad16633870104b66fa1a30a29d8", size = 354007 }, + { url = "https://files.pythonhosted.org/packages/af/ba/1865d85212351ad160f19fb99808acf23aab9a0f8ff31c8c9f1b4d671fc9/yarl-1.18.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75674776d96d7b851b6498f17824ba17849d790a44d282929c42dbb77d4f17ae", size = 344145 }, + { url = "https://files.pythonhosted.org/packages/94/cb/5c3e975d77755d7b3d5193e92056b19d83752ea2da7ab394e22260a7b824/yarl-1.18.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ccaa3a4b521b780a7e771cc336a2dba389a0861592bbce09a476190bb0c8b4b3", size = 336133 }, + { url = "https://files.pythonhosted.org/packages/19/89/b77d3fd249ab52a5c40859815765d35c91425b6bb82e7427ab2f78f5ff55/yarl-1.18.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2d06d3005e668744e11ed80812e61efd77d70bb7f03e33c1598c301eea20efbb", size = 347967 }, + { url = "https://files.pythonhosted.org/packages/35/bd/f6b7630ba2cc06c319c3235634c582a6ab014d52311e7d7c22f9518189b5/yarl-1.18.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:9d41beda9dc97ca9ab0b9888cb71f7539124bc05df02c0cff6e5acc5a19dcc6e", size = 346397 }, + { url = "https://files.pythonhosted.org/packages/18/1a/0b4e367d5a72d1f095318344848e93ea70da728118221f84f1bf6c1e39e7/yarl-1.18.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ba23302c0c61a9999784e73809427c9dbedd79f66a13d84ad1b1943802eaaf59", size = 350206 }, + { url = "https://files.pythonhosted.org/packages/b5/cf/320fff4367341fb77809a2d8d7fe75b5d323a8e1b35710aafe41fdbf327b/yarl-1.18.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:6748dbf9bfa5ba1afcc7556b71cda0d7ce5f24768043a02a58846e4a443d808d", size = 362089 }, + { url = "https://files.pythonhosted.org/packages/57/cf/aadba261d8b920253204085268bad5e8cdd86b50162fcb1b10c10834885a/yarl-1.18.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0b0cad37311123211dc91eadcb322ef4d4a66008d3e1bdc404808992260e1a0e", size = 366267 }, + { url = "https://files.pythonhosted.org/packages/54/58/fb4cadd81acdee6dafe14abeb258f876e4dd410518099ae9a35c88d8097c/yarl-1.18.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0fb2171a4486bb075316ee754c6d8382ea6eb8b399d4ec62fde2b591f879778a", size = 359141 }, + { url = "https://files.pythonhosted.org/packages/9a/7a/4c571597589da4cd5c14ed2a0b17ac56ec9ee7ee615013f74653169e702d/yarl-1.18.3-cp311-cp311-win32.whl", hash = "sha256:61b1a825a13bef4a5f10b1885245377d3cd0bf87cba068e1d9a88c2ae36880e1", size = 84402 }, + { url = "https://files.pythonhosted.org/packages/ae/7b/8600250b3d89b625f1121d897062f629883c2f45339623b69b1747ec65fa/yarl-1.18.3-cp311-cp311-win_amd64.whl", hash = "sha256:b9d60031cf568c627d028239693fd718025719c02c9f55df0a53e587aab951b5", size = 91030 }, + { url = "https://files.pythonhosted.org/packages/33/85/bd2e2729752ff4c77338e0102914897512e92496375e079ce0150a6dc306/yarl-1.18.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1dd4bdd05407ced96fed3d7f25dbbf88d2ffb045a0db60dbc247f5b3c5c25d50", size = 142644 }, + { url = "https://files.pythonhosted.org/packages/ff/74/1178322cc0f10288d7eefa6e4a85d8d2e28187ccab13d5b844e8b5d7c88d/yarl-1.18.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7c33dd1931a95e5d9a772d0ac5e44cac8957eaf58e3c8da8c1414de7dd27c576", size = 94962 }, + { url = "https://files.pythonhosted.org/packages/be/75/79c6acc0261e2c2ae8a1c41cf12265e91628c8c58ae91f5ff59e29c0787f/yarl-1.18.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:25b411eddcfd56a2f0cd6a384e9f4f7aa3efee14b188de13048c25b5e91f1640", size = 92795 }, + { url = "https://files.pythonhosted.org/packages/6b/32/927b2d67a412c31199e83fefdce6e645247b4fb164aa1ecb35a0f9eb2058/yarl-1.18.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:436c4fc0a4d66b2badc6c5fc5ef4e47bb10e4fd9bf0c79524ac719a01f3607c2", size = 332368 }, + { url = "https://files.pythonhosted.org/packages/19/e5/859fca07169d6eceeaa4fde1997c91d8abde4e9a7c018e371640c2da2b71/yarl-1.18.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e35ef8683211db69ffe129a25d5634319a677570ab6b2eba4afa860f54eeaf75", size = 342314 }, + { url = "https://files.pythonhosted.org/packages/08/75/76b63ccd91c9e03ab213ef27ae6add2e3400e77e5cdddf8ed2dbc36e3f21/yarl-1.18.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:84b2deecba4a3f1a398df819151eb72d29bfeb3b69abb145a00ddc8d30094512", size = 341987 }, + { url = "https://files.pythonhosted.org/packages/1a/e1/a097d5755d3ea8479a42856f51d97eeff7a3a7160593332d98f2709b3580/yarl-1.18.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00e5a1fea0fd4f5bfa7440a47eff01d9822a65b4488f7cff83155a0f31a2ecba", size = 336914 }, + { url = "https://files.pythonhosted.org/packages/0b/42/e1b4d0e396b7987feceebe565286c27bc085bf07d61a59508cdaf2d45e63/yarl-1.18.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d0e883008013c0e4aef84dcfe2a0b172c4d23c2669412cf5b3371003941f72bb", size = 325765 }, + { url = "https://files.pythonhosted.org/packages/7e/18/03a5834ccc9177f97ca1bbb245b93c13e58e8225276f01eedc4cc98ab820/yarl-1.18.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5a3f356548e34a70b0172d8890006c37be92995f62d95a07b4a42e90fba54272", size = 344444 }, + { url = "https://files.pythonhosted.org/packages/c8/03/a713633bdde0640b0472aa197b5b86e90fbc4c5bc05b727b714cd8a40e6d/yarl-1.18.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ccd17349166b1bee6e529b4add61727d3f55edb7babbe4069b5764c9587a8cc6", size = 340760 }, + { url = "https://files.pythonhosted.org/packages/eb/99/f6567e3f3bbad8fd101886ea0276c68ecb86a2b58be0f64077396cd4b95e/yarl-1.18.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b958ddd075ddba5b09bb0be8a6d9906d2ce933aee81100db289badbeb966f54e", size = 346484 }, + { url = "https://files.pythonhosted.org/packages/8e/a9/84717c896b2fc6cb15bd4eecd64e34a2f0a9fd6669e69170c73a8b46795a/yarl-1.18.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c7d79f7d9aabd6011004e33b22bc13056a3e3fb54794d138af57f5ee9d9032cb", size = 359864 }, + { url = "https://files.pythonhosted.org/packages/1e/2e/d0f5f1bef7ee93ed17e739ec8dbcb47794af891f7d165fa6014517b48169/yarl-1.18.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4891ed92157e5430874dad17b15eb1fda57627710756c27422200c52d8a4e393", size = 364537 }, + { url = "https://files.pythonhosted.org/packages/97/8a/568d07c5d4964da5b02621a517532adb8ec5ba181ad1687191fffeda0ab6/yarl-1.18.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ce1af883b94304f493698b00d0f006d56aea98aeb49d75ec7d98cd4a777e9285", size = 357861 }, + { url = "https://files.pythonhosted.org/packages/7d/e3/924c3f64b6b3077889df9a1ece1ed8947e7b61b0a933f2ec93041990a677/yarl-1.18.3-cp312-cp312-win32.whl", hash = "sha256:f91c4803173928a25e1a55b943c81f55b8872f0018be83e3ad4938adffb77dd2", size = 84097 }, + { url = "https://files.pythonhosted.org/packages/34/45/0e055320daaabfc169b21ff6174567b2c910c45617b0d79c68d7ab349b02/yarl-1.18.3-cp312-cp312-win_amd64.whl", hash = "sha256:7e2ee16578af3b52ac2f334c3b1f92262f47e02cc6193c598502bd46f5cd1477", size = 90399 }, + { url = "https://files.pythonhosted.org/packages/30/c7/c790513d5328a8390be8f47be5d52e141f78b66c6c48f48d241ca6bd5265/yarl-1.18.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:90adb47ad432332d4f0bc28f83a5963f426ce9a1a8809f5e584e704b82685dcb", size = 140789 }, + { url = "https://files.pythonhosted.org/packages/30/aa/a2f84e93554a578463e2edaaf2300faa61c8701f0898725842c704ba5444/yarl-1.18.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:913829534200eb0f789d45349e55203a091f45c37a2674678744ae52fae23efa", size = 94144 }, + { url = "https://files.pythonhosted.org/packages/c6/fc/d68d8f83714b221a85ce7866832cba36d7c04a68fa6a960b908c2c84f325/yarl-1.18.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ef9f7768395923c3039055c14334ba4d926f3baf7b776c923c93d80195624782", size = 91974 }, + { url = "https://files.pythonhosted.org/packages/56/4e/d2563d8323a7e9a414b5b25341b3942af5902a2263d36d20fb17c40411e2/yarl-1.18.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a19f62ff30117e706ebc9090b8ecc79aeb77d0b1f5ec10d2d27a12bc9f66d0", size = 333587 }, + { url = "https://files.pythonhosted.org/packages/25/c9/cfec0bc0cac8d054be223e9f2c7909d3e8442a856af9dbce7e3442a8ec8d/yarl-1.18.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e17c9361d46a4d5addf777c6dd5eab0715a7684c2f11b88c67ac37edfba6c482", size = 344386 }, + { url = "https://files.pythonhosted.org/packages/ab/5d/4c532190113b25f1364d25f4c319322e86232d69175b91f27e3ebc2caf9a/yarl-1.18.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a74a13a4c857a84a845505fd2d68e54826a2cd01935a96efb1e9d86c728e186", size = 345421 }, + { url = "https://files.pythonhosted.org/packages/23/d1/6cdd1632da013aa6ba18cee4d750d953104a5e7aac44e249d9410a972bf5/yarl-1.18.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41f7ce59d6ee7741af71d82020346af364949314ed3d87553763a2df1829cc58", size = 339384 }, + { url = "https://files.pythonhosted.org/packages/9a/c4/6b3c39bec352e441bd30f432cda6ba51681ab19bb8abe023f0d19777aad1/yarl-1.18.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f52a265001d830bc425f82ca9eabda94a64a4d753b07d623a9f2863fde532b53", size = 326689 }, + { url = "https://files.pythonhosted.org/packages/23/30/07fb088f2eefdc0aa4fc1af4e3ca4eb1a3aadd1ce7d866d74c0f124e6a85/yarl-1.18.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:82123d0c954dc58db301f5021a01854a85bf1f3bb7d12ae0c01afc414a882ca2", size = 345453 }, + { url = "https://files.pythonhosted.org/packages/63/09/d54befb48f9cd8eec43797f624ec37783a0266855f4930a91e3d5c7717f8/yarl-1.18.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:2ec9bbba33b2d00999af4631a3397d1fd78290c48e2a3e52d8dd72db3a067ac8", size = 341872 }, + { url = "https://files.pythonhosted.org/packages/91/26/fd0ef9bf29dd906a84b59f0cd1281e65b0c3e08c6aa94b57f7d11f593518/yarl-1.18.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:fbd6748e8ab9b41171bb95c6142faf068f5ef1511935a0aa07025438dd9a9bc1", size = 347497 }, + { url = "https://files.pythonhosted.org/packages/d9/b5/14ac7a256d0511b2ac168d50d4b7d744aea1c1aa20c79f620d1059aab8b2/yarl-1.18.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:877d209b6aebeb5b16c42cbb377f5f94d9e556626b1bfff66d7b0d115be88d0a", size = 359981 }, + { url = "https://files.pythonhosted.org/packages/ca/b3/d493221ad5cbd18bc07e642894030437e405e1413c4236dd5db6e46bcec9/yarl-1.18.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b464c4ab4bfcb41e3bfd3f1c26600d038376c2de3297760dfe064d2cb7ea8e10", size = 366229 }, + { url = "https://files.pythonhosted.org/packages/04/56/6a3e2a5d9152c56c346df9b8fb8edd2c8888b1e03f96324d457e5cf06d34/yarl-1.18.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8d39d351e7faf01483cc7ff7c0213c412e38e5a340238826be7e0e4da450fdc8", size = 360383 }, + { url = "https://files.pythonhosted.org/packages/fd/b7/4b3c7c7913a278d445cc6284e59b2e62fa25e72758f888b7a7a39eb8423f/yarl-1.18.3-cp313-cp313-win32.whl", hash = "sha256:61ee62ead9b68b9123ec24bc866cbef297dd266175d53296e2db5e7f797f902d", size = 310152 }, + { url = "https://files.pythonhosted.org/packages/f5/d5/688db678e987c3e0fb17867970700b92603cadf36c56e5fb08f23e822a0c/yarl-1.18.3-cp313-cp313-win_amd64.whl", hash = "sha256:578e281c393af575879990861823ef19d66e2b1d0098414855dd367e234f5b3c", size = 315723 }, + { url = "https://files.pythonhosted.org/packages/6a/3b/fec4b08f5e88f68e56ee698a59284a73704df2e0e0b5bdf6536c86e76c76/yarl-1.18.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:61e5e68cb65ac8f547f6b5ef933f510134a6bf31bb178be428994b0cb46c2a04", size = 142780 }, + { url = "https://files.pythonhosted.org/packages/ed/85/796b0d6a22d536ec8e14bdbb86519250bad980cec450b6e299b1c2a9079e/yarl-1.18.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fe57328fbc1bfd0bd0514470ac692630f3901c0ee39052ae47acd1d90a436719", size = 94981 }, + { url = "https://files.pythonhosted.org/packages/ee/0e/a830fd2238f7a29050f6dd0de748b3d6f33a7dbb67dbbc081a970b2bbbeb/yarl-1.18.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a440a2a624683108a1b454705ecd7afc1c3438a08e890a1513d468671d90a04e", size = 92789 }, + { url = "https://files.pythonhosted.org/packages/0f/4f/438c9fd668954779e48f08c0688ee25e0673380a21bb1e8ccc56de5b55d7/yarl-1.18.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09c7907c8548bcd6ab860e5f513e727c53b4a714f459b084f6580b49fa1b9cee", size = 317327 }, + { url = "https://files.pythonhosted.org/packages/bd/79/a78066f06179b4ed4581186c136c12fcfb928c475cbeb23743e71a991935/yarl-1.18.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b4f6450109834af88cb4cc5ecddfc5380ebb9c228695afc11915a0bf82116789", size = 336999 }, + { url = "https://files.pythonhosted.org/packages/55/02/527963cf65f34a06aed1e766ff9a3b3e7d0eaa1c90736b2948a62e528e1d/yarl-1.18.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9ca04806f3be0ac6d558fffc2fdf8fcef767e0489d2684a21912cc4ed0cd1b8", size = 331693 }, + { url = "https://files.pythonhosted.org/packages/a2/2a/167447ae39252ba624b98b8c13c0ba35994d40d9110e8a724c83dbbb5822/yarl-1.18.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77a6e85b90a7641d2e07184df5557132a337f136250caafc9ccaa4a2a998ca2c", size = 321473 }, + { url = "https://files.pythonhosted.org/packages/55/03/07955fabb20082373be311c91fd78abe458bc7ff9069d34385e8bddad20e/yarl-1.18.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6333c5a377c8e2f5fae35e7b8f145c617b02c939d04110c76f29ee3676b5f9a5", size = 313571 }, + { url = "https://files.pythonhosted.org/packages/95/e2/67c8d3ec58a8cd8ddb1d63bd06eb7e7b91c9f148707a3eeb5a7ed87df0ef/yarl-1.18.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0b3c92fa08759dbf12b3a59579a4096ba9af8dd344d9a813fc7f5070d86bbab1", size = 325004 }, + { url = "https://files.pythonhosted.org/packages/06/43/51ceb3e427368fe6ccd9eccd162be227fd082523e02bad1fd3063daf68da/yarl-1.18.3-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:4ac515b860c36becb81bb84b667466885096b5fc85596948548b667da3bf9f24", size = 322677 }, + { url = "https://files.pythonhosted.org/packages/e4/0e/7ef286bfb23267739a703f7b967a858e2128c10bea898de8fa027e962521/yarl-1.18.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:045b8482ce9483ada4f3f23b3774f4e1bf4f23a2d5c912ed5170f68efb053318", size = 332806 }, + { url = "https://files.pythonhosted.org/packages/c8/94/2d1f060f4bfa47c8bd0bcb652bfe71fba881564bcac06ebb6d8ced9ac3bc/yarl-1.18.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:a4bb030cf46a434ec0225bddbebd4b89e6471814ca851abb8696170adb163985", size = 339919 }, + { url = "https://files.pythonhosted.org/packages/8e/8d/73b5f9a6ab69acddf1ca1d5e7bc92f50b69124512e6c26b36844531d7f23/yarl-1.18.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:54d6921f07555713b9300bee9c50fb46e57e2e639027089b1d795ecd9f7fa910", size = 340960 }, + { url = "https://files.pythonhosted.org/packages/41/13/ce6bc32be4476b60f4f8694831f49590884b2c975afcffc8d533bf2be7ec/yarl-1.18.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1d407181cfa6e70077df3377938c08012d18893f9f20e92f7d2f314a437c30b1", size = 336592 }, + { url = "https://files.pythonhosted.org/packages/81/d5/6e0460292d6299ac3919945f912b16b104f4e81ab20bf53e0872a1296daf/yarl-1.18.3-cp39-cp39-win32.whl", hash = "sha256:ac36703a585e0929b032fbaab0707b75dc12703766d0b53486eabd5139ebadd5", size = 84833 }, + { url = "https://files.pythonhosted.org/packages/b2/fc/a8aef69156ad5508165d8ae956736d55c3a68890610834bd985540966008/yarl-1.18.3-cp39-cp39-win_amd64.whl", hash = "sha256:ba87babd629f8af77f557b61e49e7c7cac36f22f871156b91e10a6e9d4f829e9", size = 90968 }, + { url = "https://files.pythonhosted.org/packages/f5/4b/a06e0ec3d155924f77835ed2d167ebd3b211a7b0853da1cf8d8414d784ef/yarl-1.18.3-py3-none-any.whl", hash = "sha256:b57f4f58099328dfb26c6a771d09fb20dbbae81d20cfb66141251ea063bd101b", size = 45109 }, +] + +[[package]] +name = "zipp" +version = "3.21.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3f/50/bad581df71744867e9468ebd0bcd6505de3b275e06f202c2cb016e3ff56f/zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4", size = 24545 } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/1a/7e4798e9339adc931158c9d69ecc34f5e6791489d469f5e50ec15e35f458/zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931", size = 9630 }, +] From f40bd49ab708270c0e61344213501288ff7e4964 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci-lite[bot]" <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com> Date: Thu, 27 Feb 2025 21:06:51 +0000 Subject: [PATCH 47/97] [pre-commit.ci lite] apply automatic fixes --- findmy/accessory.py | 3 ++- findmy/keys.py | 3 ++- findmy/reports/account.py | 2 +- findmy/scanner/scanner.py | 3 ++- findmy/util/types.py | 3 ++- 5 files changed, 9 insertions(+), 5 deletions(-) diff --git a/findmy/accessory.py b/findmy/accessory.py index 1d7708f..a51f683 100644 --- a/findmy/accessory.py +++ b/findmy/accessory.py @@ -9,8 +9,9 @@ from __future__ import annotations import logging import plistlib from abc import ABC, abstractmethod +from collections.abc import Generator from datetime import datetime, timedelta, timezone -from typing import IO, Generator, overload +from typing import IO, overload from typing_extensions import override diff --git a/findmy/keys.py b/findmy/keys.py index 89f9fc0..5263695 100644 --- a/findmy/keys.py +++ b/findmy/keys.py @@ -6,8 +6,9 @@ import base64 import hashlib import secrets from abc import ABC, abstractmethod +from collections.abc import Generator from enum import Enum -from typing import Generator, Generic, TypeVar, overload +from typing import Generic, TypeVar, overload from cryptography.hazmat.primitives.asymmetric import ec from typing_extensions import override diff --git a/findmy/reports/account.py b/findmy/reports/account.py index 59dbe3d..18b3ada 100644 --- a/findmy/reports/account.py +++ b/findmy/reports/account.py @@ -9,13 +9,13 @@ import logging import plistlib import uuid from abc import ABC, abstractmethod +from collections.abc import Sequence from datetime import datetime, timedelta, timezone from functools import wraps from typing import ( TYPE_CHECKING, Any, Callable, - Sequence, TypedDict, TypeVar, cast, diff --git a/findmy/scanner/scanner.py b/findmy/scanner/scanner.py index f9febbf..ca0d834 100644 --- a/findmy/scanner/scanner.py +++ b/findmy/scanner/scanner.py @@ -6,8 +6,9 @@ import asyncio import logging import time from abc import ABC, abstractmethod +from collections.abc import AsyncGenerator from datetime import datetime, timedelta -from typing import TYPE_CHECKING, Any, AsyncGenerator +from typing import TYPE_CHECKING, Any from bleak import BleakScanner from typing_extensions import override diff --git a/findmy/util/types.py b/findmy/util/types.py index feb3a9c..9326eda 100644 --- a/findmy/util/types.py +++ b/findmy/util/types.py @@ -1,6 +1,7 @@ """Utility types.""" -from typing import Coroutine, TypeVar, Union +from collections.abc import Coroutine +from typing import TypeVar, Union T = TypeVar("T") From 2de287f734152f28bb6d85f5748533de5d8c0615 Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Thu, 27 Feb 2025 22:10:43 +0100 Subject: [PATCH 48/97] fix: install all dependency groups in CI --- .github/actions/setup-project/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup-project/action.yml b/.github/actions/setup-project/action.yml index 1059892..2e37641 100644 --- a/.github/actions/setup-project/action.yml +++ b/.github/actions/setup-project/action.yml @@ -22,4 +22,4 @@ runs: - name: Install dependencies shell: bash - run: uv sync --all-extras --dev + run: uv sync --all-extras --all-groups From 274443c94df46f8f595822ce0b6a9f476794584b Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Thu, 27 Feb 2025 22:25:37 +0100 Subject: [PATCH 49/97] fix: fix pyright in examples --- pyproject.toml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 1df1086..7023ccd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -40,11 +40,6 @@ venv = ".venv" typeCheckingMode = "standard" reportImplicitOverride = true -# examples should be run from their own directory -executionEnvironments = [ - { root = "examples/" } -] - [tool.ruff] line-length = 100 From ed4ff770036dc5807816590138afd8aa03f2d901 Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Thu, 27 Feb 2025 22:34:30 +0100 Subject: [PATCH 50/97] chore: make ruff / pre-commit happy --- findmy/__init__.py | 6 +++--- findmy/accessory.py | 6 ++++-- findmy/keys.py | 6 ++++-- findmy/reports/__init__.py | 2 +- findmy/reports/account.py | 3 ++- findmy/reports/reports.py | 4 ++-- findmy/scanner/__init__.py | 2 +- findmy/scanner/scanner.py | 3 ++- findmy/util/__init__.py | 2 +- pyproject.toml | 2 -- 10 files changed, 20 insertions(+), 16 deletions(-) diff --git a/findmy/__init__.py b/findmy/__init__.py index 7431bad..9cc82e2 100644 --- a/findmy/__init__.py +++ b/findmy/__init__.py @@ -5,10 +5,10 @@ from .accessory import FindMyAccessory from .keys import KeyPair __all__ = ( + "FindMyAccessory", + "KeyPair", + "errors", "keys", "reports", "scanner", - "errors", - "FindMyAccessory", - "KeyPair", ) diff --git a/findmy/accessory.py b/findmy/accessory.py index a51f683..f06cd14 100644 --- a/findmy/accessory.py +++ b/findmy/accessory.py @@ -9,15 +9,17 @@ from __future__ import annotations import logging import plistlib from abc import ABC, abstractmethod -from collections.abc import Generator from datetime import datetime, timedelta, timezone -from typing import IO, overload +from typing import IO, TYPE_CHECKING, overload from typing_extensions import override from .keys import KeyGenerator, KeyPair, KeyType from .util import crypto +if TYPE_CHECKING: + from collections.abc import Generator + logging.getLogger(__name__) diff --git a/findmy/keys.py b/findmy/keys.py index 5263695..072c326 100644 --- a/findmy/keys.py +++ b/findmy/keys.py @@ -6,15 +6,17 @@ import base64 import hashlib import secrets from abc import ABC, abstractmethod -from collections.abc import Generator from enum import Enum -from typing import Generic, TypeVar, overload +from typing import TYPE_CHECKING, Generic, TypeVar, overload from cryptography.hazmat.primitives.asymmetric import ec from typing_extensions import override from .util import crypto, parsers +if TYPE_CHECKING: + from collections.abc import Generator + class KeyType(Enum): """Enum of possible key types.""" diff --git a/findmy/reports/__init__.py b/findmy/reports/__init__.py index dfba250..730ff68 100644 --- a/findmy/reports/__init__.py +++ b/findmy/reports/__init__.py @@ -8,8 +8,8 @@ from .twofactor import SmsSecondFactorMethod, TrustedDeviceSecondFactorMethod __all__ = ( "AppleAccount", "AsyncAppleAccount", - "LoginState", "BaseAnisetteProvider", + "LoginState", "RemoteAnisetteProvider", "SmsSecondFactorMethod", "TrustedDeviceSecondFactorMethod", diff --git a/findmy/reports/account.py b/findmy/reports/account.py index 18b3ada..4c3b10d 100644 --- a/findmy/reports/account.py +++ b/findmy/reports/account.py @@ -9,7 +9,6 @@ import logging import plistlib import uuid from abc import ABC, abstractmethod -from collections.abc import Sequence from datetime import datetime, timedelta, timezone from functools import wraps from typing import ( @@ -49,6 +48,8 @@ from .twofactor import ( ) if TYPE_CHECKING: + from collections.abc import Sequence + from findmy.accessory import RollingKeyPairSource from findmy.keys import HasHashedPublicKey from findmy.util.types import MaybeCoro diff --git a/findmy/reports/reports.py b/findmy/reports/reports.py index 7124e5b..76af893 100644 --- a/findmy/reports/reports.py +++ b/findmy/reports/reports.py @@ -303,9 +303,9 @@ class LocationReportsFetcher: res: dict[HasHashedPublicKey, list[LocationReport]] = {key: [] for key in keys} for report in reports: - for key in res: + for key, reports in res.items(): if key.hashed_adv_key_bytes == report.hashed_adv_key_bytes: - res[key].append(report) + reports.append(report) break return res diff --git a/findmy/scanner/__init__.py b/findmy/scanner/__init__.py index b2c0954..de8a0b5 100644 --- a/findmy/scanner/__init__.py +++ b/findmy/scanner/__init__.py @@ -7,7 +7,7 @@ from .scanner import ( ) __all__ = ( - "OfflineFindingScanner", "NearbyOfflineFindingDevice", + "OfflineFindingScanner", "SeparatedOfflineFindingDevice", ) diff --git a/findmy/scanner/scanner.py b/findmy/scanner/scanner.py index ca0d834..1f7af22 100644 --- a/findmy/scanner/scanner.py +++ b/findmy/scanner/scanner.py @@ -6,7 +6,6 @@ import asyncio import logging import time from abc import ABC, abstractmethod -from collections.abc import AsyncGenerator from datetime import datetime, timedelta from typing import TYPE_CHECKING, Any @@ -17,6 +16,8 @@ from findmy.accessory import RollingKeyPairSource from findmy.keys import HasPublicKey if TYPE_CHECKING: + from collections.abc import AsyncGenerator + from bleak.backends.device import BLEDevice from bleak.backends.scanner import AdvertisementData diff --git a/findmy/util/__init__.py b/findmy/util/__init__.py index 3f4b47c..f3a5e88 100644 --- a/findmy/util/__init__.py +++ b/findmy/util/__init__.py @@ -3,4 +3,4 @@ from .http import HttpResponse, HttpSession from .parsers import decode_plist -__all__ = ("HttpSession", "HttpResponse", "decode_plist") +__all__ = ("HttpResponse", "HttpSession", "decode_plist") diff --git a/pyproject.toml b/pyproject.toml index 7023ccd..8f8c478 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -53,8 +53,6 @@ select = [ "ALL", ] ignore = [ - "ANN101", # annotations on `self` - "ANN102", # annotations on `cls` "FIX002", # resolving TODOs "D203", # one blank line before class docstring From be603428b3cfd047fe71bc0c34d3211f56c27e66 Mon Sep 17 00:00:00 2001 From: Mike Almeloo Date: Thu, 20 Mar 2025 15:52:08 +0100 Subject: [PATCH 51/97] Add more projects to derivative projects section --- README.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 6f5553d..d9d3288 100644 --- a/README.md +++ b/README.md @@ -78,9 +78,11 @@ before committing it. There are several other cool projects based on this library! Some of them have been listed below, make sure to check them out as well. -* [OfflineFindRecovery](https://github.com/hajekj/OfflineFindRecovery) - Set of scripts to be able to precisely locate your lost MacBook via Apple's Offline Find through Bluetooth Low Energy. -* [SwiftFindMy](https://github.com/airy10/SwiftFindMy) - Swift port of FindMy.py -* [FindMy Home Assistant Integration](github.com/krmax44/homeassistant-findmy) +* [OfflineFindRecovery](https://github.com/hajekj/OfflineFindRecovery) - Set of scripts to precisely locate your lost MacBook. +* [SwiftFindMy](https://github.com/airy10/SwiftFindMy) - Swift port of FindMy.py. +* [FindMy Home Assistant (1)](https://github.com/malmeloo/hass-FindMy) - Home Assistant integration made by the author of FindMy.py. +* [FindMy Home Assistant (2)](github.com/krmax44/homeassistant-findmy) - Home Assistant integration made by [krmax44](https://github.com/krmax44). +* [OpenTagViewer](https://github.com/parawanderer/OpenTagViewer) - Android App to locate your AirTags. ## Credits From 89688c5a7037e05c0e3b9b1ad0bda642b54453f8 Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Tue, 8 Apr 2025 14:00:30 +0200 Subject: [PATCH 52/97] chore: Update dependencies --- pyproject.toml | 2 +- uv.lock | 970 +++++++++++++++++++++++++------------------------ 2 files changed, 498 insertions(+), 474 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 8f8c478..e624642 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,7 +18,7 @@ dependencies = [ [dependency-groups] dev = [ - "pre-commit>=3.8.0,<4.0.0", + "pre-commit>=4.0.0,<5.0.0", "pyright>=1.1.391,<2.0.0", "ruff>=0.8.4,<1.0.0", "tomli>=2.0.1,<3.0.0", diff --git a/uv.lock b/uv.lock index 0dbee71..81ffded 100644 --- a/uv.lock +++ b/uv.lock @@ -2,22 +2,22 @@ version = 1 revision = 1 requires-python = ">=3.9, <3.14" resolution-markers = [ - "python_full_version < '3.12'", "python_full_version >= '3.12'", + "python_full_version < '3.12'", ] [[package]] name = "aiohappyeyeballs" -version = "2.4.6" +version = "2.6.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/08/07/508f9ebba367fc3370162e53a3cfd12f5652ad79f0e0bfdf9f9847c6f159/aiohappyeyeballs-2.4.6.tar.gz", hash = "sha256:9b05052f9042985d32ecbe4b59a77ae19c006a78f1344d7fdad69d28ded3d0b0", size = 21726 } +sdist = { url = "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558", size = 22760 } wheels = [ - { url = "https://files.pythonhosted.org/packages/44/4c/03fb05f56551828ec67ceb3665e5dc51638042d204983a03b0a1541475b6/aiohappyeyeballs-2.4.6-py3-none-any.whl", hash = "sha256:147ec992cf873d74f5062644332c539fcd42956dc69453fe5204195e560517e1", size = 14543 }, + { url = "https://files.pythonhosted.org/packages/0f/15/5bf3b99495fb160b63f95972b81750f18f7f4e02ad051373b669d17d44f2/aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8", size = 15265 }, ] [[package]] name = "aiohttp" -version = "3.11.13" +version = "3.11.16" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "aiohappyeyeballs" }, @@ -29,88 +29,88 @@ dependencies = [ { name = "propcache" }, { name = "yarl" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b3/3f/c4a667d184c69667b8f16e0704127efc5f1e60577df429382b4d95fd381e/aiohttp-3.11.13.tar.gz", hash = "sha256:8ce789231404ca8fff7f693cdce398abf6d90fd5dae2b1847477196c243b1fbb", size = 7674284 } +sdist = { url = "https://files.pythonhosted.org/packages/f1/d9/1c4721d143e14af753f2bf5e3b681883e1f24b592c0482df6fa6e33597fa/aiohttp-3.11.16.tar.gz", hash = "sha256:16f8a2c9538c14a557b4d309ed4d0a7c60f0253e8ed7b6c9a2859a7582f8b1b8", size = 7676826 } wheels = [ - { url = "https://files.pythonhosted.org/packages/f2/49/18bde4fbe1f98a12fb548741e65b27c5f0991c1af4ad15c86b537a4ce94a/aiohttp-3.11.13-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a4fe27dbbeec445e6e1291e61d61eb212ee9fed6e47998b27de71d70d3e8777d", size = 708941 }, - { url = "https://files.pythonhosted.org/packages/99/24/417e5ab7074f5c97c9a794b6acdc59f47f2231d43e4d5cec06150035e61e/aiohttp-3.11.13-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9e64ca2dbea28807f8484c13f684a2f761e69ba2640ec49dacd342763cc265ef", size = 468823 }, - { url = "https://files.pythonhosted.org/packages/76/93/159d3a2561bc6d64d32f779d08b17570b1c5fe55b985da7e2df9b3a4ff8f/aiohttp-3.11.13-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9840be675de208d1f68f84d578eaa4d1a36eee70b16ae31ab933520c49ba1325", size = 455984 }, - { url = "https://files.pythonhosted.org/packages/18/bc/ed0dce45da90d4618ae14e677abbd704aec02e0f54820ea3815c156f0759/aiohttp-3.11.13-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28a772757c9067e2aee8a6b2b425d0efaa628c264d6416d283694c3d86da7689", size = 1585022 }, - { url = "https://files.pythonhosted.org/packages/75/10/c1e6d59030fcf04ccc253193607b5b7ced0caffd840353e109c51134e5e9/aiohttp-3.11.13-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b88aca5adbf4625e11118df45acac29616b425833c3be7a05ef63a6a4017bfdb", size = 1632761 }, - { url = "https://files.pythonhosted.org/packages/2d/8e/da1a20fbd2c961f824dc8efeb8d31c32ed4af761c87de83032ad4c4f5237/aiohttp-3.11.13-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ce10ddfbe26ed5856d6902162f71b8fe08545380570a885b4ab56aecfdcb07f4", size = 1668720 }, - { url = "https://files.pythonhosted.org/packages/fa/9e/d0bbdc82236c3fe43b28b3338a13ef9b697b0f7a875b33b950b975cab1f6/aiohttp-3.11.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa48dac27f41b36735c807d1ab093a8386701bbf00eb6b89a0f69d9fa26b3671", size = 1589941 }, - { url = "https://files.pythonhosted.org/packages/ed/14/248ed0385baeee854e495ca7f33b48bb151d1b226ddbf1585bdeb2301fbf/aiohttp-3.11.13-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:89ce611b1eac93ce2ade68f1470889e0173d606de20c85a012bfa24be96cf867", size = 1544978 }, - { url = "https://files.pythonhosted.org/packages/20/b0/b2ad9d24fe85db8330034ac45dde67799af40ca2363c0c9b30126e204ef3/aiohttp-3.11.13-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:78e4dd9c34ec7b8b121854eb5342bac8b02aa03075ae8618b6210a06bbb8a115", size = 1529641 }, - { url = "https://files.pythonhosted.org/packages/11/c6/03bdcb73a67a380b9593d52613ea88edd21ddc4ff5aaf06d4f807dfa2220/aiohttp-3.11.13-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:66047eacbc73e6fe2462b77ce39fc170ab51235caf331e735eae91c95e6a11e4", size = 1558027 }, - { url = "https://files.pythonhosted.org/packages/0d/ae/e45491c8ca4d1e30ff031fb25b44842e16c326f8467026c3eb2a9c167608/aiohttp-3.11.13-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5ad8f1c19fe277eeb8bc45741c6d60ddd11d705c12a4d8ee17546acff98e0802", size = 1536991 }, - { url = "https://files.pythonhosted.org/packages/19/89/10eb37351dd2b52928a54768a70a58171e43d7914685fe3feec8f681d905/aiohttp-3.11.13-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:64815c6f02e8506b10113ddbc6b196f58dbef135751cc7c32136df27b736db09", size = 1607848 }, - { url = "https://files.pythonhosted.org/packages/a4/fd/492dec170df6ea57bef4bcd26374befdc170b10ba9ac7f51a0214943c20a/aiohttp-3.11.13-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:967b93f21b426f23ca37329230d5bd122f25516ae2f24a9cea95a30023ff8283", size = 1629208 }, - { url = "https://files.pythonhosted.org/packages/70/46/ef8a02cb171d4779ca1632bc8ac0c5bb89729b091e2a3f4b895d688146b5/aiohttp-3.11.13-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cf1f31f83d16ec344136359001c5e871915c6ab685a3d8dee38e2961b4c81730", size = 1564684 }, - { url = "https://files.pythonhosted.org/packages/8a/03/b1b552d1112b72da94bd1f9f5efb8adbcbbafaa8d495fc0924cd80493f17/aiohttp-3.11.13-cp310-cp310-win32.whl", hash = "sha256:00c8ac69e259c60976aa2edae3f13d9991cf079aaa4d3cd5a49168ae3748dee3", size = 416982 }, - { url = "https://files.pythonhosted.org/packages/b0/2d/b6be8e7905ceba64121268ce28208bafe508a742c1467bf636a41d152284/aiohttp-3.11.13-cp310-cp310-win_amd64.whl", hash = "sha256:90d571c98d19a8b6e793b34aa4df4cee1e8fe2862d65cc49185a3a3d0a1a3996", size = 442389 }, - { url = "https://files.pythonhosted.org/packages/3b/93/8e012ae31ff1bda5d43565d6f9e0bad325ba6f3f2d78f298bd39645be8a3/aiohttp-3.11.13-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6b35aab22419ba45f8fc290d0010898de7a6ad131e468ffa3922b1b0b24e9d2e", size = 709013 }, - { url = "https://files.pythonhosted.org/packages/d8/be/fc7c436678ffe547d038319add8e44fd5e33090158752e5c480aed51a8d0/aiohttp-3.11.13-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f81cba651db8795f688c589dd11a4fbb834f2e59bbf9bb50908be36e416dc760", size = 468896 }, - { url = "https://files.pythonhosted.org/packages/d9/1c/56906111ac9d4dab4baab43c89d35d5de1dbb38085150257895005b08bef/aiohttp-3.11.13-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f55d0f242c2d1fcdf802c8fabcff25a9d85550a4cf3a9cf5f2a6b5742c992839", size = 455968 }, - { url = "https://files.pythonhosted.org/packages/ba/16/229d36ed27c2bb350320364efb56f906af194616cc15fc5d87f3ef21dbef/aiohttp-3.11.13-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4bea08a6aad9195ac9b1be6b0c7e8a702a9cec57ce6b713698b4a5afa9c2e33", size = 1686082 }, - { url = "https://files.pythonhosted.org/packages/3a/44/78fd174509c56028672e5dfef886569cfa1fced0c5fd5c4480426db19ac9/aiohttp-3.11.13-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c6070bcf2173a7146bb9e4735b3c62b2accba459a6eae44deea0eb23e0035a23", size = 1744056 }, - { url = "https://files.pythonhosted.org/packages/a3/11/325145c6dce8124b5caadbf763e908f2779c14bb0bc5868744d1e5cb9cb7/aiohttp-3.11.13-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:718d5deb678bc4b9d575bfe83a59270861417da071ab44542d0fcb6faa686636", size = 1785810 }, - { url = "https://files.pythonhosted.org/packages/95/de/faba18a0af09969e10eb89fdbd4cb968bea95e75449a7fa944d4de7d1d2f/aiohttp-3.11.13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f6b2c5b4a4d22b8fb2c92ac98e0747f5f195e8e9448bfb7404cd77e7bfa243f", size = 1675540 }, - { url = "https://files.pythonhosted.org/packages/ea/53/0437c46e960b79ae3b1ff74c1ec12f04bf4f425bd349c8807acb38aae3d7/aiohttp-3.11.13-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:747ec46290107a490d21fe1ff4183bef8022b848cf9516970cb31de6d9460088", size = 1620210 }, - { url = "https://files.pythonhosted.org/packages/04/2f/31769ed8e29cc22baaa4005bd2749a7fd0f61ad0f86024d38dff8e394cf6/aiohttp-3.11.13-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:01816f07c9cc9d80f858615b1365f8319d6a5fd079cd668cc58e15aafbc76a54", size = 1654399 }, - { url = "https://files.pythonhosted.org/packages/b0/24/acb24571815b9a86a8261577c920fd84f819178c02a75b05b1a0d7ab83fb/aiohttp-3.11.13-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:a08ad95fcbd595803e0c4280671d808eb170a64ca3f2980dd38e7a72ed8d1fea", size = 1660424 }, - { url = "https://files.pythonhosted.org/packages/91/45/30ca0c3ba5bbf7592eee7489eae30437736f7ff912eaa04cfdcf74edca8c/aiohttp-3.11.13-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:c97be90d70f7db3aa041d720bfb95f4869d6063fcdf2bb8333764d97e319b7d0", size = 1650415 }, - { url = "https://files.pythonhosted.org/packages/86/8d/4d887df5e732cc70349243c2c9784911979e7bd71c06f9e7717b8a896f75/aiohttp-3.11.13-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:ab915a57c65f7a29353c8014ac4be685c8e4a19e792a79fe133a8e101111438e", size = 1733292 }, - { url = "https://files.pythonhosted.org/packages/40/c9/bd950dac0a4c84d44d8da8d6e0f9c9511d45e02cf908a4e1fca591f46a25/aiohttp-3.11.13-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:35cda4e07f5e058a723436c4d2b7ba2124ab4e0aa49e6325aed5896507a8a42e", size = 1755536 }, - { url = "https://files.pythonhosted.org/packages/32/04/aafeda6b4ed3693a44bb89eae002ebaa74f88b2265a7e68f8a31c33330f5/aiohttp-3.11.13-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:af55314407714fe77a68a9ccaab90fdb5deb57342585fd4a3a8102b6d4370080", size = 1693126 }, - { url = "https://files.pythonhosted.org/packages/a1/4f/67729187e884b0f002a0317d2cc7962a5a0416cadc95ea88ba92477290d9/aiohttp-3.11.13-cp311-cp311-win32.whl", hash = "sha256:42d689a5c0a0c357018993e471893e939f555e302313d5c61dfc566c2cad6185", size = 416800 }, - { url = "https://files.pythonhosted.org/packages/29/23/d98d491ca073ee92cc6a741be97b6b097fb06dacc5f95c0c9350787db549/aiohttp-3.11.13-cp311-cp311-win_amd64.whl", hash = "sha256:b73a2b139782a07658fbf170fe4bcdf70fc597fae5ffe75e5b67674c27434a9f", size = 442891 }, - { url = "https://files.pythonhosted.org/packages/9a/a9/6657664a55f78db8767e396cc9723782ed3311eb57704b0a5dacfa731916/aiohttp-3.11.13-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:2eabb269dc3852537d57589b36d7f7362e57d1ece308842ef44d9830d2dc3c90", size = 705054 }, - { url = "https://files.pythonhosted.org/packages/3b/06/f7df1fe062d16422f70af5065b76264f40b382605cf7477fa70553a9c9c1/aiohttp-3.11.13-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7b77ee42addbb1c36d35aca55e8cc6d0958f8419e458bb70888d8c69a4ca833d", size = 464440 }, - { url = "https://files.pythonhosted.org/packages/22/3a/8773ea866735754004d9f79e501fe988bdd56cfac7fdecbc8de17fc093eb/aiohttp-3.11.13-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55789e93c5ed71832e7fac868167276beadf9877b85697020c46e9a75471f55f", size = 456394 }, - { url = "https://files.pythonhosted.org/packages/7f/61/8e2f2af2327e8e475a2b0890f15ef0bbfd117e321cce1e1ed210df81bbac/aiohttp-3.11.13-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c929f9a7249a11e4aa5c157091cfad7f49cc6b13f4eecf9b747104befd9f56f2", size = 1682752 }, - { url = "https://files.pythonhosted.org/packages/24/ed/84fce816bc8da39aa3f6c1196fe26e47065fea882b1a67a808282029c079/aiohttp-3.11.13-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d33851d85537bbf0f6291ddc97926a754c8f041af759e0aa0230fe939168852b", size = 1737375 }, - { url = "https://files.pythonhosted.org/packages/d9/de/35a5ba9e3d21ebfda1ebbe66f6cc5cbb4d3ff9bd6a03e5e8a788954f8f27/aiohttp-3.11.13-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9229d8613bd8401182868fe95688f7581673e1c18ff78855671a4b8284f47bcb", size = 1793660 }, - { url = "https://files.pythonhosted.org/packages/ff/fe/0f650a8c7c72c8a07edf8ab164786f936668acd71786dd5885fc4b1ca563/aiohttp-3.11.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:669dd33f028e54fe4c96576f406ebb242ba534dd3a981ce009961bf49960f117", size = 1692233 }, - { url = "https://files.pythonhosted.org/packages/a8/20/185378b3483f968c6303aafe1e33b0da0d902db40731b2b2b2680a631131/aiohttp-3.11.13-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c1b20a1ace54af7db1f95af85da530fe97407d9063b7aaf9ce6a32f44730778", size = 1619708 }, - { url = "https://files.pythonhosted.org/packages/a4/f9/d9c181750980b17e1e13e522d7e82a8d08d3d28a2249f99207ef5d8d738f/aiohttp-3.11.13-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5724cc77f4e648362ebbb49bdecb9e2b86d9b172c68a295263fa072e679ee69d", size = 1641802 }, - { url = "https://files.pythonhosted.org/packages/50/c7/1cb46b72b1788710343b6e59eaab9642bd2422f2d87ede18b1996e0aed8f/aiohttp-3.11.13-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:aa36c35e94ecdb478246dd60db12aba57cfcd0abcad43c927a8876f25734d496", size = 1684678 }, - { url = "https://files.pythonhosted.org/packages/71/87/89b979391de840c5d7c34e78e1148cc731b8aafa84b6a51d02f44b4c66e2/aiohttp-3.11.13-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9b5b37c863ad5b0892cc7a4ceb1e435e5e6acd3f2f8d3e11fa56f08d3c67b820", size = 1646921 }, - { url = "https://files.pythonhosted.org/packages/a7/db/a463700ac85b72f8cf68093e988538faaf4e865e3150aa165cf80ee29d6e/aiohttp-3.11.13-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:e06cf4852ce8c4442a59bae5a3ea01162b8fcb49ab438d8548b8dc79375dad8a", size = 1702493 }, - { url = "https://files.pythonhosted.org/packages/b8/32/1084e65da3adfb08c7e1b3e94f3e4ded8bd707dee265a412bc377b7cd000/aiohttp-3.11.13-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5194143927e494616e335d074e77a5dac7cd353a04755330c9adc984ac5a628e", size = 1735004 }, - { url = "https://files.pythonhosted.org/packages/a0/bb/a634cbdd97ce5d05c2054a9a35bfc32792d7e4f69d600ad7e820571d095b/aiohttp-3.11.13-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:afcb6b275c2d2ba5d8418bf30a9654fa978b4f819c2e8db6311b3525c86fe637", size = 1694964 }, - { url = "https://files.pythonhosted.org/packages/fd/cf/7d29db4e5c28ec316e5d2ac9ac9df0e2e278e9ea910e5c4205b9b64c2c42/aiohttp-3.11.13-cp312-cp312-win32.whl", hash = "sha256:7104d5b3943c6351d1ad7027d90bdd0ea002903e9f610735ac99df3b81f102ee", size = 411746 }, - { url = "https://files.pythonhosted.org/packages/65/a9/13e69ad4fd62104ebd94617f9f2be58231b50bb1e6bac114f024303ac23b/aiohttp-3.11.13-cp312-cp312-win_amd64.whl", hash = "sha256:47dc018b1b220c48089b5b9382fbab94db35bef2fa192995be22cbad3c5730c8", size = 438078 }, - { url = "https://files.pythonhosted.org/packages/87/dc/7d58d33cec693f1ddf407d4ab975445f5cb507af95600f137b81683a18d8/aiohttp-3.11.13-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:9862d077b9ffa015dbe3ce6c081bdf35135948cb89116e26667dd183550833d1", size = 698372 }, - { url = "https://files.pythonhosted.org/packages/84/e7/5d88514c9e24fbc8dd6117350a8ec4a9314f4adae6e89fe32e3e639b0c37/aiohttp-3.11.13-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:fbfef0666ae9e07abfa2c54c212ac18a1f63e13e0760a769f70b5717742f3ece", size = 461057 }, - { url = "https://files.pythonhosted.org/packages/96/1a/8143c48a929fa00c6324f85660cb0f47a55ed9385f0c1b72d4b8043acf8e/aiohttp-3.11.13-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:93a1f7d857c4fcf7cabb1178058182c789b30d85de379e04f64c15b7e88d66fb", size = 453340 }, - { url = "https://files.pythonhosted.org/packages/2f/1c/b8010e4d65c5860d62681088e5376f3c0a940c5e3ca8989cae36ce8c3ea8/aiohttp-3.11.13-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba40b7ae0f81c7029583a338853f6607b6d83a341a3dcde8bed1ea58a3af1df9", size = 1665561 }, - { url = "https://files.pythonhosted.org/packages/19/ed/a68c3ab2f92fdc17dfc2096117d1cfaa7f7bdded2a57bacbf767b104165b/aiohttp-3.11.13-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b5b95787335c483cd5f29577f42bbe027a412c5431f2f80a749c80d040f7ca9f", size = 1718335 }, - { url = "https://files.pythonhosted.org/packages/27/4f/3a0b6160ce663b8ebdb65d1eedff60900cd7108838c914d25952fe2b909f/aiohttp-3.11.13-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a7d474c5c1f0b9405c1565fafdc4429fa7d986ccbec7ce55bc6a330f36409cad", size = 1775522 }, - { url = "https://files.pythonhosted.org/packages/0b/58/9da09291e19696c452e7224c1ce8c6d23a291fe8cd5c6b247b51bcda07db/aiohttp-3.11.13-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e83fb1991e9d8982b3b36aea1e7ad27ea0ce18c14d054c7a404d68b0319eebb", size = 1677566 }, - { url = "https://files.pythonhosted.org/packages/3d/18/6184f2bf8bbe397acbbbaa449937d61c20a6b85765f48e5eddc6d84957fe/aiohttp-3.11.13-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4586a68730bd2f2b04a83e83f79d271d8ed13763f64b75920f18a3a677b9a7f0", size = 1603590 }, - { url = "https://files.pythonhosted.org/packages/04/94/91e0d1ca0793012ccd927e835540aa38cca98bdce2389256ab813ebd64a3/aiohttp-3.11.13-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9fe4eb0e7f50cdb99b26250d9328faef30b1175a5dbcfd6d0578d18456bac567", size = 1618688 }, - { url = "https://files.pythonhosted.org/packages/71/85/d13c3ea2e48a10b43668305d4903838834c3d4112e5229177fbcc23a56cd/aiohttp-3.11.13-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:2a8a6bc19818ac3e5596310ace5aa50d918e1ebdcc204dc96e2f4d505d51740c", size = 1658053 }, - { url = "https://files.pythonhosted.org/packages/12/6a/3242a35100de23c1e8d9e05e8605e10f34268dee91b00d9d1e278c58eb80/aiohttp-3.11.13-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:7f27eec42f6c3c1df09cfc1f6786308f8b525b8efaaf6d6bd76c1f52c6511f6a", size = 1616917 }, - { url = "https://files.pythonhosted.org/packages/f5/b3/3f99b6f0a9a79590a7ba5655dbde8408c685aa462247378c977603464d0a/aiohttp-3.11.13-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:2a4a13dfbb23977a51853b419141cd0a9b9573ab8d3a1455c6e63561387b52ff", size = 1685872 }, - { url = "https://files.pythonhosted.org/packages/8a/2e/99672181751f280a85e24fcb9a2c2469e8b1a0de1746b7b5c45d1eb9a999/aiohttp-3.11.13-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:02876bf2f69b062584965507b07bc06903c2dc93c57a554b64e012d636952654", size = 1715719 }, - { url = "https://files.pythonhosted.org/packages/7a/cd/68030356eb9a7d57b3e2823c8a852709d437abb0fbff41a61ebc351b7625/aiohttp-3.11.13-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b992778d95b60a21c4d8d4a5f15aaab2bd3c3e16466a72d7f9bfd86e8cea0d4b", size = 1673166 }, - { url = "https://files.pythonhosted.org/packages/03/61/425397a9a2839c609d09fdb53d940472f316a2dbeaa77a35b2628dae6284/aiohttp-3.11.13-cp313-cp313-win32.whl", hash = "sha256:507ab05d90586dacb4f26a001c3abf912eb719d05635cbfad930bdbeb469b36c", size = 410615 }, - { url = "https://files.pythonhosted.org/packages/9c/54/ebb815bc0fe057d8e7a11c086c479e972e827082f39aeebc6019dd4f0862/aiohttp-3.11.13-cp313-cp313-win_amd64.whl", hash = "sha256:5ceb81a4db2decdfa087381b5fc5847aa448244f973e5da232610304e199e7b2", size = 436452 }, - { url = "https://files.pythonhosted.org/packages/86/88/c80c0972d35cdce2a62905a2053fc483685bf5f3930f1ab269ec006e1e98/aiohttp-3.11.13-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:51c3ff9c7a25f3cad5c09d9aacbc5aefb9267167c4652c1eb737989b554fe278", size = 709814 }, - { url = "https://files.pythonhosted.org/packages/ca/e6/d7ee65a814615fb6de79d124bb72be4e84f9d68485751c5279994554f061/aiohttp-3.11.13-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e271beb2b1dabec5cd84eb488bdabf9758d22ad13471e9c356be07ad139b3012", size = 469313 }, - { url = "https://files.pythonhosted.org/packages/8c/ab/d6257596cad471675419673d53f6e409d9eb7acfa7e36dfb77e8b65504b3/aiohttp-3.11.13-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0e9eb7e5764abcb49f0e2bd8f5731849b8728efbf26d0cac8e81384c95acec3f", size = 456376 }, - { url = "https://files.pythonhosted.org/packages/1d/d5/ab9ad5242c7920e224cbdc1c9bec62a79f75884049ccb86edb64225e4c0f/aiohttp-3.11.13-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:baae005092e3f200de02699314ac8933ec20abf998ec0be39448f6605bce93df", size = 1587792 }, - { url = "https://files.pythonhosted.org/packages/23/01/ef79aeb337702bbfd034b1d1a6357dca4a270ebe2b0ff80bb8ba90851ea0/aiohttp-3.11.13-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1982c98ac62c132d2b773d50e2fcc941eb0b8bad3ec078ce7e7877c4d5a2dce7", size = 1636636 }, - { url = "https://files.pythonhosted.org/packages/a6/ff/3bc33d6ab85046ecc3319817c1f473061cd97caba5a1cd154be181ab56ab/aiohttp-3.11.13-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d2b25b2eeb35707113b2d570cadc7c612a57f1c5d3e7bb2b13870fe284e08fc0", size = 1672707 }, - { url = "https://files.pythonhosted.org/packages/f4/fd/2d1934d22b89de0d6b9dbb30c310996e440fffc08f95b083d91b6a7916c1/aiohttp-3.11.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b27961d65639128336b7a7c3f0046dcc62a9443d5ef962e3c84170ac620cec47", size = 1589919 }, - { url = "https://files.pythonhosted.org/packages/35/01/b13fe945b056a910fe98f659e6533b4a9e7f08f414f6c5447a9726df81e0/aiohttp-3.11.13-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a01fe9f1e05025eacdd97590895e2737b9f851d0eb2e017ae9574d9a4f0b6252", size = 1544444 }, - { url = "https://files.pythonhosted.org/packages/73/9b/26da500b8de48a88b287936fae66d4f52306daedc6b6a273e97f479db685/aiohttp-3.11.13-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:fa1fb1b61881c8405829c50e9cc5c875bfdbf685edf57a76817dfb50643e4a1a", size = 1530616 }, - { url = "https://files.pythonhosted.org/packages/fc/27/5d1636c675f4f5ad0a8a68874d78fe6049041274d4d5da682f4ffee78097/aiohttp-3.11.13-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:25de43bb3cf83ad83efc8295af7310219af6dbe4c543c2e74988d8e9c8a2a917", size = 1559227 }, - { url = "https://files.pythonhosted.org/packages/32/cc/3ae7e23762b28fa9f794d89fde21111c5af85a2ec081a15812c312febfa7/aiohttp-3.11.13-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:fe7065e2215e4bba63dc00db9ae654c1ba3950a5fff691475a32f511142fcddb", size = 1536468 }, - { url = "https://files.pythonhosted.org/packages/cc/96/4ad817e79b0a3cc5089b818fccaf724d7d179f5840bc43fa538a2506f396/aiohttp-3.11.13-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:7836587eef675a17d835ec3d98a8c9acdbeb2c1d72b0556f0edf4e855a25e9c1", size = 1607310 }, - { url = "https://files.pythonhosted.org/packages/3f/f3/c7e502478b8a181a85ac1524a6755dbb41959ee82edb681981733dcac87e/aiohttp-3.11.13-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:85fa0b18558eb1427090912bd456a01f71edab0872f4e0f9e4285571941e4090", size = 1629492 }, - { url = "https://files.pythonhosted.org/packages/3a/bb/0629e93af6317b277285a472d8e7aa92fa4e654dca00cf70f89f1788bd89/aiohttp-3.11.13-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a86dc177eb4c286c19d1823ac296299f59ed8106c9536d2b559f65836e0fb2c6", size = 1567741 }, - { url = "https://files.pythonhosted.org/packages/fc/40/427dafa3664413d29c5b3546aaacafb33e7725b1f6e15ce54cb857183c7b/aiohttp-3.11.13-cp39-cp39-win32.whl", hash = "sha256:684eea71ab6e8ade86b9021bb62af4bf0881f6be4e926b6b5455de74e420783a", size = 417303 }, - { url = "https://files.pythonhosted.org/packages/ca/a1/c7c0cdccbad4678dfb51f4d4f22dc6aacf8e3cdd6b99071170246106c364/aiohttp-3.11.13-cp39-cp39-win_amd64.whl", hash = "sha256:82c249f2bfa5ecbe4a1a7902c81c0fba52ed9ebd0176ab3047395d02ad96cfcb", size = 442608 }, + { url = "https://files.pythonhosted.org/packages/b8/21/6bd4cb580a323b64cda3b11fcb3f68deba77568e97806727a858de57349d/aiohttp-3.11.16-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:fb46bb0f24813e6cede6cc07b1961d4b04f331f7112a23b5e21f567da4ee50aa", size = 708259 }, + { url = "https://files.pythonhosted.org/packages/96/8c/7b4b9debe90ffc31931b85ee8612a5c83f34d8fdc6d90ee3eb27b43639e4/aiohttp-3.11.16-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:54eb3aead72a5c19fad07219acd882c1643a1027fbcdefac9b502c267242f955", size = 468886 }, + { url = "https://files.pythonhosted.org/packages/13/da/a7fcd68e62acacf0a1930060afd2c970826f989265893082b6fb9eb25cb5/aiohttp-3.11.16-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:38bea84ee4fe24ebcc8edeb7b54bf20f06fd53ce4d2cc8b74344c5b9620597fd", size = 455846 }, + { url = "https://files.pythonhosted.org/packages/5d/12/b73d9423253f4c872d276a3771decb0722cb5f962352593bd617445977ba/aiohttp-3.11.16-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d0666afbe984f6933fe72cd1f1c3560d8c55880a0bdd728ad774006eb4241ecd", size = 1587183 }, + { url = "https://files.pythonhosted.org/packages/75/d3/291b57d54719d996e6cb8c1db8b13d01bdb24dca90434815ac7e6a70393f/aiohttp-3.11.16-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ba92a2d9ace559a0a14b03d87f47e021e4fa7681dc6970ebbc7b447c7d4b7cd", size = 1634937 }, + { url = "https://files.pythonhosted.org/packages/be/85/4229eba92b433173065b0b459ab677ca11ead4a179f76ccfe55d8738b188/aiohttp-3.11.16-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3ad1d59fd7114e6a08c4814983bb498f391c699f3c78712770077518cae63ff7", size = 1667980 }, + { url = "https://files.pythonhosted.org/packages/2b/0d/d2423936962e3c711fafd5bb9172a99e6b07dd63e086515aa957d8a991fd/aiohttp-3.11.16-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98b88a2bf26965f2015a771381624dd4b0839034b70d406dc74fd8be4cc053e3", size = 1590365 }, + { url = "https://files.pythonhosted.org/packages/ea/93/04209affc20834982c1ef4214b1afc07743667998a9975d69413e9c1e1c1/aiohttp-3.11.16-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:576f5ca28d1b3276026f7df3ec841ae460e0fc3aac2a47cbf72eabcfc0f102e1", size = 1547614 }, + { url = "https://files.pythonhosted.org/packages/f6/fb/194ad4e4cae98023ae19556e576347f402ce159e80d74cc0713d460c4a39/aiohttp-3.11.16-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a2a450bcce4931b295fc0848f384834c3f9b00edfc2150baafb4488c27953de6", size = 1532815 }, + { url = "https://files.pythonhosted.org/packages/33/6d/a4da7adbac90188bf1228c73b6768a607dd279c146721a9ff7dcb75c5ac6/aiohttp-3.11.16-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:37dcee4906454ae377be5937ab2a66a9a88377b11dd7c072df7a7c142b63c37c", size = 1559005 }, + { url = "https://files.pythonhosted.org/packages/7e/88/2fa9fbfd23fc16cb2cfdd1f290343e085e7e327438041e9c6aa0208a854d/aiohttp-3.11.16-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:4d0c970c0d602b1017e2067ff3b7dac41c98fef4f7472ec2ea26fd8a4e8c2149", size = 1535231 }, + { url = "https://files.pythonhosted.org/packages/f5/8f/9623cd2558e3e182d02dcda8b480643e1c48a0550a86e3050210e98dba27/aiohttp-3.11.16-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:004511d3413737700835e949433536a2fe95a7d0297edd911a1e9705c5b5ea43", size = 1609985 }, + { url = "https://files.pythonhosted.org/packages/f8/a2/53a8d1bfc67130710f1c8091f623cdefe7f85cd5d09e14637ed2ed6e1a6d/aiohttp-3.11.16-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:c15b2271c44da77ee9d822552201180779e5e942f3a71fb74e026bf6172ff287", size = 1628842 }, + { url = "https://files.pythonhosted.org/packages/49/3a/35fb43d07489573c6c1f8c6a3e6c657196124a63223705b7feeddaea06f1/aiohttp-3.11.16-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ad9509ffb2396483ceacb1eee9134724443ee45b92141105a4645857244aecc8", size = 1566929 }, + { url = "https://files.pythonhosted.org/packages/d5/82/bb3f4f2cc7677e790ba4c040db7dd8445c234a810ef893a858e217647d38/aiohttp-3.11.16-cp310-cp310-win32.whl", hash = "sha256:634d96869be6c4dc232fc503e03e40c42d32cfaa51712aee181e922e61d74814", size = 416935 }, + { url = "https://files.pythonhosted.org/packages/df/ad/a64db1c18063569d6dff474c46a7d4de7ab85ff55e2a35839b149b1850ea/aiohttp-3.11.16-cp310-cp310-win_amd64.whl", hash = "sha256:938f756c2b9374bbcc262a37eea521d8a0e6458162f2a9c26329cc87fdf06534", size = 442168 }, + { url = "https://files.pythonhosted.org/packages/b1/98/be30539cd84260d9f3ea1936d50445e25aa6029a4cb9707f3b64cfd710f7/aiohttp-3.11.16-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8cb0688a8d81c63d716e867d59a9ccc389e97ac7037ebef904c2b89334407180", size = 708664 }, + { url = "https://files.pythonhosted.org/packages/e6/27/d51116ce18bdfdea7a2244b55ad38d7b01a4298af55765eed7e8431f013d/aiohttp-3.11.16-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0ad1fb47da60ae1ddfb316f0ff16d1f3b8e844d1a1e154641928ea0583d486ed", size = 468953 }, + { url = "https://files.pythonhosted.org/packages/34/23/eedf80ec42865ea5355b46265a2433134138eff9a4fea17e1348530fa4ae/aiohttp-3.11.16-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:df7db76400bf46ec6a0a73192b14c8295bdb9812053f4fe53f4e789f3ea66bbb", size = 456065 }, + { url = "https://files.pythonhosted.org/packages/36/23/4a5b1ef6cff994936bf96d981dd817b487d9db755457a0d1c2939920d620/aiohttp-3.11.16-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc3a145479a76ad0ed646434d09216d33d08eef0d8c9a11f5ae5cdc37caa3540", size = 1687976 }, + { url = "https://files.pythonhosted.org/packages/d0/5d/c7474b4c3069bb35276d54c82997dff4f7575e4b73f0a7b1b08a39ece1eb/aiohttp-3.11.16-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d007aa39a52d62373bd23428ba4a2546eed0e7643d7bf2e41ddcefd54519842c", size = 1752711 }, + { url = "https://files.pythonhosted.org/packages/64/4c/ee416987b6729558f2eb1b727c60196580aafdb141e83bd78bb031d1c000/aiohttp-3.11.16-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6ddd90d9fb4b501c97a4458f1c1720e42432c26cb76d28177c5b5ad4e332601", size = 1791305 }, + { url = "https://files.pythonhosted.org/packages/58/28/3e1e1884070b95f1f69c473a1995852a6f8516670bb1c29d6cb2dbb73e1c/aiohttp-3.11.16-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a2f451849e6b39e5c226803dcacfa9c7133e9825dcefd2f4e837a2ec5a3bb98", size = 1674499 }, + { url = "https://files.pythonhosted.org/packages/ad/55/a032b32fa80a662d25d9eb170ed1e2c2be239304ca114ec66c89dc40f37f/aiohttp-3.11.16-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8df6612df74409080575dca38a5237282865408016e65636a76a2eb9348c2567", size = 1622313 }, + { url = "https://files.pythonhosted.org/packages/b1/df/ca775605f72abbda4e4746e793c408c84373ca2c6ce7a106a09f853f1e89/aiohttp-3.11.16-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:78e6e23b954644737e385befa0deb20233e2dfddf95dd11e9db752bdd2a294d3", size = 1658274 }, + { url = "https://files.pythonhosted.org/packages/cc/6c/21c45b66124df5b4b0ab638271ecd8c6402b702977120cb4d5be6408e15d/aiohttp-3.11.16-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:696ef00e8a1f0cec5e30640e64eca75d8e777933d1438f4facc9c0cdf288a810", size = 1666704 }, + { url = "https://files.pythonhosted.org/packages/1d/e2/7d92adc03e3458edd18a21da2575ab84e58f16b1672ae98529e4eeee45ab/aiohttp-3.11.16-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e3538bc9fe1b902bef51372462e3d7c96fce2b566642512138a480b7adc9d508", size = 1652815 }, + { url = "https://files.pythonhosted.org/packages/3a/52/7549573cd654ad651e3c5786ec3946d8f0ee379023e22deb503ff856b16c/aiohttp-3.11.16-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:3ab3367bb7f61ad18793fea2ef71f2d181c528c87948638366bf1de26e239183", size = 1735669 }, + { url = "https://files.pythonhosted.org/packages/d5/54/dcd24a23c7a5a2922123e07a296a5f79ea87ce605f531be068415c326de6/aiohttp-3.11.16-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:56a3443aca82abda0e07be2e1ecb76a050714faf2be84256dae291182ba59049", size = 1760422 }, + { url = "https://files.pythonhosted.org/packages/a7/53/87327fe982fa310944e1450e97bf7b2a28015263771931372a1dfe682c58/aiohttp-3.11.16-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:61c721764e41af907c9d16b6daa05a458f066015abd35923051be8705108ed17", size = 1694457 }, + { url = "https://files.pythonhosted.org/packages/ce/6d/c5ccf41059267bcf89853d3db9d8d217dacf0a04f4086cb6bf278323011f/aiohttp-3.11.16-cp311-cp311-win32.whl", hash = "sha256:3e061b09f6fa42997cf627307f220315e313ece74907d35776ec4373ed718b86", size = 416817 }, + { url = "https://files.pythonhosted.org/packages/e7/dd/01f6fe028e054ef4f909c9d63e3a2399e77021bb2e1bb51d56ca8b543989/aiohttp-3.11.16-cp311-cp311-win_amd64.whl", hash = "sha256:745f1ed5e2c687baefc3c5e7b4304e91bf3e2f32834d07baaee243e349624b24", size = 442986 }, + { url = "https://files.pythonhosted.org/packages/db/38/100d01cbc60553743baf0fba658cb125f8ad674a8a771f765cdc155a890d/aiohttp-3.11.16-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:911a6e91d08bb2c72938bc17f0a2d97864c531536b7832abee6429d5296e5b27", size = 704881 }, + { url = "https://files.pythonhosted.org/packages/21/ed/b4102bb6245e36591209e29f03fe87e7956e54cb604ee12e20f7eb47f994/aiohttp-3.11.16-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6ac13b71761e49d5f9e4d05d33683bbafef753e876e8e5a7ef26e937dd766713", size = 464564 }, + { url = "https://files.pythonhosted.org/packages/3b/e1/a9ab6c47b62ecee080eeb33acd5352b40ecad08fb2d0779bcc6739271745/aiohttp-3.11.16-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fd36c119c5d6551bce374fcb5c19269638f8d09862445f85a5a48596fd59f4bb", size = 456548 }, + { url = "https://files.pythonhosted.org/packages/80/ad/216c6f71bdff2becce6c8776f0aa32cb0fa5d83008d13b49c3208d2e4016/aiohttp-3.11.16-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d489d9778522fbd0f8d6a5c6e48e3514f11be81cb0a5954bdda06f7e1594b321", size = 1691749 }, + { url = "https://files.pythonhosted.org/packages/bd/ea/7df7bcd3f4e734301605f686ffc87993f2d51b7acb6bcc9b980af223f297/aiohttp-3.11.16-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:69a2cbd61788d26f8f1e626e188044834f37f6ae3f937bd9f08b65fc9d7e514e", size = 1736874 }, + { url = "https://files.pythonhosted.org/packages/51/41/c7724b9c87a29b7cfd1202ec6446bae8524a751473d25e2ff438bc9a02bf/aiohttp-3.11.16-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd464ba806e27ee24a91362ba3621bfc39dbbb8b79f2e1340201615197370f7c", size = 1786885 }, + { url = "https://files.pythonhosted.org/packages/86/b3/f61f8492fa6569fa87927ad35a40c159408862f7e8e70deaaead349e2fba/aiohttp-3.11.16-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ce63ae04719513dd2651202352a2beb9f67f55cb8490c40f056cea3c5c355ce", size = 1698059 }, + { url = "https://files.pythonhosted.org/packages/ce/be/7097cf860a9ce8bbb0e8960704e12869e111abcd3fbd245153373079ccec/aiohttp-3.11.16-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09b00dd520d88eac9d1768439a59ab3d145065c91a8fab97f900d1b5f802895e", size = 1626527 }, + { url = "https://files.pythonhosted.org/packages/1d/1d/aaa841c340e8c143a8d53a1f644c2a2961c58cfa26e7b398d6bf75cf5d23/aiohttp-3.11.16-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7f6428fee52d2bcf96a8aa7b62095b190ee341ab0e6b1bcf50c615d7966fd45b", size = 1644036 }, + { url = "https://files.pythonhosted.org/packages/2c/88/59d870f76e9345e2b149f158074e78db457985c2b4da713038d9da3020a8/aiohttp-3.11.16-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:13ceac2c5cdcc3f64b9015710221ddf81c900c5febc505dbd8f810e770011540", size = 1685270 }, + { url = "https://files.pythonhosted.org/packages/2b/b1/c6686948d4c79c3745595efc469a9f8a43cab3c7efc0b5991be65d9e8cb8/aiohttp-3.11.16-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:fadbb8f1d4140825069db3fedbbb843290fd5f5bc0a5dbd7eaf81d91bf1b003b", size = 1650852 }, + { url = "https://files.pythonhosted.org/packages/fe/94/3e42a6916fd3441721941e0f1b8438e1ce2a4c49af0e28e0d3c950c9b3c9/aiohttp-3.11.16-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:6a792ce34b999fbe04a7a71a90c74f10c57ae4c51f65461a411faa70e154154e", size = 1704481 }, + { url = "https://files.pythonhosted.org/packages/b1/6d/6ab5854ff59b27075c7a8c610597d2b6c38945f9a1284ee8758bc3720ff6/aiohttp-3.11.16-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:f4065145bf69de124accdd17ea5f4dc770da0a6a6e440c53f6e0a8c27b3e635c", size = 1735370 }, + { url = "https://files.pythonhosted.org/packages/73/2a/08a68eec3c99a6659067d271d7553e4d490a0828d588e1daa3970dc2b771/aiohttp-3.11.16-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fa73e8c2656a3653ae6c307b3f4e878a21f87859a9afab228280ddccd7369d71", size = 1697619 }, + { url = "https://files.pythonhosted.org/packages/61/d5/fea8dbbfb0cd68fbb56f0ae913270a79422d9a41da442a624febf72d2aaf/aiohttp-3.11.16-cp312-cp312-win32.whl", hash = "sha256:f244b8e541f414664889e2c87cac11a07b918cb4b540c36f7ada7bfa76571ea2", size = 411710 }, + { url = "https://files.pythonhosted.org/packages/33/fb/41cde15fbe51365024550bf77b95a4fc84ef41365705c946da0421f0e1e0/aiohttp-3.11.16-cp312-cp312-win_amd64.whl", hash = "sha256:23a15727fbfccab973343b6d1b7181bfb0b4aa7ae280f36fd2f90f5476805682", size = 438012 }, + { url = "https://files.pythonhosted.org/packages/52/52/7c712b2d9fb4d5e5fd6d12f9ab76e52baddfee71e3c8203ca7a7559d7f51/aiohttp-3.11.16-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a3814760a1a700f3cfd2f977249f1032301d0a12c92aba74605cfa6ce9f78489", size = 698005 }, + { url = "https://files.pythonhosted.org/packages/51/3e/61057814f7247666d43ac538abcd6335b022869ade2602dab9bf33f607d2/aiohttp-3.11.16-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9b751a6306f330801665ae69270a8a3993654a85569b3469662efaad6cf5cc50", size = 461106 }, + { url = "https://files.pythonhosted.org/packages/4f/85/6b79fb0ea6e913d596d5b949edc2402b20803f51b1a59e1bbc5bb7ba7569/aiohttp-3.11.16-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ad497f38a0d6c329cb621774788583ee12321863cd4bd9feee1effd60f2ad133", size = 453394 }, + { url = "https://files.pythonhosted.org/packages/4b/04/e1bb3fcfbd2c26753932c759593a32299aff8625eaa0bf8ff7d9c0c34a36/aiohttp-3.11.16-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca37057625693d097543bd88076ceebeb248291df9d6ca8481349efc0b05dcd0", size = 1666643 }, + { url = "https://files.pythonhosted.org/packages/0e/27/97bc0fdd1f439b8f060beb3ba8fb47b908dc170280090801158381ad7942/aiohttp-3.11.16-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a5abcbba9f4b463a45c8ca8b7720891200658f6f46894f79517e6cd11f3405ca", size = 1721948 }, + { url = "https://files.pythonhosted.org/packages/2c/4f/bc4c5119e75c05ef15c5670ef1563bbe25d4ed4893b76c57b0184d815e8b/aiohttp-3.11.16-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f420bfe862fb357a6d76f2065447ef6f484bc489292ac91e29bc65d2d7a2c84d", size = 1774454 }, + { url = "https://files.pythonhosted.org/packages/73/5b/54b42b2150bb26fdf795464aa55ceb1a49c85f84e98e6896d211eabc6670/aiohttp-3.11.16-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58ede86453a6cf2d6ce40ef0ca15481677a66950e73b0a788917916f7e35a0bb", size = 1677785 }, + { url = "https://files.pythonhosted.org/packages/10/ee/a0fe68916d3f82eae199b8535624cf07a9c0a0958c7a76e56dd21140487a/aiohttp-3.11.16-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6fdec0213244c39973674ca2a7f5435bf74369e7d4e104d6c7473c81c9bcc8c4", size = 1608456 }, + { url = "https://files.pythonhosted.org/packages/8b/48/83afd779242b7cf7e1ceed2ff624a86d3221e17798061cf9a79e0b246077/aiohttp-3.11.16-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:72b1b03fb4655c1960403c131740755ec19c5898c82abd3961c364c2afd59fe7", size = 1622424 }, + { url = "https://files.pythonhosted.org/packages/6f/27/452f1d5fca1f516f9f731539b7f5faa9e9d3bf8a3a6c3cd7c4b031f20cbd/aiohttp-3.11.16-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:780df0d837276276226a1ff803f8d0fa5f8996c479aeef52eb040179f3156cbd", size = 1660943 }, + { url = "https://files.pythonhosted.org/packages/d6/e1/5c7d63143b8d00c83b958b9e78e7048c4a69903c760c1e329bf02bac57a1/aiohttp-3.11.16-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ecdb8173e6c7aa09eee342ac62e193e6904923bd232e76b4157ac0bfa670609f", size = 1622797 }, + { url = "https://files.pythonhosted.org/packages/46/9e/2ac29cca2746ee8e449e73cd2fcb3d454467393ec03a269d50e49af743f1/aiohttp-3.11.16-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:a6db7458ab89c7d80bc1f4e930cc9df6edee2200127cfa6f6e080cf619eddfbd", size = 1687162 }, + { url = "https://files.pythonhosted.org/packages/ad/6b/eaa6768e02edebaf37d77f4ffb74dd55f5cbcbb6a0dbf798ccec7b0ac23b/aiohttp-3.11.16-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:2540ddc83cc724b13d1838026f6a5ad178510953302a49e6d647f6e1de82bc34", size = 1718518 }, + { url = "https://files.pythonhosted.org/packages/e5/18/dda87cbad29472a51fa058d6d8257dfce168289adaeb358b86bd93af3b20/aiohttp-3.11.16-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3b4e6db8dc4879015b9955778cfb9881897339c8fab7b3676f8433f849425913", size = 1675254 }, + { url = "https://files.pythonhosted.org/packages/32/d9/d2fb08c614df401d92c12fcbc60e6e879608d5e8909ef75c5ad8d4ad8aa7/aiohttp-3.11.16-cp313-cp313-win32.whl", hash = "sha256:493910ceb2764f792db4dc6e8e4b375dae1b08f72e18e8f10f18b34ca17d0979", size = 410698 }, + { url = "https://files.pythonhosted.org/packages/ce/ed/853e36d5a33c24544cfa46585895547de152dfef0b5c79fa675f6e4b7b87/aiohttp-3.11.16-cp313-cp313-win_amd64.whl", hash = "sha256:42864e70a248f5f6a49fdaf417d9bc62d6e4d8ee9695b24c5916cb4bb666c802", size = 436395 }, + { url = "https://files.pythonhosted.org/packages/4b/6e/a423a6fd07e651f6078da862128031cff2f333e995f5efe30bb110c97041/aiohttp-3.11.16-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bbcba75fe879ad6fd2e0d6a8d937f34a571f116a0e4db37df8079e738ea95c71", size = 709172 }, + { url = "https://files.pythonhosted.org/packages/bf/8d/925f3c893523118e5dc729d340df2283d68e7adfa77192908ae63f1ec904/aiohttp-3.11.16-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:87a6e922b2b2401e0b0cf6b976b97f11ec7f136bfed445e16384fbf6fd5e8602", size = 469390 }, + { url = "https://files.pythonhosted.org/packages/49/57/8a27b793480887bd23288364138c9db2f58cd3cff28945809aa062d019dc/aiohttp-3.11.16-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ccf10f16ab498d20e28bc2b5c1306e9c1512f2840f7b6a67000a517a4b37d5ee", size = 456246 }, + { url = "https://files.pythonhosted.org/packages/e8/e5/e8114c5b1336357089cacf5a4ff298335429f0a0e75dea3ffefd3d4d82e5/aiohttp-3.11.16-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb3d0cc5cdb926090748ea60172fa8a213cec728bd6c54eae18b96040fcd6227", size = 1590764 }, + { url = "https://files.pythonhosted.org/packages/db/49/ec13c0ad70c4843169111265c47dd568437be354aea4ac732dc6f2e79842/aiohttp-3.11.16-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d07502cc14ecd64f52b2a74ebbc106893d9a9717120057ea9ea1fd6568a747e7", size = 1638375 }, + { url = "https://files.pythonhosted.org/packages/0f/0d/78a64579b054fa3c0e72083912d4410f5514dc0cd03bef5644d4f1e4e6ed/aiohttp-3.11.16-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:776c8e959a01e5e8321f1dec77964cb6101020a69d5a94cd3d34db6d555e01f7", size = 1672027 }, + { url = "https://files.pythonhosted.org/packages/54/11/06602ab3446fe96519998b79c762cf0921b620e702bd7659a5e8b998d0e0/aiohttp-3.11.16-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0902e887b0e1d50424112f200eb9ae3dfed6c0d0a19fc60f633ae5a57c809656", size = 1589609 }, + { url = "https://files.pythonhosted.org/packages/34/1b/6bdebdf702d7f339579e9d3c2e784ca6e5867e247dd7b8690c004431ab57/aiohttp-3.11.16-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e87fd812899aa78252866ae03a048e77bd11b80fb4878ce27c23cade239b42b2", size = 1547540 }, + { url = "https://files.pythonhosted.org/packages/88/dd/5d0c0a936baaabbf7467851c0cc9f1aedab67428479a528ea14ab852c730/aiohttp-3.11.16-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0a950c2eb8ff17361abd8c85987fd6076d9f47d040ebffce67dce4993285e973", size = 1534880 }, + { url = "https://files.pythonhosted.org/packages/a8/ff/2245148b047833eb7b37f5754ece17ade561a46c40d6fecc3ed3f5eae1c1/aiohttp-3.11.16-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:c10d85e81d0b9ef87970ecbdbfaeec14a361a7fa947118817fcea8e45335fa46", size = 1557692 }, + { url = "https://files.pythonhosted.org/packages/c4/1c/fe0dd097427c295ae49b6c10e37eda546036fd8de75bc43d69df392b9377/aiohttp-3.11.16-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:7951decace76a9271a1ef181b04aa77d3cc309a02a51d73826039003210bdc86", size = 1538918 }, + { url = "https://files.pythonhosted.org/packages/94/58/10af247fb0084327579ebaccfd1f9c2f759ec972b204b31598debfa0829a/aiohttp-3.11.16-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:14461157d8426bcb40bd94deb0450a6fa16f05129f7da546090cebf8f3123b0f", size = 1609351 }, + { url = "https://files.pythonhosted.org/packages/d3/91/b1f0928b6d2eb0c47ecee7122067a8ad330f812795d8f16343d206394040/aiohttp-3.11.16-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9756d9b9d4547e091f99d554fbba0d2a920aab98caa82a8fb3d3d9bee3c9ae85", size = 1630514 }, + { url = "https://files.pythonhosted.org/packages/88/51/3319add72ea4053bee66825aef3e691ee4b26d0a22b7f817d73b0af02d38/aiohttp-3.11.16-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:87944bd16b7fe6160607f6a17808abd25f17f61ae1e26c47a491b970fb66d8cb", size = 1567084 }, + { url = "https://files.pythonhosted.org/packages/e5/93/e90a84c263f02f01efd6f32042c08d7f7d88338cb18d91c5b1752accffeb/aiohttp-3.11.16-cp39-cp39-win32.whl", hash = "sha256:92b7ee222e2b903e0a4b329a9943d432b3767f2d5029dbe4ca59fb75223bbe2e", size = 417187 }, + { url = "https://files.pythonhosted.org/packages/11/b8/7200f637f223199d8f3e7add720ab19843b9969ffa89b758b5649cab8099/aiohttp-3.11.16-cp39-cp39-win_amd64.whl", hash = "sha256:17ae4664031aadfbcb34fd40ffd90976671fa0c0286e6c4113989f78bebab37a", size = 442378 }, ] [[package]] @@ -136,14 +136,14 @@ wheels = [ [[package]] name = "astroid" -version = "3.3.8" +version = "3.3.9" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/80/c5/5c83c48bbf547f3dd8b587529db7cf5a265a3368b33e85e76af8ff6061d3/astroid-3.3.8.tar.gz", hash = "sha256:a88c7994f914a4ea8572fac479459f4955eeccc877be3f2d959a33273b0cf40b", size = 398196 } +sdist = { url = "https://files.pythonhosted.org/packages/39/33/536530122a22a7504b159bccaf30a1f76aa19d23028bd8b5009eb9b2efea/astroid-3.3.9.tar.gz", hash = "sha256:622cc8e3048684aa42c820d9d218978021c3c3d174fb03a9f0d615921744f550", size = 398731 } wheels = [ - { url = "https://files.pythonhosted.org/packages/07/28/0bc8a17d6cd4cc3c79ae41b7105a2b9a327c110e5ddd37a8a27b29a5c8a2/astroid-3.3.8-py3-none-any.whl", hash = "sha256:187ccc0c248bfbba564826c26f070494f7bc964fd286b6d9fff4420e55de828c", size = 275153 }, + { url = "https://files.pythonhosted.org/packages/de/80/c749efbd8eef5ea77c7d6f1956e8fbfb51963b7f93ef79647afd4d9886e3/astroid-3.3.9-py3-none-any.whl", hash = "sha256:d05bfd0acba96a7bd43e222828b7d9bc1e138aaeb0649707908d3702a9831248", size = 275339 }, ] [[package]] @@ -157,11 +157,11 @@ wheels = [ [[package]] name = "attrs" -version = "25.1.0" +version = "25.3.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/49/7c/fdf464bcc51d23881d110abd74b512a42b3d5d376a55a831b44c603ae17f/attrs-25.1.0.tar.gz", hash = "sha256:1c97078a80c814273a76b2a298a932eb681c87415c11dee0a6921de7f1b02c3e", size = 810562 } +sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032 } wheels = [ - { url = "https://files.pythonhosted.org/packages/fc/30/d4986a882011f9df997a55e6becd864812ccfcd821d64aac8570ee39f719/attrs-25.1.0-py3-none-any.whl", hash = "sha256:c75a69e28a550a7e93789579c22aa26b0f5b83b75dc4e08fe092980051e1090a", size = 63152 }, + { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815 }, ] [[package]] @@ -398,88 +398,92 @@ wheels = [ [[package]] name = "cryptography" -version = "44.0.1" +version = "44.0.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cffi", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c7/67/545c79fe50f7af51dbad56d16b23fe33f63ee6a5d956b3cb68ea110cbe64/cryptography-44.0.1.tar.gz", hash = "sha256:f51f5705ab27898afda1aaa430f34ad90dc117421057782022edf0600bec5f14", size = 710819 } +sdist = { url = "https://files.pythonhosted.org/packages/cd/25/4ce80c78963834b8a9fd1cc1266be5ed8d1840785c0f2e1b73b8d128d505/cryptography-44.0.2.tar.gz", hash = "sha256:c63454aa261a0cf0c5b4718349629793e9e634993538db841165b3df74f37ec0", size = 710807 } wheels = [ - { url = "https://files.pythonhosted.org/packages/72/27/5e3524053b4c8889da65cf7814a9d0d8514a05194a25e1e34f46852ee6eb/cryptography-44.0.1-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:bf688f615c29bfe9dfc44312ca470989279f0e94bb9f631f85e3459af8efc009", size = 6642022 }, - { url = "https://files.pythonhosted.org/packages/34/b9/4d1fa8d73ae6ec350012f89c3abfbff19fc95fe5420cf972e12a8d182986/cryptography-44.0.1-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd7c7e2d71d908dc0f8d2027e1604102140d84b155e658c20e8ad1304317691f", size = 3943865 }, - { url = "https://files.pythonhosted.org/packages/6e/57/371a9f3f3a4500807b5fcd29fec77f418ba27ffc629d88597d0d1049696e/cryptography-44.0.1-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:887143b9ff6bad2b7570da75a7fe8bbf5f65276365ac259a5d2d5147a73775f2", size = 4162562 }, - { url = "https://files.pythonhosted.org/packages/c5/1d/5b77815e7d9cf1e3166988647f336f87d5634a5ccecec2ffbe08ef8dd481/cryptography-44.0.1-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:322eb03ecc62784536bc173f1483e76747aafeb69c8728df48537eb431cd1911", size = 3951923 }, - { url = "https://files.pythonhosted.org/packages/28/01/604508cd34a4024467cd4105887cf27da128cba3edd435b54e2395064bfb/cryptography-44.0.1-cp37-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:21377472ca4ada2906bc313168c9dc7b1d7ca417b63c1c3011d0c74b7de9ae69", size = 3685194 }, - { url = "https://files.pythonhosted.org/packages/c6/3d/d3c55d4f1d24580a236a6753902ef6d8aafd04da942a1ee9efb9dc8fd0cb/cryptography-44.0.1-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:df978682c1504fc93b3209de21aeabf2375cb1571d4e61907b3e7a2540e83026", size = 4187790 }, - { url = "https://files.pythonhosted.org/packages/ea/a6/44d63950c8588bfa8594fd234d3d46e93c3841b8e84a066649c566afb972/cryptography-44.0.1-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:eb3889330f2a4a148abead555399ec9a32b13b7c8ba969b72d8e500eb7ef84cd", size = 3951343 }, - { url = "https://files.pythonhosted.org/packages/c1/17/f5282661b57301204cbf188254c1a0267dbd8b18f76337f0a7ce1038888c/cryptography-44.0.1-cp37-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:8e6a85a93d0642bd774460a86513c5d9d80b5c002ca9693e63f6e540f1815ed0", size = 4187127 }, - { url = "https://files.pythonhosted.org/packages/f3/68/abbae29ed4f9d96596687f3ceea8e233f65c9645fbbec68adb7c756bb85a/cryptography-44.0.1-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:6f76fdd6fd048576a04c5210d53aa04ca34d2ed63336d4abd306d0cbe298fddf", size = 4070666 }, - { url = "https://files.pythonhosted.org/packages/0f/10/cf91691064a9e0a88ae27e31779200b1505d3aee877dbe1e4e0d73b4f155/cryptography-44.0.1-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6c8acf6f3d1f47acb2248ec3ea261171a671f3d9428e34ad0357148d492c7864", size = 4288811 }, - { url = "https://files.pythonhosted.org/packages/38/78/74ea9eb547d13c34e984e07ec8a473eb55b19c1451fe7fc8077c6a4b0548/cryptography-44.0.1-cp37-abi3-win32.whl", hash = "sha256:24979e9f2040c953a94bf3c6782e67795a4c260734e5264dceea65c8f4bae64a", size = 2771882 }, - { url = "https://files.pythonhosted.org/packages/cf/6c/3907271ee485679e15c9f5e93eac6aa318f859b0aed8d369afd636fafa87/cryptography-44.0.1-cp37-abi3-win_amd64.whl", hash = "sha256:fd0ee90072861e276b0ff08bd627abec29e32a53b2be44e41dbcdf87cbee2b00", size = 3206989 }, - { url = "https://files.pythonhosted.org/packages/9f/f1/676e69c56a9be9fd1bffa9bc3492366901f6e1f8f4079428b05f1414e65c/cryptography-44.0.1-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:a2d8a7045e1ab9b9f803f0d9531ead85f90c5f2859e653b61497228b18452008", size = 6643714 }, - { url = "https://files.pythonhosted.org/packages/ba/9f/1775600eb69e72d8f9931a104120f2667107a0ee478f6ad4fe4001559345/cryptography-44.0.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b8272f257cf1cbd3f2e120f14c68bff2b6bdfcc157fafdee84a1b795efd72862", size = 3943269 }, - { url = "https://files.pythonhosted.org/packages/25/ba/e00d5ad6b58183829615be7f11f55a7b6baa5a06910faabdc9961527ba44/cryptography-44.0.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e8d181e90a777b63f3f0caa836844a1182f1f265687fac2115fcf245f5fbec3", size = 4166461 }, - { url = "https://files.pythonhosted.org/packages/b3/45/690a02c748d719a95ab08b6e4decb9d81e0ec1bac510358f61624c86e8a3/cryptography-44.0.1-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:436df4f203482f41aad60ed1813811ac4ab102765ecae7a2bbb1dbb66dcff5a7", size = 3950314 }, - { url = "https://files.pythonhosted.org/packages/e6/50/bf8d090911347f9b75adc20f6f6569ed6ca9b9bff552e6e390f53c2a1233/cryptography-44.0.1-cp39-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4f422e8c6a28cf8b7f883eb790695d6d45b0c385a2583073f3cec434cc705e1a", size = 3686675 }, - { url = "https://files.pythonhosted.org/packages/e1/e7/cfb18011821cc5f9b21efb3f94f3241e3a658d267a3bf3a0f45543858ed8/cryptography-44.0.1-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:72198e2b5925155497a5a3e8c216c7fb3e64c16ccee11f0e7da272fa93b35c4c", size = 4190429 }, - { url = "https://files.pythonhosted.org/packages/07/ef/77c74d94a8bfc1a8a47b3cafe54af3db537f081742ee7a8a9bd982b62774/cryptography-44.0.1-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:2a46a89ad3e6176223b632056f321bc7de36b9f9b93b2cc1cccf935a3849dc62", size = 3950039 }, - { url = "https://files.pythonhosted.org/packages/6d/b9/8be0ff57c4592382b77406269b1e15650c9f1a167f9e34941b8515b97159/cryptography-44.0.1-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:53f23339864b617a3dfc2b0ac8d5c432625c80014c25caac9082314e9de56f41", size = 4189713 }, - { url = "https://files.pythonhosted.org/packages/78/e1/4b6ac5f4100545513b0847a4d276fe3c7ce0eacfa73e3b5ebd31776816ee/cryptography-44.0.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:888fcc3fce0c888785a4876ca55f9f43787f4c5c1cc1e2e0da71ad481ff82c5b", size = 4071193 }, - { url = "https://files.pythonhosted.org/packages/3d/cb/afff48ceaed15531eab70445abe500f07f8f96af2bb35d98af6bfa89ebd4/cryptography-44.0.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:00918d859aa4e57db8299607086f793fa7813ae2ff5a4637e318a25ef82730f7", size = 4289566 }, - { url = "https://files.pythonhosted.org/packages/30/6f/4eca9e2e0f13ae459acd1ca7d9f0257ab86e68f44304847610afcb813dc9/cryptography-44.0.1-cp39-abi3-win32.whl", hash = "sha256:9b336599e2cb77b1008cb2ac264b290803ec5e8e89d618a5e978ff5eb6f715d9", size = 2772371 }, - { url = "https://files.pythonhosted.org/packages/d2/05/5533d30f53f10239616a357f080892026db2d550a40c393d0a8a7af834a9/cryptography-44.0.1-cp39-abi3-win_amd64.whl", hash = "sha256:e403f7f766ded778ecdb790da786b418a9f2394f36e8cc8b796cc056ab05f44f", size = 3207303 }, - { url = "https://files.pythonhosted.org/packages/15/06/507bfb5c7e048114a0185dd65f7814677a2ba285d15705c3d69e660c21d7/cryptography-44.0.1-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:1f9a92144fa0c877117e9748c74501bea842f93d21ee00b0cf922846d9d0b183", size = 3380782 }, - { url = "https://files.pythonhosted.org/packages/e0/f1/7fb4982d59aa86e1a116c812b545e7fc045352be07738ae3fb278835a9a4/cryptography-44.0.1-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:610a83540765a8d8ce0f351ce42e26e53e1f774a6efb71eb1b41eb01d01c3d12", size = 3888155 }, - { url = "https://files.pythonhosted.org/packages/60/7b/cbc203838d3092203493d18b923fbbb1de64e0530b332a713ba376905b0b/cryptography-44.0.1-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:5fed5cd6102bb4eb843e3315d2bf25fede494509bddadb81e03a859c1bc17b83", size = 4106417 }, - { url = "https://files.pythonhosted.org/packages/12/c7/2fe59fb085ab418acc82e91e040a6acaa7b1696fcc1c1055317537fbf0d3/cryptography-44.0.1-pp310-pypy310_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:f4daefc971c2d1f82f03097dc6f216744a6cd2ac0f04c68fb935ea2ba2a0d420", size = 3887540 }, - { url = "https://files.pythonhosted.org/packages/48/89/09fc7b115f60f5bd970b80e32244f8e9aeeb9244bf870b63420cec3b5cd5/cryptography-44.0.1-pp310-pypy310_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:94f99f2b943b354a5b6307d7e8d19f5c423a794462bde2bf310c770ba052b1c4", size = 4106040 }, - { url = "https://files.pythonhosted.org/packages/2e/38/3fd83c4690dc7d753a442a284b3826ea5e5c380a411443c66421cd823898/cryptography-44.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d9c5b9f698a83c8bd71e0f4d3f9f839ef244798e5ffe96febfa9714717db7af7", size = 3134657 }, + { url = "https://files.pythonhosted.org/packages/92/ef/83e632cfa801b221570c5f58c0369db6fa6cef7d9ff859feab1aae1a8a0f/cryptography-44.0.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:efcfe97d1b3c79e486554efddeb8f6f53a4cdd4cf6086642784fa31fc384e1d7", size = 6676361 }, + { url = "https://files.pythonhosted.org/packages/30/ec/7ea7c1e4c8fc8329506b46c6c4a52e2f20318425d48e0fe597977c71dbce/cryptography-44.0.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29ecec49f3ba3f3849362854b7253a9f59799e3763b0c9d0826259a88efa02f1", size = 3952350 }, + { url = "https://files.pythonhosted.org/packages/27/61/72e3afdb3c5ac510330feba4fc1faa0fe62e070592d6ad00c40bb69165e5/cryptography-44.0.2-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc821e161ae88bfe8088d11bb39caf2916562e0a2dc7b6d56714a48b784ef0bb", size = 4166572 }, + { url = "https://files.pythonhosted.org/packages/26/e4/ba680f0b35ed4a07d87f9e98f3ebccb05091f3bf6b5a478b943253b3bbd5/cryptography-44.0.2-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:3c00b6b757b32ce0f62c574b78b939afab9eecaf597c4d624caca4f9e71e7843", size = 3958124 }, + { url = "https://files.pythonhosted.org/packages/9c/e8/44ae3e68c8b6d1cbc59040288056df2ad7f7f03bbcaca6b503c737ab8e73/cryptography-44.0.2-cp37-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7bdcd82189759aba3816d1f729ce42ffded1ac304c151d0a8e89b9996ab863d5", size = 3678122 }, + { url = "https://files.pythonhosted.org/packages/27/7b/664ea5e0d1eab511a10e480baf1c5d3e681c7d91718f60e149cec09edf01/cryptography-44.0.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:4973da6ca3db4405c54cd0b26d328be54c7747e89e284fcff166132eb7bccc9c", size = 4191831 }, + { url = "https://files.pythonhosted.org/packages/2a/07/79554a9c40eb11345e1861f46f845fa71c9e25bf66d132e123d9feb8e7f9/cryptography-44.0.2-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:4e389622b6927d8133f314949a9812972711a111d577a5d1f4bee5e58736b80a", size = 3960583 }, + { url = "https://files.pythonhosted.org/packages/bb/6d/858e356a49a4f0b591bd6789d821427de18432212e137290b6d8a817e9bf/cryptography-44.0.2-cp37-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:f514ef4cd14bb6fb484b4a60203e912cfcb64f2ab139e88c2274511514bf7308", size = 4191753 }, + { url = "https://files.pythonhosted.org/packages/b2/80/62df41ba4916067fa6b125aa8c14d7e9181773f0d5d0bd4dcef580d8b7c6/cryptography-44.0.2-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:1bc312dfb7a6e5d66082c87c34c8a62176e684b6fe3d90fcfe1568de675e6688", size = 4079550 }, + { url = "https://files.pythonhosted.org/packages/f3/cd/2558cc08f7b1bb40683f99ff4327f8dcfc7de3affc669e9065e14824511b/cryptography-44.0.2-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:3b721b8b4d948b218c88cb8c45a01793483821e709afe5f622861fc6182b20a7", size = 4298367 }, + { url = "https://files.pythonhosted.org/packages/71/59/94ccc74788945bc3bd4cf355d19867e8057ff5fdbcac781b1ff95b700fb1/cryptography-44.0.2-cp37-abi3-win32.whl", hash = "sha256:51e4de3af4ec3899d6d178a8c005226491c27c4ba84101bfb59c901e10ca9f79", size = 2772843 }, + { url = "https://files.pythonhosted.org/packages/ca/2c/0d0bbaf61ba05acb32f0841853cfa33ebb7a9ab3d9ed8bb004bd39f2da6a/cryptography-44.0.2-cp37-abi3-win_amd64.whl", hash = "sha256:c505d61b6176aaf982c5717ce04e87da5abc9a36a5b39ac03905c4aafe8de7aa", size = 3209057 }, + { url = "https://files.pythonhosted.org/packages/9e/be/7a26142e6d0f7683d8a382dd963745e65db895a79a280a30525ec92be890/cryptography-44.0.2-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:8e0ddd63e6bf1161800592c71ac794d3fb8001f2caebe0966e77c5234fa9efc3", size = 6677789 }, + { url = "https://files.pythonhosted.org/packages/06/88/638865be7198a84a7713950b1db7343391c6066a20e614f8fa286eb178ed/cryptography-44.0.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81276f0ea79a208d961c433a947029e1a15948966658cf6710bbabb60fcc2639", size = 3951919 }, + { url = "https://files.pythonhosted.org/packages/d7/fc/99fe639bcdf58561dfad1faa8a7369d1dc13f20acd78371bb97a01613585/cryptography-44.0.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a1e657c0f4ea2a23304ee3f964db058c9e9e635cc7019c4aa21c330755ef6fd", size = 4167812 }, + { url = "https://files.pythonhosted.org/packages/53/7b/aafe60210ec93d5d7f552592a28192e51d3c6b6be449e7fd0a91399b5d07/cryptography-44.0.2-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:6210c05941994290f3f7f175a4a57dbbb2afd9273657614c506d5976db061181", size = 3958571 }, + { url = "https://files.pythonhosted.org/packages/16/32/051f7ce79ad5a6ef5e26a92b37f172ee2d6e1cce09931646eef8de1e9827/cryptography-44.0.2-cp39-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d1c3572526997b36f245a96a2b1713bf79ce99b271bbcf084beb6b9b075f29ea", size = 3679832 }, + { url = "https://files.pythonhosted.org/packages/78/2b/999b2a1e1ba2206f2d3bca267d68f350beb2b048a41ea827e08ce7260098/cryptography-44.0.2-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:b042d2a275c8cee83a4b7ae30c45a15e6a4baa65a179a0ec2d78ebb90e4f6699", size = 4193719 }, + { url = "https://files.pythonhosted.org/packages/72/97/430e56e39a1356e8e8f10f723211a0e256e11895ef1a135f30d7d40f2540/cryptography-44.0.2-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:d03806036b4f89e3b13b6218fefea8d5312e450935b1a2d55f0524e2ed7c59d9", size = 3960852 }, + { url = "https://files.pythonhosted.org/packages/89/33/c1cf182c152e1d262cac56850939530c05ca6c8d149aa0dcee490b417e99/cryptography-44.0.2-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:c7362add18b416b69d58c910caa217f980c5ef39b23a38a0880dfd87bdf8cd23", size = 4193906 }, + { url = "https://files.pythonhosted.org/packages/e1/99/87cf26d4f125380dc674233971069bc28d19b07f7755b29861570e513650/cryptography-44.0.2-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:8cadc6e3b5a1f144a039ea08a0bdb03a2a92e19c46be3285123d32029f40a922", size = 4081572 }, + { url = "https://files.pythonhosted.org/packages/b3/9f/6a3e0391957cc0c5f84aef9fbdd763035f2b52e998a53f99345e3ac69312/cryptography-44.0.2-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6f101b1f780f7fc613d040ca4bdf835c6ef3b00e9bd7125a4255ec574c7916e4", size = 4298631 }, + { url = "https://files.pythonhosted.org/packages/e2/a5/5bc097adb4b6d22a24dea53c51f37e480aaec3465285c253098642696423/cryptography-44.0.2-cp39-abi3-win32.whl", hash = "sha256:3dc62975e31617badc19a906481deacdeb80b4bb454394b4098e3f2525a488c5", size = 2773792 }, + { url = "https://files.pythonhosted.org/packages/33/cf/1f7649b8b9a3543e042d3f348e398a061923ac05b507f3f4d95f11938aa9/cryptography-44.0.2-cp39-abi3-win_amd64.whl", hash = "sha256:5f6f90b72d8ccadb9c6e311c775c8305381db88374c65fa1a68250aa8a9cb3a6", size = 3210957 }, + { url = "https://files.pythonhosted.org/packages/99/10/173be140714d2ebaea8b641ff801cbcb3ef23101a2981cbf08057876f89e/cryptography-44.0.2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:af4ff3e388f2fa7bff9f7f2b31b87d5651c45731d3e8cfa0944be43dff5cfbdb", size = 3396886 }, + { url = "https://files.pythonhosted.org/packages/2f/b4/424ea2d0fce08c24ede307cead3409ecbfc2f566725d4701b9754c0a1174/cryptography-44.0.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:0529b1d5a0105dd3731fa65680b45ce49da4d8115ea76e9da77a875396727b41", size = 3892387 }, + { url = "https://files.pythonhosted.org/packages/28/20/8eaa1a4f7c68a1cb15019dbaad59c812d4df4fac6fd5f7b0b9c5177f1edd/cryptography-44.0.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:7ca25849404be2f8e4b3c59483d9d3c51298a22c1c61a0e84415104dacaf5562", size = 4109922 }, + { url = "https://files.pythonhosted.org/packages/11/25/5ed9a17d532c32b3bc81cc294d21a36c772d053981c22bd678396bc4ae30/cryptography-44.0.2-pp310-pypy310_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:268e4e9b177c76d569e8a145a6939eca9a5fec658c932348598818acf31ae9a5", size = 3895715 }, + { url = "https://files.pythonhosted.org/packages/63/31/2aac03b19c6329b62c45ba4e091f9de0b8f687e1b0cd84f101401bece343/cryptography-44.0.2-pp310-pypy310_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:9eb9d22b0a5d8fd9925a7764a054dca914000607dff201a24c791ff5c799e1fa", size = 4109876 }, + { url = "https://files.pythonhosted.org/packages/99/ec/6e560908349843718db1a782673f36852952d52a55ab14e46c42c8a7690a/cryptography-44.0.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:2bf7bf75f7df9715f810d1b038870309342bff3069c5bd8c6b96128cb158668d", size = 3131719 }, + { url = "https://files.pythonhosted.org/packages/d6/d7/f30e75a6aa7d0f65031886fa4a1485c2fbfe25a1896953920f6a9cfe2d3b/cryptography-44.0.2-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:909c97ab43a9c0c0b0ada7a1281430e4e5ec0458e6d9244c0e821bbf152f061d", size = 3887513 }, + { url = "https://files.pythonhosted.org/packages/9c/b4/7a494ce1032323ca9db9a3661894c66e0d7142ad2079a4249303402d8c71/cryptography-44.0.2-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:96e7a5e9d6e71f9f4fca8eebfd603f8e86c5225bb18eb621b2c1e50b290a9471", size = 4107432 }, + { url = "https://files.pythonhosted.org/packages/45/f8/6b3ec0bc56123b344a8d2b3264a325646d2dcdbdd9848b5e6f3d37db90b3/cryptography-44.0.2-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:d1b3031093a366ac767b3feb8bcddb596671b3aaff82d4050f984da0c248b615", size = 3891421 }, + { url = "https://files.pythonhosted.org/packages/57/ff/f3b4b2d007c2a646b0f69440ab06224f9cf37a977a72cdb7b50632174e8a/cryptography-44.0.2-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:04abd71114848aa25edb28e225ab5f268096f44cf0127f3d36975bdf1bdf3390", size = 4107081 }, ] [[package]] name = "dbus-fast" -version = "2.34.0" +version = "2.44.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0c/bc/a124a2bcd99063bd07e035b8d82437f152334a459c2497d06f77963f7b95/dbus_fast-2.34.0.tar.gz", hash = "sha256:32aa03b4b102e7ad8caf39c708e3c263ef73121a4bb64f3f877c5cf0bad91e45", size = 69778 } +sdist = { url = "https://files.pythonhosted.org/packages/c2/a1/9693ec018feed2a7d3420eac6c807eabc6eb84227913104123c0d2ea5737/dbus_fast-2.44.1.tar.gz", hash = "sha256:b027e96c39ed5622bb54d811dcdbbe9d9d6edec3454808a85a1ceb1867d9e25c", size = 72424 } wheels = [ - { url = "https://files.pythonhosted.org/packages/87/c6/8c3b08b24778b0975c3ce23a865cf7b700e5ed28b9438e20fa13250a0410/dbus_fast-2.34.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc40230797a053bd151010c28fdfc785b92f5278d30b90aa246d7e8c353a66b8", size = 3940325 }, - { url = "https://files.pythonhosted.org/packages/07/b3/aa487b78012b10835273dbae253a97c34b5542bee96605f2090c9a9dfe0e/dbus_fast-2.34.0-cp310-cp310-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:a928e35190fb2e73bc024f502e4a070f0b2b562069d8643728f6be7319e38d49", size = 3833358 }, - { url = "https://files.pythonhosted.org/packages/6e/8d/fbb37a382fde9ba4d7dfacb3c187737726469d049ad449d01e21b790e66e/dbus_fast-2.34.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:448c349b9eb69a4aaec375ae6f3518bd890bd037652736e00df499cbf8bd120e", size = 4009251 }, - { url = "https://files.pythonhosted.org/packages/62/eb/f1d83ce47affab26c7fbf2ae09834bf108abc1c0ba00caeda79f99624fc9/dbus_fast-2.34.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ed2dab8b4966e7ef63e6561b4cb876ca88aa80c2d56c55fa9968baa93f552e6a", size = 3891079 }, - { url = "https://files.pythonhosted.org/packages/86/b2/3be042296a1edd10b4b426e68a2b2aa687b5e9a522eb0585e5e3a7e1cf76/dbus_fast-2.34.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:42d80d633b299ffdf796633ad053e786ff801e2c3f4a5313a84aa7f2055fa6a7", size = 3941276 }, - { url = "https://files.pythonhosted.org/packages/d7/3e/60d0459df2d4c1db55a219162ee5fd2d2183e819fc13858e5c2d4dcc0541/dbus_fast-2.34.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:815f4eff740bd7d8e48c99764aeeb26d677efc3f2ffb940fe3900690eeab2f09", size = 4061052 }, - { url = "https://files.pythonhosted.org/packages/a8/d1/7f09e3f41b0f6529c08b422d1cf2b2a37924f22939019970440b3ccd366d/dbus_fast-2.34.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83bc3114c05892dbed455e1f60b3db72b41d148b5a80ad4ff631a29ef39f00c0", size = 4359777 }, - { url = "https://files.pythonhosted.org/packages/d8/24/42d4de59272deefd07708f76f239cd2d1bc0200c3e98729c712366d18d27/dbus_fast-2.34.0-cp311-cp311-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:da2c434db31f6d8ca8b85ef9675f59ca21a0a04ecded92d734c34323fcf8e9af", size = 4216250 }, - { url = "https://files.pythonhosted.org/packages/43/7b/fcb43015ade4d8a7f8fe55877561a76db2a8957dc1fc7c7e533316cd50a6/dbus_fast-2.34.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a3d0347f62f479a3a18fbc754f716e9c22d9c605d1117dc5847701c00e96ecb", size = 4419016 }, - { url = "https://files.pythonhosted.org/packages/22/ab/602a7be13a65e70843e039bd9ce96e3527a4a07947f1e6aa89866b782123/dbus_fast-2.34.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:660710b5576845cfa0dfe57945982d7613842130b7b2ab7c9c30946d5af7742f", size = 4331039 }, - { url = "https://files.pythonhosted.org/packages/46/c8/64c31a43bd0ef4ae58448fc99962716efe6d47a68e40ebfdfb38d1a1c41e/dbus_fast-2.34.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:31e7f5e987ebbb4454ec8fd1f2da30e5c5e3824bf3349902d8a1673af5d89322", size = 4369440 }, - { url = "https://files.pythonhosted.org/packages/07/43/d4c0efca8d1f9627102ea0b4d9602db48f36f4caddc9fa223543bd65ee55/dbus_fast-2.34.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:30e400afb0e76d4d1331c4ed094e2f1083665798b1be1185fe4ef1b512b2f279", size = 4516240 }, - { url = "https://files.pythonhosted.org/packages/2c/20/3d8e41d0d80120351047a227989c044fcd50f347530185c4078d7cfd5453/dbus_fast-2.34.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e4a3b3bf7abc78885a838850147d0f7faee815679cfa116f981df7bb0376ed6", size = 4365799 }, - { url = "https://files.pythonhosted.org/packages/1a/f5/50df7a2422e7edb694ef2af8425b1ec32f4190771d29a9d727b4c41492cd/dbus_fast-2.34.0-cp312-cp312-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:f7ff4725e4f42cb78d6fabde939ee298e0f02ce88eef6278e93175399752b5cf", size = 4203785 }, - { url = "https://files.pythonhosted.org/packages/cb/5e/58f4eecab2649b8bd00e3574fe89cdd88f439688010192403f3e767980c4/dbus_fast-2.34.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:33f793c638181bafc9bf4d5414d951b902898dff90aebed0be9fe738c47c147e", size = 4474681 }, - { url = "https://files.pythonhosted.org/packages/b3/c6/52736458dd94b487ea789a2760bfd69157e5b47b51b234b21e106585802c/dbus_fast-2.34.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:18fb0033e201acc45c21289d26af0c1f653439619327eda68261199840630336", size = 4318149 }, - { url = "https://files.pythonhosted.org/packages/24/41/eb7829bf6a1c0f5b245ce82482672306f0dc6889bc57b066e689975a2920/dbus_fast-2.34.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:15825368b033a0588095fbd5f400b7ea76a4350a925b620b25aadeaf31b6c963", size = 4397595 }, - { url = "https://files.pythonhosted.org/packages/41/e0/09094bd91d96f7cf46db810dabc3bc5881482e6a2eab7ea9b8e665ff096a/dbus_fast-2.34.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:83d0360004e7f3ecd72216b4bfd23dbb0b0b2669a61109b79bc7810032e6f4d0", size = 4583630 }, - { url = "https://files.pythonhosted.org/packages/f7/e4/8bbcbcfbf8e2a8c1dc0ba0b5391ad10b904eec139ca8aa1d364dad33ca5e/dbus_fast-2.34.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97a6f5c0b0faf1ba33ca965598842d6dca546f1772ac984597db55ce7c3df877", size = 4316555 }, - { url = "https://files.pythonhosted.org/packages/72/ca/026617f018f31f77e812a3543b0662f6955c189826f20d81bfaef948a256/dbus_fast-2.34.0-cp313-cp313-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:b77aa52a60dfdb8e9bf71acc60ee130f0f8b46245b4af2b52cb1854fd0a4cfc6", size = 4157858 }, - { url = "https://files.pythonhosted.org/packages/ec/80/2e37b8e1cfb19209da5d2f9958eb70701fb43919ec4fc8ec72e773d76fc5/dbus_fast-2.34.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7404fa0b8da448826ef902147b0a2bb5639de8414581e5eecbc141734f05af8f", size = 4424420 }, - { url = "https://files.pythonhosted.org/packages/be/45/67c832024beec9c9bbe68007316be4372980043487206bb5f7f90e724e8a/dbus_fast-2.34.0-cp313-cp313-manylinux_2_36_x86_64.whl", hash = "sha256:8656a01c0afce62179b6a5c7d81317266fdb79353e38d0e0ae5d47a41d79ea39", size = 4429375 }, - { url = "https://files.pythonhosted.org/packages/b3/0f/ae640652a5fa1da0e6398c22fb3cd5b0b18fdafa5721566b7cee7369ea1a/dbus_fast-2.34.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:283688903a351fe62498de77dea8606668c2047b60e2f8c46ce3d5166fe9a228", size = 4265247 }, - { url = "https://files.pythonhosted.org/packages/24/40/5abcaedcc8c0c87e6cc3a898a3d6fcf46ec13c71f0340afc6dcae8fd9d36/dbus_fast-2.34.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:6605e75cbfd0acf55bff1d8226b1232aed50981f11fda07ff0d9b63ae7c2b8ae", size = 4348803 }, - { url = "https://files.pythonhosted.org/packages/1d/b6/6b62e11e404288b7e9a03942482b38559fe0eaf4351871f2147716cd4083/dbus_fast-2.34.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b03f9ba02707d27f6a93062b7d414106c2d9308e332d0c813f219aeb01f4b116", size = 4540892 }, - { url = "https://files.pythonhosted.org/packages/e0/c9/597e68b90e3cacd9c03159192becbce7ec7892b938acd75d05bc700c4cc0/dbus_fast-2.34.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30ca3718c397c41a0df97cf83d6693096567148f63e0b4e7a3e1ccf771ed2afa", size = 3947946 }, - { url = "https://files.pythonhosted.org/packages/15/71/93cebe6fcc0c7ed9cfdbd6cbf1909243a1c4a1e93d95041025760ddf9235/dbus_fast-2.34.0-cp39-cp39-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:685dc7eafea2b9f6ebc91120d2877aeed61c881be27045c73d790f1cad99d5f7", size = 3841178 }, - { url = "https://files.pythonhosted.org/packages/8c/d5/eb02539e1330a3ad395bca36da84516108a55bb1f24775fab4a0088a6f89/dbus_fast-2.34.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d3871301ea1c052b3ba588da089e130908b6b1ec9a70a3b84a7458905f07b19", size = 4015738 }, - { url = "https://files.pythonhosted.org/packages/a5/4b/f3f16cec334fd6bead8800e96d8187a9eea968332f0876a32f60e2cd475b/dbus_fast-2.34.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f7d00050870da39788f584474007a9b4e58da74b42a3bc7760fadffb2b983a86", size = 3897882 }, - { url = "https://files.pythonhosted.org/packages/82/54/276a2b7d66a824c2313ae0e6282597d17c1f2b1390a7803f17f5ea6b64c9/dbus_fast-2.34.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:d54554ff9ce5ce5a50c446f559aa4af742f98ac35c2062976cf551802b8f5409", size = 3938341 }, - { url = "https://files.pythonhosted.org/packages/e6/0f/c514b73861f95849149da560408eb74c77366e19147fbfeef52b5593498c/dbus_fast-2.34.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:62ed9ad1779ae2f765305f373eed0b8576535b6141d7e1a3e726dbe006f98da2", size = 4068155 }, - { url = "https://files.pythonhosted.org/packages/9d/72/adb5c70571ccde24a8993f46da80e11d9fef890ef65ff9370d1bfa6e8856/dbus_fast-2.34.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ce7e32b7f3c55b32b2d952cff05e072b272ca2d5dce6fd5e17acdd9656234dd", size = 687437 }, - { url = "https://files.pythonhosted.org/packages/7b/2c/058f6428453ec3a894b7649c28c6732566344e0495b9bea22278700a6a90/dbus_fast-2.34.0-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:b7cbeeb606ad4964e57c469ae5aeda7a9ab85bec2282b19decf984127167f5ec", size = 737847 }, - { url = "https://files.pythonhosted.org/packages/cc/cf/a78b8ec9344389974d496865e753af2598babe781b4cfe4fcebdb7a72e86/dbus_fast-2.34.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:723d2a9295ddd1f39c8544138a5951fa0c75894b5ea03c8979897e145535c529", size = 717794 }, - { url = "https://files.pythonhosted.org/packages/90/51/41b2914072a6803ef6873ef41f4d0a96b14620713bf3c06ec5b9131534c7/dbus_fast-2.34.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dca4f301f095b5b0087cb6ba7f18f87e84d182845d606ff759dba441f11c8f00", size = 686068 }, - { url = "https://files.pythonhosted.org/packages/57/f7/e7693bc837c0a552ed36cb9a4a2a42419282d444888c93bfda717fb6aa81/dbus_fast-2.34.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:f80603cf4f9964d2b72463554427c82e649a64b3542a7d78a402a6ff59391598", size = 736069 }, - { url = "https://files.pythonhosted.org/packages/8f/73/51f6040175fc55b2fc970fbaa12d061b97cd90181cfdaf7e4cb9f56acdd5/dbus_fast-2.34.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:783deb17c112ad7e3e684f061e5fcf626c0cf8c1758a2b168b84ce6836374e78", size = 716180 }, + { url = "https://files.pythonhosted.org/packages/12/dd/ab0079fb27a2aaefffcb7362f3acd583d3eae6254ba856d51126a2ad6501/dbus_fast-2.44.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65a634286651398f3f1326e8200fc54289d52c2c00249d29cacfc691660a5da1", size = 880082 }, + { url = "https://files.pythonhosted.org/packages/7f/d7/f55944dc56f58f051c74cee88104fe49cf243fed3a22d3ebe2d4cf8188c1/dbus_fast-2.44.1-cp310-cp310-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:0c4a128f8b29941307fc5722f37a1bb87ddcf733188d917ab374d9da0c6e1ce7", size = 948817 }, + { url = "https://files.pythonhosted.org/packages/98/3d/573e98115119950965195b6000cf2cfe2ee762541a08c911dc9a70c8f40f/dbus_fast-2.44.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:adaf459fbce22a63d3578f3ec782c6978edf975eb06d71fb5b7a690496cf6bbe", size = 930452 }, + { url = "https://files.pythonhosted.org/packages/2c/84/e1221f862c1e9f78291e724a5296e42e9f0edd712ac194ad50b1e28365ee/dbus_fast-2.44.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:de871cf722c436bdcceb96b2a3af7084e1fa468f7916ae278ec8ec49a6fa7eef", size = 898007 }, + { url = "https://files.pythonhosted.org/packages/b0/47/a1506ab0571a4a2fc69b646facca04798f1f3812a783f5f9ceb059520b2c/dbus_fast-2.44.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b40863de172031bcc02f54c6f05cccb0b882dc2e1b09e11314a8ccf38c558760", size = 983105 }, + { url = "https://files.pythonhosted.org/packages/86/4c/29228db1f8043b2e968198e076efe473490c643812f4b4410c8e946fc96d/dbus_fast-2.44.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8b7ae16555df6b56d3befcc51e036779ef47c0e954fdb9fb0821ac25212aefe9", size = 959658 }, + { url = "https://files.pythonhosted.org/packages/c5/ea/a6edb9fa8485f002d8148b9cfe8872dc314a778ea5ae440b8f6d342c4e15/dbus_fast-2.44.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ec5db912bd4cfeadf7134163d6dde684271cd44cf26e3b4720107f3de406623", size = 879641 }, + { url = "https://files.pythonhosted.org/packages/63/dd/e83ba0262b4d1f79468151d57e4719ec0ebd8aa1a529075f51bb1a6a661d/dbus_fast-2.44.1-cp311-cp311-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:6ad99f626837753b39a39e09facd2091ee4851ee1eb6ebec5fa9a9a231734254", size = 938034 }, + { url = "https://files.pythonhosted.org/packages/7b/16/c0ffa2843616e8920800f806de2160a8a07a1c3e884eb7308602e41a5293/dbus_fast-2.44.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7aa157f689a114bfb5367c55884d35e25d57cf25202a6590ce05010f929e7df", size = 927438 }, + { url = "https://files.pythonhosted.org/packages/7b/f6/8e984720ec59d79e7637c43feed1d73ebf81863dc7a516f782ceb14eb1fe/dbus_fast-2.44.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f961d8bcad80359f24c0156b3094f58a87d583d56139ee50922fe5894b6797cf", size = 900860 }, + { url = "https://files.pythonhosted.org/packages/a0/4d/95e0ed9003f357c0f2fd18c52cdaf030410bf7bc914dd258258694061aa5/dbus_fast-2.44.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1f38fb5c31846c3ada8fc2b693d8d19953d376a9ea21079e3686e93faa1f8a0f", size = 982869 }, + { url = "https://files.pythonhosted.org/packages/2e/9c/2fa2de83e90921addf77f1b2baa3489d2f174c8ccd1c7a59d00303eccade/dbus_fast-2.44.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:35e3cde53cc9180ce95c6c84a1e8d1ded429031e4a0a182606e8d22cf57d3294", size = 961978 }, + { url = "https://files.pythonhosted.org/packages/3a/e9/b7b02aa77c66491b87f6720a025ffb99afd6a91c00d3425b221058d3cff6/dbus_fast-2.44.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3dd0f8d41f6ab9d4a782c116470bc319d690f9b50c97b6debc6d1fef08e4615a", size = 840421 }, + { url = "https://files.pythonhosted.org/packages/35/79/c9bc498e959ae983e1772e4e4ae320342829f21186fd4c6a65369e63c1fc/dbus_fast-2.44.1-cp312-cp312-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:9d6e386658343db380b9e4e81b3bf4e3c17135dbb5889173b1f2582b675b9a8c", size = 912296 }, + { url = "https://files.pythonhosted.org/packages/cc/a5/948a8cc0861893c6de8746d83cc900e7fd5229b97ed4c9092152b866459e/dbus_fast-2.44.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3bd27563c11219b6fde7a5458141d860d8445c2defb036bab360d1f9bf1dfae0", size = 895027 }, + { url = "https://files.pythonhosted.org/packages/c2/d3/daa69f8253a6c41aedf517befdbed514e9cf96ebe7cbcfa5de154acff877/dbus_fast-2.44.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0272784aceac821dd63c8187a8860179061a850269617ff5c5bd25ca37bf9307", size = 855338 }, + { url = "https://files.pythonhosted.org/packages/6b/44/adec235f8765a88a7b8ddd49c6592371f7ff126e928d03a98baf4ff1bf9d/dbus_fast-2.44.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:eed613a909a45f0e0a415c88b373024f007a9be56b1316812ed616d69a3b9161", size = 944282 }, + { url = "https://files.pythonhosted.org/packages/ba/dd/a6f764c46f14214bdab2ab58820b5ff78e234a74246cc6069232d3aaf9e5/dbus_fast-2.44.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0d4288f2cba4f8309dcfd9f4392e0f4f2b5be6c796dfdb0c5e03228b1ab649b1", size = 923505 }, + { url = "https://files.pythonhosted.org/packages/a5/ee/78bf56862fd6ae87998f1ef1d47849a9c5915abb4f0449a72b2c0885482b/dbus_fast-2.44.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89dc5db158bf9838979f732acc39e0e1ecd7e3295a09fa8adb93b09c097615a4", size = 834865 }, + { url = "https://files.pythonhosted.org/packages/1b/67/2c0ef231189ff63fa49687f8529ad6bb5afc3bbfda5ba65d9ce3e816cfb8/dbus_fast-2.44.1-cp313-cp313-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:f11878c0c089d278861e48c02db8002496c2233b0f605b5630ef61f0b7fb0ea3", size = 905859 }, + { url = "https://files.pythonhosted.org/packages/01/ef/9435eae3a658202c4342559b1dad82eb04edfa69fd803325e742c7627c6e/dbus_fast-2.44.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd81f483b3ffb71e88478cfabccc1fab8d7154fccb1c661bfafcff9b0cfd996", size = 888654 }, + { url = "https://files.pythonhosted.org/packages/80/08/9e870f0c4d82f7d6c224f502e51416d9855b2580093bb21b0fc240077a93/dbus_fast-2.44.1-cp313-cp313-manylinux_2_36_x86_64.whl", hash = "sha256:ad499de96a991287232749c98a59f2436ed260f6fd9ad4cb3b04a4b1bbbef148", size = 891721 }, + { url = "https://files.pythonhosted.org/packages/53/d2/256fe23f403f8bb22d4fb67b6ad21bcc1c98e4528e2d30a4ae9851fac066/dbus_fast-2.44.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:36c44286b11e83977cd29f9551b66b446bb6890dff04585852d975aa3a038ca2", size = 850255 }, + { url = "https://files.pythonhosted.org/packages/28/ae/5d9964738bc9a59c9bb01bb4e196c541ed3495895297355c09283934756b/dbus_fast-2.44.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:89f2f6eccbb0e464b90e5a8741deb9d6a91873eeb41a8c7b963962b39eb1e0cd", size = 939093 }, + { url = "https://files.pythonhosted.org/packages/f5/3e/1c97abdf0f19ce26ac2f7f18c141495fc7459679d016475f4ad5dedef316/dbus_fast-2.44.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:bb74a227b071e1a7c517bf3a3e4a5a0a2660620084162e74f15010075534c9d5", size = 915980 }, + { url = "https://files.pythonhosted.org/packages/c7/ec/04c75a244acff834259d8c06f5396a8b28f57a1ace5dc6e86d47b39ee777/dbus_fast-2.44.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:806450623ef3f8df846524da7e448edc8174261a01cfd5dfda92e3df89c0de10", size = 882608 }, + { url = "https://files.pythonhosted.org/packages/5e/71/9ff2c8aa5a71b5ed41b8c3890a905c4a1a3ae2bc6d40bf80dcdfe211811e/dbus_fast-2.44.1-cp39-cp39-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:55ad499b7ef08cb76fce9c9fdcdd6589d2ebfc7e53b3d261d8f40c6d97a8d901", size = 951369 }, + { url = "https://files.pythonhosted.org/packages/af/5f/20255de2009384efb20510b59fd2b7465265eb934f68f8378d91165da92f/dbus_fast-2.44.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:55d717865219ec2ae9977b6d067c05261cdc3ef6205c687c8bb92b3437886e58", size = 931079 }, + { url = "https://files.pythonhosted.org/packages/81/68/c082369566e5fbc95f962bd50ff0cba5e3d98ed030b9fe96b640f041a462/dbus_fast-2.44.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:39d4cc61e491e11912f76d70cc1c47387ab4f2e5b71f34bfa13eb11aa6026268", size = 899115 }, + { url = "https://files.pythonhosted.org/packages/4a/f1/f4a373471675e7c6541334b6ff98c1967928bceb8a3199126073b339a2e6/dbus_fast-2.44.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:9b3b10151f1140f7b6dd47a89fc37edd05d6213be0a1748eadba82fc144c05c2", size = 985790 }, + { url = "https://files.pythonhosted.org/packages/63/f6/c510bd4916639a085b157adde944400bd4f100ce61dacfa194dd6320186b/dbus_fast-2.44.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:33772c223f5cef1bacc298e83dc04b27b3a47065b245fde766fcc126e761dca7", size = 961912 }, + { url = "https://files.pythonhosted.org/packages/81/9f/03b8e92fa6655e33b56c5172c9ccc95093850986ab706bd235b91bdc5653/dbus_fast-2.44.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f29a81d86c9ce3020a5df8c1e5557edaa00e1e00c9804ec874d46c99d967a686", size = 720870 }, + { url = "https://files.pythonhosted.org/packages/39/af/c8ef58a4a4584db520b654731bfe35923c73bb769386411d8fecdeb016e3/dbus_fast-2.44.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:5dec134715457601c0fa8df3040a56d319de1a152464ae4d4bfc53bbb5c02e04", size = 767585 }, + { url = "https://files.pythonhosted.org/packages/8c/e2/9e3ef29e40b44556f16756cd70ae8e7ec3b5fceec1b78c5e4849ed15f926/dbus_fast-2.44.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:893509b516f2f24b4e3f09a6b1f3a30f856cf237cd773cdc505ea7ab4fa3c863", size = 754941 }, + { url = "https://files.pythonhosted.org/packages/bc/fc/1d6d3a00f0f6a93fc05ecced651b635932d5a37407b44d27a7dbf5f7c3bf/dbus_fast-2.44.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:161a3e6fc8783c30c9feb072e09604d96ec0c465b06bd35b6acc1a0316bd2a27", size = 721094 }, + { url = "https://files.pythonhosted.org/packages/0a/3a/a37242eb170b0da9ef570d7da699420815e000a534b6c52d346ffa14f0a7/dbus_fast-2.44.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:67febe6454e714d85a532bd84969001ed948bbaf1699a7e1e4c6abb5508c9522", size = 768266 }, + { url = "https://files.pythonhosted.org/packages/bf/77/f1d6afe5a05cbc3fed3d8a96231548664427c341f4bf35f5c7318c0be665/dbus_fast-2.44.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:890f0fc046d5db66524ddedeca8c14b65739fbbf32d6488175c07428362bf250", size = 754540 }, ] [[package]] @@ -511,11 +515,11 @@ wheels = [ [[package]] name = "filelock" -version = "3.17.0" +version = "3.18.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/dc/9c/0b15fb47b464e1b663b1acd1253a062aa5feecb07d4e597daea542ebd2b5/filelock-3.17.0.tar.gz", hash = "sha256:ee4e77401ef576ebb38cd7f13b9b28893194acc20a8e68e18730ba9c0e54660e", size = 18027 } +sdist = { url = "https://files.pythonhosted.org/packages/0a/10/c23352565a6544bdc5353e0b15fc1c563352101f30e24bf500207a54df9a/filelock-3.18.0.tar.gz", hash = "sha256:adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2", size = 18075 } wheels = [ - { url = "https://files.pythonhosted.org/packages/89/ec/00d68c4ddfedfe64159999e5f8a98fb8442729a63e2077eb9dcd89623d27/filelock-3.17.0-py3-none-any.whl", hash = "sha256:533dc2f7ba78dc2f0f531fc6c4940addf7b70a481e269a5a3b93be94ffbe8338", size = 16164 }, + { url = "https://files.pythonhosted.org/packages/4d/36/2a115987e2d8c300a974597416d9de88f2444426de9571f4b59b2cca3acc/filelock-3.18.0-py3-none-any.whl", hash = "sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de", size = 16215 }, ] [[package]] @@ -560,7 +564,7 @@ requires-dist = [ [package.metadata.requires-dev] dev = [ { name = "packaging", specifier = ">=24.1,<25.0" }, - { name = "pre-commit", specifier = ">=3.8.0,<4.0.0" }, + { name = "pre-commit", specifier = ">=4.0.0,<5.0.0" }, { name = "pyright", specifier = ">=1.1.391,<2.0.0" }, { name = "ruff", specifier = ">=0.8.4,<1.0.0" }, { name = "tomli", specifier = ">=2.0.1,<3.0.0" }, @@ -657,11 +661,11 @@ wheels = [ [[package]] name = "identify" -version = "2.6.8" +version = "2.6.9" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f9/fa/5eb460539e6f5252a7c5a931b53426e49258cde17e3d50685031c300a8fd/identify-2.6.8.tar.gz", hash = "sha256:61491417ea2c0c5c670484fd8abbb34de34cdae1e5f39a73ee65e48e4bb663fc", size = 99249 } +sdist = { url = "https://files.pythonhosted.org/packages/9b/98/a71ab060daec766acc30fb47dfca219d03de34a70d616a79a38c6066c5bf/identify-2.6.9.tar.gz", hash = "sha256:d40dfe3142a1421d8518e3d3985ef5ac42890683e32306ad614a29490abeb6bf", size = 99249 } wheels = [ - { url = "https://files.pythonhosted.org/packages/78/8c/4bfcab2d8286473b8d83ea742716f4b79290172e75f91142bc1534b05b9a/identify-2.6.8-py2.py3-none-any.whl", hash = "sha256:83657f0f766a3c8d0eaea16d4ef42494b39b34629a4b3192a9d020d349b3e255", size = 99109 }, + { url = "https://files.pythonhosted.org/packages/07/ce/0845144ed1f0e25db5e7a79c2354c1da4b5ce392b8966449d5db8dca18f1/identify-2.6.9-py2.py3-none-any.whl", hash = "sha256:c98b4322da415a8e5a70ff6e51fbc2d2932c015532d77e9f8537b4ba7813b150", size = 99101 }, ] [[package]] @@ -696,23 +700,23 @@ wheels = [ [[package]] name = "iniconfig" -version = "2.0.0" +version = "2.1.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d7/4b/cbd8e699e64a6f16ca3a8220661b5f83792b3017d0f79807cb8708d33913/iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3", size = 4646 } +sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793 } wheels = [ - { url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892 }, + { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050 }, ] [[package]] name = "jinja2" -version = "3.1.5" +version = "3.1.6" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "markupsafe" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/af/92/b3130cbbf5591acf9ade8708c365f3238046ac7cb8ccba6e81abccb0ccff/jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb", size = 244674 } +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115 } wheels = [ - { url = "https://files.pythonhosted.org/packages/bd/0f/2ba5fbcd631e3e88689309dbe978c5769e883e4b84ebfe7da30b43275c5a/jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb", size = 134596 }, + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899 }, ] [[package]] @@ -785,89 +789,104 @@ wheels = [ [[package]] name = "multidict" -version = "6.1.0" +version = "6.3.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d6/be/504b89a5e9ca731cd47487e91c469064f8ae5af93b7259758dcfc2b9c848/multidict-6.1.0.tar.gz", hash = "sha256:22ae2ebf9b0c69d206c003e2f6a914ea33f0a932d4aa16f236afc049d9958f4a", size = 64002 } +sdist = { url = "https://files.pythonhosted.org/packages/fa/2d/6e0d6771cadd5ad14d13193cc8326dc0b341cc1659c306cbfce7a5058fff/multidict-6.3.2.tar.gz", hash = "sha256:c1035eea471f759fa853dd6e76aaa1e389f93b3e1403093fa0fd3ab4db490678", size = 88060 } wheels = [ - { url = "https://files.pythonhosted.org/packages/29/68/259dee7fd14cf56a17c554125e534f6274c2860159692a414d0b402b9a6d/multidict-6.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3380252550e372e8511d49481bd836264c009adb826b23fefcc5dd3c69692f60", size = 48628 }, - { url = "https://files.pythonhosted.org/packages/50/79/53ba256069fe5386a4a9e80d4e12857ced9de295baf3e20c68cdda746e04/multidict-6.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:99f826cbf970077383d7de805c0681799491cb939c25450b9b5b3ced03ca99f1", size = 29327 }, - { url = "https://files.pythonhosted.org/packages/ff/10/71f1379b05b196dae749b5ac062e87273e3f11634f447ebac12a571d90ae/multidict-6.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a114d03b938376557927ab23f1e950827c3b893ccb94b62fd95d430fd0e5cf53", size = 29689 }, - { url = "https://files.pythonhosted.org/packages/71/45/70bac4f87438ded36ad4793793c0095de6572d433d98575a5752629ef549/multidict-6.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1c416351ee6271b2f49b56ad7f308072f6f44b37118d69c2cad94f3fa8a40d5", size = 126639 }, - { url = "https://files.pythonhosted.org/packages/80/cf/17f35b3b9509b4959303c05379c4bfb0d7dd05c3306039fc79cf035bbac0/multidict-6.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6b5d83030255983181005e6cfbac1617ce9746b219bc2aad52201ad121226581", size = 134315 }, - { url = "https://files.pythonhosted.org/packages/ef/1f/652d70ab5effb33c031510a3503d4d6efc5ec93153562f1ee0acdc895a57/multidict-6.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3e97b5e938051226dc025ec80980c285b053ffb1e25a3db2a3aa3bc046bf7f56", size = 129471 }, - { url = "https://files.pythonhosted.org/packages/a6/64/2dd6c4c681688c0165dea3975a6a4eab4944ea30f35000f8b8af1df3148c/multidict-6.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d618649d4e70ac6efcbba75be98b26ef5078faad23592f9b51ca492953012429", size = 124585 }, - { url = "https://files.pythonhosted.org/packages/87/56/e6ee5459894c7e554b57ba88f7257dc3c3d2d379cb15baaa1e265b8c6165/multidict-6.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10524ebd769727ac77ef2278390fb0068d83f3acb7773792a5080f2b0abf7748", size = 116957 }, - { url = "https://files.pythonhosted.org/packages/36/9e/616ce5e8d375c24b84f14fc263c7ef1d8d5e8ef529dbc0f1df8ce71bb5b8/multidict-6.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ff3827aef427c89a25cc96ded1759271a93603aba9fb977a6d264648ebf989db", size = 128609 }, - { url = "https://files.pythonhosted.org/packages/8c/4f/4783e48a38495d000f2124020dc96bacc806a4340345211b1ab6175a6cb4/multidict-6.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:06809f4f0f7ab7ea2cabf9caca7d79c22c0758b58a71f9d32943ae13c7ace056", size = 123016 }, - { url = "https://files.pythonhosted.org/packages/3e/b3/4950551ab8fc39862ba5e9907dc821f896aa829b4524b4deefd3e12945ab/multidict-6.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f179dee3b863ab1c59580ff60f9d99f632f34ccb38bf67a33ec6b3ecadd0fd76", size = 133542 }, - { url = "https://files.pythonhosted.org/packages/96/4d/f0ce6ac9914168a2a71df117935bb1f1781916acdecbb43285e225b484b8/multidict-6.1.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:aaed8b0562be4a0876ee3b6946f6869b7bcdb571a5d1496683505944e268b160", size = 130163 }, - { url = "https://files.pythonhosted.org/packages/be/72/17c9f67e7542a49dd252c5ae50248607dfb780bcc03035907dafefb067e3/multidict-6.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3c8b88a2ccf5493b6c8da9076fb151ba106960a2df90c2633f342f120751a9e7", size = 126832 }, - { url = "https://files.pythonhosted.org/packages/71/9f/72d719e248cbd755c8736c6d14780533a1606ffb3fbb0fbd77da9f0372da/multidict-6.1.0-cp310-cp310-win32.whl", hash = "sha256:4a9cb68166a34117d6646c0023c7b759bf197bee5ad4272f420a0141d7eb03a0", size = 26402 }, - { url = "https://files.pythonhosted.org/packages/04/5a/d88cd5d00a184e1ddffc82aa2e6e915164a6d2641ed3606e766b5d2f275a/multidict-6.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:20b9b5fbe0b88d0bdef2012ef7dee867f874b72528cf1d08f1d59b0e3850129d", size = 28800 }, - { url = "https://files.pythonhosted.org/packages/93/13/df3505a46d0cd08428e4c8169a196131d1b0c4b515c3649829258843dde6/multidict-6.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3efe2c2cb5763f2f1b275ad2bf7a287d3f7ebbef35648a9726e3b69284a4f3d6", size = 48570 }, - { url = "https://files.pythonhosted.org/packages/f0/e1/a215908bfae1343cdb72f805366592bdd60487b4232d039c437fe8f5013d/multidict-6.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7053d3b0353a8b9de430a4f4b4268ac9a4fb3481af37dfe49825bf45ca24156", size = 29316 }, - { url = "https://files.pythonhosted.org/packages/70/0f/6dc70ddf5d442702ed74f298d69977f904960b82368532c88e854b79f72b/multidict-6.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:27e5fc84ccef8dfaabb09d82b7d179c7cf1a3fbc8a966f8274fcb4ab2eb4cadb", size = 29640 }, - { url = "https://files.pythonhosted.org/packages/d8/6d/9c87b73a13d1cdea30b321ef4b3824449866bd7f7127eceed066ccb9b9ff/multidict-6.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e2b90b43e696f25c62656389d32236e049568b39320e2735d51f08fd362761b", size = 131067 }, - { url = "https://files.pythonhosted.org/packages/cc/1e/1b34154fef373371fd6c65125b3d42ff5f56c7ccc6bfff91b9b3c60ae9e0/multidict-6.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d83a047959d38a7ff552ff94be767b7fd79b831ad1cd9920662db05fec24fe72", size = 138507 }, - { url = "https://files.pythonhosted.org/packages/fb/e0/0bc6b2bac6e461822b5f575eae85da6aae76d0e2a79b6665d6206b8e2e48/multidict-6.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d1a9dd711d0877a1ece3d2e4fea11a8e75741ca21954c919406b44e7cf971304", size = 133905 }, - { url = "https://files.pythonhosted.org/packages/ba/af/73d13b918071ff9b2205fcf773d316e0f8fefb4ec65354bbcf0b10908cc6/multidict-6.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec2abea24d98246b94913b76a125e855eb5c434f7c46546046372fe60f666351", size = 129004 }, - { url = "https://files.pythonhosted.org/packages/74/21/23960627b00ed39643302d81bcda44c9444ebcdc04ee5bedd0757513f259/multidict-6.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4867cafcbc6585e4b678876c489b9273b13e9fff9f6d6d66add5e15d11d926cb", size = 121308 }, - { url = "https://files.pythonhosted.org/packages/8b/5c/cf282263ffce4a596ed0bb2aa1a1dddfe1996d6a62d08842a8d4b33dca13/multidict-6.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5b48204e8d955c47c55b72779802b219a39acc3ee3d0116d5080c388970b76e3", size = 132608 }, - { url = "https://files.pythonhosted.org/packages/d7/3e/97e778c041c72063f42b290888daff008d3ab1427f5b09b714f5a8eff294/multidict-6.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d8fff389528cad1618fb4b26b95550327495462cd745d879a8c7c2115248e399", size = 127029 }, - { url = "https://files.pythonhosted.org/packages/47/ac/3efb7bfe2f3aefcf8d103e9a7162572f01936155ab2f7ebcc7c255a23212/multidict-6.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a7a9541cd308eed5e30318430a9c74d2132e9a8cb46b901326272d780bf2d423", size = 137594 }, - { url = "https://files.pythonhosted.org/packages/42/9b/6c6e9e8dc4f915fc90a9b7798c44a30773dea2995fdcb619870e705afe2b/multidict-6.1.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:da1758c76f50c39a2efd5e9859ce7d776317eb1dd34317c8152ac9251fc574a3", size = 134556 }, - { url = "https://files.pythonhosted.org/packages/1d/10/8e881743b26aaf718379a14ac58572a240e8293a1c9d68e1418fb11c0f90/multidict-6.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c943a53e9186688b45b323602298ab727d8865d8c9ee0b17f8d62d14b56f0753", size = 130993 }, - { url = "https://files.pythonhosted.org/packages/45/84/3eb91b4b557442802d058a7579e864b329968c8d0ea57d907e7023c677f2/multidict-6.1.0-cp311-cp311-win32.whl", hash = "sha256:90f8717cb649eea3504091e640a1b8568faad18bd4b9fcd692853a04475a4b80", size = 26405 }, - { url = "https://files.pythonhosted.org/packages/9f/0b/ad879847ecbf6d27e90a6eabb7eff6b62c129eefe617ea45eae7c1f0aead/multidict-6.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:82176036e65644a6cc5bd619f65f6f19781e8ec2e5330f51aa9ada7504cc1926", size = 28795 }, - { url = "https://files.pythonhosted.org/packages/fd/16/92057c74ba3b96d5e211b553895cd6dc7cc4d1e43d9ab8fafc727681ef71/multidict-6.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b04772ed465fa3cc947db808fa306d79b43e896beb677a56fb2347ca1a49c1fa", size = 48713 }, - { url = "https://files.pythonhosted.org/packages/94/3d/37d1b8893ae79716179540b89fc6a0ee56b4a65fcc0d63535c6f5d96f217/multidict-6.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6180c0ae073bddeb5a97a38c03f30c233e0a4d39cd86166251617d1bbd0af436", size = 29516 }, - { url = "https://files.pythonhosted.org/packages/a2/12/adb6b3200c363062f805275b4c1e656be2b3681aada66c80129932ff0bae/multidict-6.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:071120490b47aa997cca00666923a83f02c7fbb44f71cf7f136df753f7fa8761", size = 29557 }, - { url = "https://files.pythonhosted.org/packages/47/e9/604bb05e6e5bce1e6a5cf80a474e0f072e80d8ac105f1b994a53e0b28c42/multidict-6.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50b3a2710631848991d0bf7de077502e8994c804bb805aeb2925a981de58ec2e", size = 130170 }, - { url = "https://files.pythonhosted.org/packages/7e/13/9efa50801785eccbf7086b3c83b71a4fb501a4d43549c2f2f80b8787d69f/multidict-6.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b58c621844d55e71c1b7f7c498ce5aa6985d743a1a59034c57a905b3f153c1ef", size = 134836 }, - { url = "https://files.pythonhosted.org/packages/bf/0f/93808b765192780d117814a6dfcc2e75de6dcc610009ad408b8814dca3ba/multidict-6.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55b6d90641869892caa9ca42ff913f7ff1c5ece06474fbd32fb2cf6834726c95", size = 133475 }, - { url = "https://files.pythonhosted.org/packages/d3/c8/529101d7176fe7dfe1d99604e48d69c5dfdcadb4f06561f465c8ef12b4df/multidict-6.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b820514bfc0b98a30e3d85462084779900347e4d49267f747ff54060cc33925", size = 131049 }, - { url = "https://files.pythonhosted.org/packages/ca/0c/fc85b439014d5a58063e19c3a158a889deec399d47b5269a0f3b6a2e28bc/multidict-6.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10a9b09aba0c5b48c53761b7c720aaaf7cf236d5fe394cd399c7ba662d5f9966", size = 120370 }, - { url = "https://files.pythonhosted.org/packages/db/46/d4416eb20176492d2258fbd47b4abe729ff3b6e9c829ea4236f93c865089/multidict-6.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e16bf3e5fc9f44632affb159d30a437bfe286ce9e02754759be5536b169b305", size = 125178 }, - { url = "https://files.pythonhosted.org/packages/5b/46/73697ad7ec521df7de5531a32780bbfd908ded0643cbe457f981a701457c/multidict-6.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76f364861c3bfc98cbbcbd402d83454ed9e01a5224bb3a28bf70002a230f73e2", size = 119567 }, - { url = "https://files.pythonhosted.org/packages/cd/ed/51f060e2cb0e7635329fa6ff930aa5cffa17f4c7f5c6c3ddc3500708e2f2/multidict-6.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:820c661588bd01a0aa62a1283f20d2be4281b086f80dad9e955e690c75fb54a2", size = 129822 }, - { url = "https://files.pythonhosted.org/packages/df/9e/ee7d1954b1331da3eddea0c4e08d9142da5f14b1321c7301f5014f49d492/multidict-6.1.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0e5f362e895bc5b9e67fe6e4ded2492d8124bdf817827f33c5b46c2fe3ffaca6", size = 128656 }, - { url = "https://files.pythonhosted.org/packages/77/00/8538f11e3356b5d95fa4b024aa566cde7a38aa7a5f08f4912b32a037c5dc/multidict-6.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ec660d19bbc671e3a6443325f07263be452c453ac9e512f5eb935e7d4ac28b3", size = 125360 }, - { url = "https://files.pythonhosted.org/packages/be/05/5d334c1f2462d43fec2363cd00b1c44c93a78c3925d952e9a71caf662e96/multidict-6.1.0-cp312-cp312-win32.whl", hash = "sha256:58130ecf8f7b8112cdb841486404f1282b9c86ccb30d3519faf301b2e5659133", size = 26382 }, - { url = "https://files.pythonhosted.org/packages/a3/bf/f332a13486b1ed0496d624bcc7e8357bb8053823e8cd4b9a18edc1d97e73/multidict-6.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:188215fc0aafb8e03341995e7c4797860181562380f81ed0a87ff455b70bf1f1", size = 28529 }, - { url = "https://files.pythonhosted.org/packages/22/67/1c7c0f39fe069aa4e5d794f323be24bf4d33d62d2a348acdb7991f8f30db/multidict-6.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:d569388c381b24671589335a3be6e1d45546c2988c2ebe30fdcada8457a31008", size = 48771 }, - { url = "https://files.pythonhosted.org/packages/3c/25/c186ee7b212bdf0df2519eacfb1981a017bda34392c67542c274651daf23/multidict-6.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:052e10d2d37810b99cc170b785945421141bf7bb7d2f8799d431e7db229c385f", size = 29533 }, - { url = "https://files.pythonhosted.org/packages/67/5e/04575fd837e0958e324ca035b339cea174554f6f641d3fb2b4f2e7ff44a2/multidict-6.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f90c822a402cb865e396a504f9fc8173ef34212a342d92e362ca498cad308e28", size = 29595 }, - { url = "https://files.pythonhosted.org/packages/d3/b2/e56388f86663810c07cfe4a3c3d87227f3811eeb2d08450b9e5d19d78876/multidict-6.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b225d95519a5bf73860323e633a664b0d85ad3d5bede6d30d95b35d4dfe8805b", size = 130094 }, - { url = "https://files.pythonhosted.org/packages/6c/ee/30ae9b4186a644d284543d55d491fbd4239b015d36b23fea43b4c94f7052/multidict-6.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:23bfd518810af7de1116313ebd9092cb9aa629beb12f6ed631ad53356ed6b86c", size = 134876 }, - { url = "https://files.pythonhosted.org/packages/84/c7/70461c13ba8ce3c779503c70ec9d0345ae84de04521c1f45a04d5f48943d/multidict-6.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c09fcfdccdd0b57867577b719c69e347a436b86cd83747f179dbf0cc0d4c1f3", size = 133500 }, - { url = "https://files.pythonhosted.org/packages/4a/9f/002af221253f10f99959561123fae676148dd730e2daa2cd053846a58507/multidict-6.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf6bea52ec97e95560af5ae576bdac3aa3aae0b6758c6efa115236d9e07dae44", size = 131099 }, - { url = "https://files.pythonhosted.org/packages/82/42/d1c7a7301d52af79d88548a97e297f9d99c961ad76bbe6f67442bb77f097/multidict-6.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57feec87371dbb3520da6192213c7d6fc892d5589a93db548331954de8248fd2", size = 120403 }, - { url = "https://files.pythonhosted.org/packages/68/f3/471985c2c7ac707547553e8f37cff5158030d36bdec4414cb825fbaa5327/multidict-6.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0c3f390dc53279cbc8ba976e5f8035eab997829066756d811616b652b00a23a3", size = 125348 }, - { url = "https://files.pythonhosted.org/packages/67/2c/e6df05c77e0e433c214ec1d21ddd203d9a4770a1f2866a8ca40a545869a0/multidict-6.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:59bfeae4b25ec05b34f1956eaa1cb38032282cd4dfabc5056d0a1ec4d696d3aa", size = 119673 }, - { url = "https://files.pythonhosted.org/packages/c5/cd/bc8608fff06239c9fb333f9db7743a1b2eafe98c2666c9a196e867a3a0a4/multidict-6.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b2f59caeaf7632cc633b5cf6fc449372b83bbdf0da4ae04d5be36118e46cc0aa", size = 129927 }, - { url = "https://files.pythonhosted.org/packages/44/8e/281b69b7bc84fc963a44dc6e0bbcc7150e517b91df368a27834299a526ac/multidict-6.1.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:37bb93b2178e02b7b618893990941900fd25b6b9ac0fa49931a40aecdf083fe4", size = 128711 }, - { url = "https://files.pythonhosted.org/packages/12/a4/63e7cd38ed29dd9f1881d5119f272c898ca92536cdb53ffe0843197f6c85/multidict-6.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4e9f48f58c2c523d5a06faea47866cd35b32655c46b443f163d08c6d0ddb17d6", size = 125519 }, - { url = "https://files.pythonhosted.org/packages/38/e0/4f5855037a72cd8a7a2f60a3952d9aa45feedb37ae7831642102604e8a37/multidict-6.1.0-cp313-cp313-win32.whl", hash = "sha256:3a37ffb35399029b45c6cc33640a92bef403c9fd388acce75cdc88f58bd19a81", size = 26426 }, - { url = "https://files.pythonhosted.org/packages/7e/a5/17ee3a4db1e310b7405f5d25834460073a8ccd86198ce044dfaf69eac073/multidict-6.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:e9aa71e15d9d9beaad2c6b9319edcdc0a49a43ef5c0a4c8265ca9ee7d6c67774", size = 28531 }, - { url = "https://files.pythonhosted.org/packages/e7/c9/9e153a6572b38ac5ff4434113af38acf8d5e9957897cdb1f513b3d6614ed/multidict-6.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:4e18b656c5e844539d506a0a06432274d7bd52a7487e6828c63a63d69185626c", size = 48550 }, - { url = "https://files.pythonhosted.org/packages/76/f5/79565ddb629eba6c7f704f09a09df085c8dc04643b12506f10f718cee37a/multidict-6.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a185f876e69897a6f3325c3f19f26a297fa058c5e456bfcff8015e9a27e83ae1", size = 29298 }, - { url = "https://files.pythonhosted.org/packages/60/1b/9851878b704bc98e641a3e0bce49382ae9e05743dac6d97748feb5b7baba/multidict-6.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ab7c4ceb38d91570a650dba194e1ca87c2b543488fe9309b4212694174fd539c", size = 29641 }, - { url = "https://files.pythonhosted.org/packages/89/87/d451d45aab9e422cb0fb2f7720c31a4c1d3012c740483c37f642eba568fb/multidict-6.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e617fb6b0b6953fffd762669610c1c4ffd05632c138d61ac7e14ad187870669c", size = 126202 }, - { url = "https://files.pythonhosted.org/packages/fa/b4/27cbe9f3e2e469359887653f2e45470272eef7295139916cc21107c6b48c/multidict-6.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:16e5f4bf4e603eb1fdd5d8180f1a25f30056f22e55ce51fb3d6ad4ab29f7d96f", size = 133925 }, - { url = "https://files.pythonhosted.org/packages/4d/a3/afc841899face8adfd004235ce759a37619f6ec99eafd959650c5ce4df57/multidict-6.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f4c035da3f544b1882bac24115f3e2e8760f10a0107614fc9839fd232200b875", size = 129039 }, - { url = "https://files.pythonhosted.org/packages/5e/41/0d0fb18c1ad574f807196f5f3d99164edf9de3e169a58c6dc2d6ed5742b9/multidict-6.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:957cf8e4b6e123a9eea554fa7ebc85674674b713551de587eb318a2df3e00255", size = 124072 }, - { url = "https://files.pythonhosted.org/packages/00/22/defd7a2e71a44e6e5b9a5428f972e5b572e7fe28e404dfa6519bbf057c93/multidict-6.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:483a6aea59cb89904e1ceabd2b47368b5600fb7de78a6e4a2c2987b2d256cf30", size = 116532 }, - { url = "https://files.pythonhosted.org/packages/91/25/f7545102def0b1d456ab6449388eed2dfd822debba1d65af60194904a23a/multidict-6.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:87701f25a2352e5bf7454caa64757642734da9f6b11384c1f9d1a8e699758057", size = 128173 }, - { url = "https://files.pythonhosted.org/packages/45/79/3dbe8d35fc99f5ea610813a72ab55f426cb9cf482f860fa8496e5409be11/multidict-6.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:682b987361e5fd7a139ed565e30d81fd81e9629acc7d925a205366877d8c8657", size = 122654 }, - { url = "https://files.pythonhosted.org/packages/97/cb/209e735eeab96e1b160825b5d0b36c56d3862abff828fc43999bb957dcad/multidict-6.1.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce2186a7df133a9c895dea3331ddc5ddad42cdd0d1ea2f0a51e5d161e4762f28", size = 133197 }, - { url = "https://files.pythonhosted.org/packages/e4/3a/a13808a7ada62808afccea67837a79d00ad6581440015ef00f726d064c2d/multidict-6.1.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9f636b730f7e8cb19feb87094949ba54ee5357440b9658b2a32a5ce4bce53972", size = 129754 }, - { url = "https://files.pythonhosted.org/packages/77/dd/8540e139eafb240079242da8f8ffdf9d3f4b4ad1aac5a786cd4050923783/multidict-6.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:73eae06aa53af2ea5270cc066dcaf02cc60d2994bbb2c4ef5764949257d10f43", size = 126402 }, - { url = "https://files.pythonhosted.org/packages/86/99/e82e1a275d8b1ea16d3a251474262258dbbe41c05cce0c01bceda1fc8ea5/multidict-6.1.0-cp39-cp39-win32.whl", hash = "sha256:1ca0083e80e791cffc6efce7660ad24af66c8d4079d2a750b29001b53ff59ada", size = 26421 }, - { url = "https://files.pythonhosted.org/packages/86/1c/9fa630272355af7e4446a2c7550c259f11ee422ab2d30ff90a0a71cf3d9e/multidict-6.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:aa466da5b15ccea564bdab9c89175c762bc12825f4659c11227f515cee76fa4a", size = 28791 }, - { url = "https://files.pythonhosted.org/packages/99/b7/b9e70fde2c0f0c9af4cc5277782a89b66d35948ea3369ec9f598358c3ac5/multidict-6.1.0-py3-none-any.whl", hash = "sha256:48e171e52d1c4d33888e529b999e5900356b9ae588c2f09a52dcefb158b27506", size = 10051 }, + { url = "https://files.pythonhosted.org/packages/4e/9f/96bed056ed3e1fa86fa9880963e21a098e1e94dc6e2ced51a960d56ed802/multidict-6.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8b3dc0eec9304fa04d84a51ea13b0ec170bace5b7ddeaac748149efd316f1504", size = 62769 }, + { url = "https://files.pythonhosted.org/packages/69/6a/c3197d0ff579d2393bab259c6129c963ebec50014fbd757440645402b4c0/multidict-6.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9534f3d84addd3b6018fa83f97c9d4247aaa94ac917d1ed7b2523306f99f5c16", size = 37127 }, + { url = "https://files.pythonhosted.org/packages/a6/d8/21b15813270d56486041452a44b02b4c02cd492edb8eb13c3ce1de7744f1/multidict-6.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a003ce1413ae01f0b8789c1c987991346a94620a4d22210f7a8fe753646d3209", size = 36399 }, + { url = "https://files.pythonhosted.org/packages/8f/f6/2ffe2d4b565551bf0b1b1e9630c6f21f728fc24cd7d880f1baf5e7025be3/multidict-6.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b43f7384e68b1b982c99f489921a459467b5584bdb963b25e0df57c9039d0ad", size = 236561 }, + { url = "https://files.pythonhosted.org/packages/c4/d7/935810c224360c63fe3b9233433ea9197399431e362e38ff0daf082624ee/multidict-6.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d142ae84047262dc75c1f92eaf95b20680f85ce11d35571b4c97e267f96fadc4", size = 249850 }, + { url = "https://files.pythonhosted.org/packages/d0/10/355802a51e4426354b645585a9f0a4a4f0352b7619251da152f0235069ed/multidict-6.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ec7e86fbc48aa1d6d686501a8547818ba8d645e7e40eaa98232a5d43ee4380ad", size = 245566 }, + { url = "https://files.pythonhosted.org/packages/72/cb/2a2b44b207c05018d0909b7c748983753dc9587699664e10709e27605158/multidict-6.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe019fb437632b016e6cac67a7e964f1ef827ef4023f1ca0227b54be354da97e", size = 232030 }, + { url = "https://files.pythonhosted.org/packages/8e/e5/3db1745e939f4c02275154a5ed2816ea70eb1625e1d9363881047a0f9620/multidict-6.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2b60cb81214a9da7cfd8ae2853d5e6e47225ece55fe5833142fe0af321c35299", size = 224255 }, + { url = "https://files.pythonhosted.org/packages/48/2d/f187f506ff5ee3a91a8207a744311649cb1541b180514ea9dc235747ac2a/multidict-6.3.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:32d9e8ef2e0312d4e96ca9adc88e0675b6d8e144349efce4a7c95d5ccb6d88e0", size = 233961 }, + { url = "https://files.pythonhosted.org/packages/8f/e3/5023396bb5f1858f897d1a44199d0abc3072bb7b7bb47dec94c10b535568/multidict-6.3.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:335d584312e3fa43633d63175dfc1a5f137dd7aa03d38d1310237d54c3032774", size = 232430 }, + { url = "https://files.pythonhosted.org/packages/73/d8/f7b80e886af062dbb9d517e5161d841a08bcf44f6bccfccf9cb0ba92e7de/multidict-6.3.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:b8df917faa6b8cac3d6870fc21cb7e4d169faca68e43ffe568c156c9c6408a4d", size = 243102 }, + { url = "https://files.pythonhosted.org/packages/53/a5/78e3c05c1916ce3e7beca8da8a026c1a4d9e4ce892f472463be22ddd030d/multidict-6.3.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:cc060b9b89b701dd8fedef5b99e1f1002b8cb95072693233a63389d37e48212d", size = 235610 }, + { url = "https://files.pythonhosted.org/packages/00/29/97b470984a545d09bc5b6b8534559c48d4c427bd6737dc5a6f516061a581/multidict-6.3.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f2ce3be2500658f3c644494b934628bb0c82e549dde250d2119689ce791cc8b8", size = 232287 }, + { url = "https://files.pythonhosted.org/packages/78/a5/121d40559fceb8d78ffe38ee06519fba8c8300ef1eb796c0a790fa0cfbf3/multidict-6.3.2-cp310-cp310-win32.whl", hash = "sha256:dbcb4490d8e74b484449abd51751b8f560dd0a4812eb5dacc6a588498222a9ab", size = 34895 }, + { url = "https://files.pythonhosted.org/packages/04/b1/e90e666158b2c65567f8bb2c1507e9983c4b1b7156cd67e69349a38bd2b2/multidict-6.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:06944f9ced30f8602be873563ed4df7e3f40958f60b2db39732c11d615a33687", size = 38307 }, + { url = "https://files.pythonhosted.org/packages/b1/e3/443e682e42eaddad0b217b7a59627927fa42b6cd7ba7174f0a01eb3fe6b8/multidict-6.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:45a034f41fcd16968c0470d8912d293d7b0d0822fc25739c5c2ff7835b85bc56", size = 62734 }, + { url = "https://files.pythonhosted.org/packages/b1/4f/2126e9bc37f5be2fdfa36cc192e7ef10b3e9c58eec75a4468706aca96891/multidict-6.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:352585cec45f5d83d886fc522955492bb436fca032b11d487b12d31c5a81b9e3", size = 37115 }, + { url = "https://files.pythonhosted.org/packages/6a/af/5aae0c05a66fdf8bf015ee6903d3a250a7d9c6cc75c9478d04995e6ff1e2/multidict-6.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:da9d89d293511fd0a83a90559dc131f8b3292b6975eb80feff19e5f4663647e2", size = 36371 }, + { url = "https://files.pythonhosted.org/packages/94/27/42390b75c20ff63f43fce44f36f9f66be466cd9ee05326051e4caacdb75b/multidict-6.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fa716592224aa652b9347a586cfe018635229074565663894eb4eb21f8307f", size = 243444 }, + { url = "https://files.pythonhosted.org/packages/21/55/77077af851d7678fe0845c4050a537321d82fb12a04d4f6db334a1cc6ff7/multidict-6.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0326278a44c56e94792475268e5cd3d47fbc0bd41ee56928c3bbb103ba7f58fe", size = 256750 }, + { url = "https://files.pythonhosted.org/packages/f1/09/4c5bfeb2fc8a1e14002239bd6a4d9ba2963fb148889d444b05a20db32a41/multidict-6.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bb1ea87f7fe45e5079f6315e95d64d4ca8b43ef656d98bed63a02e3756853a22", size = 251630 }, + { url = "https://files.pythonhosted.org/packages/24/a9/286756a1afb8648772de851f8f39d2dd4076506f0c0fc2b751259fcbf0dd/multidict-6.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7cff3c5a98d037024a9065aafc621a8599fad7b423393685dc83cf7a32f8b691", size = 238522 }, + { url = "https://files.pythonhosted.org/packages/c2/03/4bb17df70742aae786fcbc27e89e2e49c322134698cd0739aec93e91c669/multidict-6.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed99834b053c655d980fb98029003cb24281e47a796052faad4543aa9e01b8e8", size = 230230 }, + { url = "https://files.pythonhosted.org/packages/53/cc/30df95ba07a9f233ae48d0605b3f72457364836b61a8a8e3d333fdcd32c0/multidict-6.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7048440e505d2b4741e5d0b32bd2f427c901f38c7760fc245918be2cf69b3b85", size = 239676 }, + { url = "https://files.pythonhosted.org/packages/25/37/2d9fe2944c2df5b71ba90cf657b90ad65f1542989cdabe4d1bdbf8c51530/multidict-6.3.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:27248c27b563f5889556da8a96e18e98a56ff807ac1a7d56cf4453c2c9e4cd91", size = 238143 }, + { url = "https://files.pythonhosted.org/packages/ce/13/8f833f9f992eae49f4cb1a1ad05b8fbe183721a154d51c2136b177a41bdb/multidict-6.3.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:6323b4ba0e018bd266f776c35f3f0943fc4ee77e481593c9f93bd49888f24e94", size = 248817 }, + { url = "https://files.pythonhosted.org/packages/15/d4/4f49c41af6c4cab962ad51436e6c5acfbdab4fa54f5e98faa56f66f89b03/multidict-6.3.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:81f7ce5ec7c27d0b45c10449c8f0fed192b93251e2e98cb0b21fec779ef1dc4d", size = 241268 }, + { url = "https://files.pythonhosted.org/packages/af/60/e723a00f7bb44366eab8d02fe6f076ecfad58331e10f6f0ce94cb989819c/multidict-6.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:03bfcf2825b3bed0ba08a9d854acd18b938cab0d2dba3372b51c78e496bac811", size = 238267 }, + { url = "https://files.pythonhosted.org/packages/62/a6/f6b63fc51c8a4e228e6d2105061be3048b02d490d47e67f7ec2de575f1d0/multidict-6.3.2-cp311-cp311-win32.whl", hash = "sha256:f32c2790512cae6ca886920e58cdc8c784bdc4bb2a5ec74127c71980369d18dc", size = 34986 }, + { url = "https://files.pythonhosted.org/packages/85/56/ea976a5e3ebe0e871e004d9cacfe4c803f8ade353eaf4a247580e9dd7b9d/multidict-6.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:0b0c15e58e038a2cd75ef7cf7e072bc39b5e0488b165902efb27978984bbad70", size = 38427 }, + { url = "https://files.pythonhosted.org/packages/83/ae/bd7518193b4374484c04ba0f6522d0572dc17fcd53d238deb3cb3643c858/multidict-6.3.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d1e0ba1ce1b8cc79117196642d95f4365e118eaf5fb85f57cdbcc5a25640b2a4", size = 62680 }, + { url = "https://files.pythonhosted.org/packages/59/e0/a0a9247c32f385ac4c1afefe9c3f2271fb8e235aad72332d42384c41b9cb/multidict-6.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:029bbd7d782251a78975214b78ee632672310f9233d49531fc93e8e99154af25", size = 37366 }, + { url = "https://files.pythonhosted.org/packages/c3/fa/8c23cdd4492d59bea0e762662285f2163766e69e5ea715fe6a03a8670660/multidict-6.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d7db41e3b56817d9175264e5fe00192fbcb8e1265307a59f53dede86161b150e", size = 36103 }, + { url = "https://files.pythonhosted.org/packages/87/35/3bcc3616cb54d3a327b1d26dbec284c3eb7b179e8a78a6075852dbb51dac/multidict-6.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fcab18e65cc555ac29981a581518c23311f2b1e72d8f658f9891590465383be", size = 248231 }, + { url = "https://files.pythonhosted.org/packages/b8/c3/17ddbfd6fc3eed9ab7326a43651e1a97da73f7acc69b78a7bb04b59c073d/multidict-6.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0d50eff89aa4d145a5486b171a2177042d08ea5105f813027eb1050abe91839f", size = 259423 }, + { url = "https://files.pythonhosted.org/packages/1f/67/64b18180e8f559cc93efaaaac2fe0746b9c978560866b6fdd626d3237129/multidict-6.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:643e57b403d3e240045a3681f9e6a04d35a33eddc501b4cbbbdbc9c70122e7bc", size = 256204 }, + { url = "https://files.pythonhosted.org/packages/21/f6/e81a8e4817c2d32787b33ae58c72dc3fe08e0ba8e56e660a225df3cb8619/multidict-6.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d17b37b9715b30605b5bab1460569742d0c309e5c20079263b440f5d7746e7e", size = 249663 }, + { url = "https://files.pythonhosted.org/packages/3e/e8/44ca66758df031a8119483cf5385e2ff3b09b9c6df8f3396d626c325b553/multidict-6.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:68acd51fa94e63312b8ddf84bfc9c3d3442fe1f9988bbe1b6c703043af8867fe", size = 232236 }, + { url = "https://files.pythonhosted.org/packages/93/76/d2faabbac582dc100a4d7ecf7d0ab8dd2aadf7f10d5d5a19e9932cf63a2e/multidict-6.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:347eea2852ab7f697cc5ed9b1aae96b08f8529cca0c6468f747f0781b1842898", size = 252638 }, + { url = "https://files.pythonhosted.org/packages/63/37/f5a6ea10dab96491b7300be940f86a5490dc474d18473c438f2550b78da3/multidict-6.3.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e4d3f8e57027dcda84a1aa181501c15c45eab9566eb6fcc274cbd1e7561224f8", size = 247917 }, + { url = "https://files.pythonhosted.org/packages/d4/b1/2c32b684763b69becbaaa61b7af8a45a6f757fc82d9b4b123ca90cb69f75/multidict-6.3.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:9ca57a841ffcf712e47875d026aa49d6e67f9560624d54b51628603700d5d287", size = 261754 }, + { url = "https://files.pythonhosted.org/packages/cd/f2/badedad94e1731debe56d076c9e61a1658c5e9d65dfa9c1ee74d1e3d31d7/multidict-6.3.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:7cafdafb44c4e646118410368307693e49d19167e5f119cbe3a88697d2d1a636", size = 256389 }, + { url = "https://files.pythonhosted.org/packages/c6/3a/0a3488be2e5a6499f512e748d31e8fb90b753eb35793ecf390b9d8548e66/multidict-6.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:430120c6ce3715a9c6075cabcee557daccbcca8ba25a9fedf05c7bf564532f2d", size = 251902 }, + { url = "https://files.pythonhosted.org/packages/fe/44/62f76d0a5d836b96168f39a402a75dd3114d0df3cbb5669e0310034b71be/multidict-6.3.2-cp312-cp312-win32.whl", hash = "sha256:13bec31375235a68457ab887ce1bbf4f59d5810d838ae5d7e5b416242e1f3ed4", size = 35101 }, + { url = "https://files.pythonhosted.org/packages/8f/a4/7aaf2313e1766710010c35f9d738fd6309fb71a758f8c0e81853b90afb3d/multidict-6.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:c3b6d7620e6e90c6d97eaf3a63bf7fbd2ba253aab89120a4a9c660bf2d675391", size = 38479 }, + { url = "https://files.pythonhosted.org/packages/b1/b2/15db2b1bec1fe8ab5e7c210e3cd247ed902ef86b58b9f39b0a75476d0e8d/multidict-6.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:b9ca24700322816ae0d426aa33671cf68242f8cc85cee0d0e936465ddaee90b5", size = 62345 }, + { url = "https://files.pythonhosted.org/packages/5f/91/22ea27da2c3ffb8266a92f91f17a84dec2cbdd0f91aa7e5f7d514534dd92/multidict-6.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d9fbbe23667d596ff4f9f74d44b06e40ebb0ab6b262cf14a284f859a66f86457", size = 37205 }, + { url = "https://files.pythonhosted.org/packages/23/cb/563a7481ae677531da84aad86c2de7ebc23446d856d2f6d9794ad4fff375/multidict-6.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9cb602c5bea0589570ad3a4a6f2649c4f13cc7a1e97b4c616e5e9ff8dc490987", size = 35931 }, + { url = "https://files.pythonhosted.org/packages/7c/b7/98fe4f4cd7a0b77a4a48fd3f619848b9e8af4e692eb681f9df9f58d86456/multidict-6.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:93ca81dd4d1542e20000ed90f4cc84b7713776f620d04c2b75b8efbe61106c99", size = 246946 }, + { url = "https://files.pythonhosted.org/packages/7e/a3/22dcbd0b58d253719acaf0257a2f35bf609bfd6b73690fcc9e7bdbd3b392/multidict-6.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:18b6310b5454c62242577a128c87df8897f39dd913311cf2e1298e47dfc089eb", size = 260559 }, + { url = "https://files.pythonhosted.org/packages/1c/d4/25eb076f0c2c28d73e7959f3fcc8371e7a029815b5d06e79ea3a265500d2/multidict-6.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7a6dda57de1fc9aedfdb600a8640c99385cdab59a5716cb714b52b6005797f77", size = 257122 }, + { url = "https://files.pythonhosted.org/packages/28/f8/18c81f5c5b7453dd8d15dc61ceca23d03c55e69f1937842039be2d8c4428/multidict-6.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d8ec42d03cc6b29845552a68151f9e623c541f1708328353220af571e24a247", size = 248535 }, + { url = "https://files.pythonhosted.org/packages/9b/17/c175fab75ecfe1c2dd4f28382dd7e80da6d6f0d73c68036f64b6dce9aeeb/multidict-6.3.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:80681969cee2fa84dafeb53615d51d24246849984e3e87fbe4fe39956f2e23bf", size = 234013 }, + { url = "https://files.pythonhosted.org/packages/2f/03/1611ecf91d7d6249633cb1dd3fb26d456e0dc0dc80cecccfeb89931a126b/multidict-6.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:01489b0c3592bb9d238e5690e9566db7f77a5380f054b57077d2c4deeaade0eb", size = 249222 }, + { url = "https://files.pythonhosted.org/packages/66/04/0035b77bbffb55f276f00b427e45870194002f9f42e1e3de785d45880372/multidict-6.3.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:522d9f1fd995d04dfedc0a40bca7e2591bc577d920079df50b56245a4a252c1c", size = 245594 }, + { url = "https://files.pythonhosted.org/packages/fe/4c/b52ebcd8ff13a3c833b07cfffa0f50f736b061954a151ee5fe6669bb1bd8/multidict-6.3.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:2014e9cf0b4e9c75bbad49c1758e5a9bf967a56184fc5fcc51527425baf5abba", size = 258709 }, + { url = "https://files.pythonhosted.org/packages/fd/78/9c4433517e8f09035a14aba469617c9cf41a214ca987d9127b84b3de4848/multidict-6.3.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:78ced9fcbee79e446ff4bb3018ac7ba1670703de7873d9c1f6f9883db53c71bc", size = 254015 }, + { url = "https://files.pythonhosted.org/packages/6d/76/8464b4d2e9980bd754aa1850919caef9854453f0400c60f84c79947b799d/multidict-6.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1faf01af972bd01216a107c195f5294f9f393531bc3e4faddc9b333581255d4d", size = 249475 }, + { url = "https://files.pythonhosted.org/packages/c4/e2/2b35b7ce226a2ca8c38125f702090faa8d0a35050461fb111fbaa2e023c4/multidict-6.3.2-cp313-cp313-win32.whl", hash = "sha256:7a699ab13d8d8e1f885de1535b4f477fb93836c87168318244c2685da7b7f655", size = 35204 }, + { url = "https://files.pythonhosted.org/packages/c6/c7/09b85dc11cfa83c9a1e3f8367402d56157624e31a05eecd40d5feed1eed1/multidict-6.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:8666bb0d883310c83be01676e302587834dfd185b52758caeab32ef0eb387bc6", size = 38436 }, + { url = "https://files.pythonhosted.org/packages/63/d6/b27f9db9a8dcca95b50911436c9f187047911be0d78ade3352a6bcabb87a/multidict-6.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:d82c95aabee29612b1c4f48b98be98181686eb7d6c0152301f72715705cc787b", size = 67526 }, + { url = "https://files.pythonhosted.org/packages/2d/23/bbf220b0fa6378526890f37fd9a63d4e2ea990a4a344b221618adc3fb8b0/multidict-6.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:f47709173ea9e87a7fd05cd7e5cf1e5d4158924ff988a9a8e0fbd853705f0e68", size = 39390 }, + { url = "https://files.pythonhosted.org/packages/0d/a9/4d1b795b50e6b54609fd7a63db8df30fa0480405b9a46cf8e336f5f28560/multidict-6.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:0c7f9d0276ceaab41b8ae78534ff28ea33d5de85db551cbf80c44371f2b55d13", size = 38869 }, + { url = "https://files.pythonhosted.org/packages/e4/8c/854ee8ad8921335d0b4e740f373390d85d23f6b3956387562de5891ac503/multidict-6.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a6eab22df44a25acab2e738f882f5ec551282ab45b2bbda5301e6d2cfb323036", size = 246911 }, + { url = "https://files.pythonhosted.org/packages/40/65/d6ae9fecb61d1c2fa86a2889f8b58dbfb91fa6a6d7754597e472c8523f6c/multidict-6.3.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a947cb7c657f57874021b9b70c7aac049c877fb576955a40afa8df71d01a1390", size = 251680 }, + { url = "https://files.pythonhosted.org/packages/a3/6c/098304889a699f5fbad8e74b723847a38d22547743baacdfcc8a17777b5b/multidict-6.3.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5faa346e8e1c371187cf345ab1e02a75889f9f510c9cbc575c31b779f7df084d", size = 246706 }, + { url = "https://files.pythonhosted.org/packages/da/9f/a58a04ac1d18f0a2431c48763a8948d0ce65f5911000cc425f8778eb6611/multidict-6.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc6e08d977aebf1718540533b4ba5b351ccec2db093370958a653b1f7f9219cc", size = 242359 }, + { url = "https://files.pythonhosted.org/packages/40/fd/3a76265f2748f718cc05f313c44440658ecd1939fa2b5e66087a5edd605f/multidict-6.3.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:98eab7acf55275b5bf09834125fa3a80b143a9f241cdcdd3f1295ffdc3c6d097", size = 229881 }, + { url = "https://files.pythonhosted.org/packages/22/a9/5780f71e34adf93443ec0660591d877367991badadab9cc6ac02d7a64760/multidict-6.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:36863655630becc224375c0b99364978a0f95aebfb27fb6dd500f7fb5fb36e79", size = 248520 }, + { url = "https://files.pythonhosted.org/packages/f3/72/10988db397e1e819b669213c76a41fde670ba60ecec2c05d5ecdea05526c/multidict-6.3.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:d9c0979c096c0d46a963331b0e400d3a9e560e41219df4b35f0d7a2f28f39710", size = 237649 }, + { url = "https://files.pythonhosted.org/packages/29/75/52a7d3d1c0ffb2e8367f72845f309850113ea9201a50e4d4cdf8ac9f7d72/multidict-6.3.2-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:0efc04f70f05e70e5945890767e8874da5953a196f5b07c552d305afae0f3bf6", size = 251467 }, + { url = "https://files.pythonhosted.org/packages/82/24/e42400008eff60d4af53a2ff313abf0b2715fdd3a71b845d85025844f198/multidict-6.3.2-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:2c519b3b82c34539fae3e22e4ea965869ac6b628794b1eb487780dde37637ab7", size = 245310 }, + { url = "https://files.pythonhosted.org/packages/91/32/8b2e247539d4fdcc6cee36aa71c8898e0acd70e5d0e8a2ce9796a60790e5/multidict-6.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:329160e301f2afd7b43725d3dda8a7ef8ee41d4ceac2083fc0d8c1cc8a4bd56b", size = 243574 }, + { url = "https://files.pythonhosted.org/packages/d2/86/cc42cfa9b85b7d174948a17f828ebcacb0247e727fbedf06506ba93387ef/multidict-6.3.2-cp313-cp313t-win32.whl", hash = "sha256:420e5144a5f598dad8db3128f1695cd42a38a0026c2991091dab91697832f8cc", size = 41908 }, + { url = "https://files.pythonhosted.org/packages/2a/36/5c015523a7650fb5c55380d1c779b938379bd091968ee822d719e4264ab7/multidict-6.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:875faded2861c7af2682c67088e6313fec35ede811e071c96d36b081873cea14", size = 45635 }, + { url = "https://files.pythonhosted.org/packages/1a/5b/d8f61f7daa6278e8cd3ed998f1335dacbe9df39366e1cd061859157f86fd/multidict-6.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2516c5eb5732d6c4e29fa93323bfdc55186895124bc569e2404e3820934be378", size = 62678 }, + { url = "https://files.pythonhosted.org/packages/bd/f8/dc00c5f697a62bdac3131337da26276d9e842cd08a477d4d12bbdf91a312/multidict-6.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:be5c8622e665cc5491c13c0fcd52915cdbae991a3514251d71129691338cdfb2", size = 37071 }, + { url = "https://files.pythonhosted.org/packages/ea/af/380e238f7340e91d14e543bd592c585994097dec5a06828bafd525675103/multidict-6.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3ef33150eea7953cfdb571d862cff894e0ad97ab80d97731eb4b9328fc32d52b", size = 36354 }, + { url = "https://files.pythonhosted.org/packages/45/4c/6f3166e9f7a90f7439dc956cb88d0a51ceb3c423b8f81450ef89870069e7/multidict-6.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40b357738ce46e998f1b1bad9c4b79b2a9755915f71b87a8c01ce123a22a4f99", size = 235935 }, + { url = "https://files.pythonhosted.org/packages/05/7d/346aa561f3059dd2f2f422b6a704aad2e26094690fb49ada98e71feb1691/multidict-6.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:27c60e059fcd3655a653ba99fec2556cd0260ec57f9cb138d3e6ffc413638a2e", size = 248958 }, + { url = "https://files.pythonhosted.org/packages/df/f3/4c0841ae40ee9de3e8ce14fa6869a53b03a16f5ca580604548d3b85562b6/multidict-6.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:629e7c5e75bde83e54a22c7043ce89d68691d1f103be6d09a1c82b870df3b4b8", size = 244894 }, + { url = "https://files.pythonhosted.org/packages/76/bd/0ba520bec2a08698a9dbece5399c07d6139fc286ad9b411987d1d1b34ee1/multidict-6.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee6c8fc97d893fdf1fff15a619fee8de2f31c9b289ef7594730e35074fa0cefb", size = 231468 }, + { url = "https://files.pythonhosted.org/packages/46/69/2eb69ee27cba740241cdde6ffc6fda10ac4114bf609f186be4406d640a8f/multidict-6.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:52081d2f27e0652265d4637b03f09b82f6da5ce5e1474f07dc64674ff8bfc04c", size = 223744 }, + { url = "https://files.pythonhosted.org/packages/9a/28/e17987087faa1432d434ea071b60fbd69e78c50052590f4f1da92955e165/multidict-6.3.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:64529dc395b5fd0a7826ffa70d2d9a7f4abd8f5333d6aaaba67fdf7bedde9f21", size = 233331 }, + { url = "https://files.pythonhosted.org/packages/9c/d9/a76007808d0d53da570397fc411c93911219f9515b5113a09f90f0ef266b/multidict-6.3.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:2b7c3fad827770840f5399348c89635ed6d6e9bba363baad7d3c7f86a9cf1da3", size = 231691 }, + { url = "https://files.pythonhosted.org/packages/02/86/12203785d7bd867aaaa570393bf06de7024ab1d7ea5d47439c5f8dc19780/multidict-6.3.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:24aa42b1651c654ae9e5273e06c3b7ccffe9f7cc76fbde40c37e9ae65f170818", size = 242447 }, + { url = "https://files.pythonhosted.org/packages/bf/38/a040e44f14bd9771cf81aee77b337f28e1515727778013c18c476f401075/multidict-6.3.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:04ceea01e9991357164b12882e120ce6b4d63a0424bb9f9cd37910aa56d30830", size = 235109 }, + { url = "https://files.pythonhosted.org/packages/6e/26/80774106c61826ffc680d47de2148c18b78e726599ddc1524065c974c308/multidict-6.3.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:943897a41160945416617db567d867ab34e9258adaffc56a25a4c3f99d919598", size = 231811 }, + { url = "https://files.pythonhosted.org/packages/75/8e/0ca0e1e02ca368bfb4529a513da01b59ec3b00ec5da977d915116a524787/multidict-6.3.2-cp39-cp39-win32.whl", hash = "sha256:76157a9a0c5380aadd3b5ff7b8deee355ff5adecc66c837b444fa633b4d409a2", size = 34972 }, + { url = "https://files.pythonhosted.org/packages/bc/cf/26e91f5237961b803ee524c30bc833d701e288d9a192c22ac57877687a05/multidict-6.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:d091d123e44035cd5664554308477aff0b58db37e701e7598a67e907b98d1925", size = 38425 }, + { url = "https://files.pythonhosted.org/packages/aa/c1/7832c95a50641148b567b5366dd3354489950dcfd01c8fc28472bec63b9a/multidict-6.3.2-py3-none-any.whl", hash = "sha256:71409d4579f716217f23be2f5e7afca5ca926aaeb398aa11b72d793bff637a1f", size = 10347 }, ] [[package]] @@ -890,11 +909,11 @@ wheels = [ [[package]] name = "platformdirs" -version = "4.3.6" +version = "4.3.7" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/13/fc/128cc9cb8f03208bdbf93d3aa862e16d376844a14f9a0ce5cf4507372de4/platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907", size = 21302 } +sdist = { url = "https://files.pythonhosted.org/packages/b6/2d/7d512a3913d60623e7eb945c6d1b4f0bddf1d0b7ada5225274c87e5b53d1/platformdirs-4.3.7.tar.gz", hash = "sha256:eb437d586b6a0986388f0d6f74aa0cde27b48d0e3d66843640bfb6bdcdb6e351", size = 21291 } wheels = [ - { url = "https://files.pythonhosted.org/packages/3c/a6/bc1012356d8ece4d66dd75c4b9fc6c1f6650ddd5991e421177d9f8f671be/platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb", size = 18439 }, + { url = "https://files.pythonhosted.org/packages/6d/45/59578566b3275b8fd9157885918fcd0c4d74162928a5310926887b856a51/platformdirs-4.3.7-py3-none-any.whl", hash = "sha256:a03875334331946f13c549dbd8f4bac7a13a50a895a0eb1e8c6a8ace80d40a94", size = 18499 }, ] [[package]] @@ -908,7 +927,7 @@ wheels = [ [[package]] name = "pre-commit" -version = "3.8.0" +version = "4.2.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cfgv" }, @@ -917,114 +936,114 @@ dependencies = [ { name = "pyyaml" }, { name = "virtualenv" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/64/10/97ee2fa54dff1e9da9badbc5e35d0bbaef0776271ea5907eccf64140f72f/pre_commit-3.8.0.tar.gz", hash = "sha256:8bb6494d4a20423842e198980c9ecf9f96607a07ea29549e180eef9ae80fe7af", size = 177815 } +sdist = { url = "https://files.pythonhosted.org/packages/08/39/679ca9b26c7bb2999ff122d50faa301e49af82ca9c066ec061cfbc0c6784/pre_commit-4.2.0.tar.gz", hash = "sha256:601283b9757afd87d40c4c4a9b2b5de9637a8ea02eaff7adc2d0fb4e04841146", size = 193424 } wheels = [ - { url = "https://files.pythonhosted.org/packages/07/92/caae8c86e94681b42c246f0bca35c059a2f0529e5b92619f6aba4cf7e7b6/pre_commit-3.8.0-py2.py3-none-any.whl", hash = "sha256:9a90a53bf82fdd8778d58085faf8d83df56e40dfe18f45b19446e26bf1b3a63f", size = 204643 }, + { url = "https://files.pythonhosted.org/packages/88/74/a88bf1b1efeae488a0c0b7bdf71429c313722d1fc0f377537fbe554e6180/pre_commit-4.2.0-py2.py3-none-any.whl", hash = "sha256:a009ca7205f1eb497d10b845e52c838a98b6cdd2102a6c8e4540e94ee75c58bd", size = 220707 }, ] [[package]] name = "propcache" -version = "0.3.0" +version = "0.3.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/92/76/f941e63d55c0293ff7829dd21e7cf1147e90a526756869a9070f287a68c9/propcache-0.3.0.tar.gz", hash = "sha256:a8fd93de4e1d278046345f49e2238cdb298589325849b2645d4a94c53faeffc5", size = 42722 } +sdist = { url = "https://files.pythonhosted.org/packages/07/c8/fdc6686a986feae3541ea23dcaa661bd93972d3940460646c6bb96e21c40/propcache-0.3.1.tar.gz", hash = "sha256:40d980c33765359098837527e18eddefc9a24cea5b45e078a7f3bb5b032c6ecf", size = 43651 } wheels = [ - { url = "https://files.pythonhosted.org/packages/8d/f0/dc9ec44d2e63c13f816a16398c039329736712440ff82b682dd9a78d2258/propcache-0.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:efa44f64c37cc30c9f05932c740a8b40ce359f51882c70883cc95feac842da4d", size = 79574 }, - { url = "https://files.pythonhosted.org/packages/99/3a/33a207dfcb3ee1131ea23a2aeb726c3c4994f89546d7eadf8c50627c8b63/propcache-0.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2383a17385d9800b6eb5855c2f05ee550f803878f344f58b6e194de08b96352c", size = 45898 }, - { url = "https://files.pythonhosted.org/packages/af/68/0bde765c9f5dc02b4466d2838600af38c81b184c26c6d3cd44643ac668e3/propcache-0.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d3e7420211f5a65a54675fd860ea04173cde60a7cc20ccfbafcccd155225f8bc", size = 45418 }, - { url = "https://files.pythonhosted.org/packages/06/a6/c682669bae41199358e16cc7b1c818f91c5f9e925cc863dabd98ce32716a/propcache-0.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3302c5287e504d23bb0e64d2a921d1eb4a03fb93a0a0aa3b53de059f5a5d737d", size = 205116 }, - { url = "https://files.pythonhosted.org/packages/fb/ae/82cfb50267d9a1baa0340728eb9e32245a68538fef929d7bb786d01c11a8/propcache-0.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7e2e068a83552ddf7a39a99488bcba05ac13454fb205c847674da0352602082f", size = 219405 }, - { url = "https://files.pythonhosted.org/packages/ab/16/7b6b2bf8c207cfd0e5ca3d41aea397392de9899867ec024f88c94f9ae2ab/propcache-0.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d913d36bdaf368637b4f88d554fb9cb9d53d6920b9c5563846555938d5450bf", size = 217656 }, - { url = "https://files.pythonhosted.org/packages/f4/eb/41447de61eb5454891658d0fb9b1d7d35d49a4a5dd2e0c86f2c332e8b7e1/propcache-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ee1983728964d6070ab443399c476de93d5d741f71e8f6e7880a065f878e0b9", size = 205414 }, - { url = "https://files.pythonhosted.org/packages/03/b6/9719878f8b5b20d37ee663a40f8dcbf888559e4d3be2ba2fe5c790fc28d2/propcache-0.3.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:36ca5e9a21822cc1746023e88f5c0af6fce3af3b85d4520efb1ce4221bed75cc", size = 195746 }, - { url = "https://files.pythonhosted.org/packages/bb/ec/b79c3210ba459800d1a8f1afeb81d7b503893555a7b79c24082ff26d3314/propcache-0.3.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:9ecde3671e62eeb99e977f5221abcf40c208f69b5eb986b061ccec317c82ebd0", size = 198651 }, - { url = "https://files.pythonhosted.org/packages/48/f6/2b0140bc47013e43575973068e72ad51ee9f22f2dad42e6d6e362d715125/propcache-0.3.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:d383bf5e045d7f9d239b38e6acadd7b7fdf6c0087259a84ae3475d18e9a2ae8b", size = 195858 }, - { url = "https://files.pythonhosted.org/packages/97/3d/2fa19303d87aa21f9a42dcd870d6088a2a776ff5518e394d50412c3679a6/propcache-0.3.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:8cb625bcb5add899cb8ba7bf716ec1d3e8f7cdea9b0713fa99eadf73b6d4986f", size = 197181 }, - { url = "https://files.pythonhosted.org/packages/09/f3/a2170ffc9fa774c1dfd52294113c0fa6cdc5b71dbfd7129bb9378fdd8b42/propcache-0.3.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:5fa159dcee5dba00c1def3231c249cf261185189205073bde13797e57dd7540a", size = 207411 }, - { url = "https://files.pythonhosted.org/packages/d6/1e/cb8a6c82178efffa0b00dc463f36cd086f747345585140aeb95d5cb93666/propcache-0.3.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:a7080b0159ce05f179cfac592cda1a82898ca9cd097dacf8ea20ae33474fbb25", size = 210724 }, - { url = "https://files.pythonhosted.org/packages/2b/72/6e273543337a3e22cf462eb836f065a9830b4d41baeb1f58db2695c934f3/propcache-0.3.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ed7161bccab7696a473fe7ddb619c1d75963732b37da4618ba12e60899fefe4f", size = 203511 }, - { url = "https://files.pythonhosted.org/packages/f3/ea/7412c79bcec06597c967d49789f5a1f7fd76a8654908feeaefafb7447c9a/propcache-0.3.0-cp310-cp310-win32.whl", hash = "sha256:bf0d9a171908f32d54f651648c7290397b8792f4303821c42a74e7805bfb813c", size = 40600 }, - { url = "https://files.pythonhosted.org/packages/a3/42/488c90190491f3e61bd2c2fb0b3d91c1c78778270dde2f0b6633fc9ff723/propcache-0.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:42924dc0c9d73e49908e35bbdec87adedd651ea24c53c29cac103ede0ea1d340", size = 44714 }, - { url = "https://files.pythonhosted.org/packages/45/c9/cf09ff7e6d09f14149094f7cd50d2dec032b24e61af21fc4540da2b17bfb/propcache-0.3.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9ddd49258610499aab83b4f5b61b32e11fce873586282a0e972e5ab3bcadee51", size = 79568 }, - { url = "https://files.pythonhosted.org/packages/c8/32/2424d89da88cd81b7d148e0d2b3131461b570a02aa9d84a2e567509adb0d/propcache-0.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2578541776769b500bada3f8a4eeaf944530516b6e90c089aa368266ed70c49e", size = 45895 }, - { url = "https://files.pythonhosted.org/packages/f6/91/ee5b6aa7aa31754fefcf0c5180e09223cac380ef195c4ddc8c266eb641ea/propcache-0.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d8074c5dd61c8a3e915fa8fc04754fa55cfa5978200d2daa1e2d4294c1f136aa", size = 45427 }, - { url = "https://files.pythonhosted.org/packages/bf/73/38f0128462b8b616181d8c53bd5d04eac41c50c449b07615c65d56ba0a9b/propcache-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b58229a844931bca61b3a20efd2be2a2acb4ad1622fc026504309a6883686fbf", size = 232427 }, - { url = "https://files.pythonhosted.org/packages/59/82/f3d4e84f4539dcfc9c3d338282b9e915f5b63c921986ecfdf7af2d12f87c/propcache-0.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e45377d5d6fefe1677da2a2c07b024a6dac782088e37c0b1efea4cfe2b1be19b", size = 239985 }, - { url = "https://files.pythonhosted.org/packages/42/e8/029f58cccbae83c9969a7ee7a06558d5b83a93dfc54e0f4f70234bbaea1b/propcache-0.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ec5060592d83454e8063e487696ac3783cc48c9a329498bafae0d972bc7816c9", size = 238827 }, - { url = "https://files.pythonhosted.org/packages/8b/a2/c373561777c0cb9b9e7b9b9a10b9b3a7b6bde75a2535b962231cecc8fdb8/propcache-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15010f29fbed80e711db272909a074dc79858c6d28e2915704cfc487a8ac89c6", size = 231348 }, - { url = "https://files.pythonhosted.org/packages/d7/d2/4673f715beedf6038b485bcd976813149231d9df5bb6196cb69a09c185c9/propcache-0.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a254537b9b696ede293bfdbc0a65200e8e4507bc9f37831e2a0318a9b333c85c", size = 220426 }, - { url = "https://files.pythonhosted.org/packages/e0/f6/1da65f900927bafd4675a16e890618ec7643f2f922bf0e4d84bb38645618/propcache-0.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2b975528998de037dfbc10144b8aed9b8dd5a99ec547f14d1cb7c5665a43f075", size = 220294 }, - { url = "https://files.pythonhosted.org/packages/ff/86/620451bdc02e91b1712cd71890c17077ee97e2a28493836a87e47b8e70ff/propcache-0.3.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:19d36bb351ad5554ff20f2ae75f88ce205b0748c38b146c75628577020351e3c", size = 212492 }, - { url = "https://files.pythonhosted.org/packages/6e/1b/e8f86921ed4016da80faf3b8f515f7829decabdbff106736bfff353bceba/propcache-0.3.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:6032231d4a5abd67c7f71168fd64a47b6b451fbcb91c8397c2f7610e67683810", size = 215113 }, - { url = "https://files.pythonhosted.org/packages/1a/95/a61d86cc49aa0945f6c06f3a4614fc543e311a50558c92861f5e9691a37c/propcache-0.3.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:6985a593417cdbc94c7f9c3403747335e450c1599da1647a5af76539672464d3", size = 228330 }, - { url = "https://files.pythonhosted.org/packages/8f/7d/10dbae48ff2bb189e92c2b3487a48f3229146a25941ad0d485934d1104d4/propcache-0.3.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:6a1948df1bb1d56b5e7b0553c0fa04fd0e320997ae99689488201f19fa90d2e7", size = 231942 }, - { url = "https://files.pythonhosted.org/packages/39/ce/82d16aec96c5513ae7db13ab901a65a1e54c915292fb5b2390e33275b61d/propcache-0.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:8319293e85feadbbfe2150a5659dbc2ebc4afdeaf7d98936fb9a2f2ba0d4c35c", size = 223077 }, - { url = "https://files.pythonhosted.org/packages/c8/e0/cb077e8e7a583c733df7f53327fcbdb92e42be59b976ce60bf1d904a0efe/propcache-0.3.0-cp311-cp311-win32.whl", hash = "sha256:63f26258a163c34542c24808f03d734b338da66ba91f410a703e505c8485791d", size = 40455 }, - { url = "https://files.pythonhosted.org/packages/d8/35/57abeb6146fe3c19081eeaf3d9d4cfea256f87f1e5101acf80d3332c1820/propcache-0.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:cacea77ef7a2195f04f9279297684955e3d1ae4241092ff0cfcef532bb7a1c32", size = 44705 }, - { url = "https://files.pythonhosted.org/packages/8d/2c/921f15dc365796ec23975b322b0078eae72995c7b4d49eba554c6a308d70/propcache-0.3.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e53d19c2bf7d0d1e6998a7e693c7e87300dd971808e6618964621ccd0e01fe4e", size = 79867 }, - { url = "https://files.pythonhosted.org/packages/11/a5/4a6cc1a559d1f2fb57ea22edc4245158cdffae92f7f92afcee2913f84417/propcache-0.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a61a68d630e812b67b5bf097ab84e2cd79b48c792857dc10ba8a223f5b06a2af", size = 46109 }, - { url = "https://files.pythonhosted.org/packages/e1/6d/28bfd3af3a567ad7d667348e7f46a520bda958229c4d545ba138a044232f/propcache-0.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fb91d20fa2d3b13deea98a690534697742029f4fb83673a3501ae6e3746508b5", size = 45635 }, - { url = "https://files.pythonhosted.org/packages/73/20/d75b42eaffe5075eac2f4e168f6393d21c664c91225288811d85451b2578/propcache-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:67054e47c01b7b349b94ed0840ccae075449503cf1fdd0a1fdd98ab5ddc2667b", size = 242159 }, - { url = "https://files.pythonhosted.org/packages/a5/fb/4b537dd92f9fd4be68042ec51c9d23885ca5fafe51ec24c58d9401034e5f/propcache-0.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:997e7b8f173a391987df40f3b52c423e5850be6f6df0dcfb5376365440b56667", size = 248163 }, - { url = "https://files.pythonhosted.org/packages/e7/af/8a9db04ac596d531ca0ef7dde518feaadfcdabef7b17d6a5ec59ee3effc2/propcache-0.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d663fd71491dde7dfdfc899d13a067a94198e90695b4321084c6e450743b8c7", size = 248794 }, - { url = "https://files.pythonhosted.org/packages/9d/c4/ecfc988879c0fd9db03228725b662d76cf484b6b46f7e92fee94e4b52490/propcache-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8884ba1a0fe7210b775106b25850f5e5a9dc3c840d1ae9924ee6ea2eb3acbfe7", size = 243912 }, - { url = "https://files.pythonhosted.org/packages/04/a2/298dd27184faa8b7d91cc43488b578db218b3cc85b54d912ed27b8c5597a/propcache-0.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aa806bbc13eac1ab6291ed21ecd2dd426063ca5417dd507e6be58de20e58dfcf", size = 229402 }, - { url = "https://files.pythonhosted.org/packages/be/0d/efe7fec316ca92dbf4bc4a9ba49ca889c43ca6d48ab1d6fa99fc94e5bb98/propcache-0.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6f4d7a7c0aff92e8354cceca6fe223973ddf08401047920df0fcb24be2bd5138", size = 226896 }, - { url = "https://files.pythonhosted.org/packages/60/63/72404380ae1d9c96d96e165aa02c66c2aae6072d067fc4713da5cde96762/propcache-0.3.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:9be90eebc9842a93ef8335291f57b3b7488ac24f70df96a6034a13cb58e6ff86", size = 221447 }, - { url = "https://files.pythonhosted.org/packages/9d/18/b8392cab6e0964b67a30a8f4dadeaff64dc7022b5a34bb1d004ea99646f4/propcache-0.3.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:bf15fc0b45914d9d1b706f7c9c4f66f2b7b053e9517e40123e137e8ca8958b3d", size = 222440 }, - { url = "https://files.pythonhosted.org/packages/6f/be/105d9ceda0f97eff8c06bac1673448b2db2a497444de3646464d3f5dc881/propcache-0.3.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5a16167118677d94bb48bfcd91e420088854eb0737b76ec374b91498fb77a70e", size = 234104 }, - { url = "https://files.pythonhosted.org/packages/cb/c9/f09a4ec394cfcce4053d8b2a04d622b5f22d21ba9bb70edd0cad061fa77b/propcache-0.3.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:41de3da5458edd5678b0f6ff66691507f9885f5fe6a0fb99a5d10d10c0fd2d64", size = 239086 }, - { url = "https://files.pythonhosted.org/packages/ea/aa/96f7f9ed6def82db67c972bdb7bd9f28b95d7d98f7e2abaf144c284bf609/propcache-0.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:728af36011bb5d344c4fe4af79cfe186729efb649d2f8b395d1572fb088a996c", size = 230991 }, - { url = "https://files.pythonhosted.org/packages/5a/11/bee5439de1307d06fad176f7143fec906e499c33d7aff863ea8428b8e98b/propcache-0.3.0-cp312-cp312-win32.whl", hash = "sha256:6b5b7fd6ee7b54e01759f2044f936dcf7dea6e7585f35490f7ca0420fe723c0d", size = 40337 }, - { url = "https://files.pythonhosted.org/packages/e4/17/e5789a54a0455a61cb9efc4ca6071829d992220c2998a27c59aeba749f6f/propcache-0.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:2d15bc27163cd4df433e75f546b9ac31c1ba7b0b128bfb1b90df19082466ff57", size = 44404 }, - { url = "https://files.pythonhosted.org/packages/3a/0f/a79dd23a0efd6ee01ab0dc9750d8479b343bfd0c73560d59d271eb6a99d4/propcache-0.3.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a2b9bf8c79b660d0ca1ad95e587818c30ccdb11f787657458d6f26a1ea18c568", size = 77287 }, - { url = "https://files.pythonhosted.org/packages/b8/51/76675703c90de38ac75adb8deceb3f3ad99b67ff02a0fa5d067757971ab8/propcache-0.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b0c1a133d42c6fc1f5fbcf5c91331657a1ff822e87989bf4a6e2e39b818d0ee9", size = 44923 }, - { url = "https://files.pythonhosted.org/packages/01/9b/fd5ddbee66cf7686e73c516227c2fd9bf471dbfed0f48329d095ea1228d3/propcache-0.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bb2f144c6d98bb5cbc94adeb0447cfd4c0f991341baa68eee3f3b0c9c0e83767", size = 44325 }, - { url = "https://files.pythonhosted.org/packages/13/1c/6961f11eb215a683b34b903b82bde486c606516c1466bf1fa67f26906d51/propcache-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1323cd04d6e92150bcc79d0174ce347ed4b349d748b9358fd2e497b121e03c8", size = 225116 }, - { url = "https://files.pythonhosted.org/packages/ef/ea/f8410c40abcb2e40dffe9adeed017898c930974650a63e5c79b886aa9f73/propcache-0.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b812b3cb6caacd072276ac0492d249f210006c57726b6484a1e1805b3cfeea0", size = 229905 }, - { url = "https://files.pythonhosted.org/packages/ef/5a/a9bf90894001468bf8e6ea293bb00626cc9ef10f8eb7996e9ec29345c7ed/propcache-0.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:742840d1d0438eb7ea4280f3347598f507a199a35a08294afdcc560c3739989d", size = 233221 }, - { url = "https://files.pythonhosted.org/packages/dd/ce/fffdddd9725b690b01d345c1156b4c2cc6dca09ab5c23a6d07b8f37d6e2f/propcache-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7c6e7e4f9167fddc438cd653d826f2222222564daed4116a02a184b464d3ef05", size = 227627 }, - { url = "https://files.pythonhosted.org/packages/58/ae/45c89a5994a334735a3032b48e8e4a98c05d9536ddee0719913dc27da548/propcache-0.3.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a94ffc66738da99232ddffcf7910e0f69e2bbe3a0802e54426dbf0714e1c2ffe", size = 214217 }, - { url = "https://files.pythonhosted.org/packages/01/84/bc60188c3290ff8f5f4a92b9ca2d93a62e449c8daf6fd11ad517ad136926/propcache-0.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:3c6ec957025bf32b15cbc6b67afe233c65b30005e4c55fe5768e4bb518d712f1", size = 212921 }, - { url = "https://files.pythonhosted.org/packages/14/b3/39d60224048feef7a96edabb8217dc3f75415457e5ebbef6814f8b2a27b5/propcache-0.3.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:549722908de62aa0b47a78b90531c022fa6e139f9166be634f667ff45632cc92", size = 208200 }, - { url = "https://files.pythonhosted.org/packages/9d/b3/0a6720b86791251273fff8a01bc8e628bc70903513bd456f86cde1e1ef84/propcache-0.3.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:5d62c4f6706bff5d8a52fd51fec6069bef69e7202ed481486c0bc3874912c787", size = 208400 }, - { url = "https://files.pythonhosted.org/packages/e9/4f/bb470f3e687790547e2e78105fb411f54e0cdde0d74106ccadd2521c6572/propcache-0.3.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:24c04f8fbf60094c531667b8207acbae54146661657a1b1be6d3ca7773b7a545", size = 218116 }, - { url = "https://files.pythonhosted.org/packages/34/71/277f7f9add469698ac9724c199bfe06f85b199542121a71f65a80423d62a/propcache-0.3.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:7c5f5290799a3f6539cc5e6f474c3e5c5fbeba74a5e1e5be75587746a940d51e", size = 222911 }, - { url = "https://files.pythonhosted.org/packages/92/e3/a7b9782aef5a2fc765b1d97da9ec7aed2f25a4e985703608e73232205e3f/propcache-0.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4fa0e7c9c3cf7c276d4f6ab9af8adddc127d04e0fcabede315904d2ff76db626", size = 216563 }, - { url = "https://files.pythonhosted.org/packages/ab/76/0583ca2c551aa08ffcff87b2c6849c8f01c1f6fb815a5226f0c5c202173e/propcache-0.3.0-cp313-cp313-win32.whl", hash = "sha256:ee0bd3a7b2e184e88d25c9baa6a9dc609ba25b76daae942edfb14499ac7ec374", size = 39763 }, - { url = "https://files.pythonhosted.org/packages/80/ec/c6a84f9a36f608379b95f0e786c111d5465926f8c62f12be8cdadb02b15c/propcache-0.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:1c8f7d896a16da9455f882870a507567d4f58c53504dc2d4b1e1d386dfe4588a", size = 43650 }, - { url = "https://files.pythonhosted.org/packages/ee/95/7d32e3560f5bf83fc2f2a4c1b0c181d327d53d5f85ebd045ab89d4d97763/propcache-0.3.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:e560fd75aaf3e5693b91bcaddd8b314f4d57e99aef8a6c6dc692f935cc1e6bbf", size = 82140 }, - { url = "https://files.pythonhosted.org/packages/86/89/752388f12e6027a5e63f5d075f15291ded48e2d8311314fff039da5a9b11/propcache-0.3.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:65a37714b8ad9aba5780325228598a5b16c47ba0f8aeb3dc0514701e4413d7c0", size = 47296 }, - { url = "https://files.pythonhosted.org/packages/1b/4c/b55c98d586c69180d3048984a57a5ea238bdeeccf82dbfcd598e935e10bb/propcache-0.3.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:07700939b2cbd67bfb3b76a12e1412405d71019df00ca5697ce75e5ef789d829", size = 46724 }, - { url = "https://files.pythonhosted.org/packages/0f/b6/67451a437aed90c4e951e320b5b3d7eb584ade1d5592f6e5e8f678030989/propcache-0.3.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c0fdbdf6983526e269e5a8d53b7ae3622dd6998468821d660d0daf72779aefa", size = 291499 }, - { url = "https://files.pythonhosted.org/packages/ee/ff/e4179facd21515b24737e1e26e02615dfb5ed29416eed4cf5bc6ac5ce5fb/propcache-0.3.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:794c3dd744fad478b6232289c866c25406ecdfc47e294618bdf1697e69bd64a6", size = 293911 }, - { url = "https://files.pythonhosted.org/packages/76/8d/94a8585992a064a23bd54f56c5e58c3b8bf0c0a06ae10e56f2353ae16c3d/propcache-0.3.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4544699674faf66fb6b4473a1518ae4999c1b614f0b8297b1cef96bac25381db", size = 293301 }, - { url = "https://files.pythonhosted.org/packages/b0/b8/2c860c92b4134f68c7716c6f30a0d723973f881c32a6d7a24c4ddca05fdf/propcache-0.3.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fddb8870bdb83456a489ab67c6b3040a8d5a55069aa6f72f9d872235fbc52f54", size = 281947 }, - { url = "https://files.pythonhosted.org/packages/cd/72/b564be7411b525d11757b713c757c21cd4dc13b6569c3b2b8f6d3c96fd5e/propcache-0.3.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f857034dc68d5ceb30fb60afb6ff2103087aea10a01b613985610e007053a121", size = 268072 }, - { url = "https://files.pythonhosted.org/packages/37/68/d94649e399e8d7fc051e5a4f2334efc567993525af083db145a70690a121/propcache-0.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:02df07041e0820cacc8f739510078f2aadcfd3fc57eaeeb16d5ded85c872c89e", size = 275190 }, - { url = "https://files.pythonhosted.org/packages/d8/3c/446e125f5bbbc1922964dd67cb541c01cdb678d811297b79a4ff6accc843/propcache-0.3.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:f47d52fd9b2ac418c4890aad2f6d21a6b96183c98021f0a48497a904199f006e", size = 254145 }, - { url = "https://files.pythonhosted.org/packages/f4/80/fd3f741483dc8e59f7ba7e05eaa0f4e11677d7db2077522b92ff80117a2a/propcache-0.3.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:9ff4e9ecb6e4b363430edf2c6e50173a63e0820e549918adef70515f87ced19a", size = 257163 }, - { url = "https://files.pythonhosted.org/packages/dc/cf/6292b5ce6ed0017e6a89024a827292122cc41b6259b30ada0c6732288513/propcache-0.3.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:ecc2920630283e0783c22e2ac94427f8cca29a04cfdf331467d4f661f4072dac", size = 280249 }, - { url = "https://files.pythonhosted.org/packages/e8/f0/fd9b8247b449fe02a4f96538b979997e229af516d7462b006392badc59a1/propcache-0.3.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:c441c841e82c5ba7a85ad25986014be8d7849c3cfbdb6004541873505929a74e", size = 288741 }, - { url = "https://files.pythonhosted.org/packages/64/71/cf831fdc2617f86cfd7f414cfc487d018e722dac8acc098366ce9bba0941/propcache-0.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6c929916cbdb540d3407c66f19f73387f43e7c12fa318a66f64ac99da601bcdf", size = 277061 }, - { url = "https://files.pythonhosted.org/packages/42/78/9432542a35d944abeca9e02927a0de38cd7a298466d8ffa171536e2381c3/propcache-0.3.0-cp313-cp313t-win32.whl", hash = "sha256:0c3e893c4464ebd751b44ae76c12c5f5c1e4f6cbd6fbf67e3783cd93ad221863", size = 42252 }, - { url = "https://files.pythonhosted.org/packages/6f/45/960365f4f8978f48ebb56b1127adf33a49f2e69ecd46ac1f46d6cf78a79d/propcache-0.3.0-cp313-cp313t-win_amd64.whl", hash = "sha256:75e872573220d1ee2305b35c9813626e620768248425f58798413e9c39741f46", size = 46425 }, - { url = "https://files.pythonhosted.org/packages/6d/05/2695901870f8b8f5d68f7cbb05de92a7f21f032a0edc42a5b527d22eab28/propcache-0.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:03c091bb752349402f23ee43bb2bff6bd80ccab7c9df6b88ad4322258d6960fc", size = 80692 }, - { url = "https://files.pythonhosted.org/packages/57/5e/54d314533896ed43f5573ac80366a056f17a397234ada6e4303fa84a232f/propcache-0.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:46ed02532cb66612d42ae5c3929b5e98ae330ea0f3900bc66ec5f4862069519b", size = 46434 }, - { url = "https://files.pythonhosted.org/packages/40/61/3624c088406e9e54beb42801e9da53cc8b379f4c1b4ee3911876282d4af6/propcache-0.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:11ae6a8a01b8a4dc79093b5d3ca2c8a4436f5ee251a9840d7790dccbd96cb649", size = 45956 }, - { url = "https://files.pythonhosted.org/packages/e6/65/09b1bacf723721e36a84034ff0a4d64d13c7ddb92cfefe9c0b861886f814/propcache-0.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df03cd88f95b1b99052b52b1bb92173229d7a674df0ab06d2b25765ee8404bce", size = 208068 }, - { url = "https://files.pythonhosted.org/packages/57/7b/a6c8de8814f9f07b74c959e6d2ef1137ac2ff622fa1bd4cd00c5a6890525/propcache-0.3.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:03acd9ff19021bd0567582ac88f821b66883e158274183b9e5586f678984f8fe", size = 223581 }, - { url = "https://files.pythonhosted.org/packages/fb/03/8c081bfb32bb0c12118aff9720c498015c332630858c9aaec7930c40911d/propcache-0.3.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd54895e4ae7d32f1e3dd91261df46ee7483a735017dc6f987904f194aa5fd14", size = 221567 }, - { url = "https://files.pythonhosted.org/packages/70/b8/a6dc434561bac3601644724635328e05ea6b9163e4a628f5f4222a384625/propcache-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26a67e5c04e3119594d8cfae517f4b9330c395df07ea65eab16f3d559b7068fe", size = 208536 }, - { url = "https://files.pythonhosted.org/packages/1f/96/6f6fdb8bfd749803b160f23c446ef45f7cb51e355a24c5b07d8687ae2ee9/propcache-0.3.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee25f1ac091def37c4b59d192bbe3a206298feeb89132a470325bf76ad122a1e", size = 198920 }, - { url = "https://files.pythonhosted.org/packages/1b/6e/b407dff7f7dbbd9efd65236a53d4512929ce37026670af5c12f91bb95862/propcache-0.3.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:58e6d2a5a7cb3e5f166fd58e71e9a4ff504be9dc61b88167e75f835da5764d07", size = 203802 }, - { url = "https://files.pythonhosted.org/packages/2f/77/2dc3a33bcbd3652686038267aff2a2ff03e71e9a7f76f444c72cadf1ba21/propcache-0.3.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:be90c94570840939fecedf99fa72839aed70b0ced449b415c85e01ae67422c90", size = 199682 }, - { url = "https://files.pythonhosted.org/packages/5f/49/bb38b9159cfd6c74a6daf368e644eecbbda05a2f4731b6d5b6446a7bcb34/propcache-0.3.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:49ea05212a529c2caffe411e25a59308b07d6e10bf2505d77da72891f9a05641", size = 200815 }, - { url = "https://files.pythonhosted.org/packages/a3/d7/2d3cdf6e4fcc28bb3dd4cf23f6ae34cb24f2db4b7131a421bd7f38d70e56/propcache-0.3.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:119e244ab40f70a98c91906d4c1f4c5f2e68bd0b14e7ab0a06922038fae8a20f", size = 211553 }, - { url = "https://files.pythonhosted.org/packages/a7/64/efe070403dcb086d200a801dbf6e4d09f7f1278b15fae038038ad573eb22/propcache-0.3.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:507c5357a8d8b4593b97fb669c50598f4e6cccbbf77e22fa9598aba78292b4d7", size = 214878 }, - { url = "https://files.pythonhosted.org/packages/8f/ec/4ae54f9f8874c58ca1659a9dd260c3b312ca9911d3c74542ef003ca6e9b4/propcache-0.3.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:8526b0941ec5a40220fc4dfde76aed58808e2b309c03e9fa8e2260083ef7157f", size = 207562 }, - { url = "https://files.pythonhosted.org/packages/d7/92/e07bd88ece413fd069d66533d95cbc83649b57b60990f26a35a7f84e25ed/propcache-0.3.0-cp39-cp39-win32.whl", hash = "sha256:7cedd25e5f678f7738da38037435b340694ab34d424938041aa630d8bac42663", size = 41152 }, - { url = "https://files.pythonhosted.org/packages/26/8f/676ea691f5788bd9376ba77475204093a559c883ee1b6def0291e41020dc/propcache-0.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:bf4298f366ca7e1ad1d21bbb58300a6985015909964077afd37559084590c929", size = 45263 }, - { url = "https://files.pythonhosted.org/packages/b5/35/6c4c6fc8774a9e3629cd750dc24a7a4fb090a25ccd5c3246d127b70f9e22/propcache-0.3.0-py3-none-any.whl", hash = "sha256:67dda3c7325691c2081510e92c561f465ba61b975f481735aefdfc845d2cd043", size = 12101 }, + { url = "https://files.pythonhosted.org/packages/20/56/e27c136101addf877c8291dbda1b3b86ae848f3837ce758510a0d806c92f/propcache-0.3.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f27785888d2fdd918bc36de8b8739f2d6c791399552333721b58193f68ea3e98", size = 80224 }, + { url = "https://files.pythonhosted.org/packages/63/bd/88e98836544c4f04db97eefd23b037c2002fa173dd2772301c61cd3085f9/propcache-0.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4e89cde74154c7b5957f87a355bb9c8ec929c167b59c83d90654ea36aeb6180", size = 46491 }, + { url = "https://files.pythonhosted.org/packages/15/43/0b8eb2a55753c4a574fc0899885da504b521068d3b08ca56774cad0bea2b/propcache-0.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:730178f476ef03d3d4d255f0c9fa186cb1d13fd33ffe89d39f2cda4da90ceb71", size = 45927 }, + { url = "https://files.pythonhosted.org/packages/ad/6c/d01f9dfbbdc613305e0a831016844987a1fb4861dd221cd4c69b1216b43f/propcache-0.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:967a8eec513dbe08330f10137eacb427b2ca52118769e82ebcfcab0fba92a649", size = 206135 }, + { url = "https://files.pythonhosted.org/packages/9a/8a/e6e1c77394088f4cfdace4a91a7328e398ebed745d59c2f6764135c5342d/propcache-0.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b9145c35cc87313b5fd480144f8078716007656093d23059e8993d3a8fa730f", size = 220517 }, + { url = "https://files.pythonhosted.org/packages/19/3b/6c44fa59d6418f4239d5db8b1ece757351e85d6f3ca126dfe37d427020c8/propcache-0.3.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9e64e948ab41411958670f1093c0a57acfdc3bee5cf5b935671bbd5313bcf229", size = 218952 }, + { url = "https://files.pythonhosted.org/packages/7c/e4/4aeb95a1cd085e0558ab0de95abfc5187329616193a1012a6c4c930e9f7a/propcache-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:319fa8765bfd6a265e5fa661547556da381e53274bc05094fc9ea50da51bfd46", size = 206593 }, + { url = "https://files.pythonhosted.org/packages/da/6a/29fa75de1cbbb302f1e1d684009b969976ca603ee162282ae702287b6621/propcache-0.3.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c66d8ccbc902ad548312b96ed8d5d266d0d2c6d006fd0f66323e9d8f2dd49be7", size = 196745 }, + { url = "https://files.pythonhosted.org/packages/19/7e/2237dad1dbffdd2162de470599fa1a1d55df493b16b71e5d25a0ac1c1543/propcache-0.3.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:2d219b0dbabe75e15e581fc1ae796109b07c8ba7d25b9ae8d650da582bed01b0", size = 203369 }, + { url = "https://files.pythonhosted.org/packages/a4/bc/a82c5878eb3afb5c88da86e2cf06e1fe78b7875b26198dbb70fe50a010dc/propcache-0.3.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:cd6a55f65241c551eb53f8cf4d2f4af33512c39da5d9777694e9d9c60872f519", size = 198723 }, + { url = "https://files.pythonhosted.org/packages/17/76/9632254479c55516f51644ddbf747a45f813031af5adcb8db91c0b824375/propcache-0.3.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:9979643ffc69b799d50d3a7b72b5164a2e97e117009d7af6dfdd2ab906cb72cd", size = 200751 }, + { url = "https://files.pythonhosted.org/packages/3e/c3/a90b773cf639bd01d12a9e20c95be0ae978a5a8abe6d2d343900ae76cd71/propcache-0.3.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4cf9e93a81979f1424f1a3d155213dc928f1069d697e4353edb8a5eba67c6259", size = 210730 }, + { url = "https://files.pythonhosted.org/packages/ed/ec/ad5a952cdb9d65c351f88db7c46957edd3d65ffeee72a2f18bd6341433e0/propcache-0.3.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2fce1df66915909ff6c824bbb5eb403d2d15f98f1518e583074671a30fe0c21e", size = 213499 }, + { url = "https://files.pythonhosted.org/packages/83/c0/ea5133dda43e298cd2010ec05c2821b391e10980e64ee72c0a76cdbb813a/propcache-0.3.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4d0dfdd9a2ebc77b869a0b04423591ea8823f791293b527dc1bb896c1d6f1136", size = 207132 }, + { url = "https://files.pythonhosted.org/packages/79/dd/71aae9dec59333064cfdd7eb31a63fa09f64181b979802a67a90b2abfcba/propcache-0.3.1-cp310-cp310-win32.whl", hash = "sha256:1f6cc0ad7b4560e5637eb2c994e97b4fa41ba8226069c9277eb5ea7101845b42", size = 40952 }, + { url = "https://files.pythonhosted.org/packages/31/0a/49ff7e5056c17dfba62cbdcbb90a29daffd199c52f8e65e5cb09d5f53a57/propcache-0.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:47ef24aa6511e388e9894ec16f0fbf3313a53ee68402bc428744a367ec55b833", size = 45163 }, + { url = "https://files.pythonhosted.org/packages/90/0f/5a5319ee83bd651f75311fcb0c492c21322a7fc8f788e4eef23f44243427/propcache-0.3.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7f30241577d2fef2602113b70ef7231bf4c69a97e04693bde08ddab913ba0ce5", size = 80243 }, + { url = "https://files.pythonhosted.org/packages/ce/84/3db5537e0879942783e2256616ff15d870a11d7ac26541336fe1b673c818/propcache-0.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:43593c6772aa12abc3af7784bff4a41ffa921608dd38b77cf1dfd7f5c4e71371", size = 46503 }, + { url = "https://files.pythonhosted.org/packages/e2/c8/b649ed972433c3f0d827d7f0cf9ea47162f4ef8f4fe98c5f3641a0bc63ff/propcache-0.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a75801768bbe65499495660b777e018cbe90c7980f07f8aa57d6be79ea6f71da", size = 45934 }, + { url = "https://files.pythonhosted.org/packages/59/f9/4c0a5cf6974c2c43b1a6810c40d889769cc8f84cea676cbe1e62766a45f8/propcache-0.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f6f1324db48f001c2ca26a25fa25af60711e09b9aaf4b28488602776f4f9a744", size = 233633 }, + { url = "https://files.pythonhosted.org/packages/e7/64/66f2f4d1b4f0007c6e9078bd95b609b633d3957fe6dd23eac33ebde4b584/propcache-0.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5cdb0f3e1eb6dfc9965d19734d8f9c481b294b5274337a8cb5cb01b462dcb7e0", size = 241124 }, + { url = "https://files.pythonhosted.org/packages/aa/bf/7b8c9fd097d511638fa9b6af3d986adbdf567598a567b46338c925144c1b/propcache-0.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1eb34d90aac9bfbced9a58b266f8946cb5935869ff01b164573a7634d39fbcb5", size = 240283 }, + { url = "https://files.pythonhosted.org/packages/fa/c9/e85aeeeaae83358e2a1ef32d6ff50a483a5d5248bc38510d030a6f4e2816/propcache-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f35c7070eeec2cdaac6fd3fe245226ed2a6292d3ee8c938e5bb645b434c5f256", size = 232498 }, + { url = "https://files.pythonhosted.org/packages/8e/66/acb88e1f30ef5536d785c283af2e62931cb934a56a3ecf39105887aa8905/propcache-0.3.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b23c11c2c9e6d4e7300c92e022046ad09b91fd00e36e83c44483df4afa990073", size = 221486 }, + { url = "https://files.pythonhosted.org/packages/f5/f9/233ddb05ffdcaee4448508ee1d70aa7deff21bb41469ccdfcc339f871427/propcache-0.3.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3e19ea4ea0bf46179f8a3652ac1426e6dcbaf577ce4b4f65be581e237340420d", size = 222675 }, + { url = "https://files.pythonhosted.org/packages/98/b8/eb977e28138f9e22a5a789daf608d36e05ed93093ef12a12441030da800a/propcache-0.3.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:bd39c92e4c8f6cbf5f08257d6360123af72af9f4da75a690bef50da77362d25f", size = 215727 }, + { url = "https://files.pythonhosted.org/packages/89/2d/5f52d9c579f67b8ee1edd9ec073c91b23cc5b7ff7951a1e449e04ed8fdf3/propcache-0.3.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:b0313e8b923b3814d1c4a524c93dfecea5f39fa95601f6a9b1ac96cd66f89ea0", size = 217878 }, + { url = "https://files.pythonhosted.org/packages/7a/fd/5283e5ed8a82b00c7a989b99bb6ea173db1ad750bf0bf8dff08d3f4a4e28/propcache-0.3.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e861ad82892408487be144906a368ddbe2dc6297074ade2d892341b35c59844a", size = 230558 }, + { url = "https://files.pythonhosted.org/packages/90/38/ab17d75938ef7ac87332c588857422ae126b1c76253f0f5b1242032923ca/propcache-0.3.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:61014615c1274df8da5991a1e5da85a3ccb00c2d4701ac6f3383afd3ca47ab0a", size = 233754 }, + { url = "https://files.pythonhosted.org/packages/06/5d/3b921b9c60659ae464137508d3b4c2b3f52f592ceb1964aa2533b32fcf0b/propcache-0.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:71ebe3fe42656a2328ab08933d420df5f3ab121772eef78f2dc63624157f0ed9", size = 226088 }, + { url = "https://files.pythonhosted.org/packages/54/6e/30a11f4417d9266b5a464ac5a8c5164ddc9dd153dfa77bf57918165eb4ae/propcache-0.3.1-cp311-cp311-win32.whl", hash = "sha256:58aa11f4ca8b60113d4b8e32d37e7e78bd8af4d1a5b5cb4979ed856a45e62005", size = 40859 }, + { url = "https://files.pythonhosted.org/packages/1d/3a/8a68dd867da9ca2ee9dfd361093e9cb08cb0f37e5ddb2276f1b5177d7731/propcache-0.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:9532ea0b26a401264b1365146c440a6d78269ed41f83f23818d4b79497aeabe7", size = 45153 }, + { url = "https://files.pythonhosted.org/packages/41/aa/ca78d9be314d1e15ff517b992bebbed3bdfef5b8919e85bf4940e57b6137/propcache-0.3.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f78eb8422acc93d7b69964012ad7048764bb45a54ba7a39bb9e146c72ea29723", size = 80430 }, + { url = "https://files.pythonhosted.org/packages/1a/d8/f0c17c44d1cda0ad1979af2e593ea290defdde9eaeb89b08abbe02a5e8e1/propcache-0.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:89498dd49c2f9a026ee057965cdf8192e5ae070ce7d7a7bd4b66a8e257d0c976", size = 46637 }, + { url = "https://files.pythonhosted.org/packages/ae/bd/c1e37265910752e6e5e8a4c1605d0129e5b7933c3dc3cf1b9b48ed83b364/propcache-0.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:09400e98545c998d57d10035ff623266927cb784d13dd2b31fd33b8a5316b85b", size = 46123 }, + { url = "https://files.pythonhosted.org/packages/d4/b0/911eda0865f90c0c7e9f0415d40a5bf681204da5fd7ca089361a64c16b28/propcache-0.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa8efd8c5adc5a2c9d3b952815ff8f7710cefdcaf5f2c36d26aff51aeca2f12f", size = 243031 }, + { url = "https://files.pythonhosted.org/packages/0a/06/0da53397c76a74271621807265b6eb61fb011451b1ddebf43213df763669/propcache-0.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c2fe5c910f6007e716a06d269608d307b4f36e7babee5f36533722660e8c4a70", size = 249100 }, + { url = "https://files.pythonhosted.org/packages/f1/eb/13090e05bf6b963fc1653cdc922133ced467cb4b8dab53158db5a37aa21e/propcache-0.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a0ab8cf8cdd2194f8ff979a43ab43049b1df0b37aa64ab7eca04ac14429baeb7", size = 250170 }, + { url = "https://files.pythonhosted.org/packages/3b/4c/f72c9e1022b3b043ec7dc475a0f405d4c3e10b9b1d378a7330fecf0652da/propcache-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:563f9d8c03ad645597b8d010ef4e9eab359faeb11a0a2ac9f7b4bc8c28ebef25", size = 245000 }, + { url = "https://files.pythonhosted.org/packages/e8/fd/970ca0e22acc829f1adf5de3724085e778c1ad8a75bec010049502cb3a86/propcache-0.3.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fb6e0faf8cb6b4beea5d6ed7b5a578254c6d7df54c36ccd3d8b3eb00d6770277", size = 230262 }, + { url = "https://files.pythonhosted.org/packages/c4/42/817289120c6b9194a44f6c3e6b2c3277c5b70bbad39e7df648f177cc3634/propcache-0.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1c5c7ab7f2bb3f573d1cb921993006ba2d39e8621019dffb1c5bc94cdbae81e8", size = 236772 }, + { url = "https://files.pythonhosted.org/packages/7c/9c/3b3942b302badd589ad6b672da3ca7b660a6c2f505cafd058133ddc73918/propcache-0.3.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:050b571b2e96ec942898f8eb46ea4bfbb19bd5502424747e83badc2d4a99a44e", size = 231133 }, + { url = "https://files.pythonhosted.org/packages/98/a1/75f6355f9ad039108ff000dfc2e19962c8dea0430da9a1428e7975cf24b2/propcache-0.3.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e1c4d24b804b3a87e9350f79e2371a705a188d292fd310e663483af6ee6718ee", size = 230741 }, + { url = "https://files.pythonhosted.org/packages/67/0c/3e82563af77d1f8731132166da69fdfd95e71210e31f18edce08a1eb11ea/propcache-0.3.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:e4fe2a6d5ce975c117a6bb1e8ccda772d1e7029c1cca1acd209f91d30fa72815", size = 244047 }, + { url = "https://files.pythonhosted.org/packages/f7/50/9fb7cca01532a08c4d5186d7bb2da6c4c587825c0ae134b89b47c7d62628/propcache-0.3.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:feccd282de1f6322f56f6845bf1207a537227812f0a9bf5571df52bb418d79d5", size = 246467 }, + { url = "https://files.pythonhosted.org/packages/a9/02/ccbcf3e1c604c16cc525309161d57412c23cf2351523aedbb280eb7c9094/propcache-0.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ec314cde7314d2dd0510c6787326bbffcbdc317ecee6b7401ce218b3099075a7", size = 241022 }, + { url = "https://files.pythonhosted.org/packages/db/19/e777227545e09ca1e77a6e21274ae9ec45de0f589f0ce3eca2a41f366220/propcache-0.3.1-cp312-cp312-win32.whl", hash = "sha256:7d2d5a0028d920738372630870e7d9644ce437142197f8c827194fca404bf03b", size = 40647 }, + { url = "https://files.pythonhosted.org/packages/24/bb/3b1b01da5dd04c77a204c84e538ff11f624e31431cfde7201d9110b092b1/propcache-0.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:88c423efef9d7a59dae0614eaed718449c09a5ac79a5f224a8b9664d603f04a3", size = 44784 }, + { url = "https://files.pythonhosted.org/packages/58/60/f645cc8b570f99be3cf46714170c2de4b4c9d6b827b912811eff1eb8a412/propcache-0.3.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f1528ec4374617a7a753f90f20e2f551121bb558fcb35926f99e3c42367164b8", size = 77865 }, + { url = "https://files.pythonhosted.org/packages/6f/d4/c1adbf3901537582e65cf90fd9c26fde1298fde5a2c593f987112c0d0798/propcache-0.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dc1915ec523b3b494933b5424980831b636fe483d7d543f7afb7b3bf00f0c10f", size = 45452 }, + { url = "https://files.pythonhosted.org/packages/d1/b5/fe752b2e63f49f727c6c1c224175d21b7d1727ce1d4873ef1c24c9216830/propcache-0.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a110205022d077da24e60b3df8bcee73971be9575dec5573dd17ae5d81751111", size = 44800 }, + { url = "https://files.pythonhosted.org/packages/62/37/fc357e345bc1971e21f76597028b059c3d795c5ca7690d7a8d9a03c9708a/propcache-0.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d249609e547c04d190e820d0d4c8ca03ed4582bcf8e4e160a6969ddfb57b62e5", size = 225804 }, + { url = "https://files.pythonhosted.org/packages/0d/f1/16e12c33e3dbe7f8b737809bad05719cff1dccb8df4dafbcff5575002c0e/propcache-0.3.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ced33d827625d0a589e831126ccb4f5c29dfdf6766cac441d23995a65825dcb", size = 230650 }, + { url = "https://files.pythonhosted.org/packages/3e/a2/018b9f2ed876bf5091e60153f727e8f9073d97573f790ff7cdf6bc1d1fb8/propcache-0.3.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4114c4ada8f3181af20808bedb250da6bae56660e4b8dfd9cd95d4549c0962f7", size = 234235 }, + { url = "https://files.pythonhosted.org/packages/45/5f/3faee66fc930dfb5da509e34c6ac7128870631c0e3582987fad161fcb4b1/propcache-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:975af16f406ce48f1333ec5e912fe11064605d5c5b3f6746969077cc3adeb120", size = 228249 }, + { url = "https://files.pythonhosted.org/packages/62/1e/a0d5ebda5da7ff34d2f5259a3e171a94be83c41eb1e7cd21a2105a84a02e/propcache-0.3.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a34aa3a1abc50740be6ac0ab9d594e274f59960d3ad253cd318af76b996dd654", size = 214964 }, + { url = "https://files.pythonhosted.org/packages/db/a0/d72da3f61ceab126e9be1f3bc7844b4e98c6e61c985097474668e7e52152/propcache-0.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9cec3239c85ed15bfaded997773fdad9fb5662b0a7cbc854a43f291eb183179e", size = 222501 }, + { url = "https://files.pythonhosted.org/packages/18/6d/a008e07ad7b905011253adbbd97e5b5375c33f0b961355ca0a30377504ac/propcache-0.3.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:05543250deac8e61084234d5fc54f8ebd254e8f2b39a16b1dce48904f45b744b", size = 217917 }, + { url = "https://files.pythonhosted.org/packages/98/37/02c9343ffe59e590e0e56dc5c97d0da2b8b19fa747ebacf158310f97a79a/propcache-0.3.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:5cb5918253912e088edbf023788de539219718d3b10aef334476b62d2b53de53", size = 217089 }, + { url = "https://files.pythonhosted.org/packages/53/1b/d3406629a2c8a5666d4674c50f757a77be119b113eedd47b0375afdf1b42/propcache-0.3.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f3bbecd2f34d0e6d3c543fdb3b15d6b60dd69970c2b4c822379e5ec8f6f621d5", size = 228102 }, + { url = "https://files.pythonhosted.org/packages/cd/a7/3664756cf50ce739e5f3abd48febc0be1a713b1f389a502ca819791a6b69/propcache-0.3.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aca63103895c7d960a5b9b044a83f544b233c95e0dcff114389d64d762017af7", size = 230122 }, + { url = "https://files.pythonhosted.org/packages/35/36/0bbabaacdcc26dac4f8139625e930f4311864251276033a52fd52ff2a274/propcache-0.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5a0a9898fdb99bf11786265468571e628ba60af80dc3f6eb89a3545540c6b0ef", size = 226818 }, + { url = "https://files.pythonhosted.org/packages/cc/27/4e0ef21084b53bd35d4dae1634b6d0bad35e9c58ed4f032511acca9d4d26/propcache-0.3.1-cp313-cp313-win32.whl", hash = "sha256:3a02a28095b5e63128bcae98eb59025924f121f048a62393db682f049bf4ac24", size = 40112 }, + { url = "https://files.pythonhosted.org/packages/a6/2c/a54614d61895ba6dd7ac8f107e2b2a0347259ab29cbf2ecc7b94fa38c4dc/propcache-0.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:813fbb8b6aea2fc9659815e585e548fe706d6f663fa73dff59a1677d4595a037", size = 44034 }, + { url = "https://files.pythonhosted.org/packages/5a/a8/0a4fd2f664fc6acc66438370905124ce62e84e2e860f2557015ee4a61c7e/propcache-0.3.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:a444192f20f5ce8a5e52761a031b90f5ea6288b1eef42ad4c7e64fef33540b8f", size = 82613 }, + { url = "https://files.pythonhosted.org/packages/4d/e5/5ef30eb2cd81576256d7b6caaa0ce33cd1d2c2c92c8903cccb1af1a4ff2f/propcache-0.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0fbe94666e62ebe36cd652f5fc012abfbc2342de99b523f8267a678e4dfdee3c", size = 47763 }, + { url = "https://files.pythonhosted.org/packages/87/9a/87091ceb048efeba4d28e903c0b15bcc84b7c0bf27dc0261e62335d9b7b8/propcache-0.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f011f104db880f4e2166bcdcf7f58250f7a465bc6b068dc84c824a3d4a5c94dc", size = 47175 }, + { url = "https://files.pythonhosted.org/packages/3e/2f/854e653c96ad1161f96194c6678a41bbb38c7947d17768e8811a77635a08/propcache-0.3.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e584b6d388aeb0001d6d5c2bd86b26304adde6d9bb9bfa9c4889805021b96de", size = 292265 }, + { url = "https://files.pythonhosted.org/packages/40/8d/090955e13ed06bc3496ba4a9fb26c62e209ac41973cb0d6222de20c6868f/propcache-0.3.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a17583515a04358b034e241f952f1715243482fc2c2945fd99a1b03a0bd77d6", size = 294412 }, + { url = "https://files.pythonhosted.org/packages/39/e6/d51601342e53cc7582449e6a3c14a0479fab2f0750c1f4d22302e34219c6/propcache-0.3.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5aed8d8308215089c0734a2af4f2e95eeb360660184ad3912686c181e500b2e7", size = 294290 }, + { url = "https://files.pythonhosted.org/packages/3b/4d/be5f1a90abc1881884aa5878989a1acdafd379a91d9c7e5e12cef37ec0d7/propcache-0.3.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d8e309ff9a0503ef70dc9a0ebd3e69cf7b3894c9ae2ae81fc10943c37762458", size = 282926 }, + { url = "https://files.pythonhosted.org/packages/57/2b/8f61b998c7ea93a2b7eca79e53f3e903db1787fca9373af9e2cf8dc22f9d/propcache-0.3.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b655032b202028a582d27aeedc2e813299f82cb232f969f87a4fde491a233f11", size = 267808 }, + { url = "https://files.pythonhosted.org/packages/11/1c/311326c3dfce59c58a6098388ba984b0e5fb0381ef2279ec458ef99bd547/propcache-0.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9f64d91b751df77931336b5ff7bafbe8845c5770b06630e27acd5dbb71e1931c", size = 290916 }, + { url = "https://files.pythonhosted.org/packages/4b/74/91939924b0385e54dc48eb2e4edd1e4903ffd053cf1916ebc5347ac227f7/propcache-0.3.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:19a06db789a4bd896ee91ebc50d059e23b3639c25d58eb35be3ca1cbe967c3bf", size = 262661 }, + { url = "https://files.pythonhosted.org/packages/c2/d7/e6079af45136ad325c5337f5dd9ef97ab5dc349e0ff362fe5c5db95e2454/propcache-0.3.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:bef100c88d8692864651b5f98e871fb090bd65c8a41a1cb0ff2322db39c96c27", size = 264384 }, + { url = "https://files.pythonhosted.org/packages/b7/d5/ba91702207ac61ae6f1c2da81c5d0d6bf6ce89e08a2b4d44e411c0bbe867/propcache-0.3.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:87380fb1f3089d2a0b8b00f006ed12bd41bd858fabfa7330c954c70f50ed8757", size = 291420 }, + { url = "https://files.pythonhosted.org/packages/58/70/2117780ed7edcd7ba6b8134cb7802aada90b894a9810ec56b7bb6018bee7/propcache-0.3.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e474fc718e73ba5ec5180358aa07f6aded0ff5f2abe700e3115c37d75c947e18", size = 290880 }, + { url = "https://files.pythonhosted.org/packages/4a/1f/ecd9ce27710021ae623631c0146719280a929d895a095f6d85efb6a0be2e/propcache-0.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:17d1c688a443355234f3c031349da69444be052613483f3e4158eef751abcd8a", size = 287407 }, + { url = "https://files.pythonhosted.org/packages/3e/66/2e90547d6b60180fb29e23dc87bd8c116517d4255240ec6d3f7dc23d1926/propcache-0.3.1-cp313-cp313t-win32.whl", hash = "sha256:359e81a949a7619802eb601d66d37072b79b79c2505e6d3fd8b945538411400d", size = 42573 }, + { url = "https://files.pythonhosted.org/packages/cb/8f/50ad8599399d1861b4d2b6b45271f0ef6af1b09b0a2386a46dbaf19c9535/propcache-0.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:e7fb9a84c9abbf2b2683fa3e7b0d7da4d8ecf139a1c635732a8bda29c5214b0e", size = 46757 }, + { url = "https://files.pythonhosted.org/packages/aa/e1/4a782cdc7ebc42dfb44224dabf93b481395a0b6cbc9f0149785edbbab19c/propcache-0.3.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ed5f6d2edbf349bd8d630e81f474d33d6ae5d07760c44d33cd808e2f5c8f4ae6", size = 81368 }, + { url = "https://files.pythonhosted.org/packages/18/c6/9a39b2646a71321815d8d616e890851af9fb327af7d1b9fdce7d2d8377ca/propcache-0.3.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:668ddddc9f3075af019f784456267eb504cb77c2c4bd46cc8402d723b4d200bf", size = 47037 }, + { url = "https://files.pythonhosted.org/packages/f3/e2/88ad1c4c42861dd09b45924e468c42a1beb2c5267cb960b7a9f6af67dd04/propcache-0.3.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0c86e7ceea56376216eba345aa1fc6a8a6b27ac236181f840d1d7e6a1ea9ba5c", size = 46462 }, + { url = "https://files.pythonhosted.org/packages/ae/7e/3e3b36854e96be2e881bc6e87293d59c74dd734dd038dd4981474be44e26/propcache-0.3.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83be47aa4e35b87c106fc0c84c0fc069d3f9b9b06d3c494cd404ec6747544894", size = 209214 }, + { url = "https://files.pythonhosted.org/packages/11/1a/ac0f757cc0babdc8217056fca85150066cf43bf11db9651e6b7d8e0646d6/propcache-0.3.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:27c6ac6aa9fc7bc662f594ef380707494cb42c22786a558d95fcdedb9aa5d035", size = 224702 }, + { url = "https://files.pythonhosted.org/packages/92/0a/0cf77d0e984b7058019ffa5385b3efd6962cbd5340a8f278ae103032863a/propcache-0.3.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:64a956dff37080b352c1c40b2966b09defb014347043e740d420ca1eb7c9b908", size = 223085 }, + { url = "https://files.pythonhosted.org/packages/05/fc/cb52a0caf803caff9b95b0a99e7c9c87f15b7e34ba0feebfd2572b49013d/propcache-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82de5da8c8893056603ac2d6a89eb8b4df49abf1a7c19d536984c8dd63f481d5", size = 209613 }, + { url = "https://files.pythonhosted.org/packages/e5/fc/b1d1fdffbe1e0278ab535f8d21fc6b030889417714a545755bdd5ebe9bb0/propcache-0.3.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c3c3a203c375b08fd06a20da3cf7aac293b834b6f4f4db71190e8422750cca5", size = 199931 }, + { url = "https://files.pythonhosted.org/packages/23/a9/2a2f8d93d8f526c35dd8dbbc4a1ac22a106712cd821e15e2a6530aea8931/propcache-0.3.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:b303b194c2e6f171cfddf8b8ba30baefccf03d36a4d9cab7fd0bb68ba476a3d7", size = 208937 }, + { url = "https://files.pythonhosted.org/packages/ef/71/5247a264b95e8d4ba86757cf9ad6a523d764bd4579a2d80007a2d4d2b0ad/propcache-0.3.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:916cd229b0150129d645ec51614d38129ee74c03293a9f3f17537be0029a9641", size = 202577 }, + { url = "https://files.pythonhosted.org/packages/6f/4e/c8ec771731f1b1e7d07bd8875f1d13c1564b5d60f7483624d021eaef5687/propcache-0.3.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:a461959ead5b38e2581998700b26346b78cd98540b5524796c175722f18b0294", size = 204669 }, + { url = "https://files.pythonhosted.org/packages/c5/b8/bdfcb1170a7b8504226064d7c0b4deb61acbcc6bb2e754ee25fb36c1b72a/propcache-0.3.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:069e7212890b0bcf9b2be0a03afb0c2d5161d91e1bf51569a64f629acc7defbf", size = 214334 }, + { url = "https://files.pythonhosted.org/packages/72/c6/fdb9e8ba161a4e12c75a7415cb99314cad195d3b8ae9d770783cec54001e/propcache-0.3.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ef2e4e91fb3945769e14ce82ed53007195e616a63aa43b40fb7ebaaf907c8d4c", size = 218052 }, + { url = "https://files.pythonhosted.org/packages/67/3f/0dd87220f61598b61b590a8b3562142ae475a9c0f694ee32bf97e4e41d44/propcache-0.3.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:8638f99dca15b9dff328fb6273e09f03d1c50d9b6512f3b65a4154588a7595fe", size = 210852 }, + { url = "https://files.pythonhosted.org/packages/7b/4e/e332164372af66992c07b470448beb7e36ce7dba6a06c6c2b6131f112e74/propcache-0.3.1-cp39-cp39-win32.whl", hash = "sha256:6f173bbfe976105aaa890b712d1759de339d8a7cef2fc0a1714cc1a1e1c47f64", size = 41481 }, + { url = "https://files.pythonhosted.org/packages/61/73/d64abb7bb5d18880ecfac152247c0f1a5807256ea21e4737ce3019afffeb/propcache-0.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:603f1fe4144420374f1a69b907494c3acbc867a581c2d49d4175b0de7cc64566", size = 45720 }, + { url = "https://files.pythonhosted.org/packages/b8/d3/c3cb8f1d6ae3b37f83e1de806713a9b3642c5895f0215a62e1a4bd6e5e34/propcache-0.3.1-py3-none-any.whl", hash = "sha256:9a8ecf38de50a7f518c21568c80f985e776397b902f1ce0b01f799aba1608b40", size = 12376 }, ] [[package]] @@ -1113,20 +1132,20 @@ wheels = [ [[package]] name = "pyright" -version = "1.1.395" +version = "1.1.398" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "nodeenv" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fb/47/a2e1dfd70f9f0db34f70d5b108c82be57bf24185af69c95acff57f9239fa/pyright-1.1.395.tar.gz", hash = "sha256:53703169068c160bfb41e1b44ba3e2512492869c26cfad927e1268cb3fbb1b1c", size = 3813566 } +sdist = { url = "https://files.pythonhosted.org/packages/24/d6/48740f1d029e9fc4194880d1ad03dcf0ba3a8f802e0e166b8f63350b3584/pyright-1.1.398.tar.gz", hash = "sha256:357a13edd9be8082dc73be51190913e475fa41a6efb6ec0d4b7aab3bc11638d8", size = 3892675 } wheels = [ - { url = "https://files.pythonhosted.org/packages/5f/a1/531897f8caa6c6cc99862cd1c908ddd8a366a51d968e83ab4523ded98b30/pyright-1.1.395-py3-none-any.whl", hash = "sha256:f9bc726870e740c6c77c94657734d90563a3e9765bb523b39f5860198ed75eef", size = 5688787 }, + { url = "https://files.pythonhosted.org/packages/58/e0/5283593f61b3c525d6d7e94cfb6b3ded20b3df66e953acaf7bb4f23b3f6e/pyright-1.1.398-py3-none-any.whl", hash = "sha256:0a70bfd007d9ea7de1cf9740e1ad1a40a122592cfe22a3f6791b06162ad08753", size = 5780235 }, ] [[package]] name = "pytest" -version = "8.3.4" +version = "8.3.5" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, @@ -1136,9 +1155,9 @@ dependencies = [ { name = "pluggy" }, { name = "tomli", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/05/35/30e0d83068951d90a01852cb1cef56e5d8a09d20c7f511634cc2f7e0372a/pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761", size = 1445919 } +sdist = { url = "https://files.pythonhosted.org/packages/ae/3c/c9d525a414d506893f0cd8a8d0de7706446213181570cdbd766691164e40/pytest-8.3.5.tar.gz", hash = "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845", size = 1450891 } wheels = [ - { url = "https://files.pythonhosted.org/packages/11/92/76a1c94d3afee238333bc0a42b82935dd8f9cf8ce9e336ff87ee14d9e1cf/pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6", size = 343083 }, + { url = "https://files.pythonhosted.org/packages/30/3d/64ad57c803f1fa1e963a7946b6e0fea4a70df53c1a7fed304586539c2bac/pytest-8.3.5-py3-none-any.whl", hash = "sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820", size = 343634 }, ] [[package]] @@ -1211,27 +1230,27 @@ wheels = [ [[package]] name = "ruff" -version = "0.9.8" +version = "0.11.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e9/59/ac745a2492986a4c900c73a7a3a10eb4d7a3853e43443519bceecae5eefc/ruff-0.9.8.tar.gz", hash = "sha256:12d455f2be6fe98accbea2487bbb8eaec716c760bf60b45e7e13f76f913f56e9", size = 3715230 } +sdist = { url = "https://files.pythonhosted.org/packages/e8/5b/3ae20f89777115944e89c2d8c2e795dcc5b9e04052f76d5347e35e0da66e/ruff-0.11.4.tar.gz", hash = "sha256:f45bd2fb1a56a5a85fae3b95add03fb185a0b30cf47f5edc92aa0355ca1d7407", size = 3933063 } wheels = [ - { url = "https://files.pythonhosted.org/packages/5c/1c/9de3a463279e9a203104fe80881d7dcfd8377eb52b3d5608770ea6ff3dc6/ruff-0.9.8-py3-none-linux_armv6l.whl", hash = "sha256:d236f0ce0190bbc6fa9b4c4b85e916fb4c50fd087e6558af1bf5a45eb20e374d", size = 10036520 }, - { url = "https://files.pythonhosted.org/packages/35/10/a4eda083ad0b60a4c16bc9a68c6eda59de69a3a58913a0b62541f5c551cd/ruff-0.9.8-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:59fac6922b336d0c38df199761ade561563e1b7636e3a2b767b9ee5a68aa9cbf", size = 10827099 }, - { url = "https://files.pythonhosted.org/packages/57/34/cf7e18f2315926ee2c98f931717e1302f8c3face189f5b99352eb48c5373/ruff-0.9.8-py3-none-macosx_11_0_arm64.whl", hash = "sha256:a82082ec72bde2166ec138055307396c4d4e543fd97266dc2bfa24284cb30af6", size = 10161605 }, - { url = "https://files.pythonhosted.org/packages/f3/08/5e7e8fc08d193e3520b9227249a00bc9b8da9e0a20bf97bef03a9a9f0d38/ruff-0.9.8-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e06635d12321605d1d11226c7d3c6b1245a0df498099868d14b4e353b3f0ac22", size = 10338840 }, - { url = "https://files.pythonhosted.org/packages/54/c0/df2187618b87334867ea7942f6d2d79ea3e5cb3ed709cfa5c8df115d3715/ruff-0.9.8-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:65961815bb35d427e957940d13b2a1d0a67d8b245d3a7e0b5a4a2058536d3532", size = 9891009 }, - { url = "https://files.pythonhosted.org/packages/fb/39/8fc50b87203e71e6f3281111813ab0f3d6095cb1129efc2cf4c33e977657/ruff-0.9.8-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c18356beaef174797ad83f11debc5569e96afa73a549b2d073912565cfc4cfd1", size = 11413420 }, - { url = "https://files.pythonhosted.org/packages/6a/7b/53cd91b99a1cef31126859fb98fdc347c47e0047a9ec51391ea28f08284d/ruff-0.9.8-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:a1dfc443bee0288ea926a4d9ecfd858bf94ddf0a03a256c63e81b2b6dccdfc7d", size = 12138017 }, - { url = "https://files.pythonhosted.org/packages/1a/d4/949a328934202a2d2641dcd759761d8ed806e672cbbad0a88e20a46c43ba/ruff-0.9.8-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bc86d5a85cd5ab1d5aff1650f038aa34681d0692cc2467aa9ddef37bd56ea3f9", size = 11592548 }, - { url = "https://files.pythonhosted.org/packages/c6/8e/8520a4d97eefedb8472811fd5144fcb1fcbb29f83bb9bb4356a468e7eeac/ruff-0.9.8-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:66662aa19535d58fe6d04e5b59a39e495b102f2f5a2a1b9698e240eb78f429ef", size = 13787277 }, - { url = "https://files.pythonhosted.org/packages/24/68/f1629e00dbc5c9adcd31f12f9438b68c50ab0eefca8b07e11b6c94f11b09/ruff-0.9.8-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:733647b2fe9367e1aa049c0eba296363746f3bc0dbfd454b0bc4b7b46cdf0146", size = 11275421 }, - { url = "https://files.pythonhosted.org/packages/28/65/c133462f179b925e49910532c7d7b5a244df5995c155cd2ab9452545926f/ruff-0.9.8-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:100031be9777f67af7f61b4d4eea2a0531ed6788940aca4360f6b9aae317c53b", size = 10220273 }, - { url = "https://files.pythonhosted.org/packages/d8/1e/9339aef1896470380838385dbdc91f62998c37d406009f05ff3b810265f3/ruff-0.9.8-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:2f090758d58b4667d9022eee1085a854db93d800279e5a177ebda5adc1faf639", size = 9860266 }, - { url = "https://files.pythonhosted.org/packages/ca/33/2a2934860df6bd3665776ec686fc33910e7a1b793bdd2f000aea3e8f0b65/ruff-0.9.8-py3-none-musllinux_1_2_i686.whl", hash = "sha256:f774998b9c9a062510533aba9b53085de6be6d41e13a7a0bd086af8a40e838c3", size = 10831947 }, - { url = "https://files.pythonhosted.org/packages/74/66/0a7677b1cda4b2367a654f9af57f1dbe58f38c6704da88aee9bbf3941197/ruff-0.9.8-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:6ef7cc80626264ab8ab4d68b359ba867b8a52b0830a9643cd31289146dd40892", size = 11306767 }, - { url = "https://files.pythonhosted.org/packages/c4/90/6c98f94e036c8acdf19bd8f3f84d246e43cbcc950e24dc7ff85d2f2735ba/ruff-0.9.8-py3-none-win32.whl", hash = "sha256:54b57b623a683e696a1ede99db95500763c1badafe105b6ad8d8e9d96e385ae2", size = 10234107 }, - { url = "https://files.pythonhosted.org/packages/f5/e7/35877491b4b64daa35cbd7dc06aa5969e7bb1cd6f69e5594e4376dfbc16d/ruff-0.9.8-py3-none-win_amd64.whl", hash = "sha256:b0878103b2fb8af55ad701308a69ce713108ad346c3a3a143ebcd1e13829c9a7", size = 11357825 }, - { url = "https://files.pythonhosted.org/packages/6e/98/de77a972b2e9ded804dea5d4e6fbfa093d99e81092602567787ea87979af/ruff-0.9.8-py3-none-win_arm64.whl", hash = "sha256:e459a4fc4150fcc60da26c59a6a4b70878c60a99df865a71cf6f958dc68c419a", size = 10435420 }, + { url = "https://files.pythonhosted.org/packages/9c/db/baee59ac88f57527fcbaad3a7b309994e42329c6bc4d4d2b681a3d7b5426/ruff-0.11.4-py3-none-linux_armv6l.whl", hash = "sha256:d9f4a761ecbde448a2d3e12fb398647c7f0bf526dbc354a643ec505965824ed2", size = 10106493 }, + { url = "https://files.pythonhosted.org/packages/c1/d6/9a0962cbb347f4ff98b33d699bf1193ff04ca93bed4b4222fd881b502154/ruff-0.11.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:8c1747d903447d45ca3d40c794d1a56458c51e5cc1bc77b7b64bd2cf0b1626cc", size = 10876382 }, + { url = "https://files.pythonhosted.org/packages/3a/8f/62bab0c7d7e1ae3707b69b157701b41c1ccab8f83e8501734d12ea8a839f/ruff-0.11.4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:51a6494209cacca79e121e9b244dc30d3414dac8cc5afb93f852173a2ecfc906", size = 10237050 }, + { url = "https://files.pythonhosted.org/packages/09/96/e296965ae9705af19c265d4d441958ed65c0c58fc4ec340c27cc9d2a1f5b/ruff-0.11.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f171605f65f4fc49c87f41b456e882cd0c89e4ac9d58e149a2b07930e1d466f", size = 10424984 }, + { url = "https://files.pythonhosted.org/packages/e5/56/644595eb57d855afed6e54b852e2df8cd5ca94c78043b2f29bdfb29882d5/ruff-0.11.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ebf99ea9af918878e6ce42098981fc8c1db3850fef2f1ada69fb1dcdb0f8e79e", size = 9957438 }, + { url = "https://files.pythonhosted.org/packages/86/83/9d3f3bed0118aef3e871ded9e5687fb8c5776bde233427fd9ce0a45db2d4/ruff-0.11.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edad2eac42279df12e176564a23fc6f4aaeeb09abba840627780b1bb11a9d223", size = 11547282 }, + { url = "https://files.pythonhosted.org/packages/40/e6/0c6e4f5ae72fac5ccb44d72c0111f294a5c2c8cc5024afcb38e6bda5f4b3/ruff-0.11.4-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:f103a848be9ff379fc19b5d656c1f911d0a0b4e3e0424f9532ececf319a4296e", size = 12182020 }, + { url = "https://files.pythonhosted.org/packages/b5/92/4aed0e460aeb1df5ea0c2fbe8d04f9725cccdb25d8da09a0d3f5b8764bf8/ruff-0.11.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:193e6fac6eb60cc97b9f728e953c21cc38a20077ed64f912e9d62b97487f3f2d", size = 11679154 }, + { url = "https://files.pythonhosted.org/packages/1b/d3/7316aa2609f2c592038e2543483eafbc62a0e1a6a6965178e284808c095c/ruff-0.11.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7af4e5f69b7c138be8dcffa5b4a061bf6ba6a3301f632a6bce25d45daff9bc99", size = 13905985 }, + { url = "https://files.pythonhosted.org/packages/63/80/734d3d17546e47ff99871f44ea7540ad2bbd7a480ed197fe8a1c8a261075/ruff-0.11.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:126b1bf13154aa18ae2d6c3c5efe144ec14b97c60844cfa6eb960c2a05188222", size = 11348343 }, + { url = "https://files.pythonhosted.org/packages/04/7b/70fc7f09a0161dce9613a4671d198f609e653d6f4ff9eee14d64c4c240fb/ruff-0.11.4-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:e8806daaf9dfa881a0ed603f8a0e364e4f11b6ed461b56cae2b1c0cab0645304", size = 10308487 }, + { url = "https://files.pythonhosted.org/packages/1a/22/1cdd62dabd678d75842bf4944fd889cf794dc9e58c18cc547f9eb28f95ed/ruff-0.11.4-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:5d94bb1cc2fc94a769b0eb975344f1b1f3d294da1da9ddbb5a77665feb3a3019", size = 9929091 }, + { url = "https://files.pythonhosted.org/packages/9f/20/40e0563506332313148e783bbc1e4276d657962cc370657b2fff20e6e058/ruff-0.11.4-py3-none-musllinux_1_2_i686.whl", hash = "sha256:995071203d0fe2183fc7a268766fd7603afb9996785f086b0d76edee8755c896", size = 10924659 }, + { url = "https://files.pythonhosted.org/packages/b5/41/eef9b7aac8819d9e942f617f9db296f13d2c4576806d604aba8db5a753f1/ruff-0.11.4-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:7a37ca937e307ea18156e775a6ac6e02f34b99e8c23fe63c1996185a4efe0751", size = 11428160 }, + { url = "https://files.pythonhosted.org/packages/ff/61/c488943414fb2b8754c02f3879de003e26efdd20f38167ded3fb3fc1cda3/ruff-0.11.4-py3-none-win32.whl", hash = "sha256:0e9365a7dff9b93af933dab8aebce53b72d8f815e131796268709890b4a83270", size = 10311496 }, + { url = "https://files.pythonhosted.org/packages/b6/2b/2a1c8deb5f5dfa3871eb7daa41492c4d2b2824a74d2b38e788617612a66d/ruff-0.11.4-py3-none-win_amd64.whl", hash = "sha256:5a9fa1c69c7815e39fcfb3646bbfd7f528fa8e2d4bebdcf4c2bd0fa037a255fb", size = 11399146 }, + { url = "https://files.pythonhosted.org/packages/4f/03/3aec4846226d54a37822e4c7ea39489e4abd6f88388fba74e3d4abe77300/ruff-0.11.4-py3-none-win_arm64.whl", hash = "sha256:d435db6b9b93d02934cf61ef332e66af82da6d8c69aefdea5994c89997c7a0fc", size = 10450306 }, ] [[package]] @@ -1422,11 +1441,11 @@ wheels = [ [[package]] name = "typing-extensions" -version = "4.12.2" +version = "4.13.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/df/db/f35a00659bc03fec321ba8bce9420de607a1d37f8342eee1863174c69557/typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8", size = 85321 } +sdist = { url = "https://files.pythonhosted.org/packages/76/ad/cd3e3465232ec2416ae9b983f27b9e94dc8171d56ac99b345319a9475967/typing_extensions-4.13.1.tar.gz", hash = "sha256:98795af00fb9640edec5b8e31fc647597b4691f099ad75f469a2616be1a76dff", size = 106633 } wheels = [ - { url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438 }, + { url = "https://files.pythonhosted.org/packages/df/c5/e7a0b0f5ed69f94c8ab7379c599e6036886bffcde609969a5325f47f1332/typing_extensions-4.13.1-py3-none-any.whl", hash = "sha256:4b6cf02909eb5495cfbc3f6e8fd49217e6cc7944e145cdda8caa3734777f9e69", size = 45739 }, ] [[package]] @@ -1440,16 +1459,16 @@ wheels = [ [[package]] name = "virtualenv" -version = "20.29.2" +version = "20.30.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "distlib" }, { name = "filelock" }, { name = "platformdirs" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f1/88/dacc875dd54a8acadb4bcbfd4e3e86df8be75527116c91d8f9784f5e9cab/virtualenv-20.29.2.tar.gz", hash = "sha256:fdaabebf6d03b5ba83ae0a02cfe96f48a716f4fae556461d180825866f75b728", size = 4320272 } +sdist = { url = "https://files.pythonhosted.org/packages/38/e0/633e369b91bbc664df47dcb5454b6c7cf441e8f5b9d0c250ce9f0546401e/virtualenv-20.30.0.tar.gz", hash = "sha256:800863162bcaa5450a6e4d721049730e7f2dae07720e0902b0e4040bd6f9ada8", size = 4346945 } wheels = [ - { url = "https://files.pythonhosted.org/packages/93/fa/849483d56773ae29740ae70043ad88e068f98a6401aa819b5d6bee604683/virtualenv-20.29.2-py3-none-any.whl", hash = "sha256:febddfc3d1ea571bdb1dc0f98d7b45d24def7428214d4fb73cc486c9568cce6a", size = 4301478 }, + { url = "https://files.pythonhosted.org/packages/4c/ed/3cfeb48175f0671ec430ede81f628f9fb2b1084c9064ca67ebe8c0ed6a05/virtualenv-20.30.0-py3-none-any.whl", hash = "sha256:e34302959180fca3af42d1800df014b35019490b119eba981af27f2fa486e5d6", size = 4329461 }, ] [[package]] @@ -1659,96 +1678,101 @@ wheels = [ [[package]] name = "yarl" -version = "1.18.3" +version = "1.19.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "idna" }, { name = "multidict" }, { name = "propcache" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b7/9d/4b94a8e6d2b51b599516a5cb88e5bc99b4d8d4583e468057eaa29d5f0918/yarl-1.18.3.tar.gz", hash = "sha256:ac1801c45cbf77b6c99242eeff4fffb5e4e73a800b5c4ad4fc0be5def634d2e1", size = 181062 } +sdist = { url = "https://files.pythonhosted.org/packages/fc/4d/8a8f57caccce49573e567744926f88c6ab3ca0b47a257806d1cf88584c5f/yarl-1.19.0.tar.gz", hash = "sha256:01e02bb80ae0dbed44273c304095295106e1d9470460e773268a27d11e594892", size = 184396 } wheels = [ - { url = "https://files.pythonhosted.org/packages/d2/98/e005bc608765a8a5569f58e650961314873c8469c333616eb40bff19ae97/yarl-1.18.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7df647e8edd71f000a5208fe6ff8c382a1de8edfbccdbbfe649d263de07d8c34", size = 141458 }, - { url = "https://files.pythonhosted.org/packages/df/5d/f8106b263b8ae8a866b46d9be869ac01f9b3fb7f2325f3ecb3df8003f796/yarl-1.18.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c69697d3adff5aa4f874b19c0e4ed65180ceed6318ec856ebc423aa5850d84f7", size = 94365 }, - { url = "https://files.pythonhosted.org/packages/56/3e/d8637ddb9ba69bf851f765a3ee288676f7cf64fb3be13760c18cbc9d10bd/yarl-1.18.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:602d98f2c2d929f8e697ed274fbadc09902c4025c5a9963bf4e9edfc3ab6f7ed", size = 92181 }, - { url = "https://files.pythonhosted.org/packages/76/f9/d616a5c2daae281171de10fba41e1c0e2d8207166fc3547252f7d469b4e1/yarl-1.18.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c654d5207c78e0bd6d749f6dae1dcbbfde3403ad3a4b11f3c5544d9906969dde", size = 315349 }, - { url = "https://files.pythonhosted.org/packages/bb/b4/3ea5e7b6f08f698b3769a06054783e434f6d59857181b5c4e145de83f59b/yarl-1.18.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5094d9206c64181d0f6e76ebd8fb2f8fe274950a63890ee9e0ebfd58bf9d787b", size = 330494 }, - { url = "https://files.pythonhosted.org/packages/55/f1/e0fc810554877b1b67420568afff51b967baed5b53bcc983ab164eebf9c9/yarl-1.18.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35098b24e0327fc4ebdc8ffe336cee0a87a700c24ffed13161af80124b7dc8e5", size = 326927 }, - { url = "https://files.pythonhosted.org/packages/a9/42/b1753949b327b36f210899f2dd0a0947c0c74e42a32de3f8eb5c7d93edca/yarl-1.18.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3236da9272872443f81fedc389bace88408f64f89f75d1bdb2256069a8730ccc", size = 319703 }, - { url = "https://files.pythonhosted.org/packages/f0/6d/e87c62dc9635daefb064b56f5c97df55a2e9cc947a2b3afd4fd2f3b841c7/yarl-1.18.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2c08cc9b16f4f4bc522771d96734c7901e7ebef70c6c5c35dd0f10845270bcd", size = 310246 }, - { url = "https://files.pythonhosted.org/packages/e3/ef/e2e8d1785cdcbd986f7622d7f0098205f3644546da7919c24b95790ec65a/yarl-1.18.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:80316a8bd5109320d38eef8833ccf5f89608c9107d02d2a7f985f98ed6876990", size = 319730 }, - { url = "https://files.pythonhosted.org/packages/fc/15/8723e22345bc160dfde68c4b3ae8b236e868f9963c74015f1bc8a614101c/yarl-1.18.3-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:c1e1cc06da1491e6734f0ea1e6294ce00792193c463350626571c287c9a704db", size = 321681 }, - { url = "https://files.pythonhosted.org/packages/86/09/bf764e974f1516efa0ae2801494a5951e959f1610dd41edbfc07e5e0f978/yarl-1.18.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fea09ca13323376a2fdfb353a5fa2e59f90cd18d7ca4eaa1fd31f0a8b4f91e62", size = 324812 }, - { url = "https://files.pythonhosted.org/packages/f6/4c/20a0187e3b903c97d857cf0272d687c1b08b03438968ae8ffc50fe78b0d6/yarl-1.18.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:e3b9fd71836999aad54084906f8663dffcd2a7fb5cdafd6c37713b2e72be1760", size = 337011 }, - { url = "https://files.pythonhosted.org/packages/c9/71/6244599a6e1cc4c9f73254a627234e0dad3883ece40cc33dce6265977461/yarl-1.18.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:757e81cae69244257d125ff31663249b3013b5dc0a8520d73694aed497fb195b", size = 338132 }, - { url = "https://files.pythonhosted.org/packages/af/f5/e0c3efaf74566c4b4a41cb76d27097df424052a064216beccae8d303c90f/yarl-1.18.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b1771de9944d875f1b98a745bc547e684b863abf8f8287da8466cf470ef52690", size = 331849 }, - { url = "https://files.pythonhosted.org/packages/8a/b8/3d16209c2014c2f98a8f658850a57b716efb97930aebf1ca0d9325933731/yarl-1.18.3-cp310-cp310-win32.whl", hash = "sha256:8874027a53e3aea659a6d62751800cf6e63314c160fd607489ba5c2edd753cf6", size = 84309 }, - { url = "https://files.pythonhosted.org/packages/fd/b7/2e9a5b18eb0fe24c3a0e8bae994e812ed9852ab4fd067c0107fadde0d5f0/yarl-1.18.3-cp310-cp310-win_amd64.whl", hash = "sha256:93b2e109287f93db79210f86deb6b9bbb81ac32fc97236b16f7433db7fc437d8", size = 90484 }, - { url = "https://files.pythonhosted.org/packages/40/93/282b5f4898d8e8efaf0790ba6d10e2245d2c9f30e199d1a85cae9356098c/yarl-1.18.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8503ad47387b8ebd39cbbbdf0bf113e17330ffd339ba1144074da24c545f0069", size = 141555 }, - { url = "https://files.pythonhosted.org/packages/6d/9c/0a49af78df099c283ca3444560f10718fadb8a18dc8b3edf8c7bd9fd7d89/yarl-1.18.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:02ddb6756f8f4517a2d5e99d8b2f272488e18dd0bfbc802f31c16c6c20f22193", size = 94351 }, - { url = "https://files.pythonhosted.org/packages/5a/a1/205ab51e148fdcedad189ca8dd587794c6f119882437d04c33c01a75dece/yarl-1.18.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:67a283dd2882ac98cc6318384f565bffc751ab564605959df4752d42483ad889", size = 92286 }, - { url = "https://files.pythonhosted.org/packages/ed/fe/88b690b30f3f59275fb674f5f93ddd4a3ae796c2b62e5bb9ece8a4914b83/yarl-1.18.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d980e0325b6eddc81331d3f4551e2a333999fb176fd153e075c6d1c2530aa8a8", size = 340649 }, - { url = "https://files.pythonhosted.org/packages/07/eb/3b65499b568e01f36e847cebdc8d7ccb51fff716dbda1ae83c3cbb8ca1c9/yarl-1.18.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b643562c12680b01e17239be267bc306bbc6aac1f34f6444d1bded0c5ce438ca", size = 356623 }, - { url = "https://files.pythonhosted.org/packages/33/46/f559dc184280b745fc76ec6b1954de2c55595f0ec0a7614238b9ebf69618/yarl-1.18.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c017a3b6df3a1bd45b9fa49a0f54005e53fbcad16633870104b66fa1a30a29d8", size = 354007 }, - { url = "https://files.pythonhosted.org/packages/af/ba/1865d85212351ad160f19fb99808acf23aab9a0f8ff31c8c9f1b4d671fc9/yarl-1.18.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75674776d96d7b851b6498f17824ba17849d790a44d282929c42dbb77d4f17ae", size = 344145 }, - { url = "https://files.pythonhosted.org/packages/94/cb/5c3e975d77755d7b3d5193e92056b19d83752ea2da7ab394e22260a7b824/yarl-1.18.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ccaa3a4b521b780a7e771cc336a2dba389a0861592bbce09a476190bb0c8b4b3", size = 336133 }, - { url = "https://files.pythonhosted.org/packages/19/89/b77d3fd249ab52a5c40859815765d35c91425b6bb82e7427ab2f78f5ff55/yarl-1.18.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2d06d3005e668744e11ed80812e61efd77d70bb7f03e33c1598c301eea20efbb", size = 347967 }, - { url = "https://files.pythonhosted.org/packages/35/bd/f6b7630ba2cc06c319c3235634c582a6ab014d52311e7d7c22f9518189b5/yarl-1.18.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:9d41beda9dc97ca9ab0b9888cb71f7539124bc05df02c0cff6e5acc5a19dcc6e", size = 346397 }, - { url = "https://files.pythonhosted.org/packages/18/1a/0b4e367d5a72d1f095318344848e93ea70da728118221f84f1bf6c1e39e7/yarl-1.18.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ba23302c0c61a9999784e73809427c9dbedd79f66a13d84ad1b1943802eaaf59", size = 350206 }, - { url = "https://files.pythonhosted.org/packages/b5/cf/320fff4367341fb77809a2d8d7fe75b5d323a8e1b35710aafe41fdbf327b/yarl-1.18.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:6748dbf9bfa5ba1afcc7556b71cda0d7ce5f24768043a02a58846e4a443d808d", size = 362089 }, - { url = "https://files.pythonhosted.org/packages/57/cf/aadba261d8b920253204085268bad5e8cdd86b50162fcb1b10c10834885a/yarl-1.18.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0b0cad37311123211dc91eadcb322ef4d4a66008d3e1bdc404808992260e1a0e", size = 366267 }, - { url = "https://files.pythonhosted.org/packages/54/58/fb4cadd81acdee6dafe14abeb258f876e4dd410518099ae9a35c88d8097c/yarl-1.18.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0fb2171a4486bb075316ee754c6d8382ea6eb8b399d4ec62fde2b591f879778a", size = 359141 }, - { url = "https://files.pythonhosted.org/packages/9a/7a/4c571597589da4cd5c14ed2a0b17ac56ec9ee7ee615013f74653169e702d/yarl-1.18.3-cp311-cp311-win32.whl", hash = "sha256:61b1a825a13bef4a5f10b1885245377d3cd0bf87cba068e1d9a88c2ae36880e1", size = 84402 }, - { url = "https://files.pythonhosted.org/packages/ae/7b/8600250b3d89b625f1121d897062f629883c2f45339623b69b1747ec65fa/yarl-1.18.3-cp311-cp311-win_amd64.whl", hash = "sha256:b9d60031cf568c627d028239693fd718025719c02c9f55df0a53e587aab951b5", size = 91030 }, - { url = "https://files.pythonhosted.org/packages/33/85/bd2e2729752ff4c77338e0102914897512e92496375e079ce0150a6dc306/yarl-1.18.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1dd4bdd05407ced96fed3d7f25dbbf88d2ffb045a0db60dbc247f5b3c5c25d50", size = 142644 }, - { url = "https://files.pythonhosted.org/packages/ff/74/1178322cc0f10288d7eefa6e4a85d8d2e28187ccab13d5b844e8b5d7c88d/yarl-1.18.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7c33dd1931a95e5d9a772d0ac5e44cac8957eaf58e3c8da8c1414de7dd27c576", size = 94962 }, - { url = "https://files.pythonhosted.org/packages/be/75/79c6acc0261e2c2ae8a1c41cf12265e91628c8c58ae91f5ff59e29c0787f/yarl-1.18.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:25b411eddcfd56a2f0cd6a384e9f4f7aa3efee14b188de13048c25b5e91f1640", size = 92795 }, - { url = "https://files.pythonhosted.org/packages/6b/32/927b2d67a412c31199e83fefdce6e645247b4fb164aa1ecb35a0f9eb2058/yarl-1.18.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:436c4fc0a4d66b2badc6c5fc5ef4e47bb10e4fd9bf0c79524ac719a01f3607c2", size = 332368 }, - { url = "https://files.pythonhosted.org/packages/19/e5/859fca07169d6eceeaa4fde1997c91d8abde4e9a7c018e371640c2da2b71/yarl-1.18.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e35ef8683211db69ffe129a25d5634319a677570ab6b2eba4afa860f54eeaf75", size = 342314 }, - { url = "https://files.pythonhosted.org/packages/08/75/76b63ccd91c9e03ab213ef27ae6add2e3400e77e5cdddf8ed2dbc36e3f21/yarl-1.18.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:84b2deecba4a3f1a398df819151eb72d29bfeb3b69abb145a00ddc8d30094512", size = 341987 }, - { url = "https://files.pythonhosted.org/packages/1a/e1/a097d5755d3ea8479a42856f51d97eeff7a3a7160593332d98f2709b3580/yarl-1.18.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00e5a1fea0fd4f5bfa7440a47eff01d9822a65b4488f7cff83155a0f31a2ecba", size = 336914 }, - { url = "https://files.pythonhosted.org/packages/0b/42/e1b4d0e396b7987feceebe565286c27bc085bf07d61a59508cdaf2d45e63/yarl-1.18.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d0e883008013c0e4aef84dcfe2a0b172c4d23c2669412cf5b3371003941f72bb", size = 325765 }, - { url = "https://files.pythonhosted.org/packages/7e/18/03a5834ccc9177f97ca1bbb245b93c13e58e8225276f01eedc4cc98ab820/yarl-1.18.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5a3f356548e34a70b0172d8890006c37be92995f62d95a07b4a42e90fba54272", size = 344444 }, - { url = "https://files.pythonhosted.org/packages/c8/03/a713633bdde0640b0472aa197b5b86e90fbc4c5bc05b727b714cd8a40e6d/yarl-1.18.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ccd17349166b1bee6e529b4add61727d3f55edb7babbe4069b5764c9587a8cc6", size = 340760 }, - { url = "https://files.pythonhosted.org/packages/eb/99/f6567e3f3bbad8fd101886ea0276c68ecb86a2b58be0f64077396cd4b95e/yarl-1.18.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b958ddd075ddba5b09bb0be8a6d9906d2ce933aee81100db289badbeb966f54e", size = 346484 }, - { url = "https://files.pythonhosted.org/packages/8e/a9/84717c896b2fc6cb15bd4eecd64e34a2f0a9fd6669e69170c73a8b46795a/yarl-1.18.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c7d79f7d9aabd6011004e33b22bc13056a3e3fb54794d138af57f5ee9d9032cb", size = 359864 }, - { url = "https://files.pythonhosted.org/packages/1e/2e/d0f5f1bef7ee93ed17e739ec8dbcb47794af891f7d165fa6014517b48169/yarl-1.18.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4891ed92157e5430874dad17b15eb1fda57627710756c27422200c52d8a4e393", size = 364537 }, - { url = "https://files.pythonhosted.org/packages/97/8a/568d07c5d4964da5b02621a517532adb8ec5ba181ad1687191fffeda0ab6/yarl-1.18.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ce1af883b94304f493698b00d0f006d56aea98aeb49d75ec7d98cd4a777e9285", size = 357861 }, - { url = "https://files.pythonhosted.org/packages/7d/e3/924c3f64b6b3077889df9a1ece1ed8947e7b61b0a933f2ec93041990a677/yarl-1.18.3-cp312-cp312-win32.whl", hash = "sha256:f91c4803173928a25e1a55b943c81f55b8872f0018be83e3ad4938adffb77dd2", size = 84097 }, - { url = "https://files.pythonhosted.org/packages/34/45/0e055320daaabfc169b21ff6174567b2c910c45617b0d79c68d7ab349b02/yarl-1.18.3-cp312-cp312-win_amd64.whl", hash = "sha256:7e2ee16578af3b52ac2f334c3b1f92262f47e02cc6193c598502bd46f5cd1477", size = 90399 }, - { url = "https://files.pythonhosted.org/packages/30/c7/c790513d5328a8390be8f47be5d52e141f78b66c6c48f48d241ca6bd5265/yarl-1.18.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:90adb47ad432332d4f0bc28f83a5963f426ce9a1a8809f5e584e704b82685dcb", size = 140789 }, - { url = "https://files.pythonhosted.org/packages/30/aa/a2f84e93554a578463e2edaaf2300faa61c8701f0898725842c704ba5444/yarl-1.18.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:913829534200eb0f789d45349e55203a091f45c37a2674678744ae52fae23efa", size = 94144 }, - { url = "https://files.pythonhosted.org/packages/c6/fc/d68d8f83714b221a85ce7866832cba36d7c04a68fa6a960b908c2c84f325/yarl-1.18.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ef9f7768395923c3039055c14334ba4d926f3baf7b776c923c93d80195624782", size = 91974 }, - { url = "https://files.pythonhosted.org/packages/56/4e/d2563d8323a7e9a414b5b25341b3942af5902a2263d36d20fb17c40411e2/yarl-1.18.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a19f62ff30117e706ebc9090b8ecc79aeb77d0b1f5ec10d2d27a12bc9f66d0", size = 333587 }, - { url = "https://files.pythonhosted.org/packages/25/c9/cfec0bc0cac8d054be223e9f2c7909d3e8442a856af9dbce7e3442a8ec8d/yarl-1.18.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e17c9361d46a4d5addf777c6dd5eab0715a7684c2f11b88c67ac37edfba6c482", size = 344386 }, - { url = "https://files.pythonhosted.org/packages/ab/5d/4c532190113b25f1364d25f4c319322e86232d69175b91f27e3ebc2caf9a/yarl-1.18.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a74a13a4c857a84a845505fd2d68e54826a2cd01935a96efb1e9d86c728e186", size = 345421 }, - { url = "https://files.pythonhosted.org/packages/23/d1/6cdd1632da013aa6ba18cee4d750d953104a5e7aac44e249d9410a972bf5/yarl-1.18.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41f7ce59d6ee7741af71d82020346af364949314ed3d87553763a2df1829cc58", size = 339384 }, - { url = "https://files.pythonhosted.org/packages/9a/c4/6b3c39bec352e441bd30f432cda6ba51681ab19bb8abe023f0d19777aad1/yarl-1.18.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f52a265001d830bc425f82ca9eabda94a64a4d753b07d623a9f2863fde532b53", size = 326689 }, - { url = "https://files.pythonhosted.org/packages/23/30/07fb088f2eefdc0aa4fc1af4e3ca4eb1a3aadd1ce7d866d74c0f124e6a85/yarl-1.18.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:82123d0c954dc58db301f5021a01854a85bf1f3bb7d12ae0c01afc414a882ca2", size = 345453 }, - { url = "https://files.pythonhosted.org/packages/63/09/d54befb48f9cd8eec43797f624ec37783a0266855f4930a91e3d5c7717f8/yarl-1.18.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:2ec9bbba33b2d00999af4631a3397d1fd78290c48e2a3e52d8dd72db3a067ac8", size = 341872 }, - { url = "https://files.pythonhosted.org/packages/91/26/fd0ef9bf29dd906a84b59f0cd1281e65b0c3e08c6aa94b57f7d11f593518/yarl-1.18.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:fbd6748e8ab9b41171bb95c6142faf068f5ef1511935a0aa07025438dd9a9bc1", size = 347497 }, - { url = "https://files.pythonhosted.org/packages/d9/b5/14ac7a256d0511b2ac168d50d4b7d744aea1c1aa20c79f620d1059aab8b2/yarl-1.18.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:877d209b6aebeb5b16c42cbb377f5f94d9e556626b1bfff66d7b0d115be88d0a", size = 359981 }, - { url = "https://files.pythonhosted.org/packages/ca/b3/d493221ad5cbd18bc07e642894030437e405e1413c4236dd5db6e46bcec9/yarl-1.18.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b464c4ab4bfcb41e3bfd3f1c26600d038376c2de3297760dfe064d2cb7ea8e10", size = 366229 }, - { url = "https://files.pythonhosted.org/packages/04/56/6a3e2a5d9152c56c346df9b8fb8edd2c8888b1e03f96324d457e5cf06d34/yarl-1.18.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8d39d351e7faf01483cc7ff7c0213c412e38e5a340238826be7e0e4da450fdc8", size = 360383 }, - { url = "https://files.pythonhosted.org/packages/fd/b7/4b3c7c7913a278d445cc6284e59b2e62fa25e72758f888b7a7a39eb8423f/yarl-1.18.3-cp313-cp313-win32.whl", hash = "sha256:61ee62ead9b68b9123ec24bc866cbef297dd266175d53296e2db5e7f797f902d", size = 310152 }, - { url = "https://files.pythonhosted.org/packages/f5/d5/688db678e987c3e0fb17867970700b92603cadf36c56e5fb08f23e822a0c/yarl-1.18.3-cp313-cp313-win_amd64.whl", hash = "sha256:578e281c393af575879990861823ef19d66e2b1d0098414855dd367e234f5b3c", size = 315723 }, - { url = "https://files.pythonhosted.org/packages/6a/3b/fec4b08f5e88f68e56ee698a59284a73704df2e0e0b5bdf6536c86e76c76/yarl-1.18.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:61e5e68cb65ac8f547f6b5ef933f510134a6bf31bb178be428994b0cb46c2a04", size = 142780 }, - { url = "https://files.pythonhosted.org/packages/ed/85/796b0d6a22d536ec8e14bdbb86519250bad980cec450b6e299b1c2a9079e/yarl-1.18.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fe57328fbc1bfd0bd0514470ac692630f3901c0ee39052ae47acd1d90a436719", size = 94981 }, - { url = "https://files.pythonhosted.org/packages/ee/0e/a830fd2238f7a29050f6dd0de748b3d6f33a7dbb67dbbc081a970b2bbbeb/yarl-1.18.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a440a2a624683108a1b454705ecd7afc1c3438a08e890a1513d468671d90a04e", size = 92789 }, - { url = "https://files.pythonhosted.org/packages/0f/4f/438c9fd668954779e48f08c0688ee25e0673380a21bb1e8ccc56de5b55d7/yarl-1.18.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09c7907c8548bcd6ab860e5f513e727c53b4a714f459b084f6580b49fa1b9cee", size = 317327 }, - { url = "https://files.pythonhosted.org/packages/bd/79/a78066f06179b4ed4581186c136c12fcfb928c475cbeb23743e71a991935/yarl-1.18.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b4f6450109834af88cb4cc5ecddfc5380ebb9c228695afc11915a0bf82116789", size = 336999 }, - { url = "https://files.pythonhosted.org/packages/55/02/527963cf65f34a06aed1e766ff9a3b3e7d0eaa1c90736b2948a62e528e1d/yarl-1.18.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9ca04806f3be0ac6d558fffc2fdf8fcef767e0489d2684a21912cc4ed0cd1b8", size = 331693 }, - { url = "https://files.pythonhosted.org/packages/a2/2a/167447ae39252ba624b98b8c13c0ba35994d40d9110e8a724c83dbbb5822/yarl-1.18.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77a6e85b90a7641d2e07184df5557132a337f136250caafc9ccaa4a2a998ca2c", size = 321473 }, - { url = "https://files.pythonhosted.org/packages/55/03/07955fabb20082373be311c91fd78abe458bc7ff9069d34385e8bddad20e/yarl-1.18.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6333c5a377c8e2f5fae35e7b8f145c617b02c939d04110c76f29ee3676b5f9a5", size = 313571 }, - { url = "https://files.pythonhosted.org/packages/95/e2/67c8d3ec58a8cd8ddb1d63bd06eb7e7b91c9f148707a3eeb5a7ed87df0ef/yarl-1.18.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0b3c92fa08759dbf12b3a59579a4096ba9af8dd344d9a813fc7f5070d86bbab1", size = 325004 }, - { url = "https://files.pythonhosted.org/packages/06/43/51ceb3e427368fe6ccd9eccd162be227fd082523e02bad1fd3063daf68da/yarl-1.18.3-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:4ac515b860c36becb81bb84b667466885096b5fc85596948548b667da3bf9f24", size = 322677 }, - { url = "https://files.pythonhosted.org/packages/e4/0e/7ef286bfb23267739a703f7b967a858e2128c10bea898de8fa027e962521/yarl-1.18.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:045b8482ce9483ada4f3f23b3774f4e1bf4f23a2d5c912ed5170f68efb053318", size = 332806 }, - { url = "https://files.pythonhosted.org/packages/c8/94/2d1f060f4bfa47c8bd0bcb652bfe71fba881564bcac06ebb6d8ced9ac3bc/yarl-1.18.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:a4bb030cf46a434ec0225bddbebd4b89e6471814ca851abb8696170adb163985", size = 339919 }, - { url = "https://files.pythonhosted.org/packages/8e/8d/73b5f9a6ab69acddf1ca1d5e7bc92f50b69124512e6c26b36844531d7f23/yarl-1.18.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:54d6921f07555713b9300bee9c50fb46e57e2e639027089b1d795ecd9f7fa910", size = 340960 }, - { url = "https://files.pythonhosted.org/packages/41/13/ce6bc32be4476b60f4f8694831f49590884b2c975afcffc8d533bf2be7ec/yarl-1.18.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1d407181cfa6e70077df3377938c08012d18893f9f20e92f7d2f314a437c30b1", size = 336592 }, - { url = "https://files.pythonhosted.org/packages/81/d5/6e0460292d6299ac3919945f912b16b104f4e81ab20bf53e0872a1296daf/yarl-1.18.3-cp39-cp39-win32.whl", hash = "sha256:ac36703a585e0929b032fbaab0707b75dc12703766d0b53486eabd5139ebadd5", size = 84833 }, - { url = "https://files.pythonhosted.org/packages/b2/fc/a8aef69156ad5508165d8ae956736d55c3a68890610834bd985540966008/yarl-1.18.3-cp39-cp39-win_amd64.whl", hash = "sha256:ba87babd629f8af77f557b61e49e7c7cac36f22f871156b91e10a6e9d4f829e9", size = 90968 }, - { url = "https://files.pythonhosted.org/packages/f5/4b/a06e0ec3d155924f77835ed2d167ebd3b211a7b0853da1cf8d8414d784ef/yarl-1.18.3-py3-none-any.whl", hash = "sha256:b57f4f58099328dfb26c6a771d09fb20dbbae81d20cfb66141251ea063bd101b", size = 45109 }, + { url = "https://files.pythonhosted.org/packages/96/0f/e5bd0d7d98bb194a30740dea2c4324f85dfc2f8daba9d7bc7e47b45d1034/yarl-1.19.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0bae32f8ebd35c04d6528cedb4a26b8bf25339d3616b04613b97347f919b76d3", size = 144954 }, + { url = "https://files.pythonhosted.org/packages/07/bf/2acc4b643dbdfc823d0d2058768197198a3d93b41fffb41b83359c520a4d/yarl-1.19.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8015a076daf77823e7ebdcba474156587391dab4e70c732822960368c01251e6", size = 96613 }, + { url = "https://files.pythonhosted.org/packages/ca/38/c60ccca9aad0bb939e665b63a4e1550fecc922971f1f246dd7ad709a1a72/yarl-1.19.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9973ac95327f5d699eb620286c39365990b240031672b5c436a4cd00539596c5", size = 94408 }, + { url = "https://files.pythonhosted.org/packages/9a/43/2d5b49b4784743d88054e612a97aee2a9d2d463983c6a8e2fa4c872b294a/yarl-1.19.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd4b5fbd7b9dde785cfeb486b8cca211a0b138d4f3a7da27db89a25b3c482e5c", size = 330774 }, + { url = "https://files.pythonhosted.org/packages/3b/48/7decce219b6eedce321345f61461ee140ee6b3faf4875efe518f0e7b5817/yarl-1.19.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:75460740005de5a912b19f657848aef419387426a40f581b1dc9fac0eb9addb5", size = 323399 }, + { url = "https://files.pythonhosted.org/packages/67/2f/d6253528e49ce1c6f5119ec5269314752b06dd670f5a81721648d98b1dc7/yarl-1.19.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:57abd66ca913f2cfbb51eb3dbbbac3648f1f6983f614a4446e0802e241441d2a", size = 343329 }, + { url = "https://files.pythonhosted.org/packages/fc/6b/efeb1a088e8addbf5841a84b74dad2a06346b0e4a712eb269a0cd9ada8b7/yarl-1.19.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:46ade37911b7c99ce28a959147cb28bffbd14cea9e7dd91021e06a8d2359a5aa", size = 338275 }, + { url = "https://files.pythonhosted.org/packages/a6/b6/31acc2efcaf6999fd256d11f26ccc95ea773bc790ad1973331d7294b25db/yarl-1.19.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8346ec72ada749a6b5d82bff7be72578eab056ad7ec38c04f668a685abde6af0", size = 334014 }, + { url = "https://files.pythonhosted.org/packages/79/16/1deb54324842479e4d8b34841a383653587dfcc403c132f88b493f0c513e/yarl-1.19.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e4cb14a6ee5b6649ccf1c6d648b4da9220e8277d4d4380593c03cc08d8fe937", size = 322007 }, + { url = "https://files.pythonhosted.org/packages/80/77/4a073cec4f40ce84897510ee9d347bc10128f715be59b36e5c037463523b/yarl-1.19.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:66fc1c2926a73a2fb46e4b92e3a6c03904d9bc3a0b65e01cb7d2b84146a8bd3b", size = 336569 }, + { url = "https://files.pythonhosted.org/packages/73/e1/2f0455379bbee5f4ece8bc0968106386ec4e74237e8d68ced00bbff0a1fc/yarl-1.19.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:5a70201dd1e0a4304849b6445a9891d7210604c27e67da59091d5412bc19e51c", size = 336384 }, + { url = "https://files.pythonhosted.org/packages/74/e0/307aa8ae96bc0e72644855c76e8960019fc24c511a5dda73f05214da46f0/yarl-1.19.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e4807aab1bdeab6ae6f296be46337a260ae4b1f3a8c2fcd373e236b4b2b46efd", size = 340454 }, + { url = "https://files.pythonhosted.org/packages/af/19/2dcdb1e5eef26751c9e79369d1f80d6a1162dababb5070f62bc5b1a8f81e/yarl-1.19.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:ae584afe81a1de4c1bb06672481050f0d001cad13163e3c019477409f638f9b7", size = 355804 }, + { url = "https://files.pythonhosted.org/packages/c1/af/8c1e102c6d61713ed31022ab8f8866d263b87cb8f466c37f20a99019d169/yarl-1.19.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:30eaf4459df6e91f21b2999d1ee18f891bcd51e3cbe1de301b4858c84385895b", size = 359877 }, + { url = "https://files.pythonhosted.org/packages/1a/cf/c3c4bd85ecc7f189e14d21c3bea67ce389511d9178a302d97281868477aa/yarl-1.19.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0e617d45d03c8dec0dfce6f51f3e1b8a31aa81aaf4a4d1442fdb232bcf0c6d8c", size = 351282 }, + { url = "https://files.pythonhosted.org/packages/c6/85/0994f1c607b0520ef007717ff74f3317df3f7b7f32756ba2bf26c0c58ddf/yarl-1.19.0-cp310-cp310-win32.whl", hash = "sha256:32ba32d0fa23893fd8ea8d05bdb05de6eb19d7f2106787024fd969f4ba5466cb", size = 86529 }, + { url = "https://files.pythonhosted.org/packages/59/00/39bc8da1f67614633a099a44a5f69d056bb4d65a8e52a4003460e3fa4cc7/yarl-1.19.0-cp310-cp310-win_amd64.whl", hash = "sha256:545575ecfcd465891b51546c2bcafdde0acd2c62c2097d8d71902050b20e4922", size = 92707 }, + { url = "https://files.pythonhosted.org/packages/9b/df/5fa7cd75e46306e0f9baf38a7c8969ff6730ea503b86232e85cb740304cf/yarl-1.19.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:163ff326680de5f6d4966954cf9e3fe1bf980f5fee2255e46e89b8cf0f3418b5", size = 145126 }, + { url = "https://files.pythonhosted.org/packages/2a/be/c1b52129cd2166ab7337f08e701a61baa7c260c7b03b534098cc8297aecc/yarl-1.19.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a626c4d9cca298d1be8625cff4b17004a9066330ac82d132bbda64a4c17c18d3", size = 96691 }, + { url = "https://files.pythonhosted.org/packages/8d/39/ad62139b45515f9bf129c805aeaaedf86fd93ae57ffe911f4caeabef3e74/yarl-1.19.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:961c3e401ea7f13d02b8bb7cb0c709152a632a6e14cdc8119e9c6ee5596cd45d", size = 94505 }, + { url = "https://files.pythonhosted.org/packages/be/be/04e3202cdc9bb5f81761e327af7095cffb0d81e32421a6b87f926052d2ae/yarl-1.19.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a39d7b807ab58e633ed760f80195cbd145b58ba265436af35f9080f1810dfe64", size = 355485 }, + { url = "https://files.pythonhosted.org/packages/00/7d/1463203663ca1ae62af8fb9ebc9601dd07f04dbced7edb1df3141a2cb2fe/yarl-1.19.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c4228978fb59c6b10f60124ba8e311c26151e176df364e996f3f8ff8b93971b5", size = 344569 }, + { url = "https://files.pythonhosted.org/packages/b0/1b/5263203017348669e637bb73856fb9632110538e92d5e9f8214fcc764da9/yarl-1.19.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9ba536b17ecf3c74a94239ec1137a3ad3caea8c0e4deb8c8d2ffe847d870a8c5", size = 371426 }, + { url = "https://files.pythonhosted.org/packages/78/59/90ca5f16d56b7741e5383951acc2e065fce41920eb5d8fda3065b5e288dc/yarl-1.19.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a251e00e445d2e9df7b827c9843c0b87f58a3254aaa3f162fb610747491fe00f", size = 368102 }, + { url = "https://files.pythonhosted.org/packages/84/f2/5e33aa0251ffd2c2a9041bf887e163eeefdc1dca238fdabac444d9463c3f/yarl-1.19.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f9b92431d8b4d4ca5ccbfdbac95b05a3a6cd70cd73aa62f32f9627acfde7549c", size = 358740 }, + { url = "https://files.pythonhosted.org/packages/22/9e/ba92d234c81cf94495fc01eaa0b6000175733f76bd63e60ff748bce22c81/yarl-1.19.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ec2f56edaf476f70b5831bbd59700b53d9dd011b1f77cd4846b5ab5c5eafdb3f", size = 346965 }, + { url = "https://files.pythonhosted.org/packages/8d/0b/d4f53136ef12ddad540855a886d7503a6cc17cfabb9a03ce0c179f3b9e51/yarl-1.19.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:acf9b92c4245ac8b59bc7ec66a38d3dcb8d1f97fac934672529562bb824ecadb", size = 368547 }, + { url = "https://files.pythonhosted.org/packages/31/4b/35ec8622908a728f378a8511f0ab2d47878b2c0b8cbe035f2d907914a5fc/yarl-1.19.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:57711f1465c06fee8825b95c0b83e82991e6d9425f9a042c3c19070a70ac92bf", size = 357610 }, + { url = "https://files.pythonhosted.org/packages/c1/71/1f39f7c55b0684834d945a2bcfdfe59e6e02ca2483a3d33c2f77a0c3b177/yarl-1.19.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:528e86f5b1de0ad8dd758ddef4e0ed24f5d946d4a1cef80ffb2d4fca4e10f122", size = 365331 }, + { url = "https://files.pythonhosted.org/packages/2e/13/57675964de5c8ccf6427df93ac97f9bb7328f3f8f7ebc31a5f5a286ab1c0/yarl-1.19.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:3b77173663e075d9e5a57e09d711e9da2f3266be729ecca0b8ae78190990d260", size = 378624 }, + { url = "https://files.pythonhosted.org/packages/d4/c6/5868e40f8da041ed0c3b5fd8c08cece849d9f609e970e6043308767fbb60/yarl-1.19.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:d8717924cf0a825b62b1a96fc7d28aab7f55a81bf5338b8ef41d7a76ab9223e9", size = 383981 }, + { url = "https://files.pythonhosted.org/packages/f4/3f/e40124c986d96741d3d341ffac35be42b6df82ef8c18b5984ca2e7d838dd/yarl-1.19.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0df9f0221a78d858793f40cbea3915c29f969c11366646a92ca47e080a14f881", size = 378868 }, + { url = "https://files.pythonhosted.org/packages/01/eb/caf2774c770288bd87a818b11f3a56ada6a855f1987d93421aae01a175bf/yarl-1.19.0-cp311-cp311-win32.whl", hash = "sha256:8b3ade62678ee2c7c10dcd6be19045135e9badad53108f7d2ed14896ee396045", size = 86446 }, + { url = "https://files.pythonhosted.org/packages/4a/97/d4fe6168c1bb789507ffeb58c2e8c675a7e71de732dc02e12bda904c1362/yarl-1.19.0-cp311-cp311-win_amd64.whl", hash = "sha256:0626ee31edb23ac36bdffe607231de2cca055ad3a5e2dc5da587ef8bc6a321bc", size = 93121 }, + { url = "https://files.pythonhosted.org/packages/b8/70/44ef8f69d61cb5123167a4dda87f6c739a833fbdb2ed52960b4e8409d65c/yarl-1.19.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:7b687c334da3ff8eab848c9620c47a253d005e78335e9ce0d6868ed7e8fd170b", size = 146855 }, + { url = "https://files.pythonhosted.org/packages/c3/94/38c14d6c8217cc818647689f2dd647b976ced8fea08d0ac84e3c8168252b/yarl-1.19.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b0fe766febcf523a2930b819c87bb92407ae1368662c1bc267234e79b20ff894", size = 97523 }, + { url = "https://files.pythonhosted.org/packages/35/a5/43a613586a6255105c4655a911c307ef3420e49e540d6ae2c5829863fb25/yarl-1.19.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:742ceffd3c7beeb2b20d47cdb92c513eef83c9ef88c46829f88d5b06be6734ee", size = 95540 }, + { url = "https://files.pythonhosted.org/packages/d4/60/ed26049f4a8b06ebfa6d5f3cb6a51b152fd57081aa818b6497474f65a631/yarl-1.19.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2af682a1e97437382ee0791eacbf540318bd487a942e068e7e0a6c571fadbbd3", size = 344386 }, + { url = "https://files.pythonhosted.org/packages/49/a6/b84899cab411f49af5986cfb44b514040788d81c8084f5811e6a7c0f1ce6/yarl-1.19.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:63702f1a098d0eaaea755e9c9d63172be1acb9e2d4aeb28b187092bcc9ca2d17", size = 338889 }, + { url = "https://files.pythonhosted.org/packages/cc/ce/0704f7166a781b1f81bdd45c4f49eadbae0230ebd35b9ec7cd7769d3a6ff/yarl-1.19.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3560dcba3c71ae7382975dc1e912ee76e50b4cd7c34b454ed620d55464f11876", size = 353107 }, + { url = "https://files.pythonhosted.org/packages/75/e5/0ecd6f2a9cc4264c16d8dfb0d3d71ba8d03cb58f3bcd42b1df4358331189/yarl-1.19.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:68972df6a0cc47c8abaf77525a76ee5c5f6ea9bbdb79b9565b3234ded3c5e675", size = 353128 }, + { url = "https://files.pythonhosted.org/packages/ad/c7/cd0fd1de581f1c2e8f996e704c9fd979e00106f18eebd91b0173cf1a13c6/yarl-1.19.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5684e7ff93ea74e47542232bd132f608df4d449f8968fde6b05aaf9e08a140f9", size = 349107 }, + { url = "https://files.pythonhosted.org/packages/e6/34/ba3e5a20bd1d6a09034fc7985aaf1309976f2a7a5aefd093c9e56f6e1e0c/yarl-1.19.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8182ad422bfacdebd4759ce3adc6055c0c79d4740aea1104e05652a81cd868c6", size = 335144 }, + { url = "https://files.pythonhosted.org/packages/1e/98/d9b7beb932fade015906efe0980aa7d522b8f93cf5ebf1082e74faa314b7/yarl-1.19.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:aee5b90a5a9b71ac57400a7bdd0feaa27c51e8f961decc8d412e720a004a1791", size = 360795 }, + { url = "https://files.pythonhosted.org/packages/9a/11/70b8770039cc54af5948970591517a1e1d093df3f04f328c655c9a0fefb7/yarl-1.19.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:8c0b2371858d5a814b08542d5d548adb03ff2d7ab32f23160e54e92250961a72", size = 360140 }, + { url = "https://files.pythonhosted.org/packages/d4/67/708e3e36fafc4d9d96b4eecc6c8b9f37c8ad50df8a16c7a1d5ba9df53050/yarl-1.19.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:cd430c2b7df4ae92498da09e9b12cad5bdbb140d22d138f9e507de1aa3edfea3", size = 364431 }, + { url = "https://files.pythonhosted.org/packages/c3/8b/937fbbcc895553a7e16fcd86ae4e0724c6ac9468237ad8e7c29cc3b1c9d9/yarl-1.19.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a93208282c0ccdf73065fd76c6c129bd428dba5ff65d338ae7d2ab27169861a0", size = 373832 }, + { url = "https://files.pythonhosted.org/packages/f8/ca/288ddc2230c9b6647fe907504f1119adb41252ac533eb564d3fc73511215/yarl-1.19.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:b8179280cdeb4c36eb18d6534a328f9d40da60d2b96ac4a295c5f93e2799e9d9", size = 378122 }, + { url = "https://files.pythonhosted.org/packages/4f/5a/79e1ef31d14968fbfc0ecec70a6683b574890d9c7550c376dd6d40de7754/yarl-1.19.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:eda3c2b42dc0c389b7cfda2c4df81c12eeb552019e0de28bde8f913fc3d1fcf3", size = 375178 }, + { url = "https://files.pythonhosted.org/packages/95/38/9b0e56bf14026c3f550ad6425679f6d1a2f4821d70767f39d6f4c56a0820/yarl-1.19.0-cp312-cp312-win32.whl", hash = "sha256:57f3fed859af367b9ca316ecc05ce79ce327d6466342734305aa5cc380e4d8be", size = 86172 }, + { url = "https://files.pythonhosted.org/packages/b3/96/5c2f3987c4bb4e5cdebea3caf99a45946b13a9516f849c02222203d99860/yarl-1.19.0-cp312-cp312-win_amd64.whl", hash = "sha256:5507c1f7dd3d41251b67eecba331c8b2157cfd324849879bebf74676ce76aff7", size = 92617 }, + { url = "https://files.pythonhosted.org/packages/cd/a7/222144efa2f4a47363a5fee27d8a1d24851283b5a7f628890805fe7f7a66/yarl-1.19.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:59281b9ed27bc410e0793833bcbe7fc149739d56ffa071d1e0fe70536a4f7b61", size = 144789 }, + { url = "https://files.pythonhosted.org/packages/72/4f/3ee8de3f94baa33c0716260b0048b1fd5306f104b3efc6e1713693e7063e/yarl-1.19.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d27a6482ad5e05e8bafd47bf42866f8a1c0c3345abcb48d4511b3c29ecc197dc", size = 96685 }, + { url = "https://files.pythonhosted.org/packages/3e/7c/fbeebf875c1ededd872d6fefabd8a8526ef8aba6e9e8bcdf230d895d487b/yarl-1.19.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7a8e19fd5a6fdf19a91f2409665c7a089ffe7b9b5394ab33c0eec04cbecdd01f", size = 94307 }, + { url = "https://files.pythonhosted.org/packages/f3/ff/b7a9c1d7df37e594b43b7a8030e228ccd4ce361eeff24a92b17fe210e57d/yarl-1.19.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cda34ab19099c3a1685ad48fe45172536610c312b993310b5f1ca3eb83453b36", size = 342811 }, + { url = "https://files.pythonhosted.org/packages/79/e2/9e092876b2156c1d386e4864e85eba541ccabf2b9dcc47da64624bad0cc9/yarl-1.19.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7908a25d33f94852b479910f9cae6cdb9e2a509894e8d5f416c8342c0253c397", size = 336928 }, + { url = "https://files.pythonhosted.org/packages/71/24/648d99c134f2e14fc01ba790ad36ab56815e00069e60a12a4af893448b83/yarl-1.19.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e66c14d162bac94973e767b24de5d7e6c5153f7305a64ff4fcba701210bcd638", size = 351021 }, + { url = "https://files.pythonhosted.org/packages/0c/ee/7278d475784d407d1990a5939722e66a0fef057046fb5f1721f0a6eb156c/yarl-1.19.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c03607bf932aa4cfae371e2dc9ca8b76faf031f106dac6a6ff1458418140c165", size = 354454 }, + { url = "https://files.pythonhosted.org/packages/15/ae/242546114e052a7de21a75bd7d4860266439f90bbc21c5e4dd696866d91d/yarl-1.19.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9931343d1c1f4e77421687b6b94bbebd8a15a64ab8279adf6fbb047eff47e536", size = 347594 }, + { url = "https://files.pythonhosted.org/packages/46/2c/35f4347f76ea4c986e9c1f774b085f489b3a1bf1503c67a4dfc5d8e68e92/yarl-1.19.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:262087a8a0d73e1d169d45c2baf968126f93c97cf403e1af23a7d5455d52721f", size = 334113 }, + { url = "https://files.pythonhosted.org/packages/20/89/3086bc8ec8d7bd505531c51056452d7ae6af906d29c427374f1170ac1938/yarl-1.19.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:70f384921c24e703d249a6ccdabeb57dd6312b568b504c69e428a8dd3e8e68ca", size = 361037 }, + { url = "https://files.pythonhosted.org/packages/a1/5b/2c9765524a70d1c51922b41c91caa30c8094a416734349166e1a3d8de055/yarl-1.19.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:756b9ea5292a2c180d1fe782a377bc4159b3cfefaca7e41b5b0a00328ef62fa9", size = 361025 }, + { url = "https://files.pythonhosted.org/packages/ca/f8/c4a190bcc3cd98fb428d1dd31519e58004153dc7f2acd1236ecae54e3433/yarl-1.19.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cbeb9c145d534c240a63b6ecc8a8dd451faeb67b3dc61d729ec197bb93e29497", size = 364397 }, + { url = "https://files.pythonhosted.org/packages/6b/fb/f65b1347be8e12ac4e3e37a9bb880e6b9b604f252aaafd88e4879b1e9348/yarl-1.19.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:087ae8f8319848c18e0d114d0f56131a9c017f29200ab1413b0137ad7c83e2ae", size = 374065 }, + { url = "https://files.pythonhosted.org/packages/1c/c5/102cc3b9baad1a76f9127453ad08e0f5bc9c996c18128b1e28fe03817d6c/yarl-1.19.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:362f5480ba527b6c26ff58cff1f229afe8b7fdd54ee5ffac2ab827c1a75fc71c", size = 381341 }, + { url = "https://files.pythonhosted.org/packages/f7/ce/f5dc0439320dfe59fadab8cdd24ac324be19cf6ae4736422c7e2a510ddf3/yarl-1.19.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f408d4b4315e814e5c3668094e33d885f13c7809cbe831cbdc5b1bb8c7a448f4", size = 376552 }, + { url = "https://files.pythonhosted.org/packages/a9/4a/4833a134c76af987eff3ce8cb71e42932234120e6be061eb2555061e8844/yarl-1.19.0-cp313-cp313-win32.whl", hash = "sha256:24e4c367ad69988a2283dd45ea88172561ca24b2326b9781e164eb46eea68345", size = 85878 }, + { url = "https://files.pythonhosted.org/packages/32/e9/59327daab3af8f79221638a8f0d11474d20f6a8fbc41e9da80c5ef69e688/yarl-1.19.0-cp313-cp313-win_amd64.whl", hash = "sha256:0110f91c57ab43d1538dfa92d61c45e33b84df9257bd08fcfcda90cce931cbc9", size = 92448 }, + { url = "https://files.pythonhosted.org/packages/f0/77/38ee2b6ea52fa46efb3a68c17d066760a2e873c99837001922dad3c5d4e5/yarl-1.19.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:85ac908cd5a97bbd3048cca9f1bf37b932ea26c3885099444f34b0bf5d5e9fa6", size = 146440 }, + { url = "https://files.pythonhosted.org/packages/08/14/4c2f8696bf09d851d299e4af62bf005e6087f162cd34b8c88c332d8580ea/yarl-1.19.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6ba0931b559f1345df48a78521c31cfe356585670e8be22af84a33a39f7b9221", size = 97490 }, + { url = "https://files.pythonhosted.org/packages/8d/b9/a67586d46e9c68ecae6162164539c50fdeab3f4722decda4f6ea9f7bf4fd/yarl-1.19.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5bc503e1c1fee1b86bcb58db67c032957a52cae39fe8ddd95441f414ffbab83e", size = 95236 }, + { url = "https://files.pythonhosted.org/packages/76/01/2f3c33ef91f9292bb4bb59654fc5f6e0c24780de74cc993f583dec7c6adb/yarl-1.19.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d995122dcaf180fd4830a9aa425abddab7c0246107c21ecca2fa085611fa7ce9", size = 330624 }, + { url = "https://files.pythonhosted.org/packages/43/fd/64e414ffba8f19e5d151c06e9402a0a0054f0c8f5d5e25519612d5d583ad/yarl-1.19.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:217f69e60a14da4eed454a030ea8283f8fbd01a7d6d81e57efb865856822489b", size = 325798 }, + { url = "https://files.pythonhosted.org/packages/7a/84/813be2b6b8c4c5bdafa5e0c0e5b17213f45fd10efbfaaa1279a917201373/yarl-1.19.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aad67c8f13a4b79990082f72ef09c078a77de2b39899aabf3960a48069704973", size = 348176 }, + { url = "https://files.pythonhosted.org/packages/4f/06/81f9a80e243e043f0dc6a043d1a89dc004b06e3f71fb7c83f9013959bb5b/yarl-1.19.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dff065a1a8ed051d7e641369ba1ad030d5a707afac54cf4ede7069b959898835", size = 343497 }, + { url = "https://files.pythonhosted.org/packages/ec/8a/abbed688dd85b5a29e91ed9a7f4cce9efe925083d7567f341ece0b36cc7e/yarl-1.19.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ada882e26b16ee651ab6544ce956f2f4beaed38261238f67c2a96db748e17741", size = 336969 }, + { url = "https://files.pythonhosted.org/packages/33/1a/7a6316473afec0b57e1cbf2ccaa02df9f138c0e447b43e85e8b1a4e7a549/yarl-1.19.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:67a56b1acc7093451ea2de0687aa3bd4e58d6b4ef6cbeeaad137b45203deaade", size = 328910 }, + { url = "https://files.pythonhosted.org/packages/29/07/ba204b362147a04a5e172af726887156ae4e098fab826aa9d7269fbdbf89/yarl-1.19.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:e97d2f0a06b39e231e59ebab0e6eec45c7683b339e8262299ac952707bdf7688", size = 342614 }, + { url = "https://files.pythonhosted.org/packages/e1/43/555be0062c999a610ad2c7b5a78695f25a70890be8c3e9ae555386b20cd3/yarl-1.19.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:a5288adb7c59d0f54e4ad58d86fb06d4b26e08a59ed06d00a1aac978c0e32884", size = 340438 }, + { url = "https://files.pythonhosted.org/packages/26/17/703f82dbac560b9a47cee7c83abad923ac98f062eda9430dab098c28a3c9/yarl-1.19.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1efbf4d03e6eddf5da27752e0b67a8e70599053436e9344d0969532baa99df53", size = 343236 }, + { url = "https://files.pythonhosted.org/packages/e7/2c/a73354c4cc84e39a1eb83c1fabce01a75640a7fcf4183e5d3e99b1e510bd/yarl-1.19.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:f228f42f29cc87db67020f7d71624102b2c837686e55317b16e1d3ef2747a993", size = 358432 }, + { url = "https://files.pythonhosted.org/packages/f2/b5/5213af4695344281637d65005b781151008446bbd852a4b6a1b47b6952fa/yarl-1.19.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:c515f7dd60ca724e4c62b34aeaa603188964abed2eb66bb8e220f7f104d5a187", size = 359656 }, + { url = "https://files.pythonhosted.org/packages/d0/7d/00c56abbb3bec635dbe1f0ffb11f04eefc9ec2e1af24f10b34ed5d4e154d/yarl-1.19.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:4815ec6d3d68a96557fa71bd36661b45ac773fb50e5cfa31a7e843edb098f060", size = 353732 }, + { url = "https://files.pythonhosted.org/packages/84/4f/37e5c9162af1a494f9854683869c67be271c5e66f75b0c7010c78a025356/yarl-1.19.0-cp39-cp39-win32.whl", hash = "sha256:9fac2dd1c5ecb921359d9546bc23a6dcc18c6acd50c6d96f118188d68010f497", size = 87082 }, + { url = "https://files.pythonhosted.org/packages/55/7f/ef6a2a6d95671430364ec801286ed748cc9808bd747f038639158b5f308d/yarl-1.19.0-cp39-cp39-win_amd64.whl", hash = "sha256:5864f539ce86b935053bfa18205fa08ce38e9a40ea4d51b19ce923345f0ed5db", size = 93180 }, + { url = "https://files.pythonhosted.org/packages/a4/06/ae25a353e8f032322df6f30d6bb1fc329773ee48e1a80a2196ccb8d1206b/yarl-1.19.0-py3-none-any.whl", hash = "sha256:a727101eb27f66727576630d02985d8a065d09cd0b5fcbe38a5793f71b2a97ef", size = 45990 }, ] [[package]] From cbfe14b18b384cea7589f6e1680b75dcd09c65c7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 1 May 2025 02:40:47 +0000 Subject: [PATCH 53/97] chore(deps): update astral-sh/setup-uv action to v6 --- .github/actions/setup-project/action.yml | 2 +- .github/workflows/docs.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/actions/setup-project/action.yml b/.github/actions/setup-project/action.yml index 2e37641..af4e121 100644 --- a/.github/actions/setup-project/action.yml +++ b/.github/actions/setup-project/action.yml @@ -10,7 +10,7 @@ runs: steps: - name: Install uv - uses: astral-sh/setup-uv@v5 + uses: astral-sh/setup-uv@v6 with: enable-cache: true python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 4d2129c..27120bb 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -18,7 +18,7 @@ jobs: - uses: actions/checkout@v4 - name: Install uv and set the python version - uses: astral-sh/setup-uv@v5 + uses: astral-sh/setup-uv@v6 with: python-version: ${{ matrix.python-version }} From 7f6ee0ec51106cfae50b92ca3cf7acf2f951eacb Mon Sep 17 00:00:00 2001 From: Mike Almeloo Date: Sun, 25 May 2025 22:57:47 +0200 Subject: [PATCH 54/97] Add FindMyDad to README closes #129 --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8e54249..dcd893c 100644 --- a/README.md +++ b/README.md @@ -83,6 +83,7 @@ There are several other cool projects based on this library! Some of them have b * [FindMy Home Assistant (1)](https://github.com/malmeloo/hass-FindMy) - Home Assistant integration made by the author of FindMy.py. * [FindMy Home Assistant (2)](github.com/krmax44/homeassistant-findmy) - Home Assistant integration made by [krmax44](https://github.com/krmax44). * [OpenTagViewer](https://github.com/parawanderer/OpenTagViewer) - Android App to locate your AirTags. +* [Find My Dad](https://github.com/NickCrews/findmydad) - Geofencing application for AirTags using Google Sheets and SMS. ## Credits From 0defad71b3e13dff38df00955edbb4e1cce93113 Mon Sep 17 00:00:00 2001 From: Nick Crews Date: Sun, 25 May 2025 16:45:54 -0600 Subject: [PATCH 55/97] feat: add plist.py for decrypting the .plist files to FindMyAccessory --- .gitignore | 1 + README.md | 4 +- findmy/__init__.py | 3 +- findmy/__main__.py | 67 ++++++++++++++++++++++++++++++++ findmy/accessory.py | 95 ++++++++++++++++++++++++++++++++++++++++++--- findmy/plist.py | 90 ++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 252 insertions(+), 8 deletions(-) create mode 100644 findmy/__main__.py create mode 100644 findmy/plist.py diff --git a/.gitignore b/.gitignore index 6abf495..f206d95 100644 --- a/.gitignore +++ b/.gitignore @@ -164,3 +164,4 @@ account.json airtag.plist DO_NOT_COMMIT* .direnv/ +accessories/ diff --git a/README.md b/README.md index dcd893c..e06f85b 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,9 @@ The package can be installed from [PyPi](https://pypi.org/project/findmy/): pip install findmy ``` -For usage examples, see the [examples](examples) directory. Documentation can be found [here](http://docs.mikealmel.ooo/FindMy.py/). +For usage examples, see the [examples](examples) directory. +We are also building out a CLI. Try `python -m findmy` to see the current state of it. +Documentation can be found [here](http://docs.mikealmel.ooo/FindMy.py/). ## Contributing diff --git a/findmy/__init__.py b/findmy/__init__.py index 9cc82e2..4492842 100644 --- a/findmy/__init__.py +++ b/findmy/__init__.py @@ -1,6 +1,6 @@ """A package providing everything you need to work with Apple's FindMy network.""" -from . import errors, keys, reports, scanner +from . import errors, keys, plist, reports, scanner from .accessory import FindMyAccessory from .keys import KeyPair @@ -9,6 +9,7 @@ __all__ = ( "KeyPair", "errors", "keys", + "plist", "reports", "scanner", ) diff --git a/findmy/__main__.py b/findmy/__main__.py new file mode 100644 index 0000000..7ed86d7 --- /dev/null +++ b/findmy/__main__.py @@ -0,0 +1,67 @@ +"""usage: python -m findmy""" # noqa: D400, D415 + +from __future__ import annotations + +import argparse +import logging +from importlib.metadata import version +from pathlib import Path + +from .plist import get_key, list_accessories + + +def main() -> None: # noqa: D103 + parser = argparse.ArgumentParser(prog="findmy", description="FindMy.py CLI tool") + parser.add_argument( + "-v", + "--version", + action="version", + version=version("FindMy"), + ) + parser.add_argument( + "-log-level", + choices=["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"], + default="INFO", + help="Set the logging level (default: INFO)", + ) + subparsers = parser.add_subparsers(dest="command", title="commands") + subparsers.required = True + + decrypt_parser = subparsers.add_parser( + "decrypt", + help="Decrypt all the local FindMy accessories to JSON files.", + ) + decrypt_parser.add_argument( + "--out-dir", + type=Path, + default=Path("accessories/"), + help="Output directory for decrypted files (default: accessories/)", + ) + + args = parser.parse_args() + logging.basicConfig(level=args.log_level.upper()) + if args.command == "decrypt": + decrypt_all(args.out_dir) + else: + # This else block should ideally not be reached if subparsers.required is True + # and a default command isn't set, or if a command is always given. + # However, it's good practice for unexpected cases or if the logic changes. + parser.print_help() + parser.exit(1) + + +def decrypt_all(out_dir: str | Path) -> None: + """Decrypt all accessories and save them to the specified directory as JSON files.""" + out_dir = Path(out_dir) + out_dir = out_dir.resolve().absolute() + out_dir.mkdir(parents=True, exist_ok=True) + key = get_key() + accs = list_accessories(key=key) + for acc in accs: + out_path = out_dir / f"{acc.identifier}.json" + acc.to_json(out_path) + print(f"Decrypted accessory: {acc.name} ({acc.identifier})") # noqa: T201 + + +if __name__ == "__main__": + main() diff --git a/findmy/accessory.py b/findmy/accessory.py index f06cd14..d44ef8f 100644 --- a/findmy/accessory.py +++ b/findmy/accessory.py @@ -6,10 +6,12 @@ Accessories could be anything ranging from AirTags to iPhones. from __future__ import annotations +import json import logging import plistlib from abc import ABC, abstractmethod from datetime import datetime, timedelta, timezone +from pathlib import Path from typing import IO, TYPE_CHECKING, overload from typing_extensions import override @@ -18,9 +20,9 @@ from .keys import KeyGenerator, KeyPair, KeyType from .util import crypto if TYPE_CHECKING: - from collections.abc import Generator + from collections.abc import Generator, Mapping -logging.getLogger(__name__) +logger = logging.getLogger(__name__) class RollingKeyPairSource(ABC): @@ -70,6 +72,7 @@ class FindMyAccessory(RollingKeyPairSource): def __init__( # noqa: PLR0913 self, + *, master_key: bytes, skn: bytes, sks: bytes, @@ -90,7 +93,7 @@ class FindMyAccessory(RollingKeyPairSource): self._paired_at: datetime = paired_at if self._paired_at.tzinfo is None: self._paired_at = self._paired_at.astimezone() - logging.warning( + logger.warning( "Pairing datetime is timezone-naive. Assuming system tz: %s.", self._paired_at.tzname(), ) @@ -99,6 +102,21 @@ class FindMyAccessory(RollingKeyPairSource): self._model = model self._identifier = identifier + @property + def master_key(self) -> bytes: + """The private master key.""" + return self._primary_gen.master_key + + @property + def skn(self) -> bytes: + """The SKN for the primary key.""" + return self._primary_gen.initial_sk + + @property + def sks(self) -> bytes: + """The SKS for the secondary key.""" + return self._secondary_gen.initial_sk + @property def paired_at(self) -> datetime: """Date and time at which this accessory was paired with an Apple account.""" @@ -177,9 +195,22 @@ class FindMyAccessory(RollingKeyPairSource): return possible_keys @classmethod - def from_plist(cls, plist: IO[bytes]) -> FindMyAccessory: + def from_plist( + cls, + plist: str | Path | dict | bytes | IO[bytes], + *, + name: str | None = None, + ) -> FindMyAccessory: """Create a FindMyAccessory from a .plist file dumped from the FindMy app.""" - device_data = plistlib.load(plist) + if isinstance(plist, bytes): + # plist is a bytes object + device_data = plistlib.loads(plist) + elif isinstance(plist, (str, Path)): + device_data = plistlib.loads(Path(plist).read_bytes()) + elif isinstance(plist, IO): + device_data = plistlib.load(plist) + else: + device_data = plist # PRIVATE master key. 28 (?) bytes. master_key = device_data["privateKey"]["key"]["data"][-28:] @@ -201,7 +232,44 @@ class FindMyAccessory(RollingKeyPairSource): model = device_data["model"] identifier = device_data["identifier"] - return cls(master_key, skn, sks, paired_at, None, model, identifier) + return cls( + master_key=master_key, + skn=skn, + sks=sks, + paired_at=paired_at, + name=name, + model=model, + identifier=identifier, + ) + + def to_json(self, path: str | Path | None = None) -> dict[str, str | int | None]: + """Convert the accessory to a JSON-serializable dictionary.""" + d = { + "master_key": self._primary_gen.master_key.hex(), + "skn": self.skn.hex(), + "sks": self.sks.hex(), + "paired_at": self._paired_at.isoformat(), + "name": self.name, + "model": self.model, + "identifier": self.identifier, + } + if path is not None: + Path(path).write_text(json.dumps(d, indent=4)) + return d + + @classmethod + def from_json(cls, json_: str | Path | Mapping, /) -> FindMyAccessory: + """Create a FindMyAccessory from a JSON file.""" + data = json.loads(Path(json_).read_text()) if isinstance(json_, (str, Path)) else json_ + return cls( + master_key=bytes.fromhex(data["master_key"]), + skn=bytes.fromhex(data["skn"]), + sks=bytes.fromhex(data["sks"]), + paired_at=datetime.fromisoformat(data["paired_at"]), + name=data["name"], + model=data["model"], + identifier=data["identifier"], + ) class AccessoryKeyGenerator(KeyGenerator[KeyPair]): @@ -236,6 +304,21 @@ class AccessoryKeyGenerator(KeyGenerator[KeyPair]): self._iter_ind = 0 + @property + def master_key(self) -> bytes: + """The private master key.""" + return self._master_key + + @property + def initial_sk(self) -> bytes: + """The initial secret key.""" + return self._initial_sk + + @property + def key_type(self) -> KeyType: + """The type of key this generator produces.""" + return self._key_type + def _get_sk(self, ind: int) -> bytes: if ind < self._cur_sk_ind: # behind us; need to reset :( self._cur_sk = self._initial_sk diff --git a/findmy/plist.py b/findmy/plist.py new file mode 100644 index 0000000..76872a2 --- /dev/null +++ b/findmy/plist.py @@ -0,0 +1,90 @@ +"""Utils for decrypting the encypted .record files into .plist files.""" + +from __future__ import annotations + +import plistlib +import subprocess +from pathlib import Path +from typing import IO + +from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes + +from .accessory import FindMyAccessory + +# Originally from: +# Author: Shane B. +# in https://github.com/parawanderer/OpenTagViewer/blob/08a59cab551721afb9dc9f829ad31dae8d5bd400/python/airtag_decryptor.py +# which was based on: +# Based on: https://gist.github.com/airy10/5205dc851fbd0715fcd7a5cdde25e7c8 + + +# consider switching to this library https://github.com/microsoft/keyper +# once they publish a version of it that includes my MR with the changes to make it compatible +# with keys that are non-utf-8 encoded (like the BeaconStore one) +# if I contribute this, properly escape the label argument here... +def get_key() -> bytes: + """Get the decryption key for BeaconStore using the system password prompt window.""" + # This thing will pop up 2 Password Input windows... + key_in_hex = subprocess.getoutput("/usr/bin/security find-generic-password -l 'BeaconStore' -w") # noqa: S605 + return bytes.fromhex(key_in_hex) + + +def decrypt_plist(encrypted: str | Path | bytes | IO[bytes], key: bytes) -> dict: + """ + Decrypts the encrypted plist file at `encrypted` using the provided `key`. + + :param encrypted: If bytes or IO, the encrypted plist data. + If str or Path, the path to the encrypted plist file, which is + generally something like `/Users//Library/com.apple.icloud.searchpartyd/OwnedBeacons/.record` + :param key: Raw key to decrypt plist file with. + See: `get_key()` + + :returns: The decoded plist dict + """ # noqa: E501 + if isinstance(encrypted, (str, Path)): + with Path(encrypted).open("rb") as f: + encrypted_bytes = f.read() + elif isinstance(encrypted, bytes): + encrypted_bytes = encrypted + elif isinstance(encrypted, IO): + encrypted_bytes = encrypted.read() + else: + raise TypeError("encrypted must be a str, Path, bytes, or IO[bytes]") # noqa: EM101, TRY003 + + plist = plistlib.loads(encrypted_bytes) + if not isinstance(plist, list) or len(plist) < 3: + raise ValueError(plist, "encrypted plist should be a list of 3 elements") + + nonce, tag, ciphertext = plist[0], plist[1], plist[2] + cipher = Cipher(algorithms.AES(key), modes.GCM(nonce, tag)) + decryptor = cipher.decryptor() + decrypted_plist_bytes = decryptor.update(ciphertext) + decryptor.finalize() + + decrypted_plist = plistlib.loads(decrypted_plist_bytes) + if not isinstance(decrypted_plist, dict): + raise ValueError(decrypted_plist, "decrypted plist should be a dictionary") # noqa: TRY004 + return decrypted_plist + + +def list_accessories( + *, + key: bytes | None = None, + search_path: str | Path | None = None, +) -> list[FindMyAccessory]: + """Get all accesories from the encrypted .plist files dumped from the FindMy app.""" + if search_path is None: + search_path = Path.home() / "Library" / "com.apple.icloud.searchpartyd" + search_path = Path(search_path) + if key is None: + key = get_key() + + accesories = [] + encrypted_plist_paths = search_path.glob("OwnedBeacons/*.record") + for path in encrypted_plist_paths: + plist = decrypt_plist(path, key) + naming_record_path = next((search_path / "BeaconNamingRecord" / path.stem).glob("*.record")) + naming_record_plist = decrypt_plist(naming_record_path, key) + name = naming_record_plist["name"] + accessory = FindMyAccessory.from_plist(plist, name=name) + accesories.append(accessory) + return accesories From c4f3bba9c2764b35af8a23fafd1fa8ab3047dc1d Mon Sep 17 00:00:00 2001 From: Nick Crews Date: Sun, 25 May 2025 17:15:03 -0600 Subject: [PATCH 56/97] adjust the API of the decrypt CLI --- findmy/__main__.py | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/findmy/__main__.py b/findmy/__main__.py index 7ed86d7..a6e3a15 100644 --- a/findmy/__main__.py +++ b/findmy/__main__.py @@ -3,6 +3,7 @@ from __future__ import annotations import argparse +import json import logging from importlib.metadata import version from pathlib import Path @@ -19,7 +20,8 @@ def main() -> None: # noqa: D103 version=version("FindMy"), ) parser.add_argument( - "-log-level", + "--log-level", + type=str, choices=["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"], default="INFO", help="Set the logging level (default: INFO)", @@ -29,13 +31,13 @@ def main() -> None: # noqa: D103 decrypt_parser = subparsers.add_parser( "decrypt", - help="Decrypt all the local FindMy accessories to JSON files.", + help="Decrypt all the local FindMy accessories to JSON. This will print the JSON to stdout.", # noqa: E501 ) decrypt_parser.add_argument( "--out-dir", type=Path, - default=Path("accessories/"), - help="Output directory for decrypted files (default: accessories/)", + default=None, + help="Output directory for decrypted files. If not specified, files will not be saved to disk.", # noqa: E501 ) args = parser.parse_args() @@ -50,17 +52,21 @@ def main() -> None: # noqa: D103 parser.exit(1) -def decrypt_all(out_dir: str | Path) -> None: +def decrypt_all(out_dir: str | Path | None = None) -> None: """Decrypt all accessories and save them to the specified directory as JSON files.""" - out_dir = Path(out_dir) - out_dir = out_dir.resolve().absolute() - out_dir.mkdir(parents=True, exist_ok=True) + + def get_path(d, acc) -> Path | None: # noqa: ANN001 + if out_dir is None: + return None + d = Path(d) + d = d.resolve().absolute() + d.mkdir(parents=True, exist_ok=True) + return d / f"{acc.identifier}.json" + key = get_key() accs = list_accessories(key=key) - for acc in accs: - out_path = out_dir / f"{acc.identifier}.json" - acc.to_json(out_path) - print(f"Decrypted accessory: {acc.name} ({acc.identifier})") # noqa: T201 + jsons = [acc.to_json(get_path(out_dir, acc)) for acc in accs] + print(json.dumps(jsons, indent=2, ensure_ascii=False)) # noqa: T201 if __name__ == "__main__": From c541d8f6fa6df646d39082c6e973677143f60d1e Mon Sep 17 00:00:00 2001 From: Nick Crews Date: Sun, 25 May 2025 17:26:17 -0600 Subject: [PATCH 57/97] improve help message for CLI --- findmy/__main__.py | 37 +++++++++++++++++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/findmy/__main__.py b/findmy/__main__.py index a6e3a15..acc48a6 100644 --- a/findmy/__main__.py +++ b/findmy/__main__.py @@ -31,7 +31,40 @@ def main() -> None: # noqa: D103 decrypt_parser = subparsers.add_parser( "decrypt", - help="Decrypt all the local FindMy accessories to JSON. This will print the JSON to stdout.", # noqa: E501 + help=""" + Decrypt and print (in json) all the local FindMy accessories. + + This looks through the local FindMy accessory plist files, + decrypts them using the system keychain, and prints the + decrypted JSON representation of each accessory. + + eg + ``` + [ + { + "master_key": "e01ae426431867e92d512ae1cb6c9e5bbc20a2b7d1c677d7", + "skn": "e01ae426431867e92d512ae1cb6c9e5bbc20a2b7d1c677d7", + "sks": "e01ae426431867e92d512ae1cb6c9e5bbc20a2b7d1c677d7", + "paired_at": "2020-01-08T21:26:36.177409+00:00", + "name": "Nick's MacBook Pro", + "model": "MacBookPro11,5", + "identifier": "03FF9E28-2508-425B-BD57-D738F2D2F6C0" + }, + { + "master_key": "e01ae426431867e92d512ae1cb6c9e5bbc20a2b7d1c677d7", + "skn": "e01ae426431867e92d512ae1cb6c9e5bbc20a2b7d1c677d7", + "sks": "e01ae426431867e92d512ae1cb6c9e5bbc20a2b7d1c677d7", + "paired_at": "2023-10-22T20:40:39.285225+00:00", + "name": "ncmbp", + "model": "MacBookPro18,2", + "identifier": "71D276DF-A8FA-47C8-A93C-9B3B714BDFEC" + } + ] + ``` + + You can chain the output with jq or similar tools. + eg `python -m findmy decrypt | jq '.[] | select(.name == "my airtag")' > my_airtag.json` + """, ) decrypt_parser.add_argument( "--out-dir", @@ -66,7 +99,7 @@ def decrypt_all(out_dir: str | Path | None = None) -> None: key = get_key() accs = list_accessories(key=key) jsons = [acc.to_json(get_path(out_dir, acc)) for acc in accs] - print(json.dumps(jsons, indent=2, ensure_ascii=False)) # noqa: T201 + print(json.dumps(jsons, indent=4, ensure_ascii=False)) # noqa: T201 if __name__ == "__main__": From 51423502418b8ecf55c52a3cdb85fb9045f605c4 Mon Sep 17 00:00:00 2001 From: Nick Crews Date: Sun, 25 May 2025 17:51:24 -0600 Subject: [PATCH 58/97] feat: adjust the ser/deser logic of AppleAccount --- examples/_login.py | 27 +++++++---------------- findmy/reports/account.py | 46 +++++++++++++++++++++++---------------- 2 files changed, 35 insertions(+), 38 deletions(-) diff --git a/examples/_login.py b/examples/_login.py index 5412ac1..6891b19 100644 --- a/examples/_login.py +++ b/examples/_login.py @@ -1,8 +1,5 @@ # ruff: noqa: ASYNC230 -import json -from pathlib import Path - from findmy.reports import ( AppleAccount, AsyncAppleAccount, @@ -71,33 +68,25 @@ async def _login_async(account: AsyncAppleAccount) -> None: def get_account_sync(anisette: BaseAnisetteProvider) -> AppleAccount: """Tries to restore a saved Apple account, or prompts the user for login otherwise. (sync)""" - acc = AppleAccount(anisette) - - # Save / restore account logic - acc_store = Path("account.json") + acc = AppleAccount(anisette=anisette) + acc_store = "account.json" try: - with acc_store.open() as f: - acc.restore(json.load(f)) + acc.from_json(acc_store) except FileNotFoundError: _login_sync(acc) - with acc_store.open("w+") as f: - json.dump(acc.export(), f) + acc.to_json(acc_store) return acc async def get_account_async(anisette: BaseAnisetteProvider) -> AsyncAppleAccount: """Tries to restore a saved Apple account, or prompts the user for login otherwise. (async)""" - acc = AsyncAppleAccount(anisette) - - # Save / restore account logic - acc_store = Path("account.json") + acc = AsyncAppleAccount(anisette=anisette) + acc_store = "account.json" try: - with acc_store.open() as f: - acc.restore(json.load(f)) + acc.from_json(acc_store) except FileNotFoundError: await _login_async(acc) - with acc_store.open("w+") as f: - json.dump(acc.export(), f) + acc.to_json(acc_store) return acc diff --git a/findmy/reports/account.py b/findmy/reports/account.py index 264d01c..965fab6 100644 --- a/findmy/reports/account.py +++ b/findmy/reports/account.py @@ -11,6 +11,7 @@ import uuid from abc import ABC, abstractmethod from datetime import datetime, timedelta, timezone from functools import wraps +from pathlib import Path from typing import ( TYPE_CHECKING, Any, @@ -48,7 +49,7 @@ from .twofactor import ( ) if TYPE_CHECKING: - from collections.abc import Sequence + from collections.abc import Mapping, Sequence from findmy.accessory import RollingKeyPairSource from findmy.keys import HasHashedPublicKey @@ -151,12 +152,14 @@ class BaseAppleAccount(Closable, ABC): raise NotImplementedError @abstractmethod - def export(self) -> dict: + def to_json(self, path: str | Path | None = None) -> dict: """ - Export a representation of the current state of the account as a dictionary. + Export the current state of the account as a JSON-serializable dictionary. + + If `path` is provided, the output will also be written to that file. The output of this method is guaranteed to be JSON-serializable, and passing - the return value of this function as an argument to `BaseAppleAccount.restore` + the return value of this function as an argument to `BaseAppleAccount.from_json` will always result in an exact copy of the internal state as it was when exported. This method is especially useful to avoid having to keep going through the login flow. @@ -164,11 +167,14 @@ class BaseAppleAccount(Closable, ABC): raise NotImplementedError @abstractmethod - def restore(self, data: dict) -> None: + def from_json(self, json_: str | Path | Mapping, /) -> None: """ - Restore a previous export of the internal state of the account. + Restore the state from a previous `BaseAppleAccount.to_json` export. - See `BaseAppleAccount.export` for more information. + If given a str or Path, it must point to a json file from `BaseAppleAccount.to_json`. + Otherwise it should be the Mapping itself. + + See `BaseAppleAccount.to_json` for more information. """ raise NotImplementedError @@ -363,6 +369,7 @@ class AsyncAppleAccount(BaseAppleAccount): def __init__( self, + *, anisette: BaseAnisetteProvider, user_id: str | None = None, device_id: str | None = None, @@ -447,9 +454,8 @@ class AsyncAppleAccount(BaseAppleAccount): return self._account_info["last_name"] if self._account_info else None @override - def export(self) -> dict: - """See `BaseAppleAccount.export`.""" - return { + def to_json(self, path: str | Path | None = None) -> dict: + result = { "ids": {"uid": self._uid, "devid": self._devid}, "account": { "username": self._username, @@ -461,10 +467,13 @@ class AsyncAppleAccount(BaseAppleAccount): "data": self._login_state_data, }, } + if path is not None: + Path(path).write_text(json.dumps(result, indent=4)) + return result @override - def restore(self, data: dict) -> None: - """See `BaseAppleAccount.restore`.""" + def from_json(self, json_: str | Path | Mapping, /) -> None: + data = json.loads(Path(json_).read_text()) if isinstance(json_, (str, Path)) else json_ try: self._uid = data["ids"]["uid"] self._devid = data["ids"]["devid"] @@ -972,12 +981,13 @@ class AppleAccount(BaseAppleAccount): def __init__( self, + *, anisette: BaseAnisetteProvider, user_id: str | None = None, device_id: str | None = None, ) -> None: """See `AsyncAppleAccount.__init__`.""" - self._asyncacc = AsyncAppleAccount(anisette, user_id, device_id) + self._asyncacc = AsyncAppleAccount(anisette=anisette, user_id=user_id, device_id=device_id) try: self._evt_loop = asyncio.get_running_loop() @@ -1017,14 +1027,12 @@ class AppleAccount(BaseAppleAccount): return self._asyncacc.last_name @override - def export(self) -> dict: - """See `AsyncAppleAccount.export`.""" - return self._asyncacc.export() + def to_json(self, path: str | Path | None = None) -> dict: + return self._asyncacc.to_json(path) @override - def restore(self, data: dict) -> None: - """See `AsyncAppleAccount.restore`.""" - return self._asyncacc.restore(data) + def from_json(self, json_: str | Path | Mapping, /) -> None: + return self._asyncacc.from_json(json_) @override def login(self, username: str, password: str) -> LoginState: From 3226f7e6c0fbe72dfe67e3c2eb046aa5b150af7e Mon Sep 17 00:00:00 2001 From: Nick Crews Date: Sun, 25 May 2025 18:12:19 -0600 Subject: [PATCH 59/97] bump ruff version in .pre-commit-config.yml --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8b8d69d..c156d94 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.6.5 + rev: v0.11.4 hooks: - id: ruff args: ["--fix"] From 6de83e81ac5af51f1ac0797ec5c0fcddbb51b9f9 Mon Sep 17 00:00:00 2001 From: Nick Crews Date: Sun, 25 May 2025 17:57:56 -0600 Subject: [PATCH 60/97] chore: use loggers, not top-level logging Aslo fix up a few other ruff lint errors. --- findmy/accessory.py | 4 ++-- findmy/reports/account.py | 32 ++++++++++++++++---------------- findmy/reports/anisette.py | 8 +++++--- findmy/reports/reports.py | 10 +++++----- findmy/scanner/scanner.py | 16 ++++++++-------- findmy/util/http.py | 10 +++++----- 6 files changed, 41 insertions(+), 39 deletions(-) diff --git a/findmy/accessory.py b/findmy/accessory.py index f06cd14..e10bdbe 100644 --- a/findmy/accessory.py +++ b/findmy/accessory.py @@ -20,7 +20,7 @@ from .util import crypto if TYPE_CHECKING: from collections.abc import Generator -logging.getLogger(__name__) +logger = logging.getLogger(__name__) class RollingKeyPairSource(ABC): @@ -90,7 +90,7 @@ class FindMyAccessory(RollingKeyPairSource): self._paired_at: datetime = paired_at if self._paired_at.tzinfo is None: self._paired_at = self._paired_at.astimezone() - logging.warning( + logger.warning( "Pairing datetime is timezone-naive. Assuming system tz: %s.", self._paired_at.tzname(), ) diff --git a/findmy/reports/account.py b/findmy/reports/account.py index 264d01c..d3b18a9 100644 --- a/findmy/reports/account.py +++ b/findmy/reports/account.py @@ -56,7 +56,7 @@ if TYPE_CHECKING: from .anisette import BaseAnisetteProvider -logging.getLogger(__name__) +logger = logging.getLogger(__name__) srp.rfc5054_enable() srp.no_username_in_x() @@ -398,10 +398,10 @@ class AsyncAppleAccount(BaseAppleAccount): ) -> LoginState: # clear account info if downgrading state (e.g. LOGGED_IN -> LOGGED_OUT) if state < self._login_state: - logging.debug("Clearing cached account information") + logger.debug("Clearing cached account information") self._account_info = None - logging.info("Transitioning login state: %s -> %s", self._login_state, state) + logger.info("Transitioning login state: %s -> %s", self._login_state, state) self._login_state = state self._login_state_data = data or {} @@ -526,7 +526,7 @@ class AsyncAppleAccount(BaseAppleAccount): for number in phone_numbers ) except RuntimeError: - logging.warning("Unable to extract phone numbers from login page") + logger.warning("Unable to extract phone numbers from login page") return methods @@ -624,7 +624,7 @@ class AsyncAppleAccount(BaseAppleAccount): r = await _do_request() if r.status_code == 401: - logging.info("Got 401 while fetching reports, redoing login") + logger.info("Got 401 while fetching reports, redoing login") new_state = await self._gsa_authenticate() if new_state != LoginState.AUTHENTICATED: @@ -762,13 +762,13 @@ class AsyncAppleAccount(BaseAppleAccount): self._username = username or self._username self._password = password or self._password - logging.info("Attempting authentication for user %s", self._username) + logger.info("Attempting authentication for user %s", self._username) if not self._username or not self._password: msg = "No username or password specified" raise ValueError(msg) - logging.debug("Starting authentication with username") + logger.debug("Starting authentication with username") usr = srp.User(self._username, b"", hash_alg=srp.SHA256, ng_type=srp.NG_2048) _, a2k = usr.start_authentication() @@ -776,7 +776,7 @@ class AsyncAppleAccount(BaseAppleAccount): {"A2k": a2k, "u": self._username, "ps": ["s2k", "s2k_fo"], "o": "init"}, ) - logging.debug("Verifying response to auth request") + logger.debug("Verifying response to auth request") if r["Status"].get("ec") != 0: msg = "Email verification failed: " + r["Status"].get("em") @@ -786,7 +786,7 @@ class AsyncAppleAccount(BaseAppleAccount): msg = f"This implementation only supports s2k and sk2_fo. Server returned {sp}" raise UnhandledProtocolError(msg) - logging.debug("Attempting password challenge") + logger.debug("Attempting password challenge") usr.p = crypto.encrypt_password(self._password, r["s"], r["i"], sp) m1 = usr.process_challenge(r["s"], r["B"]) @@ -797,7 +797,7 @@ class AsyncAppleAccount(BaseAppleAccount): {"c": r["c"], "M1": m1, "u": self._username, "o": "complete"}, ) - logging.debug("Verifying password challenge response") + logger.debug("Verifying password challenge response") if r["Status"].get("ec") != 0: msg = "Password authentication failed: " + r["Status"].get("em") @@ -807,7 +807,7 @@ class AsyncAppleAccount(BaseAppleAccount): msg = "Failed to verify session" raise UnhandledProtocolError(msg) - logging.debug("Decrypting SPD data in response") + logger.debug("Decrypting SPD data in response") spd = decode_plist( crypto.decrypt_spd_aes_cbc( @@ -816,9 +816,9 @@ class AsyncAppleAccount(BaseAppleAccount): ), ) - logging.debug("Received account information") + logger.debug("Received account information") self._account_info = cast( - _AccountInfo, + "_AccountInfo", { "account_name": spd.get("acname"), "first_name": spd.get("fn"), @@ -829,7 +829,7 @@ class AsyncAppleAccount(BaseAppleAccount): au = r["Status"].get("au") if au in ("secondaryAuth", "trustedDeviceSecondaryAuth"): - logging.info("Detected 2FA requirement: %s", au) + logger.info("Detected 2FA requirement: %s", au) self._account_info["trusted_device_2fa"] = au == "trustedDeviceSecondaryAuth" @@ -838,7 +838,7 @@ class AsyncAppleAccount(BaseAppleAccount): {"adsid": spd["adsid"], "idms_token": spd["GsIdmsToken"]}, ) if au is None: - logging.info("GSA authentication successful") + logger.info("GSA authentication successful") idms_pet = spd.get("t", {}).get("com.apple.gs.idms.pet", {}).get("token", "") return self._set_login_state( @@ -851,7 +851,7 @@ class AsyncAppleAccount(BaseAppleAccount): @require_login_state(LoginState.AUTHENTICATED) async def _login_mobileme(self) -> LoginState: - logging.info("Logging into com.apple.mobileme") + logger.info("Logging into com.apple.mobileme") data = plistlib.dumps( { "apple-id": self._username, diff --git a/findmy/reports/anisette.py b/findmy/reports/anisette.py index d56f52d..4d874d3 100644 --- a/findmy/reports/anisette.py +++ b/findmy/reports/anisette.py @@ -14,6 +14,8 @@ from typing_extensions import override from findmy.util.closable import Closable from findmy.util.http import HttpSession +logger = logging.getLogger(__name__) + class BaseAnisetteProvider(Closable, ABC): """ @@ -181,7 +183,7 @@ class RemoteAnisetteProvider(BaseAnisetteProvider): """See `BaseAnisetteProvider.otp`_.""" otp = (self._anisette_data or {}).get("X-Apple-I-MD") if otp is None: - logging.warning("X-Apple-I-MD header not found! Returning fallback...") + logger.warning("X-Apple-I-MD header not found! Returning fallback...") return otp or "" @property @@ -190,7 +192,7 @@ class RemoteAnisetteProvider(BaseAnisetteProvider): """See `BaseAnisetteProvider.machine`_.""" machine = (self._anisette_data or {}).get("X-Apple-I-MD-M") if machine is None: - logging.warning("X-Apple-I-MD-M header not found! Returning fallback...") + logger.warning("X-Apple-I-MD-M header not found! Returning fallback...") return machine or "" @override @@ -203,7 +205,7 @@ class RemoteAnisetteProvider(BaseAnisetteProvider): ) -> dict[str, str]: """See `BaseAnisetteProvider.get_headers`_.""" if self._anisette_data is None or time.time() >= self._anisette_data_expires_at: - logging.info("Fetching anisette data from %s", self._server_url) + logger.info("Fetching anisette data from %s", self._server_url) r = await self._http.get(self._server_url, auto_retry=True) self._anisette_data = r.json() diff --git a/findmy/reports/reports.py b/findmy/reports/reports.py index e910545..27057f5 100644 --- a/findmy/reports/reports.py +++ b/findmy/reports/reports.py @@ -23,7 +23,7 @@ if TYPE_CHECKING: from .account import AsyncAppleAccount -logging.getLogger(__name__) +logger = logging.getLogger(__name__) class LocationReport(HasHashedPublicKey): @@ -301,12 +301,12 @@ class LocationReportsFetcher: key_devs = {device: device} elif isinstance(device, list) and all(isinstance(x, HasHashedPublicKey) for x in device): # multiple static keys - device = cast(list[HasHashedPublicKey], device) + device = cast("list[HasHashedPublicKey]", device) key_devs = {key: key for key in device} elif isinstance(device, RollingKeyPairSource): # key generator # add 12h margin to the generator - key_devs = { + key_devs = { # noqa: C420 key: device for key in device.keys_between( date_from - timedelta(hours=12), @@ -316,7 +316,7 @@ class LocationReportsFetcher: elif isinstance(device, list) and all(isinstance(x, RollingKeyPairSource) for x in device): # multiple key generators # add 12h margin to each generator - device = cast(list[RollingKeyPairSource], device) + device = cast("list[RollingKeyPairSource]", device) key_devs = { key: dev for dev in device @@ -357,7 +357,7 @@ class LocationReportsFetcher: date_to: datetime, keys: Sequence[HasHashedPublicKey], ) -> dict[HasHashedPublicKey, list[LocationReport]]: - logging.debug("Fetching reports for %s keys", len(keys)) + logger.debug("Fetching reports for %s keys", len(keys)) # lock requested time range to the past 7 days, +- 12 hours, then filter the response. # this is due to an Apple backend bug where the time range is not respected. diff --git a/findmy/scanner/scanner.py b/findmy/scanner/scanner.py index 1f7af22..b7e4aa0 100644 --- a/findmy/scanner/scanner.py +++ b/findmy/scanner/scanner.py @@ -21,7 +21,7 @@ if TYPE_CHECKING: from bleak.backends.device import BLEDevice from bleak.backends.scanner import AdvertisementData -logging.getLogger(__name__) +logger = logging.getLogger(__name__) class OfflineFindingDevice(ABC): @@ -98,10 +98,10 @@ class OfflineFindingDevice(ABC): ) -> OfflineFindingDevice | None: """Get a NearbyOfflineFindingDevice object from a BLE packet payload.""" if len(ble_payload) < cls.OF_HEADER_SIZE: - logging.error("Not enough bytes to decode: %s", len(ble_payload)) + logger.error("Not enough bytes to decode: %s", len(ble_payload)) return None if ble_payload[0] != cls.OF_TYPE: - logging.debug("Unsupported OF type: %s", ble_payload[0]) + logger.debug("Unsupported OF type: %s", ble_payload[0]) return None device_type = next( @@ -109,7 +109,7 @@ class OfflineFindingDevice(ABC): None, ) if device_type is None: - logging.error("Invalid OF payload length: %s", ble_payload[1]) + logger.error("Invalid OF payload length: %s", ble_payload[1]) return None return device_type.from_payload( @@ -181,7 +181,7 @@ class NearbyOfflineFindingDevice(OfflineFindingDevice): ) -> NearbyOfflineFindingDevice | None: """Get a NearbyOfflineFindingDevice object from an OF message payload.""" if len(payload) != cls.payload_len: - logging.error( + logger.error( "Invalid OF data length: %s instead of %s", len(payload), payload[1], @@ -268,7 +268,7 @@ class SeparatedOfflineFindingDevice(OfflineFindingDevice, HasPublicKey): ) -> SeparatedOfflineFindingDevice | None: """Get a SeparatedOfflineFindingDevice object from an OF message payload.""" if len(payload) != cls.payload_len: - logging.error( + logger.error( "Invalid OF data length: %s instead of %s", len(payload), payload[1], @@ -336,7 +336,7 @@ class OfflineFindingScanner: async def _start_scan(self) -> None: async with self._scan_ctrl_lock: if self._scanner_count == 0: - logging.info("Starting BLE scanner") + logger.info("Starting BLE scanner") await self._scanner.start() self._scanner_count += 1 @@ -344,7 +344,7 @@ class OfflineFindingScanner: async with self._scan_ctrl_lock: self._scanner_count -= 1 if self._scanner_count == 0: - logging.info("Stopping BLE scanner") + logger.info("Stopping BLE scanner") await self._scanner.stop() async def _scan_callback( diff --git a/findmy/util/http.py b/findmy/util/http.py index f954e49..92ddf79 100644 --- a/findmy/util/http.py +++ b/findmy/util/http.py @@ -14,7 +14,7 @@ from typing_extensions import Unpack, override from .closable import Closable from .parsers import decode_plist -logging.getLogger(__name__) +logger = logging.getLogger(__name__) class _RequestOptions(TypedDict, total=False): @@ -80,7 +80,7 @@ class HttpSession(Closable): if self._session is not None: return self._session - logging.debug("Creating aiohttp session") + logger.debug("Creating aiohttp session") self._session = ClientSession(timeout=ClientTimeout(total=5)) return self._session @@ -88,7 +88,7 @@ class HttpSession(Closable): async def close(self) -> None: """Close the underlying session. Should be called when session will no longer be used.""" if self._session is not None: - logging.debug("Closing aiohttp session") + logger.debug("Closing aiohttp session") await self._session.close() self._session = None @@ -109,7 +109,7 @@ class HttpSession(Closable): auth = kwargs.pop("auth", None) if isinstance(auth, tuple): kwargs["auth"] = BasicAuth(auth[0], auth[1]) - options = cast(_AiohttpRequestOptions, kwargs) + options = cast("_AiohttpRequestOptions", kwargs) auto_retry = kwargs.pop("auto_retry", False) @@ -129,7 +129,7 @@ class HttpSession(Closable): raise e from None retry_after = 5 * retry_count - logging.warning( + logger.warning( "Error while making HTTP request; retrying after %i seconds. %s", retry_after, e, From a2d705cfe5c7770740bc1d4462ca5dcf2a544ed9 Mon Sep 17 00:00:00 2001 From: ivanik Date: Wed, 11 Jun 2025 22:17:26 +0500 Subject: [PATCH 61/97] Update fetch_reports to accept lists with HasHashedPublicKey and RollingKeyPairSource at the same time --- findmy/reports/account.py | 118 +++++++++----------------------------- findmy/reports/reports.py | 43 +++++--------- 2 files changed, 42 insertions(+), 119 deletions(-) diff --git a/findmy/reports/account.py b/findmy/reports/account.py index f6cb584..64381e1 100644 --- a/findmy/reports/account.py +++ b/findmy/reports/account.py @@ -237,15 +237,6 @@ class BaseAppleAccount(Closable, ABC): date_to: datetime | None, ) -> MaybeCoro[list[LocationReport]]: ... - @overload - @abstractmethod - def fetch_reports( - self, - keys: Sequence[HasHashedPublicKey], - date_from: datetime, - date_to: datetime | None, - ) -> MaybeCoro[dict[HasHashedPublicKey, list[LocationReport]]]: ... - @overload @abstractmethod def fetch_reports( @@ -256,26 +247,24 @@ class BaseAppleAccount(Closable, ABC): ) -> MaybeCoro[list[LocationReport]]: ... @overload + @abstractmethod def fetch_reports( self, - keys: Sequence[RollingKeyPairSource], + keys: Sequence[HasHashedPublicKey | RollingKeyPairSource], date_from: datetime, date_to: datetime | None, - ) -> MaybeCoro[dict[RollingKeyPairSource, list[LocationReport]]]: ... + ) -> MaybeCoro[dict[HasHashedPublicKey | RollingKeyPairSource, list[LocationReport]]]: ... @abstractmethod def fetch_reports( self, keys: HasHashedPublicKey - | Sequence[HasHashedPublicKey] - | RollingKeyPairSource - | Sequence[RollingKeyPairSource], + | Sequence[HasHashedPublicKey | RollingKeyPairSource] + | RollingKeyPairSource, date_from: datetime, date_to: datetime | None, ) -> MaybeCoro[ - list[LocationReport] - | dict[HasHashedPublicKey, list[LocationReport]] - | dict[RollingKeyPairSource, list[LocationReport]] + list[LocationReport] | dict[HasHashedPublicKey | RollingKeyPairSource, list[LocationReport]] ]: """ Fetch location reports for `HasHashedPublicKey`s between `date_from` and `date_end`. @@ -292,14 +281,6 @@ class BaseAppleAccount(Closable, ABC): hours: int = 7 * 24, ) -> MaybeCoro[list[LocationReport]]: ... - @overload - @abstractmethod - def fetch_last_reports( - self, - keys: Sequence[HasHashedPublicKey], - hours: int = 7 * 24, - ) -> MaybeCoro[dict[HasHashedPublicKey, list[LocationReport]]]: ... - @overload @abstractmethod def fetch_last_reports( @@ -312,22 +293,19 @@ class BaseAppleAccount(Closable, ABC): @abstractmethod def fetch_last_reports( self, - keys: Sequence[RollingKeyPairSource], + keys: Sequence[HasHashedPublicKey | RollingKeyPairSource], hours: int = 7 * 24, - ) -> MaybeCoro[dict[RollingKeyPairSource, list[LocationReport]]]: ... + ) -> MaybeCoro[dict[HasHashedPublicKey | RollingKeyPairSource, list[LocationReport]]]: ... @abstractmethod def fetch_last_reports( self, keys: HasHashedPublicKey - | Sequence[HasHashedPublicKey] | RollingKeyPairSource - | Sequence[RollingKeyPairSource], + | Sequence[HasHashedPublicKey | RollingKeyPairSource], hours: int = 7 * 24, ) -> MaybeCoro[ - list[LocationReport] - | dict[HasHashedPublicKey, list[LocationReport]] - | dict[RollingKeyPairSource, list[LocationReport]] + list[LocationReport] | dict[HasHashedPublicKey | RollingKeyPairSource, list[LocationReport]] ]: """ Fetch location reports for a sequence of `HasHashedPublicKey`s for the last `hours` hours. @@ -665,14 +643,6 @@ class AsyncAppleAccount(BaseAppleAccount): date_to: datetime | None, ) -> list[LocationReport]: ... - @overload - async def fetch_reports( - self, - keys: Sequence[HasHashedPublicKey], - date_from: datetime, - date_to: datetime | None, - ) -> dict[HasHashedPublicKey, list[LocationReport]]: ... - @overload async def fetch_reports( self, @@ -684,25 +654,22 @@ class AsyncAppleAccount(BaseAppleAccount): @overload async def fetch_reports( self, - keys: Sequence[RollingKeyPairSource], + keys: Sequence[HasHashedPublicKey | RollingKeyPairSource], date_from: datetime, date_to: datetime | None, - ) -> dict[RollingKeyPairSource, list[LocationReport]]: ... + ) -> dict[HasHashedPublicKey | RollingKeyPairSource, list[LocationReport]]: ... @require_login_state(LoginState.LOGGED_IN) @override async def fetch_reports( self, keys: HasHashedPublicKey - | Sequence[HasHashedPublicKey] | RollingKeyPairSource - | Sequence[RollingKeyPairSource], + | Sequence[HasHashedPublicKey | RollingKeyPairSource], date_from: datetime, date_to: datetime | None, ) -> ( - list[LocationReport] - | dict[HasHashedPublicKey, list[LocationReport]] - | dict[RollingKeyPairSource, list[LocationReport]] + list[LocationReport] | dict[HasHashedPublicKey | RollingKeyPairSource, list[LocationReport]] ): """See `BaseAppleAccount.fetch_reports`.""" date_to = date_to or datetime.now().astimezone() @@ -720,13 +687,6 @@ class AsyncAppleAccount(BaseAppleAccount): hours: int = 7 * 24, ) -> list[LocationReport]: ... - @overload - async def fetch_last_reports( - self, - keys: Sequence[HasHashedPublicKey], - hours: int = 7 * 24, - ) -> dict[HasHashedPublicKey, list[LocationReport]]: ... - @overload async def fetch_last_reports( self, @@ -737,23 +697,20 @@ class AsyncAppleAccount(BaseAppleAccount): @overload async def fetch_last_reports( self, - keys: Sequence[RollingKeyPairSource], + keys: Sequence[HasHashedPublicKey | RollingKeyPairSource], hours: int = 7 * 24, - ) -> dict[RollingKeyPairSource, list[LocationReport]]: ... + ) -> dict[HasHashedPublicKey | RollingKeyPairSource, list[LocationReport]]: ... @require_login_state(LoginState.LOGGED_IN) @override async def fetch_last_reports( self, keys: HasHashedPublicKey - | Sequence[HasHashedPublicKey] | RollingKeyPairSource - | Sequence[RollingKeyPairSource], + | Sequence[HasHashedPublicKey | RollingKeyPairSource], hours: int = 7 * 24, ) -> ( - list[LocationReport] - | dict[HasHashedPublicKey, list[LocationReport]] - | dict[RollingKeyPairSource, list[LocationReport]] + list[LocationReport] | dict[HasHashedPublicKey | RollingKeyPairSource, list[LocationReport]] ): """See `BaseAppleAccount.fetch_last_reports`.""" end = datetime.now(tz=timezone.utc) @@ -1093,14 +1050,6 @@ class AppleAccount(BaseAppleAccount): date_to: datetime | None, ) -> list[LocationReport]: ... - @overload - def fetch_reports( - self, - keys: Sequence[HasHashedPublicKey], - date_from: datetime, - date_to: datetime | None, - ) -> dict[HasHashedPublicKey, list[LocationReport]]: ... - @overload def fetch_reports( self, @@ -1112,24 +1061,21 @@ class AppleAccount(BaseAppleAccount): @overload def fetch_reports( self, - keys: Sequence[RollingKeyPairSource], + keys: Sequence[HasHashedPublicKey | RollingKeyPairSource], date_from: datetime, date_to: datetime | None, - ) -> dict[RollingKeyPairSource, list[LocationReport]]: ... + ) -> dict[HasHashedPublicKey | RollingKeyPairSource, list[LocationReport]]: ... @override def fetch_reports( self, keys: HasHashedPublicKey - | Sequence[HasHashedPublicKey] - | RollingKeyPairSource - | Sequence[RollingKeyPairSource], + | Sequence[HasHashedPublicKey | RollingKeyPairSource] + | RollingKeyPairSource, date_from: datetime, date_to: datetime | None, ) -> ( - list[LocationReport] - | dict[HasHashedPublicKey, list[LocationReport]] - | dict[RollingKeyPairSource, list[LocationReport]] + list[LocationReport] | dict[HasHashedPublicKey | RollingKeyPairSource, list[LocationReport]] ): """See `AsyncAppleAccount.fetch_reports`.""" coro = self._asyncacc.fetch_reports(keys, date_from, date_to) @@ -1142,13 +1088,6 @@ class AppleAccount(BaseAppleAccount): hours: int = 7 * 24, ) -> list[LocationReport]: ... - @overload - def fetch_last_reports( - self, - keys: Sequence[HasHashedPublicKey], - hours: int = 7 * 24, - ) -> dict[HasHashedPublicKey, list[LocationReport]]: ... - @overload def fetch_last_reports( self, @@ -1159,22 +1098,19 @@ class AppleAccount(BaseAppleAccount): @overload def fetch_last_reports( self, - keys: Sequence[RollingKeyPairSource], + keys: Sequence[HasHashedPublicKey | RollingKeyPairSource], hours: int = 7 * 24, - ) -> dict[RollingKeyPairSource, list[LocationReport]]: ... + ) -> dict[HasHashedPublicKey | RollingKeyPairSource, list[LocationReport]]: ... @override def fetch_last_reports( self, keys: HasHashedPublicKey - | Sequence[HasHashedPublicKey] | RollingKeyPairSource - | Sequence[RollingKeyPairSource], + | Sequence[HasHashedPublicKey | RollingKeyPairSource], hours: int = 7 * 24, ) -> ( - list[LocationReport] - | dict[HasHashedPublicKey, list[LocationReport]] - | dict[RollingKeyPairSource, list[LocationReport]] + list[LocationReport] | dict[HasHashedPublicKey | RollingKeyPairSource, list[LocationReport]] ): """See `AsyncAppleAccount.fetch_last_reports`.""" coro = self._asyncacc.fetch_last_reports(keys, hours) diff --git a/findmy/reports/reports.py b/findmy/reports/reports.py index 27057f5..8502d45 100644 --- a/findmy/reports/reports.py +++ b/findmy/reports/reports.py @@ -245,14 +245,6 @@ class LocationReportsFetcher: device: HasHashedPublicKey, ) -> list[LocationReport]: ... - @overload - async def fetch_reports( - self, - date_from: datetime, - date_to: datetime, - device: Sequence[HasHashedPublicKey], - ) -> dict[HasHashedPublicKey, list[LocationReport]]: ... - @overload async def fetch_reports( self, @@ -266,43 +258,34 @@ class LocationReportsFetcher: self, date_from: datetime, date_to: datetime, - device: Sequence[RollingKeyPairSource], - ) -> dict[RollingKeyPairSource, list[LocationReport]]: ... + device: Sequence[HasHashedPublicKey | RollingKeyPairSource], + ) -> dict[HasHashedPublicKey | RollingKeyPairSource, list[LocationReport]]: ... async def fetch_reports( self, date_from: datetime, date_to: datetime, device: HasHashedPublicKey - | Sequence[HasHashedPublicKey] | RollingKeyPairSource - | Sequence[RollingKeyPairSource], + | Sequence[HasHashedPublicKey | RollingKeyPairSource], ) -> ( - list[LocationReport] - | dict[HasHashedPublicKey, list[LocationReport]] - | dict[RollingKeyPairSource, list[LocationReport]] + list[LocationReport] | dict[HasHashedPublicKey | RollingKeyPairSource, list[LocationReport]] ): """ Fetch location reports for a certain device. When ``device`` is a single :class:`.HasHashedPublicKey`, this method will return a list of location reports corresponding to that key. - When ``device`` is a sequence of :class:`.HasHashedPublicKey`s, it will return a dictionary - with the :class:`.HasHashedPublicKey` as key, and a list of location reports as value. When ``device`` is a :class:`.RollingKeyPairSource`, it will return a list of location reports corresponding to that source. + When ``device`` is a sequence of :class:`.HasHashedPublicKey`s or RollingKeyPairSource's, + it will return a dictionary with the :class:`.HasHashedPublicKey` or `.RollingKeyPairSource` + as key, and a list of location reports as value. """ - key_devs: ( - dict[HasHashedPublicKey, HasHashedPublicKey] - | dict[HasHashedPublicKey, RollingKeyPairSource] - ) = {} + key_devs: dict[HasHashedPublicKey, HasHashedPublicKey | RollingKeyPairSource] = {} if isinstance(device, HasHashedPublicKey): # single key key_devs = {device: device} - elif isinstance(device, list) and all(isinstance(x, HasHashedPublicKey) for x in device): - # multiple static keys - device = cast("list[HasHashedPublicKey]", device) - key_devs = {key: key for key in device} elif isinstance(device, RollingKeyPairSource): # key generator # add 12h margin to the generator @@ -313,13 +296,17 @@ class LocationReportsFetcher: date_to + timedelta(hours=12), ) } - elif isinstance(device, list) and all(isinstance(x, RollingKeyPairSource) for x in device): + + elif isinstance(device, list) and all( + isinstance(x, HasHashedPublicKey | RollingKeyPairSource) for x in device + ): # multiple key generators # add 12h margin to each generator - device = cast("list[RollingKeyPairSource]", device) - key_devs = { + device = cast("list[HasHashedPublicKey | RollingKeyPairSource]", device) + key_devs = {key: key for key in device if isinstance(key, HasHashedPublicKey)} | { key: dev for dev in device + if isinstance(dev, RollingKeyPairSource) for key in dev.keys_between( date_from - timedelta(hours=12), date_to + timedelta(hours=12), From f7a09440f9bdea208c43e5353bee2e8bf68a24f0 Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Sat, 14 Jun 2025 16:30:22 +0200 Subject: [PATCH 62/97] chore: add `gh` tool to Nix shell --- shell.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/shell.nix b/shell.nix index df1aaff..46f84b7 100644 --- a/shell.nix +++ b/shell.nix @@ -7,6 +7,7 @@ pkgs.mkShell { packages = with pkgs; [ python312 unstable.uv + gh ]; shellHook = '' From b7a1b2fe215b458ee4a9f9196b9df11fd0946347 Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Sat, 14 Jun 2025 16:35:59 +0200 Subject: [PATCH 63/97] chore: update dependencies --- pyproject.toml | 4 +- uv.lock | 2227 +++++++++++++++++++++++++----------------------- 2 files changed, 1149 insertions(+), 1082 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index e624642..5aba926 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ authors = [ requires-python = ">=3.9,<3.14" dependencies = [ "srp>=1.0.21,<2.0.0", - "cryptography>=42.0.0,<45.0.0", + "cryptography>=42.0.0,<46.0.0", "beautifulsoup4>=4.12.3,<5.0.0", "aiohttp>=3.9.5,<4.0.0", "bleak>=0.22.2,<1.0.0", @@ -22,7 +22,7 @@ dev = [ "pyright>=1.1.391,<2.0.0", "ruff>=0.8.4,<1.0.0", "tomli>=2.0.1,<3.0.0", - "packaging>=24.1,<25.0", + "packaging>=25.0,<26.0", ] test = [ "pytest>=8.3.2,<9.0.0", diff --git a/uv.lock b/uv.lock index 81ffded..c57ad1a 100644 --- a/uv.lock +++ b/uv.lock @@ -1,5 +1,5 @@ version = 1 -revision = 1 +revision = 2 requires-python = ">=3.9, <3.14" resolution-markers = [ "python_full_version >= '3.12'", @@ -10,14 +10,14 @@ resolution-markers = [ name = "aiohappyeyeballs" version = "2.6.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558", size = 22760 } +sdist = { url = "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558", size = 22760, upload-time = "2025-03-12T01:42:48.764Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0f/15/5bf3b99495fb160b63f95972b81750f18f7f4e02ad051373b669d17d44f2/aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8", size = 15265 }, + { url = "https://files.pythonhosted.org/packages/0f/15/5bf3b99495fb160b63f95972b81750f18f7f4e02ad051373b669d17d44f2/aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8", size = 15265, upload-time = "2025-03-12T01:42:47.083Z" }, ] [[package]] name = "aiohttp" -version = "3.11.16" +version = "3.12.12" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "aiohappyeyeballs" }, @@ -29,88 +29,93 @@ dependencies = [ { name = "propcache" }, { name = "yarl" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f1/d9/1c4721d143e14af753f2bf5e3b681883e1f24b592c0482df6fa6e33597fa/aiohttp-3.11.16.tar.gz", hash = "sha256:16f8a2c9538c14a557b4d309ed4d0a7c60f0253e8ed7b6c9a2859a7582f8b1b8", size = 7676826 } +sdist = { url = "https://files.pythonhosted.org/packages/f2/84/ea27e6ad14747d8c51afe201fb88a5c8282b6278256d30a6f71f730add88/aiohttp-3.12.12.tar.gz", hash = "sha256:05875595d2483d96cb61fa9f64e75262d7ac6251a7e3c811d8e26f7d721760bd", size = 7818643, upload-time = "2025-06-10T05:22:00.247Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b8/21/6bd4cb580a323b64cda3b11fcb3f68deba77568e97806727a858de57349d/aiohttp-3.11.16-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:fb46bb0f24813e6cede6cc07b1961d4b04f331f7112a23b5e21f567da4ee50aa", size = 708259 }, - { url = "https://files.pythonhosted.org/packages/96/8c/7b4b9debe90ffc31931b85ee8612a5c83f34d8fdc6d90ee3eb27b43639e4/aiohttp-3.11.16-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:54eb3aead72a5c19fad07219acd882c1643a1027fbcdefac9b502c267242f955", size = 468886 }, - { url = "https://files.pythonhosted.org/packages/13/da/a7fcd68e62acacf0a1930060afd2c970826f989265893082b6fb9eb25cb5/aiohttp-3.11.16-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:38bea84ee4fe24ebcc8edeb7b54bf20f06fd53ce4d2cc8b74344c5b9620597fd", size = 455846 }, - { url = "https://files.pythonhosted.org/packages/5d/12/b73d9423253f4c872d276a3771decb0722cb5f962352593bd617445977ba/aiohttp-3.11.16-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d0666afbe984f6933fe72cd1f1c3560d8c55880a0bdd728ad774006eb4241ecd", size = 1587183 }, - { url = "https://files.pythonhosted.org/packages/75/d3/291b57d54719d996e6cb8c1db8b13d01bdb24dca90434815ac7e6a70393f/aiohttp-3.11.16-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ba92a2d9ace559a0a14b03d87f47e021e4fa7681dc6970ebbc7b447c7d4b7cd", size = 1634937 }, - { url = "https://files.pythonhosted.org/packages/be/85/4229eba92b433173065b0b459ab677ca11ead4a179f76ccfe55d8738b188/aiohttp-3.11.16-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3ad1d59fd7114e6a08c4814983bb498f391c699f3c78712770077518cae63ff7", size = 1667980 }, - { url = "https://files.pythonhosted.org/packages/2b/0d/d2423936962e3c711fafd5bb9172a99e6b07dd63e086515aa957d8a991fd/aiohttp-3.11.16-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98b88a2bf26965f2015a771381624dd4b0839034b70d406dc74fd8be4cc053e3", size = 1590365 }, - { url = "https://files.pythonhosted.org/packages/ea/93/04209affc20834982c1ef4214b1afc07743667998a9975d69413e9c1e1c1/aiohttp-3.11.16-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:576f5ca28d1b3276026f7df3ec841ae460e0fc3aac2a47cbf72eabcfc0f102e1", size = 1547614 }, - { url = "https://files.pythonhosted.org/packages/f6/fb/194ad4e4cae98023ae19556e576347f402ce159e80d74cc0713d460c4a39/aiohttp-3.11.16-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a2a450bcce4931b295fc0848f384834c3f9b00edfc2150baafb4488c27953de6", size = 1532815 }, - { url = "https://files.pythonhosted.org/packages/33/6d/a4da7adbac90188bf1228c73b6768a607dd279c146721a9ff7dcb75c5ac6/aiohttp-3.11.16-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:37dcee4906454ae377be5937ab2a66a9a88377b11dd7c072df7a7c142b63c37c", size = 1559005 }, - { url = "https://files.pythonhosted.org/packages/7e/88/2fa9fbfd23fc16cb2cfdd1f290343e085e7e327438041e9c6aa0208a854d/aiohttp-3.11.16-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:4d0c970c0d602b1017e2067ff3b7dac41c98fef4f7472ec2ea26fd8a4e8c2149", size = 1535231 }, - { url = "https://files.pythonhosted.org/packages/f5/8f/9623cd2558e3e182d02dcda8b480643e1c48a0550a86e3050210e98dba27/aiohttp-3.11.16-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:004511d3413737700835e949433536a2fe95a7d0297edd911a1e9705c5b5ea43", size = 1609985 }, - { url = "https://files.pythonhosted.org/packages/f8/a2/53a8d1bfc67130710f1c8091f623cdefe7f85cd5d09e14637ed2ed6e1a6d/aiohttp-3.11.16-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:c15b2271c44da77ee9d822552201180779e5e942f3a71fb74e026bf6172ff287", size = 1628842 }, - { url = "https://files.pythonhosted.org/packages/49/3a/35fb43d07489573c6c1f8c6a3e6c657196124a63223705b7feeddaea06f1/aiohttp-3.11.16-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ad9509ffb2396483ceacb1eee9134724443ee45b92141105a4645857244aecc8", size = 1566929 }, - { url = "https://files.pythonhosted.org/packages/d5/82/bb3f4f2cc7677e790ba4c040db7dd8445c234a810ef893a858e217647d38/aiohttp-3.11.16-cp310-cp310-win32.whl", hash = "sha256:634d96869be6c4dc232fc503e03e40c42d32cfaa51712aee181e922e61d74814", size = 416935 }, - { url = "https://files.pythonhosted.org/packages/df/ad/a64db1c18063569d6dff474c46a7d4de7ab85ff55e2a35839b149b1850ea/aiohttp-3.11.16-cp310-cp310-win_amd64.whl", hash = "sha256:938f756c2b9374bbcc262a37eea521d8a0e6458162f2a9c26329cc87fdf06534", size = 442168 }, - { url = "https://files.pythonhosted.org/packages/b1/98/be30539cd84260d9f3ea1936d50445e25aa6029a4cb9707f3b64cfd710f7/aiohttp-3.11.16-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8cb0688a8d81c63d716e867d59a9ccc389e97ac7037ebef904c2b89334407180", size = 708664 }, - { url = "https://files.pythonhosted.org/packages/e6/27/d51116ce18bdfdea7a2244b55ad38d7b01a4298af55765eed7e8431f013d/aiohttp-3.11.16-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0ad1fb47da60ae1ddfb316f0ff16d1f3b8e844d1a1e154641928ea0583d486ed", size = 468953 }, - { url = "https://files.pythonhosted.org/packages/34/23/eedf80ec42865ea5355b46265a2433134138eff9a4fea17e1348530fa4ae/aiohttp-3.11.16-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:df7db76400bf46ec6a0a73192b14c8295bdb9812053f4fe53f4e789f3ea66bbb", size = 456065 }, - { url = "https://files.pythonhosted.org/packages/36/23/4a5b1ef6cff994936bf96d981dd817b487d9db755457a0d1c2939920d620/aiohttp-3.11.16-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc3a145479a76ad0ed646434d09216d33d08eef0d8c9a11f5ae5cdc37caa3540", size = 1687976 }, - { url = "https://files.pythonhosted.org/packages/d0/5d/c7474b4c3069bb35276d54c82997dff4f7575e4b73f0a7b1b08a39ece1eb/aiohttp-3.11.16-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d007aa39a52d62373bd23428ba4a2546eed0e7643d7bf2e41ddcefd54519842c", size = 1752711 }, - { url = "https://files.pythonhosted.org/packages/64/4c/ee416987b6729558f2eb1b727c60196580aafdb141e83bd78bb031d1c000/aiohttp-3.11.16-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6ddd90d9fb4b501c97a4458f1c1720e42432c26cb76d28177c5b5ad4e332601", size = 1791305 }, - { url = "https://files.pythonhosted.org/packages/58/28/3e1e1884070b95f1f69c473a1995852a6f8516670bb1c29d6cb2dbb73e1c/aiohttp-3.11.16-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a2f451849e6b39e5c226803dcacfa9c7133e9825dcefd2f4e837a2ec5a3bb98", size = 1674499 }, - { url = "https://files.pythonhosted.org/packages/ad/55/a032b32fa80a662d25d9eb170ed1e2c2be239304ca114ec66c89dc40f37f/aiohttp-3.11.16-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8df6612df74409080575dca38a5237282865408016e65636a76a2eb9348c2567", size = 1622313 }, - { url = "https://files.pythonhosted.org/packages/b1/df/ca775605f72abbda4e4746e793c408c84373ca2c6ce7a106a09f853f1e89/aiohttp-3.11.16-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:78e6e23b954644737e385befa0deb20233e2dfddf95dd11e9db752bdd2a294d3", size = 1658274 }, - { url = "https://files.pythonhosted.org/packages/cc/6c/21c45b66124df5b4b0ab638271ecd8c6402b702977120cb4d5be6408e15d/aiohttp-3.11.16-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:696ef00e8a1f0cec5e30640e64eca75d8e777933d1438f4facc9c0cdf288a810", size = 1666704 }, - { url = "https://files.pythonhosted.org/packages/1d/e2/7d92adc03e3458edd18a21da2575ab84e58f16b1672ae98529e4eeee45ab/aiohttp-3.11.16-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e3538bc9fe1b902bef51372462e3d7c96fce2b566642512138a480b7adc9d508", size = 1652815 }, - { url = "https://files.pythonhosted.org/packages/3a/52/7549573cd654ad651e3c5786ec3946d8f0ee379023e22deb503ff856b16c/aiohttp-3.11.16-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:3ab3367bb7f61ad18793fea2ef71f2d181c528c87948638366bf1de26e239183", size = 1735669 }, - { url = "https://files.pythonhosted.org/packages/d5/54/dcd24a23c7a5a2922123e07a296a5f79ea87ce605f531be068415c326de6/aiohttp-3.11.16-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:56a3443aca82abda0e07be2e1ecb76a050714faf2be84256dae291182ba59049", size = 1760422 }, - { url = "https://files.pythonhosted.org/packages/a7/53/87327fe982fa310944e1450e97bf7b2a28015263771931372a1dfe682c58/aiohttp-3.11.16-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:61c721764e41af907c9d16b6daa05a458f066015abd35923051be8705108ed17", size = 1694457 }, - { url = "https://files.pythonhosted.org/packages/ce/6d/c5ccf41059267bcf89853d3db9d8d217dacf0a04f4086cb6bf278323011f/aiohttp-3.11.16-cp311-cp311-win32.whl", hash = "sha256:3e061b09f6fa42997cf627307f220315e313ece74907d35776ec4373ed718b86", size = 416817 }, - { url = "https://files.pythonhosted.org/packages/e7/dd/01f6fe028e054ef4f909c9d63e3a2399e77021bb2e1bb51d56ca8b543989/aiohttp-3.11.16-cp311-cp311-win_amd64.whl", hash = "sha256:745f1ed5e2c687baefc3c5e7b4304e91bf3e2f32834d07baaee243e349624b24", size = 442986 }, - { url = "https://files.pythonhosted.org/packages/db/38/100d01cbc60553743baf0fba658cb125f8ad674a8a771f765cdc155a890d/aiohttp-3.11.16-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:911a6e91d08bb2c72938bc17f0a2d97864c531536b7832abee6429d5296e5b27", size = 704881 }, - { url = "https://files.pythonhosted.org/packages/21/ed/b4102bb6245e36591209e29f03fe87e7956e54cb604ee12e20f7eb47f994/aiohttp-3.11.16-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6ac13b71761e49d5f9e4d05d33683bbafef753e876e8e5a7ef26e937dd766713", size = 464564 }, - { url = "https://files.pythonhosted.org/packages/3b/e1/a9ab6c47b62ecee080eeb33acd5352b40ecad08fb2d0779bcc6739271745/aiohttp-3.11.16-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fd36c119c5d6551bce374fcb5c19269638f8d09862445f85a5a48596fd59f4bb", size = 456548 }, - { url = "https://files.pythonhosted.org/packages/80/ad/216c6f71bdff2becce6c8776f0aa32cb0fa5d83008d13b49c3208d2e4016/aiohttp-3.11.16-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d489d9778522fbd0f8d6a5c6e48e3514f11be81cb0a5954bdda06f7e1594b321", size = 1691749 }, - { url = "https://files.pythonhosted.org/packages/bd/ea/7df7bcd3f4e734301605f686ffc87993f2d51b7acb6bcc9b980af223f297/aiohttp-3.11.16-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:69a2cbd61788d26f8f1e626e188044834f37f6ae3f937bd9f08b65fc9d7e514e", size = 1736874 }, - { url = "https://files.pythonhosted.org/packages/51/41/c7724b9c87a29b7cfd1202ec6446bae8524a751473d25e2ff438bc9a02bf/aiohttp-3.11.16-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd464ba806e27ee24a91362ba3621bfc39dbbb8b79f2e1340201615197370f7c", size = 1786885 }, - { url = "https://files.pythonhosted.org/packages/86/b3/f61f8492fa6569fa87927ad35a40c159408862f7e8e70deaaead349e2fba/aiohttp-3.11.16-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ce63ae04719513dd2651202352a2beb9f67f55cb8490c40f056cea3c5c355ce", size = 1698059 }, - { url = "https://files.pythonhosted.org/packages/ce/be/7097cf860a9ce8bbb0e8960704e12869e111abcd3fbd245153373079ccec/aiohttp-3.11.16-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:09b00dd520d88eac9d1768439a59ab3d145065c91a8fab97f900d1b5f802895e", size = 1626527 }, - { url = "https://files.pythonhosted.org/packages/1d/1d/aaa841c340e8c143a8d53a1f644c2a2961c58cfa26e7b398d6bf75cf5d23/aiohttp-3.11.16-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7f6428fee52d2bcf96a8aa7b62095b190ee341ab0e6b1bcf50c615d7966fd45b", size = 1644036 }, - { url = "https://files.pythonhosted.org/packages/2c/88/59d870f76e9345e2b149f158074e78db457985c2b4da713038d9da3020a8/aiohttp-3.11.16-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:13ceac2c5cdcc3f64b9015710221ddf81c900c5febc505dbd8f810e770011540", size = 1685270 }, - { url = "https://files.pythonhosted.org/packages/2b/b1/c6686948d4c79c3745595efc469a9f8a43cab3c7efc0b5991be65d9e8cb8/aiohttp-3.11.16-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:fadbb8f1d4140825069db3fedbbb843290fd5f5bc0a5dbd7eaf81d91bf1b003b", size = 1650852 }, - { url = "https://files.pythonhosted.org/packages/fe/94/3e42a6916fd3441721941e0f1b8438e1ce2a4c49af0e28e0d3c950c9b3c9/aiohttp-3.11.16-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:6a792ce34b999fbe04a7a71a90c74f10c57ae4c51f65461a411faa70e154154e", size = 1704481 }, - { url = "https://files.pythonhosted.org/packages/b1/6d/6ab5854ff59b27075c7a8c610597d2b6c38945f9a1284ee8758bc3720ff6/aiohttp-3.11.16-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:f4065145bf69de124accdd17ea5f4dc770da0a6a6e440c53f6e0a8c27b3e635c", size = 1735370 }, - { url = "https://files.pythonhosted.org/packages/73/2a/08a68eec3c99a6659067d271d7553e4d490a0828d588e1daa3970dc2b771/aiohttp-3.11.16-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fa73e8c2656a3653ae6c307b3f4e878a21f87859a9afab228280ddccd7369d71", size = 1697619 }, - { url = "https://files.pythonhosted.org/packages/61/d5/fea8dbbfb0cd68fbb56f0ae913270a79422d9a41da442a624febf72d2aaf/aiohttp-3.11.16-cp312-cp312-win32.whl", hash = "sha256:f244b8e541f414664889e2c87cac11a07b918cb4b540c36f7ada7bfa76571ea2", size = 411710 }, - { url = "https://files.pythonhosted.org/packages/33/fb/41cde15fbe51365024550bf77b95a4fc84ef41365705c946da0421f0e1e0/aiohttp-3.11.16-cp312-cp312-win_amd64.whl", hash = "sha256:23a15727fbfccab973343b6d1b7181bfb0b4aa7ae280f36fd2f90f5476805682", size = 438012 }, - { url = "https://files.pythonhosted.org/packages/52/52/7c712b2d9fb4d5e5fd6d12f9ab76e52baddfee71e3c8203ca7a7559d7f51/aiohttp-3.11.16-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a3814760a1a700f3cfd2f977249f1032301d0a12c92aba74605cfa6ce9f78489", size = 698005 }, - { url = "https://files.pythonhosted.org/packages/51/3e/61057814f7247666d43ac538abcd6335b022869ade2602dab9bf33f607d2/aiohttp-3.11.16-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9b751a6306f330801665ae69270a8a3993654a85569b3469662efaad6cf5cc50", size = 461106 }, - { url = "https://files.pythonhosted.org/packages/4f/85/6b79fb0ea6e913d596d5b949edc2402b20803f51b1a59e1bbc5bb7ba7569/aiohttp-3.11.16-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ad497f38a0d6c329cb621774788583ee12321863cd4bd9feee1effd60f2ad133", size = 453394 }, - { url = "https://files.pythonhosted.org/packages/4b/04/e1bb3fcfbd2c26753932c759593a32299aff8625eaa0bf8ff7d9c0c34a36/aiohttp-3.11.16-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca37057625693d097543bd88076ceebeb248291df9d6ca8481349efc0b05dcd0", size = 1666643 }, - { url = "https://files.pythonhosted.org/packages/0e/27/97bc0fdd1f439b8f060beb3ba8fb47b908dc170280090801158381ad7942/aiohttp-3.11.16-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a5abcbba9f4b463a45c8ca8b7720891200658f6f46894f79517e6cd11f3405ca", size = 1721948 }, - { url = "https://files.pythonhosted.org/packages/2c/4f/bc4c5119e75c05ef15c5670ef1563bbe25d4ed4893b76c57b0184d815e8b/aiohttp-3.11.16-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f420bfe862fb357a6d76f2065447ef6f484bc489292ac91e29bc65d2d7a2c84d", size = 1774454 }, - { url = "https://files.pythonhosted.org/packages/73/5b/54b42b2150bb26fdf795464aa55ceb1a49c85f84e98e6896d211eabc6670/aiohttp-3.11.16-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58ede86453a6cf2d6ce40ef0ca15481677a66950e73b0a788917916f7e35a0bb", size = 1677785 }, - { url = "https://files.pythonhosted.org/packages/10/ee/a0fe68916d3f82eae199b8535624cf07a9c0a0958c7a76e56dd21140487a/aiohttp-3.11.16-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6fdec0213244c39973674ca2a7f5435bf74369e7d4e104d6c7473c81c9bcc8c4", size = 1608456 }, - { url = "https://files.pythonhosted.org/packages/8b/48/83afd779242b7cf7e1ceed2ff624a86d3221e17798061cf9a79e0b246077/aiohttp-3.11.16-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:72b1b03fb4655c1960403c131740755ec19c5898c82abd3961c364c2afd59fe7", size = 1622424 }, - { url = "https://files.pythonhosted.org/packages/6f/27/452f1d5fca1f516f9f731539b7f5faa9e9d3bf8a3a6c3cd7c4b031f20cbd/aiohttp-3.11.16-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:780df0d837276276226a1ff803f8d0fa5f8996c479aeef52eb040179f3156cbd", size = 1660943 }, - { url = "https://files.pythonhosted.org/packages/d6/e1/5c7d63143b8d00c83b958b9e78e7048c4a69903c760c1e329bf02bac57a1/aiohttp-3.11.16-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ecdb8173e6c7aa09eee342ac62e193e6904923bd232e76b4157ac0bfa670609f", size = 1622797 }, - { url = "https://files.pythonhosted.org/packages/46/9e/2ac29cca2746ee8e449e73cd2fcb3d454467393ec03a269d50e49af743f1/aiohttp-3.11.16-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:a6db7458ab89c7d80bc1f4e930cc9df6edee2200127cfa6f6e080cf619eddfbd", size = 1687162 }, - { url = "https://files.pythonhosted.org/packages/ad/6b/eaa6768e02edebaf37d77f4ffb74dd55f5cbcbb6a0dbf798ccec7b0ac23b/aiohttp-3.11.16-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:2540ddc83cc724b13d1838026f6a5ad178510953302a49e6d647f6e1de82bc34", size = 1718518 }, - { url = "https://files.pythonhosted.org/packages/e5/18/dda87cbad29472a51fa058d6d8257dfce168289adaeb358b86bd93af3b20/aiohttp-3.11.16-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3b4e6db8dc4879015b9955778cfb9881897339c8fab7b3676f8433f849425913", size = 1675254 }, - { url = "https://files.pythonhosted.org/packages/32/d9/d2fb08c614df401d92c12fcbc60e6e879608d5e8909ef75c5ad8d4ad8aa7/aiohttp-3.11.16-cp313-cp313-win32.whl", hash = "sha256:493910ceb2764f792db4dc6e8e4b375dae1b08f72e18e8f10f18b34ca17d0979", size = 410698 }, - { url = "https://files.pythonhosted.org/packages/ce/ed/853e36d5a33c24544cfa46585895547de152dfef0b5c79fa675f6e4b7b87/aiohttp-3.11.16-cp313-cp313-win_amd64.whl", hash = "sha256:42864e70a248f5f6a49fdaf417d9bc62d6e4d8ee9695b24c5916cb4bb666c802", size = 436395 }, - { url = "https://files.pythonhosted.org/packages/4b/6e/a423a6fd07e651f6078da862128031cff2f333e995f5efe30bb110c97041/aiohttp-3.11.16-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bbcba75fe879ad6fd2e0d6a8d937f34a571f116a0e4db37df8079e738ea95c71", size = 709172 }, - { url = "https://files.pythonhosted.org/packages/bf/8d/925f3c893523118e5dc729d340df2283d68e7adfa77192908ae63f1ec904/aiohttp-3.11.16-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:87a6e922b2b2401e0b0cf6b976b97f11ec7f136bfed445e16384fbf6fd5e8602", size = 469390 }, - { url = "https://files.pythonhosted.org/packages/49/57/8a27b793480887bd23288364138c9db2f58cd3cff28945809aa062d019dc/aiohttp-3.11.16-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ccf10f16ab498d20e28bc2b5c1306e9c1512f2840f7b6a67000a517a4b37d5ee", size = 456246 }, - { url = "https://files.pythonhosted.org/packages/e8/e5/e8114c5b1336357089cacf5a4ff298335429f0a0e75dea3ffefd3d4d82e5/aiohttp-3.11.16-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb3d0cc5cdb926090748ea60172fa8a213cec728bd6c54eae18b96040fcd6227", size = 1590764 }, - { url = "https://files.pythonhosted.org/packages/db/49/ec13c0ad70c4843169111265c47dd568437be354aea4ac732dc6f2e79842/aiohttp-3.11.16-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d07502cc14ecd64f52b2a74ebbc106893d9a9717120057ea9ea1fd6568a747e7", size = 1638375 }, - { url = "https://files.pythonhosted.org/packages/0f/0d/78a64579b054fa3c0e72083912d4410f5514dc0cd03bef5644d4f1e4e6ed/aiohttp-3.11.16-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:776c8e959a01e5e8321f1dec77964cb6101020a69d5a94cd3d34db6d555e01f7", size = 1672027 }, - { url = "https://files.pythonhosted.org/packages/54/11/06602ab3446fe96519998b79c762cf0921b620e702bd7659a5e8b998d0e0/aiohttp-3.11.16-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0902e887b0e1d50424112f200eb9ae3dfed6c0d0a19fc60f633ae5a57c809656", size = 1589609 }, - { url = "https://files.pythonhosted.org/packages/34/1b/6bdebdf702d7f339579e9d3c2e784ca6e5867e247dd7b8690c004431ab57/aiohttp-3.11.16-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e87fd812899aa78252866ae03a048e77bd11b80fb4878ce27c23cade239b42b2", size = 1547540 }, - { url = "https://files.pythonhosted.org/packages/88/dd/5d0c0a936baaabbf7467851c0cc9f1aedab67428479a528ea14ab852c730/aiohttp-3.11.16-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0a950c2eb8ff17361abd8c85987fd6076d9f47d040ebffce67dce4993285e973", size = 1534880 }, - { url = "https://files.pythonhosted.org/packages/a8/ff/2245148b047833eb7b37f5754ece17ade561a46c40d6fecc3ed3f5eae1c1/aiohttp-3.11.16-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:c10d85e81d0b9ef87970ecbdbfaeec14a361a7fa947118817fcea8e45335fa46", size = 1557692 }, - { url = "https://files.pythonhosted.org/packages/c4/1c/fe0dd097427c295ae49b6c10e37eda546036fd8de75bc43d69df392b9377/aiohttp-3.11.16-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:7951decace76a9271a1ef181b04aa77d3cc309a02a51d73826039003210bdc86", size = 1538918 }, - { url = "https://files.pythonhosted.org/packages/94/58/10af247fb0084327579ebaccfd1f9c2f759ec972b204b31598debfa0829a/aiohttp-3.11.16-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:14461157d8426bcb40bd94deb0450a6fa16f05129f7da546090cebf8f3123b0f", size = 1609351 }, - { url = "https://files.pythonhosted.org/packages/d3/91/b1f0928b6d2eb0c47ecee7122067a8ad330f812795d8f16343d206394040/aiohttp-3.11.16-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9756d9b9d4547e091f99d554fbba0d2a920aab98caa82a8fb3d3d9bee3c9ae85", size = 1630514 }, - { url = "https://files.pythonhosted.org/packages/88/51/3319add72ea4053bee66825aef3e691ee4b26d0a22b7f817d73b0af02d38/aiohttp-3.11.16-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:87944bd16b7fe6160607f6a17808abd25f17f61ae1e26c47a491b970fb66d8cb", size = 1567084 }, - { url = "https://files.pythonhosted.org/packages/e5/93/e90a84c263f02f01efd6f32042c08d7f7d88338cb18d91c5b1752accffeb/aiohttp-3.11.16-cp39-cp39-win32.whl", hash = "sha256:92b7ee222e2b903e0a4b329a9943d432b3767f2d5029dbe4ca59fb75223bbe2e", size = 417187 }, - { url = "https://files.pythonhosted.org/packages/11/b8/7200f637f223199d8f3e7add720ab19843b9969ffa89b758b5649cab8099/aiohttp-3.11.16-cp39-cp39-win_amd64.whl", hash = "sha256:17ae4664031aadfbcb34fd40ffd90976671fa0c0286e6c4113989f78bebab37a", size = 442378 }, + { url = "https://files.pythonhosted.org/packages/b4/d9/cfde93b9cb75253c716b8b1c773565209e3d4dd0772dd3ce3a2adcaa4639/aiohttp-3.12.12-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6f25e9d274d6abbb15254f76f100c3984d6b9ad6e66263cc60a465dd5c7e48f5", size = 702071, upload-time = "2025-06-10T05:18:23.986Z" }, + { url = "https://files.pythonhosted.org/packages/ee/b0/46e38b8bc0bc645317deec32612af922ad9bafd85a1df255a67c2f2305f6/aiohttp-3.12.12-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b8ec3c1a1c13d24941b5b913607e57b9364e4c0ea69d5363181467492c4b2ba6", size = 478436, upload-time = "2025-06-10T05:18:28.411Z" }, + { url = "https://files.pythonhosted.org/packages/8f/47/9c83db7f02ca71eb99a707ee13657fc24ba703b9babc59000c1f58ac1198/aiohttp-3.12.12-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:81ef2f9253c327c211cb7b06ea2edd90e637cf21c347b894d540466b8d304e08", size = 466213, upload-time = "2025-06-10T05:18:30.706Z" }, + { url = "https://files.pythonhosted.org/packages/31/fe/4690c112e269e06c9182c32eeb43f3a95c4f203fdb095502717327993b80/aiohttp-3.12.12-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28ded835c3663fd41c9ad44685811b11e34e6ac9a7516a30bfce13f6abba4496", size = 1648258, upload-time = "2025-06-10T05:18:32.498Z" }, + { url = "https://files.pythonhosted.org/packages/c8/1f/dacca6c7bbe69c77d8535d7a672478803e7078cc20fd9993fe09aa5be880/aiohttp-3.12.12-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a4b78ccf254fc10605b263996949a94ca3f50e4f9100e05137d6583e266b711e", size = 1622316, upload-time = "2025-06-10T05:18:34.357Z" }, + { url = "https://files.pythonhosted.org/packages/ff/65/5ef47708f70524fcdecda735e0aea06e0feb7b8679e976e9bd1e7900f4c0/aiohttp-3.12.12-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4f4a5af90d5232c41bb857568fe7d11ed84408653ec9da1ff999cc30258b9bd1", size = 1694723, upload-time = "2025-06-10T05:18:36.858Z" }, + { url = "https://files.pythonhosted.org/packages/18/62/ab32bfa59f61292e4096c383316863e10001eec30e5b4b314856ed7156e2/aiohttp-3.12.12-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ffa5205c2f53f1120e93fdf2eca41b0f6344db131bc421246ee82c1e1038a14a", size = 1737037, upload-time = "2025-06-10T05:18:39.663Z" }, + { url = "https://files.pythonhosted.org/packages/c1/b9/8b8f793081311e4f63aea63003a519064048e406c627c0454d6ed09dbc99/aiohttp-3.12.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f68301660f0d7a3eddfb84f959f78a8f9db98c76a49b5235508fa16edaad0f7c", size = 1641701, upload-time = "2025-06-10T05:18:41.666Z" }, + { url = "https://files.pythonhosted.org/packages/1a/5c/72f510d42d626463b526345dcb8d14b390de89a9ba27a4717b518460bcd4/aiohttp-3.12.12-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:db874d3b0c92fdbb553751af9d2733b378c25cc83cd9dfba87f12fafd2dc9cd5", size = 1581824, upload-time = "2025-06-10T05:18:44.136Z" }, + { url = "https://files.pythonhosted.org/packages/61/6f/9378c9e1543d1c800ca040e21cd333b8f923ed051ae82b5a49ad96a6ac71/aiohttp-3.12.12-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5e53cf9c201b45838a2d07b1f2d5f7fec9666db7979240002ce64f9b8a1e0cf2", size = 1625674, upload-time = "2025-06-10T05:18:46.716Z" }, + { url = "https://files.pythonhosted.org/packages/bb/85/4eef9bd52b497a405c88469cc099f4d15d33b149b5746ca4ef8ec6ab6388/aiohttp-3.12.12-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:8687cc5f32b4e328c233acd387d09a1b477007896b2f03c1c823a0fd05f63883", size = 1636460, upload-time = "2025-06-10T05:18:49.305Z" }, + { url = "https://files.pythonhosted.org/packages/56/59/d8e954830b375fd658843cf7d88d27ca5e38dd5fcbfe62db3d1ba415d0fe/aiohttp-3.12.12-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5ee537ad29de716a3d8dc46c609908de0c25ffeebf93cd94a03d64cdc07d66d0", size = 1611912, upload-time = "2025-06-10T05:18:51.694Z" }, + { url = "https://files.pythonhosted.org/packages/c3/5d/d0096a02f0515a38dff67db42d966273a12d17fc895e91466bfb4ab3875e/aiohttp-3.12.12-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:411f821be5af6af11dc5bed6c6c1dc6b6b25b91737d968ec2756f9baa75e5f9b", size = 1691498, upload-time = "2025-06-10T05:18:54.36Z" }, + { url = "https://files.pythonhosted.org/packages/87/8d/d3a02397a6345c06623ae4648e2aef18fced858510b4a89d7262cfa4c683/aiohttp-3.12.12-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:f90319d94cf5f9786773237f24bd235a7b5959089f1af8ec1154580a3434b503", size = 1714737, upload-time = "2025-06-10T05:18:56.806Z" }, + { url = "https://files.pythonhosted.org/packages/a9/40/b81000bf07c96db878703ea3dc561393d82441597729910459a8e06acc9a/aiohttp-3.12.12-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:73b148e606f34e9d513c451fd65efe1091772659ca5703338a396a99f60108ff", size = 1643078, upload-time = "2025-06-10T05:18:59.33Z" }, + { url = "https://files.pythonhosted.org/packages/41/e5/31830642ce2c6d3dba74ed8a94933213df5e1651c1e8b4efc81cc88105ab/aiohttp-3.12.12-cp310-cp310-win32.whl", hash = "sha256:d40e7bfd577fdc8a92b72f35dfbdd3ec90f1bc8a72a42037fefe34d4eca2d4a1", size = 427517, upload-time = "2025-06-10T05:19:01.535Z" }, + { url = "https://files.pythonhosted.org/packages/55/9d/a4e5379d44679e5f8d7d7ebecb0dae8cafab95176c4e753da6bc4b4aebb5/aiohttp-3.12.12-cp310-cp310-win_amd64.whl", hash = "sha256:65c7804a2343893d6dea9fce69811aea0a9ac47f68312cf2e3ee1668cd9a387f", size = 450725, upload-time = "2025-06-10T05:19:03.874Z" }, + { url = "https://files.pythonhosted.org/packages/47/1f/b1b66e05dc3066a9ba7862d50e2e95b3871db82ccf9652568845f353eeba/aiohttp-3.12.12-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:38823fe0d8bc059b3eaedb263fe427d887c7032e72b4ef92c472953285f0e658", size = 709385, upload-time = "2025-06-10T05:19:05.763Z" }, + { url = "https://files.pythonhosted.org/packages/43/e6/3230e42af16438b450b1e193c537fd3d2d31771dafda3c2105a8d11af707/aiohttp-3.12.12-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:10237f2c34711215d04ed21da63852ce023608299554080a45c576215d9df81c", size = 481660, upload-time = "2025-06-10T05:19:08.332Z" }, + { url = "https://files.pythonhosted.org/packages/06/ba/cfa91fe5cc262535e1175b1522d8fcc09f9d6ad18b85241f4ee3be1d780f/aiohttp-3.12.12-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:563ec477c0dc6d56fc7f943a3475b5acdb399c7686c30f5a98ada24bb7562c7a", size = 469924, upload-time = "2025-06-10T05:19:10.342Z" }, + { url = "https://files.pythonhosted.org/packages/9a/f0/5c706cfddd4769b55c0cda466aa6034412d39e416f0b30dda81c4a24616f/aiohttp-3.12.12-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3d05c46a61aca7c47df74afff818bc06a251ab95d95ff80b53665edfe1e0bdf", size = 1740116, upload-time = "2025-06-10T05:19:12.783Z" }, + { url = "https://files.pythonhosted.org/packages/4d/9f/04dba2e1c8bee53c3c623d11a1f947c9e2712500f734dc0dfd06daad32ec/aiohttp-3.12.12-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:277c882916759b4a6b6dc7e2ceb124aad071b3c6456487808d9ab13e1b448d57", size = 1688784, upload-time = "2025-06-10T05:19:15.36Z" }, + { url = "https://files.pythonhosted.org/packages/df/24/19d6d4c41fbf8304fe7c111fcc701e0aa5a2232ee3ac16272677a11f9cfe/aiohttp-3.12.12-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:216abf74b324b0f4e67041dd4fb2819613909a825904f8a51701fbcd40c09cd7", size = 1787575, upload-time = "2025-06-10T05:19:18.586Z" }, + { url = "https://files.pythonhosted.org/packages/0c/59/01f4c55a1f91ad3b5255b2498b3a22362a3fe6ee9bc9ba1af3cc668244da/aiohttp-3.12.12-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65d6cefad286459b68e7f867b9586a821fb7f121057b88f02f536ef570992329", size = 1826621, upload-time = "2025-06-10T05:19:21.284Z" }, + { url = "https://files.pythonhosted.org/packages/55/85/6357166918ff5025602a7cc41332c1ae7a5b57f2fe3da4d755ae30f24bd0/aiohttp-3.12.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:feaaaff61966b5f4b4eae0b79fc79427f49484e4cfa5ab7d138ecd933ab540a8", size = 1729082, upload-time = "2025-06-10T05:19:23.307Z" }, + { url = "https://files.pythonhosted.org/packages/e3/ca/de3b5ccd5a2aa9352f6ec6f446565f6e1601ebb54860c94c686a9ff76660/aiohttp-3.12.12-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a05917780b7cad1755784b16cfaad806bc16029a93d15f063ca60185b7d9ba05", size = 1666159, upload-time = "2025-06-10T05:19:25.929Z" }, + { url = "https://files.pythonhosted.org/packages/d1/69/a1006021a1d3244c0872ee75cd8da150e0098b3b2ec6945c225754d11a60/aiohttp-3.12.12-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:082c5ec6d262c1b2ee01c63f4fb9152c17f11692bf16f0f100ad94a7a287d456", size = 1714433, upload-time = "2025-06-10T05:19:28.044Z" }, + { url = "https://files.pythonhosted.org/packages/d2/2a/15aa1179e9fbdd0d17cdf117b4296dedad098abb5a93f8e9c8ab4626f6ea/aiohttp-3.12.12-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:b265a3a8b379b38696ac78bdef943bdc4f4a5d6bed1a3fb5c75c6bab1ecea422", size = 1709590, upload-time = "2025-06-10T05:19:30.165Z" }, + { url = "https://files.pythonhosted.org/packages/a2/f0/95ed9e21250815f1d1a0cd3e868a3f39400a16010ae59f19ddd4ccc4e787/aiohttp-3.12.12-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:2e0f2e208914ecbc4b2a3b7b4daa759d0c587d9a0b451bb0835ac47fae7fa735", size = 1689776, upload-time = "2025-06-10T05:19:32.965Z" }, + { url = "https://files.pythonhosted.org/packages/81/4d/370ecc133c648c98a85445f2d331c1272859c89cd52c29a293015bc352c7/aiohttp-3.12.12-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:9923b025845b72f64d167bca221113377c8ffabd0a351dc18fb839d401ee8e22", size = 1783378, upload-time = "2025-06-10T05:19:35.14Z" }, + { url = "https://files.pythonhosted.org/packages/a8/86/414e3dae7e07caf6b02cd75d7148d0d8673d4c5077f407be3627d6e33fac/aiohttp-3.12.12-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:1ebb213445900527831fecc70e185bf142fdfe5f2a691075f22d63c65ee3c35a", size = 1803841, upload-time = "2025-06-10T05:19:37.41Z" }, + { url = "https://files.pythonhosted.org/packages/88/df/486f10df681cd1a8c898acc8dc2edbd46ffb088b886757b71ae362bf44d3/aiohttp-3.12.12-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6fc369fb273a8328077d37798b77c1e65676709af5c182cb74bd169ca9defe81", size = 1716896, upload-time = "2025-06-10T05:19:40.172Z" }, + { url = "https://files.pythonhosted.org/packages/07/1e/1cacaf5d838869432e96ece1580d0b51494ebb66351f0e8118b74b38d2f0/aiohttp-3.12.12-cp311-cp311-win32.whl", hash = "sha256:58ecd10fda6a44c311cd3742cfd2aea8c4c600338e9f27cb37434d9f5ca9ddaa", size = 427030, upload-time = "2025-06-10T05:19:42.152Z" }, + { url = "https://files.pythonhosted.org/packages/30/dd/e89c1d190da2c84e0ca03c2970b9988a9c56005d18db7f447cf62b3ae6d0/aiohttp-3.12.12-cp311-cp311-win_amd64.whl", hash = "sha256:b0066e88f30be00badffb5ef8f2281532b9a9020863d873ae15f7c147770b6ec", size = 451419, upload-time = "2025-06-10T05:19:44.176Z" }, + { url = "https://files.pythonhosted.org/packages/df/e6/df14ec151942818ecc5e685fa8a4b07d3d3d8a9e4a7d2701047c89290551/aiohttp-3.12.12-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:98451ce9ce229d092f278a74a7c2a06b3aa72984673c87796126d7ccade893e9", size = 700494, upload-time = "2025-06-10T05:19:46.18Z" }, + { url = "https://files.pythonhosted.org/packages/4f/dc/7bc6e17adcd7a82b0d0317ad3e792ac22c93fb672077f0eade93e8d70182/aiohttp-3.12.12-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:adbac7286d89245e1aff42e948503fdc6edf6d5d65c8e305a67c40f6a8fb95f4", size = 475095, upload-time = "2025-06-10T05:19:48.246Z" }, + { url = "https://files.pythonhosted.org/packages/80/fd/c4e8846ad9d9ecdb7d5ba96de65b7bf2c1582f0b2732f2023080c1c05255/aiohttp-3.12.12-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0728882115bfa85cbd8d0f664c8ccc0cfd5bd3789dd837596785450ae52fac31", size = 467929, upload-time = "2025-06-10T05:19:50.79Z" }, + { url = "https://files.pythonhosted.org/packages/70/40/abebcf5c81f5e65b4379c05929773be2731ce12414264d3e0fe09ee241eb/aiohttp-3.12.12-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bf3b9d9e767f9d0e09fb1a31516410fc741a62cc08754578c40abc497d09540", size = 1714729, upload-time = "2025-06-10T05:19:52.989Z" }, + { url = "https://files.pythonhosted.org/packages/8e/67/4c4f96ef6f16405e7c5205ab3c28852c7e904493b6ddc1c744dda1c97a81/aiohttp-3.12.12-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c944860e86b9f77a462321a440ccf6fa10f5719bb9d026f6b0b11307b1c96c7b", size = 1697380, upload-time = "2025-06-10T05:19:55.832Z" }, + { url = "https://files.pythonhosted.org/packages/e9/a2/dae9ebea4caa8030170c0237e55fa0960df44b3596a849ab9ea621964054/aiohttp-3.12.12-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b1979e1f0c98c06fd0cd940988833b102fa3aa56751f6c40ffe85cabc51f6fd", size = 1752474, upload-time = "2025-06-10T05:19:58.007Z" }, + { url = "https://files.pythonhosted.org/packages/31/ef/f3d9073565ac7ad5257aaa1490ebfc2f182dfc817d3ccfd38c8ab35b2247/aiohttp-3.12.12-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:120b7dd084e96cfdad85acea2ce1e7708c70a26db913eabb8d7b417c728f5d84", size = 1798631, upload-time = "2025-06-10T05:20:00.393Z" }, + { url = "https://files.pythonhosted.org/packages/8b/0b/8b1978662274c80c8e4a739d9be1ae9ef25e5ce42b55838d6a9d1a4e3497/aiohttp-3.12.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e58f5ae79649ffa247081c2e8c85e31d29623cf2a3137dda985ae05c9478aae", size = 1718071, upload-time = "2025-06-10T05:20:02.812Z" }, + { url = "https://files.pythonhosted.org/packages/56/aa/35786137db867901b41cb3d2c19c0f4c56dfe581694dba99dec2683d8f8d/aiohttp-3.12.12-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9aa5f049e3e2745b0141f13e5a64e7c48b1a1427ed18bbb7957b348f282fee56", size = 1633871, upload-time = "2025-06-10T05:20:05.127Z" }, + { url = "https://files.pythonhosted.org/packages/63/1d/34d45497dd04d08d662ecda875c44e91d271bbc5d21f4c9e4cbd3ddf7ae2/aiohttp-3.12.12-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7163cc9cf3722d90f1822f8a38b211e3ae2fc651c63bb55449f03dc1b3ff1d44", size = 1694933, upload-time = "2025-06-10T05:20:07.431Z" }, + { url = "https://files.pythonhosted.org/packages/29/c7/41e09a4517449eabbb0a7fe6d60f584fe5b21d4bff761197eb0b81e70034/aiohttp-3.12.12-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ef97c4d035b721de6607f3980fa3e4ef0ec3aca76474b5789b7fac286a8c4e23", size = 1716386, upload-time = "2025-06-10T05:20:09.787Z" }, + { url = "https://files.pythonhosted.org/packages/3a/32/907bd2010b51b70de5314ad707dfc4e898ea0011ff3d678cdf43d6f8980a/aiohttp-3.12.12-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:1c14448d6a86acadc3f7b2f4cc385d1fb390acb6f37dce27f86fe629410d92e3", size = 1657039, upload-time = "2025-06-10T05:20:12.198Z" }, + { url = "https://files.pythonhosted.org/packages/60/27/8d87344a33346dcd39273adc33060aeb135e0ef70d1d6e71a3b03894a8e9/aiohttp-3.12.12-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a1b6df6255cfc493454c79221183d64007dd5080bcda100db29b7ff181b8832c", size = 1736599, upload-time = "2025-06-10T05:20:14.519Z" }, + { url = "https://files.pythonhosted.org/packages/ca/45/57c7ef1af694a6d0906abab6edde03787c8c6b0cf5d8359b69d1eb0679df/aiohttp-3.12.12-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:60fc7338dfb0626c2927bfbac4785de3ea2e2bbe3d328ba5f3ece123edda4977", size = 1764575, upload-time = "2025-06-10T05:20:16.993Z" }, + { url = "https://files.pythonhosted.org/packages/2a/cc/b1f918cd702efa9ead9d41f89214e9225cda4e5d013d6eed7f1915c17d0a/aiohttp-3.12.12-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d2afc72207ef4c9d4ca9fcd00689a6a37ef2d625600c3d757b5c2b80c9d0cf9a", size = 1724184, upload-time = "2025-06-10T05:20:19.296Z" }, + { url = "https://files.pythonhosted.org/packages/47/55/089762ee32c2a2e0f523d9ab38c9da2a344cac0e0cc8d16ecf206517ef7e/aiohttp-3.12.12-cp312-cp312-win32.whl", hash = "sha256:8098a48f93b2cbcdb5778e7c9a0e0375363e40ad692348e6e65c3b70d593b27c", size = 421762, upload-time = "2025-06-10T05:20:22.063Z" }, + { url = "https://files.pythonhosted.org/packages/ab/47/151f657e429972916f61399bd52b410e9072d5a2cae1b794f890930e5797/aiohttp-3.12.12-cp312-cp312-win_amd64.whl", hash = "sha256:d1c1879b2e0fc337d7a1b63fe950553c2b9e93c071cf95928aeea1902d441403", size = 447863, upload-time = "2025-06-10T05:20:24.326Z" }, + { url = "https://files.pythonhosted.org/packages/ee/3e/396a7d1c47aa7a74612b186dc716857506c61afac72337a7a96215c2a124/aiohttp-3.12.12-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ea5d604318234427929d486954e3199aded65f41593ac57aa0241ab93dda3d15", size = 694901, upload-time = "2025-06-10T05:20:26.58Z" }, + { url = "https://files.pythonhosted.org/packages/cc/97/235e48eadf73a1854b4d4da29b88d00049309d897d55a511e1cbe4412603/aiohttp-3.12.12-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e03ff38250b8b572dce6fcd7b6fb6ee398bb8a59e6aa199009c5322d721df4fc", size = 472552, upload-time = "2025-06-10T05:20:28.957Z" }, + { url = "https://files.pythonhosted.org/packages/6b/73/cd7c9439e8cab4113650541017c6524bd0e675b219dfdbbf945a78305e3f/aiohttp-3.12.12-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:71125b1fc2b6a94bccc63bbece620906a4dead336d2051f8af9cbf04480bc5af", size = 464853, upload-time = "2025-06-10T05:20:31.652Z" }, + { url = "https://files.pythonhosted.org/packages/d1/33/eea88ee55ed4b3f74732d9fc773e6fcf134a2971a19c7ecc49a291e7e57f/aiohttp-3.12.12-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:784a66f9f853a22c6b8c2bd0ff157f9b879700f468d6d72cfa99167df08c5c9c", size = 1703671, upload-time = "2025-06-10T05:20:33.969Z" }, + { url = "https://files.pythonhosted.org/packages/2a/e3/a67ecf9c154b13bad9e2a86ea3782a4b73e889343ffde8c1aadcf9099c09/aiohttp-3.12.12-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a5be0b58670b54301404bd1840e4902570a1c3be00358e2700919cb1ea73c438", size = 1684934, upload-time = "2025-06-10T05:20:36.721Z" }, + { url = "https://files.pythonhosted.org/packages/89/f0/3aaea866531be2f2fcf3a87607e1f55fa72e6ce5acd6b058941a4fc35e15/aiohttp-3.12.12-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce8f13566fc7bf5a728275b434bc3bdea87a7ed3ad5f734102b02ca59d9b510f", size = 1737004, upload-time = "2025-06-10T05:20:39.533Z" }, + { url = "https://files.pythonhosted.org/packages/a7/7a/15867a4c7d39d8fd9bd02191cf60b1d06415fc407bbd4ff2f9660845f1cb/aiohttp-3.12.12-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d736e57d1901683bc9be648aa308cb73e646252c74b4c639c35dcd401ed385ea", size = 1786378, upload-time = "2025-06-10T05:20:42.03Z" }, + { url = "https://files.pythonhosted.org/packages/bd/61/82b15f87088b35705e01fce55806241b45a1099b3470bbca0bed8ee98662/aiohttp-3.12.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e2007eaa7aae9102f211c519d1ec196bd3cecb1944a095db19eeaf132b798738", size = 1708707, upload-time = "2025-06-10T05:20:44.474Z" }, + { url = "https://files.pythonhosted.org/packages/28/f2/aed0786d5a1c2ed1f5a13ff2a98baacc27206b81d93812da28fc49d8a5d0/aiohttp-3.12.12-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a813e61583cab6d5cdbaa34bc28863acdb92f9f46e11de1b3b9251a1e8238f6", size = 1622410, upload-time = "2025-06-10T05:20:46.957Z" }, + { url = "https://files.pythonhosted.org/packages/17/54/8305f49a960376136ada977be1370fddb584c63d40bd1b9bef59469f28c7/aiohttp-3.12.12-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e408293aa910b0aea48b86a28eace41d497a85ba16c20f619f0c604597ef996c", size = 1675435, upload-time = "2025-06-10T05:20:49.379Z" }, + { url = "https://files.pythonhosted.org/packages/bb/dc/0a55350025bc297265cfa6c6b1b1f7508f4226ca3238697cbe5e772a7d76/aiohttp-3.12.12-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:f3d31faf290f5a30acba46b388465b67c6dbe8655d183e9efe2f6a1d594e6d9d", size = 1707099, upload-time = "2025-06-10T05:20:51.974Z" }, + { url = "https://files.pythonhosted.org/packages/d8/70/d949a1612b996e49d540c10ed77a0a1465c482a590e9a59c1c7897746119/aiohttp-3.12.12-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:0b84731697325b023902aa643bd1726d999f5bc7854bc28b17ff410a81151d4b", size = 1649693, upload-time = "2025-06-10T05:20:54.973Z" }, + { url = "https://files.pythonhosted.org/packages/c1/ea/fb87beb7135e25576a1e6fbe98106c037d9fcf1543f19108f9ceb73c192c/aiohttp-3.12.12-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:a324c6852b6e327811748446e56cc9bb6eaa58710557922183175816e82a4234", size = 1725825, upload-time = "2025-06-10T05:20:57.433Z" }, + { url = "https://files.pythonhosted.org/packages/f1/1f/adbeb3e440d49b733cef499ace94723ab1fe9fb516425e219379e03b7c9a/aiohttp-3.12.12-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:22fd867fbd72612dcf670c90486dbcbaf702cb807fb0b42bc0b7a142a573574a", size = 1759300, upload-time = "2025-06-10T05:21:00.444Z" }, + { url = "https://files.pythonhosted.org/packages/f2/c1/2fe007ad930f409d0d7fd9916cd55ec9b78b6a611a237424266ed71da48b/aiohttp-3.12.12-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3e092f1a970223794a4bf620a26c0e4e4e8e36bccae9b0b5da35e6d8ee598a03", size = 1708189, upload-time = "2025-06-10T05:21:02.969Z" }, + { url = "https://files.pythonhosted.org/packages/85/5e/ed3ed640fafae3972eae6cd26f66240108cf62452ac8128d59970d538cb1/aiohttp-3.12.12-cp313-cp313-win32.whl", hash = "sha256:7f5f5eb8717ef8ba15ab35fcde5a70ad28bbdc34157595d1cddd888a985f5aae", size = 420783, upload-time = "2025-06-10T05:21:06.287Z" }, + { url = "https://files.pythonhosted.org/packages/a6/db/57d2bb4af52dd0c6f62c42c7d34b82495b2902e50440134f70bfb7ee0fdd/aiohttp-3.12.12-cp313-cp313-win_amd64.whl", hash = "sha256:ace2499bdd03c329c054dc4b47361f2b19d5aa470f7db5c7e0e989336761b33c", size = 446721, upload-time = "2025-06-10T05:21:08.738Z" }, + { url = "https://files.pythonhosted.org/packages/9e/4e/ab5f0622bdaf00ed94c3b349e11225a3c06e1c3ea948c893283d5e2ca92c/aiohttp-3.12.12-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:0d0b1c27c05a7d39a50e946ec5f94c3af4ffadd33fa5f20705df42fb0a72ca14", size = 704984, upload-time = "2025-06-10T05:21:11.093Z" }, + { url = "https://files.pythonhosted.org/packages/f3/1d/9ae7b3df3caa0b680a40ae21eec21e435aebce0ad71f4e6bc37551af48fb/aiohttp-3.12.12-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e5928847e6f7b7434921fbabf73fa5609d1f2bf4c25d9d4522b1fcc3b51995cb", size = 479952, upload-time = "2025-06-10T05:21:13.483Z" }, + { url = "https://files.pythonhosted.org/packages/94/b8/69f6d82be7f0b7e8f4bee7e9f0f453b2c2e269e116bfb57bf07d3e833721/aiohttp-3.12.12-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7678147c3c85a7ae61559b06411346272ed40a08f54bc05357079a63127c9718", size = 467354, upload-time = "2025-06-10T05:21:16.132Z" }, + { url = "https://files.pythonhosted.org/packages/86/14/4dac6930ad0d21c69a4df82890405f0811a7b145c1e9e0973a8efc4fafd2/aiohttp-3.12.12-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f50057f36f2a1d8e750b273bb966bec9f69ee1e0a20725ae081610501f25d555", size = 1642315, upload-time = "2025-06-10T05:21:19.097Z" }, + { url = "https://files.pythonhosted.org/packages/96/9b/129dde7357da130183076d4033bdf807fc11e2ad14e982373bd693e5161b/aiohttp-3.12.12-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e5e834f0f11ff5805d11f0f22b627c75eadfaf91377b457875e4e3affd0b924f", size = 1616808, upload-time = "2025-06-10T05:21:22.452Z" }, + { url = "https://files.pythonhosted.org/packages/58/6d/d4fa41d7d57d65595485f840e4c910bc54c4bfc8c86c40d7e6276ebae514/aiohttp-3.12.12-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f94b2e2dea19d09745ef02ed483192260750f18731876a5c76f1c254b841443a", size = 1690435, upload-time = "2025-06-10T05:21:25.024Z" }, + { url = "https://files.pythonhosted.org/packages/a1/ea/577c0ae66b1c63a71d459f633d703c51ed3a973f354ad7fde03fc3fe5252/aiohttp-3.12.12-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b434bfb49564dc1c318989a0ab1d3000d23e5cfd00d8295dc9d5a44324cdd42d", size = 1729751, upload-time = "2025-06-10T05:21:27.626Z" }, + { url = "https://files.pythonhosted.org/packages/56/79/f4f7a65c625741ec9230d4157dd1f55f104fd8f458314c994f4053dd8fb3/aiohttp-3.12.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ed76bc80177ddb7c5c93e1a6440b115ed2c92a3063420ac55206fd0832a6459", size = 1635991, upload-time = "2025-06-10T05:21:30.28Z" }, + { url = "https://files.pythonhosted.org/packages/b7/8b/ff044753d02c520f47a296005f9763a9bf5e7cbdb069858fce93f01e82fb/aiohttp-3.12.12-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1282a9acd378f2aed8dc79c01e702b1d5fd260ad083926a88ec7e987c4e0ade", size = 1570991, upload-time = "2025-06-10T05:21:32.947Z" }, + { url = "https://files.pythonhosted.org/packages/96/d6/eae4b8bd92ef8cee9028f0d711f674c2fa80845d1cea80da7f1109c7a546/aiohttp-3.12.12-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:09a213c13fba321586edab1528b530799645b82bd64d79b779eb8d47ceea155a", size = 1618951, upload-time = "2025-06-10T05:21:35.551Z" }, + { url = "https://files.pythonhosted.org/packages/14/4a/302c6f070b9e765de09b213e40c3eb88c79deeb68621c5e1aefc007c9221/aiohttp-3.12.12-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:72eae16a9233561d315e72ae78ed9fc65ab3db0196e56cb2d329c755d694f137", size = 1629091, upload-time = "2025-06-10T05:21:38.27Z" }, + { url = "https://files.pythonhosted.org/packages/50/23/be7e601267cffd1bbdca56bcb880a6f615b885142d3179bdfa707ce499fd/aiohttp-3.12.12-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f25990c507dbbeefd5a6a17df32a4ace634f7b20a38211d1b9609410c7f67a24", size = 1605735, upload-time = "2025-06-10T05:21:40.94Z" }, + { url = "https://files.pythonhosted.org/packages/40/b4/dfac7c43f8f41bf8a381988944dba63479d1b7c859d621ec267afc29e0ae/aiohttp-3.12.12-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:3a2aa255417c8ccf1b39359cd0a3d63ae3b5ced83958dbebc4d9113327c0536a", size = 1693335, upload-time = "2025-06-10T05:21:43.608Z" }, + { url = "https://files.pythonhosted.org/packages/b4/a7/f2c89e5f89999016d7d0e83b0bc2790290f54c20d5749e2948120e8a7b53/aiohttp-3.12.12-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:a4c53b89b3f838e9c25f943d1257efff10b348cb56895f408ddbcb0ec953a2ad", size = 1709010, upload-time = "2025-06-10T05:21:46.71Z" }, + { url = "https://files.pythonhosted.org/packages/50/3a/09ceeffb4658c84f060be761846833ba5292a304b88122af977dc085ea0d/aiohttp-3.12.12-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b5a49c2dcb32114455ad503e8354624d85ab311cbe032da03965882492a9cb98", size = 1638679, upload-time = "2025-06-10T05:21:50.514Z" }, + { url = "https://files.pythonhosted.org/packages/e5/fe/0c932ff9eebece040386bf27bfff6571d57b9a2a43f07d79d2ad82812705/aiohttp-3.12.12-cp39-cp39-win32.whl", hash = "sha256:74fddc0ba8cea6b9c5bd732eb9d97853543586596b86391f8de5d4f6c2a0e068", size = 428353, upload-time = "2025-06-10T05:21:53.218Z" }, + { url = "https://files.pythonhosted.org/packages/dd/30/b84409c6edd5e63380bab30cfff3423cd48f5ac753f7da11c23066cde74b/aiohttp-3.12.12-cp39-cp39-win_amd64.whl", hash = "sha256:ddf40ba4a1d0b4d232dc47d2b98ae7e937dcbc40bb5f2746bce0af490a64526f", size = 451642, upload-time = "2025-06-10T05:21:57.407Z" }, ] [[package]] @@ -120,70 +125,70 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "frozenlist" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ba/b5/6d55e80f6d8a08ce22b982eafa278d823b541c925f11ee774b0b9c43473d/aiosignal-1.3.2.tar.gz", hash = "sha256:a8c255c66fafb1e499c9351d0bf32ff2d8a0321595ebac3b93713656d2436f54", size = 19424 } +sdist = { url = "https://files.pythonhosted.org/packages/ba/b5/6d55e80f6d8a08ce22b982eafa278d823b541c925f11ee774b0b9c43473d/aiosignal-1.3.2.tar.gz", hash = "sha256:a8c255c66fafb1e499c9351d0bf32ff2d8a0321595ebac3b93713656d2436f54", size = 19424, upload-time = "2024-12-13T17:10:40.86Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ec/6a/bc7e17a3e87a2985d3e8f4da4cd0f481060eb78fb08596c42be62c90a4d9/aiosignal-1.3.2-py2.py3-none-any.whl", hash = "sha256:45cde58e409a301715980c2b01d0c28bdde3770d8290b5eb2173759d9acb31a5", size = 7597 }, + { url = "https://files.pythonhosted.org/packages/ec/6a/bc7e17a3e87a2985d3e8f4da4cd0f481060eb78fb08596c42be62c90a4d9/aiosignal-1.3.2-py2.py3-none-any.whl", hash = "sha256:45cde58e409a301715980c2b01d0c28bdde3770d8290b5eb2173759d9acb31a5", size = 7597, upload-time = "2024-12-13T17:10:38.469Z" }, ] [[package]] name = "alabaster" version = "0.7.16" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c9/3e/13dd8e5ed9094e734ac430b5d0eb4f2bb001708a8b7856cbf8e084e001ba/alabaster-0.7.16.tar.gz", hash = "sha256:75a8b99c28a5dad50dd7f8ccdd447a121ddb3892da9e53d1ca5cca3106d58d65", size = 23776 } +sdist = { url = "https://files.pythonhosted.org/packages/c9/3e/13dd8e5ed9094e734ac430b5d0eb4f2bb001708a8b7856cbf8e084e001ba/alabaster-0.7.16.tar.gz", hash = "sha256:75a8b99c28a5dad50dd7f8ccdd447a121ddb3892da9e53d1ca5cca3106d58d65", size = 23776, upload-time = "2024-01-10T00:56:10.189Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/32/34/d4e1c02d3bee589efb5dfa17f88ea08bdb3e3eac12bc475462aec52ed223/alabaster-0.7.16-py3-none-any.whl", hash = "sha256:b46733c07dce03ae4e150330b975c75737fa60f0a7c591b6c8bf4928a28e2c92", size = 13511 }, + { url = "https://files.pythonhosted.org/packages/32/34/d4e1c02d3bee589efb5dfa17f88ea08bdb3e3eac12bc475462aec52ed223/alabaster-0.7.16-py3-none-any.whl", hash = "sha256:b46733c07dce03ae4e150330b975c75737fa60f0a7c591b6c8bf4928a28e2c92", size = 13511, upload-time = "2024-01-10T00:56:08.388Z" }, ] [[package]] name = "astroid" -version = "3.3.9" +version = "3.3.10" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/39/33/536530122a22a7504b159bccaf30a1f76aa19d23028bd8b5009eb9b2efea/astroid-3.3.9.tar.gz", hash = "sha256:622cc8e3048684aa42c820d9d218978021c3c3d174fb03a9f0d615921744f550", size = 398731 } +sdist = { url = "https://files.pythonhosted.org/packages/00/c2/9b2de9ed027f9fe5734a6c0c0a601289d796b3caaf1e372e23fa88a73047/astroid-3.3.10.tar.gz", hash = "sha256:c332157953060c6deb9caa57303ae0d20b0fbdb2e59b4a4f2a6ba49d0a7961ce", size = 398941, upload-time = "2025-05-10T13:33:10.405Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/de/80/c749efbd8eef5ea77c7d6f1956e8fbfb51963b7f93ef79647afd4d9886e3/astroid-3.3.9-py3-none-any.whl", hash = "sha256:d05bfd0acba96a7bd43e222828b7d9bc1e138aaeb0649707908d3702a9831248", size = 275339 }, + { url = "https://files.pythonhosted.org/packages/15/58/5260205b9968c20b6457ed82f48f9e3d6edf2f1f95103161798b73aeccf0/astroid-3.3.10-py3-none-any.whl", hash = "sha256:104fb9cb9b27ea95e847a94c003be03a9e039334a8ebca5ee27dafaf5c5711eb", size = 275388, upload-time = "2025-05-10T13:33:08.391Z" }, ] [[package]] name = "async-timeout" version = "4.0.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/87/d6/21b30a550dafea84b1b8eee21b5e23fa16d010ae006011221f33dcd8d7f8/async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f", size = 8345 } +sdist = { url = "https://files.pythonhosted.org/packages/87/d6/21b30a550dafea84b1b8eee21b5e23fa16d010ae006011221f33dcd8d7f8/async-timeout-4.0.3.tar.gz", hash = "sha256:4640d96be84d82d02ed59ea2b7105a0f7b33abe8703703cd0ab0bf87c427522f", size = 8345, upload-time = "2023-08-10T16:35:56.907Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a7/fa/e01228c2938de91d47b307831c62ab9e4001e747789d0b05baf779a6488c/async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028", size = 5721 }, + { url = "https://files.pythonhosted.org/packages/a7/fa/e01228c2938de91d47b307831c62ab9e4001e747789d0b05baf779a6488c/async_timeout-4.0.3-py3-none-any.whl", hash = "sha256:7405140ff1230c310e51dc27b3145b9092d659ce68ff733fb0cefe3ee42be028", size = 5721, upload-time = "2023-08-10T16:35:55.203Z" }, ] [[package]] name = "attrs" version = "25.3.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032 } +sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032, upload-time = "2025-03-13T11:10:22.779Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815 }, + { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815, upload-time = "2025-03-13T11:10:21.14Z" }, ] [[package]] name = "babel" version = "2.17.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/7d/6b/d52e42361e1aa00709585ecc30b3f9684b3ab62530771402248b1b1d6240/babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d", size = 9951852 } +sdist = { url = "https://files.pythonhosted.org/packages/7d/6b/d52e42361e1aa00709585ecc30b3f9684b3ab62530771402248b1b1d6240/babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d", size = 9951852, upload-time = "2025-02-01T15:17:41.026Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537 }, + { url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537, upload-time = "2025-02-01T15:17:37.39Z" }, ] [[package]] name = "beautifulsoup4" -version = "4.13.3" +version = "4.13.4" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "soupsieve" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f0/3c/adaf39ce1fb4afdd21b611e3d530b183bb7759c9b673d60db0e347fd4439/beautifulsoup4-4.13.3.tar.gz", hash = "sha256:1bd32405dacc920b42b83ba01644747ed77456a65760e285fbc47633ceddaf8b", size = 619516 } +sdist = { url = "https://files.pythonhosted.org/packages/d8/e4/0c4c39e18fd76d6a628d4dd8da40543d136ce2d1752bd6eeeab0791f4d6b/beautifulsoup4-4.13.4.tar.gz", hash = "sha256:dbb3c4e1ceae6aefebdaf2423247260cd062430a410e38c66f2baa50a8437195", size = 621067, upload-time = "2025-04-15T17:05:13.836Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f9/49/6abb616eb3cbab6a7cca303dc02fdf3836de2e0b834bf966a7f5271a34d8/beautifulsoup4-4.13.3-py3-none-any.whl", hash = "sha256:99045d7d3f08f91f0d656bc9b7efbae189426cd913d830294a15eefa0ea4df16", size = 186015 }, + { url = "https://files.pythonhosted.org/packages/50/cd/30110dc0ffcf3b131156077b90e9f60ed75711223f306da4db08eff8403b/beautifulsoup4-4.13.4-py3-none-any.whl", hash = "sha256:9bbbb14bfde9d79f38b8cd5f8c7c85f4b8f2523190ebed90e950a8dea4cb1c4b", size = 187285, upload-time = "2025-04-15T17:05:12.221Z" }, ] [[package]] @@ -207,32 +212,32 @@ dependencies = [ { name = "winrt-windows-foundation-collections", marker = "python_full_version >= '3.12' and sys_platform == 'win32'" }, { name = "winrt-windows-storage-streams", marker = "python_full_version >= '3.12' and sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fb/96/15750b50c0018338e2cce30de939130971ebfdf4f9d6d56c960f5657daad/bleak-0.22.3.tar.gz", hash = "sha256:3149c3c19657e457727aa53d9d6aeb89658495822cd240afd8aeca4dd09c045c", size = 122339 } +sdist = { url = "https://files.pythonhosted.org/packages/fb/96/15750b50c0018338e2cce30de939130971ebfdf4f9d6d56c960f5657daad/bleak-0.22.3.tar.gz", hash = "sha256:3149c3c19657e457727aa53d9d6aeb89658495822cd240afd8aeca4dd09c045c", size = 122339, upload-time = "2024-10-05T21:21:00.661Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0a/ce/3adf9e742bb22e4a4b3435f24111cb46a1d12731ba655ee00bb5ab0308cc/bleak-0.22.3-py3-none-any.whl", hash = "sha256:1e62a9f5e0c184826e6c906e341d8aca53793e4596eeaf4e0b191e7aca5c461c", size = 142719 }, + { url = "https://files.pythonhosted.org/packages/0a/ce/3adf9e742bb22e4a4b3435f24111cb46a1d12731ba655ee00bb5ab0308cc/bleak-0.22.3-py3-none-any.whl", hash = "sha256:1e62a9f5e0c184826e6c906e341d8aca53793e4596eeaf4e0b191e7aca5c461c", size = 142719, upload-time = "2024-10-05T21:20:58.547Z" }, ] [[package]] name = "bleak-winrt" version = "1.2.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a9/7a/009ee84b7860a8c5345529026df32a5caa5da767a840a6f7bf259f53a2ed/bleak-winrt-1.2.0.tar.gz", hash = "sha256:0577d070251b9354fc6c45ffac57e39341ebb08ead014b1bdbd43e211d2ce1d6", size = 3855591 } +sdist = { url = "https://files.pythonhosted.org/packages/a9/7a/009ee84b7860a8c5345529026df32a5caa5da767a840a6f7bf259f53a2ed/bleak-winrt-1.2.0.tar.gz", hash = "sha256:0577d070251b9354fc6c45ffac57e39341ebb08ead014b1bdbd43e211d2ce1d6", size = 3855591, upload-time = "2022-09-09T23:05:28.342Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2c/e8/468c305897ad38fda6bbd23a93fe5052c2f2269b35d08379ee58e9b70ed2/bleak_winrt-1.2.0-cp310-cp310-win32.whl", hash = "sha256:a2ae3054d6843ae0cfd3b94c83293a1dfd5804393977dd69bde91cb5099fc47c", size = 446426 }, - { url = "https://files.pythonhosted.org/packages/97/ea/bc9865b910b94c9d3f064f6adcb59acaadf88e81f650998248a79beb24db/bleak_winrt-1.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:677df51dc825c6657b3ae94f00bd09b8ab88422b40d6a7bdbf7972a63bc44e9a", size = 525255 }, - { url = "https://files.pythonhosted.org/packages/59/d8/a9d15da86bfac0426beda775f4ea7a3bfc862e12e7b6735c458ffcb20c3d/bleak_winrt-1.2.0-cp311-cp311-win32.whl", hash = "sha256:9449cdb942f22c9892bc1ada99e2ccce9bea8a8af1493e81fefb6de2cb3a7b80", size = 446383 }, - { url = "https://files.pythonhosted.org/packages/e4/ff/80fb7efa320059a096d6cde1fd869785000dde061e569c043273b69f89ba/bleak_winrt-1.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:98c1b5a6a6c431ac7f76aa4285b752fe14a1c626bd8a1dfa56f66173ff120bee", size = 524891 }, - { url = "https://files.pythonhosted.org/packages/16/c1/ac464ef8929578867d65c1b2c268260ca24990d80a7becabb02bb9f19b98/bleak_winrt-1.2.0-cp39-cp39-win32.whl", hash = "sha256:dd740047a08925bde54bec357391fcee595d7b8ca0c74c87170a5cbc3f97aa0a", size = 447366 }, - { url = "https://files.pythonhosted.org/packages/bb/ae/569e49da942f3be51bc5bc6848f7441ec2c362b4439d882e2cb9c70e25fc/bleak_winrt-1.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:63130c11acfe75c504a79c01f9919e87f009f5e742bfc7b7a5c2a9c72bf591a7", size = 527876 }, + { url = "https://files.pythonhosted.org/packages/2c/e8/468c305897ad38fda6bbd23a93fe5052c2f2269b35d08379ee58e9b70ed2/bleak_winrt-1.2.0-cp310-cp310-win32.whl", hash = "sha256:a2ae3054d6843ae0cfd3b94c83293a1dfd5804393977dd69bde91cb5099fc47c", size = 446426, upload-time = "2022-09-09T23:05:14.428Z" }, + { url = "https://files.pythonhosted.org/packages/97/ea/bc9865b910b94c9d3f064f6adcb59acaadf88e81f650998248a79beb24db/bleak_winrt-1.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:677df51dc825c6657b3ae94f00bd09b8ab88422b40d6a7bdbf7972a63bc44e9a", size = 525255, upload-time = "2022-09-09T23:05:15.745Z" }, + { url = "https://files.pythonhosted.org/packages/59/d8/a9d15da86bfac0426beda775f4ea7a3bfc862e12e7b6735c458ffcb20c3d/bleak_winrt-1.2.0-cp311-cp311-win32.whl", hash = "sha256:9449cdb942f22c9892bc1ada99e2ccce9bea8a8af1493e81fefb6de2cb3a7b80", size = 446383, upload-time = "2022-09-09T23:05:16.923Z" }, + { url = "https://files.pythonhosted.org/packages/e4/ff/80fb7efa320059a096d6cde1fd869785000dde061e569c043273b69f89ba/bleak_winrt-1.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:98c1b5a6a6c431ac7f76aa4285b752fe14a1c626bd8a1dfa56f66173ff120bee", size = 524891, upload-time = "2022-09-09T23:05:18.111Z" }, + { url = "https://files.pythonhosted.org/packages/16/c1/ac464ef8929578867d65c1b2c268260ca24990d80a7becabb02bb9f19b98/bleak_winrt-1.2.0-cp39-cp39-win32.whl", hash = "sha256:dd740047a08925bde54bec357391fcee595d7b8ca0c74c87170a5cbc3f97aa0a", size = 447366, upload-time = "2022-09-09T23:05:25.427Z" }, + { url = "https://files.pythonhosted.org/packages/bb/ae/569e49da942f3be51bc5bc6848f7441ec2c362b4439d882e2cb9c70e25fc/bleak_winrt-1.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:63130c11acfe75c504a79c01f9919e87f009f5e742bfc7b7a5c2a9c72bf591a7", size = 527876, upload-time = "2022-09-09T23:05:26.67Z" }, ] [[package]] name = "certifi" -version = "2025.1.31" +version = "2025.4.26" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651", size = 167577 } +sdist = { url = "https://files.pythonhosted.org/packages/e8/9e/c05b3920a3b7d20d3d3310465f50348e5b3694f4f88c6daf736eef3024c4/certifi-2025.4.26.tar.gz", hash = "sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6", size = 160705, upload-time = "2025-04-26T02:12:29.51Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe", size = 166393 }, + { url = "https://files.pythonhosted.org/packages/4a/7e/3db2bd1b1f9e95f7cddca6d6e75e2f2bd9f51b1246e546d88addca0106bd/certifi-2025.4.26-py3-none-any.whl", hash = "sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3", size = 159618, upload-time = "2025-04-26T02:12:27.662Z" }, ] [[package]] @@ -242,284 +247,289 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pycparser" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621 } +sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621, upload-time = "2024-09-04T20:45:21.852Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/90/07/f44ca684db4e4f08a3fdc6eeb9a0d15dc6883efc7b8c90357fdbf74e186c/cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14", size = 182191 }, - { url = "https://files.pythonhosted.org/packages/08/fd/cc2fedbd887223f9f5d170c96e57cbf655df9831a6546c1727ae13fa977a/cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67", size = 178592 }, - { url = "https://files.pythonhosted.org/packages/de/cc/4635c320081c78d6ffc2cab0a76025b691a91204f4aa317d568ff9280a2d/cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382", size = 426024 }, - { url = "https://files.pythonhosted.org/packages/b6/7b/3b2b250f3aab91abe5f8a51ada1b717935fdaec53f790ad4100fe2ec64d1/cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702", size = 448188 }, - { url = "https://files.pythonhosted.org/packages/d3/48/1b9283ebbf0ec065148d8de05d647a986c5f22586b18120020452fff8f5d/cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3", size = 455571 }, - { url = "https://files.pythonhosted.org/packages/40/87/3b8452525437b40f39ca7ff70276679772ee7e8b394934ff60e63b7b090c/cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6", size = 436687 }, - { url = "https://files.pythonhosted.org/packages/8d/fb/4da72871d177d63649ac449aec2e8a29efe0274035880c7af59101ca2232/cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17", size = 446211 }, - { url = "https://files.pythonhosted.org/packages/ab/a0/62f00bcb411332106c02b663b26f3545a9ef136f80d5df746c05878f8c4b/cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8", size = 461325 }, - { url = "https://files.pythonhosted.org/packages/36/83/76127035ed2e7e27b0787604d99da630ac3123bfb02d8e80c633f218a11d/cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e", size = 438784 }, - { url = "https://files.pythonhosted.org/packages/21/81/a6cd025db2f08ac88b901b745c163d884641909641f9b826e8cb87645942/cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be", size = 461564 }, - { url = "https://files.pythonhosted.org/packages/f8/fe/4d41c2f200c4a457933dbd98d3cf4e911870877bd94d9656cc0fcb390681/cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c", size = 171804 }, - { url = "https://files.pythonhosted.org/packages/d1/b6/0b0f5ab93b0df4acc49cae758c81fe4e5ef26c3ae2e10cc69249dfd8b3ab/cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15", size = 181299 }, - { url = "https://files.pythonhosted.org/packages/6b/f4/927e3a8899e52a27fa57a48607ff7dc91a9ebe97399b357b85a0c7892e00/cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401", size = 182264 }, - { url = "https://files.pythonhosted.org/packages/6c/f5/6c3a8efe5f503175aaddcbea6ad0d2c96dad6f5abb205750d1b3df44ef29/cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf", size = 178651 }, - { url = "https://files.pythonhosted.org/packages/94/dd/a3f0118e688d1b1a57553da23b16bdade96d2f9bcda4d32e7d2838047ff7/cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4", size = 445259 }, - { url = "https://files.pythonhosted.org/packages/2e/ea/70ce63780f096e16ce8588efe039d3c4f91deb1dc01e9c73a287939c79a6/cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41", size = 469200 }, - { url = "https://files.pythonhosted.org/packages/1c/a0/a4fa9f4f781bda074c3ddd57a572b060fa0df7655d2a4247bbe277200146/cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1", size = 477235 }, - { url = "https://files.pythonhosted.org/packages/62/12/ce8710b5b8affbcdd5c6e367217c242524ad17a02fe5beec3ee339f69f85/cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6", size = 459721 }, - { url = "https://files.pythonhosted.org/packages/ff/6b/d45873c5e0242196f042d555526f92aa9e0c32355a1be1ff8c27f077fd37/cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d", size = 467242 }, - { url = "https://files.pythonhosted.org/packages/1a/52/d9a0e523a572fbccf2955f5abe883cfa8bcc570d7faeee06336fbd50c9fc/cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6", size = 477999 }, - { url = "https://files.pythonhosted.org/packages/44/74/f2a2460684a1a2d00ca799ad880d54652841a780c4c97b87754f660c7603/cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f", size = 454242 }, - { url = "https://files.pythonhosted.org/packages/f8/4a/34599cac7dfcd888ff54e801afe06a19c17787dfd94495ab0c8d35fe99fb/cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b", size = 478604 }, - { url = "https://files.pythonhosted.org/packages/34/33/e1b8a1ba29025adbdcda5fb3a36f94c03d771c1b7b12f726ff7fef2ebe36/cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655", size = 171727 }, - { url = "https://files.pythonhosted.org/packages/3d/97/50228be003bb2802627d28ec0627837ac0bf35c90cf769812056f235b2d1/cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0", size = 181400 }, - { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178 }, - { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840 }, - { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803 }, - { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850 }, - { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729 }, - { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256 }, - { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424 }, - { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568 }, - { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736 }, - { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448 }, - { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976 }, - { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989 }, - { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802 }, - { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792 }, - { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893 }, - { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810 }, - { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200 }, - { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447 }, - { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358 }, - { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469 }, - { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475 }, - { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009 }, - { url = "https://files.pythonhosted.org/packages/b9/ea/8bb50596b8ffbc49ddd7a1ad305035daa770202a6b782fc164647c2673ad/cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16", size = 182220 }, - { url = "https://files.pythonhosted.org/packages/ae/11/e77c8cd24f58285a82c23af484cf5b124a376b32644e445960d1a4654c3a/cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36", size = 178605 }, - { url = "https://files.pythonhosted.org/packages/ed/65/25a8dc32c53bf5b7b6c2686b42ae2ad58743f7ff644844af7cdb29b49361/cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8", size = 424910 }, - { url = "https://files.pythonhosted.org/packages/42/7a/9d086fab7c66bd7c4d0f27c57a1b6b068ced810afc498cc8c49e0088661c/cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576", size = 447200 }, - { url = "https://files.pythonhosted.org/packages/da/63/1785ced118ce92a993b0ec9e0d0ac8dc3e5dbfbcaa81135be56c69cabbb6/cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87", size = 454565 }, - { url = "https://files.pythonhosted.org/packages/74/06/90b8a44abf3556599cdec107f7290277ae8901a58f75e6fe8f970cd72418/cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0", size = 435635 }, - { url = "https://files.pythonhosted.org/packages/bd/62/a1f468e5708a70b1d86ead5bab5520861d9c7eacce4a885ded9faa7729c3/cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3", size = 445218 }, - { url = "https://files.pythonhosted.org/packages/5b/95/b34462f3ccb09c2594aa782d90a90b045de4ff1f70148ee79c69d37a0a5a/cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595", size = 460486 }, - { url = "https://files.pythonhosted.org/packages/fc/fc/a1e4bebd8d680febd29cf6c8a40067182b64f00c7d105f8f26b5bc54317b/cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a", size = 437911 }, - { url = "https://files.pythonhosted.org/packages/e6/c3/21cab7a6154b6a5ea330ae80de386e7665254835b9e98ecc1340b3a7de9a/cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e", size = 460632 }, - { url = "https://files.pythonhosted.org/packages/cb/b5/fd9f8b5a84010ca169ee49f4e4ad6f8c05f4e3545b72ee041dbbcb159882/cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7", size = 171820 }, - { url = "https://files.pythonhosted.org/packages/8c/52/b08750ce0bce45c143e1b5d7357ee8c55341b52bdef4b0f081af1eb248c2/cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662", size = 181290 }, + { url = "https://files.pythonhosted.org/packages/90/07/f44ca684db4e4f08a3fdc6eeb9a0d15dc6883efc7b8c90357fdbf74e186c/cffi-1.17.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:df8b1c11f177bc2313ec4b2d46baec87a5f3e71fc8b45dab2ee7cae86d9aba14", size = 182191, upload-time = "2024-09-04T20:43:30.027Z" }, + { url = "https://files.pythonhosted.org/packages/08/fd/cc2fedbd887223f9f5d170c96e57cbf655df9831a6546c1727ae13fa977a/cffi-1.17.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8f2cdc858323644ab277e9bb925ad72ae0e67f69e804f4898c070998d50b1a67", size = 178592, upload-time = "2024-09-04T20:43:32.108Z" }, + { url = "https://files.pythonhosted.org/packages/de/cc/4635c320081c78d6ffc2cab0a76025b691a91204f4aa317d568ff9280a2d/cffi-1.17.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edae79245293e15384b51f88b00613ba9f7198016a5948b5dddf4917d4d26382", size = 426024, upload-time = "2024-09-04T20:43:34.186Z" }, + { url = "https://files.pythonhosted.org/packages/b6/7b/3b2b250f3aab91abe5f8a51ada1b717935fdaec53f790ad4100fe2ec64d1/cffi-1.17.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:45398b671ac6d70e67da8e4224a065cec6a93541bb7aebe1b198a61b58c7b702", size = 448188, upload-time = "2024-09-04T20:43:36.286Z" }, + { url = "https://files.pythonhosted.org/packages/d3/48/1b9283ebbf0ec065148d8de05d647a986c5f22586b18120020452fff8f5d/cffi-1.17.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ad9413ccdeda48c5afdae7e4fa2192157e991ff761e7ab8fdd8926f40b160cc3", size = 455571, upload-time = "2024-09-04T20:43:38.586Z" }, + { url = "https://files.pythonhosted.org/packages/40/87/3b8452525437b40f39ca7ff70276679772ee7e8b394934ff60e63b7b090c/cffi-1.17.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5da5719280082ac6bd9aa7becb3938dc9f9cbd57fac7d2871717b1feb0902ab6", size = 436687, upload-time = "2024-09-04T20:43:40.084Z" }, + { url = "https://files.pythonhosted.org/packages/8d/fb/4da72871d177d63649ac449aec2e8a29efe0274035880c7af59101ca2232/cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bb1a08b8008b281856e5971307cc386a8e9c5b625ac297e853d36da6efe9c17", size = 446211, upload-time = "2024-09-04T20:43:41.526Z" }, + { url = "https://files.pythonhosted.org/packages/ab/a0/62f00bcb411332106c02b663b26f3545a9ef136f80d5df746c05878f8c4b/cffi-1.17.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:045d61c734659cc045141be4bae381a41d89b741f795af1dd018bfb532fd0df8", size = 461325, upload-time = "2024-09-04T20:43:43.117Z" }, + { url = "https://files.pythonhosted.org/packages/36/83/76127035ed2e7e27b0787604d99da630ac3123bfb02d8e80c633f218a11d/cffi-1.17.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:6883e737d7d9e4899a8a695e00ec36bd4e5e4f18fabe0aca0efe0a4b44cdb13e", size = 438784, upload-time = "2024-09-04T20:43:45.256Z" }, + { url = "https://files.pythonhosted.org/packages/21/81/a6cd025db2f08ac88b901b745c163d884641909641f9b826e8cb87645942/cffi-1.17.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:6b8b4a92e1c65048ff98cfe1f735ef8f1ceb72e3d5f0c25fdb12087a23da22be", size = 461564, upload-time = "2024-09-04T20:43:46.779Z" }, + { url = "https://files.pythonhosted.org/packages/f8/fe/4d41c2f200c4a457933dbd98d3cf4e911870877bd94d9656cc0fcb390681/cffi-1.17.1-cp310-cp310-win32.whl", hash = "sha256:c9c3d058ebabb74db66e431095118094d06abf53284d9c81f27300d0e0d8bc7c", size = 171804, upload-time = "2024-09-04T20:43:48.186Z" }, + { url = "https://files.pythonhosted.org/packages/d1/b6/0b0f5ab93b0df4acc49cae758c81fe4e5ef26c3ae2e10cc69249dfd8b3ab/cffi-1.17.1-cp310-cp310-win_amd64.whl", hash = "sha256:0f048dcf80db46f0098ccac01132761580d28e28bc0f78ae0d58048063317e15", size = 181299, upload-time = "2024-09-04T20:43:49.812Z" }, + { url = "https://files.pythonhosted.org/packages/6b/f4/927e3a8899e52a27fa57a48607ff7dc91a9ebe97399b357b85a0c7892e00/cffi-1.17.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a45e3c6913c5b87b3ff120dcdc03f6131fa0065027d0ed7ee6190736a74cd401", size = 182264, upload-time = "2024-09-04T20:43:51.124Z" }, + { url = "https://files.pythonhosted.org/packages/6c/f5/6c3a8efe5f503175aaddcbea6ad0d2c96dad6f5abb205750d1b3df44ef29/cffi-1.17.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:30c5e0cb5ae493c04c8b42916e52ca38079f1b235c2f8ae5f4527b963c401caf", size = 178651, upload-time = "2024-09-04T20:43:52.872Z" }, + { url = "https://files.pythonhosted.org/packages/94/dd/a3f0118e688d1b1a57553da23b16bdade96d2f9bcda4d32e7d2838047ff7/cffi-1.17.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f75c7ab1f9e4aca5414ed4d8e5c0e303a34f4421f8a0d47a4d019ceff0ab6af4", size = 445259, upload-time = "2024-09-04T20:43:56.123Z" }, + { url = "https://files.pythonhosted.org/packages/2e/ea/70ce63780f096e16ce8588efe039d3c4f91deb1dc01e9c73a287939c79a6/cffi-1.17.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1ed2dd2972641495a3ec98445e09766f077aee98a1c896dcb4ad0d303628e41", size = 469200, upload-time = "2024-09-04T20:43:57.891Z" }, + { url = "https://files.pythonhosted.org/packages/1c/a0/a4fa9f4f781bda074c3ddd57a572b060fa0df7655d2a4247bbe277200146/cffi-1.17.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:46bf43160c1a35f7ec506d254e5c890f3c03648a4dbac12d624e4490a7046cd1", size = 477235, upload-time = "2024-09-04T20:44:00.18Z" }, + { url = "https://files.pythonhosted.org/packages/62/12/ce8710b5b8affbcdd5c6e367217c242524ad17a02fe5beec3ee339f69f85/cffi-1.17.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a24ed04c8ffd54b0729c07cee15a81d964e6fee0e3d4d342a27b020d22959dc6", size = 459721, upload-time = "2024-09-04T20:44:01.585Z" }, + { url = "https://files.pythonhosted.org/packages/ff/6b/d45873c5e0242196f042d555526f92aa9e0c32355a1be1ff8c27f077fd37/cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:610faea79c43e44c71e1ec53a554553fa22321b65fae24889706c0a84d4ad86d", size = 467242, upload-time = "2024-09-04T20:44:03.467Z" }, + { url = "https://files.pythonhosted.org/packages/1a/52/d9a0e523a572fbccf2955f5abe883cfa8bcc570d7faeee06336fbd50c9fc/cffi-1.17.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a9b15d491f3ad5d692e11f6b71f7857e7835eb677955c00cc0aefcd0669adaf6", size = 477999, upload-time = "2024-09-04T20:44:05.023Z" }, + { url = "https://files.pythonhosted.org/packages/44/74/f2a2460684a1a2d00ca799ad880d54652841a780c4c97b87754f660c7603/cffi-1.17.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:de2ea4b5833625383e464549fec1bc395c1bdeeb5f25c4a3a82b5a8c756ec22f", size = 454242, upload-time = "2024-09-04T20:44:06.444Z" }, + { url = "https://files.pythonhosted.org/packages/f8/4a/34599cac7dfcd888ff54e801afe06a19c17787dfd94495ab0c8d35fe99fb/cffi-1.17.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:fc48c783f9c87e60831201f2cce7f3b2e4846bf4d8728eabe54d60700b318a0b", size = 478604, upload-time = "2024-09-04T20:44:08.206Z" }, + { url = "https://files.pythonhosted.org/packages/34/33/e1b8a1ba29025adbdcda5fb3a36f94c03d771c1b7b12f726ff7fef2ebe36/cffi-1.17.1-cp311-cp311-win32.whl", hash = "sha256:85a950a4ac9c359340d5963966e3e0a94a676bd6245a4b55bc43949eee26a655", size = 171727, upload-time = "2024-09-04T20:44:09.481Z" }, + { url = "https://files.pythonhosted.org/packages/3d/97/50228be003bb2802627d28ec0627837ac0bf35c90cf769812056f235b2d1/cffi-1.17.1-cp311-cp311-win_amd64.whl", hash = "sha256:caaf0640ef5f5517f49bc275eca1406b0ffa6aa184892812030f04c2abf589a0", size = 181400, upload-time = "2024-09-04T20:44:10.873Z" }, + { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178, upload-time = "2024-09-04T20:44:12.232Z" }, + { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840, upload-time = "2024-09-04T20:44:13.739Z" }, + { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803, upload-time = "2024-09-04T20:44:15.231Z" }, + { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850, upload-time = "2024-09-04T20:44:17.188Z" }, + { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729, upload-time = "2024-09-04T20:44:18.688Z" }, + { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256, upload-time = "2024-09-04T20:44:20.248Z" }, + { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424, upload-time = "2024-09-04T20:44:21.673Z" }, + { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568, upload-time = "2024-09-04T20:44:23.245Z" }, + { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736, upload-time = "2024-09-04T20:44:24.757Z" }, + { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448, upload-time = "2024-09-04T20:44:26.208Z" }, + { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976, upload-time = "2024-09-04T20:44:27.578Z" }, + { url = "https://files.pythonhosted.org/packages/8d/f8/dd6c246b148639254dad4d6803eb6a54e8c85c6e11ec9df2cffa87571dbe/cffi-1.17.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f3a2b4222ce6b60e2e8b337bb9596923045681d71e5a082783484d845390938e", size = 182989, upload-time = "2024-09-04T20:44:28.956Z" }, + { url = "https://files.pythonhosted.org/packages/8b/f1/672d303ddf17c24fc83afd712316fda78dc6fce1cd53011b839483e1ecc8/cffi-1.17.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0984a4925a435b1da406122d4d7968dd861c1385afe3b45ba82b750f229811e2", size = 178802, upload-time = "2024-09-04T20:44:30.289Z" }, + { url = "https://files.pythonhosted.org/packages/0e/2d/eab2e858a91fdff70533cab61dcff4a1f55ec60425832ddfdc9cd36bc8af/cffi-1.17.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d01b12eeeb4427d3110de311e1774046ad344f5b1a7403101878976ecd7a10f3", size = 454792, upload-time = "2024-09-04T20:44:32.01Z" }, + { url = "https://files.pythonhosted.org/packages/75/b2/fbaec7c4455c604e29388d55599b99ebcc250a60050610fadde58932b7ee/cffi-1.17.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:706510fe141c86a69c8ddc029c7910003a17353970cff3b904ff0686a5927683", size = 478893, upload-time = "2024-09-04T20:44:33.606Z" }, + { url = "https://files.pythonhosted.org/packages/4f/b7/6e4a2162178bf1935c336d4da8a9352cccab4d3a5d7914065490f08c0690/cffi-1.17.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de55b766c7aa2e2a3092c51e0483d700341182f08e67c63630d5b6f200bb28e5", size = 485810, upload-time = "2024-09-04T20:44:35.191Z" }, + { url = "https://files.pythonhosted.org/packages/c7/8a/1d0e4a9c26e54746dc08c2c6c037889124d4f59dffd853a659fa545f1b40/cffi-1.17.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c59d6e989d07460165cc5ad3c61f9fd8f1b4796eacbd81cee78957842b834af4", size = 471200, upload-time = "2024-09-04T20:44:36.743Z" }, + { url = "https://files.pythonhosted.org/packages/26/9f/1aab65a6c0db35f43c4d1b4f580e8df53914310afc10ae0397d29d697af4/cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd398dbc6773384a17fe0d3e7eeb8d1a21c2200473ee6806bb5e6a8e62bb73dd", size = 479447, upload-time = "2024-09-04T20:44:38.492Z" }, + { url = "https://files.pythonhosted.org/packages/5f/e4/fb8b3dd8dc0e98edf1135ff067ae070bb32ef9d509d6cb0f538cd6f7483f/cffi-1.17.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:3edc8d958eb099c634dace3c7e16560ae474aa3803a5df240542b305d14e14ed", size = 484358, upload-time = "2024-09-04T20:44:40.046Z" }, + { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469, upload-time = "2024-09-04T20:44:41.616Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475, upload-time = "2024-09-04T20:44:43.733Z" }, + { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009, upload-time = "2024-09-04T20:44:45.309Z" }, + { url = "https://files.pythonhosted.org/packages/b9/ea/8bb50596b8ffbc49ddd7a1ad305035daa770202a6b782fc164647c2673ad/cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16", size = 182220, upload-time = "2024-09-04T20:45:01.577Z" }, + { url = "https://files.pythonhosted.org/packages/ae/11/e77c8cd24f58285a82c23af484cf5b124a376b32644e445960d1a4654c3a/cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36", size = 178605, upload-time = "2024-09-04T20:45:03.837Z" }, + { url = "https://files.pythonhosted.org/packages/ed/65/25a8dc32c53bf5b7b6c2686b42ae2ad58743f7ff644844af7cdb29b49361/cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8", size = 424910, upload-time = "2024-09-04T20:45:05.315Z" }, + { url = "https://files.pythonhosted.org/packages/42/7a/9d086fab7c66bd7c4d0f27c57a1b6b068ced810afc498cc8c49e0088661c/cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576", size = 447200, upload-time = "2024-09-04T20:45:06.903Z" }, + { url = "https://files.pythonhosted.org/packages/da/63/1785ced118ce92a993b0ec9e0d0ac8dc3e5dbfbcaa81135be56c69cabbb6/cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87", size = 454565, upload-time = "2024-09-04T20:45:08.975Z" }, + { url = "https://files.pythonhosted.org/packages/74/06/90b8a44abf3556599cdec107f7290277ae8901a58f75e6fe8f970cd72418/cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0", size = 435635, upload-time = "2024-09-04T20:45:10.64Z" }, + { url = "https://files.pythonhosted.org/packages/bd/62/a1f468e5708a70b1d86ead5bab5520861d9c7eacce4a885ded9faa7729c3/cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3", size = 445218, upload-time = "2024-09-04T20:45:12.366Z" }, + { url = "https://files.pythonhosted.org/packages/5b/95/b34462f3ccb09c2594aa782d90a90b045de4ff1f70148ee79c69d37a0a5a/cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595", size = 460486, upload-time = "2024-09-04T20:45:13.935Z" }, + { url = "https://files.pythonhosted.org/packages/fc/fc/a1e4bebd8d680febd29cf6c8a40067182b64f00c7d105f8f26b5bc54317b/cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a", size = 437911, upload-time = "2024-09-04T20:45:15.696Z" }, + { url = "https://files.pythonhosted.org/packages/e6/c3/21cab7a6154b6a5ea330ae80de386e7665254835b9e98ecc1340b3a7de9a/cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e", size = 460632, upload-time = "2024-09-04T20:45:17.284Z" }, + { url = "https://files.pythonhosted.org/packages/cb/b5/fd9f8b5a84010ca169ee49f4e4ad6f8c05f4e3545b72ee041dbbcb159882/cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7", size = 171820, upload-time = "2024-09-04T20:45:18.762Z" }, + { url = "https://files.pythonhosted.org/packages/8c/52/b08750ce0bce45c143e1b5d7357ee8c55341b52bdef4b0f081af1eb248c2/cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662", size = 181290, upload-time = "2024-09-04T20:45:20.226Z" }, ] [[package]] name = "cfgv" version = "3.4.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/11/74/539e56497d9bd1d484fd863dd69cbbfa653cd2aa27abfe35653494d85e94/cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560", size = 7114 } +sdist = { url = "https://files.pythonhosted.org/packages/11/74/539e56497d9bd1d484fd863dd69cbbfa653cd2aa27abfe35653494d85e94/cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560", size = 7114, upload-time = "2023-08-12T20:38:17.776Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c5/55/51844dd50c4fc7a33b653bfaba4c2456f06955289ca770a5dbd5fd267374/cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9", size = 7249 }, + { url = "https://files.pythonhosted.org/packages/c5/55/51844dd50c4fc7a33b653bfaba4c2456f06955289ca770a5dbd5fd267374/cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9", size = 7249, upload-time = "2023-08-12T20:38:16.269Z" }, ] [[package]] name = "charset-normalizer" -version = "3.4.1" +version = "3.4.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/16/b0/572805e227f01586461c80e0fd25d65a2115599cc9dad142fee4b747c357/charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3", size = 123188 } +sdist = { url = "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", size = 126367, upload-time = "2025-05-02T08:34:42.01Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0d/58/5580c1716040bc89206c77d8f74418caf82ce519aae06450393ca73475d1/charset_normalizer-3.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:91b36a978b5ae0ee86c394f5a54d6ef44db1de0815eb43de826d41d21e4af3de", size = 198013 }, - { url = "https://files.pythonhosted.org/packages/d0/11/00341177ae71c6f5159a08168bcb98c6e6d196d372c94511f9f6c9afe0c6/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7461baadb4dc00fd9e0acbe254e3d7d2112e7f92ced2adc96e54ef6501c5f176", size = 141285 }, - { url = "https://files.pythonhosted.org/packages/01/09/11d684ea5819e5a8f5100fb0b38cf8d02b514746607934134d31233e02c8/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e218488cd232553829be0664c2292d3af2eeeb94b32bea483cf79ac6a694e037", size = 151449 }, - { url = "https://files.pythonhosted.org/packages/08/06/9f5a12939db324d905dc1f70591ae7d7898d030d7662f0d426e2286f68c9/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:80ed5e856eb7f30115aaf94e4a08114ccc8813e6ed1b5efa74f9f82e8509858f", size = 143892 }, - { url = "https://files.pythonhosted.org/packages/93/62/5e89cdfe04584cb7f4d36003ffa2936681b03ecc0754f8e969c2becb7e24/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b010a7a4fd316c3c484d482922d13044979e78d1861f0e0650423144c616a46a", size = 146123 }, - { url = "https://files.pythonhosted.org/packages/a9/ac/ab729a15c516da2ab70a05f8722ecfccc3f04ed7a18e45c75bbbaa347d61/charset_normalizer-3.4.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4532bff1b8421fd0a320463030c7520f56a79c9024a4e88f01c537316019005a", size = 147943 }, - { url = "https://files.pythonhosted.org/packages/03/d2/3f392f23f042615689456e9a274640c1d2e5dd1d52de36ab8f7955f8f050/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d973f03c0cb71c5ed99037b870f2be986c3c05e63622c017ea9816881d2dd247", size = 142063 }, - { url = "https://files.pythonhosted.org/packages/f2/e3/e20aae5e1039a2cd9b08d9205f52142329f887f8cf70da3650326670bddf/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3a3bd0dcd373514dcec91c411ddb9632c0d7d92aed7093b8c3bbb6d69ca74408", size = 150578 }, - { url = "https://files.pythonhosted.org/packages/8d/af/779ad72a4da0aed925e1139d458adc486e61076d7ecdcc09e610ea8678db/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:d9c3cdf5390dcd29aa8056d13e8e99526cda0305acc038b96b30352aff5ff2bb", size = 153629 }, - { url = "https://files.pythonhosted.org/packages/c2/b6/7aa450b278e7aa92cf7732140bfd8be21f5f29d5bf334ae987c945276639/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2bdfe3ac2e1bbe5b59a1a63721eb3b95fc9b6817ae4a46debbb4e11f6232428d", size = 150778 }, - { url = "https://files.pythonhosted.org/packages/39/f4/d9f4f712d0951dcbfd42920d3db81b00dd23b6ab520419626f4023334056/charset_normalizer-3.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:eab677309cdb30d047996b36d34caeda1dc91149e4fdca0b1a039b3f79d9a807", size = 146453 }, - { url = "https://files.pythonhosted.org/packages/49/2b/999d0314e4ee0cff3cb83e6bc9aeddd397eeed693edb4facb901eb8fbb69/charset_normalizer-3.4.1-cp310-cp310-win32.whl", hash = "sha256:c0429126cf75e16c4f0ad00ee0eae4242dc652290f940152ca8c75c3a4b6ee8f", size = 95479 }, - { url = "https://files.pythonhosted.org/packages/2d/ce/3cbed41cff67e455a386fb5e5dd8906cdda2ed92fbc6297921f2e4419309/charset_normalizer-3.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:9f0b8b1c6d84c8034a44893aba5e767bf9c7a211e313a9605d9c617d7083829f", size = 102790 }, - { url = "https://files.pythonhosted.org/packages/72/80/41ef5d5a7935d2d3a773e3eaebf0a9350542f2cab4eac59a7a4741fbbbbe/charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125", size = 194995 }, - { url = "https://files.pythonhosted.org/packages/7a/28/0b9fefa7b8b080ec492110af6d88aa3dea91c464b17d53474b6e9ba5d2c5/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1", size = 139471 }, - { url = "https://files.pythonhosted.org/packages/71/64/d24ab1a997efb06402e3fc07317e94da358e2585165930d9d59ad45fcae2/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3", size = 149831 }, - { url = "https://files.pythonhosted.org/packages/37/ed/be39e5258e198655240db5e19e0b11379163ad7070962d6b0c87ed2c4d39/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd", size = 142335 }, - { url = "https://files.pythonhosted.org/packages/88/83/489e9504711fa05d8dde1574996408026bdbdbd938f23be67deebb5eca92/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00", size = 143862 }, - { url = "https://files.pythonhosted.org/packages/c6/c7/32da20821cf387b759ad24627a9aca289d2822de929b8a41b6241767b461/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12", size = 145673 }, - { url = "https://files.pythonhosted.org/packages/68/85/f4288e96039abdd5aeb5c546fa20a37b50da71b5cf01e75e87f16cd43304/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77", size = 140211 }, - { url = "https://files.pythonhosted.org/packages/28/a3/a42e70d03cbdabc18997baf4f0227c73591a08041c149e710045c281f97b/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146", size = 148039 }, - { url = "https://files.pythonhosted.org/packages/85/e4/65699e8ab3014ecbe6f5c71d1a55d810fb716bbfd74f6283d5c2aa87febf/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd", size = 151939 }, - { url = "https://files.pythonhosted.org/packages/b1/82/8e9fe624cc5374193de6860aba3ea8070f584c8565ee77c168ec13274bd2/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6", size = 149075 }, - { url = "https://files.pythonhosted.org/packages/3d/7b/82865ba54c765560c8433f65e8acb9217cb839a9e32b42af4aa8e945870f/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8", size = 144340 }, - { url = "https://files.pythonhosted.org/packages/b5/b6/9674a4b7d4d99a0d2df9b215da766ee682718f88055751e1e5e753c82db0/charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b", size = 95205 }, - { url = "https://files.pythonhosted.org/packages/1e/ab/45b180e175de4402dcf7547e4fb617283bae54ce35c27930a6f35b6bef15/charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76", size = 102441 }, - { url = "https://files.pythonhosted.org/packages/0a/9a/dd1e1cdceb841925b7798369a09279bd1cf183cef0f9ddf15a3a6502ee45/charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545", size = 196105 }, - { url = "https://files.pythonhosted.org/packages/d3/8c/90bfabf8c4809ecb648f39794cf2a84ff2e7d2a6cf159fe68d9a26160467/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7", size = 140404 }, - { url = "https://files.pythonhosted.org/packages/ad/8f/e410d57c721945ea3b4f1a04b74f70ce8fa800d393d72899f0a40526401f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757", size = 150423 }, - { url = "https://files.pythonhosted.org/packages/f0/b8/e6825e25deb691ff98cf5c9072ee0605dc2acfca98af70c2d1b1bc75190d/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa", size = 143184 }, - { url = "https://files.pythonhosted.org/packages/3e/a2/513f6cbe752421f16d969e32f3583762bfd583848b763913ddab8d9bfd4f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d", size = 145268 }, - { url = "https://files.pythonhosted.org/packages/74/94/8a5277664f27c3c438546f3eb53b33f5b19568eb7424736bdc440a88a31f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616", size = 147601 }, - { url = "https://files.pythonhosted.org/packages/7c/5f/6d352c51ee763623a98e31194823518e09bfa48be2a7e8383cf691bbb3d0/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b", size = 141098 }, - { url = "https://files.pythonhosted.org/packages/78/d4/f5704cb629ba5ab16d1d3d741396aec6dc3ca2b67757c45b0599bb010478/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d", size = 149520 }, - { url = "https://files.pythonhosted.org/packages/c5/96/64120b1d02b81785f222b976c0fb79a35875457fa9bb40827678e54d1bc8/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a", size = 152852 }, - { url = "https://files.pythonhosted.org/packages/84/c9/98e3732278a99f47d487fd3468bc60b882920cef29d1fa6ca460a1fdf4e6/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9", size = 150488 }, - { url = "https://files.pythonhosted.org/packages/13/0e/9c8d4cb99c98c1007cc11eda969ebfe837bbbd0acdb4736d228ccaabcd22/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1", size = 146192 }, - { url = "https://files.pythonhosted.org/packages/b2/21/2b6b5b860781a0b49427309cb8670785aa543fb2178de875b87b9cc97746/charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35", size = 95550 }, - { url = "https://files.pythonhosted.org/packages/21/5b/1b390b03b1d16c7e382b561c5329f83cc06623916aab983e8ab9239c7d5c/charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f", size = 102785 }, - { url = "https://files.pythonhosted.org/packages/38/94/ce8e6f63d18049672c76d07d119304e1e2d7c6098f0841b51c666e9f44a0/charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda", size = 195698 }, - { url = "https://files.pythonhosted.org/packages/24/2e/dfdd9770664aae179a96561cc6952ff08f9a8cd09a908f259a9dfa063568/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313", size = 140162 }, - { url = "https://files.pythonhosted.org/packages/24/4e/f646b9093cff8fc86f2d60af2de4dc17c759de9d554f130b140ea4738ca6/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9", size = 150263 }, - { url = "https://files.pythonhosted.org/packages/5e/67/2937f8d548c3ef6e2f9aab0f6e21001056f692d43282b165e7c56023e6dd/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b", size = 142966 }, - { url = "https://files.pythonhosted.org/packages/52/ed/b7f4f07de100bdb95c1756d3a4d17b90c1a3c53715c1a476f8738058e0fa/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11", size = 144992 }, - { url = "https://files.pythonhosted.org/packages/96/2c/d49710a6dbcd3776265f4c923bb73ebe83933dfbaa841c5da850fe0fd20b/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f", size = 147162 }, - { url = "https://files.pythonhosted.org/packages/b4/41/35ff1f9a6bd380303dea55e44c4933b4cc3c4850988927d4082ada230273/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd", size = 140972 }, - { url = "https://files.pythonhosted.org/packages/fb/43/c6a0b685fe6910d08ba971f62cd9c3e862a85770395ba5d9cad4fede33ab/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2", size = 149095 }, - { url = "https://files.pythonhosted.org/packages/4c/ff/a9a504662452e2d2878512115638966e75633519ec11f25fca3d2049a94a/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886", size = 152668 }, - { url = "https://files.pythonhosted.org/packages/6c/71/189996b6d9a4b932564701628af5cee6716733e9165af1d5e1b285c530ed/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601", size = 150073 }, - { url = "https://files.pythonhosted.org/packages/e4/93/946a86ce20790e11312c87c75ba68d5f6ad2208cfb52b2d6a2c32840d922/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd", size = 145732 }, - { url = "https://files.pythonhosted.org/packages/cd/e5/131d2fb1b0dddafc37be4f3a2fa79aa4c037368be9423061dccadfd90091/charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407", size = 95391 }, - { url = "https://files.pythonhosted.org/packages/27/f2/4f9a69cc7712b9b5ad8fdb87039fd89abba997ad5cbe690d1835d40405b0/charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971", size = 102702 }, - { url = "https://files.pythonhosted.org/packages/7f/c0/b913f8f02836ed9ab32ea643c6fe4d3325c3d8627cf6e78098671cafff86/charset_normalizer-3.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b97e690a2118911e39b4042088092771b4ae3fc3aa86518f84b8cf6888dbdb41", size = 197867 }, - { url = "https://files.pythonhosted.org/packages/0f/6c/2bee440303d705b6fb1e2ec789543edec83d32d258299b16eed28aad48e0/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78baa6d91634dfb69ec52a463534bc0df05dbd546209b79a3880a34487f4b84f", size = 141385 }, - { url = "https://files.pythonhosted.org/packages/3d/04/cb42585f07f6f9fd3219ffb6f37d5a39b4fd2db2355b23683060029c35f7/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1a2bc9f351a75ef49d664206d51f8e5ede9da246602dc2d2726837620ea034b2", size = 151367 }, - { url = "https://files.pythonhosted.org/packages/54/54/2412a5b093acb17f0222de007cc129ec0e0df198b5ad2ce5699355269dfe/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:75832c08354f595c760a804588b9357d34ec00ba1c940c15e31e96d902093770", size = 143928 }, - { url = "https://files.pythonhosted.org/packages/5a/6d/e2773862b043dcf8a221342954f375392bb2ce6487bcd9f2c1b34e1d6781/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af291f4fe114be0280cdd29d533696a77b5b49cfde5467176ecab32353395c4", size = 146203 }, - { url = "https://files.pythonhosted.org/packages/b9/f8/ca440ef60d8f8916022859885f231abb07ada3c347c03d63f283bec32ef5/charset_normalizer-3.4.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0167ddc8ab6508fe81860a57dd472b2ef4060e8d378f0cc555707126830f2537", size = 148082 }, - { url = "https://files.pythonhosted.org/packages/04/d2/42fd330901aaa4b805a1097856c2edf5095e260a597f65def493f4b8c833/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2a75d49014d118e4198bcee5ee0a6f25856b29b12dbf7cd012791f8a6cc5c496", size = 142053 }, - { url = "https://files.pythonhosted.org/packages/9e/af/3a97a4fa3c53586f1910dadfc916e9c4f35eeada36de4108f5096cb7215f/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363e2f92b0f0174b2f8238240a1a30142e3db7b957a5dd5689b0e75fb717cc78", size = 150625 }, - { url = "https://files.pythonhosted.org/packages/26/ae/23d6041322a3556e4da139663d02fb1b3c59a23ab2e2b56432bd2ad63ded/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ab36c8eb7e454e34e60eb55ca5d241a5d18b2c6244f6827a30e451c42410b5f7", size = 153549 }, - { url = "https://files.pythonhosted.org/packages/94/22/b8f2081c6a77cb20d97e57e0b385b481887aa08019d2459dc2858ed64871/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:4c0907b1928a36d5a998d72d64d8eaa7244989f7aaaf947500d3a800c83a3fd6", size = 150945 }, - { url = "https://files.pythonhosted.org/packages/c7/0b/c5ec5092747f801b8b093cdf5610e732b809d6cb11f4c51e35fc28d1d389/charset_normalizer-3.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:04432ad9479fa40ec0f387795ddad4437a2b50417c69fa275e212933519ff294", size = 146595 }, - { url = "https://files.pythonhosted.org/packages/0c/5a/0b59704c38470df6768aa154cc87b1ac7c9bb687990a1559dc8765e8627e/charset_normalizer-3.4.1-cp39-cp39-win32.whl", hash = "sha256:3bed14e9c89dcb10e8f3a29f9ccac4955aebe93c71ae803af79265c9ca5644c5", size = 95453 }, - { url = "https://files.pythonhosted.org/packages/85/2d/a9790237cb4d01a6d57afadc8573c8b73c609ade20b80f4cda30802009ee/charset_normalizer-3.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:49402233c892a461407c512a19435d1ce275543138294f7ef013f0b63d5d3765", size = 102811 }, - { url = "https://files.pythonhosted.org/packages/0e/f6/65ecc6878a89bb1c23a086ea335ad4bf21a588990c3f535a227b9eea9108/charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85", size = 49767 }, + { url = "https://files.pythonhosted.org/packages/95/28/9901804da60055b406e1a1c5ba7aac1276fb77f1dde635aabfc7fd84b8ab/charset_normalizer-3.4.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7c48ed483eb946e6c04ccbe02c6b4d1d48e51944b6db70f697e089c193404941", size = 201818, upload-time = "2025-05-02T08:31:46.725Z" }, + { url = "https://files.pythonhosted.org/packages/d9/9b/892a8c8af9110935e5adcbb06d9c6fe741b6bb02608c6513983048ba1a18/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b2d318c11350e10662026ad0eb71bb51c7812fc8590825304ae0bdd4ac283acd", size = 144649, upload-time = "2025-05-02T08:31:48.889Z" }, + { url = "https://files.pythonhosted.org/packages/7b/a5/4179abd063ff6414223575e008593861d62abfc22455b5d1a44995b7c101/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9cbfacf36cb0ec2897ce0ebc5d08ca44213af24265bd56eca54bee7923c48fd6", size = 155045, upload-time = "2025-05-02T08:31:50.757Z" }, + { url = "https://files.pythonhosted.org/packages/3b/95/bc08c7dfeddd26b4be8c8287b9bb055716f31077c8b0ea1cd09553794665/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18dd2e350387c87dabe711b86f83c9c78af772c748904d372ade190b5c7c9d4d", size = 147356, upload-time = "2025-05-02T08:31:52.634Z" }, + { url = "https://files.pythonhosted.org/packages/a8/2d/7a5b635aa65284bf3eab7653e8b4151ab420ecbae918d3e359d1947b4d61/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8075c35cd58273fee266c58c0c9b670947c19df5fb98e7b66710e04ad4e9ff86", size = 149471, upload-time = "2025-05-02T08:31:56.207Z" }, + { url = "https://files.pythonhosted.org/packages/ae/38/51fc6ac74251fd331a8cfdb7ec57beba8c23fd5493f1050f71c87ef77ed0/charset_normalizer-3.4.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5bf4545e3b962767e5c06fe1738f951f77d27967cb2caa64c28be7c4563e162c", size = 151317, upload-time = "2025-05-02T08:31:57.613Z" }, + { url = "https://files.pythonhosted.org/packages/b7/17/edee1e32215ee6e9e46c3e482645b46575a44a2d72c7dfd49e49f60ce6bf/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7a6ab32f7210554a96cd9e33abe3ddd86732beeafc7a28e9955cdf22ffadbab0", size = 146368, upload-time = "2025-05-02T08:31:59.468Z" }, + { url = "https://files.pythonhosted.org/packages/26/2c/ea3e66f2b5f21fd00b2825c94cafb8c326ea6240cd80a91eb09e4a285830/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b33de11b92e9f75a2b545d6e9b6f37e398d86c3e9e9653c4864eb7e89c5773ef", size = 154491, upload-time = "2025-05-02T08:32:01.219Z" }, + { url = "https://files.pythonhosted.org/packages/52/47/7be7fa972422ad062e909fd62460d45c3ef4c141805b7078dbab15904ff7/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8755483f3c00d6c9a77f490c17e6ab0c8729e39e6390328e42521ef175380ae6", size = 157695, upload-time = "2025-05-02T08:32:03.045Z" }, + { url = "https://files.pythonhosted.org/packages/2f/42/9f02c194da282b2b340f28e5fb60762de1151387a36842a92b533685c61e/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:68a328e5f55ec37c57f19ebb1fdc56a248db2e3e9ad769919a58672958e8f366", size = 154849, upload-time = "2025-05-02T08:32:04.651Z" }, + { url = "https://files.pythonhosted.org/packages/67/44/89cacd6628f31fb0b63201a618049be4be2a7435a31b55b5eb1c3674547a/charset_normalizer-3.4.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:21b2899062867b0e1fde9b724f8aecb1af14f2778d69aacd1a5a1853a597a5db", size = 150091, upload-time = "2025-05-02T08:32:06.719Z" }, + { url = "https://files.pythonhosted.org/packages/1f/79/4b8da9f712bc079c0f16b6d67b099b0b8d808c2292c937f267d816ec5ecc/charset_normalizer-3.4.2-cp310-cp310-win32.whl", hash = "sha256:e8082b26888e2f8b36a042a58307d5b917ef2b1cacab921ad3323ef91901c71a", size = 98445, upload-time = "2025-05-02T08:32:08.66Z" }, + { url = "https://files.pythonhosted.org/packages/7d/d7/96970afb4fb66497a40761cdf7bd4f6fca0fc7bafde3a84f836c1f57a926/charset_normalizer-3.4.2-cp310-cp310-win_amd64.whl", hash = "sha256:f69a27e45c43520f5487f27627059b64aaf160415589230992cec34c5e18a509", size = 105782, upload-time = "2025-05-02T08:32:10.46Z" }, + { url = "https://files.pythonhosted.org/packages/05/85/4c40d00dcc6284a1c1ad5de5e0996b06f39d8232f1031cd23c2f5c07ee86/charset_normalizer-3.4.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:be1e352acbe3c78727a16a455126d9ff83ea2dfdcbc83148d2982305a04714c2", size = 198794, upload-time = "2025-05-02T08:32:11.945Z" }, + { url = "https://files.pythonhosted.org/packages/41/d9/7a6c0b9db952598e97e93cbdfcb91bacd89b9b88c7c983250a77c008703c/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa88ca0b1932e93f2d961bf3addbb2db902198dca337d88c89e1559e066e7645", size = 142846, upload-time = "2025-05-02T08:32:13.946Z" }, + { url = "https://files.pythonhosted.org/packages/66/82/a37989cda2ace7e37f36c1a8ed16c58cf48965a79c2142713244bf945c89/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d524ba3f1581b35c03cb42beebab4a13e6cdad7b36246bd22541fa585a56cccd", size = 153350, upload-time = "2025-05-02T08:32:15.873Z" }, + { url = "https://files.pythonhosted.org/packages/df/68/a576b31b694d07b53807269d05ec3f6f1093e9545e8607121995ba7a8313/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28a1005facc94196e1fb3e82a3d442a9d9110b8434fc1ded7a24a2983c9888d8", size = 145657, upload-time = "2025-05-02T08:32:17.283Z" }, + { url = "https://files.pythonhosted.org/packages/92/9b/ad67f03d74554bed3aefd56fe836e1623a50780f7c998d00ca128924a499/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fdb20a30fe1175ecabed17cbf7812f7b804b8a315a25f24678bcdf120a90077f", size = 147260, upload-time = "2025-05-02T08:32:18.807Z" }, + { url = "https://files.pythonhosted.org/packages/a6/e6/8aebae25e328160b20e31a7e9929b1578bbdc7f42e66f46595a432f8539e/charset_normalizer-3.4.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0f5d9ed7f254402c9e7d35d2f5972c9bbea9040e99cd2861bd77dc68263277c7", size = 149164, upload-time = "2025-05-02T08:32:20.333Z" }, + { url = "https://files.pythonhosted.org/packages/8b/f2/b3c2f07dbcc248805f10e67a0262c93308cfa149a4cd3d1fe01f593e5fd2/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:efd387a49825780ff861998cd959767800d54f8308936b21025326de4b5a42b9", size = 144571, upload-time = "2025-05-02T08:32:21.86Z" }, + { url = "https://files.pythonhosted.org/packages/60/5b/c3f3a94bc345bc211622ea59b4bed9ae63c00920e2e8f11824aa5708e8b7/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f0aa37f3c979cf2546b73e8222bbfa3dc07a641585340179d768068e3455e544", size = 151952, upload-time = "2025-05-02T08:32:23.434Z" }, + { url = "https://files.pythonhosted.org/packages/e2/4d/ff460c8b474122334c2fa394a3f99a04cf11c646da895f81402ae54f5c42/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e70e990b2137b29dc5564715de1e12701815dacc1d056308e2b17e9095372a82", size = 155959, upload-time = "2025-05-02T08:32:24.993Z" }, + { url = "https://files.pythonhosted.org/packages/a2/2b/b964c6a2fda88611a1fe3d4c400d39c66a42d6c169c924818c848f922415/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0c8c57f84ccfc871a48a47321cfa49ae1df56cd1d965a09abe84066f6853b9c0", size = 153030, upload-time = "2025-05-02T08:32:26.435Z" }, + { url = "https://files.pythonhosted.org/packages/59/2e/d3b9811db26a5ebf444bc0fa4f4be5aa6d76fc6e1c0fd537b16c14e849b6/charset_normalizer-3.4.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6b66f92b17849b85cad91259efc341dce9c1af48e2173bf38a85c6329f1033e5", size = 148015, upload-time = "2025-05-02T08:32:28.376Z" }, + { url = "https://files.pythonhosted.org/packages/90/07/c5fd7c11eafd561bb51220d600a788f1c8d77c5eef37ee49454cc5c35575/charset_normalizer-3.4.2-cp311-cp311-win32.whl", hash = "sha256:daac4765328a919a805fa5e2720f3e94767abd632ae410a9062dff5412bae65a", size = 98106, upload-time = "2025-05-02T08:32:30.281Z" }, + { url = "https://files.pythonhosted.org/packages/a8/05/5e33dbef7e2f773d672b6d79f10ec633d4a71cd96db6673625838a4fd532/charset_normalizer-3.4.2-cp311-cp311-win_amd64.whl", hash = "sha256:e53efc7c7cee4c1e70661e2e112ca46a575f90ed9ae3fef200f2a25e954f4b28", size = 105402, upload-time = "2025-05-02T08:32:32.191Z" }, + { url = "https://files.pythonhosted.org/packages/d7/a4/37f4d6035c89cac7930395a35cc0f1b872e652eaafb76a6075943754f095/charset_normalizer-3.4.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7", size = 199936, upload-time = "2025-05-02T08:32:33.712Z" }, + { url = "https://files.pythonhosted.org/packages/ee/8a/1a5e33b73e0d9287274f899d967907cd0bf9c343e651755d9307e0dbf2b3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3", size = 143790, upload-time = "2025-05-02T08:32:35.768Z" }, + { url = "https://files.pythonhosted.org/packages/66/52/59521f1d8e6ab1482164fa21409c5ef44da3e9f653c13ba71becdd98dec3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a", size = 153924, upload-time = "2025-05-02T08:32:37.284Z" }, + { url = "https://files.pythonhosted.org/packages/86/2d/fb55fdf41964ec782febbf33cb64be480a6b8f16ded2dbe8db27a405c09f/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214", size = 146626, upload-time = "2025-05-02T08:32:38.803Z" }, + { url = "https://files.pythonhosted.org/packages/8c/73/6ede2ec59bce19b3edf4209d70004253ec5f4e319f9a2e3f2f15601ed5f7/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a", size = 148567, upload-time = "2025-05-02T08:32:40.251Z" }, + { url = "https://files.pythonhosted.org/packages/09/14/957d03c6dc343c04904530b6bef4e5efae5ec7d7990a7cbb868e4595ee30/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd", size = 150957, upload-time = "2025-05-02T08:32:41.705Z" }, + { url = "https://files.pythonhosted.org/packages/0d/c8/8174d0e5c10ccebdcb1b53cc959591c4c722a3ad92461a273e86b9f5a302/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981", size = 145408, upload-time = "2025-05-02T08:32:43.709Z" }, + { url = "https://files.pythonhosted.org/packages/58/aa/8904b84bc8084ac19dc52feb4f5952c6df03ffb460a887b42615ee1382e8/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c", size = 153399, upload-time = "2025-05-02T08:32:46.197Z" }, + { url = "https://files.pythonhosted.org/packages/c2/26/89ee1f0e264d201cb65cf054aca6038c03b1a0c6b4ae998070392a3ce605/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b", size = 156815, upload-time = "2025-05-02T08:32:48.105Z" }, + { url = "https://files.pythonhosted.org/packages/fd/07/68e95b4b345bad3dbbd3a8681737b4338ff2c9df29856a6d6d23ac4c73cb/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d", size = 154537, upload-time = "2025-05-02T08:32:49.719Z" }, + { url = "https://files.pythonhosted.org/packages/77/1a/5eefc0ce04affb98af07bc05f3bac9094513c0e23b0562d64af46a06aae4/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f", size = 149565, upload-time = "2025-05-02T08:32:51.404Z" }, + { url = "https://files.pythonhosted.org/packages/37/a0/2410e5e6032a174c95e0806b1a6585eb21e12f445ebe239fac441995226a/charset_normalizer-3.4.2-cp312-cp312-win32.whl", hash = "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c", size = 98357, upload-time = "2025-05-02T08:32:53.079Z" }, + { url = "https://files.pythonhosted.org/packages/6c/4f/c02d5c493967af3eda9c771ad4d2bbc8df6f99ddbeb37ceea6e8716a32bc/charset_normalizer-3.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e", size = 105776, upload-time = "2025-05-02T08:32:54.573Z" }, + { url = "https://files.pythonhosted.org/packages/ea/12/a93df3366ed32db1d907d7593a94f1fe6293903e3e92967bebd6950ed12c/charset_normalizer-3.4.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:926ca93accd5d36ccdabd803392ddc3e03e6d4cd1cf17deff3b989ab8e9dbcf0", size = 199622, upload-time = "2025-05-02T08:32:56.363Z" }, + { url = "https://files.pythonhosted.org/packages/04/93/bf204e6f344c39d9937d3c13c8cd5bbfc266472e51fc8c07cb7f64fcd2de/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eba9904b0f38a143592d9fc0e19e2df0fa2e41c3c3745554761c5f6447eedabf", size = 143435, upload-time = "2025-05-02T08:32:58.551Z" }, + { url = "https://files.pythonhosted.org/packages/22/2a/ea8a2095b0bafa6c5b5a55ffdc2f924455233ee7b91c69b7edfcc9e02284/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3fddb7e2c84ac87ac3a947cb4e66d143ca5863ef48e4a5ecb83bd48619e4634e", size = 153653, upload-time = "2025-05-02T08:33:00.342Z" }, + { url = "https://files.pythonhosted.org/packages/b6/57/1b090ff183d13cef485dfbe272e2fe57622a76694061353c59da52c9a659/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98f862da73774290f251b9df8d11161b6cf25b599a66baf087c1ffe340e9bfd1", size = 146231, upload-time = "2025-05-02T08:33:02.081Z" }, + { url = "https://files.pythonhosted.org/packages/e2/28/ffc026b26f441fc67bd21ab7f03b313ab3fe46714a14b516f931abe1a2d8/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c9379d65defcab82d07b2a9dfbfc2e95bc8fe0ebb1b176a3190230a3ef0e07c", size = 148243, upload-time = "2025-05-02T08:33:04.063Z" }, + { url = "https://files.pythonhosted.org/packages/c0/0f/9abe9bd191629c33e69e47c6ef45ef99773320e9ad8e9cb08b8ab4a8d4cb/charset_normalizer-3.4.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e635b87f01ebc977342e2697d05b56632f5f879a4f15955dfe8cef2448b51691", size = 150442, upload-time = "2025-05-02T08:33:06.418Z" }, + { url = "https://files.pythonhosted.org/packages/67/7c/a123bbcedca91d5916c056407f89a7f5e8fdfce12ba825d7d6b9954a1a3c/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:1c95a1e2902a8b722868587c0e1184ad5c55631de5afc0eb96bc4b0d738092c0", size = 145147, upload-time = "2025-05-02T08:33:08.183Z" }, + { url = "https://files.pythonhosted.org/packages/ec/fe/1ac556fa4899d967b83e9893788e86b6af4d83e4726511eaaad035e36595/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ef8de666d6179b009dce7bcb2ad4c4a779f113f12caf8dc77f0162c29d20490b", size = 153057, upload-time = "2025-05-02T08:33:09.986Z" }, + { url = "https://files.pythonhosted.org/packages/2b/ff/acfc0b0a70b19e3e54febdd5301a98b72fa07635e56f24f60502e954c461/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:32fc0341d72e0f73f80acb0a2c94216bd704f4f0bce10aedea38f30502b271ff", size = 156454, upload-time = "2025-05-02T08:33:11.814Z" }, + { url = "https://files.pythonhosted.org/packages/92/08/95b458ce9c740d0645feb0e96cea1f5ec946ea9c580a94adfe0b617f3573/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:289200a18fa698949d2b39c671c2cc7a24d44096784e76614899a7ccf2574b7b", size = 154174, upload-time = "2025-05-02T08:33:13.707Z" }, + { url = "https://files.pythonhosted.org/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", size = 149166, upload-time = "2025-05-02T08:33:15.458Z" }, + { url = "https://files.pythonhosted.org/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", size = 98064, upload-time = "2025-05-02T08:33:17.06Z" }, + { url = "https://files.pythonhosted.org/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", size = 105641, upload-time = "2025-05-02T08:33:18.753Z" }, + { url = "https://files.pythonhosted.org/packages/28/f8/dfb01ff6cc9af38552c69c9027501ff5a5117c4cc18dcd27cb5259fa1888/charset_normalizer-3.4.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:005fa3432484527f9732ebd315da8da8001593e2cf46a3d817669f062c3d9ed4", size = 201671, upload-time = "2025-05-02T08:34:12.696Z" }, + { url = "https://files.pythonhosted.org/packages/32/fb/74e26ee556a9dbfe3bd264289b67be1e6d616329403036f6507bb9f3f29c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e92fca20c46e9f5e1bb485887d074918b13543b1c2a1185e69bb8d17ab6236a7", size = 144744, upload-time = "2025-05-02T08:34:14.665Z" }, + { url = "https://files.pythonhosted.org/packages/ad/06/8499ee5aa7addc6f6d72e068691826ff093329fe59891e83b092ae4c851c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:50bf98d5e563b83cc29471fa114366e6806bc06bc7a25fd59641e41445327836", size = 154993, upload-time = "2025-05-02T08:34:17.134Z" }, + { url = "https://files.pythonhosted.org/packages/f1/a2/5e4c187680728219254ef107a6949c60ee0e9a916a5dadb148c7ae82459c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:721c76e84fe669be19c5791da68232ca2e05ba5185575086e384352e2c309597", size = 147382, upload-time = "2025-05-02T08:34:19.081Z" }, + { url = "https://files.pythonhosted.org/packages/4c/fe/56aca740dda674f0cc1ba1418c4d84534be51f639b5f98f538b332dc9a95/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82d8fd25b7f4675d0c47cf95b594d4e7b158aca33b76aa63d07186e13c0e0ab7", size = 149536, upload-time = "2025-05-02T08:34:21.073Z" }, + { url = "https://files.pythonhosted.org/packages/53/13/db2e7779f892386b589173dd689c1b1e304621c5792046edd8a978cbf9e0/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3daeac64d5b371dea99714f08ffc2c208522ec6b06fbc7866a450dd446f5c0f", size = 151349, upload-time = "2025-05-02T08:34:23.193Z" }, + { url = "https://files.pythonhosted.org/packages/69/35/e52ab9a276186f729bce7a0638585d2982f50402046e4b0faa5d2c3ef2da/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dccab8d5fa1ef9bfba0590ecf4d46df048d18ffe3eec01eeb73a42e0d9e7a8ba", size = 146365, upload-time = "2025-05-02T08:34:25.187Z" }, + { url = "https://files.pythonhosted.org/packages/a6/d8/af7333f732fc2e7635867d56cb7c349c28c7094910c72267586947561b4b/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:aaf27faa992bfee0264dc1f03f4c75e9fcdda66a519db6b957a3f826e285cf12", size = 154499, upload-time = "2025-05-02T08:34:27.359Z" }, + { url = "https://files.pythonhosted.org/packages/7a/3d/a5b2e48acef264d71e036ff30bcc49e51bde80219bb628ba3e00cf59baac/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:eb30abc20df9ab0814b5a2524f23d75dcf83cde762c161917a2b4b7b55b1e518", size = 157735, upload-time = "2025-05-02T08:34:29.798Z" }, + { url = "https://files.pythonhosted.org/packages/85/d8/23e2c112532a29f3eef374375a8684a4f3b8e784f62b01da931186f43494/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:c72fbbe68c6f32f251bdc08b8611c7b3060612236e960ef848e0a517ddbe76c5", size = 154786, upload-time = "2025-05-02T08:34:31.858Z" }, + { url = "https://files.pythonhosted.org/packages/c7/57/93e0169f08ecc20fe82d12254a200dfaceddc1c12a4077bf454ecc597e33/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:982bb1e8b4ffda883b3d0a521e23abcd6fd17418f6d2c4118d257a10199c0ce3", size = 150203, upload-time = "2025-05-02T08:34:33.88Z" }, + { url = "https://files.pythonhosted.org/packages/2c/9d/9bf2b005138e7e060d7ebdec7503d0ef3240141587651f4b445bdf7286c2/charset_normalizer-3.4.2-cp39-cp39-win32.whl", hash = "sha256:43e0933a0eff183ee85833f341ec567c0980dae57c464d8a508e1b2ceb336471", size = 98436, upload-time = "2025-05-02T08:34:35.907Z" }, + { url = "https://files.pythonhosted.org/packages/6d/24/5849d46cf4311bbf21b424c443b09b459f5b436b1558c04e45dbb7cc478b/charset_normalizer-3.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:d11b54acf878eef558599658b0ffca78138c8c3655cf4f3a4a673c437e67732e", size = 105772, upload-time = "2025-05-02T08:34:37.935Z" }, + { url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626, upload-time = "2025-05-02T08:34:40.053Z" }, ] [[package]] name = "colorama" version = "0.4.6" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697 } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 }, + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, ] [[package]] name = "cryptography" -version = "44.0.2" +version = "45.0.4" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cffi", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/cd/25/4ce80c78963834b8a9fd1cc1266be5ed8d1840785c0f2e1b73b8d128d505/cryptography-44.0.2.tar.gz", hash = "sha256:c63454aa261a0cf0c5b4718349629793e9e634993538db841165b3df74f37ec0", size = 710807 } +sdist = { url = "https://files.pythonhosted.org/packages/fe/c8/a2a376a8711c1e11708b9c9972e0c3223f5fc682552c82d8db844393d6ce/cryptography-45.0.4.tar.gz", hash = "sha256:7405ade85c83c37682c8fe65554759800a4a8c54b2d96e0f8ad114d31b808d57", size = 744890, upload-time = "2025-06-10T00:03:51.297Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/92/ef/83e632cfa801b221570c5f58c0369db6fa6cef7d9ff859feab1aae1a8a0f/cryptography-44.0.2-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:efcfe97d1b3c79e486554efddeb8f6f53a4cdd4cf6086642784fa31fc384e1d7", size = 6676361 }, - { url = "https://files.pythonhosted.org/packages/30/ec/7ea7c1e4c8fc8329506b46c6c4a52e2f20318425d48e0fe597977c71dbce/cryptography-44.0.2-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:29ecec49f3ba3f3849362854b7253a9f59799e3763b0c9d0826259a88efa02f1", size = 3952350 }, - { url = "https://files.pythonhosted.org/packages/27/61/72e3afdb3c5ac510330feba4fc1faa0fe62e070592d6ad00c40bb69165e5/cryptography-44.0.2-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc821e161ae88bfe8088d11bb39caf2916562e0a2dc7b6d56714a48b784ef0bb", size = 4166572 }, - { url = "https://files.pythonhosted.org/packages/26/e4/ba680f0b35ed4a07d87f9e98f3ebccb05091f3bf6b5a478b943253b3bbd5/cryptography-44.0.2-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:3c00b6b757b32ce0f62c574b78b939afab9eecaf597c4d624caca4f9e71e7843", size = 3958124 }, - { url = "https://files.pythonhosted.org/packages/9c/e8/44ae3e68c8b6d1cbc59040288056df2ad7f7f03bbcaca6b503c737ab8e73/cryptography-44.0.2-cp37-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7bdcd82189759aba3816d1f729ce42ffded1ac304c151d0a8e89b9996ab863d5", size = 3678122 }, - { url = "https://files.pythonhosted.org/packages/27/7b/664ea5e0d1eab511a10e480baf1c5d3e681c7d91718f60e149cec09edf01/cryptography-44.0.2-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:4973da6ca3db4405c54cd0b26d328be54c7747e89e284fcff166132eb7bccc9c", size = 4191831 }, - { url = "https://files.pythonhosted.org/packages/2a/07/79554a9c40eb11345e1861f46f845fa71c9e25bf66d132e123d9feb8e7f9/cryptography-44.0.2-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:4e389622b6927d8133f314949a9812972711a111d577a5d1f4bee5e58736b80a", size = 3960583 }, - { url = "https://files.pythonhosted.org/packages/bb/6d/858e356a49a4f0b591bd6789d821427de18432212e137290b6d8a817e9bf/cryptography-44.0.2-cp37-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:f514ef4cd14bb6fb484b4a60203e912cfcb64f2ab139e88c2274511514bf7308", size = 4191753 }, - { url = "https://files.pythonhosted.org/packages/b2/80/62df41ba4916067fa6b125aa8c14d7e9181773f0d5d0bd4dcef580d8b7c6/cryptography-44.0.2-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:1bc312dfb7a6e5d66082c87c34c8a62176e684b6fe3d90fcfe1568de675e6688", size = 4079550 }, - { url = "https://files.pythonhosted.org/packages/f3/cd/2558cc08f7b1bb40683f99ff4327f8dcfc7de3affc669e9065e14824511b/cryptography-44.0.2-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:3b721b8b4d948b218c88cb8c45a01793483821e709afe5f622861fc6182b20a7", size = 4298367 }, - { url = "https://files.pythonhosted.org/packages/71/59/94ccc74788945bc3bd4cf355d19867e8057ff5fdbcac781b1ff95b700fb1/cryptography-44.0.2-cp37-abi3-win32.whl", hash = "sha256:51e4de3af4ec3899d6d178a8c005226491c27c4ba84101bfb59c901e10ca9f79", size = 2772843 }, - { url = "https://files.pythonhosted.org/packages/ca/2c/0d0bbaf61ba05acb32f0841853cfa33ebb7a9ab3d9ed8bb004bd39f2da6a/cryptography-44.0.2-cp37-abi3-win_amd64.whl", hash = "sha256:c505d61b6176aaf982c5717ce04e87da5abc9a36a5b39ac03905c4aafe8de7aa", size = 3209057 }, - { url = "https://files.pythonhosted.org/packages/9e/be/7a26142e6d0f7683d8a382dd963745e65db895a79a280a30525ec92be890/cryptography-44.0.2-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:8e0ddd63e6bf1161800592c71ac794d3fb8001f2caebe0966e77c5234fa9efc3", size = 6677789 }, - { url = "https://files.pythonhosted.org/packages/06/88/638865be7198a84a7713950b1db7343391c6066a20e614f8fa286eb178ed/cryptography-44.0.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:81276f0ea79a208d961c433a947029e1a15948966658cf6710bbabb60fcc2639", size = 3951919 }, - { url = "https://files.pythonhosted.org/packages/d7/fc/99fe639bcdf58561dfad1faa8a7369d1dc13f20acd78371bb97a01613585/cryptography-44.0.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a1e657c0f4ea2a23304ee3f964db058c9e9e635cc7019c4aa21c330755ef6fd", size = 4167812 }, - { url = "https://files.pythonhosted.org/packages/53/7b/aafe60210ec93d5d7f552592a28192e51d3c6b6be449e7fd0a91399b5d07/cryptography-44.0.2-cp39-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:6210c05941994290f3f7f175a4a57dbbb2afd9273657614c506d5976db061181", size = 3958571 }, - { url = "https://files.pythonhosted.org/packages/16/32/051f7ce79ad5a6ef5e26a92b37f172ee2d6e1cce09931646eef8de1e9827/cryptography-44.0.2-cp39-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d1c3572526997b36f245a96a2b1713bf79ce99b271bbcf084beb6b9b075f29ea", size = 3679832 }, - { url = "https://files.pythonhosted.org/packages/78/2b/999b2a1e1ba2206f2d3bca267d68f350beb2b048a41ea827e08ce7260098/cryptography-44.0.2-cp39-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:b042d2a275c8cee83a4b7ae30c45a15e6a4baa65a179a0ec2d78ebb90e4f6699", size = 4193719 }, - { url = "https://files.pythonhosted.org/packages/72/97/430e56e39a1356e8e8f10f723211a0e256e11895ef1a135f30d7d40f2540/cryptography-44.0.2-cp39-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:d03806036b4f89e3b13b6218fefea8d5312e450935b1a2d55f0524e2ed7c59d9", size = 3960852 }, - { url = "https://files.pythonhosted.org/packages/89/33/c1cf182c152e1d262cac56850939530c05ca6c8d149aa0dcee490b417e99/cryptography-44.0.2-cp39-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:c7362add18b416b69d58c910caa217f980c5ef39b23a38a0880dfd87bdf8cd23", size = 4193906 }, - { url = "https://files.pythonhosted.org/packages/e1/99/87cf26d4f125380dc674233971069bc28d19b07f7755b29861570e513650/cryptography-44.0.2-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:8cadc6e3b5a1f144a039ea08a0bdb03a2a92e19c46be3285123d32029f40a922", size = 4081572 }, - { url = "https://files.pythonhosted.org/packages/b3/9f/6a3e0391957cc0c5f84aef9fbdd763035f2b52e998a53f99345e3ac69312/cryptography-44.0.2-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6f101b1f780f7fc613d040ca4bdf835c6ef3b00e9bd7125a4255ec574c7916e4", size = 4298631 }, - { url = "https://files.pythonhosted.org/packages/e2/a5/5bc097adb4b6d22a24dea53c51f37e480aaec3465285c253098642696423/cryptography-44.0.2-cp39-abi3-win32.whl", hash = "sha256:3dc62975e31617badc19a906481deacdeb80b4bb454394b4098e3f2525a488c5", size = 2773792 }, - { url = "https://files.pythonhosted.org/packages/33/cf/1f7649b8b9a3543e042d3f348e398a061923ac05b507f3f4d95f11938aa9/cryptography-44.0.2-cp39-abi3-win_amd64.whl", hash = "sha256:5f6f90b72d8ccadb9c6e311c775c8305381db88374c65fa1a68250aa8a9cb3a6", size = 3210957 }, - { url = "https://files.pythonhosted.org/packages/99/10/173be140714d2ebaea8b641ff801cbcb3ef23101a2981cbf08057876f89e/cryptography-44.0.2-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:af4ff3e388f2fa7bff9f7f2b31b87d5651c45731d3e8cfa0944be43dff5cfbdb", size = 3396886 }, - { url = "https://files.pythonhosted.org/packages/2f/b4/424ea2d0fce08c24ede307cead3409ecbfc2f566725d4701b9754c0a1174/cryptography-44.0.2-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:0529b1d5a0105dd3731fa65680b45ce49da4d8115ea76e9da77a875396727b41", size = 3892387 }, - { url = "https://files.pythonhosted.org/packages/28/20/8eaa1a4f7c68a1cb15019dbaad59c812d4df4fac6fd5f7b0b9c5177f1edd/cryptography-44.0.2-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:7ca25849404be2f8e4b3c59483d9d3c51298a22c1c61a0e84415104dacaf5562", size = 4109922 }, - { url = "https://files.pythonhosted.org/packages/11/25/5ed9a17d532c32b3bc81cc294d21a36c772d053981c22bd678396bc4ae30/cryptography-44.0.2-pp310-pypy310_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:268e4e9b177c76d569e8a145a6939eca9a5fec658c932348598818acf31ae9a5", size = 3895715 }, - { url = "https://files.pythonhosted.org/packages/63/31/2aac03b19c6329b62c45ba4e091f9de0b8f687e1b0cd84f101401bece343/cryptography-44.0.2-pp310-pypy310_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:9eb9d22b0a5d8fd9925a7764a054dca914000607dff201a24c791ff5c799e1fa", size = 4109876 }, - { url = "https://files.pythonhosted.org/packages/99/ec/6e560908349843718db1a782673f36852952d52a55ab14e46c42c8a7690a/cryptography-44.0.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:2bf7bf75f7df9715f810d1b038870309342bff3069c5bd8c6b96128cb158668d", size = 3131719 }, - { url = "https://files.pythonhosted.org/packages/d6/d7/f30e75a6aa7d0f65031886fa4a1485c2fbfe25a1896953920f6a9cfe2d3b/cryptography-44.0.2-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:909c97ab43a9c0c0b0ada7a1281430e4e5ec0458e6d9244c0e821bbf152f061d", size = 3887513 }, - { url = "https://files.pythonhosted.org/packages/9c/b4/7a494ce1032323ca9db9a3661894c66e0d7142ad2079a4249303402d8c71/cryptography-44.0.2-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:96e7a5e9d6e71f9f4fca8eebfd603f8e86c5225bb18eb621b2c1e50b290a9471", size = 4107432 }, - { url = "https://files.pythonhosted.org/packages/45/f8/6b3ec0bc56123b344a8d2b3264a325646d2dcdbdd9848b5e6f3d37db90b3/cryptography-44.0.2-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:d1b3031093a366ac767b3feb8bcddb596671b3aaff82d4050f984da0c248b615", size = 3891421 }, - { url = "https://files.pythonhosted.org/packages/57/ff/f3b4b2d007c2a646b0f69440ab06224f9cf37a977a72cdb7b50632174e8a/cryptography-44.0.2-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:04abd71114848aa25edb28e225ab5f268096f44cf0127f3d36975bdf1bdf3390", size = 4107081 }, + { url = "https://files.pythonhosted.org/packages/cc/1c/92637793de053832523b410dbe016d3f5c11b41d0cf6eef8787aabb51d41/cryptography-45.0.4-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:425a9a6ac2823ee6e46a76a21a4e8342d8fa5c01e08b823c1f19a8b74f096069", size = 7055712, upload-time = "2025-06-10T00:02:38.826Z" }, + { url = "https://files.pythonhosted.org/packages/ba/14/93b69f2af9ba832ad6618a03f8a034a5851dc9a3314336a3d71c252467e1/cryptography-45.0.4-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:680806cf63baa0039b920f4976f5f31b10e772de42f16310a6839d9f21a26b0d", size = 4205335, upload-time = "2025-06-10T00:02:41.64Z" }, + { url = "https://files.pythonhosted.org/packages/67/30/fae1000228634bf0b647fca80403db5ca9e3933b91dd060570689f0bd0f7/cryptography-45.0.4-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4ca0f52170e821bc8da6fc0cc565b7bb8ff8d90d36b5e9fdd68e8a86bdf72036", size = 4431487, upload-time = "2025-06-10T00:02:43.696Z" }, + { url = "https://files.pythonhosted.org/packages/6d/5a/7dffcf8cdf0cb3c2430de7404b327e3db64735747d641fc492539978caeb/cryptography-45.0.4-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:f3fe7a5ae34d5a414957cc7f457e2b92076e72938423ac64d215722f6cf49a9e", size = 4208922, upload-time = "2025-06-10T00:02:45.334Z" }, + { url = "https://files.pythonhosted.org/packages/c6/f3/528729726eb6c3060fa3637253430547fbaaea95ab0535ea41baa4a6fbd8/cryptography-45.0.4-cp311-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:25eb4d4d3e54595dc8adebc6bbd5623588991d86591a78c2548ffb64797341e2", size = 3900433, upload-time = "2025-06-10T00:02:47.359Z" }, + { url = "https://files.pythonhosted.org/packages/d9/4a/67ba2e40f619e04d83c32f7e1d484c1538c0800a17c56a22ff07d092ccc1/cryptography-45.0.4-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:ce1678a2ccbe696cf3af15a75bb72ee008d7ff183c9228592ede9db467e64f1b", size = 4464163, upload-time = "2025-06-10T00:02:49.412Z" }, + { url = "https://files.pythonhosted.org/packages/7e/9a/b4d5aa83661483ac372464809c4b49b5022dbfe36b12fe9e323ca8512420/cryptography-45.0.4-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:49fe9155ab32721b9122975e168a6760d8ce4cffe423bcd7ca269ba41b5dfac1", size = 4208687, upload-time = "2025-06-10T00:02:50.976Z" }, + { url = "https://files.pythonhosted.org/packages/db/b7/a84bdcd19d9c02ec5807f2ec2d1456fd8451592c5ee353816c09250e3561/cryptography-45.0.4-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:2882338b2a6e0bd337052e8b9007ced85c637da19ef9ecaf437744495c8c2999", size = 4463623, upload-time = "2025-06-10T00:02:52.542Z" }, + { url = "https://files.pythonhosted.org/packages/d8/84/69707d502d4d905021cac3fb59a316344e9f078b1da7fb43ecde5e10840a/cryptography-45.0.4-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:23b9c3ea30c3ed4db59e7b9619272e94891f8a3a5591d0b656a7582631ccf750", size = 4332447, upload-time = "2025-06-10T00:02:54.63Z" }, + { url = "https://files.pythonhosted.org/packages/f3/ee/d4f2ab688e057e90ded24384e34838086a9b09963389a5ba6854b5876598/cryptography-45.0.4-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b0a97c927497e3bc36b33987abb99bf17a9a175a19af38a892dc4bbb844d7ee2", size = 4572830, upload-time = "2025-06-10T00:02:56.689Z" }, + { url = "https://files.pythonhosted.org/packages/70/d4/994773a261d7ff98034f72c0e8251fe2755eac45e2265db4c866c1c6829c/cryptography-45.0.4-cp311-abi3-win32.whl", hash = "sha256:e00a6c10a5c53979d6242f123c0a97cff9f3abed7f064fc412c36dc521b5f257", size = 2932769, upload-time = "2025-06-10T00:02:58.467Z" }, + { url = "https://files.pythonhosted.org/packages/5a/42/c80bd0b67e9b769b364963b5252b17778a397cefdd36fa9aa4a5f34c599a/cryptography-45.0.4-cp311-abi3-win_amd64.whl", hash = "sha256:817ee05c6c9f7a69a16200f0c90ab26d23a87701e2a284bd15156783e46dbcc8", size = 3410441, upload-time = "2025-06-10T00:03:00.14Z" }, + { url = "https://files.pythonhosted.org/packages/ce/0b/2488c89f3a30bc821c9d96eeacfcab6ff3accc08a9601ba03339c0fd05e5/cryptography-45.0.4-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:964bcc28d867e0f5491a564b7debb3ffdd8717928d315d12e0d7defa9e43b723", size = 7031836, upload-time = "2025-06-10T00:03:01.726Z" }, + { url = "https://files.pythonhosted.org/packages/fe/51/8c584ed426093aac257462ae62d26ad61ef1cbf5b58d8b67e6e13c39960e/cryptography-45.0.4-cp37-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:6a5bf57554e80f75a7db3d4b1dacaa2764611ae166ab42ea9a72bcdb5d577637", size = 4195746, upload-time = "2025-06-10T00:03:03.94Z" }, + { url = "https://files.pythonhosted.org/packages/5c/7d/4b0ca4d7af95a704eef2f8f80a8199ed236aaf185d55385ae1d1610c03c2/cryptography-45.0.4-cp37-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:46cf7088bf91bdc9b26f9c55636492c1cce3e7aaf8041bbf0243f5e5325cfb2d", size = 4424456, upload-time = "2025-06-10T00:03:05.589Z" }, + { url = "https://files.pythonhosted.org/packages/1d/45/5fabacbc6e76ff056f84d9f60eeac18819badf0cefc1b6612ee03d4ab678/cryptography-45.0.4-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:7bedbe4cc930fa4b100fc845ea1ea5788fcd7ae9562e669989c11618ae8d76ee", size = 4198495, upload-time = "2025-06-10T00:03:09.172Z" }, + { url = "https://files.pythonhosted.org/packages/55/b7/ffc9945b290eb0a5d4dab9b7636706e3b5b92f14ee5d9d4449409d010d54/cryptography-45.0.4-cp37-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:eaa3e28ea2235b33220b949c5a0d6cf79baa80eab2eb5607ca8ab7525331b9ff", size = 3885540, upload-time = "2025-06-10T00:03:10.835Z" }, + { url = "https://files.pythonhosted.org/packages/7f/e3/57b010282346980475e77d414080acdcb3dab9a0be63071efc2041a2c6bd/cryptography-45.0.4-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:7ef2dde4fa9408475038fc9aadfc1fb2676b174e68356359632e980c661ec8f6", size = 4452052, upload-time = "2025-06-10T00:03:12.448Z" }, + { url = "https://files.pythonhosted.org/packages/37/e6/ddc4ac2558bf2ef517a358df26f45bc774a99bf4653e7ee34b5e749c03e3/cryptography-45.0.4-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:6a3511ae33f09094185d111160fd192c67aa0a2a8d19b54d36e4c78f651dc5ad", size = 4198024, upload-time = "2025-06-10T00:03:13.976Z" }, + { url = "https://files.pythonhosted.org/packages/3a/c0/85fa358ddb063ec588aed4a6ea1df57dc3e3bc1712d87c8fa162d02a65fc/cryptography-45.0.4-cp37-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:06509dc70dd71fa56eaa138336244e2fbaf2ac164fc9b5e66828fccfd2b680d6", size = 4451442, upload-time = "2025-06-10T00:03:16.248Z" }, + { url = "https://files.pythonhosted.org/packages/33/67/362d6ec1492596e73da24e669a7fbbaeb1c428d6bf49a29f7a12acffd5dc/cryptography-45.0.4-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:5f31e6b0a5a253f6aa49be67279be4a7e5a4ef259a9f33c69f7d1b1191939872", size = 4325038, upload-time = "2025-06-10T00:03:18.4Z" }, + { url = "https://files.pythonhosted.org/packages/53/75/82a14bf047a96a1b13ebb47fb9811c4f73096cfa2e2b17c86879687f9027/cryptography-45.0.4-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:944e9ccf67a9594137f942d5b52c8d238b1b4e46c7a0c2891b7ae6e01e7c80a4", size = 4560964, upload-time = "2025-06-10T00:03:20.06Z" }, + { url = "https://files.pythonhosted.org/packages/cd/37/1a3cba4c5a468ebf9b95523a5ef5651244693dc712001e276682c278fc00/cryptography-45.0.4-cp37-abi3-win32.whl", hash = "sha256:c22fe01e53dc65edd1945a2e6f0015e887f84ced233acecb64b4daadb32f5c97", size = 2924557, upload-time = "2025-06-10T00:03:22.563Z" }, + { url = "https://files.pythonhosted.org/packages/2a/4b/3256759723b7e66380397d958ca07c59cfc3fb5c794fb5516758afd05d41/cryptography-45.0.4-cp37-abi3-win_amd64.whl", hash = "sha256:627ba1bc94f6adf0b0a2e35d87020285ead22d9f648c7e75bb64f367375f3b22", size = 3395508, upload-time = "2025-06-10T00:03:24.586Z" }, + { url = "https://files.pythonhosted.org/packages/16/33/b38e9d372afde56906a23839302c19abdac1c505bfb4776c1e4b07c3e145/cryptography-45.0.4-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:a77c6fb8d76e9c9f99f2f3437c1a4ac287b34eaf40997cfab1e9bd2be175ac39", size = 3580103, upload-time = "2025-06-10T00:03:26.207Z" }, + { url = "https://files.pythonhosted.org/packages/c4/b9/357f18064ec09d4807800d05a48f92f3b369056a12f995ff79549fbb31f1/cryptography-45.0.4-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:7aad98a25ed8ac917fdd8a9c1e706e5a0956e06c498be1f713b61734333a4507", size = 4143732, upload-time = "2025-06-10T00:03:27.896Z" }, + { url = "https://files.pythonhosted.org/packages/c4/9c/7f7263b03d5db329093617648b9bd55c953de0b245e64e866e560f9aac07/cryptography-45.0.4-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:3530382a43a0e524bc931f187fc69ef4c42828cf7d7f592f7f249f602b5a4ab0", size = 4385424, upload-time = "2025-06-10T00:03:29.992Z" }, + { url = "https://files.pythonhosted.org/packages/a6/5a/6aa9d8d5073d5acc0e04e95b2860ef2684b2bd2899d8795fc443013e263b/cryptography-45.0.4-pp310-pypy310_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:6b613164cb8425e2f8db5849ffb84892e523bf6d26deb8f9bb76ae86181fa12b", size = 4142438, upload-time = "2025-06-10T00:03:31.782Z" }, + { url = "https://files.pythonhosted.org/packages/42/1c/71c638420f2cdd96d9c2b287fec515faf48679b33a2b583d0f1eda3a3375/cryptography-45.0.4-pp310-pypy310_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:96d4819e25bf3b685199b304a0029ce4a3caf98947ce8a066c9137cc78ad2c58", size = 4384622, upload-time = "2025-06-10T00:03:33.491Z" }, + { url = "https://files.pythonhosted.org/packages/ef/ab/e3a055c34e97deadbf0d846e189237d3385dca99e1a7e27384c3b2292041/cryptography-45.0.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:b97737a3ffbea79eebb062eb0d67d72307195035332501722a9ca86bab9e3ab2", size = 3328911, upload-time = "2025-06-10T00:03:35.035Z" }, + { url = "https://files.pythonhosted.org/packages/ea/ba/cf442ae99ef363855ed84b39e0fb3c106ac66b7a7703f3c9c9cfe05412cb/cryptography-45.0.4-pp311-pypy311_pp73-macosx_10_9_x86_64.whl", hash = "sha256:4828190fb6c4bcb6ebc6331f01fe66ae838bb3bd58e753b59d4b22eb444b996c", size = 3590512, upload-time = "2025-06-10T00:03:36.982Z" }, + { url = "https://files.pythonhosted.org/packages/28/9a/a7d5bb87d149eb99a5abdc69a41e4e47b8001d767e5f403f78bfaafc7aa7/cryptography-45.0.4-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:03dbff8411206713185b8cebe31bc5c0eb544799a50c09035733716b386e61a4", size = 4146899, upload-time = "2025-06-10T00:03:38.659Z" }, + { url = "https://files.pythonhosted.org/packages/17/11/9361c2c71c42cc5c465cf294c8030e72fb0c87752bacbd7a3675245e3db3/cryptography-45.0.4-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:51dfbd4d26172d31150d84c19bbe06c68ea4b7f11bbc7b3a5e146b367c311349", size = 4388900, upload-time = "2025-06-10T00:03:40.233Z" }, + { url = "https://files.pythonhosted.org/packages/c0/76/f95b83359012ee0e670da3e41c164a0c256aeedd81886f878911581d852f/cryptography-45.0.4-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:0339a692de47084969500ee455e42c58e449461e0ec845a34a6a9b9bf7df7fb8", size = 4146422, upload-time = "2025-06-10T00:03:41.827Z" }, + { url = "https://files.pythonhosted.org/packages/09/ad/5429fcc4def93e577a5407988f89cf15305e64920203d4ac14601a9dc876/cryptography-45.0.4-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:0cf13c77d710131d33e63626bd55ae7c0efb701ebdc2b3a7952b9b23a0412862", size = 4388475, upload-time = "2025-06-10T00:03:43.493Z" }, + { url = "https://files.pythonhosted.org/packages/99/49/0ab9774f64555a1b50102757811508f5ace451cf5dc0a2d074a4b9deca6a/cryptography-45.0.4-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:bbc505d1dc469ac12a0a064214879eac6294038d6b24ae9f71faae1448a9608d", size = 3337594, upload-time = "2025-06-10T00:03:45.523Z" }, ] [[package]] name = "dbus-fast" version = "2.44.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c2/a1/9693ec018feed2a7d3420eac6c807eabc6eb84227913104123c0d2ea5737/dbus_fast-2.44.1.tar.gz", hash = "sha256:b027e96c39ed5622bb54d811dcdbbe9d9d6edec3454808a85a1ceb1867d9e25c", size = 72424 } +sdist = { url = "https://files.pythonhosted.org/packages/c2/a1/9693ec018feed2a7d3420eac6c807eabc6eb84227913104123c0d2ea5737/dbus_fast-2.44.1.tar.gz", hash = "sha256:b027e96c39ed5622bb54d811dcdbbe9d9d6edec3454808a85a1ceb1867d9e25c", size = 72424, upload-time = "2025-04-03T19:07:20.042Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/12/dd/ab0079fb27a2aaefffcb7362f3acd583d3eae6254ba856d51126a2ad6501/dbus_fast-2.44.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65a634286651398f3f1326e8200fc54289d52c2c00249d29cacfc691660a5da1", size = 880082 }, - { url = "https://files.pythonhosted.org/packages/7f/d7/f55944dc56f58f051c74cee88104fe49cf243fed3a22d3ebe2d4cf8188c1/dbus_fast-2.44.1-cp310-cp310-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:0c4a128f8b29941307fc5722f37a1bb87ddcf733188d917ab374d9da0c6e1ce7", size = 948817 }, - { url = "https://files.pythonhosted.org/packages/98/3d/573e98115119950965195b6000cf2cfe2ee762541a08c911dc9a70c8f40f/dbus_fast-2.44.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:adaf459fbce22a63d3578f3ec782c6978edf975eb06d71fb5b7a690496cf6bbe", size = 930452 }, - { url = "https://files.pythonhosted.org/packages/2c/84/e1221f862c1e9f78291e724a5296e42e9f0edd712ac194ad50b1e28365ee/dbus_fast-2.44.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:de871cf722c436bdcceb96b2a3af7084e1fa468f7916ae278ec8ec49a6fa7eef", size = 898007 }, - { url = "https://files.pythonhosted.org/packages/b0/47/a1506ab0571a4a2fc69b646facca04798f1f3812a783f5f9ceb059520b2c/dbus_fast-2.44.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b40863de172031bcc02f54c6f05cccb0b882dc2e1b09e11314a8ccf38c558760", size = 983105 }, - { url = "https://files.pythonhosted.org/packages/86/4c/29228db1f8043b2e968198e076efe473490c643812f4b4410c8e946fc96d/dbus_fast-2.44.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8b7ae16555df6b56d3befcc51e036779ef47c0e954fdb9fb0821ac25212aefe9", size = 959658 }, - { url = "https://files.pythonhosted.org/packages/c5/ea/a6edb9fa8485f002d8148b9cfe8872dc314a778ea5ae440b8f6d342c4e15/dbus_fast-2.44.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ec5db912bd4cfeadf7134163d6dde684271cd44cf26e3b4720107f3de406623", size = 879641 }, - { url = "https://files.pythonhosted.org/packages/63/dd/e83ba0262b4d1f79468151d57e4719ec0ebd8aa1a529075f51bb1a6a661d/dbus_fast-2.44.1-cp311-cp311-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:6ad99f626837753b39a39e09facd2091ee4851ee1eb6ebec5fa9a9a231734254", size = 938034 }, - { url = "https://files.pythonhosted.org/packages/7b/16/c0ffa2843616e8920800f806de2160a8a07a1c3e884eb7308602e41a5293/dbus_fast-2.44.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7aa157f689a114bfb5367c55884d35e25d57cf25202a6590ce05010f929e7df", size = 927438 }, - { url = "https://files.pythonhosted.org/packages/7b/f6/8e984720ec59d79e7637c43feed1d73ebf81863dc7a516f782ceb14eb1fe/dbus_fast-2.44.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f961d8bcad80359f24c0156b3094f58a87d583d56139ee50922fe5894b6797cf", size = 900860 }, - { url = "https://files.pythonhosted.org/packages/a0/4d/95e0ed9003f357c0f2fd18c52cdaf030410bf7bc914dd258258694061aa5/dbus_fast-2.44.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1f38fb5c31846c3ada8fc2b693d8d19953d376a9ea21079e3686e93faa1f8a0f", size = 982869 }, - { url = "https://files.pythonhosted.org/packages/2e/9c/2fa2de83e90921addf77f1b2baa3489d2f174c8ccd1c7a59d00303eccade/dbus_fast-2.44.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:35e3cde53cc9180ce95c6c84a1e8d1ded429031e4a0a182606e8d22cf57d3294", size = 961978 }, - { url = "https://files.pythonhosted.org/packages/3a/e9/b7b02aa77c66491b87f6720a025ffb99afd6a91c00d3425b221058d3cff6/dbus_fast-2.44.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3dd0f8d41f6ab9d4a782c116470bc319d690f9b50c97b6debc6d1fef08e4615a", size = 840421 }, - { url = "https://files.pythonhosted.org/packages/35/79/c9bc498e959ae983e1772e4e4ae320342829f21186fd4c6a65369e63c1fc/dbus_fast-2.44.1-cp312-cp312-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:9d6e386658343db380b9e4e81b3bf4e3c17135dbb5889173b1f2582b675b9a8c", size = 912296 }, - { url = "https://files.pythonhosted.org/packages/cc/a5/948a8cc0861893c6de8746d83cc900e7fd5229b97ed4c9092152b866459e/dbus_fast-2.44.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3bd27563c11219b6fde7a5458141d860d8445c2defb036bab360d1f9bf1dfae0", size = 895027 }, - { url = "https://files.pythonhosted.org/packages/c2/d3/daa69f8253a6c41aedf517befdbed514e9cf96ebe7cbcfa5de154acff877/dbus_fast-2.44.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0272784aceac821dd63c8187a8860179061a850269617ff5c5bd25ca37bf9307", size = 855338 }, - { url = "https://files.pythonhosted.org/packages/6b/44/adec235f8765a88a7b8ddd49c6592371f7ff126e928d03a98baf4ff1bf9d/dbus_fast-2.44.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:eed613a909a45f0e0a415c88b373024f007a9be56b1316812ed616d69a3b9161", size = 944282 }, - { url = "https://files.pythonhosted.org/packages/ba/dd/a6f764c46f14214bdab2ab58820b5ff78e234a74246cc6069232d3aaf9e5/dbus_fast-2.44.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0d4288f2cba4f8309dcfd9f4392e0f4f2b5be6c796dfdb0c5e03228b1ab649b1", size = 923505 }, - { url = "https://files.pythonhosted.org/packages/a5/ee/78bf56862fd6ae87998f1ef1d47849a9c5915abb4f0449a72b2c0885482b/dbus_fast-2.44.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89dc5db158bf9838979f732acc39e0e1ecd7e3295a09fa8adb93b09c097615a4", size = 834865 }, - { url = "https://files.pythonhosted.org/packages/1b/67/2c0ef231189ff63fa49687f8529ad6bb5afc3bbfda5ba65d9ce3e816cfb8/dbus_fast-2.44.1-cp313-cp313-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:f11878c0c089d278861e48c02db8002496c2233b0f605b5630ef61f0b7fb0ea3", size = 905859 }, - { url = "https://files.pythonhosted.org/packages/01/ef/9435eae3a658202c4342559b1dad82eb04edfa69fd803325e742c7627c6e/dbus_fast-2.44.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd81f483b3ffb71e88478cfabccc1fab8d7154fccb1c661bfafcff9b0cfd996", size = 888654 }, - { url = "https://files.pythonhosted.org/packages/80/08/9e870f0c4d82f7d6c224f502e51416d9855b2580093bb21b0fc240077a93/dbus_fast-2.44.1-cp313-cp313-manylinux_2_36_x86_64.whl", hash = "sha256:ad499de96a991287232749c98a59f2436ed260f6fd9ad4cb3b04a4b1bbbef148", size = 891721 }, - { url = "https://files.pythonhosted.org/packages/53/d2/256fe23f403f8bb22d4fb67b6ad21bcc1c98e4528e2d30a4ae9851fac066/dbus_fast-2.44.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:36c44286b11e83977cd29f9551b66b446bb6890dff04585852d975aa3a038ca2", size = 850255 }, - { url = "https://files.pythonhosted.org/packages/28/ae/5d9964738bc9a59c9bb01bb4e196c541ed3495895297355c09283934756b/dbus_fast-2.44.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:89f2f6eccbb0e464b90e5a8741deb9d6a91873eeb41a8c7b963962b39eb1e0cd", size = 939093 }, - { url = "https://files.pythonhosted.org/packages/f5/3e/1c97abdf0f19ce26ac2f7f18c141495fc7459679d016475f4ad5dedef316/dbus_fast-2.44.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:bb74a227b071e1a7c517bf3a3e4a5a0a2660620084162e74f15010075534c9d5", size = 915980 }, - { url = "https://files.pythonhosted.org/packages/c7/ec/04c75a244acff834259d8c06f5396a8b28f57a1ace5dc6e86d47b39ee777/dbus_fast-2.44.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:806450623ef3f8df846524da7e448edc8174261a01cfd5dfda92e3df89c0de10", size = 882608 }, - { url = "https://files.pythonhosted.org/packages/5e/71/9ff2c8aa5a71b5ed41b8c3890a905c4a1a3ae2bc6d40bf80dcdfe211811e/dbus_fast-2.44.1-cp39-cp39-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:55ad499b7ef08cb76fce9c9fdcdd6589d2ebfc7e53b3d261d8f40c6d97a8d901", size = 951369 }, - { url = "https://files.pythonhosted.org/packages/af/5f/20255de2009384efb20510b59fd2b7465265eb934f68f8378d91165da92f/dbus_fast-2.44.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:55d717865219ec2ae9977b6d067c05261cdc3ef6205c687c8bb92b3437886e58", size = 931079 }, - { url = "https://files.pythonhosted.org/packages/81/68/c082369566e5fbc95f962bd50ff0cba5e3d98ed030b9fe96b640f041a462/dbus_fast-2.44.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:39d4cc61e491e11912f76d70cc1c47387ab4f2e5b71f34bfa13eb11aa6026268", size = 899115 }, - { url = "https://files.pythonhosted.org/packages/4a/f1/f4a373471675e7c6541334b6ff98c1967928bceb8a3199126073b339a2e6/dbus_fast-2.44.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:9b3b10151f1140f7b6dd47a89fc37edd05d6213be0a1748eadba82fc144c05c2", size = 985790 }, - { url = "https://files.pythonhosted.org/packages/63/f6/c510bd4916639a085b157adde944400bd4f100ce61dacfa194dd6320186b/dbus_fast-2.44.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:33772c223f5cef1bacc298e83dc04b27b3a47065b245fde766fcc126e761dca7", size = 961912 }, - { url = "https://files.pythonhosted.org/packages/81/9f/03b8e92fa6655e33b56c5172c9ccc95093850986ab706bd235b91bdc5653/dbus_fast-2.44.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f29a81d86c9ce3020a5df8c1e5557edaa00e1e00c9804ec874d46c99d967a686", size = 720870 }, - { url = "https://files.pythonhosted.org/packages/39/af/c8ef58a4a4584db520b654731bfe35923c73bb769386411d8fecdeb016e3/dbus_fast-2.44.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:5dec134715457601c0fa8df3040a56d319de1a152464ae4d4bfc53bbb5c02e04", size = 767585 }, - { url = "https://files.pythonhosted.org/packages/8c/e2/9e3ef29e40b44556f16756cd70ae8e7ec3b5fceec1b78c5e4849ed15f926/dbus_fast-2.44.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:893509b516f2f24b4e3f09a6b1f3a30f856cf237cd773cdc505ea7ab4fa3c863", size = 754941 }, - { url = "https://files.pythonhosted.org/packages/bc/fc/1d6d3a00f0f6a93fc05ecced651b635932d5a37407b44d27a7dbf5f7c3bf/dbus_fast-2.44.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:161a3e6fc8783c30c9feb072e09604d96ec0c465b06bd35b6acc1a0316bd2a27", size = 721094 }, - { url = "https://files.pythonhosted.org/packages/0a/3a/a37242eb170b0da9ef570d7da699420815e000a534b6c52d346ffa14f0a7/dbus_fast-2.44.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:67febe6454e714d85a532bd84969001ed948bbaf1699a7e1e4c6abb5508c9522", size = 768266 }, - { url = "https://files.pythonhosted.org/packages/bf/77/f1d6afe5a05cbc3fed3d8a96231548664427c341f4bf35f5c7318c0be665/dbus_fast-2.44.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:890f0fc046d5db66524ddedeca8c14b65739fbbf32d6488175c07428362bf250", size = 754540 }, + { url = "https://files.pythonhosted.org/packages/12/dd/ab0079fb27a2aaefffcb7362f3acd583d3eae6254ba856d51126a2ad6501/dbus_fast-2.44.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65a634286651398f3f1326e8200fc54289d52c2c00249d29cacfc691660a5da1", size = 880082, upload-time = "2025-04-03T19:21:43.611Z" }, + { url = "https://files.pythonhosted.org/packages/7f/d7/f55944dc56f58f051c74cee88104fe49cf243fed3a22d3ebe2d4cf8188c1/dbus_fast-2.44.1-cp310-cp310-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:0c4a128f8b29941307fc5722f37a1bb87ddcf733188d917ab374d9da0c6e1ce7", size = 948817, upload-time = "2025-04-03T19:21:45.712Z" }, + { url = "https://files.pythonhosted.org/packages/98/3d/573e98115119950965195b6000cf2cfe2ee762541a08c911dc9a70c8f40f/dbus_fast-2.44.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:adaf459fbce22a63d3578f3ec782c6978edf975eb06d71fb5b7a690496cf6bbe", size = 930452, upload-time = "2025-04-03T19:21:47.673Z" }, + { url = "https://files.pythonhosted.org/packages/2c/84/e1221f862c1e9f78291e724a5296e42e9f0edd712ac194ad50b1e28365ee/dbus_fast-2.44.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:de871cf722c436bdcceb96b2a3af7084e1fa468f7916ae278ec8ec49a6fa7eef", size = 898007, upload-time = "2025-04-03T19:21:49.237Z" }, + { url = "https://files.pythonhosted.org/packages/b0/47/a1506ab0571a4a2fc69b646facca04798f1f3812a783f5f9ceb059520b2c/dbus_fast-2.44.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b40863de172031bcc02f54c6f05cccb0b882dc2e1b09e11314a8ccf38c558760", size = 983105, upload-time = "2025-04-03T19:21:50.835Z" }, + { url = "https://files.pythonhosted.org/packages/86/4c/29228db1f8043b2e968198e076efe473490c643812f4b4410c8e946fc96d/dbus_fast-2.44.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8b7ae16555df6b56d3befcc51e036779ef47c0e954fdb9fb0821ac25212aefe9", size = 959658, upload-time = "2025-04-03T19:21:52.42Z" }, + { url = "https://files.pythonhosted.org/packages/c5/ea/a6edb9fa8485f002d8148b9cfe8872dc314a778ea5ae440b8f6d342c4e15/dbus_fast-2.44.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ec5db912bd4cfeadf7134163d6dde684271cd44cf26e3b4720107f3de406623", size = 879641, upload-time = "2025-04-03T19:21:55.33Z" }, + { url = "https://files.pythonhosted.org/packages/63/dd/e83ba0262b4d1f79468151d57e4719ec0ebd8aa1a529075f51bb1a6a661d/dbus_fast-2.44.1-cp311-cp311-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:6ad99f626837753b39a39e09facd2091ee4851ee1eb6ebec5fa9a9a231734254", size = 938034, upload-time = "2025-04-03T19:21:57.228Z" }, + { url = "https://files.pythonhosted.org/packages/7b/16/c0ffa2843616e8920800f806de2160a8a07a1c3e884eb7308602e41a5293/dbus_fast-2.44.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7aa157f689a114bfb5367c55884d35e25d57cf25202a6590ce05010f929e7df", size = 927438, upload-time = "2025-04-03T19:21:59.139Z" }, + { url = "https://files.pythonhosted.org/packages/7b/f6/8e984720ec59d79e7637c43feed1d73ebf81863dc7a516f782ceb14eb1fe/dbus_fast-2.44.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f961d8bcad80359f24c0156b3094f58a87d583d56139ee50922fe5894b6797cf", size = 900860, upload-time = "2025-04-03T19:22:00.984Z" }, + { url = "https://files.pythonhosted.org/packages/a0/4d/95e0ed9003f357c0f2fd18c52cdaf030410bf7bc914dd258258694061aa5/dbus_fast-2.44.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1f38fb5c31846c3ada8fc2b693d8d19953d376a9ea21079e3686e93faa1f8a0f", size = 982869, upload-time = "2025-04-03T19:22:02.547Z" }, + { url = "https://files.pythonhosted.org/packages/2e/9c/2fa2de83e90921addf77f1b2baa3489d2f174c8ccd1c7a59d00303eccade/dbus_fast-2.44.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:35e3cde53cc9180ce95c6c84a1e8d1ded429031e4a0a182606e8d22cf57d3294", size = 961978, upload-time = "2025-04-03T19:22:04.46Z" }, + { url = "https://files.pythonhosted.org/packages/3a/e9/b7b02aa77c66491b87f6720a025ffb99afd6a91c00d3425b221058d3cff6/dbus_fast-2.44.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3dd0f8d41f6ab9d4a782c116470bc319d690f9b50c97b6debc6d1fef08e4615a", size = 840421, upload-time = "2025-04-03T19:22:08.242Z" }, + { url = "https://files.pythonhosted.org/packages/35/79/c9bc498e959ae983e1772e4e4ae320342829f21186fd4c6a65369e63c1fc/dbus_fast-2.44.1-cp312-cp312-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:9d6e386658343db380b9e4e81b3bf4e3c17135dbb5889173b1f2582b675b9a8c", size = 912296, upload-time = "2025-04-03T19:22:09.873Z" }, + { url = "https://files.pythonhosted.org/packages/cc/a5/948a8cc0861893c6de8746d83cc900e7fd5229b97ed4c9092152b866459e/dbus_fast-2.44.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3bd27563c11219b6fde7a5458141d860d8445c2defb036bab360d1f9bf1dfae0", size = 895027, upload-time = "2025-04-03T19:22:11.803Z" }, + { url = "https://files.pythonhosted.org/packages/c2/d3/daa69f8253a6c41aedf517befdbed514e9cf96ebe7cbcfa5de154acff877/dbus_fast-2.44.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0272784aceac821dd63c8187a8860179061a850269617ff5c5bd25ca37bf9307", size = 855338, upload-time = "2025-04-03T19:22:13.793Z" }, + { url = "https://files.pythonhosted.org/packages/6b/44/adec235f8765a88a7b8ddd49c6592371f7ff126e928d03a98baf4ff1bf9d/dbus_fast-2.44.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:eed613a909a45f0e0a415c88b373024f007a9be56b1316812ed616d69a3b9161", size = 944282, upload-time = "2025-04-03T19:22:15.395Z" }, + { url = "https://files.pythonhosted.org/packages/ba/dd/a6f764c46f14214bdab2ab58820b5ff78e234a74246cc6069232d3aaf9e5/dbus_fast-2.44.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0d4288f2cba4f8309dcfd9f4392e0f4f2b5be6c796dfdb0c5e03228b1ab649b1", size = 923505, upload-time = "2025-04-03T19:22:16.992Z" }, + { url = "https://files.pythonhosted.org/packages/a5/ee/78bf56862fd6ae87998f1ef1d47849a9c5915abb4f0449a72b2c0885482b/dbus_fast-2.44.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89dc5db158bf9838979f732acc39e0e1ecd7e3295a09fa8adb93b09c097615a4", size = 834865, upload-time = "2025-04-03T19:22:20.408Z" }, + { url = "https://files.pythonhosted.org/packages/1b/67/2c0ef231189ff63fa49687f8529ad6bb5afc3bbfda5ba65d9ce3e816cfb8/dbus_fast-2.44.1-cp313-cp313-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:f11878c0c089d278861e48c02db8002496c2233b0f605b5630ef61f0b7fb0ea3", size = 905859, upload-time = "2025-04-03T19:22:22.106Z" }, + { url = "https://files.pythonhosted.org/packages/01/ef/9435eae3a658202c4342559b1dad82eb04edfa69fd803325e742c7627c6e/dbus_fast-2.44.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:afd81f483b3ffb71e88478cfabccc1fab8d7154fccb1c661bfafcff9b0cfd996", size = 888654, upload-time = "2025-04-03T19:22:24.06Z" }, + { url = "https://files.pythonhosted.org/packages/80/08/9e870f0c4d82f7d6c224f502e51416d9855b2580093bb21b0fc240077a93/dbus_fast-2.44.1-cp313-cp313-manylinux_2_36_x86_64.whl", hash = "sha256:ad499de96a991287232749c98a59f2436ed260f6fd9ad4cb3b04a4b1bbbef148", size = 891721, upload-time = "2025-04-03T19:07:18.264Z" }, + { url = "https://files.pythonhosted.org/packages/53/d2/256fe23f403f8bb22d4fb67b6ad21bcc1c98e4528e2d30a4ae9851fac066/dbus_fast-2.44.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:36c44286b11e83977cd29f9551b66b446bb6890dff04585852d975aa3a038ca2", size = 850255, upload-time = "2025-04-03T19:22:25.959Z" }, + { url = "https://files.pythonhosted.org/packages/28/ae/5d9964738bc9a59c9bb01bb4e196c541ed3495895297355c09283934756b/dbus_fast-2.44.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:89f2f6eccbb0e464b90e5a8741deb9d6a91873eeb41a8c7b963962b39eb1e0cd", size = 939093, upload-time = "2025-04-03T19:22:27.481Z" }, + { url = "https://files.pythonhosted.org/packages/f5/3e/1c97abdf0f19ce26ac2f7f18c141495fc7459679d016475f4ad5dedef316/dbus_fast-2.44.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:bb74a227b071e1a7c517bf3a3e4a5a0a2660620084162e74f15010075534c9d5", size = 915980, upload-time = "2025-04-03T19:22:29.067Z" }, + { url = "https://files.pythonhosted.org/packages/c7/ec/04c75a244acff834259d8c06f5396a8b28f57a1ace5dc6e86d47b39ee777/dbus_fast-2.44.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:806450623ef3f8df846524da7e448edc8174261a01cfd5dfda92e3df89c0de10", size = 882608, upload-time = "2025-04-03T19:22:32.59Z" }, + { url = "https://files.pythonhosted.org/packages/5e/71/9ff2c8aa5a71b5ed41b8c3890a905c4a1a3ae2bc6d40bf80dcdfe211811e/dbus_fast-2.44.1-cp39-cp39-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:55ad499b7ef08cb76fce9c9fdcdd6589d2ebfc7e53b3d261d8f40c6d97a8d901", size = 951369, upload-time = "2025-04-03T19:22:34.187Z" }, + { url = "https://files.pythonhosted.org/packages/af/5f/20255de2009384efb20510b59fd2b7465265eb934f68f8378d91165da92f/dbus_fast-2.44.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:55d717865219ec2ae9977b6d067c05261cdc3ef6205c687c8bb92b3437886e58", size = 931079, upload-time = "2025-04-03T19:22:35.833Z" }, + { url = "https://files.pythonhosted.org/packages/81/68/c082369566e5fbc95f962bd50ff0cba5e3d98ed030b9fe96b640f041a462/dbus_fast-2.44.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:39d4cc61e491e11912f76d70cc1c47387ab4f2e5b71f34bfa13eb11aa6026268", size = 899115, upload-time = "2025-04-03T19:22:37.628Z" }, + { url = "https://files.pythonhosted.org/packages/4a/f1/f4a373471675e7c6541334b6ff98c1967928bceb8a3199126073b339a2e6/dbus_fast-2.44.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:9b3b10151f1140f7b6dd47a89fc37edd05d6213be0a1748eadba82fc144c05c2", size = 985790, upload-time = "2025-04-03T19:22:39.302Z" }, + { url = "https://files.pythonhosted.org/packages/63/f6/c510bd4916639a085b157adde944400bd4f100ce61dacfa194dd6320186b/dbus_fast-2.44.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:33772c223f5cef1bacc298e83dc04b27b3a47065b245fde766fcc126e761dca7", size = 961912, upload-time = "2025-04-03T19:22:41.1Z" }, + { url = "https://files.pythonhosted.org/packages/81/9f/03b8e92fa6655e33b56c5172c9ccc95093850986ab706bd235b91bdc5653/dbus_fast-2.44.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f29a81d86c9ce3020a5df8c1e5557edaa00e1e00c9804ec874d46c99d967a686", size = 720870, upload-time = "2025-04-03T19:22:46.192Z" }, + { url = "https://files.pythonhosted.org/packages/39/af/c8ef58a4a4584db520b654731bfe35923c73bb769386411d8fecdeb016e3/dbus_fast-2.44.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:5dec134715457601c0fa8df3040a56d319de1a152464ae4d4bfc53bbb5c02e04", size = 767585, upload-time = "2025-04-03T19:22:48.875Z" }, + { url = "https://files.pythonhosted.org/packages/8c/e2/9e3ef29e40b44556f16756cd70ae8e7ec3b5fceec1b78c5e4849ed15f926/dbus_fast-2.44.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:893509b516f2f24b4e3f09a6b1f3a30f856cf237cd773cdc505ea7ab4fa3c863", size = 754941, upload-time = "2025-04-03T19:22:50.46Z" }, + { url = "https://files.pythonhosted.org/packages/bc/fc/1d6d3a00f0f6a93fc05ecced651b635932d5a37407b44d27a7dbf5f7c3bf/dbus_fast-2.44.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:161a3e6fc8783c30c9feb072e09604d96ec0c465b06bd35b6acc1a0316bd2a27", size = 721094, upload-time = "2025-04-03T19:22:54.03Z" }, + { url = "https://files.pythonhosted.org/packages/0a/3a/a37242eb170b0da9ef570d7da699420815e000a534b6c52d346ffa14f0a7/dbus_fast-2.44.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux_2_5_i686.manylinux1_i686.manylinux2014_i686.whl", hash = "sha256:67febe6454e714d85a532bd84969001ed948bbaf1699a7e1e4c6abb5508c9522", size = 768266, upload-time = "2025-04-03T19:22:55.596Z" }, + { url = "https://files.pythonhosted.org/packages/bf/77/f1d6afe5a05cbc3fed3d8a96231548664427c341f4bf35f5c7318c0be665/dbus_fast-2.44.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux_2_5_x86_64.manylinux1_x86_64.manylinux2014_x86_64.whl", hash = "sha256:890f0fc046d5db66524ddedeca8c14b65739fbbf32d6488175c07428362bf250", size = 754540, upload-time = "2025-04-03T19:22:57.18Z" }, ] [[package]] name = "distlib" version = "0.3.9" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0d/dd/1bec4c5ddb504ca60fc29472f3d27e8d4da1257a854e1d96742f15c1d02d/distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403", size = 613923 } +sdist = { url = "https://files.pythonhosted.org/packages/0d/dd/1bec4c5ddb504ca60fc29472f3d27e8d4da1257a854e1d96742f15c1d02d/distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403", size = 613923, upload-time = "2024-10-09T18:35:47.551Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/91/a1/cf2472db20f7ce4a6be1253a81cfdf85ad9c7885ffbed7047fb72c24cf87/distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87", size = 468973 }, + { url = "https://files.pythonhosted.org/packages/91/a1/cf2472db20f7ce4a6be1253a81cfdf85ad9c7885ffbed7047fb72c24cf87/distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87", size = 468973, upload-time = "2024-10-09T18:35:44.272Z" }, ] [[package]] name = "docutils" version = "0.21.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ae/ed/aefcc8cd0ba62a0560c3c18c33925362d46c6075480bfa4df87b28e169a9/docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f", size = 2204444 } +sdist = { url = "https://files.pythonhosted.org/packages/ae/ed/aefcc8cd0ba62a0560c3c18c33925362d46c6075480bfa4df87b28e169a9/docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f", size = 2204444, upload-time = "2024-04-23T18:57:18.24Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8f/d7/9322c609343d929e75e7e5e6255e614fcc67572cfd083959cdef3b7aad79/docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2", size = 587408 }, + { url = "https://files.pythonhosted.org/packages/8f/d7/9322c609343d929e75e7e5e6255e614fcc67572cfd083959cdef3b7aad79/docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2", size = 587408, upload-time = "2024-04-23T18:57:14.835Z" }, ] [[package]] name = "exceptiongroup" -version = "1.2.2" +version = "1.3.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/09/35/2495c4ac46b980e4ca1f6ad6db102322ef3ad2410b79fdde159a4b0f3b92/exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc", size = 28883 } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88", size = 29749, upload-time = "2025-05-10T17:42:51.123Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/02/cc/b7e31358aac6ed1ef2bb790a9746ac2c69bcb3c8588b41616914eb106eaf/exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b", size = 16453 }, + { url = "https://files.pythonhosted.org/packages/36/f4/c6e662dade71f56cd2f3735141b265c3c79293c109549c1e6933b0651ffc/exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10", size = 16674, upload-time = "2025-05-10T17:42:49.33Z" }, ] [[package]] name = "filelock" version = "3.18.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0a/10/c23352565a6544bdc5353e0b15fc1c563352101f30e24bf500207a54df9a/filelock-3.18.0.tar.gz", hash = "sha256:adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2", size = 18075 } +sdist = { url = "https://files.pythonhosted.org/packages/0a/10/c23352565a6544bdc5353e0b15fc1c563352101f30e24bf500207a54df9a/filelock-3.18.0.tar.gz", hash = "sha256:adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2", size = 18075, upload-time = "2025-03-14T07:11:40.47Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4d/36/2a115987e2d8c300a974597416d9de88f2444426de9571f4b59b2cca3acc/filelock-3.18.0-py3-none-any.whl", hash = "sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de", size = 16215 }, + { url = "https://files.pythonhosted.org/packages/4d/36/2a115987e2d8c300a974597416d9de88f2444426de9571f4b59b2cca3acc/filelock-3.18.0-py3-none-any.whl", hash = "sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de", size = 16215, upload-time = "2025-03-14T07:11:39.145Z" }, ] [[package]] @@ -556,14 +566,14 @@ requires-dist = [ { name = "aiohttp", specifier = ">=3.9.5,<4.0.0" }, { name = "beautifulsoup4", specifier = ">=4.12.3,<5.0.0" }, { name = "bleak", specifier = ">=0.22.2,<1.0.0" }, - { name = "cryptography", specifier = ">=42.0.0,<45.0.0" }, + { name = "cryptography", specifier = ">=42.0.0" }, { name = "srp", specifier = ">=1.0.21,<2.0.0" }, { name = "typing-extensions", specifier = ">=4.12.2,<5.0.0" }, ] [package.metadata.requires-dev] dev = [ - { name = "packaging", specifier = ">=24.1,<25.0" }, + { name = "packaging", specifier = ">=25.0,<26.0" }, { name = "pre-commit", specifier = ">=4.0.0,<5.0.0" }, { name = "pyright", specifier = ">=1.1.391,<2.0.0" }, { name = "ruff", specifier = ">=0.8.4,<1.0.0" }, @@ -577,134 +587,161 @@ test = [{ name = "pytest", specifier = ">=8.3.2,<9.0.0" }] [[package]] name = "frozenlist" -version = "1.5.0" +version = "1.7.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8f/ed/0f4cec13a93c02c47ec32d81d11c0c1efbadf4a471e3f3ce7cad366cbbd3/frozenlist-1.5.0.tar.gz", hash = "sha256:81d5af29e61b9c8348e876d442253723928dce6433e0e76cd925cd83f1b4b817", size = 39930 } +sdist = { url = "https://files.pythonhosted.org/packages/79/b1/b64018016eeb087db503b038296fd782586432b9c077fc5c7839e9cb6ef6/frozenlist-1.7.0.tar.gz", hash = "sha256:2e310d81923c2437ea8670467121cc3e9b0f76d3043cc1d2331d56c7fb7a3a8f", size = 45078, upload-time = "2025-06-09T23:02:35.538Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/54/79/29d44c4af36b2b240725dce566b20f63f9b36ef267aaaa64ee7466f4f2f8/frozenlist-1.5.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5b6a66c18b5b9dd261ca98dffcb826a525334b2f29e7caa54e182255c5f6a65a", size = 94451 }, - { url = "https://files.pythonhosted.org/packages/47/47/0c999aeace6ead8a44441b4f4173e2261b18219e4ad1fe9a479871ca02fc/frozenlist-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d1b3eb7b05ea246510b43a7e53ed1653e55c2121019a97e60cad7efb881a97bb", size = 54301 }, - { url = "https://files.pythonhosted.org/packages/8d/60/107a38c1e54176d12e06e9d4b5d755b677d71d1219217cee063911b1384f/frozenlist-1.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:15538c0cbf0e4fa11d1e3a71f823524b0c46299aed6e10ebb4c2089abd8c3bec", size = 52213 }, - { url = "https://files.pythonhosted.org/packages/17/62/594a6829ac5679c25755362a9dc93486a8a45241394564309641425d3ff6/frozenlist-1.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e79225373c317ff1e35f210dd5f1344ff31066ba8067c307ab60254cd3a78ad5", size = 240946 }, - { url = "https://files.pythonhosted.org/packages/7e/75/6c8419d8f92c80dd0ee3f63bdde2702ce6398b0ac8410ff459f9b6f2f9cb/frozenlist-1.5.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9272fa73ca71266702c4c3e2d4a28553ea03418e591e377a03b8e3659d94fa76", size = 264608 }, - { url = "https://files.pythonhosted.org/packages/88/3e/82a6f0b84bc6fb7e0be240e52863c6d4ab6098cd62e4f5b972cd31e002e8/frozenlist-1.5.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:498524025a5b8ba81695761d78c8dd7382ac0b052f34e66939c42df860b8ff17", size = 261361 }, - { url = "https://files.pythonhosted.org/packages/fd/85/14e5f9ccac1b64ff2f10c927b3ffdf88772aea875882406f9ba0cec8ad84/frozenlist-1.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:92b5278ed9d50fe610185ecd23c55d8b307d75ca18e94c0e7de328089ac5dcba", size = 231649 }, - { url = "https://files.pythonhosted.org/packages/ee/59/928322800306f6529d1852323014ee9008551e9bb027cc38d276cbc0b0e7/frozenlist-1.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f3c8c1dacd037df16e85227bac13cca58c30da836c6f936ba1df0c05d046d8d", size = 241853 }, - { url = "https://files.pythonhosted.org/packages/7d/bd/e01fa4f146a6f6c18c5d34cab8abdc4013774a26c4ff851128cd1bd3008e/frozenlist-1.5.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f2ac49a9bedb996086057b75bf93538240538c6d9b38e57c82d51f75a73409d2", size = 243652 }, - { url = "https://files.pythonhosted.org/packages/a5/bd/e4771fd18a8ec6757033f0fa903e447aecc3fbba54e3630397b61596acf0/frozenlist-1.5.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e66cc454f97053b79c2ab09c17fbe3c825ea6b4de20baf1be28919460dd7877f", size = 241734 }, - { url = "https://files.pythonhosted.org/packages/21/13/c83821fa5544af4f60c5d3a65d054af3213c26b14d3f5f48e43e5fb48556/frozenlist-1.5.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:5a3ba5f9a0dfed20337d3e966dc359784c9f96503674c2faf015f7fe8e96798c", size = 260959 }, - { url = "https://files.pythonhosted.org/packages/71/f3/1f91c9a9bf7ed0e8edcf52698d23f3c211d8d00291a53c9f115ceb977ab1/frozenlist-1.5.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6321899477db90bdeb9299ac3627a6a53c7399c8cd58d25da094007402b039ab", size = 262706 }, - { url = "https://files.pythonhosted.org/packages/4c/22/4a256fdf5d9bcb3ae32622c796ee5ff9451b3a13a68cfe3f68e2c95588ce/frozenlist-1.5.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:76e4753701248476e6286f2ef492af900ea67d9706a0155335a40ea21bf3b2f5", size = 250401 }, - { url = "https://files.pythonhosted.org/packages/af/89/c48ebe1f7991bd2be6d5f4ed202d94960c01b3017a03d6954dd5fa9ea1e8/frozenlist-1.5.0-cp310-cp310-win32.whl", hash = "sha256:977701c081c0241d0955c9586ffdd9ce44f7a7795df39b9151cd9a6fd0ce4cfb", size = 45498 }, - { url = "https://files.pythonhosted.org/packages/28/2f/cc27d5f43e023d21fe5c19538e08894db3d7e081cbf582ad5ed366c24446/frozenlist-1.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:189f03b53e64144f90990d29a27ec4f7997d91ed3d01b51fa39d2dbe77540fd4", size = 51622 }, - { url = "https://files.pythonhosted.org/packages/79/43/0bed28bf5eb1c9e4301003b74453b8e7aa85fb293b31dde352aac528dafc/frozenlist-1.5.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fd74520371c3c4175142d02a976aee0b4cb4a7cc912a60586ffd8d5929979b30", size = 94987 }, - { url = "https://files.pythonhosted.org/packages/bb/bf/b74e38f09a246e8abbe1e90eb65787ed745ccab6eaa58b9c9308e052323d/frozenlist-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2f3f7a0fbc219fb4455264cae4d9f01ad41ae6ee8524500f381de64ffaa077d5", size = 54584 }, - { url = "https://files.pythonhosted.org/packages/2c/31/ab01375682f14f7613a1ade30149f684c84f9b8823a4391ed950c8285656/frozenlist-1.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f47c9c9028f55a04ac254346e92977bf0f166c483c74b4232bee19a6697e4778", size = 52499 }, - { url = "https://files.pythonhosted.org/packages/98/a8/d0ac0b9276e1404f58fec3ab6e90a4f76b778a49373ccaf6a563f100dfbc/frozenlist-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0996c66760924da6e88922756d99b47512a71cfd45215f3570bf1e0b694c206a", size = 276357 }, - { url = "https://files.pythonhosted.org/packages/ad/c9/c7761084fa822f07dac38ac29f841d4587570dd211e2262544aa0b791d21/frozenlist-1.5.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a2fe128eb4edeabe11896cb6af88fca5346059f6c8d807e3b910069f39157869", size = 287516 }, - { url = "https://files.pythonhosted.org/packages/a1/ff/cd7479e703c39df7bdab431798cef89dc75010d8aa0ca2514c5b9321db27/frozenlist-1.5.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a8ea951bbb6cacd492e3948b8da8c502a3f814f5d20935aae74b5df2b19cf3d", size = 283131 }, - { url = "https://files.pythonhosted.org/packages/59/a0/370941beb47d237eca4fbf27e4e91389fd68699e6f4b0ebcc95da463835b/frozenlist-1.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de537c11e4aa01d37db0d403b57bd6f0546e71a82347a97c6a9f0dcc532b3a45", size = 261320 }, - { url = "https://files.pythonhosted.org/packages/b8/5f/c10123e8d64867bc9b4f2f510a32042a306ff5fcd7e2e09e5ae5100ee333/frozenlist-1.5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c2623347b933fcb9095841f1cc5d4ff0b278addd743e0e966cb3d460278840d", size = 274877 }, - { url = "https://files.pythonhosted.org/packages/fa/79/38c505601ae29d4348f21706c5d89755ceded02a745016ba2f58bd5f1ea6/frozenlist-1.5.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cee6798eaf8b1416ef6909b06f7dc04b60755206bddc599f52232606e18179d3", size = 269592 }, - { url = "https://files.pythonhosted.org/packages/19/e2/39f3a53191b8204ba9f0bb574b926b73dd2efba2a2b9d2d730517e8f7622/frozenlist-1.5.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f5f9da7f5dbc00a604fe74aa02ae7c98bcede8a3b8b9666f9f86fc13993bc71a", size = 265934 }, - { url = "https://files.pythonhosted.org/packages/d5/c9/3075eb7f7f3a91f1a6b00284af4de0a65a9ae47084930916f5528144c9dd/frozenlist-1.5.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:90646abbc7a5d5c7c19461d2e3eeb76eb0b204919e6ece342feb6032c9325ae9", size = 283859 }, - { url = "https://files.pythonhosted.org/packages/05/f5/549f44d314c29408b962fa2b0e69a1a67c59379fb143b92a0a065ffd1f0f/frozenlist-1.5.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:bdac3c7d9b705d253b2ce370fde941836a5f8b3c5c2b8fd70940a3ea3af7f4f2", size = 287560 }, - { url = "https://files.pythonhosted.org/packages/9d/f8/cb09b3c24a3eac02c4c07a9558e11e9e244fb02bf62c85ac2106d1eb0c0b/frozenlist-1.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:03d33c2ddbc1816237a67f66336616416e2bbb6beb306e5f890f2eb22b959cdf", size = 277150 }, - { url = "https://files.pythonhosted.org/packages/37/48/38c2db3f54d1501e692d6fe058f45b6ad1b358d82cd19436efab80cfc965/frozenlist-1.5.0-cp311-cp311-win32.whl", hash = "sha256:237f6b23ee0f44066219dae14c70ae38a63f0440ce6750f868ee08775073f942", size = 45244 }, - { url = "https://files.pythonhosted.org/packages/ca/8c/2ddffeb8b60a4bce3b196c32fcc30d8830d4615e7b492ec2071da801b8ad/frozenlist-1.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:0cc974cc93d32c42e7b0f6cf242a6bd941c57c61b618e78b6c0a96cb72788c1d", size = 51634 }, - { url = "https://files.pythonhosted.org/packages/79/73/fa6d1a96ab7fd6e6d1c3500700963eab46813847f01ef0ccbaa726181dd5/frozenlist-1.5.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:31115ba75889723431aa9a4e77d5f398f5cf976eea3bdf61749731f62d4a4a21", size = 94026 }, - { url = "https://files.pythonhosted.org/packages/ab/04/ea8bf62c8868b8eada363f20ff1b647cf2e93377a7b284d36062d21d81d1/frozenlist-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7437601c4d89d070eac8323f121fcf25f88674627505334654fd027b091db09d", size = 54150 }, - { url = "https://files.pythonhosted.org/packages/d0/9a/8e479b482a6f2070b26bda572c5e6889bb3ba48977e81beea35b5ae13ece/frozenlist-1.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7948140d9f8ece1745be806f2bfdf390127cf1a763b925c4a805c603df5e697e", size = 51927 }, - { url = "https://files.pythonhosted.org/packages/e3/12/2aad87deb08a4e7ccfb33600871bbe8f0e08cb6d8224371387f3303654d7/frozenlist-1.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:feeb64bc9bcc6b45c6311c9e9b99406660a9c05ca8a5b30d14a78555088b0b3a", size = 282647 }, - { url = "https://files.pythonhosted.org/packages/77/f2/07f06b05d8a427ea0060a9cef6e63405ea9e0d761846b95ef3fb3be57111/frozenlist-1.5.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:683173d371daad49cffb8309779e886e59c2f369430ad28fe715f66d08d4ab1a", size = 289052 }, - { url = "https://files.pythonhosted.org/packages/bd/9f/8bf45a2f1cd4aa401acd271b077989c9267ae8463e7c8b1eb0d3f561b65e/frozenlist-1.5.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7d57d8f702221405a9d9b40f9da8ac2e4a1a8b5285aac6100f3393675f0a85ee", size = 291719 }, - { url = "https://files.pythonhosted.org/packages/41/d1/1f20fd05a6c42d3868709b7604c9f15538a29e4f734c694c6bcfc3d3b935/frozenlist-1.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30c72000fbcc35b129cb09956836c7d7abf78ab5416595e4857d1cae8d6251a6", size = 267433 }, - { url = "https://files.pythonhosted.org/packages/af/f2/64b73a9bb86f5a89fb55450e97cd5c1f84a862d4ff90d9fd1a73ab0f64a5/frozenlist-1.5.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:000a77d6034fbad9b6bb880f7ec073027908f1b40254b5d6f26210d2dab1240e", size = 283591 }, - { url = "https://files.pythonhosted.org/packages/29/e2/ffbb1fae55a791fd6c2938dd9ea779509c977435ba3940b9f2e8dc9d5316/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5d7f5a50342475962eb18b740f3beecc685a15b52c91f7d975257e13e029eca9", size = 273249 }, - { url = "https://files.pythonhosted.org/packages/2e/6e/008136a30798bb63618a114b9321b5971172a5abddff44a100c7edc5ad4f/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:87f724d055eb4785d9be84e9ebf0f24e392ddfad00b3fe036e43f489fafc9039", size = 271075 }, - { url = "https://files.pythonhosted.org/packages/ae/f0/4e71e54a026b06724cec9b6c54f0b13a4e9e298cc8db0f82ec70e151f5ce/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:6e9080bb2fb195a046e5177f10d9d82b8a204c0736a97a153c2466127de87784", size = 285398 }, - { url = "https://files.pythonhosted.org/packages/4d/36/70ec246851478b1c0b59f11ef8ade9c482ff447c1363c2bd5fad45098b12/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9b93d7aaa36c966fa42efcaf716e6b3900438632a626fb09c049f6a2f09fc631", size = 294445 }, - { url = "https://files.pythonhosted.org/packages/37/e0/47f87544055b3349b633a03c4d94b405956cf2437f4ab46d0928b74b7526/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:52ef692a4bc60a6dd57f507429636c2af8b6046db8b31b18dac02cbc8f507f7f", size = 280569 }, - { url = "https://files.pythonhosted.org/packages/f9/7c/490133c160fb6b84ed374c266f42800e33b50c3bbab1652764e6e1fc498a/frozenlist-1.5.0-cp312-cp312-win32.whl", hash = "sha256:29d94c256679247b33a3dc96cce0f93cbc69c23bf75ff715919332fdbb6a32b8", size = 44721 }, - { url = "https://files.pythonhosted.org/packages/b1/56/4e45136ffc6bdbfa68c29ca56ef53783ef4c2fd395f7cbf99a2624aa9aaa/frozenlist-1.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:8969190d709e7c48ea386db202d708eb94bdb29207a1f269bab1196ce0dcca1f", size = 51329 }, - { url = "https://files.pythonhosted.org/packages/da/3b/915f0bca8a7ea04483622e84a9bd90033bab54bdf485479556c74fd5eaf5/frozenlist-1.5.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7a1a048f9215c90973402e26c01d1cff8a209e1f1b53f72b95c13db61b00f953", size = 91538 }, - { url = "https://files.pythonhosted.org/packages/c7/d1/a7c98aad7e44afe5306a2b068434a5830f1470675f0e715abb86eb15f15b/frozenlist-1.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dd47a5181ce5fcb463b5d9e17ecfdb02b678cca31280639255ce9d0e5aa67af0", size = 52849 }, - { url = "https://files.pythonhosted.org/packages/3a/c8/76f23bf9ab15d5f760eb48701909645f686f9c64fbb8982674c241fbef14/frozenlist-1.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1431d60b36d15cda188ea222033eec8e0eab488f39a272461f2e6d9e1a8e63c2", size = 50583 }, - { url = "https://files.pythonhosted.org/packages/1f/22/462a3dd093d11df623179d7754a3b3269de3b42de2808cddef50ee0f4f48/frozenlist-1.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6482a5851f5d72767fbd0e507e80737f9c8646ae7fd303def99bfe813f76cf7f", size = 265636 }, - { url = "https://files.pythonhosted.org/packages/80/cf/e075e407fc2ae7328155a1cd7e22f932773c8073c1fc78016607d19cc3e5/frozenlist-1.5.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44c49271a937625619e862baacbd037a7ef86dd1ee215afc298a417ff3270608", size = 270214 }, - { url = "https://files.pythonhosted.org/packages/a1/58/0642d061d5de779f39c50cbb00df49682832923f3d2ebfb0fedf02d05f7f/frozenlist-1.5.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:12f78f98c2f1c2429d42e6a485f433722b0061d5c0b0139efa64f396efb5886b", size = 273905 }, - { url = "https://files.pythonhosted.org/packages/ab/66/3fe0f5f8f2add5b4ab7aa4e199f767fd3b55da26e3ca4ce2cc36698e50c4/frozenlist-1.5.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce3aa154c452d2467487765e3adc730a8c153af77ad84096bc19ce19a2400840", size = 250542 }, - { url = "https://files.pythonhosted.org/packages/f6/b8/260791bde9198c87a465224e0e2bb62c4e716f5d198fc3a1dacc4895dbd1/frozenlist-1.5.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b7dc0c4338e6b8b091e8faf0db3168a37101943e687f373dce00959583f7439", size = 267026 }, - { url = "https://files.pythonhosted.org/packages/2e/a4/3d24f88c527f08f8d44ade24eaee83b2627793fa62fa07cbb7ff7a2f7d42/frozenlist-1.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:45e0896250900b5aa25180f9aec243e84e92ac84bd4a74d9ad4138ef3f5c97de", size = 257690 }, - { url = "https://files.pythonhosted.org/packages/de/9a/d311d660420b2beeff3459b6626f2ab4fb236d07afbdac034a4371fe696e/frozenlist-1.5.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:561eb1c9579d495fddb6da8959fd2a1fca2c6d060d4113f5844b433fc02f2641", size = 253893 }, - { url = "https://files.pythonhosted.org/packages/c6/23/e491aadc25b56eabd0f18c53bb19f3cdc6de30b2129ee0bc39cd387cd560/frozenlist-1.5.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:df6e2f325bfee1f49f81aaac97d2aa757c7646534a06f8f577ce184afe2f0a9e", size = 267006 }, - { url = "https://files.pythonhosted.org/packages/08/c4/ab918ce636a35fb974d13d666dcbe03969592aeca6c3ab3835acff01f79c/frozenlist-1.5.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:140228863501b44b809fb39ec56b5d4071f4d0aa6d216c19cbb08b8c5a7eadb9", size = 276157 }, - { url = "https://files.pythonhosted.org/packages/c0/29/3b7a0bbbbe5a34833ba26f686aabfe982924adbdcafdc294a7a129c31688/frozenlist-1.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7707a25d6a77f5d27ea7dc7d1fc608aa0a478193823f88511ef5e6b8a48f9d03", size = 264642 }, - { url = "https://files.pythonhosted.org/packages/ab/42/0595b3dbffc2e82d7fe658c12d5a5bafcd7516c6bf2d1d1feb5387caa9c1/frozenlist-1.5.0-cp313-cp313-win32.whl", hash = "sha256:31a9ac2b38ab9b5a8933b693db4939764ad3f299fcaa931a3e605bc3460e693c", size = 44914 }, - { url = "https://files.pythonhosted.org/packages/17/c4/b7db1206a3fea44bf3b838ca61deb6f74424a8a5db1dd53ecb21da669be6/frozenlist-1.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:11aabdd62b8b9c4b84081a3c246506d1cddd2dd93ff0ad53ede5defec7886b28", size = 51167 }, - { url = "https://files.pythonhosted.org/packages/da/4d/d94ff0fb0f5313902c132817c62d19cdc5bdcd0c195d392006ef4b779fc6/frozenlist-1.5.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9bbcdfaf4af7ce002694a4e10a0159d5a8d20056a12b05b45cea944a4953f972", size = 95319 }, - { url = "https://files.pythonhosted.org/packages/8c/1b/d90e554ca2b483d31cb2296e393f72c25bdc38d64526579e95576bfda587/frozenlist-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1893f948bf6681733aaccf36c5232c231e3b5166d607c5fa77773611df6dc336", size = 54749 }, - { url = "https://files.pythonhosted.org/packages/f8/66/7fdecc9ef49f8db2aa4d9da916e4ecf357d867d87aea292efc11e1b2e932/frozenlist-1.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2b5e23253bb709ef57a8e95e6ae48daa9ac5f265637529e4ce6b003a37b2621f", size = 52718 }, - { url = "https://files.pythonhosted.org/packages/08/04/e2fddc92135276e07addbc1cf413acffa0c2d848b3e54cacf684e146df49/frozenlist-1.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f253985bb515ecd89629db13cb58d702035ecd8cfbca7d7a7e29a0e6d39af5f", size = 241756 }, - { url = "https://files.pythonhosted.org/packages/c6/52/be5ff200815d8a341aee5b16b6b707355e0ca3652953852238eb92b120c2/frozenlist-1.5.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:04a5c6babd5e8fb7d3c871dc8b321166b80e41b637c31a995ed844a6139942b6", size = 267718 }, - { url = "https://files.pythonhosted.org/packages/88/be/4bd93a58be57a3722fc544c36debdf9dcc6758f761092e894d78f18b8f20/frozenlist-1.5.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fe0f1c29ba24ba6ff6abf688cb0b7cf1efab6b6aa6adc55441773c252f7411", size = 263494 }, - { url = "https://files.pythonhosted.org/packages/32/ba/58348b90193caa096ce9e9befea6ae67f38dabfd3aacb47e46137a6250a8/frozenlist-1.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:226d72559fa19babe2ccd920273e767c96a49b9d3d38badd7c91a0fdeda8ea08", size = 232838 }, - { url = "https://files.pythonhosted.org/packages/f6/33/9f152105227630246135188901373c4f322cc026565ca6215b063f4c82f4/frozenlist-1.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15b731db116ab3aedec558573c1a5eec78822b32292fe4f2f0345b7f697745c2", size = 242912 }, - { url = "https://files.pythonhosted.org/packages/a0/10/3db38fb3ccbafadd80a1b0d6800c987b0e3fe3ef2d117c6ced0246eea17a/frozenlist-1.5.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:366d8f93e3edfe5a918c874702f78faac300209a4d5bf38352b2c1bdc07a766d", size = 244763 }, - { url = "https://files.pythonhosted.org/packages/e2/cd/1df468fdce2f66a4608dffe44c40cdc35eeaa67ef7fd1d813f99a9a37842/frozenlist-1.5.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1b96af8c582b94d381a1c1f51ffaedeb77c821c690ea5f01da3d70a487dd0a9b", size = 242841 }, - { url = "https://files.pythonhosted.org/packages/ee/5f/16097a5ca0bb6b6779c02cc9379c72fe98d56115d4c54d059fb233168fb6/frozenlist-1.5.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:c03eff4a41bd4e38415cbed054bbaff4a075b093e2394b6915dca34a40d1e38b", size = 263407 }, - { url = "https://files.pythonhosted.org/packages/0f/f7/58cd220ee1c2248ee65a32f5b4b93689e3fe1764d85537eee9fc392543bc/frozenlist-1.5.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:50cf5e7ee9b98f22bdecbabf3800ae78ddcc26e4a435515fc72d97903e8488e0", size = 265083 }, - { url = "https://files.pythonhosted.org/packages/62/b8/49768980caabf81ac4a2d156008f7cbd0107e6b36d08a313bb31035d9201/frozenlist-1.5.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1e76bfbc72353269c44e0bc2cfe171900fbf7f722ad74c9a7b638052afe6a00c", size = 251564 }, - { url = "https://files.pythonhosted.org/packages/cb/83/619327da3b86ef957ee7a0cbf3c166a09ed1e87a3f7f1ff487d7d0284683/frozenlist-1.5.0-cp39-cp39-win32.whl", hash = "sha256:666534d15ba8f0fda3f53969117383d5dc021266b3c1a42c9ec4855e4b58b9d3", size = 45691 }, - { url = "https://files.pythonhosted.org/packages/8b/28/407bc34a745151ed2322c690b6e7d83d7101472e81ed76e1ebdac0b70a78/frozenlist-1.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:5c28f4b5dbef8a0d8aad0d4de24d1e9e981728628afaf4ea0792f5d0939372f0", size = 51767 }, - { url = "https://files.pythonhosted.org/packages/c6/c8/a5be5b7550c10858fcf9b0ea054baccab474da77d37f1e828ce043a3a5d4/frozenlist-1.5.0-py3-none-any.whl", hash = "sha256:d994863bba198a4a518b467bb971c56e1db3f180a25c6cf7bb1949c267f748c3", size = 11901 }, + { url = "https://files.pythonhosted.org/packages/af/36/0da0a49409f6b47cc2d060dc8c9040b897b5902a8a4e37d9bc1deb11f680/frozenlist-1.7.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cc4df77d638aa2ed703b878dd093725b72a824c3c546c076e8fdf276f78ee84a", size = 81304, upload-time = "2025-06-09T22:59:46.226Z" }, + { url = "https://files.pythonhosted.org/packages/77/f0/77c11d13d39513b298e267b22eb6cb559c103d56f155aa9a49097221f0b6/frozenlist-1.7.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:716a9973a2cc963160394f701964fe25012600f3d311f60c790400b00e568b61", size = 47735, upload-time = "2025-06-09T22:59:48.133Z" }, + { url = "https://files.pythonhosted.org/packages/37/12/9d07fa18971a44150593de56b2f2947c46604819976784bcf6ea0d5db43b/frozenlist-1.7.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a0fd1bad056a3600047fb9462cff4c5322cebc59ebf5d0a3725e0ee78955001d", size = 46775, upload-time = "2025-06-09T22:59:49.564Z" }, + { url = "https://files.pythonhosted.org/packages/70/34/f73539227e06288fcd1f8a76853e755b2b48bca6747e99e283111c18bcd4/frozenlist-1.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3789ebc19cb811163e70fe2bd354cea097254ce6e707ae42e56f45e31e96cb8e", size = 224644, upload-time = "2025-06-09T22:59:51.35Z" }, + { url = "https://files.pythonhosted.org/packages/fb/68/c1d9c2f4a6e438e14613bad0f2973567586610cc22dcb1e1241da71de9d3/frozenlist-1.7.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:af369aa35ee34f132fcfad5be45fbfcde0e3a5f6a1ec0712857f286b7d20cca9", size = 222125, upload-time = "2025-06-09T22:59:52.884Z" }, + { url = "https://files.pythonhosted.org/packages/b9/d0/98e8f9a515228d708344d7c6986752be3e3192d1795f748c24bcf154ad99/frozenlist-1.7.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac64b6478722eeb7a3313d494f8342ef3478dff539d17002f849101b212ef97c", size = 233455, upload-time = "2025-06-09T22:59:54.74Z" }, + { url = "https://files.pythonhosted.org/packages/79/df/8a11bcec5600557f40338407d3e5bea80376ed1c01a6c0910fcfdc4b8993/frozenlist-1.7.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f89f65d85774f1797239693cef07ad4c97fdd0639544bad9ac4b869782eb1981", size = 227339, upload-time = "2025-06-09T22:59:56.187Z" }, + { url = "https://files.pythonhosted.org/packages/50/82/41cb97d9c9a5ff94438c63cc343eb7980dac4187eb625a51bdfdb7707314/frozenlist-1.7.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1073557c941395fdfcfac13eb2456cb8aad89f9de27bae29fabca8e563b12615", size = 212969, upload-time = "2025-06-09T22:59:57.604Z" }, + { url = "https://files.pythonhosted.org/packages/13/47/f9179ee5ee4f55629e4f28c660b3fdf2775c8bfde8f9c53f2de2d93f52a9/frozenlist-1.7.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ed8d2fa095aae4bdc7fdd80351009a48d286635edffee66bf865e37a9125c50", size = 222862, upload-time = "2025-06-09T22:59:59.498Z" }, + { url = "https://files.pythonhosted.org/packages/1a/52/df81e41ec6b953902c8b7e3a83bee48b195cb0e5ec2eabae5d8330c78038/frozenlist-1.7.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:24c34bea555fe42d9f928ba0a740c553088500377448febecaa82cc3e88aa1fa", size = 222492, upload-time = "2025-06-09T23:00:01.026Z" }, + { url = "https://files.pythonhosted.org/packages/84/17/30d6ea87fa95a9408245a948604b82c1a4b8b3e153cea596421a2aef2754/frozenlist-1.7.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:69cac419ac6a6baad202c85aaf467b65ac860ac2e7f2ac1686dc40dbb52f6577", size = 238250, upload-time = "2025-06-09T23:00:03.401Z" }, + { url = "https://files.pythonhosted.org/packages/8f/00/ecbeb51669e3c3df76cf2ddd66ae3e48345ec213a55e3887d216eb4fbab3/frozenlist-1.7.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:960d67d0611f4c87da7e2ae2eacf7ea81a5be967861e0c63cf205215afbfac59", size = 218720, upload-time = "2025-06-09T23:00:05.282Z" }, + { url = "https://files.pythonhosted.org/packages/1a/c0/c224ce0e0eb31cc57f67742071bb470ba8246623c1823a7530be0e76164c/frozenlist-1.7.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:41be2964bd4b15bf575e5daee5a5ce7ed3115320fb3c2b71fca05582ffa4dc9e", size = 232585, upload-time = "2025-06-09T23:00:07.962Z" }, + { url = "https://files.pythonhosted.org/packages/55/3c/34cb694abf532f31f365106deebdeac9e45c19304d83cf7d51ebbb4ca4d1/frozenlist-1.7.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:46d84d49e00c9429238a7ce02dc0be8f6d7cd0cd405abd1bebdc991bf27c15bd", size = 234248, upload-time = "2025-06-09T23:00:09.428Z" }, + { url = "https://files.pythonhosted.org/packages/98/c0/2052d8b6cecda2e70bd81299e3512fa332abb6dcd2969b9c80dfcdddbf75/frozenlist-1.7.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:15900082e886edb37480335d9d518cec978afc69ccbc30bd18610b7c1b22a718", size = 221621, upload-time = "2025-06-09T23:00:11.32Z" }, + { url = "https://files.pythonhosted.org/packages/c5/bf/7dcebae315436903b1d98ffb791a09d674c88480c158aa171958a3ac07f0/frozenlist-1.7.0-cp310-cp310-win32.whl", hash = "sha256:400ddd24ab4e55014bba442d917203c73b2846391dd42ca5e38ff52bb18c3c5e", size = 39578, upload-time = "2025-06-09T23:00:13.526Z" }, + { url = "https://files.pythonhosted.org/packages/8f/5f/f69818f017fa9a3d24d1ae39763e29b7f60a59e46d5f91b9c6b21622f4cd/frozenlist-1.7.0-cp310-cp310-win_amd64.whl", hash = "sha256:6eb93efb8101ef39d32d50bce242c84bcbddb4f7e9febfa7b524532a239b4464", size = 43830, upload-time = "2025-06-09T23:00:14.98Z" }, + { url = "https://files.pythonhosted.org/packages/34/7e/803dde33760128acd393a27eb002f2020ddb8d99d30a44bfbaab31c5f08a/frozenlist-1.7.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:aa51e147a66b2d74de1e6e2cf5921890de6b0f4820b257465101d7f37b49fb5a", size = 82251, upload-time = "2025-06-09T23:00:16.279Z" }, + { url = "https://files.pythonhosted.org/packages/75/a9/9c2c5760b6ba45eae11334db454c189d43d34a4c0b489feb2175e5e64277/frozenlist-1.7.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9b35db7ce1cd71d36ba24f80f0c9e7cff73a28d7a74e91fe83e23d27c7828750", size = 48183, upload-time = "2025-06-09T23:00:17.698Z" }, + { url = "https://files.pythonhosted.org/packages/47/be/4038e2d869f8a2da165f35a6befb9158c259819be22eeaf9c9a8f6a87771/frozenlist-1.7.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:34a69a85e34ff37791e94542065c8416c1afbf820b68f720452f636d5fb990cd", size = 47107, upload-time = "2025-06-09T23:00:18.952Z" }, + { url = "https://files.pythonhosted.org/packages/79/26/85314b8a83187c76a37183ceed886381a5f992975786f883472fcb6dc5f2/frozenlist-1.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a646531fa8d82c87fe4bb2e596f23173caec9185bfbca5d583b4ccfb95183e2", size = 237333, upload-time = "2025-06-09T23:00:20.275Z" }, + { url = "https://files.pythonhosted.org/packages/1f/fd/e5b64f7d2c92a41639ffb2ad44a6a82f347787abc0c7df5f49057cf11770/frozenlist-1.7.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:79b2ffbba483f4ed36a0f236ccb85fbb16e670c9238313709638167670ba235f", size = 231724, upload-time = "2025-06-09T23:00:21.705Z" }, + { url = "https://files.pythonhosted.org/packages/20/fb/03395c0a43a5976af4bf7534759d214405fbbb4c114683f434dfdd3128ef/frozenlist-1.7.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a26f205c9ca5829cbf82bb2a84b5c36f7184c4316617d7ef1b271a56720d6b30", size = 245842, upload-time = "2025-06-09T23:00:23.148Z" }, + { url = "https://files.pythonhosted.org/packages/d0/15/c01c8e1dffdac5d9803507d824f27aed2ba76b6ed0026fab4d9866e82f1f/frozenlist-1.7.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bcacfad3185a623fa11ea0e0634aac7b691aa925d50a440f39b458e41c561d98", size = 239767, upload-time = "2025-06-09T23:00:25.103Z" }, + { url = "https://files.pythonhosted.org/packages/14/99/3f4c6fe882c1f5514b6848aa0a69b20cb5e5d8e8f51a339d48c0e9305ed0/frozenlist-1.7.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:72c1b0fe8fe451b34f12dce46445ddf14bd2a5bcad7e324987194dc8e3a74c86", size = 224130, upload-time = "2025-06-09T23:00:27.061Z" }, + { url = "https://files.pythonhosted.org/packages/4d/83/220a374bd7b2aeba9d0725130665afe11de347d95c3620b9b82cc2fcab97/frozenlist-1.7.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61d1a5baeaac6c0798ff6edfaeaa00e0e412d49946c53fae8d4b8e8b3566c4ae", size = 235301, upload-time = "2025-06-09T23:00:29.02Z" }, + { url = "https://files.pythonhosted.org/packages/03/3c/3e3390d75334a063181625343e8daab61b77e1b8214802cc4e8a1bb678fc/frozenlist-1.7.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7edf5c043c062462f09b6820de9854bf28cc6cc5b6714b383149745e287181a8", size = 234606, upload-time = "2025-06-09T23:00:30.514Z" }, + { url = "https://files.pythonhosted.org/packages/23/1e/58232c19608b7a549d72d9903005e2d82488f12554a32de2d5fb59b9b1ba/frozenlist-1.7.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:d50ac7627b3a1bd2dcef6f9da89a772694ec04d9a61b66cf87f7d9446b4a0c31", size = 248372, upload-time = "2025-06-09T23:00:31.966Z" }, + { url = "https://files.pythonhosted.org/packages/c0/a4/e4a567e01702a88a74ce8a324691e62a629bf47d4f8607f24bf1c7216e7f/frozenlist-1.7.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ce48b2fece5aeb45265bb7a58259f45027db0abff478e3077e12b05b17fb9da7", size = 229860, upload-time = "2025-06-09T23:00:33.375Z" }, + { url = "https://files.pythonhosted.org/packages/73/a6/63b3374f7d22268b41a9db73d68a8233afa30ed164c46107b33c4d18ecdd/frozenlist-1.7.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:fe2365ae915a1fafd982c146754e1de6ab3478def8a59c86e1f7242d794f97d5", size = 245893, upload-time = "2025-06-09T23:00:35.002Z" }, + { url = "https://files.pythonhosted.org/packages/6d/eb/d18b3f6e64799a79673c4ba0b45e4cfbe49c240edfd03a68be20002eaeaa/frozenlist-1.7.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:45a6f2fdbd10e074e8814eb98b05292f27bad7d1883afbe009d96abdcf3bc898", size = 246323, upload-time = "2025-06-09T23:00:36.468Z" }, + { url = "https://files.pythonhosted.org/packages/5a/f5/720f3812e3d06cd89a1d5db9ff6450088b8f5c449dae8ffb2971a44da506/frozenlist-1.7.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:21884e23cffabb157a9dd7e353779077bf5b8f9a58e9b262c6caad2ef5f80a56", size = 233149, upload-time = "2025-06-09T23:00:37.963Z" }, + { url = "https://files.pythonhosted.org/packages/69/68/03efbf545e217d5db8446acfd4c447c15b7c8cf4dbd4a58403111df9322d/frozenlist-1.7.0-cp311-cp311-win32.whl", hash = "sha256:284d233a8953d7b24f9159b8a3496fc1ddc00f4db99c324bd5fb5f22d8698ea7", size = 39565, upload-time = "2025-06-09T23:00:39.753Z" }, + { url = "https://files.pythonhosted.org/packages/58/17/fe61124c5c333ae87f09bb67186d65038834a47d974fc10a5fadb4cc5ae1/frozenlist-1.7.0-cp311-cp311-win_amd64.whl", hash = "sha256:387cbfdcde2f2353f19c2f66bbb52406d06ed77519ac7ee21be0232147c2592d", size = 44019, upload-time = "2025-06-09T23:00:40.988Z" }, + { url = "https://files.pythonhosted.org/packages/ef/a2/c8131383f1e66adad5f6ecfcce383d584ca94055a34d683bbb24ac5f2f1c/frozenlist-1.7.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:3dbf9952c4bb0e90e98aec1bd992b3318685005702656bc6f67c1a32b76787f2", size = 81424, upload-time = "2025-06-09T23:00:42.24Z" }, + { url = "https://files.pythonhosted.org/packages/4c/9d/02754159955088cb52567337d1113f945b9e444c4960771ea90eb73de8db/frozenlist-1.7.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:1f5906d3359300b8a9bb194239491122e6cf1444c2efb88865426f170c262cdb", size = 47952, upload-time = "2025-06-09T23:00:43.481Z" }, + { url = "https://files.pythonhosted.org/packages/01/7a/0046ef1bd6699b40acd2067ed6d6670b4db2f425c56980fa21c982c2a9db/frozenlist-1.7.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3dabd5a8f84573c8d10d8859a50ea2dec01eea372031929871368c09fa103478", size = 46688, upload-time = "2025-06-09T23:00:44.793Z" }, + { url = "https://files.pythonhosted.org/packages/d6/a2/a910bafe29c86997363fb4c02069df4ff0b5bc39d33c5198b4e9dd42d8f8/frozenlist-1.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa57daa5917f1738064f302bf2626281a1cb01920c32f711fbc7bc36111058a8", size = 243084, upload-time = "2025-06-09T23:00:46.125Z" }, + { url = "https://files.pythonhosted.org/packages/64/3e/5036af9d5031374c64c387469bfcc3af537fc0f5b1187d83a1cf6fab1639/frozenlist-1.7.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c193dda2b6d49f4c4398962810fa7d7c78f032bf45572b3e04dd5249dff27e08", size = 233524, upload-time = "2025-06-09T23:00:47.73Z" }, + { url = "https://files.pythonhosted.org/packages/06/39/6a17b7c107a2887e781a48ecf20ad20f1c39d94b2a548c83615b5b879f28/frozenlist-1.7.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bfe2b675cf0aaa6d61bf8fbffd3c274b3c9b7b1623beb3809df8a81399a4a9c4", size = 248493, upload-time = "2025-06-09T23:00:49.742Z" }, + { url = "https://files.pythonhosted.org/packages/be/00/711d1337c7327d88c44d91dd0f556a1c47fb99afc060ae0ef66b4d24793d/frozenlist-1.7.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8fc5d5cda37f62b262405cf9652cf0856839c4be8ee41be0afe8858f17f4c94b", size = 244116, upload-time = "2025-06-09T23:00:51.352Z" }, + { url = "https://files.pythonhosted.org/packages/24/fe/74e6ec0639c115df13d5850e75722750adabdc7de24e37e05a40527ca539/frozenlist-1.7.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b0d5ce521d1dd7d620198829b87ea002956e4319002ef0bc8d3e6d045cb4646e", size = 224557, upload-time = "2025-06-09T23:00:52.855Z" }, + { url = "https://files.pythonhosted.org/packages/8d/db/48421f62a6f77c553575201e89048e97198046b793f4a089c79a6e3268bd/frozenlist-1.7.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:488d0a7d6a0008ca0db273c542098a0fa9e7dfaa7e57f70acef43f32b3f69dca", size = 241820, upload-time = "2025-06-09T23:00:54.43Z" }, + { url = "https://files.pythonhosted.org/packages/1d/fa/cb4a76bea23047c8462976ea7b7a2bf53997a0ca171302deae9d6dd12096/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:15a7eaba63983d22c54d255b854e8108e7e5f3e89f647fc854bd77a237e767df", size = 236542, upload-time = "2025-06-09T23:00:56.409Z" }, + { url = "https://files.pythonhosted.org/packages/5d/32/476a4b5cfaa0ec94d3f808f193301debff2ea42288a099afe60757ef6282/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:1eaa7e9c6d15df825bf255649e05bd8a74b04a4d2baa1ae46d9c2d00b2ca2cb5", size = 249350, upload-time = "2025-06-09T23:00:58.468Z" }, + { url = "https://files.pythonhosted.org/packages/8d/ba/9a28042f84a6bf8ea5dbc81cfff8eaef18d78b2a1ad9d51c7bc5b029ad16/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e4389e06714cfa9d47ab87f784a7c5be91d3934cd6e9a7b85beef808297cc025", size = 225093, upload-time = "2025-06-09T23:01:00.015Z" }, + { url = "https://files.pythonhosted.org/packages/bc/29/3a32959e68f9cf000b04e79ba574527c17e8842e38c91d68214a37455786/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:73bd45e1488c40b63fe5a7df892baf9e2a4d4bb6409a2b3b78ac1c6236178e01", size = 245482, upload-time = "2025-06-09T23:01:01.474Z" }, + { url = "https://files.pythonhosted.org/packages/80/e8/edf2f9e00da553f07f5fa165325cfc302dead715cab6ac8336a5f3d0adc2/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:99886d98e1643269760e5fe0df31e5ae7050788dd288947f7f007209b8c33f08", size = 249590, upload-time = "2025-06-09T23:01:02.961Z" }, + { url = "https://files.pythonhosted.org/packages/1c/80/9a0eb48b944050f94cc51ee1c413eb14a39543cc4f760ed12657a5a3c45a/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:290a172aae5a4c278c6da8a96222e6337744cd9c77313efe33d5670b9f65fc43", size = 237785, upload-time = "2025-06-09T23:01:05.095Z" }, + { url = "https://files.pythonhosted.org/packages/f3/74/87601e0fb0369b7a2baf404ea921769c53b7ae00dee7dcfe5162c8c6dbf0/frozenlist-1.7.0-cp312-cp312-win32.whl", hash = "sha256:426c7bc70e07cfebc178bc4c2bf2d861d720c4fff172181eeb4a4c41d4ca2ad3", size = 39487, upload-time = "2025-06-09T23:01:06.54Z" }, + { url = "https://files.pythonhosted.org/packages/0b/15/c026e9a9fc17585a9d461f65d8593d281fedf55fbf7eb53f16c6df2392f9/frozenlist-1.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:563b72efe5da92e02eb68c59cb37205457c977aa7a449ed1b37e6939e5c47c6a", size = 43874, upload-time = "2025-06-09T23:01:07.752Z" }, + { url = "https://files.pythonhosted.org/packages/24/90/6b2cebdabdbd50367273c20ff6b57a3dfa89bd0762de02c3a1eb42cb6462/frozenlist-1.7.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ee80eeda5e2a4e660651370ebffd1286542b67e268aa1ac8d6dbe973120ef7ee", size = 79791, upload-time = "2025-06-09T23:01:09.368Z" }, + { url = "https://files.pythonhosted.org/packages/83/2e/5b70b6a3325363293fe5fc3ae74cdcbc3e996c2a11dde2fd9f1fb0776d19/frozenlist-1.7.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d1a81c85417b914139e3a9b995d4a1c84559afc839a93cf2cb7f15e6e5f6ed2d", size = 47165, upload-time = "2025-06-09T23:01:10.653Z" }, + { url = "https://files.pythonhosted.org/packages/f4/25/a0895c99270ca6966110f4ad98e87e5662eab416a17e7fd53c364bf8b954/frozenlist-1.7.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cbb65198a9132ebc334f237d7b0df163e4de83fb4f2bdfe46c1e654bdb0c5d43", size = 45881, upload-time = "2025-06-09T23:01:12.296Z" }, + { url = "https://files.pythonhosted.org/packages/19/7c/71bb0bbe0832793c601fff68cd0cf6143753d0c667f9aec93d3c323f4b55/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dab46c723eeb2c255a64f9dc05b8dd601fde66d6b19cdb82b2e09cc6ff8d8b5d", size = 232409, upload-time = "2025-06-09T23:01:13.641Z" }, + { url = "https://files.pythonhosted.org/packages/c0/45/ed2798718910fe6eb3ba574082aaceff4528e6323f9a8570be0f7028d8e9/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6aeac207a759d0dedd2e40745575ae32ab30926ff4fa49b1635def65806fddee", size = 225132, upload-time = "2025-06-09T23:01:15.264Z" }, + { url = "https://files.pythonhosted.org/packages/ba/e2/8417ae0f8eacb1d071d4950f32f229aa6bf68ab69aab797b72a07ea68d4f/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bd8c4e58ad14b4fa7802b8be49d47993182fdd4023393899632c88fd8cd994eb", size = 237638, upload-time = "2025-06-09T23:01:16.752Z" }, + { url = "https://files.pythonhosted.org/packages/f8/b7/2ace5450ce85f2af05a871b8c8719b341294775a0a6c5585d5e6170f2ce7/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:04fb24d104f425da3540ed83cbfc31388a586a7696142004c577fa61c6298c3f", size = 233539, upload-time = "2025-06-09T23:01:18.202Z" }, + { url = "https://files.pythonhosted.org/packages/46/b9/6989292c5539553dba63f3c83dc4598186ab2888f67c0dc1d917e6887db6/frozenlist-1.7.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6a5c505156368e4ea6b53b5ac23c92d7edc864537ff911d2fb24c140bb175e60", size = 215646, upload-time = "2025-06-09T23:01:19.649Z" }, + { url = "https://files.pythonhosted.org/packages/72/31/bc8c5c99c7818293458fe745dab4fd5730ff49697ccc82b554eb69f16a24/frozenlist-1.7.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8bd7eb96a675f18aa5c553eb7ddc24a43c8c18f22e1f9925528128c052cdbe00", size = 232233, upload-time = "2025-06-09T23:01:21.175Z" }, + { url = "https://files.pythonhosted.org/packages/59/52/460db4d7ba0811b9ccb85af996019f5d70831f2f5f255f7cc61f86199795/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:05579bf020096fe05a764f1f84cd104a12f78eaab68842d036772dc6d4870b4b", size = 227996, upload-time = "2025-06-09T23:01:23.098Z" }, + { url = "https://files.pythonhosted.org/packages/ba/c9/f4b39e904c03927b7ecf891804fd3b4df3db29b9e487c6418e37988d6e9d/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:376b6222d114e97eeec13d46c486facd41d4f43bab626b7c3f6a8b4e81a5192c", size = 242280, upload-time = "2025-06-09T23:01:24.808Z" }, + { url = "https://files.pythonhosted.org/packages/b8/33/3f8d6ced42f162d743e3517781566b8481322be321b486d9d262adf70bfb/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:0aa7e176ebe115379b5b1c95b4096fb1c17cce0847402e227e712c27bdb5a949", size = 217717, upload-time = "2025-06-09T23:01:26.28Z" }, + { url = "https://files.pythonhosted.org/packages/3e/e8/ad683e75da6ccef50d0ab0c2b2324b32f84fc88ceee778ed79b8e2d2fe2e/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3fbba20e662b9c2130dc771e332a99eff5da078b2b2648153a40669a6d0e36ca", size = 236644, upload-time = "2025-06-09T23:01:27.887Z" }, + { url = "https://files.pythonhosted.org/packages/b2/14/8d19ccdd3799310722195a72ac94ddc677541fb4bef4091d8e7775752360/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:f3f4410a0a601d349dd406b5713fec59b4cee7e71678d5b17edda7f4655a940b", size = 238879, upload-time = "2025-06-09T23:01:29.524Z" }, + { url = "https://files.pythonhosted.org/packages/ce/13/c12bf657494c2fd1079a48b2db49fa4196325909249a52d8f09bc9123fd7/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e2cdfaaec6a2f9327bf43c933c0319a7c429058e8537c508964a133dffee412e", size = 232502, upload-time = "2025-06-09T23:01:31.287Z" }, + { url = "https://files.pythonhosted.org/packages/d7/8b/e7f9dfde869825489382bc0d512c15e96d3964180c9499efcec72e85db7e/frozenlist-1.7.0-cp313-cp313-win32.whl", hash = "sha256:5fc4df05a6591c7768459caba1b342d9ec23fa16195e744939ba5914596ae3e1", size = 39169, upload-time = "2025-06-09T23:01:35.503Z" }, + { url = "https://files.pythonhosted.org/packages/35/89/a487a98d94205d85745080a37860ff5744b9820a2c9acbcdd9440bfddf98/frozenlist-1.7.0-cp313-cp313-win_amd64.whl", hash = "sha256:52109052b9791a3e6b5d1b65f4b909703984b770694d3eb64fad124c835d7cba", size = 43219, upload-time = "2025-06-09T23:01:36.784Z" }, + { url = "https://files.pythonhosted.org/packages/56/d5/5c4cf2319a49eddd9dd7145e66c4866bdc6f3dbc67ca3d59685149c11e0d/frozenlist-1.7.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:a6f86e4193bb0e235ef6ce3dde5cbabed887e0b11f516ce8a0f4d3b33078ec2d", size = 84345, upload-time = "2025-06-09T23:01:38.295Z" }, + { url = "https://files.pythonhosted.org/packages/a4/7d/ec2c1e1dc16b85bc9d526009961953df9cec8481b6886debb36ec9107799/frozenlist-1.7.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:82d664628865abeb32d90ae497fb93df398a69bb3434463d172b80fc25b0dd7d", size = 48880, upload-time = "2025-06-09T23:01:39.887Z" }, + { url = "https://files.pythonhosted.org/packages/69/86/f9596807b03de126e11e7d42ac91e3d0b19a6599c714a1989a4e85eeefc4/frozenlist-1.7.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:912a7e8375a1c9a68325a902f3953191b7b292aa3c3fb0d71a216221deca460b", size = 48498, upload-time = "2025-06-09T23:01:41.318Z" }, + { url = "https://files.pythonhosted.org/packages/5e/cb/df6de220f5036001005f2d726b789b2c0b65f2363b104bbc16f5be8084f8/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9537c2777167488d539bc5de2ad262efc44388230e5118868e172dd4a552b146", size = 292296, upload-time = "2025-06-09T23:01:42.685Z" }, + { url = "https://files.pythonhosted.org/packages/83/1f/de84c642f17c8f851a2905cee2dae401e5e0daca9b5ef121e120e19aa825/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:f34560fb1b4c3e30ba35fa9a13894ba39e5acfc5f60f57d8accde65f46cc5e74", size = 273103, upload-time = "2025-06-09T23:01:44.166Z" }, + { url = "https://files.pythonhosted.org/packages/88/3c/c840bfa474ba3fa13c772b93070893c6e9d5c0350885760376cbe3b6c1b3/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:acd03d224b0175f5a850edc104ac19040d35419eddad04e7cf2d5986d98427f1", size = 292869, upload-time = "2025-06-09T23:01:45.681Z" }, + { url = "https://files.pythonhosted.org/packages/a6/1c/3efa6e7d5a39a1d5ef0abeb51c48fb657765794a46cf124e5aca2c7a592c/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2038310bc582f3d6a09b3816ab01737d60bf7b1ec70f5356b09e84fb7408ab1", size = 291467, upload-time = "2025-06-09T23:01:47.234Z" }, + { url = "https://files.pythonhosted.org/packages/4f/00/d5c5e09d4922c395e2f2f6b79b9a20dab4b67daaf78ab92e7729341f61f6/frozenlist-1.7.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b8c05e4c8e5f36e5e088caa1bf78a687528f83c043706640a92cb76cd6999384", size = 266028, upload-time = "2025-06-09T23:01:48.819Z" }, + { url = "https://files.pythonhosted.org/packages/4e/27/72765be905619dfde25a7f33813ac0341eb6b076abede17a2e3fbfade0cb/frozenlist-1.7.0-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:765bb588c86e47d0b68f23c1bee323d4b703218037765dcf3f25c838c6fecceb", size = 284294, upload-time = "2025-06-09T23:01:50.394Z" }, + { url = "https://files.pythonhosted.org/packages/88/67/c94103a23001b17808eb7dd1200c156bb69fb68e63fcf0693dde4cd6228c/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:32dc2e08c67d86d0969714dd484fd60ff08ff81d1a1e40a77dd34a387e6ebc0c", size = 281898, upload-time = "2025-06-09T23:01:52.234Z" }, + { url = "https://files.pythonhosted.org/packages/42/34/a3e2c00c00f9e2a9db5653bca3fec306349e71aff14ae45ecc6d0951dd24/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:c0303e597eb5a5321b4de9c68e9845ac8f290d2ab3f3e2c864437d3c5a30cd65", size = 290465, upload-time = "2025-06-09T23:01:53.788Z" }, + { url = "https://files.pythonhosted.org/packages/bb/73/f89b7fbce8b0b0c095d82b008afd0590f71ccb3dee6eee41791cf8cd25fd/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:a47f2abb4e29b3a8d0b530f7c3598badc6b134562b1a5caee867f7c62fee51e3", size = 266385, upload-time = "2025-06-09T23:01:55.769Z" }, + { url = "https://files.pythonhosted.org/packages/cd/45/e365fdb554159462ca12df54bc59bfa7a9a273ecc21e99e72e597564d1ae/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:3d688126c242a6fabbd92e02633414d40f50bb6002fa4cf995a1d18051525657", size = 288771, upload-time = "2025-06-09T23:01:57.4Z" }, + { url = "https://files.pythonhosted.org/packages/00/11/47b6117002a0e904f004d70ec5194fe9144f117c33c851e3d51c765962d0/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:4e7e9652b3d367c7bd449a727dc79d5043f48b88d0cbfd4f9f1060cf2b414104", size = 288206, upload-time = "2025-06-09T23:01:58.936Z" }, + { url = "https://files.pythonhosted.org/packages/40/37/5f9f3c3fd7f7746082ec67bcdc204db72dad081f4f83a503d33220a92973/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:1a85e345b4c43db8b842cab1feb41be5cc0b10a1830e6295b69d7310f99becaf", size = 282620, upload-time = "2025-06-09T23:02:00.493Z" }, + { url = "https://files.pythonhosted.org/packages/0b/31/8fbc5af2d183bff20f21aa743b4088eac4445d2bb1cdece449ae80e4e2d1/frozenlist-1.7.0-cp313-cp313t-win32.whl", hash = "sha256:3a14027124ddb70dfcee5148979998066897e79f89f64b13328595c4bdf77c81", size = 43059, upload-time = "2025-06-09T23:02:02.072Z" }, + { url = "https://files.pythonhosted.org/packages/bb/ed/41956f52105b8dbc26e457c5705340c67c8cc2b79f394b79bffc09d0e938/frozenlist-1.7.0-cp313-cp313t-win_amd64.whl", hash = "sha256:3bf8010d71d4507775f658e9823210b7427be36625b387221642725b515dcf3e", size = 47516, upload-time = "2025-06-09T23:02:03.779Z" }, + { url = "https://files.pythonhosted.org/packages/dd/b1/ee59496f51cd244039330015d60f13ce5a54a0f2bd8d79e4a4a375ab7469/frozenlist-1.7.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:cea3dbd15aea1341ea2de490574a4a37ca080b2ae24e4b4f4b51b9057b4c3630", size = 82434, upload-time = "2025-06-09T23:02:05.195Z" }, + { url = "https://files.pythonhosted.org/packages/75/e1/d518391ce36a6279b3fa5bc14327dde80bcb646bb50d059c6ca0756b8d05/frozenlist-1.7.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7d536ee086b23fecc36c2073c371572374ff50ef4db515e4e503925361c24f71", size = 48232, upload-time = "2025-06-09T23:02:07.728Z" }, + { url = "https://files.pythonhosted.org/packages/b7/8d/a0d04f28b6e821a9685c22e67b5fb798a5a7b68752f104bfbc2dccf080c4/frozenlist-1.7.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:dfcebf56f703cb2e346315431699f00db126d158455e513bd14089d992101e44", size = 47186, upload-time = "2025-06-09T23:02:09.243Z" }, + { url = "https://files.pythonhosted.org/packages/93/3a/a5334c0535c8b7c78eeabda1579179e44fe3d644e07118e59a2276dedaf1/frozenlist-1.7.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:974c5336e61d6e7eb1ea5b929cb645e882aadab0095c5a6974a111e6479f8878", size = 226617, upload-time = "2025-06-09T23:02:10.949Z" }, + { url = "https://files.pythonhosted.org/packages/0a/67/8258d971f519dc3f278c55069a775096cda6610a267b53f6248152b72b2f/frozenlist-1.7.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c70db4a0ab5ab20878432c40563573229a7ed9241506181bba12f6b7d0dc41cb", size = 224179, upload-time = "2025-06-09T23:02:12.603Z" }, + { url = "https://files.pythonhosted.org/packages/fc/89/8225905bf889b97c6d935dd3aeb45668461e59d415cb019619383a8a7c3b/frozenlist-1.7.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1137b78384eebaf70560a36b7b229f752fb64d463d38d1304939984d5cb887b6", size = 235783, upload-time = "2025-06-09T23:02:14.678Z" }, + { url = "https://files.pythonhosted.org/packages/54/6e/ef52375aa93d4bc510d061df06205fa6dcfd94cd631dd22956b09128f0d4/frozenlist-1.7.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e793a9f01b3e8b5c0bc646fb59140ce0efcc580d22a3468d70766091beb81b35", size = 229210, upload-time = "2025-06-09T23:02:16.313Z" }, + { url = "https://files.pythonhosted.org/packages/ee/55/62c87d1a6547bfbcd645df10432c129100c5bd0fd92a384de6e3378b07c1/frozenlist-1.7.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:74739ba8e4e38221d2c5c03d90a7e542cb8ad681915f4ca8f68d04f810ee0a87", size = 215994, upload-time = "2025-06-09T23:02:17.9Z" }, + { url = "https://files.pythonhosted.org/packages/45/d2/263fea1f658b8ad648c7d94d18a87bca7e8c67bd6a1bbf5445b1bd5b158c/frozenlist-1.7.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e63344c4e929b1a01e29bc184bbb5fd82954869033765bfe8d65d09e336a677", size = 225122, upload-time = "2025-06-09T23:02:19.479Z" }, + { url = "https://files.pythonhosted.org/packages/7b/22/7145e35d12fb368d92124f679bea87309495e2e9ddf14c6533990cb69218/frozenlist-1.7.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2ea2a7369eb76de2217a842f22087913cdf75f63cf1307b9024ab82dfb525938", size = 224019, upload-time = "2025-06-09T23:02:20.969Z" }, + { url = "https://files.pythonhosted.org/packages/44/1e/7dae8c54301beb87bcafc6144b9a103bfd2c8f38078c7902984c9a0c4e5b/frozenlist-1.7.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:836b42f472a0e006e02499cef9352ce8097f33df43baaba3e0a28a964c26c7d2", size = 239925, upload-time = "2025-06-09T23:02:22.466Z" }, + { url = "https://files.pythonhosted.org/packages/4b/1e/99c93e54aa382e949a98976a73b9b20c3aae6d9d893f31bbe4991f64e3a8/frozenlist-1.7.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:e22b9a99741294b2571667c07d9f8cceec07cb92aae5ccda39ea1b6052ed4319", size = 220881, upload-time = "2025-06-09T23:02:24.521Z" }, + { url = "https://files.pythonhosted.org/packages/5e/9c/ca5105fa7fb5abdfa8837581be790447ae051da75d32f25c8f81082ffc45/frozenlist-1.7.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:9a19e85cc503d958abe5218953df722748d87172f71b73cf3c9257a91b999890", size = 234046, upload-time = "2025-06-09T23:02:26.206Z" }, + { url = "https://files.pythonhosted.org/packages/8d/4d/e99014756093b4ddbb67fb8f0df11fe7a415760d69ace98e2ac6d5d43402/frozenlist-1.7.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:f22dac33bb3ee8fe3e013aa7b91dc12f60d61d05b7fe32191ffa84c3aafe77bd", size = 235756, upload-time = "2025-06-09T23:02:27.79Z" }, + { url = "https://files.pythonhosted.org/packages/8b/72/a19a40bcdaa28a51add2aaa3a1a294ec357f36f27bd836a012e070c5e8a5/frozenlist-1.7.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:9ccec739a99e4ccf664ea0775149f2749b8a6418eb5b8384b4dc0a7d15d304cb", size = 222894, upload-time = "2025-06-09T23:02:29.848Z" }, + { url = "https://files.pythonhosted.org/packages/08/49/0042469993e023a758af81db68c76907cd29e847d772334d4d201cbe9a42/frozenlist-1.7.0-cp39-cp39-win32.whl", hash = "sha256:b3950f11058310008a87757f3eee16a8e1ca97979833239439586857bc25482e", size = 39848, upload-time = "2025-06-09T23:02:31.413Z" }, + { url = "https://files.pythonhosted.org/packages/5a/45/827d86ee475c877f5f766fbc23fb6acb6fada9e52f1c9720e2ba3eae32da/frozenlist-1.7.0-cp39-cp39-win_amd64.whl", hash = "sha256:43a82fce6769c70f2f5a06248b614a7d268080a9d20f7457ef10ecee5af82b63", size = 44102, upload-time = "2025-06-09T23:02:32.808Z" }, + { url = "https://files.pythonhosted.org/packages/ee/45/b82e3c16be2182bff01179db177fe144d58b5dc787a7d4492c6ed8b9317f/frozenlist-1.7.0-py3-none-any.whl", hash = "sha256:9a5af342e34f7e97caf8c995864c7a396418ae2859cc6fdf1b1073020d516a7e", size = 13106, upload-time = "2025-06-09T23:02:34.204Z" }, ] [[package]] name = "identify" -version = "2.6.9" +version = "2.6.12" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/9b/98/a71ab060daec766acc30fb47dfca219d03de34a70d616a79a38c6066c5bf/identify-2.6.9.tar.gz", hash = "sha256:d40dfe3142a1421d8518e3d3985ef5ac42890683e32306ad614a29490abeb6bf", size = 99249 } +sdist = { url = "https://files.pythonhosted.org/packages/a2/88/d193a27416618628a5eea64e3223acd800b40749a96ffb322a9b55a49ed1/identify-2.6.12.tar.gz", hash = "sha256:d8de45749f1efb108badef65ee8386f0f7bb19a7f26185f74de6367bffbaf0e6", size = 99254, upload-time = "2025-05-23T20:37:53.3Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/07/ce/0845144ed1f0e25db5e7a79c2354c1da4b5ce392b8966449d5db8dca18f1/identify-2.6.9-py2.py3-none-any.whl", hash = "sha256:c98b4322da415a8e5a70ff6e51fbc2d2932c015532d77e9f8537b4ba7813b150", size = 99101 }, + { url = "https://files.pythonhosted.org/packages/7a/cd/18f8da995b658420625f7ef13f037be53ae04ec5ad33f9b718240dcfd48c/identify-2.6.12-py2.py3-none-any.whl", hash = "sha256:ad9672d5a72e0d2ff7c5c8809b62dfa60458626352fb0eb7b55e69bdc45334a2", size = 99145, upload-time = "2025-05-23T20:37:51.495Z" }, ] [[package]] name = "idna" version = "3.10" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490 } +sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442 }, + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" }, ] [[package]] name = "imagesize" version = "1.4.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a7/84/62473fb57d61e31fef6e36d64a179c8781605429fd927b5dd608c997be31/imagesize-1.4.1.tar.gz", hash = "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a", size = 1280026 } +sdist = { url = "https://files.pythonhosted.org/packages/a7/84/62473fb57d61e31fef6e36d64a179c8781605429fd927b5dd608c997be31/imagesize-1.4.1.tar.gz", hash = "sha256:69150444affb9cb0d5cc5a92b3676f0b2fb7cd9ae39e947a5e11a36b4497cd4a", size = 1280026, upload-time = "2022-07-01T12:21:05.687Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ff/62/85c4c919272577931d407be5ba5d71c20f0b616d31a0befe0ae45bb79abd/imagesize-1.4.1-py2.py3-none-any.whl", hash = "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b", size = 8769 }, + { url = "https://files.pythonhosted.org/packages/ff/62/85c4c919272577931d407be5ba5d71c20f0b616d31a0befe0ae45bb79abd/imagesize-1.4.1-py2.py3-none-any.whl", hash = "sha256:0d8d18d08f840c19d0ee7ca1fd82490fdc3729b7ac93f49870406ddde8ef8d8b", size = 8769, upload-time = "2022-07-01T12:21:02.467Z" }, ] [[package]] name = "importlib-metadata" -version = "8.6.1" +version = "8.7.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "zipp", marker = "python_full_version < '3.12'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/33/08/c1395a292bb23fd03bdf572a1357c5a733d3eecbab877641ceacab23db6e/importlib_metadata-8.6.1.tar.gz", hash = "sha256:310b41d755445d74569f993ccfc22838295d9fe005425094fad953d7f15c8580", size = 55767 } +sdist = { url = "https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz", hash = "sha256:d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000", size = 56641, upload-time = "2025-04-27T15:29:01.736Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/79/9d/0fb148dc4d6fa4a7dd1d8378168d9b4cd8d4560a6fbf6f0121c5fc34eb68/importlib_metadata-8.6.1-py3-none-any.whl", hash = "sha256:02a89390c1e15fdfdc0d7c6b25cb3e62650d0494005c97d6f148bf5b9787525e", size = 26971 }, + { url = "https://files.pythonhosted.org/packages/20/b0/36bd937216ec521246249be3bf9855081de4c5e06a0c9b4219dbeda50373/importlib_metadata-8.7.0-py3-none-any.whl", hash = "sha256:e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd", size = 27656, upload-time = "2025-04-27T15:29:00.214Z" }, ] [[package]] name = "iniconfig" version = "2.1.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793 } +sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793, upload-time = "2025-03-19T20:09:59.721Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050 }, + { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050, upload-time = "2025-03-19T20:10:01.071Z" }, ] [[package]] @@ -714,215 +751,227 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "markupsafe" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115 } +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899 }, + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, ] [[package]] name = "markupsafe" version = "3.0.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537 } +sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537, upload-time = "2024-10-18T15:21:54.129Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/04/90/d08277ce111dd22f77149fd1a5d4653eeb3b3eaacbdfcbae5afb2600eebd/MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8", size = 14357 }, - { url = "https://files.pythonhosted.org/packages/04/e1/6e2194baeae0bca1fae6629dc0cbbb968d4d941469cbab11a3872edff374/MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158", size = 12393 }, - { url = "https://files.pythonhosted.org/packages/1d/69/35fa85a8ece0a437493dc61ce0bb6d459dcba482c34197e3efc829aa357f/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579", size = 21732 }, - { url = "https://files.pythonhosted.org/packages/22/35/137da042dfb4720b638d2937c38a9c2df83fe32d20e8c8f3185dbfef05f7/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d", size = 20866 }, - { url = "https://files.pythonhosted.org/packages/29/28/6d029a903727a1b62edb51863232152fd335d602def598dade38996887f0/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb", size = 20964 }, - { url = "https://files.pythonhosted.org/packages/cc/cd/07438f95f83e8bc028279909d9c9bd39e24149b0d60053a97b2bc4f8aa51/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b", size = 21977 }, - { url = "https://files.pythonhosted.org/packages/29/01/84b57395b4cc062f9c4c55ce0df7d3108ca32397299d9df00fedd9117d3d/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c", size = 21366 }, - { url = "https://files.pythonhosted.org/packages/bd/6e/61ebf08d8940553afff20d1fb1ba7294b6f8d279df9fd0c0db911b4bbcfd/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171", size = 21091 }, - { url = "https://files.pythonhosted.org/packages/11/23/ffbf53694e8c94ebd1e7e491de185124277964344733c45481f32ede2499/MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50", size = 15065 }, - { url = "https://files.pythonhosted.org/packages/44/06/e7175d06dd6e9172d4a69a72592cb3f7a996a9c396eee29082826449bbc3/MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a", size = 15514 }, - { url = "https://files.pythonhosted.org/packages/6b/28/bbf83e3f76936960b850435576dd5e67034e200469571be53f69174a2dfd/MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d", size = 14353 }, - { url = "https://files.pythonhosted.org/packages/6c/30/316d194b093cde57d448a4c3209f22e3046c5bb2fb0820b118292b334be7/MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93", size = 12392 }, - { url = "https://files.pythonhosted.org/packages/f2/96/9cdafba8445d3a53cae530aaf83c38ec64c4d5427d975c974084af5bc5d2/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832", size = 23984 }, - { url = "https://files.pythonhosted.org/packages/f1/a4/aefb044a2cd8d7334c8a47d3fb2c9f328ac48cb349468cc31c20b539305f/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84", size = 23120 }, - { url = "https://files.pythonhosted.org/packages/8d/21/5e4851379f88f3fad1de30361db501300d4f07bcad047d3cb0449fc51f8c/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca", size = 23032 }, - { url = "https://files.pythonhosted.org/packages/00/7b/e92c64e079b2d0d7ddf69899c98842f3f9a60a1ae72657c89ce2655c999d/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798", size = 24057 }, - { url = "https://files.pythonhosted.org/packages/f9/ac/46f960ca323037caa0a10662ef97d0a4728e890334fc156b9f9e52bcc4ca/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e", size = 23359 }, - { url = "https://files.pythonhosted.org/packages/69/84/83439e16197337b8b14b6a5b9c2105fff81d42c2a7c5b58ac7b62ee2c3b1/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4", size = 23306 }, - { url = "https://files.pythonhosted.org/packages/9a/34/a15aa69f01e2181ed8d2b685c0d2f6655d5cca2c4db0ddea775e631918cd/MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", size = 15094 }, - { url = "https://files.pythonhosted.org/packages/da/b8/3a3bd761922d416f3dc5d00bfbed11f66b1ab89a0c2b6e887240a30b0f6b/MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", size = 15521 }, - { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274 }, - { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348 }, - { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149 }, - { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118 }, - { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993 }, - { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178 }, - { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319 }, - { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352 }, - { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097 }, - { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601 }, - { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274 }, - { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352 }, - { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122 }, - { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085 }, - { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978 }, - { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208 }, - { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357 }, - { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344 }, - { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101 }, - { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603 }, - { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510 }, - { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486 }, - { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480 }, - { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914 }, - { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796 }, - { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473 }, - { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114 }, - { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098 }, - { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208 }, - { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739 }, - { url = "https://files.pythonhosted.org/packages/a7/ea/9b1530c3fdeeca613faeb0fb5cbcf2389d816072fab72a71b45749ef6062/MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a", size = 14344 }, - { url = "https://files.pythonhosted.org/packages/4b/c2/fbdbfe48848e7112ab05e627e718e854d20192b674952d9042ebd8c9e5de/MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff", size = 12389 }, - { url = "https://files.pythonhosted.org/packages/f0/25/7a7c6e4dbd4f867d95d94ca15449e91e52856f6ed1905d58ef1de5e211d0/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13", size = 21607 }, - { url = "https://files.pythonhosted.org/packages/53/8f/f339c98a178f3c1e545622206b40986a4c3307fe39f70ccd3d9df9a9e425/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144", size = 20728 }, - { url = "https://files.pythonhosted.org/packages/1a/03/8496a1a78308456dbd50b23a385c69b41f2e9661c67ea1329849a598a8f9/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29", size = 20826 }, - { url = "https://files.pythonhosted.org/packages/e6/cf/0a490a4bd363048c3022f2f475c8c05582179bb179defcee4766fb3dcc18/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0", size = 21843 }, - { url = "https://files.pythonhosted.org/packages/19/a3/34187a78613920dfd3cdf68ef6ce5e99c4f3417f035694074beb8848cd77/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0", size = 21219 }, - { url = "https://files.pythonhosted.org/packages/17/d8/5811082f85bb88410ad7e452263af048d685669bbbfb7b595e8689152498/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178", size = 20946 }, - { url = "https://files.pythonhosted.org/packages/7c/31/bd635fb5989440d9365c5e3c47556cfea121c7803f5034ac843e8f37c2f2/MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f", size = 15063 }, - { url = "https://files.pythonhosted.org/packages/b3/73/085399401383ce949f727afec55ec3abd76648d04b9f22e1c0e99cb4bec3/MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a", size = 15506 }, + { url = "https://files.pythonhosted.org/packages/04/90/d08277ce111dd22f77149fd1a5d4653eeb3b3eaacbdfcbae5afb2600eebd/MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8", size = 14357, upload-time = "2024-10-18T15:20:51.44Z" }, + { url = "https://files.pythonhosted.org/packages/04/e1/6e2194baeae0bca1fae6629dc0cbbb968d4d941469cbab11a3872edff374/MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158", size = 12393, upload-time = "2024-10-18T15:20:52.426Z" }, + { url = "https://files.pythonhosted.org/packages/1d/69/35fa85a8ece0a437493dc61ce0bb6d459dcba482c34197e3efc829aa357f/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579", size = 21732, upload-time = "2024-10-18T15:20:53.578Z" }, + { url = "https://files.pythonhosted.org/packages/22/35/137da042dfb4720b638d2937c38a9c2df83fe32d20e8c8f3185dbfef05f7/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d", size = 20866, upload-time = "2024-10-18T15:20:55.06Z" }, + { url = "https://files.pythonhosted.org/packages/29/28/6d029a903727a1b62edb51863232152fd335d602def598dade38996887f0/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb", size = 20964, upload-time = "2024-10-18T15:20:55.906Z" }, + { url = "https://files.pythonhosted.org/packages/cc/cd/07438f95f83e8bc028279909d9c9bd39e24149b0d60053a97b2bc4f8aa51/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b", size = 21977, upload-time = "2024-10-18T15:20:57.189Z" }, + { url = "https://files.pythonhosted.org/packages/29/01/84b57395b4cc062f9c4c55ce0df7d3108ca32397299d9df00fedd9117d3d/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c", size = 21366, upload-time = "2024-10-18T15:20:58.235Z" }, + { url = "https://files.pythonhosted.org/packages/bd/6e/61ebf08d8940553afff20d1fb1ba7294b6f8d279df9fd0c0db911b4bbcfd/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171", size = 21091, upload-time = "2024-10-18T15:20:59.235Z" }, + { url = "https://files.pythonhosted.org/packages/11/23/ffbf53694e8c94ebd1e7e491de185124277964344733c45481f32ede2499/MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50", size = 15065, upload-time = "2024-10-18T15:21:00.307Z" }, + { url = "https://files.pythonhosted.org/packages/44/06/e7175d06dd6e9172d4a69a72592cb3f7a996a9c396eee29082826449bbc3/MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a", size = 15514, upload-time = "2024-10-18T15:21:01.122Z" }, + { url = "https://files.pythonhosted.org/packages/6b/28/bbf83e3f76936960b850435576dd5e67034e200469571be53f69174a2dfd/MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d", size = 14353, upload-time = "2024-10-18T15:21:02.187Z" }, + { url = "https://files.pythonhosted.org/packages/6c/30/316d194b093cde57d448a4c3209f22e3046c5bb2fb0820b118292b334be7/MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93", size = 12392, upload-time = "2024-10-18T15:21:02.941Z" }, + { url = "https://files.pythonhosted.org/packages/f2/96/9cdafba8445d3a53cae530aaf83c38ec64c4d5427d975c974084af5bc5d2/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832", size = 23984, upload-time = "2024-10-18T15:21:03.953Z" }, + { url = "https://files.pythonhosted.org/packages/f1/a4/aefb044a2cd8d7334c8a47d3fb2c9f328ac48cb349468cc31c20b539305f/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84", size = 23120, upload-time = "2024-10-18T15:21:06.495Z" }, + { url = "https://files.pythonhosted.org/packages/8d/21/5e4851379f88f3fad1de30361db501300d4f07bcad047d3cb0449fc51f8c/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca", size = 23032, upload-time = "2024-10-18T15:21:07.295Z" }, + { url = "https://files.pythonhosted.org/packages/00/7b/e92c64e079b2d0d7ddf69899c98842f3f9a60a1ae72657c89ce2655c999d/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798", size = 24057, upload-time = "2024-10-18T15:21:08.073Z" }, + { url = "https://files.pythonhosted.org/packages/f9/ac/46f960ca323037caa0a10662ef97d0a4728e890334fc156b9f9e52bcc4ca/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e", size = 23359, upload-time = "2024-10-18T15:21:09.318Z" }, + { url = "https://files.pythonhosted.org/packages/69/84/83439e16197337b8b14b6a5b9c2105fff81d42c2a7c5b58ac7b62ee2c3b1/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4", size = 23306, upload-time = "2024-10-18T15:21:10.185Z" }, + { url = "https://files.pythonhosted.org/packages/9a/34/a15aa69f01e2181ed8d2b685c0d2f6655d5cca2c4db0ddea775e631918cd/MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", size = 15094, upload-time = "2024-10-18T15:21:11.005Z" }, + { url = "https://files.pythonhosted.org/packages/da/b8/3a3bd761922d416f3dc5d00bfbed11f66b1ab89a0c2b6e887240a30b0f6b/MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", size = 15521, upload-time = "2024-10-18T15:21:12.911Z" }, + { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274, upload-time = "2024-10-18T15:21:13.777Z" }, + { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348, upload-time = "2024-10-18T15:21:14.822Z" }, + { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149, upload-time = "2024-10-18T15:21:15.642Z" }, + { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118, upload-time = "2024-10-18T15:21:17.133Z" }, + { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993, upload-time = "2024-10-18T15:21:18.064Z" }, + { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178, upload-time = "2024-10-18T15:21:18.859Z" }, + { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319, upload-time = "2024-10-18T15:21:19.671Z" }, + { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352, upload-time = "2024-10-18T15:21:20.971Z" }, + { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097, upload-time = "2024-10-18T15:21:22.646Z" }, + { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601, upload-time = "2024-10-18T15:21:23.499Z" }, + { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274, upload-time = "2024-10-18T15:21:24.577Z" }, + { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352, upload-time = "2024-10-18T15:21:25.382Z" }, + { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122, upload-time = "2024-10-18T15:21:26.199Z" }, + { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085, upload-time = "2024-10-18T15:21:27.029Z" }, + { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978, upload-time = "2024-10-18T15:21:27.846Z" }, + { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208, upload-time = "2024-10-18T15:21:28.744Z" }, + { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357, upload-time = "2024-10-18T15:21:29.545Z" }, + { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344, upload-time = "2024-10-18T15:21:30.366Z" }, + { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101, upload-time = "2024-10-18T15:21:31.207Z" }, + { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603, upload-time = "2024-10-18T15:21:32.032Z" }, + { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510, upload-time = "2024-10-18T15:21:33.625Z" }, + { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486, upload-time = "2024-10-18T15:21:34.611Z" }, + { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480, upload-time = "2024-10-18T15:21:35.398Z" }, + { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914, upload-time = "2024-10-18T15:21:36.231Z" }, + { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796, upload-time = "2024-10-18T15:21:37.073Z" }, + { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473, upload-time = "2024-10-18T15:21:37.932Z" }, + { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114, upload-time = "2024-10-18T15:21:39.799Z" }, + { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098, upload-time = "2024-10-18T15:21:40.813Z" }, + { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208, upload-time = "2024-10-18T15:21:41.814Z" }, + { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739, upload-time = "2024-10-18T15:21:42.784Z" }, + { url = "https://files.pythonhosted.org/packages/a7/ea/9b1530c3fdeeca613faeb0fb5cbcf2389d816072fab72a71b45749ef6062/MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a", size = 14344, upload-time = "2024-10-18T15:21:43.721Z" }, + { url = "https://files.pythonhosted.org/packages/4b/c2/fbdbfe48848e7112ab05e627e718e854d20192b674952d9042ebd8c9e5de/MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff", size = 12389, upload-time = "2024-10-18T15:21:44.666Z" }, + { url = "https://files.pythonhosted.org/packages/f0/25/7a7c6e4dbd4f867d95d94ca15449e91e52856f6ed1905d58ef1de5e211d0/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13", size = 21607, upload-time = "2024-10-18T15:21:45.452Z" }, + { url = "https://files.pythonhosted.org/packages/53/8f/f339c98a178f3c1e545622206b40986a4c3307fe39f70ccd3d9df9a9e425/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144", size = 20728, upload-time = "2024-10-18T15:21:46.295Z" }, + { url = "https://files.pythonhosted.org/packages/1a/03/8496a1a78308456dbd50b23a385c69b41f2e9661c67ea1329849a598a8f9/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29", size = 20826, upload-time = "2024-10-18T15:21:47.134Z" }, + { url = "https://files.pythonhosted.org/packages/e6/cf/0a490a4bd363048c3022f2f475c8c05582179bb179defcee4766fb3dcc18/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0", size = 21843, upload-time = "2024-10-18T15:21:48.334Z" }, + { url = "https://files.pythonhosted.org/packages/19/a3/34187a78613920dfd3cdf68ef6ce5e99c4f3417f035694074beb8848cd77/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0", size = 21219, upload-time = "2024-10-18T15:21:49.587Z" }, + { url = "https://files.pythonhosted.org/packages/17/d8/5811082f85bb88410ad7e452263af048d685669bbbfb7b595e8689152498/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178", size = 20946, upload-time = "2024-10-18T15:21:50.441Z" }, + { url = "https://files.pythonhosted.org/packages/7c/31/bd635fb5989440d9365c5e3c47556cfea121c7803f5034ac843e8f37c2f2/MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f", size = 15063, upload-time = "2024-10-18T15:21:51.385Z" }, + { url = "https://files.pythonhosted.org/packages/b3/73/085399401383ce949f727afec55ec3abd76648d04b9f22e1c0e99cb4bec3/MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a", size = 15506, upload-time = "2024-10-18T15:21:52.974Z" }, ] [[package]] name = "multidict" -version = "6.3.2" +version = "6.4.4" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fa/2d/6e0d6771cadd5ad14d13193cc8326dc0b341cc1659c306cbfce7a5058fff/multidict-6.3.2.tar.gz", hash = "sha256:c1035eea471f759fa853dd6e76aaa1e389f93b3e1403093fa0fd3ab4db490678", size = 88060 } +sdist = { url = "https://files.pythonhosted.org/packages/91/2f/a3470242707058fe856fe59241eee5635d79087100b7042a867368863a27/multidict-6.4.4.tar.gz", hash = "sha256:69ee9e6ba214b5245031b76233dd95408a0fd57fdb019ddcc1ead4790932a8e8", size = 90183, upload-time = "2025-05-19T14:16:37.381Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4e/9f/96bed056ed3e1fa86fa9880963e21a098e1e94dc6e2ced51a960d56ed802/multidict-6.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8b3dc0eec9304fa04d84a51ea13b0ec170bace5b7ddeaac748149efd316f1504", size = 62769 }, - { url = "https://files.pythonhosted.org/packages/69/6a/c3197d0ff579d2393bab259c6129c963ebec50014fbd757440645402b4c0/multidict-6.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:9534f3d84addd3b6018fa83f97c9d4247aaa94ac917d1ed7b2523306f99f5c16", size = 37127 }, - { url = "https://files.pythonhosted.org/packages/a6/d8/21b15813270d56486041452a44b02b4c02cd492edb8eb13c3ce1de7744f1/multidict-6.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a003ce1413ae01f0b8789c1c987991346a94620a4d22210f7a8fe753646d3209", size = 36399 }, - { url = "https://files.pythonhosted.org/packages/8f/f6/2ffe2d4b565551bf0b1b1e9630c6f21f728fc24cd7d880f1baf5e7025be3/multidict-6.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5b43f7384e68b1b982c99f489921a459467b5584bdb963b25e0df57c9039d0ad", size = 236561 }, - { url = "https://files.pythonhosted.org/packages/c4/d7/935810c224360c63fe3b9233433ea9197399431e362e38ff0daf082624ee/multidict-6.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d142ae84047262dc75c1f92eaf95b20680f85ce11d35571b4c97e267f96fadc4", size = 249850 }, - { url = "https://files.pythonhosted.org/packages/d0/10/355802a51e4426354b645585a9f0a4a4f0352b7619251da152f0235069ed/multidict-6.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ec7e86fbc48aa1d6d686501a8547818ba8d645e7e40eaa98232a5d43ee4380ad", size = 245566 }, - { url = "https://files.pythonhosted.org/packages/72/cb/2a2b44b207c05018d0909b7c748983753dc9587699664e10709e27605158/multidict-6.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fe019fb437632b016e6cac67a7e964f1ef827ef4023f1ca0227b54be354da97e", size = 232030 }, - { url = "https://files.pythonhosted.org/packages/8e/e5/3db1745e939f4c02275154a5ed2816ea70eb1625e1d9363881047a0f9620/multidict-6.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2b60cb81214a9da7cfd8ae2853d5e6e47225ece55fe5833142fe0af321c35299", size = 224255 }, - { url = "https://files.pythonhosted.org/packages/48/2d/f187f506ff5ee3a91a8207a744311649cb1541b180514ea9dc235747ac2a/multidict-6.3.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:32d9e8ef2e0312d4e96ca9adc88e0675b6d8e144349efce4a7c95d5ccb6d88e0", size = 233961 }, - { url = "https://files.pythonhosted.org/packages/8f/e3/5023396bb5f1858f897d1a44199d0abc3072bb7b7bb47dec94c10b535568/multidict-6.3.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:335d584312e3fa43633d63175dfc1a5f137dd7aa03d38d1310237d54c3032774", size = 232430 }, - { url = "https://files.pythonhosted.org/packages/73/d8/f7b80e886af062dbb9d517e5161d841a08bcf44f6bccfccf9cb0ba92e7de/multidict-6.3.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:b8df917faa6b8cac3d6870fc21cb7e4d169faca68e43ffe568c156c9c6408a4d", size = 243102 }, - { url = "https://files.pythonhosted.org/packages/53/a5/78e3c05c1916ce3e7beca8da8a026c1a4d9e4ce892f472463be22ddd030d/multidict-6.3.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:cc060b9b89b701dd8fedef5b99e1f1002b8cb95072693233a63389d37e48212d", size = 235610 }, - { url = "https://files.pythonhosted.org/packages/00/29/97b470984a545d09bc5b6b8534559c48d4c427bd6737dc5a6f516061a581/multidict-6.3.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f2ce3be2500658f3c644494b934628bb0c82e549dde250d2119689ce791cc8b8", size = 232287 }, - { url = "https://files.pythonhosted.org/packages/78/a5/121d40559fceb8d78ffe38ee06519fba8c8300ef1eb796c0a790fa0cfbf3/multidict-6.3.2-cp310-cp310-win32.whl", hash = "sha256:dbcb4490d8e74b484449abd51751b8f560dd0a4812eb5dacc6a588498222a9ab", size = 34895 }, - { url = "https://files.pythonhosted.org/packages/04/b1/e90e666158b2c65567f8bb2c1507e9983c4b1b7156cd67e69349a38bd2b2/multidict-6.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:06944f9ced30f8602be873563ed4df7e3f40958f60b2db39732c11d615a33687", size = 38307 }, - { url = "https://files.pythonhosted.org/packages/b1/e3/443e682e42eaddad0b217b7a59627927fa42b6cd7ba7174f0a01eb3fe6b8/multidict-6.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:45a034f41fcd16968c0470d8912d293d7b0d0822fc25739c5c2ff7835b85bc56", size = 62734 }, - { url = "https://files.pythonhosted.org/packages/b1/4f/2126e9bc37f5be2fdfa36cc192e7ef10b3e9c58eec75a4468706aca96891/multidict-6.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:352585cec45f5d83d886fc522955492bb436fca032b11d487b12d31c5a81b9e3", size = 37115 }, - { url = "https://files.pythonhosted.org/packages/6a/af/5aae0c05a66fdf8bf015ee6903d3a250a7d9c6cc75c9478d04995e6ff1e2/multidict-6.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:da9d89d293511fd0a83a90559dc131f8b3292b6975eb80feff19e5f4663647e2", size = 36371 }, - { url = "https://files.pythonhosted.org/packages/94/27/42390b75c20ff63f43fce44f36f9f66be466cd9ee05326051e4caacdb75b/multidict-6.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fa716592224aa652b9347a586cfe018635229074565663894eb4eb21f8307f", size = 243444 }, - { url = "https://files.pythonhosted.org/packages/21/55/77077af851d7678fe0845c4050a537321d82fb12a04d4f6db334a1cc6ff7/multidict-6.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0326278a44c56e94792475268e5cd3d47fbc0bd41ee56928c3bbb103ba7f58fe", size = 256750 }, - { url = "https://files.pythonhosted.org/packages/f1/09/4c5bfeb2fc8a1e14002239bd6a4d9ba2963fb148889d444b05a20db32a41/multidict-6.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bb1ea87f7fe45e5079f6315e95d64d4ca8b43ef656d98bed63a02e3756853a22", size = 251630 }, - { url = "https://files.pythonhosted.org/packages/24/a9/286756a1afb8648772de851f8f39d2dd4076506f0c0fc2b751259fcbf0dd/multidict-6.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7cff3c5a98d037024a9065aafc621a8599fad7b423393685dc83cf7a32f8b691", size = 238522 }, - { url = "https://files.pythonhosted.org/packages/c2/03/4bb17df70742aae786fcbc27e89e2e49c322134698cd0739aec93e91c669/multidict-6.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed99834b053c655d980fb98029003cb24281e47a796052faad4543aa9e01b8e8", size = 230230 }, - { url = "https://files.pythonhosted.org/packages/53/cc/30df95ba07a9f233ae48d0605b3f72457364836b61a8a8e3d333fdcd32c0/multidict-6.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7048440e505d2b4741e5d0b32bd2f427c901f38c7760fc245918be2cf69b3b85", size = 239676 }, - { url = "https://files.pythonhosted.org/packages/25/37/2d9fe2944c2df5b71ba90cf657b90ad65f1542989cdabe4d1bdbf8c51530/multidict-6.3.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:27248c27b563f5889556da8a96e18e98a56ff807ac1a7d56cf4453c2c9e4cd91", size = 238143 }, - { url = "https://files.pythonhosted.org/packages/ce/13/8f833f9f992eae49f4cb1a1ad05b8fbe183721a154d51c2136b177a41bdb/multidict-6.3.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:6323b4ba0e018bd266f776c35f3f0943fc4ee77e481593c9f93bd49888f24e94", size = 248817 }, - { url = "https://files.pythonhosted.org/packages/15/d4/4f49c41af6c4cab962ad51436e6c5acfbdab4fa54f5e98faa56f66f89b03/multidict-6.3.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:81f7ce5ec7c27d0b45c10449c8f0fed192b93251e2e98cb0b21fec779ef1dc4d", size = 241268 }, - { url = "https://files.pythonhosted.org/packages/af/60/e723a00f7bb44366eab8d02fe6f076ecfad58331e10f6f0ce94cb989819c/multidict-6.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:03bfcf2825b3bed0ba08a9d854acd18b938cab0d2dba3372b51c78e496bac811", size = 238267 }, - { url = "https://files.pythonhosted.org/packages/62/a6/f6b63fc51c8a4e228e6d2105061be3048b02d490d47e67f7ec2de575f1d0/multidict-6.3.2-cp311-cp311-win32.whl", hash = "sha256:f32c2790512cae6ca886920e58cdc8c784bdc4bb2a5ec74127c71980369d18dc", size = 34986 }, - { url = "https://files.pythonhosted.org/packages/85/56/ea976a5e3ebe0e871e004d9cacfe4c803f8ade353eaf4a247580e9dd7b9d/multidict-6.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:0b0c15e58e038a2cd75ef7cf7e072bc39b5e0488b165902efb27978984bbad70", size = 38427 }, - { url = "https://files.pythonhosted.org/packages/83/ae/bd7518193b4374484c04ba0f6522d0572dc17fcd53d238deb3cb3643c858/multidict-6.3.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d1e0ba1ce1b8cc79117196642d95f4365e118eaf5fb85f57cdbcc5a25640b2a4", size = 62680 }, - { url = "https://files.pythonhosted.org/packages/59/e0/a0a9247c32f385ac4c1afefe9c3f2271fb8e235aad72332d42384c41b9cb/multidict-6.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:029bbd7d782251a78975214b78ee632672310f9233d49531fc93e8e99154af25", size = 37366 }, - { url = "https://files.pythonhosted.org/packages/c3/fa/8c23cdd4492d59bea0e762662285f2163766e69e5ea715fe6a03a8670660/multidict-6.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d7db41e3b56817d9175264e5fe00192fbcb8e1265307a59f53dede86161b150e", size = 36103 }, - { url = "https://files.pythonhosted.org/packages/87/35/3bcc3616cb54d3a327b1d26dbec284c3eb7b179e8a78a6075852dbb51dac/multidict-6.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fcab18e65cc555ac29981a581518c23311f2b1e72d8f658f9891590465383be", size = 248231 }, - { url = "https://files.pythonhosted.org/packages/b8/c3/17ddbfd6fc3eed9ab7326a43651e1a97da73f7acc69b78a7bb04b59c073d/multidict-6.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0d50eff89aa4d145a5486b171a2177042d08ea5105f813027eb1050abe91839f", size = 259423 }, - { url = "https://files.pythonhosted.org/packages/1f/67/64b18180e8f559cc93efaaaac2fe0746b9c978560866b6fdd626d3237129/multidict-6.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:643e57b403d3e240045a3681f9e6a04d35a33eddc501b4cbbbdbc9c70122e7bc", size = 256204 }, - { url = "https://files.pythonhosted.org/packages/21/f6/e81a8e4817c2d32787b33ae58c72dc3fe08e0ba8e56e660a225df3cb8619/multidict-6.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d17b37b9715b30605b5bab1460569742d0c309e5c20079263b440f5d7746e7e", size = 249663 }, - { url = "https://files.pythonhosted.org/packages/3e/e8/44ca66758df031a8119483cf5385e2ff3b09b9c6df8f3396d626c325b553/multidict-6.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:68acd51fa94e63312b8ddf84bfc9c3d3442fe1f9988bbe1b6c703043af8867fe", size = 232236 }, - { url = "https://files.pythonhosted.org/packages/93/76/d2faabbac582dc100a4d7ecf7d0ab8dd2aadf7f10d5d5a19e9932cf63a2e/multidict-6.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:347eea2852ab7f697cc5ed9b1aae96b08f8529cca0c6468f747f0781b1842898", size = 252638 }, - { url = "https://files.pythonhosted.org/packages/63/37/f5a6ea10dab96491b7300be940f86a5490dc474d18473c438f2550b78da3/multidict-6.3.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e4d3f8e57027dcda84a1aa181501c15c45eab9566eb6fcc274cbd1e7561224f8", size = 247917 }, - { url = "https://files.pythonhosted.org/packages/d4/b1/2c32b684763b69becbaaa61b7af8a45a6f757fc82d9b4b123ca90cb69f75/multidict-6.3.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:9ca57a841ffcf712e47875d026aa49d6e67f9560624d54b51628603700d5d287", size = 261754 }, - { url = "https://files.pythonhosted.org/packages/cd/f2/badedad94e1731debe56d076c9e61a1658c5e9d65dfa9c1ee74d1e3d31d7/multidict-6.3.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:7cafdafb44c4e646118410368307693e49d19167e5f119cbe3a88697d2d1a636", size = 256389 }, - { url = "https://files.pythonhosted.org/packages/c6/3a/0a3488be2e5a6499f512e748d31e8fb90b753eb35793ecf390b9d8548e66/multidict-6.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:430120c6ce3715a9c6075cabcee557daccbcca8ba25a9fedf05c7bf564532f2d", size = 251902 }, - { url = "https://files.pythonhosted.org/packages/fe/44/62f76d0a5d836b96168f39a402a75dd3114d0df3cbb5669e0310034b71be/multidict-6.3.2-cp312-cp312-win32.whl", hash = "sha256:13bec31375235a68457ab887ce1bbf4f59d5810d838ae5d7e5b416242e1f3ed4", size = 35101 }, - { url = "https://files.pythonhosted.org/packages/8f/a4/7aaf2313e1766710010c35f9d738fd6309fb71a758f8c0e81853b90afb3d/multidict-6.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:c3b6d7620e6e90c6d97eaf3a63bf7fbd2ba253aab89120a4a9c660bf2d675391", size = 38479 }, - { url = "https://files.pythonhosted.org/packages/b1/b2/15db2b1bec1fe8ab5e7c210e3cd247ed902ef86b58b9f39b0a75476d0e8d/multidict-6.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:b9ca24700322816ae0d426aa33671cf68242f8cc85cee0d0e936465ddaee90b5", size = 62345 }, - { url = "https://files.pythonhosted.org/packages/5f/91/22ea27da2c3ffb8266a92f91f17a84dec2cbdd0f91aa7e5f7d514534dd92/multidict-6.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d9fbbe23667d596ff4f9f74d44b06e40ebb0ab6b262cf14a284f859a66f86457", size = 37205 }, - { url = "https://files.pythonhosted.org/packages/23/cb/563a7481ae677531da84aad86c2de7ebc23446d856d2f6d9794ad4fff375/multidict-6.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9cb602c5bea0589570ad3a4a6f2649c4f13cc7a1e97b4c616e5e9ff8dc490987", size = 35931 }, - { url = "https://files.pythonhosted.org/packages/7c/b7/98fe4f4cd7a0b77a4a48fd3f619848b9e8af4e692eb681f9df9f58d86456/multidict-6.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:93ca81dd4d1542e20000ed90f4cc84b7713776f620d04c2b75b8efbe61106c99", size = 246946 }, - { url = "https://files.pythonhosted.org/packages/7e/a3/22dcbd0b58d253719acaf0257a2f35bf609bfd6b73690fcc9e7bdbd3b392/multidict-6.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:18b6310b5454c62242577a128c87df8897f39dd913311cf2e1298e47dfc089eb", size = 260559 }, - { url = "https://files.pythonhosted.org/packages/1c/d4/25eb076f0c2c28d73e7959f3fcc8371e7a029815b5d06e79ea3a265500d2/multidict-6.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7a6dda57de1fc9aedfdb600a8640c99385cdab59a5716cb714b52b6005797f77", size = 257122 }, - { url = "https://files.pythonhosted.org/packages/28/f8/18c81f5c5b7453dd8d15dc61ceca23d03c55e69f1937842039be2d8c4428/multidict-6.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5d8ec42d03cc6b29845552a68151f9e623c541f1708328353220af571e24a247", size = 248535 }, - { url = "https://files.pythonhosted.org/packages/9b/17/c175fab75ecfe1c2dd4f28382dd7e80da6d6f0d73c68036f64b6dce9aeeb/multidict-6.3.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:80681969cee2fa84dafeb53615d51d24246849984e3e87fbe4fe39956f2e23bf", size = 234013 }, - { url = "https://files.pythonhosted.org/packages/2f/03/1611ecf91d7d6249633cb1dd3fb26d456e0dc0dc80cecccfeb89931a126b/multidict-6.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:01489b0c3592bb9d238e5690e9566db7f77a5380f054b57077d2c4deeaade0eb", size = 249222 }, - { url = "https://files.pythonhosted.org/packages/66/04/0035b77bbffb55f276f00b427e45870194002f9f42e1e3de785d45880372/multidict-6.3.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:522d9f1fd995d04dfedc0a40bca7e2591bc577d920079df50b56245a4a252c1c", size = 245594 }, - { url = "https://files.pythonhosted.org/packages/fe/4c/b52ebcd8ff13a3c833b07cfffa0f50f736b061954a151ee5fe6669bb1bd8/multidict-6.3.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:2014e9cf0b4e9c75bbad49c1758e5a9bf967a56184fc5fcc51527425baf5abba", size = 258709 }, - { url = "https://files.pythonhosted.org/packages/fd/78/9c4433517e8f09035a14aba469617c9cf41a214ca987d9127b84b3de4848/multidict-6.3.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:78ced9fcbee79e446ff4bb3018ac7ba1670703de7873d9c1f6f9883db53c71bc", size = 254015 }, - { url = "https://files.pythonhosted.org/packages/6d/76/8464b4d2e9980bd754aa1850919caef9854453f0400c60f84c79947b799d/multidict-6.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1faf01af972bd01216a107c195f5294f9f393531bc3e4faddc9b333581255d4d", size = 249475 }, - { url = "https://files.pythonhosted.org/packages/c4/e2/2b35b7ce226a2ca8c38125f702090faa8d0a35050461fb111fbaa2e023c4/multidict-6.3.2-cp313-cp313-win32.whl", hash = "sha256:7a699ab13d8d8e1f885de1535b4f477fb93836c87168318244c2685da7b7f655", size = 35204 }, - { url = "https://files.pythonhosted.org/packages/c6/c7/09b85dc11cfa83c9a1e3f8367402d56157624e31a05eecd40d5feed1eed1/multidict-6.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:8666bb0d883310c83be01676e302587834dfd185b52758caeab32ef0eb387bc6", size = 38436 }, - { url = "https://files.pythonhosted.org/packages/63/d6/b27f9db9a8dcca95b50911436c9f187047911be0d78ade3352a6bcabb87a/multidict-6.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:d82c95aabee29612b1c4f48b98be98181686eb7d6c0152301f72715705cc787b", size = 67526 }, - { url = "https://files.pythonhosted.org/packages/2d/23/bbf220b0fa6378526890f37fd9a63d4e2ea990a4a344b221618adc3fb8b0/multidict-6.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:f47709173ea9e87a7fd05cd7e5cf1e5d4158924ff988a9a8e0fbd853705f0e68", size = 39390 }, - { url = "https://files.pythonhosted.org/packages/0d/a9/4d1b795b50e6b54609fd7a63db8df30fa0480405b9a46cf8e336f5f28560/multidict-6.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:0c7f9d0276ceaab41b8ae78534ff28ea33d5de85db551cbf80c44371f2b55d13", size = 38869 }, - { url = "https://files.pythonhosted.org/packages/e4/8c/854ee8ad8921335d0b4e740f373390d85d23f6b3956387562de5891ac503/multidict-6.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a6eab22df44a25acab2e738f882f5ec551282ab45b2bbda5301e6d2cfb323036", size = 246911 }, - { url = "https://files.pythonhosted.org/packages/40/65/d6ae9fecb61d1c2fa86a2889f8b58dbfb91fa6a6d7754597e472c8523f6c/multidict-6.3.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a947cb7c657f57874021b9b70c7aac049c877fb576955a40afa8df71d01a1390", size = 251680 }, - { url = "https://files.pythonhosted.org/packages/a3/6c/098304889a699f5fbad8e74b723847a38d22547743baacdfcc8a17777b5b/multidict-6.3.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5faa346e8e1c371187cf345ab1e02a75889f9f510c9cbc575c31b779f7df084d", size = 246706 }, - { url = "https://files.pythonhosted.org/packages/da/9f/a58a04ac1d18f0a2431c48763a8948d0ce65f5911000cc425f8778eb6611/multidict-6.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc6e08d977aebf1718540533b4ba5b351ccec2db093370958a653b1f7f9219cc", size = 242359 }, - { url = "https://files.pythonhosted.org/packages/40/fd/3a76265f2748f718cc05f313c44440658ecd1939fa2b5e66087a5edd605f/multidict-6.3.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:98eab7acf55275b5bf09834125fa3a80b143a9f241cdcdd3f1295ffdc3c6d097", size = 229881 }, - { url = "https://files.pythonhosted.org/packages/22/a9/5780f71e34adf93443ec0660591d877367991badadab9cc6ac02d7a64760/multidict-6.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:36863655630becc224375c0b99364978a0f95aebfb27fb6dd500f7fb5fb36e79", size = 248520 }, - { url = "https://files.pythonhosted.org/packages/f3/72/10988db397e1e819b669213c76a41fde670ba60ecec2c05d5ecdea05526c/multidict-6.3.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:d9c0979c096c0d46a963331b0e400d3a9e560e41219df4b35f0d7a2f28f39710", size = 237649 }, - { url = "https://files.pythonhosted.org/packages/29/75/52a7d3d1c0ffb2e8367f72845f309850113ea9201a50e4d4cdf8ac9f7d72/multidict-6.3.2-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:0efc04f70f05e70e5945890767e8874da5953a196f5b07c552d305afae0f3bf6", size = 251467 }, - { url = "https://files.pythonhosted.org/packages/82/24/e42400008eff60d4af53a2ff313abf0b2715fdd3a71b845d85025844f198/multidict-6.3.2-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:2c519b3b82c34539fae3e22e4ea965869ac6b628794b1eb487780dde37637ab7", size = 245310 }, - { url = "https://files.pythonhosted.org/packages/91/32/8b2e247539d4fdcc6cee36aa71c8898e0acd70e5d0e8a2ce9796a60790e5/multidict-6.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:329160e301f2afd7b43725d3dda8a7ef8ee41d4ceac2083fc0d8c1cc8a4bd56b", size = 243574 }, - { url = "https://files.pythonhosted.org/packages/d2/86/cc42cfa9b85b7d174948a17f828ebcacb0247e727fbedf06506ba93387ef/multidict-6.3.2-cp313-cp313t-win32.whl", hash = "sha256:420e5144a5f598dad8db3128f1695cd42a38a0026c2991091dab91697832f8cc", size = 41908 }, - { url = "https://files.pythonhosted.org/packages/2a/36/5c015523a7650fb5c55380d1c779b938379bd091968ee822d719e4264ab7/multidict-6.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:875faded2861c7af2682c67088e6313fec35ede811e071c96d36b081873cea14", size = 45635 }, - { url = "https://files.pythonhosted.org/packages/1a/5b/d8f61f7daa6278e8cd3ed998f1335dacbe9df39366e1cd061859157f86fd/multidict-6.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2516c5eb5732d6c4e29fa93323bfdc55186895124bc569e2404e3820934be378", size = 62678 }, - { url = "https://files.pythonhosted.org/packages/bd/f8/dc00c5f697a62bdac3131337da26276d9e842cd08a477d4d12bbdf91a312/multidict-6.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:be5c8622e665cc5491c13c0fcd52915cdbae991a3514251d71129691338cdfb2", size = 37071 }, - { url = "https://files.pythonhosted.org/packages/ea/af/380e238f7340e91d14e543bd592c585994097dec5a06828bafd525675103/multidict-6.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3ef33150eea7953cfdb571d862cff894e0ad97ab80d97731eb4b9328fc32d52b", size = 36354 }, - { url = "https://files.pythonhosted.org/packages/45/4c/6f3166e9f7a90f7439dc956cb88d0a51ceb3c423b8f81450ef89870069e7/multidict-6.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40b357738ce46e998f1b1bad9c4b79b2a9755915f71b87a8c01ce123a22a4f99", size = 235935 }, - { url = "https://files.pythonhosted.org/packages/05/7d/346aa561f3059dd2f2f422b6a704aad2e26094690fb49ada98e71feb1691/multidict-6.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:27c60e059fcd3655a653ba99fec2556cd0260ec57f9cb138d3e6ffc413638a2e", size = 248958 }, - { url = "https://files.pythonhosted.org/packages/df/f3/4c0841ae40ee9de3e8ce14fa6869a53b03a16f5ca580604548d3b85562b6/multidict-6.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:629e7c5e75bde83e54a22c7043ce89d68691d1f103be6d09a1c82b870df3b4b8", size = 244894 }, - { url = "https://files.pythonhosted.org/packages/76/bd/0ba520bec2a08698a9dbece5399c07d6139fc286ad9b411987d1d1b34ee1/multidict-6.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee6c8fc97d893fdf1fff15a619fee8de2f31c9b289ef7594730e35074fa0cefb", size = 231468 }, - { url = "https://files.pythonhosted.org/packages/46/69/2eb69ee27cba740241cdde6ffc6fda10ac4114bf609f186be4406d640a8f/multidict-6.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:52081d2f27e0652265d4637b03f09b82f6da5ce5e1474f07dc64674ff8bfc04c", size = 223744 }, - { url = "https://files.pythonhosted.org/packages/9a/28/e17987087faa1432d434ea071b60fbd69e78c50052590f4f1da92955e165/multidict-6.3.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:64529dc395b5fd0a7826ffa70d2d9a7f4abd8f5333d6aaaba67fdf7bedde9f21", size = 233331 }, - { url = "https://files.pythonhosted.org/packages/9c/d9/a76007808d0d53da570397fc411c93911219f9515b5113a09f90f0ef266b/multidict-6.3.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:2b7c3fad827770840f5399348c89635ed6d6e9bba363baad7d3c7f86a9cf1da3", size = 231691 }, - { url = "https://files.pythonhosted.org/packages/02/86/12203785d7bd867aaaa570393bf06de7024ab1d7ea5d47439c5f8dc19780/multidict-6.3.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:24aa42b1651c654ae9e5273e06c3b7ccffe9f7cc76fbde40c37e9ae65f170818", size = 242447 }, - { url = "https://files.pythonhosted.org/packages/bf/38/a040e44f14bd9771cf81aee77b337f28e1515727778013c18c476f401075/multidict-6.3.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:04ceea01e9991357164b12882e120ce6b4d63a0424bb9f9cd37910aa56d30830", size = 235109 }, - { url = "https://files.pythonhosted.org/packages/6e/26/80774106c61826ffc680d47de2148c18b78e726599ddc1524065c974c308/multidict-6.3.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:943897a41160945416617db567d867ab34e9258adaffc56a25a4c3f99d919598", size = 231811 }, - { url = "https://files.pythonhosted.org/packages/75/8e/0ca0e1e02ca368bfb4529a513da01b59ec3b00ec5da977d915116a524787/multidict-6.3.2-cp39-cp39-win32.whl", hash = "sha256:76157a9a0c5380aadd3b5ff7b8deee355ff5adecc66c837b444fa633b4d409a2", size = 34972 }, - { url = "https://files.pythonhosted.org/packages/bc/cf/26e91f5237961b803ee524c30bc833d701e288d9a192c22ac57877687a05/multidict-6.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:d091d123e44035cd5664554308477aff0b58db37e701e7598a67e907b98d1925", size = 38425 }, - { url = "https://files.pythonhosted.org/packages/aa/c1/7832c95a50641148b567b5366dd3354489950dcfd01c8fc28472bec63b9a/multidict-6.3.2-py3-none-any.whl", hash = "sha256:71409d4579f716217f23be2f5e7afca5ca926aaeb398aa11b72d793bff637a1f", size = 10347 }, + { url = "https://files.pythonhosted.org/packages/1f/92/0926a5baafa164b5d0ade3cd7932be39310375d7e25c9d7ceca05cb26a45/multidict-6.4.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:8adee3ac041145ffe4488ea73fa0a622b464cc25340d98be76924d0cda8545ff", size = 66052, upload-time = "2025-05-19T14:13:49.944Z" }, + { url = "https://files.pythonhosted.org/packages/b2/54/8a857ae4f8f643ec444d91f419fdd49cc7a90a2ca0e42d86482b604b63bd/multidict-6.4.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b61e98c3e2a861035aaccd207da585bdcacef65fe01d7a0d07478efac005e028", size = 38867, upload-time = "2025-05-19T14:13:51.92Z" }, + { url = "https://files.pythonhosted.org/packages/9e/5f/63add9069f945c19bc8b217ea6b0f8a1ad9382eab374bb44fae4354b3baf/multidict-6.4.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:75493f28dbadecdbb59130e74fe935288813301a8554dc32f0c631b6bdcdf8b0", size = 38138, upload-time = "2025-05-19T14:13:53.778Z" }, + { url = "https://files.pythonhosted.org/packages/97/8b/fbd9c0fc13966efdb4a47f5bcffff67a4f2a3189fbeead5766eaa4250b20/multidict-6.4.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ffc3c6a37e048b5395ee235e4a2a0d639c2349dffa32d9367a42fc20d399772", size = 220433, upload-time = "2025-05-19T14:13:55.346Z" }, + { url = "https://files.pythonhosted.org/packages/a9/c4/5132b2d75b3ea2daedb14d10f91028f09f74f5b4d373b242c1b8eec47571/multidict-6.4.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:87cb72263946b301570b0f63855569a24ee8758aaae2cd182aae7d95fbc92ca7", size = 218059, upload-time = "2025-05-19T14:13:56.993Z" }, + { url = "https://files.pythonhosted.org/packages/1a/70/f1e818c7a29b908e2d7b4fafb1d7939a41c64868e79de2982eea0a13193f/multidict-6.4.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9bbf7bd39822fd07e3609b6b4467af4c404dd2b88ee314837ad1830a7f4a8299", size = 231120, upload-time = "2025-05-19T14:13:58.333Z" }, + { url = "https://files.pythonhosted.org/packages/b4/7e/95a194d85f27d5ef9cbe48dff9ded722fc6d12fedf641ec6e1e680890be7/multidict-6.4.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d1f7cbd4f1f44ddf5fd86a8675b7679176eae770f2fc88115d6dddb6cefb59bc", size = 227457, upload-time = "2025-05-19T14:13:59.663Z" }, + { url = "https://files.pythonhosted.org/packages/25/2b/590ad220968d1babb42f265debe7be5c5c616df6c5688c995a06d8a9b025/multidict-6.4.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb5ac9e5bfce0e6282e7f59ff7b7b9a74aa8e5c60d38186a4637f5aa764046ad", size = 219111, upload-time = "2025-05-19T14:14:01.019Z" }, + { url = "https://files.pythonhosted.org/packages/e0/f0/b07682b995d3fb5313f339b59d7de02db19ba0c02d1f77c27bdf8212d17c/multidict-6.4.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4efc31dfef8c4eeb95b6b17d799eedad88c4902daba39ce637e23a17ea078915", size = 213012, upload-time = "2025-05-19T14:14:02.396Z" }, + { url = "https://files.pythonhosted.org/packages/24/56/c77b5f36feef2ec92f1119756e468ac9c3eebc35aa8a4c9e51df664cbbc9/multidict-6.4.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:9fcad2945b1b91c29ef2b4050f590bfcb68d8ac8e0995a74e659aa57e8d78e01", size = 225408, upload-time = "2025-05-19T14:14:04.826Z" }, + { url = "https://files.pythonhosted.org/packages/cc/b3/e8189b82af9b198b47bc637766208fc917189eea91d674bad417e657bbdf/multidict-6.4.4-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:d877447e7368c7320832acb7159557e49b21ea10ffeb135c1077dbbc0816b598", size = 214396, upload-time = "2025-05-19T14:14:06.187Z" }, + { url = "https://files.pythonhosted.org/packages/20/e0/200d14c84e35ae13ee99fd65dc106e1a1acb87a301f15e906fc7d5b30c17/multidict-6.4.4-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:33a12ebac9f380714c298cbfd3e5b9c0c4e89c75fe612ae496512ee51028915f", size = 222237, upload-time = "2025-05-19T14:14:07.778Z" }, + { url = "https://files.pythonhosted.org/packages/13/f3/bb3df40045ca8262694a3245298732ff431dc781414a89a6a364ebac6840/multidict-6.4.4-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:0f14ea68d29b43a9bf37953881b1e3eb75b2739e896ba4a6aa4ad4c5b9ffa145", size = 231425, upload-time = "2025-05-19T14:14:09.516Z" }, + { url = "https://files.pythonhosted.org/packages/85/3b/538563dc18514384dac169bcba938753ad9ab4d4c8d49b55d6ae49fb2579/multidict-6.4.4-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:0327ad2c747a6600e4797d115d3c38a220fdb28e54983abe8964fd17e95ae83c", size = 226251, upload-time = "2025-05-19T14:14:10.82Z" }, + { url = "https://files.pythonhosted.org/packages/56/79/77e1a65513f09142358f1beb1d4cbc06898590b34a7de2e47023e3c5a3a2/multidict-6.4.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:d1a20707492db9719a05fc62ee215fd2c29b22b47c1b1ba347f9abc831e26683", size = 220363, upload-time = "2025-05-19T14:14:12.638Z" }, + { url = "https://files.pythonhosted.org/packages/16/57/67b0516c3e348f8daaa79c369b3de4359a19918320ab82e2e586a1c624ef/multidict-6.4.4-cp310-cp310-win32.whl", hash = "sha256:d83f18315b9fca5db2452d1881ef20f79593c4aa824095b62cb280019ef7aa3d", size = 35175, upload-time = "2025-05-19T14:14:14.805Z" }, + { url = "https://files.pythonhosted.org/packages/86/5a/4ed8fec642d113fa653777cda30ef67aa5c8a38303c091e24c521278a6c6/multidict-6.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:9c17341ee04545fd962ae07330cb5a39977294c883485c8d74634669b1f7fe04", size = 38678, upload-time = "2025-05-19T14:14:16.949Z" }, + { url = "https://files.pythonhosted.org/packages/19/1b/4c6e638195851524a63972c5773c7737bea7e47b1ba402186a37773acee2/multidict-6.4.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4f5f29794ac0e73d2a06ac03fd18870adc0135a9d384f4a306a951188ed02f95", size = 65515, upload-time = "2025-05-19T14:14:19.767Z" }, + { url = "https://files.pythonhosted.org/packages/25/d5/10e6bca9a44b8af3c7f920743e5fc0c2bcf8c11bf7a295d4cfe00b08fb46/multidict-6.4.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c04157266344158ebd57b7120d9b0b35812285d26d0e78193e17ef57bfe2979a", size = 38609, upload-time = "2025-05-19T14:14:21.538Z" }, + { url = "https://files.pythonhosted.org/packages/26/b4/91fead447ccff56247edc7f0535fbf140733ae25187a33621771ee598a18/multidict-6.4.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bb61ffd3ab8310d93427e460f565322c44ef12769f51f77277b4abad7b6f7223", size = 37871, upload-time = "2025-05-19T14:14:22.666Z" }, + { url = "https://files.pythonhosted.org/packages/3b/37/cbc977cae59277e99d15bbda84cc53b5e0c4929ffd91d958347200a42ad0/multidict-6.4.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e0ba18a9afd495f17c351d08ebbc4284e9c9f7971d715f196b79636a4d0de44", size = 226661, upload-time = "2025-05-19T14:14:24.124Z" }, + { url = "https://files.pythonhosted.org/packages/15/cd/7e0b57fbd4dc2fc105169c4ecce5be1a63970f23bb4ec8c721b67e11953d/multidict-6.4.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:9faf1b1dcaadf9f900d23a0e6d6c8eadd6a95795a0e57fcca73acce0eb912065", size = 223422, upload-time = "2025-05-19T14:14:25.437Z" }, + { url = "https://files.pythonhosted.org/packages/f1/01/1de268da121bac9f93242e30cd3286f6a819e5f0b8896511162d6ed4bf8d/multidict-6.4.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a4d1cb1327c6082c4fce4e2a438483390964c02213bc6b8d782cf782c9b1471f", size = 235447, upload-time = "2025-05-19T14:14:26.793Z" }, + { url = "https://files.pythonhosted.org/packages/d2/8c/8b9a5e4aaaf4f2de14e86181a3a3d7b105077f668b6a06f043ec794f684c/multidict-6.4.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:941f1bec2f5dbd51feeb40aea654c2747f811ab01bdd3422a48a4e4576b7d76a", size = 231455, upload-time = "2025-05-19T14:14:28.149Z" }, + { url = "https://files.pythonhosted.org/packages/35/db/e1817dcbaa10b319c412769cf999b1016890849245d38905b73e9c286862/multidict-6.4.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e5f8a146184da7ea12910a4cec51ef85e44f6268467fb489c3caf0cd512f29c2", size = 223666, upload-time = "2025-05-19T14:14:29.584Z" }, + { url = "https://files.pythonhosted.org/packages/4a/e1/66e8579290ade8a00e0126b3d9a93029033ffd84f0e697d457ed1814d0fc/multidict-6.4.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:232b7237e57ec3c09be97206bfb83a0aa1c5d7d377faa019c68a210fa35831f1", size = 217392, upload-time = "2025-05-19T14:14:30.961Z" }, + { url = "https://files.pythonhosted.org/packages/7b/6f/f8639326069c24a48c7747c2a5485d37847e142a3f741ff3340c88060a9a/multidict-6.4.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:55ae0721c1513e5e3210bca4fc98456b980b0c2c016679d3d723119b6b202c42", size = 228969, upload-time = "2025-05-19T14:14:32.672Z" }, + { url = "https://files.pythonhosted.org/packages/d2/c3/3d58182f76b960eeade51c89fcdce450f93379340457a328e132e2f8f9ed/multidict-6.4.4-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:51d662c072579f63137919d7bb8fc250655ce79f00c82ecf11cab678f335062e", size = 217433, upload-time = "2025-05-19T14:14:34.016Z" }, + { url = "https://files.pythonhosted.org/packages/e1/4b/f31a562906f3bd375f3d0e83ce314e4a660c01b16c2923e8229b53fba5d7/multidict-6.4.4-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0e05c39962baa0bb19a6b210e9b1422c35c093b651d64246b6c2e1a7e242d9fd", size = 225418, upload-time = "2025-05-19T14:14:35.376Z" }, + { url = "https://files.pythonhosted.org/packages/99/89/78bb95c89c496d64b5798434a3deee21996114d4d2c28dd65850bf3a691e/multidict-6.4.4-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:d5b1cc3ab8c31d9ebf0faa6e3540fb91257590da330ffe6d2393d4208e638925", size = 235042, upload-time = "2025-05-19T14:14:36.723Z" }, + { url = "https://files.pythonhosted.org/packages/74/91/8780a6e5885a8770442a8f80db86a0887c4becca0e5a2282ba2cae702bc4/multidict-6.4.4-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:93ec84488a384cd7b8a29c2c7f467137d8a73f6fe38bb810ecf29d1ade011a7c", size = 230280, upload-time = "2025-05-19T14:14:38.194Z" }, + { url = "https://files.pythonhosted.org/packages/68/c1/fcf69cabd542eb6f4b892469e033567ee6991d361d77abdc55e3a0f48349/multidict-6.4.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b308402608493638763abc95f9dc0030bbd6ac6aff784512e8ac3da73a88af08", size = 223322, upload-time = "2025-05-19T14:14:40.015Z" }, + { url = "https://files.pythonhosted.org/packages/b8/85/5b80bf4b83d8141bd763e1d99142a9cdfd0db83f0739b4797172a4508014/multidict-6.4.4-cp311-cp311-win32.whl", hash = "sha256:343892a27d1a04d6ae455ecece12904d242d299ada01633d94c4f431d68a8c49", size = 35070, upload-time = "2025-05-19T14:14:41.904Z" }, + { url = "https://files.pythonhosted.org/packages/09/66/0bed198ffd590ab86e001f7fa46b740d58cf8ff98c2f254e4a36bf8861ad/multidict-6.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:73484a94f55359780c0f458bbd3c39cb9cf9c182552177d2136e828269dee529", size = 38667, upload-time = "2025-05-19T14:14:43.534Z" }, + { url = "https://files.pythonhosted.org/packages/d2/b5/5675377da23d60875fe7dae6be841787755878e315e2f517235f22f59e18/multidict-6.4.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:dc388f75a1c00000824bf28b7633e40854f4127ede80512b44c3cfeeea1839a2", size = 64293, upload-time = "2025-05-19T14:14:44.724Z" }, + { url = "https://files.pythonhosted.org/packages/34/a7/be384a482754bb8c95d2bbe91717bf7ccce6dc38c18569997a11f95aa554/multidict-6.4.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:98af87593a666f739d9dba5d0ae86e01b0e1a9cfcd2e30d2d361fbbbd1a9162d", size = 38096, upload-time = "2025-05-19T14:14:45.95Z" }, + { url = "https://files.pythonhosted.org/packages/66/6d/d59854bb4352306145bdfd1704d210731c1bb2c890bfee31fb7bbc1c4c7f/multidict-6.4.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:aff4cafea2d120327d55eadd6b7f1136a8e5a0ecf6fb3b6863e8aca32cd8e50a", size = 37214, upload-time = "2025-05-19T14:14:47.158Z" }, + { url = "https://files.pythonhosted.org/packages/99/e0/c29d9d462d7cfc5fc8f9bf24f9c6843b40e953c0b55e04eba2ad2cf54fba/multidict-6.4.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:169c4ba7858176b797fe551d6e99040c531c775d2d57b31bcf4de6d7a669847f", size = 224686, upload-time = "2025-05-19T14:14:48.366Z" }, + { url = "https://files.pythonhosted.org/packages/dc/4a/da99398d7fd8210d9de068f9a1b5f96dfaf67d51e3f2521f17cba4ee1012/multidict-6.4.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b9eb4c59c54421a32b3273d4239865cb14ead53a606db066d7130ac80cc8ec93", size = 231061, upload-time = "2025-05-19T14:14:49.952Z" }, + { url = "https://files.pythonhosted.org/packages/21/f5/ac11add39a0f447ac89353e6ca46666847051103649831c08a2800a14455/multidict-6.4.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7cf3bd54c56aa16fdb40028d545eaa8d051402b61533c21e84046e05513d5780", size = 232412, upload-time = "2025-05-19T14:14:51.812Z" }, + { url = "https://files.pythonhosted.org/packages/d9/11/4b551e2110cded705a3c13a1d4b6a11f73891eb5a1c449f1b2b6259e58a6/multidict-6.4.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f682c42003c7264134bfe886376299db4cc0c6cd06a3295b41b347044bcb5482", size = 231563, upload-time = "2025-05-19T14:14:53.262Z" }, + { url = "https://files.pythonhosted.org/packages/4c/02/751530c19e78fe73b24c3da66618eda0aa0d7f6e7aa512e46483de6be210/multidict-6.4.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a920f9cf2abdf6e493c519492d892c362007f113c94da4c239ae88429835bad1", size = 223811, upload-time = "2025-05-19T14:14:55.232Z" }, + { url = "https://files.pythonhosted.org/packages/c7/cb/2be8a214643056289e51ca356026c7b2ce7225373e7a1f8c8715efee8988/multidict-6.4.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:530d86827a2df6504526106b4c104ba19044594f8722d3e87714e847c74a0275", size = 216524, upload-time = "2025-05-19T14:14:57.226Z" }, + { url = "https://files.pythonhosted.org/packages/19/f3/6d5011ec375c09081f5250af58de85f172bfcaafebff286d8089243c4bd4/multidict-6.4.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ecde56ea2439b96ed8a8d826b50c57364612ddac0438c39e473fafad7ae1c23b", size = 229012, upload-time = "2025-05-19T14:14:58.597Z" }, + { url = "https://files.pythonhosted.org/packages/67/9c/ca510785df5cf0eaf5b2a8132d7d04c1ce058dcf2c16233e596ce37a7f8e/multidict-6.4.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:dc8c9736d8574b560634775ac0def6bdc1661fc63fa27ffdfc7264c565bcb4f2", size = 226765, upload-time = "2025-05-19T14:15:00.048Z" }, + { url = "https://files.pythonhosted.org/packages/36/c8/ca86019994e92a0f11e642bda31265854e6ea7b235642f0477e8c2e25c1f/multidict-6.4.4-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:7f3d3b3c34867579ea47cbd6c1f2ce23fbfd20a273b6f9e3177e256584f1eacc", size = 222888, upload-time = "2025-05-19T14:15:01.568Z" }, + { url = "https://files.pythonhosted.org/packages/c6/67/bc25a8e8bd522935379066950ec4e2277f9b236162a73548a2576d4b9587/multidict-6.4.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:87a728af265e08f96b6318ebe3c0f68b9335131f461efab2fc64cc84a44aa6ed", size = 234041, upload-time = "2025-05-19T14:15:03.759Z" }, + { url = "https://files.pythonhosted.org/packages/f1/a0/70c4c2d12857fccbe607b334b7ee28b6b5326c322ca8f73ee54e70d76484/multidict-6.4.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9f193eeda1857f8e8d3079a4abd258f42ef4a4bc87388452ed1e1c4d2b0c8740", size = 231046, upload-time = "2025-05-19T14:15:05.698Z" }, + { url = "https://files.pythonhosted.org/packages/c1/0f/52954601d02d39742aab01d6b92f53c1dd38b2392248154c50797b4df7f1/multidict-6.4.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:be06e73c06415199200e9a2324a11252a3d62030319919cde5e6950ffeccf72e", size = 227106, upload-time = "2025-05-19T14:15:07.124Z" }, + { url = "https://files.pythonhosted.org/packages/af/24/679d83ec4379402d28721790dce818e5d6b9f94ce1323a556fb17fa9996c/multidict-6.4.4-cp312-cp312-win32.whl", hash = "sha256:622f26ea6a7e19b7c48dd9228071f571b2fbbd57a8cd71c061e848f281550e6b", size = 35351, upload-time = "2025-05-19T14:15:08.556Z" }, + { url = "https://files.pythonhosted.org/packages/52/ef/40d98bc5f986f61565f9b345f102409534e29da86a6454eb6b7c00225a13/multidict-6.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:5e2bcda30d5009996ff439e02a9f2b5c3d64a20151d34898c000a6281faa3781", size = 38791, upload-time = "2025-05-19T14:15:09.825Z" }, + { url = "https://files.pythonhosted.org/packages/df/2a/e166d2ffbf4b10131b2d5b0e458f7cee7d986661caceae0de8753042d4b2/multidict-6.4.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:82ffabefc8d84c2742ad19c37f02cde5ec2a1ee172d19944d380f920a340e4b9", size = 64123, upload-time = "2025-05-19T14:15:11.044Z" }, + { url = "https://files.pythonhosted.org/packages/8c/96/e200e379ae5b6f95cbae472e0199ea98913f03d8c9a709f42612a432932c/multidict-6.4.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6a2f58a66fe2c22615ad26156354005391e26a2f3721c3621504cd87c1ea87bf", size = 38049, upload-time = "2025-05-19T14:15:12.902Z" }, + { url = "https://files.pythonhosted.org/packages/75/fb/47afd17b83f6a8c7fa863c6d23ac5ba6a0e6145ed8a6bcc8da20b2b2c1d2/multidict-6.4.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5883d6ee0fd9d8a48e9174df47540b7545909841ac82354c7ae4cbe9952603bd", size = 37078, upload-time = "2025-05-19T14:15:14.282Z" }, + { url = "https://files.pythonhosted.org/packages/fa/70/1af3143000eddfb19fd5ca5e78393985ed988ac493bb859800fe0914041f/multidict-6.4.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9abcf56a9511653fa1d052bfc55fbe53dbee8f34e68bd6a5a038731b0ca42d15", size = 224097, upload-time = "2025-05-19T14:15:15.566Z" }, + { url = "https://files.pythonhosted.org/packages/b1/39/d570c62b53d4fba844e0378ffbcd02ac25ca423d3235047013ba2f6f60f8/multidict-6.4.4-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6ed5ae5605d4ad5a049fad2a28bb7193400700ce2f4ae484ab702d1e3749c3f9", size = 230768, upload-time = "2025-05-19T14:15:17.308Z" }, + { url = "https://files.pythonhosted.org/packages/fd/f8/ed88f2c4d06f752b015933055eb291d9bc184936903752c66f68fb3c95a7/multidict-6.4.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bbfcb60396f9bcfa63e017a180c3105b8c123a63e9d1428a36544e7d37ca9e20", size = 231331, upload-time = "2025-05-19T14:15:18.73Z" }, + { url = "https://files.pythonhosted.org/packages/9c/6f/8e07cffa32f483ab887b0d56bbd8747ac2c1acd00dc0af6fcf265f4a121e/multidict-6.4.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b0f1987787f5f1e2076b59692352ab29a955b09ccc433c1f6b8e8e18666f608b", size = 230169, upload-time = "2025-05-19T14:15:20.179Z" }, + { url = "https://files.pythonhosted.org/packages/e6/2b/5dcf173be15e42f330110875a2668ddfc208afc4229097312212dc9c1236/multidict-6.4.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1d0121ccce8c812047d8d43d691a1ad7641f72c4f730474878a5aeae1b8ead8c", size = 222947, upload-time = "2025-05-19T14:15:21.714Z" }, + { url = "https://files.pythonhosted.org/packages/39/75/4ddcbcebe5ebcd6faa770b629260d15840a5fc07ce8ad295a32e14993726/multidict-6.4.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:83ec4967114295b8afd120a8eec579920c882831a3e4c3331d591a8e5bfbbc0f", size = 215761, upload-time = "2025-05-19T14:15:23.242Z" }, + { url = "https://files.pythonhosted.org/packages/6a/c9/55e998ae45ff15c5608e384206aa71a11e1b7f48b64d166db400b14a3433/multidict-6.4.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:995f985e2e268deaf17867801b859a282e0448633f1310e3704b30616d269d69", size = 227605, upload-time = "2025-05-19T14:15:24.763Z" }, + { url = "https://files.pythonhosted.org/packages/04/49/c2404eac74497503c77071bd2e6f88c7e94092b8a07601536b8dbe99be50/multidict-6.4.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:d832c608f94b9f92a0ec8b7e949be7792a642b6e535fcf32f3e28fab69eeb046", size = 226144, upload-time = "2025-05-19T14:15:26.249Z" }, + { url = "https://files.pythonhosted.org/packages/62/c5/0cd0c3c6f18864c40846aa2252cd69d308699cb163e1c0d989ca301684da/multidict-6.4.4-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d21c1212171cf7da703c5b0b7a0e85be23b720818aef502ad187d627316d5645", size = 221100, upload-time = "2025-05-19T14:15:28.303Z" }, + { url = "https://files.pythonhosted.org/packages/71/7b/f2f3887bea71739a046d601ef10e689528d4f911d84da873b6be9194ffea/multidict-6.4.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:cbebaa076aaecad3d4bb4c008ecc73b09274c952cf6a1b78ccfd689e51f5a5b0", size = 232731, upload-time = "2025-05-19T14:15:30.263Z" }, + { url = "https://files.pythonhosted.org/packages/e5/b3/d9de808349df97fa75ec1372758701b5800ebad3c46ae377ad63058fbcc6/multidict-6.4.4-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:c93a6fb06cc8e5d3628b2b5fda215a5db01e8f08fc15fadd65662d9b857acbe4", size = 229637, upload-time = "2025-05-19T14:15:33.337Z" }, + { url = "https://files.pythonhosted.org/packages/5e/57/13207c16b615eb4f1745b44806a96026ef8e1b694008a58226c2d8f5f0a5/multidict-6.4.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8cd8f81f1310182362fb0c7898145ea9c9b08a71081c5963b40ee3e3cac589b1", size = 225594, upload-time = "2025-05-19T14:15:34.832Z" }, + { url = "https://files.pythonhosted.org/packages/3a/e4/d23bec2f70221604f5565000632c305fc8f25ba953e8ce2d8a18842b9841/multidict-6.4.4-cp313-cp313-win32.whl", hash = "sha256:3e9f1cd61a0ab857154205fb0b1f3d3ace88d27ebd1409ab7af5096e409614cd", size = 35359, upload-time = "2025-05-19T14:15:36.246Z" }, + { url = "https://files.pythonhosted.org/packages/a7/7a/cfe1a47632be861b627f46f642c1d031704cc1c0f5c0efbde2ad44aa34bd/multidict-6.4.4-cp313-cp313-win_amd64.whl", hash = "sha256:8ffb40b74400e4455785c2fa37eba434269149ec525fc8329858c862e4b35373", size = 38903, upload-time = "2025-05-19T14:15:37.507Z" }, + { url = "https://files.pythonhosted.org/packages/68/7b/15c259b0ab49938a0a1c8f3188572802704a779ddb294edc1b2a72252e7c/multidict-6.4.4-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:6a602151dbf177be2450ef38966f4be3467d41a86c6a845070d12e17c858a156", size = 68895, upload-time = "2025-05-19T14:15:38.856Z" }, + { url = "https://files.pythonhosted.org/packages/f1/7d/168b5b822bccd88142e0a3ce985858fea612404edd228698f5af691020c9/multidict-6.4.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0d2b9712211b860d123815a80b859075d86a4d54787e247d7fbee9db6832cf1c", size = 40183, upload-time = "2025-05-19T14:15:40.197Z" }, + { url = "https://files.pythonhosted.org/packages/e0/b7/d4b8d98eb850ef28a4922ba508c31d90715fd9b9da3801a30cea2967130b/multidict-6.4.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:d2fa86af59f8fc1972e121ade052145f6da22758f6996a197d69bb52f8204e7e", size = 39592, upload-time = "2025-05-19T14:15:41.508Z" }, + { url = "https://files.pythonhosted.org/packages/18/28/a554678898a19583548e742080cf55d169733baf57efc48c2f0273a08583/multidict-6.4.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50855d03e9e4d66eab6947ba688ffb714616f985838077bc4b490e769e48da51", size = 226071, upload-time = "2025-05-19T14:15:42.877Z" }, + { url = "https://files.pythonhosted.org/packages/ee/dc/7ba6c789d05c310e294f85329efac1bf5b450338d2542498db1491a264df/multidict-6.4.4-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:5bce06b83be23225be1905dcdb6b789064fae92499fbc458f59a8c0e68718601", size = 222597, upload-time = "2025-05-19T14:15:44.412Z" }, + { url = "https://files.pythonhosted.org/packages/24/4f/34eadbbf401b03768dba439be0fb94b0d187facae9142821a3d5599ccb3b/multidict-6.4.4-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:66ed0731f8e5dfd8369a883b6e564aca085fb9289aacabd9decd70568b9a30de", size = 228253, upload-time = "2025-05-19T14:15:46.474Z" }, + { url = "https://files.pythonhosted.org/packages/c0/e6/493225a3cdb0d8d80d43a94503fc313536a07dae54a3f030d279e629a2bc/multidict-6.4.4-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:329ae97fc2f56f44d91bc47fe0972b1f52d21c4b7a2ac97040da02577e2daca2", size = 226146, upload-time = "2025-05-19T14:15:48.003Z" }, + { url = "https://files.pythonhosted.org/packages/2f/70/e411a7254dc3bff6f7e6e004303b1b0591358e9f0b7c08639941e0de8bd6/multidict-6.4.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c27e5dcf520923d6474d98b96749e6805f7677e93aaaf62656005b8643f907ab", size = 220585, upload-time = "2025-05-19T14:15:49.546Z" }, + { url = "https://files.pythonhosted.org/packages/08/8f/beb3ae7406a619100d2b1fb0022c3bb55a8225ab53c5663648ba50dfcd56/multidict-6.4.4-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:058cc59b9e9b143cc56715e59e22941a5d868c322242278d28123a5d09cdf6b0", size = 212080, upload-time = "2025-05-19T14:15:51.151Z" }, + { url = "https://files.pythonhosted.org/packages/9c/ec/355124e9d3d01cf8edb072fd14947220f357e1c5bc79c88dff89297e9342/multidict-6.4.4-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:69133376bc9a03f8c47343d33f91f74a99c339e8b58cea90433d8e24bb298031", size = 226558, upload-time = "2025-05-19T14:15:52.665Z" }, + { url = "https://files.pythonhosted.org/packages/fd/22/d2b95cbebbc2ada3be3812ea9287dcc9712d7f1a012fad041770afddb2ad/multidict-6.4.4-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:d6b15c55721b1b115c5ba178c77104123745b1417527ad9641a4c5e2047450f0", size = 212168, upload-time = "2025-05-19T14:15:55.279Z" }, + { url = "https://files.pythonhosted.org/packages/4d/c5/62bfc0b2f9ce88326dbe7179f9824a939c6c7775b23b95de777267b9725c/multidict-6.4.4-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:a887b77f51d3d41e6e1a63cf3bc7ddf24de5939d9ff69441387dfefa58ac2e26", size = 217970, upload-time = "2025-05-19T14:15:56.806Z" }, + { url = "https://files.pythonhosted.org/packages/79/74/977cea1aadc43ff1c75d23bd5bc4768a8fac98c14e5878d6ee8d6bab743c/multidict-6.4.4-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:632a3bf8f1787f7ef7d3c2f68a7bde5be2f702906f8b5842ad6da9d974d0aab3", size = 226980, upload-time = "2025-05-19T14:15:58.313Z" }, + { url = "https://files.pythonhosted.org/packages/48/fc/cc4a1a2049df2eb84006607dc428ff237af38e0fcecfdb8a29ca47b1566c/multidict-6.4.4-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:a145c550900deb7540973c5cdb183b0d24bed6b80bf7bddf33ed8f569082535e", size = 220641, upload-time = "2025-05-19T14:15:59.866Z" }, + { url = "https://files.pythonhosted.org/packages/3b/6a/a7444d113ab918701988d4abdde373dbdfd2def7bd647207e2bf645c7eac/multidict-6.4.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:cc5d83c6619ca5c9672cb78b39ed8542f1975a803dee2cda114ff73cbb076edd", size = 221728, upload-time = "2025-05-19T14:16:01.535Z" }, + { url = "https://files.pythonhosted.org/packages/2b/b0/fdf4c73ad1c55e0f4dbbf2aa59dd37037334091f9a4961646d2b7ac91a86/multidict-6.4.4-cp313-cp313t-win32.whl", hash = "sha256:3312f63261b9df49be9d57aaa6abf53a6ad96d93b24f9cc16cf979956355ce6e", size = 41913, upload-time = "2025-05-19T14:16:03.199Z" }, + { url = "https://files.pythonhosted.org/packages/8e/92/27989ecca97e542c0d01d05a98a5ae12198a243a9ee12563a0313291511f/multidict-6.4.4-cp313-cp313t-win_amd64.whl", hash = "sha256:ba852168d814b2c73333073e1c7116d9395bea69575a01b0b3c89d2d5a87c8fb", size = 46112, upload-time = "2025-05-19T14:16:04.909Z" }, + { url = "https://files.pythonhosted.org/packages/18/5c/92607a79e7fd0361c90b3c5d79bbd186e3968e8a4832dbefcd7808f1c823/multidict-6.4.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:603f39bd1cf85705c6c1ba59644b480dfe495e6ee2b877908de93322705ad7cf", size = 66007, upload-time = "2025-05-19T14:16:06.25Z" }, + { url = "https://files.pythonhosted.org/packages/32/1e/212a154926a9290d8ae432e761d1c98ed95fccce84b1b938eaf1bf17378e/multidict-6.4.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fc60f91c02e11dfbe3ff4e1219c085695c339af72d1641800fe6075b91850c8f", size = 38824, upload-time = "2025-05-19T14:16:07.61Z" }, + { url = "https://files.pythonhosted.org/packages/8b/64/5ca6fb5dbc7d5aa352cd2d013c86ae44133c3f4f6b83a80dacd42ee5c568/multidict-6.4.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:496bcf01c76a70a31c3d746fd39383aad8d685ce6331e4c709e9af4ced5fa221", size = 38117, upload-time = "2025-05-19T14:16:08.966Z" }, + { url = "https://files.pythonhosted.org/packages/aa/20/3aee7910260e7b6f0045b6f48b97ebf041de0cab513c12f87cf6e4e514d3/multidict-6.4.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4219390fb5bf8e548e77b428bb36a21d9382960db5321b74d9d9987148074d6b", size = 218106, upload-time = "2025-05-19T14:16:10.962Z" }, + { url = "https://files.pythonhosted.org/packages/a9/79/15f5a65b8de8ae8f3c5da1591a322620675e4fec8d39995b04101d2b2e2c/multidict-6.4.4-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3ef4e9096ff86dfdcbd4a78253090ba13b1d183daa11b973e842465d94ae1772", size = 213817, upload-time = "2025-05-19T14:16:12.486Z" }, + { url = "https://files.pythonhosted.org/packages/ab/a7/90de36db90ce2936fbb1639ca51508965861a8ad5dc2947531d18f3363b9/multidict-6.4.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:49a29d7133b1fc214e818bbe025a77cc6025ed9a4f407d2850373ddde07fd04a", size = 228133, upload-time = "2025-05-19T14:16:14.48Z" }, + { url = "https://files.pythonhosted.org/packages/df/25/5fcd66fda3c8b7d6d6f658a871017791c46824e965dfa20a4c46d4167ad4/multidict-6.4.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e32053d6d3a8b0dfe49fde05b496731a0e6099a4df92154641c00aa76786aef5", size = 224271, upload-time = "2025-05-19T14:16:16.314Z" }, + { url = "https://files.pythonhosted.org/packages/fd/9a/1011812091fd99b2dddd9d2dbde4b7d69bbf8070e0291fe49c3bb40c2d55/multidict-6.4.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cc403092a49509e8ef2d2fd636a8ecefc4698cc57bbe894606b14579bc2a955", size = 216448, upload-time = "2025-05-19T14:16:18.263Z" }, + { url = "https://files.pythonhosted.org/packages/cf/cc/916e066b7e2686999f95dde87f588be26fa1c2f05e70d9fd472fe2289c0b/multidict-6.4.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5363f9b2a7f3910e5c87d8b1855c478c05a2dc559ac57308117424dfaad6805c", size = 210080, upload-time = "2025-05-19T14:16:20.326Z" }, + { url = "https://files.pythonhosted.org/packages/f8/ff/15034b18f2e4179cd559aa13bc3b376a95c22e1fd7c3b88884e078ad5466/multidict-6.4.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2e543a40e4946cf70a88a3be87837a3ae0aebd9058ba49e91cacb0b2cd631e2b", size = 221926, upload-time = "2025-05-19T14:16:22.227Z" }, + { url = "https://files.pythonhosted.org/packages/17/43/4243298a6b0b869a83b6331f3fcc12a2a0544c0995292ee96badf0fec6aa/multidict-6.4.4-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:60d849912350da557fe7de20aa8cf394aada6980d0052cc829eeda4a0db1c1db", size = 211318, upload-time = "2025-05-19T14:16:23.914Z" }, + { url = "https://files.pythonhosted.org/packages/fe/80/bc43c87d60138e401c7d1818a47e5a0f748904c9f3be99012cdab5e31446/multidict-6.4.4-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:19d08b4f22eae45bb018b9f06e2838c1e4b853c67628ef8ae126d99de0da6395", size = 217611, upload-time = "2025-05-19T14:16:25.647Z" }, + { url = "https://files.pythonhosted.org/packages/1e/5d/2ec94209254e48910911ac2404d71b37f06fd97ec83948a92d0c87a11d3c/multidict-6.4.4-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:d693307856d1ef08041e8b6ff01d5b4618715007d288490ce2c7e29013c12b9a", size = 227893, upload-time = "2025-05-19T14:16:27.721Z" }, + { url = "https://files.pythonhosted.org/packages/71/83/89344adc0cf08fd89d82d43de1a17a2635b03a57dfa680f6cdf2a24d481f/multidict-6.4.4-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:fad6daaed41021934917f4fb03ca2db8d8a4d79bf89b17ebe77228eb6710c003", size = 221956, upload-time = "2025-05-19T14:16:29.307Z" }, + { url = "https://files.pythonhosted.org/packages/f0/ea/81382bb59cd3a1047d1c2ea9339d2107fc918a63491bbb9399eb1aceda91/multidict-6.4.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c10d17371bff801af0daf8b073c30b6cf14215784dc08cd5c43ab5b7b8029bbc", size = 216850, upload-time = "2025-05-19T14:16:30.913Z" }, + { url = "https://files.pythonhosted.org/packages/0f/90/c848d62de66c2958932ce155adae418cbf79d96cfaf992e5255819f8f1d9/multidict-6.4.4-cp39-cp39-win32.whl", hash = "sha256:7e23f2f841fcb3ebd4724a40032d32e0892fbba4143e43d2a9e7695c5e50e6bd", size = 35235, upload-time = "2025-05-19T14:16:32.85Z" }, + { url = "https://files.pythonhosted.org/packages/d4/19/dd625207c92889c1ae7b89fcbde760d99853265cfe7ffb0826393151acd1/multidict-6.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:4d7b50b673ffb4ff4366e7ab43cf1f0aef4bd3608735c5fbdf0bdb6f690da411", size = 38821, upload-time = "2025-05-19T14:16:34.288Z" }, + { url = "https://files.pythonhosted.org/packages/84/5d/e17845bb0fa76334477d5de38654d27946d5b5d3695443987a094a71b440/multidict-6.4.4-py3-none-any.whl", hash = "sha256:bd4557071b561a8b3b6075c3ce93cf9bfb6182cb241805c3d66ced3b75eff4ac", size = 10481, upload-time = "2025-05-19T14:16:36.024Z" }, ] [[package]] name = "nodeenv" version = "1.9.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/43/16/fc88b08840de0e0a72a2f9d8c6bae36be573e475a6326ae854bcc549fc45/nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f", size = 47437 } +sdist = { url = "https://files.pythonhosted.org/packages/43/16/fc88b08840de0e0a72a2f9d8c6bae36be573e475a6326ae854bcc549fc45/nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f", size = 47437, upload-time = "2024-06-04T18:44:11.171Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9", size = 22314 }, + { url = "https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9", size = 22314, upload-time = "2024-06-04T18:44:08.352Z" }, ] [[package]] name = "packaging" -version = "24.2" +version = "25.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d0/63/68dbb6eb2de9cb10ee4c9c14a0148804425e13c4fb20d61cce69f53106da/packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f", size = 163950 } +sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", size = 65451 }, + { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" }, ] [[package]] name = "platformdirs" -version = "4.3.7" +version = "4.3.8" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b6/2d/7d512a3913d60623e7eb945c6d1b4f0bddf1d0b7ada5225274c87e5b53d1/platformdirs-4.3.7.tar.gz", hash = "sha256:eb437d586b6a0986388f0d6f74aa0cde27b48d0e3d66843640bfb6bdcdb6e351", size = 21291 } +sdist = { url = "https://files.pythonhosted.org/packages/fe/8b/3c73abc9c759ecd3f1f7ceff6685840859e8070c4d947c93fae71f6a0bf2/platformdirs-4.3.8.tar.gz", hash = "sha256:3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc", size = 21362, upload-time = "2025-05-07T22:47:42.121Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6d/45/59578566b3275b8fd9157885918fcd0c4d74162928a5310926887b856a51/platformdirs-4.3.7-py3-none-any.whl", hash = "sha256:a03875334331946f13c549dbd8f4bac7a13a50a895a0eb1e8c6a8ace80d40a94", size = 18499 }, + { url = "https://files.pythonhosted.org/packages/fe/39/979e8e21520d4e47a0bbe349e2713c0aac6f3d853d0e5b34d76206c439aa/platformdirs-4.3.8-py3-none-any.whl", hash = "sha256:ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4", size = 18567, upload-time = "2025-05-07T22:47:40.376Z" }, ] [[package]] name = "pluggy" -version = "1.5.0" +version = "1.6.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", size = 67955 } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556 }, + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, ] [[package]] @@ -936,146 +985,146 @@ dependencies = [ { name = "pyyaml" }, { name = "virtualenv" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/08/39/679ca9b26c7bb2999ff122d50faa301e49af82ca9c066ec061cfbc0c6784/pre_commit-4.2.0.tar.gz", hash = "sha256:601283b9757afd87d40c4c4a9b2b5de9637a8ea02eaff7adc2d0fb4e04841146", size = 193424 } +sdist = { url = "https://files.pythonhosted.org/packages/08/39/679ca9b26c7bb2999ff122d50faa301e49af82ca9c066ec061cfbc0c6784/pre_commit-4.2.0.tar.gz", hash = "sha256:601283b9757afd87d40c4c4a9b2b5de9637a8ea02eaff7adc2d0fb4e04841146", size = 193424, upload-time = "2025-03-18T21:35:20.987Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/88/74/a88bf1b1efeae488a0c0b7bdf71429c313722d1fc0f377537fbe554e6180/pre_commit-4.2.0-py2.py3-none-any.whl", hash = "sha256:a009ca7205f1eb497d10b845e52c838a98b6cdd2102a6c8e4540e94ee75c58bd", size = 220707 }, + { url = "https://files.pythonhosted.org/packages/88/74/a88bf1b1efeae488a0c0b7bdf71429c313722d1fc0f377537fbe554e6180/pre_commit-4.2.0-py2.py3-none-any.whl", hash = "sha256:a009ca7205f1eb497d10b845e52c838a98b6cdd2102a6c8e4540e94ee75c58bd", size = 220707, upload-time = "2025-03-18T21:35:19.343Z" }, ] [[package]] name = "propcache" -version = "0.3.1" +version = "0.3.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/07/c8/fdc6686a986feae3541ea23dcaa661bd93972d3940460646c6bb96e21c40/propcache-0.3.1.tar.gz", hash = "sha256:40d980c33765359098837527e18eddefc9a24cea5b45e078a7f3bb5b032c6ecf", size = 43651 } +sdist = { url = "https://files.pythonhosted.org/packages/a6/16/43264e4a779dd8588c21a70f0709665ee8f611211bdd2c87d952cfa7c776/propcache-0.3.2.tar.gz", hash = "sha256:20d7d62e4e7ef05f221e0db2856b979540686342e7dd9973b815599c7057e168", size = 44139, upload-time = "2025-06-09T22:56:06.081Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/20/56/e27c136101addf877c8291dbda1b3b86ae848f3837ce758510a0d806c92f/propcache-0.3.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f27785888d2fdd918bc36de8b8739f2d6c791399552333721b58193f68ea3e98", size = 80224 }, - { url = "https://files.pythonhosted.org/packages/63/bd/88e98836544c4f04db97eefd23b037c2002fa173dd2772301c61cd3085f9/propcache-0.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4e89cde74154c7b5957f87a355bb9c8ec929c167b59c83d90654ea36aeb6180", size = 46491 }, - { url = "https://files.pythonhosted.org/packages/15/43/0b8eb2a55753c4a574fc0899885da504b521068d3b08ca56774cad0bea2b/propcache-0.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:730178f476ef03d3d4d255f0c9fa186cb1d13fd33ffe89d39f2cda4da90ceb71", size = 45927 }, - { url = "https://files.pythonhosted.org/packages/ad/6c/d01f9dfbbdc613305e0a831016844987a1fb4861dd221cd4c69b1216b43f/propcache-0.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:967a8eec513dbe08330f10137eacb427b2ca52118769e82ebcfcab0fba92a649", size = 206135 }, - { url = "https://files.pythonhosted.org/packages/9a/8a/e6e1c77394088f4cfdace4a91a7328e398ebed745d59c2f6764135c5342d/propcache-0.3.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5b9145c35cc87313b5fd480144f8078716007656093d23059e8993d3a8fa730f", size = 220517 }, - { url = "https://files.pythonhosted.org/packages/19/3b/6c44fa59d6418f4239d5db8b1ece757351e85d6f3ca126dfe37d427020c8/propcache-0.3.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9e64e948ab41411958670f1093c0a57acfdc3bee5cf5b935671bbd5313bcf229", size = 218952 }, - { url = "https://files.pythonhosted.org/packages/7c/e4/4aeb95a1cd085e0558ab0de95abfc5187329616193a1012a6c4c930e9f7a/propcache-0.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:319fa8765bfd6a265e5fa661547556da381e53274bc05094fc9ea50da51bfd46", size = 206593 }, - { url = "https://files.pythonhosted.org/packages/da/6a/29fa75de1cbbb302f1e1d684009b969976ca603ee162282ae702287b6621/propcache-0.3.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c66d8ccbc902ad548312b96ed8d5d266d0d2c6d006fd0f66323e9d8f2dd49be7", size = 196745 }, - { url = "https://files.pythonhosted.org/packages/19/7e/2237dad1dbffdd2162de470599fa1a1d55df493b16b71e5d25a0ac1c1543/propcache-0.3.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:2d219b0dbabe75e15e581fc1ae796109b07c8ba7d25b9ae8d650da582bed01b0", size = 203369 }, - { url = "https://files.pythonhosted.org/packages/a4/bc/a82c5878eb3afb5c88da86e2cf06e1fe78b7875b26198dbb70fe50a010dc/propcache-0.3.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:cd6a55f65241c551eb53f8cf4d2f4af33512c39da5d9777694e9d9c60872f519", size = 198723 }, - { url = "https://files.pythonhosted.org/packages/17/76/9632254479c55516f51644ddbf747a45f813031af5adcb8db91c0b824375/propcache-0.3.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:9979643ffc69b799d50d3a7b72b5164a2e97e117009d7af6dfdd2ab906cb72cd", size = 200751 }, - { url = "https://files.pythonhosted.org/packages/3e/c3/a90b773cf639bd01d12a9e20c95be0ae978a5a8abe6d2d343900ae76cd71/propcache-0.3.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4cf9e93a81979f1424f1a3d155213dc928f1069d697e4353edb8a5eba67c6259", size = 210730 }, - { url = "https://files.pythonhosted.org/packages/ed/ec/ad5a952cdb9d65c351f88db7c46957edd3d65ffeee72a2f18bd6341433e0/propcache-0.3.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2fce1df66915909ff6c824bbb5eb403d2d15f98f1518e583074671a30fe0c21e", size = 213499 }, - { url = "https://files.pythonhosted.org/packages/83/c0/ea5133dda43e298cd2010ec05c2821b391e10980e64ee72c0a76cdbb813a/propcache-0.3.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4d0dfdd9a2ebc77b869a0b04423591ea8823f791293b527dc1bb896c1d6f1136", size = 207132 }, - { url = "https://files.pythonhosted.org/packages/79/dd/71aae9dec59333064cfdd7eb31a63fa09f64181b979802a67a90b2abfcba/propcache-0.3.1-cp310-cp310-win32.whl", hash = "sha256:1f6cc0ad7b4560e5637eb2c994e97b4fa41ba8226069c9277eb5ea7101845b42", size = 40952 }, - { url = "https://files.pythonhosted.org/packages/31/0a/49ff7e5056c17dfba62cbdcbb90a29daffd199c52f8e65e5cb09d5f53a57/propcache-0.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:47ef24aa6511e388e9894ec16f0fbf3313a53ee68402bc428744a367ec55b833", size = 45163 }, - { url = "https://files.pythonhosted.org/packages/90/0f/5a5319ee83bd651f75311fcb0c492c21322a7fc8f788e4eef23f44243427/propcache-0.3.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7f30241577d2fef2602113b70ef7231bf4c69a97e04693bde08ddab913ba0ce5", size = 80243 }, - { url = "https://files.pythonhosted.org/packages/ce/84/3db5537e0879942783e2256616ff15d870a11d7ac26541336fe1b673c818/propcache-0.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:43593c6772aa12abc3af7784bff4a41ffa921608dd38b77cf1dfd7f5c4e71371", size = 46503 }, - { url = "https://files.pythonhosted.org/packages/e2/c8/b649ed972433c3f0d827d7f0cf9ea47162f4ef8f4fe98c5f3641a0bc63ff/propcache-0.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a75801768bbe65499495660b777e018cbe90c7980f07f8aa57d6be79ea6f71da", size = 45934 }, - { url = "https://files.pythonhosted.org/packages/59/f9/4c0a5cf6974c2c43b1a6810c40d889769cc8f84cea676cbe1e62766a45f8/propcache-0.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f6f1324db48f001c2ca26a25fa25af60711e09b9aaf4b28488602776f4f9a744", size = 233633 }, - { url = "https://files.pythonhosted.org/packages/e7/64/66f2f4d1b4f0007c6e9078bd95b609b633d3957fe6dd23eac33ebde4b584/propcache-0.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5cdb0f3e1eb6dfc9965d19734d8f9c481b294b5274337a8cb5cb01b462dcb7e0", size = 241124 }, - { url = "https://files.pythonhosted.org/packages/aa/bf/7b8c9fd097d511638fa9b6af3d986adbdf567598a567b46338c925144c1b/propcache-0.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1eb34d90aac9bfbced9a58b266f8946cb5935869ff01b164573a7634d39fbcb5", size = 240283 }, - { url = "https://files.pythonhosted.org/packages/fa/c9/e85aeeeaae83358e2a1ef32d6ff50a483a5d5248bc38510d030a6f4e2816/propcache-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f35c7070eeec2cdaac6fd3fe245226ed2a6292d3ee8c938e5bb645b434c5f256", size = 232498 }, - { url = "https://files.pythonhosted.org/packages/8e/66/acb88e1f30ef5536d785c283af2e62931cb934a56a3ecf39105887aa8905/propcache-0.3.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b23c11c2c9e6d4e7300c92e022046ad09b91fd00e36e83c44483df4afa990073", size = 221486 }, - { url = "https://files.pythonhosted.org/packages/f5/f9/233ddb05ffdcaee4448508ee1d70aa7deff21bb41469ccdfcc339f871427/propcache-0.3.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3e19ea4ea0bf46179f8a3652ac1426e6dcbaf577ce4b4f65be581e237340420d", size = 222675 }, - { url = "https://files.pythonhosted.org/packages/98/b8/eb977e28138f9e22a5a789daf608d36e05ed93093ef12a12441030da800a/propcache-0.3.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:bd39c92e4c8f6cbf5f08257d6360123af72af9f4da75a690bef50da77362d25f", size = 215727 }, - { url = "https://files.pythonhosted.org/packages/89/2d/5f52d9c579f67b8ee1edd9ec073c91b23cc5b7ff7951a1e449e04ed8fdf3/propcache-0.3.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:b0313e8b923b3814d1c4a524c93dfecea5f39fa95601f6a9b1ac96cd66f89ea0", size = 217878 }, - { url = "https://files.pythonhosted.org/packages/7a/fd/5283e5ed8a82b00c7a989b99bb6ea173db1ad750bf0bf8dff08d3f4a4e28/propcache-0.3.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e861ad82892408487be144906a368ddbe2dc6297074ade2d892341b35c59844a", size = 230558 }, - { url = "https://files.pythonhosted.org/packages/90/38/ab17d75938ef7ac87332c588857422ae126b1c76253f0f5b1242032923ca/propcache-0.3.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:61014615c1274df8da5991a1e5da85a3ccb00c2d4701ac6f3383afd3ca47ab0a", size = 233754 }, - { url = "https://files.pythonhosted.org/packages/06/5d/3b921b9c60659ae464137508d3b4c2b3f52f592ceb1964aa2533b32fcf0b/propcache-0.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:71ebe3fe42656a2328ab08933d420df5f3ab121772eef78f2dc63624157f0ed9", size = 226088 }, - { url = "https://files.pythonhosted.org/packages/54/6e/30a11f4417d9266b5a464ac5a8c5164ddc9dd153dfa77bf57918165eb4ae/propcache-0.3.1-cp311-cp311-win32.whl", hash = "sha256:58aa11f4ca8b60113d4b8e32d37e7e78bd8af4d1a5b5cb4979ed856a45e62005", size = 40859 }, - { url = "https://files.pythonhosted.org/packages/1d/3a/8a68dd867da9ca2ee9dfd361093e9cb08cb0f37e5ddb2276f1b5177d7731/propcache-0.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:9532ea0b26a401264b1365146c440a6d78269ed41f83f23818d4b79497aeabe7", size = 45153 }, - { url = "https://files.pythonhosted.org/packages/41/aa/ca78d9be314d1e15ff517b992bebbed3bdfef5b8919e85bf4940e57b6137/propcache-0.3.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f78eb8422acc93d7b69964012ad7048764bb45a54ba7a39bb9e146c72ea29723", size = 80430 }, - { url = "https://files.pythonhosted.org/packages/1a/d8/f0c17c44d1cda0ad1979af2e593ea290defdde9eaeb89b08abbe02a5e8e1/propcache-0.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:89498dd49c2f9a026ee057965cdf8192e5ae070ce7d7a7bd4b66a8e257d0c976", size = 46637 }, - { url = "https://files.pythonhosted.org/packages/ae/bd/c1e37265910752e6e5e8a4c1605d0129e5b7933c3dc3cf1b9b48ed83b364/propcache-0.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:09400e98545c998d57d10035ff623266927cb784d13dd2b31fd33b8a5316b85b", size = 46123 }, - { url = "https://files.pythonhosted.org/packages/d4/b0/911eda0865f90c0c7e9f0415d40a5bf681204da5fd7ca089361a64c16b28/propcache-0.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa8efd8c5adc5a2c9d3b952815ff8f7710cefdcaf5f2c36d26aff51aeca2f12f", size = 243031 }, - { url = "https://files.pythonhosted.org/packages/0a/06/0da53397c76a74271621807265b6eb61fb011451b1ddebf43213df763669/propcache-0.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c2fe5c910f6007e716a06d269608d307b4f36e7babee5f36533722660e8c4a70", size = 249100 }, - { url = "https://files.pythonhosted.org/packages/f1/eb/13090e05bf6b963fc1653cdc922133ced467cb4b8dab53158db5a37aa21e/propcache-0.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a0ab8cf8cdd2194f8ff979a43ab43049b1df0b37aa64ab7eca04ac14429baeb7", size = 250170 }, - { url = "https://files.pythonhosted.org/packages/3b/4c/f72c9e1022b3b043ec7dc475a0f405d4c3e10b9b1d378a7330fecf0652da/propcache-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:563f9d8c03ad645597b8d010ef4e9eab359faeb11a0a2ac9f7b4bc8c28ebef25", size = 245000 }, - { url = "https://files.pythonhosted.org/packages/e8/fd/970ca0e22acc829f1adf5de3724085e778c1ad8a75bec010049502cb3a86/propcache-0.3.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fb6e0faf8cb6b4beea5d6ed7b5a578254c6d7df54c36ccd3d8b3eb00d6770277", size = 230262 }, - { url = "https://files.pythonhosted.org/packages/c4/42/817289120c6b9194a44f6c3e6b2c3277c5b70bbad39e7df648f177cc3634/propcache-0.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1c5c7ab7f2bb3f573d1cb921993006ba2d39e8621019dffb1c5bc94cdbae81e8", size = 236772 }, - { url = "https://files.pythonhosted.org/packages/7c/9c/3b3942b302badd589ad6b672da3ca7b660a6c2f505cafd058133ddc73918/propcache-0.3.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:050b571b2e96ec942898f8eb46ea4bfbb19bd5502424747e83badc2d4a99a44e", size = 231133 }, - { url = "https://files.pythonhosted.org/packages/98/a1/75f6355f9ad039108ff000dfc2e19962c8dea0430da9a1428e7975cf24b2/propcache-0.3.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e1c4d24b804b3a87e9350f79e2371a705a188d292fd310e663483af6ee6718ee", size = 230741 }, - { url = "https://files.pythonhosted.org/packages/67/0c/3e82563af77d1f8731132166da69fdfd95e71210e31f18edce08a1eb11ea/propcache-0.3.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:e4fe2a6d5ce975c117a6bb1e8ccda772d1e7029c1cca1acd209f91d30fa72815", size = 244047 }, - { url = "https://files.pythonhosted.org/packages/f7/50/9fb7cca01532a08c4d5186d7bb2da6c4c587825c0ae134b89b47c7d62628/propcache-0.3.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:feccd282de1f6322f56f6845bf1207a537227812f0a9bf5571df52bb418d79d5", size = 246467 }, - { url = "https://files.pythonhosted.org/packages/a9/02/ccbcf3e1c604c16cc525309161d57412c23cf2351523aedbb280eb7c9094/propcache-0.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ec314cde7314d2dd0510c6787326bbffcbdc317ecee6b7401ce218b3099075a7", size = 241022 }, - { url = "https://files.pythonhosted.org/packages/db/19/e777227545e09ca1e77a6e21274ae9ec45de0f589f0ce3eca2a41f366220/propcache-0.3.1-cp312-cp312-win32.whl", hash = "sha256:7d2d5a0028d920738372630870e7d9644ce437142197f8c827194fca404bf03b", size = 40647 }, - { url = "https://files.pythonhosted.org/packages/24/bb/3b1b01da5dd04c77a204c84e538ff11f624e31431cfde7201d9110b092b1/propcache-0.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:88c423efef9d7a59dae0614eaed718449c09a5ac79a5f224a8b9664d603f04a3", size = 44784 }, - { url = "https://files.pythonhosted.org/packages/58/60/f645cc8b570f99be3cf46714170c2de4b4c9d6b827b912811eff1eb8a412/propcache-0.3.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f1528ec4374617a7a753f90f20e2f551121bb558fcb35926f99e3c42367164b8", size = 77865 }, - { url = "https://files.pythonhosted.org/packages/6f/d4/c1adbf3901537582e65cf90fd9c26fde1298fde5a2c593f987112c0d0798/propcache-0.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dc1915ec523b3b494933b5424980831b636fe483d7d543f7afb7b3bf00f0c10f", size = 45452 }, - { url = "https://files.pythonhosted.org/packages/d1/b5/fe752b2e63f49f727c6c1c224175d21b7d1727ce1d4873ef1c24c9216830/propcache-0.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a110205022d077da24e60b3df8bcee73971be9575dec5573dd17ae5d81751111", size = 44800 }, - { url = "https://files.pythonhosted.org/packages/62/37/fc357e345bc1971e21f76597028b059c3d795c5ca7690d7a8d9a03c9708a/propcache-0.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d249609e547c04d190e820d0d4c8ca03ed4582bcf8e4e160a6969ddfb57b62e5", size = 225804 }, - { url = "https://files.pythonhosted.org/packages/0d/f1/16e12c33e3dbe7f8b737809bad05719cff1dccb8df4dafbcff5575002c0e/propcache-0.3.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ced33d827625d0a589e831126ccb4f5c29dfdf6766cac441d23995a65825dcb", size = 230650 }, - { url = "https://files.pythonhosted.org/packages/3e/a2/018b9f2ed876bf5091e60153f727e8f9073d97573f790ff7cdf6bc1d1fb8/propcache-0.3.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4114c4ada8f3181af20808bedb250da6bae56660e4b8dfd9cd95d4549c0962f7", size = 234235 }, - { url = "https://files.pythonhosted.org/packages/45/5f/3faee66fc930dfb5da509e34c6ac7128870631c0e3582987fad161fcb4b1/propcache-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:975af16f406ce48f1333ec5e912fe11064605d5c5b3f6746969077cc3adeb120", size = 228249 }, - { url = "https://files.pythonhosted.org/packages/62/1e/a0d5ebda5da7ff34d2f5259a3e171a94be83c41eb1e7cd21a2105a84a02e/propcache-0.3.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a34aa3a1abc50740be6ac0ab9d594e274f59960d3ad253cd318af76b996dd654", size = 214964 }, - { url = "https://files.pythonhosted.org/packages/db/a0/d72da3f61ceab126e9be1f3bc7844b4e98c6e61c985097474668e7e52152/propcache-0.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9cec3239c85ed15bfaded997773fdad9fb5662b0a7cbc854a43f291eb183179e", size = 222501 }, - { url = "https://files.pythonhosted.org/packages/18/6d/a008e07ad7b905011253adbbd97e5b5375c33f0b961355ca0a30377504ac/propcache-0.3.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:05543250deac8e61084234d5fc54f8ebd254e8f2b39a16b1dce48904f45b744b", size = 217917 }, - { url = "https://files.pythonhosted.org/packages/98/37/02c9343ffe59e590e0e56dc5c97d0da2b8b19fa747ebacf158310f97a79a/propcache-0.3.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:5cb5918253912e088edbf023788de539219718d3b10aef334476b62d2b53de53", size = 217089 }, - { url = "https://files.pythonhosted.org/packages/53/1b/d3406629a2c8a5666d4674c50f757a77be119b113eedd47b0375afdf1b42/propcache-0.3.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f3bbecd2f34d0e6d3c543fdb3b15d6b60dd69970c2b4c822379e5ec8f6f621d5", size = 228102 }, - { url = "https://files.pythonhosted.org/packages/cd/a7/3664756cf50ce739e5f3abd48febc0be1a713b1f389a502ca819791a6b69/propcache-0.3.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aca63103895c7d960a5b9b044a83f544b233c95e0dcff114389d64d762017af7", size = 230122 }, - { url = "https://files.pythonhosted.org/packages/35/36/0bbabaacdcc26dac4f8139625e930f4311864251276033a52fd52ff2a274/propcache-0.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5a0a9898fdb99bf11786265468571e628ba60af80dc3f6eb89a3545540c6b0ef", size = 226818 }, - { url = "https://files.pythonhosted.org/packages/cc/27/4e0ef21084b53bd35d4dae1634b6d0bad35e9c58ed4f032511acca9d4d26/propcache-0.3.1-cp313-cp313-win32.whl", hash = "sha256:3a02a28095b5e63128bcae98eb59025924f121f048a62393db682f049bf4ac24", size = 40112 }, - { url = "https://files.pythonhosted.org/packages/a6/2c/a54614d61895ba6dd7ac8f107e2b2a0347259ab29cbf2ecc7b94fa38c4dc/propcache-0.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:813fbb8b6aea2fc9659815e585e548fe706d6f663fa73dff59a1677d4595a037", size = 44034 }, - { url = "https://files.pythonhosted.org/packages/5a/a8/0a4fd2f664fc6acc66438370905124ce62e84e2e860f2557015ee4a61c7e/propcache-0.3.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:a444192f20f5ce8a5e52761a031b90f5ea6288b1eef42ad4c7e64fef33540b8f", size = 82613 }, - { url = "https://files.pythonhosted.org/packages/4d/e5/5ef30eb2cd81576256d7b6caaa0ce33cd1d2c2c92c8903cccb1af1a4ff2f/propcache-0.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0fbe94666e62ebe36cd652f5fc012abfbc2342de99b523f8267a678e4dfdee3c", size = 47763 }, - { url = "https://files.pythonhosted.org/packages/87/9a/87091ceb048efeba4d28e903c0b15bcc84b7c0bf27dc0261e62335d9b7b8/propcache-0.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f011f104db880f4e2166bcdcf7f58250f7a465bc6b068dc84c824a3d4a5c94dc", size = 47175 }, - { url = "https://files.pythonhosted.org/packages/3e/2f/854e653c96ad1161f96194c6678a41bbb38c7947d17768e8811a77635a08/propcache-0.3.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e584b6d388aeb0001d6d5c2bd86b26304adde6d9bb9bfa9c4889805021b96de", size = 292265 }, - { url = "https://files.pythonhosted.org/packages/40/8d/090955e13ed06bc3496ba4a9fb26c62e209ac41973cb0d6222de20c6868f/propcache-0.3.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a17583515a04358b034e241f952f1715243482fc2c2945fd99a1b03a0bd77d6", size = 294412 }, - { url = "https://files.pythonhosted.org/packages/39/e6/d51601342e53cc7582449e6a3c14a0479fab2f0750c1f4d22302e34219c6/propcache-0.3.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5aed8d8308215089c0734a2af4f2e95eeb360660184ad3912686c181e500b2e7", size = 294290 }, - { url = "https://files.pythonhosted.org/packages/3b/4d/be5f1a90abc1881884aa5878989a1acdafd379a91d9c7e5e12cef37ec0d7/propcache-0.3.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d8e309ff9a0503ef70dc9a0ebd3e69cf7b3894c9ae2ae81fc10943c37762458", size = 282926 }, - { url = "https://files.pythonhosted.org/packages/57/2b/8f61b998c7ea93a2b7eca79e53f3e903db1787fca9373af9e2cf8dc22f9d/propcache-0.3.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b655032b202028a582d27aeedc2e813299f82cb232f969f87a4fde491a233f11", size = 267808 }, - { url = "https://files.pythonhosted.org/packages/11/1c/311326c3dfce59c58a6098388ba984b0e5fb0381ef2279ec458ef99bd547/propcache-0.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9f64d91b751df77931336b5ff7bafbe8845c5770b06630e27acd5dbb71e1931c", size = 290916 }, - { url = "https://files.pythonhosted.org/packages/4b/74/91939924b0385e54dc48eb2e4edd1e4903ffd053cf1916ebc5347ac227f7/propcache-0.3.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:19a06db789a4bd896ee91ebc50d059e23b3639c25d58eb35be3ca1cbe967c3bf", size = 262661 }, - { url = "https://files.pythonhosted.org/packages/c2/d7/e6079af45136ad325c5337f5dd9ef97ab5dc349e0ff362fe5c5db95e2454/propcache-0.3.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:bef100c88d8692864651b5f98e871fb090bd65c8a41a1cb0ff2322db39c96c27", size = 264384 }, - { url = "https://files.pythonhosted.org/packages/b7/d5/ba91702207ac61ae6f1c2da81c5d0d6bf6ce89e08a2b4d44e411c0bbe867/propcache-0.3.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:87380fb1f3089d2a0b8b00f006ed12bd41bd858fabfa7330c954c70f50ed8757", size = 291420 }, - { url = "https://files.pythonhosted.org/packages/58/70/2117780ed7edcd7ba6b8134cb7802aada90b894a9810ec56b7bb6018bee7/propcache-0.3.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e474fc718e73ba5ec5180358aa07f6aded0ff5f2abe700e3115c37d75c947e18", size = 290880 }, - { url = "https://files.pythonhosted.org/packages/4a/1f/ecd9ce27710021ae623631c0146719280a929d895a095f6d85efb6a0be2e/propcache-0.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:17d1c688a443355234f3c031349da69444be052613483f3e4158eef751abcd8a", size = 287407 }, - { url = "https://files.pythonhosted.org/packages/3e/66/2e90547d6b60180fb29e23dc87bd8c116517d4255240ec6d3f7dc23d1926/propcache-0.3.1-cp313-cp313t-win32.whl", hash = "sha256:359e81a949a7619802eb601d66d37072b79b79c2505e6d3fd8b945538411400d", size = 42573 }, - { url = "https://files.pythonhosted.org/packages/cb/8f/50ad8599399d1861b4d2b6b45271f0ef6af1b09b0a2386a46dbaf19c9535/propcache-0.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:e7fb9a84c9abbf2b2683fa3e7b0d7da4d8ecf139a1c635732a8bda29c5214b0e", size = 46757 }, - { url = "https://files.pythonhosted.org/packages/aa/e1/4a782cdc7ebc42dfb44224dabf93b481395a0b6cbc9f0149785edbbab19c/propcache-0.3.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ed5f6d2edbf349bd8d630e81f474d33d6ae5d07760c44d33cd808e2f5c8f4ae6", size = 81368 }, - { url = "https://files.pythonhosted.org/packages/18/c6/9a39b2646a71321815d8d616e890851af9fb327af7d1b9fdce7d2d8377ca/propcache-0.3.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:668ddddc9f3075af019f784456267eb504cb77c2c4bd46cc8402d723b4d200bf", size = 47037 }, - { url = "https://files.pythonhosted.org/packages/f3/e2/88ad1c4c42861dd09b45924e468c42a1beb2c5267cb960b7a9f6af67dd04/propcache-0.3.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0c86e7ceea56376216eba345aa1fc6a8a6b27ac236181f840d1d7e6a1ea9ba5c", size = 46462 }, - { url = "https://files.pythonhosted.org/packages/ae/7e/3e3b36854e96be2e881bc6e87293d59c74dd734dd038dd4981474be44e26/propcache-0.3.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83be47aa4e35b87c106fc0c84c0fc069d3f9b9b06d3c494cd404ec6747544894", size = 209214 }, - { url = "https://files.pythonhosted.org/packages/11/1a/ac0f757cc0babdc8217056fca85150066cf43bf11db9651e6b7d8e0646d6/propcache-0.3.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:27c6ac6aa9fc7bc662f594ef380707494cb42c22786a558d95fcdedb9aa5d035", size = 224702 }, - { url = "https://files.pythonhosted.org/packages/92/0a/0cf77d0e984b7058019ffa5385b3efd6962cbd5340a8f278ae103032863a/propcache-0.3.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:64a956dff37080b352c1c40b2966b09defb014347043e740d420ca1eb7c9b908", size = 223085 }, - { url = "https://files.pythonhosted.org/packages/05/fc/cb52a0caf803caff9b95b0a99e7c9c87f15b7e34ba0feebfd2572b49013d/propcache-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82de5da8c8893056603ac2d6a89eb8b4df49abf1a7c19d536984c8dd63f481d5", size = 209613 }, - { url = "https://files.pythonhosted.org/packages/e5/fc/b1d1fdffbe1e0278ab535f8d21fc6b030889417714a545755bdd5ebe9bb0/propcache-0.3.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c3c3a203c375b08fd06a20da3cf7aac293b834b6f4f4db71190e8422750cca5", size = 199931 }, - { url = "https://files.pythonhosted.org/packages/23/a9/2a2f8d93d8f526c35dd8dbbc4a1ac22a106712cd821e15e2a6530aea8931/propcache-0.3.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:b303b194c2e6f171cfddf8b8ba30baefccf03d36a4d9cab7fd0bb68ba476a3d7", size = 208937 }, - { url = "https://files.pythonhosted.org/packages/ef/71/5247a264b95e8d4ba86757cf9ad6a523d764bd4579a2d80007a2d4d2b0ad/propcache-0.3.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:916cd229b0150129d645ec51614d38129ee74c03293a9f3f17537be0029a9641", size = 202577 }, - { url = "https://files.pythonhosted.org/packages/6f/4e/c8ec771731f1b1e7d07bd8875f1d13c1564b5d60f7483624d021eaef5687/propcache-0.3.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:a461959ead5b38e2581998700b26346b78cd98540b5524796c175722f18b0294", size = 204669 }, - { url = "https://files.pythonhosted.org/packages/c5/b8/bdfcb1170a7b8504226064d7c0b4deb61acbcc6bb2e754ee25fb36c1b72a/propcache-0.3.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:069e7212890b0bcf9b2be0a03afb0c2d5161d91e1bf51569a64f629acc7defbf", size = 214334 }, - { url = "https://files.pythonhosted.org/packages/72/c6/fdb9e8ba161a4e12c75a7415cb99314cad195d3b8ae9d770783cec54001e/propcache-0.3.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ef2e4e91fb3945769e14ce82ed53007195e616a63aa43b40fb7ebaaf907c8d4c", size = 218052 }, - { url = "https://files.pythonhosted.org/packages/67/3f/0dd87220f61598b61b590a8b3562142ae475a9c0f694ee32bf97e4e41d44/propcache-0.3.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:8638f99dca15b9dff328fb6273e09f03d1c50d9b6512f3b65a4154588a7595fe", size = 210852 }, - { url = "https://files.pythonhosted.org/packages/7b/4e/e332164372af66992c07b470448beb7e36ce7dba6a06c6c2b6131f112e74/propcache-0.3.1-cp39-cp39-win32.whl", hash = "sha256:6f173bbfe976105aaa890b712d1759de339d8a7cef2fc0a1714cc1a1e1c47f64", size = 41481 }, - { url = "https://files.pythonhosted.org/packages/61/73/d64abb7bb5d18880ecfac152247c0f1a5807256ea21e4737ce3019afffeb/propcache-0.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:603f1fe4144420374f1a69b907494c3acbc867a581c2d49d4175b0de7cc64566", size = 45720 }, - { url = "https://files.pythonhosted.org/packages/b8/d3/c3cb8f1d6ae3b37f83e1de806713a9b3642c5895f0215a62e1a4bd6e5e34/propcache-0.3.1-py3-none-any.whl", hash = "sha256:9a8ecf38de50a7f518c21568c80f985e776397b902f1ce0b01f799aba1608b40", size = 12376 }, + { url = "https://files.pythonhosted.org/packages/ab/14/510deed325e262afeb8b360043c5d7c960da7d3ecd6d6f9496c9c56dc7f4/propcache-0.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:22d9962a358aedbb7a2e36187ff273adeaab9743373a272976d2e348d08c7770", size = 73178, upload-time = "2025-06-09T22:53:40.126Z" }, + { url = "https://files.pythonhosted.org/packages/cd/4e/ad52a7925ff01c1325653a730c7ec3175a23f948f08626a534133427dcff/propcache-0.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0d0fda578d1dc3f77b6b5a5dce3b9ad69a8250a891760a548df850a5e8da87f3", size = 43133, upload-time = "2025-06-09T22:53:41.965Z" }, + { url = "https://files.pythonhosted.org/packages/63/7c/e9399ba5da7780871db4eac178e9c2e204c23dd3e7d32df202092a1ed400/propcache-0.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3def3da3ac3ce41562d85db655d18ebac740cb3fa4367f11a52b3da9d03a5cc3", size = 43039, upload-time = "2025-06-09T22:53:43.268Z" }, + { url = "https://files.pythonhosted.org/packages/22/e1/58da211eb8fdc6fc854002387d38f415a6ca5f5c67c1315b204a5d3e9d7a/propcache-0.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9bec58347a5a6cebf239daba9bda37dffec5b8d2ce004d9fe4edef3d2815137e", size = 201903, upload-time = "2025-06-09T22:53:44.872Z" }, + { url = "https://files.pythonhosted.org/packages/c4/0a/550ea0f52aac455cb90111c8bab995208443e46d925e51e2f6ebdf869525/propcache-0.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:55ffda449a507e9fbd4aca1a7d9aa6753b07d6166140e5a18d2ac9bc49eac220", size = 213362, upload-time = "2025-06-09T22:53:46.707Z" }, + { url = "https://files.pythonhosted.org/packages/5a/af/9893b7d878deda9bb69fcf54600b247fba7317761b7db11fede6e0f28bd0/propcache-0.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:64a67fb39229a8a8491dd42f864e5e263155e729c2e7ff723d6e25f596b1e8cb", size = 210525, upload-time = "2025-06-09T22:53:48.547Z" }, + { url = "https://files.pythonhosted.org/packages/7c/bb/38fd08b278ca85cde36d848091ad2b45954bc5f15cce494bb300b9285831/propcache-0.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9da1cf97b92b51253d5b68cf5a2b9e0dafca095e36b7f2da335e27dc6172a614", size = 198283, upload-time = "2025-06-09T22:53:50.067Z" }, + { url = "https://files.pythonhosted.org/packages/78/8c/9fe55bd01d362bafb413dfe508c48753111a1e269737fa143ba85693592c/propcache-0.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5f559e127134b07425134b4065be45b166183fdcb433cb6c24c8e4149056ad50", size = 191872, upload-time = "2025-06-09T22:53:51.438Z" }, + { url = "https://files.pythonhosted.org/packages/54/14/4701c33852937a22584e08abb531d654c8bcf7948a8f87ad0a4822394147/propcache-0.3.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:aff2e4e06435d61f11a428360a932138d0ec288b0a31dd9bd78d200bd4a2b339", size = 199452, upload-time = "2025-06-09T22:53:53.229Z" }, + { url = "https://files.pythonhosted.org/packages/16/44/447f2253d859602095356007657ee535e0093215ea0b3d1d6a41d16e5201/propcache-0.3.2-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:4927842833830942a5d0a56e6f4839bc484785b8e1ce8d287359794818633ba0", size = 191567, upload-time = "2025-06-09T22:53:54.541Z" }, + { url = "https://files.pythonhosted.org/packages/f2/b3/e4756258749bb2d3b46defcff606a2f47410bab82be5824a67e84015b267/propcache-0.3.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:6107ddd08b02654a30fb8ad7a132021759d750a82578b94cd55ee2772b6ebea2", size = 193015, upload-time = "2025-06-09T22:53:56.44Z" }, + { url = "https://files.pythonhosted.org/packages/1e/df/e6d3c7574233164b6330b9fd697beeac402afd367280e6dc377bb99b43d9/propcache-0.3.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:70bd8b9cd6b519e12859c99f3fc9a93f375ebd22a50296c3a295028bea73b9e7", size = 204660, upload-time = "2025-06-09T22:53:57.839Z" }, + { url = "https://files.pythonhosted.org/packages/b2/53/e4d31dd5170b4a0e2e6b730f2385a96410633b4833dc25fe5dffd1f73294/propcache-0.3.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2183111651d710d3097338dd1893fcf09c9f54e27ff1a8795495a16a469cc90b", size = 206105, upload-time = "2025-06-09T22:53:59.638Z" }, + { url = "https://files.pythonhosted.org/packages/7f/fe/74d54cf9fbe2a20ff786e5f7afcfde446588f0cf15fb2daacfbc267b866c/propcache-0.3.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:fb075ad271405dcad8e2a7ffc9a750a3bf70e533bd86e89f0603e607b93aa64c", size = 196980, upload-time = "2025-06-09T22:54:01.071Z" }, + { url = "https://files.pythonhosted.org/packages/22/ec/c469c9d59dada8a7679625e0440b544fe72e99311a4679c279562051f6fc/propcache-0.3.2-cp310-cp310-win32.whl", hash = "sha256:404d70768080d3d3bdb41d0771037da19d8340d50b08e104ca0e7f9ce55fce70", size = 37679, upload-time = "2025-06-09T22:54:03.003Z" }, + { url = "https://files.pythonhosted.org/packages/38/35/07a471371ac89d418f8d0b699c75ea6dca2041fbda360823de21f6a9ce0a/propcache-0.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:7435d766f978b4ede777002e6b3b6641dd229cd1da8d3d3106a45770365f9ad9", size = 41459, upload-time = "2025-06-09T22:54:04.134Z" }, + { url = "https://files.pythonhosted.org/packages/80/8d/e8b436717ab9c2cfc23b116d2c297305aa4cd8339172a456d61ebf5669b8/propcache-0.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0b8d2f607bd8f80ddc04088bc2a037fdd17884a6fcadc47a96e334d72f3717be", size = 74207, upload-time = "2025-06-09T22:54:05.399Z" }, + { url = "https://files.pythonhosted.org/packages/d6/29/1e34000e9766d112171764b9fa3226fa0153ab565d0c242c70e9945318a7/propcache-0.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:06766d8f34733416e2e34f46fea488ad5d60726bb9481d3cddf89a6fa2d9603f", size = 43648, upload-time = "2025-06-09T22:54:08.023Z" }, + { url = "https://files.pythonhosted.org/packages/46/92/1ad5af0df781e76988897da39b5f086c2bf0f028b7f9bd1f409bb05b6874/propcache-0.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a2dc1f4a1df4fecf4e6f68013575ff4af84ef6f478fe5344317a65d38a8e6dc9", size = 43496, upload-time = "2025-06-09T22:54:09.228Z" }, + { url = "https://files.pythonhosted.org/packages/b3/ce/e96392460f9fb68461fabab3e095cb00c8ddf901205be4eae5ce246e5b7e/propcache-0.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be29c4f4810c5789cf10ddf6af80b041c724e629fa51e308a7a0fb19ed1ef7bf", size = 217288, upload-time = "2025-06-09T22:54:10.466Z" }, + { url = "https://files.pythonhosted.org/packages/c5/2a/866726ea345299f7ceefc861a5e782b045545ae6940851930a6adaf1fca6/propcache-0.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59d61f6970ecbd8ff2e9360304d5c8876a6abd4530cb752c06586849ac8a9dc9", size = 227456, upload-time = "2025-06-09T22:54:11.828Z" }, + { url = "https://files.pythonhosted.org/packages/de/03/07d992ccb6d930398689187e1b3c718339a1c06b8b145a8d9650e4726166/propcache-0.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:62180e0b8dbb6b004baec00a7983e4cc52f5ada9cd11f48c3528d8cfa7b96a66", size = 225429, upload-time = "2025-06-09T22:54:13.823Z" }, + { url = "https://files.pythonhosted.org/packages/5d/e6/116ba39448753b1330f48ab8ba927dcd6cf0baea8a0ccbc512dfb49ba670/propcache-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c144ca294a204c470f18cf4c9d78887810d04a3e2fbb30eea903575a779159df", size = 213472, upload-time = "2025-06-09T22:54:15.232Z" }, + { url = "https://files.pythonhosted.org/packages/a6/85/f01f5d97e54e428885a5497ccf7f54404cbb4f906688a1690cd51bf597dc/propcache-0.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c5c2a784234c28854878d68978265617aa6dc0780e53d44b4d67f3651a17a9a2", size = 204480, upload-time = "2025-06-09T22:54:17.104Z" }, + { url = "https://files.pythonhosted.org/packages/e3/79/7bf5ab9033b8b8194cc3f7cf1aaa0e9c3256320726f64a3e1f113a812dce/propcache-0.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5745bc7acdafa978ca1642891b82c19238eadc78ba2aaa293c6863b304e552d7", size = 214530, upload-time = "2025-06-09T22:54:18.512Z" }, + { url = "https://files.pythonhosted.org/packages/31/0b/bd3e0c00509b609317df4a18e6b05a450ef2d9a963e1d8bc9c9415d86f30/propcache-0.3.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:c0075bf773d66fa8c9d41f66cc132ecc75e5bb9dd7cce3cfd14adc5ca184cb95", size = 205230, upload-time = "2025-06-09T22:54:19.947Z" }, + { url = "https://files.pythonhosted.org/packages/7a/23/fae0ff9b54b0de4e819bbe559508da132d5683c32d84d0dc2ccce3563ed4/propcache-0.3.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5f57aa0847730daceff0497f417c9de353c575d8da3579162cc74ac294c5369e", size = 206754, upload-time = "2025-06-09T22:54:21.716Z" }, + { url = "https://files.pythonhosted.org/packages/b7/7f/ad6a3c22630aaa5f618b4dc3c3598974a72abb4c18e45a50b3cdd091eb2f/propcache-0.3.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:eef914c014bf72d18efb55619447e0aecd5fb7c2e3fa7441e2e5d6099bddff7e", size = 218430, upload-time = "2025-06-09T22:54:23.17Z" }, + { url = "https://files.pythonhosted.org/packages/5b/2c/ba4f1c0e8a4b4c75910742f0d333759d441f65a1c7f34683b4a74c0ee015/propcache-0.3.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:2a4092e8549031e82facf3decdbc0883755d5bbcc62d3aea9d9e185549936dcf", size = 223884, upload-time = "2025-06-09T22:54:25.539Z" }, + { url = "https://files.pythonhosted.org/packages/88/e4/ebe30fc399e98572019eee82ad0caf512401661985cbd3da5e3140ffa1b0/propcache-0.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:85871b050f174bc0bfb437efbdb68aaf860611953ed12418e4361bc9c392749e", size = 211480, upload-time = "2025-06-09T22:54:26.892Z" }, + { url = "https://files.pythonhosted.org/packages/96/0a/7d5260b914e01d1d0906f7f38af101f8d8ed0dc47426219eeaf05e8ea7c2/propcache-0.3.2-cp311-cp311-win32.whl", hash = "sha256:36c8d9b673ec57900c3554264e630d45980fd302458e4ac801802a7fd2ef7897", size = 37757, upload-time = "2025-06-09T22:54:28.241Z" }, + { url = "https://files.pythonhosted.org/packages/e1/2d/89fe4489a884bc0da0c3278c552bd4ffe06a1ace559db5ef02ef24ab446b/propcache-0.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:e53af8cb6a781b02d2ea079b5b853ba9430fcbe18a8e3ce647d5982a3ff69f39", size = 41500, upload-time = "2025-06-09T22:54:29.4Z" }, + { url = "https://files.pythonhosted.org/packages/a8/42/9ca01b0a6f48e81615dca4765a8f1dd2c057e0540f6116a27dc5ee01dfb6/propcache-0.3.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:8de106b6c84506b31c27168582cd3cb3000a6412c16df14a8628e5871ff83c10", size = 73674, upload-time = "2025-06-09T22:54:30.551Z" }, + { url = "https://files.pythonhosted.org/packages/af/6e/21293133beb550f9c901bbece755d582bfaf2176bee4774000bd4dd41884/propcache-0.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:28710b0d3975117239c76600ea351934ac7b5ff56e60953474342608dbbb6154", size = 43570, upload-time = "2025-06-09T22:54:32.296Z" }, + { url = "https://files.pythonhosted.org/packages/0c/c8/0393a0a3a2b8760eb3bde3c147f62b20044f0ddac81e9d6ed7318ec0d852/propcache-0.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce26862344bdf836650ed2487c3d724b00fbfec4233a1013f597b78c1cb73615", size = 43094, upload-time = "2025-06-09T22:54:33.929Z" }, + { url = "https://files.pythonhosted.org/packages/37/2c/489afe311a690399d04a3e03b069225670c1d489eb7b044a566511c1c498/propcache-0.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bca54bd347a253af2cf4544bbec232ab982f4868de0dd684246b67a51bc6b1db", size = 226958, upload-time = "2025-06-09T22:54:35.186Z" }, + { url = "https://files.pythonhosted.org/packages/9d/ca/63b520d2f3d418c968bf596839ae26cf7f87bead026b6192d4da6a08c467/propcache-0.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:55780d5e9a2ddc59711d727226bb1ba83a22dd32f64ee15594b9392b1f544eb1", size = 234894, upload-time = "2025-06-09T22:54:36.708Z" }, + { url = "https://files.pythonhosted.org/packages/11/60/1d0ed6fff455a028d678df30cc28dcee7af77fa2b0e6962ce1df95c9a2a9/propcache-0.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:035e631be25d6975ed87ab23153db6a73426a48db688070d925aa27e996fe93c", size = 233672, upload-time = "2025-06-09T22:54:38.062Z" }, + { url = "https://files.pythonhosted.org/packages/37/7c/54fd5301ef38505ab235d98827207176a5c9b2aa61939b10a460ca53e123/propcache-0.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee6f22b6eaa39297c751d0e80c0d3a454f112f5c6481214fcf4c092074cecd67", size = 224395, upload-time = "2025-06-09T22:54:39.634Z" }, + { url = "https://files.pythonhosted.org/packages/ee/1a/89a40e0846f5de05fdc6779883bf46ba980e6df4d2ff8fb02643de126592/propcache-0.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ca3aee1aa955438c4dba34fc20a9f390e4c79967257d830f137bd5a8a32ed3b", size = 212510, upload-time = "2025-06-09T22:54:41.565Z" }, + { url = "https://files.pythonhosted.org/packages/5e/33/ca98368586c9566a6b8d5ef66e30484f8da84c0aac3f2d9aec6d31a11bd5/propcache-0.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7a4f30862869fa2b68380d677cc1c5fcf1e0f2b9ea0cf665812895c75d0ca3b8", size = 222949, upload-time = "2025-06-09T22:54:43.038Z" }, + { url = "https://files.pythonhosted.org/packages/ba/11/ace870d0aafe443b33b2f0b7efdb872b7c3abd505bfb4890716ad7865e9d/propcache-0.3.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:b77ec3c257d7816d9f3700013639db7491a434644c906a2578a11daf13176251", size = 217258, upload-time = "2025-06-09T22:54:44.376Z" }, + { url = "https://files.pythonhosted.org/packages/5b/d2/86fd6f7adffcfc74b42c10a6b7db721d1d9ca1055c45d39a1a8f2a740a21/propcache-0.3.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:cab90ac9d3f14b2d5050928483d3d3b8fb6b4018893fc75710e6aa361ecb2474", size = 213036, upload-time = "2025-06-09T22:54:46.243Z" }, + { url = "https://files.pythonhosted.org/packages/07/94/2d7d1e328f45ff34a0a284cf5a2847013701e24c2a53117e7c280a4316b3/propcache-0.3.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:0b504d29f3c47cf6b9e936c1852246c83d450e8e063d50562115a6be6d3a2535", size = 227684, upload-time = "2025-06-09T22:54:47.63Z" }, + { url = "https://files.pythonhosted.org/packages/b7/05/37ae63a0087677e90b1d14710e532ff104d44bc1efa3b3970fff99b891dc/propcache-0.3.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:ce2ac2675a6aa41ddb2a0c9cbff53780a617ac3d43e620f8fd77ba1c84dcfc06", size = 234562, upload-time = "2025-06-09T22:54:48.982Z" }, + { url = "https://files.pythonhosted.org/packages/a4/7c/3f539fcae630408d0bd8bf3208b9a647ccad10976eda62402a80adf8fc34/propcache-0.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:62b4239611205294cc433845b914131b2a1f03500ff3c1ed093ed216b82621e1", size = 222142, upload-time = "2025-06-09T22:54:50.424Z" }, + { url = "https://files.pythonhosted.org/packages/7c/d2/34b9eac8c35f79f8a962546b3e97e9d4b990c420ee66ac8255d5d9611648/propcache-0.3.2-cp312-cp312-win32.whl", hash = "sha256:df4a81b9b53449ebc90cc4deefb052c1dd934ba85012aa912c7ea7b7e38b60c1", size = 37711, upload-time = "2025-06-09T22:54:52.072Z" }, + { url = "https://files.pythonhosted.org/packages/19/61/d582be5d226cf79071681d1b46b848d6cb03d7b70af7063e33a2787eaa03/propcache-0.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:7046e79b989d7fe457bb755844019e10f693752d169076138abf17f31380800c", size = 41479, upload-time = "2025-06-09T22:54:53.234Z" }, + { url = "https://files.pythonhosted.org/packages/dc/d1/8c747fafa558c603c4ca19d8e20b288aa0c7cda74e9402f50f31eb65267e/propcache-0.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ca592ed634a73ca002967458187109265e980422116c0a107cf93d81f95af945", size = 71286, upload-time = "2025-06-09T22:54:54.369Z" }, + { url = "https://files.pythonhosted.org/packages/61/99/d606cb7986b60d89c36de8a85d58764323b3a5ff07770a99d8e993b3fa73/propcache-0.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9ecb0aad4020e275652ba3975740f241bd12a61f1a784df044cf7477a02bc252", size = 42425, upload-time = "2025-06-09T22:54:55.642Z" }, + { url = "https://files.pythonhosted.org/packages/8c/96/ef98f91bbb42b79e9bb82bdd348b255eb9d65f14dbbe3b1594644c4073f7/propcache-0.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7f08f1cc28bd2eade7a8a3d2954ccc673bb02062e3e7da09bc75d843386b342f", size = 41846, upload-time = "2025-06-09T22:54:57.246Z" }, + { url = "https://files.pythonhosted.org/packages/5b/ad/3f0f9a705fb630d175146cd7b1d2bf5555c9beaed54e94132b21aac098a6/propcache-0.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1a342c834734edb4be5ecb1e9fb48cb64b1e2320fccbd8c54bf8da8f2a84c33", size = 208871, upload-time = "2025-06-09T22:54:58.975Z" }, + { url = "https://files.pythonhosted.org/packages/3a/38/2085cda93d2c8b6ec3e92af2c89489a36a5886b712a34ab25de9fbca7992/propcache-0.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a544caaae1ac73f1fecfae70ded3e93728831affebd017d53449e3ac052ac1e", size = 215720, upload-time = "2025-06-09T22:55:00.471Z" }, + { url = "https://files.pythonhosted.org/packages/61/c1/d72ea2dc83ac7f2c8e182786ab0fc2c7bd123a1ff9b7975bee671866fe5f/propcache-0.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:310d11aa44635298397db47a3ebce7db99a4cc4b9bbdfcf6c98a60c8d5261cf1", size = 215203, upload-time = "2025-06-09T22:55:01.834Z" }, + { url = "https://files.pythonhosted.org/packages/af/81/b324c44ae60c56ef12007105f1460d5c304b0626ab0cc6b07c8f2a9aa0b8/propcache-0.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c1396592321ac83157ac03a2023aa6cc4a3cc3cfdecb71090054c09e5a7cce3", size = 206365, upload-time = "2025-06-09T22:55:03.199Z" }, + { url = "https://files.pythonhosted.org/packages/09/73/88549128bb89e66d2aff242488f62869014ae092db63ccea53c1cc75a81d/propcache-0.3.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8cabf5b5902272565e78197edb682017d21cf3b550ba0460ee473753f28d23c1", size = 196016, upload-time = "2025-06-09T22:55:04.518Z" }, + { url = "https://files.pythonhosted.org/packages/b9/3f/3bdd14e737d145114a5eb83cb172903afba7242f67c5877f9909a20d948d/propcache-0.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0a2f2235ac46a7aa25bdeb03a9e7060f6ecbd213b1f9101c43b3090ffb971ef6", size = 205596, upload-time = "2025-06-09T22:55:05.942Z" }, + { url = "https://files.pythonhosted.org/packages/0f/ca/2f4aa819c357d3107c3763d7ef42c03980f9ed5c48c82e01e25945d437c1/propcache-0.3.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:92b69e12e34869a6970fd2f3da91669899994b47c98f5d430b781c26f1d9f387", size = 200977, upload-time = "2025-06-09T22:55:07.792Z" }, + { url = "https://files.pythonhosted.org/packages/cd/4a/e65276c7477533c59085251ae88505caf6831c0e85ff8b2e31ebcbb949b1/propcache-0.3.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:54e02207c79968ebbdffc169591009f4474dde3b4679e16634d34c9363ff56b4", size = 197220, upload-time = "2025-06-09T22:55:09.173Z" }, + { url = "https://files.pythonhosted.org/packages/7c/54/fc7152e517cf5578278b242396ce4d4b36795423988ef39bb8cd5bf274c8/propcache-0.3.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4adfb44cb588001f68c5466579d3f1157ca07f7504fc91ec87862e2b8e556b88", size = 210642, upload-time = "2025-06-09T22:55:10.62Z" }, + { url = "https://files.pythonhosted.org/packages/b9/80/abeb4a896d2767bf5f1ea7b92eb7be6a5330645bd7fb844049c0e4045d9d/propcache-0.3.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:fd3e6019dc1261cd0291ee8919dd91fbab7b169bb76aeef6c716833a3f65d206", size = 212789, upload-time = "2025-06-09T22:55:12.029Z" }, + { url = "https://files.pythonhosted.org/packages/b3/db/ea12a49aa7b2b6d68a5da8293dcf50068d48d088100ac016ad92a6a780e6/propcache-0.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4c181cad81158d71c41a2bce88edce078458e2dd5ffee7eddd6b05da85079f43", size = 205880, upload-time = "2025-06-09T22:55:13.45Z" }, + { url = "https://files.pythonhosted.org/packages/d1/e5/9076a0bbbfb65d1198007059c65639dfd56266cf8e477a9707e4b1999ff4/propcache-0.3.2-cp313-cp313-win32.whl", hash = "sha256:8a08154613f2249519e549de2330cf8e2071c2887309a7b07fb56098f5170a02", size = 37220, upload-time = "2025-06-09T22:55:15.284Z" }, + { url = "https://files.pythonhosted.org/packages/d3/f5/b369e026b09a26cd77aa88d8fffd69141d2ae00a2abaaf5380d2603f4b7f/propcache-0.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:e41671f1594fc4ab0a6dec1351864713cb3a279910ae8b58f884a88a0a632c05", size = 40678, upload-time = "2025-06-09T22:55:16.445Z" }, + { url = "https://files.pythonhosted.org/packages/a4/3a/6ece377b55544941a08d03581c7bc400a3c8cd3c2865900a68d5de79e21f/propcache-0.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:9a3cf035bbaf035f109987d9d55dc90e4b0e36e04bbbb95af3055ef17194057b", size = 76560, upload-time = "2025-06-09T22:55:17.598Z" }, + { url = "https://files.pythonhosted.org/packages/0c/da/64a2bb16418740fa634b0e9c3d29edff1db07f56d3546ca2d86ddf0305e1/propcache-0.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:156c03d07dc1323d8dacaa221fbe028c5c70d16709cdd63502778e6c3ccca1b0", size = 44676, upload-time = "2025-06-09T22:55:18.922Z" }, + { url = "https://files.pythonhosted.org/packages/36/7b/f025e06ea51cb72c52fb87e9b395cced02786610b60a3ed51da8af017170/propcache-0.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:74413c0ba02ba86f55cf60d18daab219f7e531620c15f1e23d95563f505efe7e", size = 44701, upload-time = "2025-06-09T22:55:20.106Z" }, + { url = "https://files.pythonhosted.org/packages/a4/00/faa1b1b7c3b74fc277f8642f32a4c72ba1d7b2de36d7cdfb676db7f4303e/propcache-0.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f066b437bb3fa39c58ff97ab2ca351db465157d68ed0440abecb21715eb24b28", size = 276934, upload-time = "2025-06-09T22:55:21.5Z" }, + { url = "https://files.pythonhosted.org/packages/74/ab/935beb6f1756e0476a4d5938ff44bf0d13a055fed880caf93859b4f1baf4/propcache-0.3.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1304b085c83067914721e7e9d9917d41ad87696bf70f0bc7dee450e9c71ad0a", size = 278316, upload-time = "2025-06-09T22:55:22.918Z" }, + { url = "https://files.pythonhosted.org/packages/f8/9d/994a5c1ce4389610838d1caec74bdf0e98b306c70314d46dbe4fcf21a3e2/propcache-0.3.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ab50cef01b372763a13333b4e54021bdcb291fc9a8e2ccb9c2df98be51bcde6c", size = 282619, upload-time = "2025-06-09T22:55:24.651Z" }, + { url = "https://files.pythonhosted.org/packages/2b/00/a10afce3d1ed0287cef2e09506d3be9822513f2c1e96457ee369adb9a6cd/propcache-0.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fad3b2a085ec259ad2c2842666b2a0a49dea8463579c606426128925af1ed725", size = 265896, upload-time = "2025-06-09T22:55:26.049Z" }, + { url = "https://files.pythonhosted.org/packages/2e/a8/2aa6716ffa566ca57c749edb909ad27884680887d68517e4be41b02299f3/propcache-0.3.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:261fa020c1c14deafd54c76b014956e2f86991af198c51139faf41c4d5e83892", size = 252111, upload-time = "2025-06-09T22:55:27.381Z" }, + { url = "https://files.pythonhosted.org/packages/36/4f/345ca9183b85ac29c8694b0941f7484bf419c7f0fea2d1e386b4f7893eed/propcache-0.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:46d7f8aa79c927e5f987ee3a80205c987717d3659f035c85cf0c3680526bdb44", size = 268334, upload-time = "2025-06-09T22:55:28.747Z" }, + { url = "https://files.pythonhosted.org/packages/3e/ca/fcd54f78b59e3f97b3b9715501e3147f5340167733d27db423aa321e7148/propcache-0.3.2-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:6d8f3f0eebf73e3c0ff0e7853f68be638b4043c65a70517bb575eff54edd8dbe", size = 255026, upload-time = "2025-06-09T22:55:30.184Z" }, + { url = "https://files.pythonhosted.org/packages/8b/95/8e6a6bbbd78ac89c30c225210a5c687790e532ba4088afb8c0445b77ef37/propcache-0.3.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:03c89c1b14a5452cf15403e291c0ccd7751d5b9736ecb2c5bab977ad6c5bcd81", size = 250724, upload-time = "2025-06-09T22:55:31.646Z" }, + { url = "https://files.pythonhosted.org/packages/ee/b0/0dd03616142baba28e8b2d14ce5df6631b4673850a3d4f9c0f9dd714a404/propcache-0.3.2-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:0cc17efde71e12bbaad086d679ce575268d70bc123a5a71ea7ad76f70ba30bba", size = 268868, upload-time = "2025-06-09T22:55:33.209Z" }, + { url = "https://files.pythonhosted.org/packages/c5/98/2c12407a7e4fbacd94ddd32f3b1e3d5231e77c30ef7162b12a60e2dd5ce3/propcache-0.3.2-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:acdf05d00696bc0447e278bb53cb04ca72354e562cf88ea6f9107df8e7fd9770", size = 271322, upload-time = "2025-06-09T22:55:35.065Z" }, + { url = "https://files.pythonhosted.org/packages/35/91/9cb56efbb428b006bb85db28591e40b7736847b8331d43fe335acf95f6c8/propcache-0.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4445542398bd0b5d32df908031cb1b30d43ac848e20470a878b770ec2dcc6330", size = 265778, upload-time = "2025-06-09T22:55:36.45Z" }, + { url = "https://files.pythonhosted.org/packages/9a/4c/b0fe775a2bdd01e176b14b574be679d84fc83958335790f7c9a686c1f468/propcache-0.3.2-cp313-cp313t-win32.whl", hash = "sha256:f86e5d7cd03afb3a1db8e9f9f6eff15794e79e791350ac48a8c924e6f439f394", size = 41175, upload-time = "2025-06-09T22:55:38.436Z" }, + { url = "https://files.pythonhosted.org/packages/a4/ff/47f08595e3d9b5e149c150f88d9714574f1a7cbd89fe2817158a952674bf/propcache-0.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:9704bedf6e7cbe3c65eca4379a9b53ee6a83749f047808cbb5044d40d7d72198", size = 44857, upload-time = "2025-06-09T22:55:39.687Z" }, + { url = "https://files.pythonhosted.org/packages/6c/39/8ea9bcfaaff16fd0b0fc901ee522e24c9ec44b4ca0229cfffb8066a06959/propcache-0.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a7fad897f14d92086d6b03fdd2eb844777b0c4d7ec5e3bac0fbae2ab0602bbe5", size = 74678, upload-time = "2025-06-09T22:55:41.227Z" }, + { url = "https://files.pythonhosted.org/packages/d3/85/cab84c86966e1d354cf90cdc4ba52f32f99a5bca92a1529d666d957d7686/propcache-0.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1f43837d4ca000243fd7fd6301947d7cb93360d03cd08369969450cc6b2ce3b4", size = 43829, upload-time = "2025-06-09T22:55:42.417Z" }, + { url = "https://files.pythonhosted.org/packages/23/f7/9cb719749152d8b26d63801b3220ce2d3931312b2744d2b3a088b0ee9947/propcache-0.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:261df2e9474a5949c46e962065d88eb9b96ce0f2bd30e9d3136bcde84befd8f2", size = 43729, upload-time = "2025-06-09T22:55:43.651Z" }, + { url = "https://files.pythonhosted.org/packages/a2/a2/0b2b5a210ff311260002a315f6f9531b65a36064dfb804655432b2f7d3e3/propcache-0.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e514326b79e51f0a177daab1052bc164d9d9e54133797a3a58d24c9c87a3fe6d", size = 204483, upload-time = "2025-06-09T22:55:45.327Z" }, + { url = "https://files.pythonhosted.org/packages/3f/e0/7aff5de0c535f783b0c8be5bdb750c305c1961d69fbb136939926e155d98/propcache-0.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d4a996adb6904f85894570301939afeee65f072b4fd265ed7e569e8d9058e4ec", size = 217425, upload-time = "2025-06-09T22:55:46.729Z" }, + { url = "https://files.pythonhosted.org/packages/92/1d/65fa889eb3b2a7d6e4ed3c2b568a9cb8817547a1450b572de7bf24872800/propcache-0.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:76cace5d6b2a54e55b137669b30f31aa15977eeed390c7cbfb1dafa8dfe9a701", size = 214723, upload-time = "2025-06-09T22:55:48.342Z" }, + { url = "https://files.pythonhosted.org/packages/9a/e2/eecf6989870988dfd731de408a6fa366e853d361a06c2133b5878ce821ad/propcache-0.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31248e44b81d59d6addbb182c4720f90b44e1efdc19f58112a3c3a1615fb47ef", size = 200166, upload-time = "2025-06-09T22:55:49.775Z" }, + { url = "https://files.pythonhosted.org/packages/12/06/c32be4950967f18f77489268488c7cdc78cbfc65a8ba8101b15e526b83dc/propcache-0.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abb7fa19dbf88d3857363e0493b999b8011eea856b846305d8c0512dfdf8fbb1", size = 194004, upload-time = "2025-06-09T22:55:51.335Z" }, + { url = "https://files.pythonhosted.org/packages/46/6c/17b521a6b3b7cbe277a4064ff0aa9129dd8c89f425a5a9b6b4dd51cc3ff4/propcache-0.3.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:d81ac3ae39d38588ad0549e321e6f773a4e7cc68e7751524a22885d5bbadf886", size = 203075, upload-time = "2025-06-09T22:55:52.681Z" }, + { url = "https://files.pythonhosted.org/packages/62/cb/3bdba2b736b3e45bc0e40f4370f745b3e711d439ffbffe3ae416393eece9/propcache-0.3.2-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:cc2782eb0f7a16462285b6f8394bbbd0e1ee5f928034e941ffc444012224171b", size = 195407, upload-time = "2025-06-09T22:55:54.048Z" }, + { url = "https://files.pythonhosted.org/packages/29/bd/760c5c6a60a4a2c55a421bc34a25ba3919d49dee411ddb9d1493bb51d46e/propcache-0.3.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:db429c19a6c7e8a1c320e6a13c99799450f411b02251fb1b75e6217cf4a14fcb", size = 196045, upload-time = "2025-06-09T22:55:55.485Z" }, + { url = "https://files.pythonhosted.org/packages/76/58/ced2757a46f55b8c84358d6ab8de4faf57cba831c51e823654da7144b13a/propcache-0.3.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:21d8759141a9e00a681d35a1f160892a36fb6caa715ba0b832f7747da48fb6ea", size = 208432, upload-time = "2025-06-09T22:55:56.884Z" }, + { url = "https://files.pythonhosted.org/packages/bb/ec/d98ea8d5a4d8fe0e372033f5254eddf3254344c0c5dc6c49ab84349e4733/propcache-0.3.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:2ca6d378f09adb13837614ad2754fa8afaee330254f404299611bce41a8438cb", size = 210100, upload-time = "2025-06-09T22:55:58.498Z" }, + { url = "https://files.pythonhosted.org/packages/56/84/b6d8a7ecf3f62d7dd09d9d10bbf89fad6837970ef868b35b5ffa0d24d9de/propcache-0.3.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:34a624af06c048946709f4278b4176470073deda88d91342665d95f7c6270fbe", size = 200712, upload-time = "2025-06-09T22:55:59.906Z" }, + { url = "https://files.pythonhosted.org/packages/bf/32/889f4903ddfe4a9dc61da71ee58b763758cf2d608fe1decede06e6467f8d/propcache-0.3.2-cp39-cp39-win32.whl", hash = "sha256:4ba3fef1c30f306b1c274ce0b8baaa2c3cdd91f645c48f06394068f37d3837a1", size = 38187, upload-time = "2025-06-09T22:56:01.212Z" }, + { url = "https://files.pythonhosted.org/packages/67/74/d666795fb9ba1dc139d30de64f3b6fd1ff9c9d3d96ccfdb992cd715ce5d2/propcache-0.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:7a2368eed65fc69a7a7a40b27f22e85e7627b74216f0846b04ba5c116e191ec9", size = 42025, upload-time = "2025-06-09T22:56:02.875Z" }, + { url = "https://files.pythonhosted.org/packages/cc/35/cc0aaecf278bb4575b8555f2b137de5ab821595ddae9da9d3cd1da4072c7/propcache-0.3.2-py3-none-any.whl", hash = "sha256:98f1ec44fb675f5052cccc8e609c46ed23a35a1cfd18545ad4e29002d858a43f", size = 12663, upload-time = "2025-06-09T22:56:04.484Z" }, ] [[package]] name = "pycparser" version = "2.22" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736 } +sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736, upload-time = "2024-03-30T13:22:22.564Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552 }, + { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552, upload-time = "2024-03-30T13:22:20.476Z" }, ] [[package]] name = "pygments" version = "2.19.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581 } +sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581, upload-time = "2025-01-06T17:26:30.443Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293 }, + { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293, upload-time = "2025-01-06T17:26:25.553Z" }, ] [[package]] name = "pyobjc-core" version = "10.3.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/5d/07/2b3d63c0349fe4cf34d787a52a22faa156225808db2d1531fe58fabd779d/pyobjc_core-10.3.2.tar.gz", hash = "sha256:dbf1475d864ce594288ce03e94e3a98dc7f0e4639971eb1e312bdf6661c21e0e", size = 935182 } +sdist = { url = "https://files.pythonhosted.org/packages/5d/07/2b3d63c0349fe4cf34d787a52a22faa156225808db2d1531fe58fabd779d/pyobjc_core-10.3.2.tar.gz", hash = "sha256:dbf1475d864ce594288ce03e94e3a98dc7f0e4639971eb1e312bdf6661c21e0e", size = 935182, upload-time = "2024-11-30T15:24:44.294Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a7/60/8f4d181ffa050b6b98f92bb7487a2a0241435ceee652b26729d7c4514fd3/pyobjc_core-10.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:acb40672d682851a5c7fd84e5041c4d069b62076168d72591abb5fcc871bb039", size = 774483 }, - { url = "https://files.pythonhosted.org/packages/8e/11/f28af2cb4446743c8515f40f8dfac1bc078566c4a5cd7dcc6d24219ff3c9/pyobjc_core-10.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:cea5e77659619ad93c782ca07644b6efe7d7ec6f59e46128843a0a87c1af511a", size = 775537 }, - { url = "https://files.pythonhosted.org/packages/13/89/8808fe75efb03b29e082f9d12da31d55d5be3f55260c7b4e4cde7ebf81af/pyobjc_core-10.3.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:16644a92fb9661de841ba6115e5354db06a1d193a5e239046e840013c7b3874d", size = 826024 }, - { url = "https://files.pythonhosted.org/packages/08/27/e7b8240c116cd8231ac33daaf982e36f77be33cf5448bbc568ce17371a79/pyobjc_core-10.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:76b8b911d94501dac89821df349b1860bb770dce102a1a293f524b5b09dd9462", size = 827885 }, - { url = "https://files.pythonhosted.org/packages/de/a3/897cc31fca822a4df4ece31e4369dd9eae35bcb0b535fc9c7c21924268ba/pyobjc_core-10.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:8c6288fdb210b64115760a4504efbc4daffdc390d309e9318eb0e3e3b78d2828", size = 837794 }, - { url = "https://files.pythonhosted.org/packages/5f/08/b02d9b7ca2601a666e0064153f1985ef14fc294e7bbd31142b80ec4e8b70/pyobjc_core-10.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:48e9ac3af42b2340dae709a8b894f5ef7e5132d8546adcd1797cffcc449dabdc", size = 780928 }, + { url = "https://files.pythonhosted.org/packages/a7/60/8f4d181ffa050b6b98f92bb7487a2a0241435ceee652b26729d7c4514fd3/pyobjc_core-10.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:acb40672d682851a5c7fd84e5041c4d069b62076168d72591abb5fcc871bb039", size = 774483, upload-time = "2024-11-30T12:49:45.106Z" }, + { url = "https://files.pythonhosted.org/packages/8e/11/f28af2cb4446743c8515f40f8dfac1bc078566c4a5cd7dcc6d24219ff3c9/pyobjc_core-10.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:cea5e77659619ad93c782ca07644b6efe7d7ec6f59e46128843a0a87c1af511a", size = 775537, upload-time = "2024-11-30T12:50:10.636Z" }, + { url = "https://files.pythonhosted.org/packages/13/89/8808fe75efb03b29e082f9d12da31d55d5be3f55260c7b4e4cde7ebf81af/pyobjc_core-10.3.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:16644a92fb9661de841ba6115e5354db06a1d193a5e239046e840013c7b3874d", size = 826024, upload-time = "2024-11-30T12:50:14.048Z" }, + { url = "https://files.pythonhosted.org/packages/08/27/e7b8240c116cd8231ac33daaf982e36f77be33cf5448bbc568ce17371a79/pyobjc_core-10.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:76b8b911d94501dac89821df349b1860bb770dce102a1a293f524b5b09dd9462", size = 827885, upload-time = "2024-11-30T12:50:41.942Z" }, + { url = "https://files.pythonhosted.org/packages/de/a3/897cc31fca822a4df4ece31e4369dd9eae35bcb0b535fc9c7c21924268ba/pyobjc_core-10.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:8c6288fdb210b64115760a4504efbc4daffdc390d309e9318eb0e3e3b78d2828", size = 837794, upload-time = "2024-11-30T12:51:05.748Z" }, + { url = "https://files.pythonhosted.org/packages/5f/08/b02d9b7ca2601a666e0064153f1985ef14fc294e7bbd31142b80ec4e8b70/pyobjc_core-10.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:48e9ac3af42b2340dae709a8b894f5ef7e5132d8546adcd1797cffcc449dabdc", size = 780928, upload-time = "2024-11-30T12:51:56.91Z" }, ] [[package]] @@ -1085,14 +1134,14 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pyobjc-core" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/39/41/4f09a5e9a6769b4dafb293ea597ed693cc0def0e07867ad0a42664f530b6/pyobjc_framework_cocoa-10.3.2.tar.gz", hash = "sha256:673968e5435845bef969bfe374f31a1a6dc660c98608d2b84d5cae6eafa5c39d", size = 4942530 } +sdist = { url = "https://files.pythonhosted.org/packages/39/41/4f09a5e9a6769b4dafb293ea597ed693cc0def0e07867ad0a42664f530b6/pyobjc_framework_cocoa-10.3.2.tar.gz", hash = "sha256:673968e5435845bef969bfe374f31a1a6dc660c98608d2b84d5cae6eafa5c39d", size = 4942530, upload-time = "2024-11-30T15:30:27.244Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/92/8181f9d1cc5539ffb56fe9a91df54348eb0eb36764e53b0082267192ce4b/pyobjc_framework_Cocoa-10.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:61f44c2adab28fdf3aa3d593c9497a2d9ceb9583ed9814adb48828c385d83ff4", size = 381552 }, - { url = "https://files.pythonhosted.org/packages/94/52/a41bf62d1467d74e61a729a1e36e064abb47f124a5e484643f021388873f/pyobjc_framework_Cocoa-10.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7caaf8b260e81b27b7b787332846f644b9423bfc1536f6ec24edbde59ab77a87", size = 381529 }, - { url = "https://files.pythonhosted.org/packages/22/fc/496c6ce1386f93d22d9a1ee1889215ed69989d976efa27e46b37b95a4f2d/pyobjc_framework_Cocoa-10.3.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:c49e99fc4b9e613fb308651b99d52a8a9ae9916c8ef27aa2f5d585b6678a59bf", size = 381866 }, - { url = "https://files.pythonhosted.org/packages/4e/c4/bccb4c05422170c0afccf6ebbdcc7551f7ddd03d2f7a65498d02cb179993/pyobjc_framework_Cocoa-10.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f1161b5713f9b9934c12649d73a6749617172e240f9431eff9e22175262fdfda", size = 381878 }, - { url = "https://files.pythonhosted.org/packages/25/ec/68657a633512edb84ecb1ff47a067a81028d6f027aa923e806400d2f8a26/pyobjc_framework_Cocoa-10.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:08e48b9ee4eb393447b2b781d16663b954bd10a26927df74f92e924c05568d89", size = 384925 }, - { url = "https://files.pythonhosted.org/packages/cc/fb/3ed87bcc1db8290cf83aad4cb584c7b489f1aad5500008ba3b43b6fd1a8b/pyobjc_framework_Cocoa-10.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:838fcf0d10674bde9ff64a3f20c0e188f2dc5e804476d80509b81c4ac1dabc59", size = 381514 }, + { url = "https://files.pythonhosted.org/packages/7f/92/8181f9d1cc5539ffb56fe9a91df54348eb0eb36764e53b0082267192ce4b/pyobjc_framework_Cocoa-10.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:61f44c2adab28fdf3aa3d593c9497a2d9ceb9583ed9814adb48828c385d83ff4", size = 381552, upload-time = "2024-11-30T13:17:34.02Z" }, + { url = "https://files.pythonhosted.org/packages/94/52/a41bf62d1467d74e61a729a1e36e064abb47f124a5e484643f021388873f/pyobjc_framework_Cocoa-10.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7caaf8b260e81b27b7b787332846f644b9423bfc1536f6ec24edbde59ab77a87", size = 381529, upload-time = "2024-11-30T13:18:06.791Z" }, + { url = "https://files.pythonhosted.org/packages/22/fc/496c6ce1386f93d22d9a1ee1889215ed69989d976efa27e46b37b95a4f2d/pyobjc_framework_Cocoa-10.3.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:c49e99fc4b9e613fb308651b99d52a8a9ae9916c8ef27aa2f5d585b6678a59bf", size = 381866, upload-time = "2024-11-30T13:18:08.83Z" }, + { url = "https://files.pythonhosted.org/packages/4e/c4/bccb4c05422170c0afccf6ebbdcc7551f7ddd03d2f7a65498d02cb179993/pyobjc_framework_Cocoa-10.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f1161b5713f9b9934c12649d73a6749617172e240f9431eff9e22175262fdfda", size = 381878, upload-time = "2024-11-30T13:18:26.24Z" }, + { url = "https://files.pythonhosted.org/packages/25/ec/68657a633512edb84ecb1ff47a067a81028d6f027aa923e806400d2f8a26/pyobjc_framework_Cocoa-10.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:08e48b9ee4eb393447b2b781d16663b954bd10a26927df74f92e924c05568d89", size = 384925, upload-time = "2024-11-30T13:18:28.171Z" }, + { url = "https://files.pythonhosted.org/packages/cc/fb/3ed87bcc1db8290cf83aad4cb584c7b489f1aad5500008ba3b43b6fd1a8b/pyobjc_framework_Cocoa-10.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:838fcf0d10674bde9ff64a3f20c0e188f2dc5e804476d80509b81c4ac1dabc59", size = 381514, upload-time = "2024-11-30T13:19:15.651Z" }, ] [[package]] @@ -1103,13 +1152,13 @@ dependencies = [ { name = "pyobjc-core" }, { name = "pyobjc-framework-cocoa" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/13/ca/35d205c3e153e7bc59a417560a45e27a2410439e6f78390f97c1a996c922/pyobjc_framework_corebluetooth-10.3.2.tar.gz", hash = "sha256:c0a077bc3a2466271efa382c1e024630bc43cc6f9ab8f3f97431ad08b1ad52bb", size = 50622 } +sdist = { url = "https://files.pythonhosted.org/packages/13/ca/35d205c3e153e7bc59a417560a45e27a2410439e6f78390f97c1a996c922/pyobjc_framework_corebluetooth-10.3.2.tar.gz", hash = "sha256:c0a077bc3a2466271efa382c1e024630bc43cc6f9ab8f3f97431ad08b1ad52bb", size = 50622, upload-time = "2024-11-30T15:32:18.741Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b8/74/9bfaa9af79d9ff51489c796775fe5715d67adae06b612f3ee776017bb24b/pyobjc_framework_CoreBluetooth-10.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:af3e2f935a6a7e5b009b4cf63c64899592a7b46c3ddcbc8f2e28848842ef65f4", size = 14095 }, - { url = "https://files.pythonhosted.org/packages/f7/b0/9006d9d6cc5780fc190629ff42d8825fe7737dbe2077fbaae38813f0242e/pyobjc_framework_CoreBluetooth-10.3.2-cp36-abi3-macosx_10_13_universal2.whl", hash = "sha256:973b78f47c7e2209a475e60bcc7d1b4a87be6645d39b4e8290ee82640e1cc364", size = 13891 }, - { url = "https://files.pythonhosted.org/packages/02/dd/b415258a86495c23962005bab11604562828dd183a009d04a82bc1f3a816/pyobjc_framework_CoreBluetooth-10.3.2-cp36-abi3-macosx_10_9_universal2.whl", hash = "sha256:4bafdf1be15eae48a4878dbbf1bf19877ce28cbbba5baa0267a9564719ee736e", size = 13843 }, - { url = "https://files.pythonhosted.org/packages/c4/7d/d8a340f3ca0862969a02c6fe053902388e45966040b41d7e023b9dcf97c8/pyobjc_framework_CoreBluetooth-10.3.2-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:4d7dc7494de66c850bda7b173579df7481dc97046fa229d480fe9bf90b2b9651", size = 10082 }, - { url = "https://files.pythonhosted.org/packages/e9/10/d9554ce442269a3c25d9bed9d8a5ffdc1fb5ab71b74bc52749a5f26a96c7/pyobjc_framework_CoreBluetooth-10.3.2-cp36-abi3-macosx_11_0_universal2.whl", hash = "sha256:62e09e730f4d98384f1b6d44718812195602b3c82d5c78e09f60e8a934e7b266", size = 13815 }, + { url = "https://files.pythonhosted.org/packages/b8/74/9bfaa9af79d9ff51489c796775fe5715d67adae06b612f3ee776017bb24b/pyobjc_framework_CoreBluetooth-10.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:af3e2f935a6a7e5b009b4cf63c64899592a7b46c3ddcbc8f2e28848842ef65f4", size = 14095, upload-time = "2024-11-30T13:26:56.735Z" }, + { url = "https://files.pythonhosted.org/packages/f7/b0/9006d9d6cc5780fc190629ff42d8825fe7737dbe2077fbaae38813f0242e/pyobjc_framework_CoreBluetooth-10.3.2-cp36-abi3-macosx_10_13_universal2.whl", hash = "sha256:973b78f47c7e2209a475e60bcc7d1b4a87be6645d39b4e8290ee82640e1cc364", size = 13891, upload-time = "2024-11-30T13:26:57.745Z" }, + { url = "https://files.pythonhosted.org/packages/02/dd/b415258a86495c23962005bab11604562828dd183a009d04a82bc1f3a816/pyobjc_framework_CoreBluetooth-10.3.2-cp36-abi3-macosx_10_9_universal2.whl", hash = "sha256:4bafdf1be15eae48a4878dbbf1bf19877ce28cbbba5baa0267a9564719ee736e", size = 13843, upload-time = "2024-11-30T13:26:59.305Z" }, + { url = "https://files.pythonhosted.org/packages/c4/7d/d8a340f3ca0862969a02c6fe053902388e45966040b41d7e023b9dcf97c8/pyobjc_framework_CoreBluetooth-10.3.2-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:4d7dc7494de66c850bda7b173579df7481dc97046fa229d480fe9bf90b2b9651", size = 10082, upload-time = "2024-11-30T13:27:00.785Z" }, + { url = "https://files.pythonhosted.org/packages/e9/10/d9554ce442269a3c25d9bed9d8a5ffdc1fb5ab71b74bc52749a5f26a96c7/pyobjc_framework_CoreBluetooth-10.3.2-cp36-abi3-macosx_11_0_universal2.whl", hash = "sha256:62e09e730f4d98384f1b6d44718812195602b3c82d5c78e09f60e8a934e7b266", size = 13815, upload-time = "2024-11-30T13:27:01.628Z" }, ] [[package]] @@ -1120,32 +1169,32 @@ dependencies = [ { name = "pyobjc-core" }, { name = "pyobjc-framework-cocoa" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/4d/12/a908f3f94952c8c9e3d6e6bd425613a79692e7d400557ede047992439edc/pyobjc_framework_libdispatch-10.3.2.tar.gz", hash = "sha256:e9f4311fbf8df602852557a98d2a64f37a9d363acf4d75634120251bbc7b7304", size = 45132 } +sdist = { url = "https://files.pythonhosted.org/packages/4d/12/a908f3f94952c8c9e3d6e6bd425613a79692e7d400557ede047992439edc/pyobjc_framework_libdispatch-10.3.2.tar.gz", hash = "sha256:e9f4311fbf8df602852557a98d2a64f37a9d363acf4d75634120251bbc7b7304", size = 45132, upload-time = "2024-11-30T17:09:47.135Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1f/0e/2d948a0708a8f870915a45a8d5808ef08dcf1c1942ffd2f5a52e41e9098c/pyobjc_framework_libdispatch-10.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:35233a8b1135567c7696087f924e398799467c7f129200b559e8e4fa777af860", size = 20196 }, - { url = "https://files.pythonhosted.org/packages/9f/d9/901df936da47707045924eb231adf374e8ff7553202474df7cfb43d4e1e5/pyobjc_framework_libdispatch-10.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:061f6aa0f88d11d993e6546ec734303cb8979f40ae0f5cd23541236a6b426abd", size = 20201 }, - { url = "https://files.pythonhosted.org/packages/e0/e9/8e364765ccb1f3c686d922e2512499f2b4e25bfbfa5d73e833478bff88b5/pyobjc_framework_libdispatch-10.3.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:6bb528f34538f35e1b79d839dbfc398dd426990e190d9301fe2d811fddc3da62", size = 15572 }, - { url = "https://files.pythonhosted.org/packages/86/cc/ff00f7d2e1774e8bbab4da59793f094bdf97c9f0d178f6ace29a89413082/pyobjc_framework_libdispatch-10.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1357729d5fded08fbf746834ebeef27bee07d6acb991f3b8366e8f4319d882c4", size = 15576 }, - { url = "https://files.pythonhosted.org/packages/6b/27/530cd12bdc16938a85436ac5a81dccd85b35bac5e42144e623b69b052b76/pyobjc_framework_libdispatch-10.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:210398f9e1815ceeff49b578bf51c2d6a4a30d4c33f573da322f3d7da1add121", size = 15854 }, - { url = "https://files.pythonhosted.org/packages/17/ee/6e57b57857a8c3666a9a353849105959e47111901a3b20e36e61c787c6bc/pyobjc_framework_libdispatch-10.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ef755bcabff2ea8db45603a8294818e0eeae85bf0b7b9d59e42f5947a26e33b9", size = 20198 }, + { url = "https://files.pythonhosted.org/packages/1f/0e/2d948a0708a8f870915a45a8d5808ef08dcf1c1942ffd2f5a52e41e9098c/pyobjc_framework_libdispatch-10.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:35233a8b1135567c7696087f924e398799467c7f129200b559e8e4fa777af860", size = 20196, upload-time = "2024-11-30T15:21:55.5Z" }, + { url = "https://files.pythonhosted.org/packages/9f/d9/901df936da47707045924eb231adf374e8ff7553202474df7cfb43d4e1e5/pyobjc_framework_libdispatch-10.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:061f6aa0f88d11d993e6546ec734303cb8979f40ae0f5cd23541236a6b426abd", size = 20201, upload-time = "2024-11-30T15:21:59.591Z" }, + { url = "https://files.pythonhosted.org/packages/e0/e9/8e364765ccb1f3c686d922e2512499f2b4e25bfbfa5d73e833478bff88b5/pyobjc_framework_libdispatch-10.3.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:6bb528f34538f35e1b79d839dbfc398dd426990e190d9301fe2d811fddc3da62", size = 15572, upload-time = "2024-11-30T15:22:00.544Z" }, + { url = "https://files.pythonhosted.org/packages/86/cc/ff00f7d2e1774e8bbab4da59793f094bdf97c9f0d178f6ace29a89413082/pyobjc_framework_libdispatch-10.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1357729d5fded08fbf746834ebeef27bee07d6acb991f3b8366e8f4319d882c4", size = 15576, upload-time = "2024-11-30T15:22:01.505Z" }, + { url = "https://files.pythonhosted.org/packages/6b/27/530cd12bdc16938a85436ac5a81dccd85b35bac5e42144e623b69b052b76/pyobjc_framework_libdispatch-10.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:210398f9e1815ceeff49b578bf51c2d6a4a30d4c33f573da322f3d7da1add121", size = 15854, upload-time = "2024-11-30T15:22:02.457Z" }, + { url = "https://files.pythonhosted.org/packages/17/ee/6e57b57857a8c3666a9a353849105959e47111901a3b20e36e61c787c6bc/pyobjc_framework_libdispatch-10.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ef755bcabff2ea8db45603a8294818e0eeae85bf0b7b9d59e42f5947a26e33b9", size = 20198, upload-time = "2024-11-30T15:22:05.099Z" }, ] [[package]] name = "pyright" -version = "1.1.398" +version = "1.1.402" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "nodeenv" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/24/d6/48740f1d029e9fc4194880d1ad03dcf0ba3a8f802e0e166b8f63350b3584/pyright-1.1.398.tar.gz", hash = "sha256:357a13edd9be8082dc73be51190913e475fa41a6efb6ec0d4b7aab3bc11638d8", size = 3892675 } +sdist = { url = "https://files.pythonhosted.org/packages/aa/04/ce0c132d00e20f2d2fb3b3e7c125264ca8b909e693841210534b1ea1752f/pyright-1.1.402.tar.gz", hash = "sha256:85a33c2d40cd4439c66aa946fd4ce71ab2f3f5b8c22ce36a623f59ac22937683", size = 3888207, upload-time = "2025-06-11T08:48:35.759Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/58/e0/5283593f61b3c525d6d7e94cfb6b3ded20b3df66e953acaf7bb4f23b3f6e/pyright-1.1.398-py3-none-any.whl", hash = "sha256:0a70bfd007d9ea7de1cf9740e1ad1a40a122592cfe22a3f6791b06162ad08753", size = 5780235 }, + { url = "https://files.pythonhosted.org/packages/fe/37/1a1c62d955e82adae588be8e374c7f77b165b6cb4203f7d581269959abbc/pyright-1.1.402-py3-none-any.whl", hash = "sha256:2c721f11869baac1884e846232800fe021c33f1b4acb3929cff321f7ea4e2982", size = 5624004, upload-time = "2025-06-11T08:48:33.998Z" }, ] [[package]] name = "pytest" -version = "8.3.5" +version = "8.4.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, @@ -1153,69 +1202,70 @@ dependencies = [ { name = "iniconfig" }, { name = "packaging" }, { name = "pluggy" }, + { name = "pygments" }, { name = "tomli", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ae/3c/c9d525a414d506893f0cd8a8d0de7706446213181570cdbd766691164e40/pytest-8.3.5.tar.gz", hash = "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845", size = 1450891 } +sdist = { url = "https://files.pythonhosted.org/packages/fb/aa/405082ce2749be5398045152251ac69c0f3578c7077efc53431303af97ce/pytest-8.4.0.tar.gz", hash = "sha256:14d920b48472ea0dbf68e45b96cd1ffda4705f33307dcc86c676c1b5104838a6", size = 1515232, upload-time = "2025-06-02T17:36:30.03Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/30/3d/64ad57c803f1fa1e963a7946b6e0fea4a70df53c1a7fed304586539c2bac/pytest-8.3.5-py3-none-any.whl", hash = "sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820", size = 343634 }, + { url = "https://files.pythonhosted.org/packages/2f/de/afa024cbe022b1b318a3d224125aa24939e99b4ff6f22e0ba639a2eaee47/pytest-8.4.0-py3-none-any.whl", hash = "sha256:f40f825768ad76c0977cbacdf1fd37c6f7a468e460ea6a0636078f8972d4517e", size = 363797, upload-time = "2025-06-02T17:36:27.859Z" }, ] [[package]] name = "pyyaml" version = "6.0.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631 } +sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631, upload-time = "2024-08-06T20:33:50.674Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9b/95/a3fac87cb7158e231b5a6012e438c647e1a87f09f8e0d123acec8ab8bf71/PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", size = 184199 }, - { url = "https://files.pythonhosted.org/packages/c7/7a/68bd47624dab8fd4afbfd3c48e3b79efe09098ae941de5b58abcbadff5cb/PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", size = 171758 }, - { url = "https://files.pythonhosted.org/packages/49/ee/14c54df452143b9ee9f0f29074d7ca5516a36edb0b4cc40c3f280131656f/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", size = 718463 }, - { url = "https://files.pythonhosted.org/packages/4d/61/de363a97476e766574650d742205be468921a7b532aa2499fcd886b62530/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", size = 719280 }, - { url = "https://files.pythonhosted.org/packages/6b/4e/1523cb902fd98355e2e9ea5e5eb237cbc5f3ad5f3075fa65087aa0ecb669/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", size = 751239 }, - { url = "https://files.pythonhosted.org/packages/b7/33/5504b3a9a4464893c32f118a9cc045190a91637b119a9c881da1cf6b7a72/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", size = 695802 }, - { url = "https://files.pythonhosted.org/packages/5c/20/8347dcabd41ef3a3cdc4f7b7a2aff3d06598c8779faa189cdbf878b626a4/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", size = 720527 }, - { url = "https://files.pythonhosted.org/packages/be/aa/5afe99233fb360d0ff37377145a949ae258aaab831bde4792b32650a4378/PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", size = 144052 }, - { url = "https://files.pythonhosted.org/packages/b5/84/0fa4b06f6d6c958d207620fc60005e241ecedceee58931bb20138e1e5776/PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", size = 161774 }, - { url = "https://files.pythonhosted.org/packages/f8/aa/7af4e81f7acba21a4c6be026da38fd2b872ca46226673c89a758ebdc4fd2/PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", size = 184612 }, - { url = "https://files.pythonhosted.org/packages/8b/62/b9faa998fd185f65c1371643678e4d58254add437edb764a08c5a98fb986/PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", size = 172040 }, - { url = "https://files.pythonhosted.org/packages/ad/0c/c804f5f922a9a6563bab712d8dcc70251e8af811fce4524d57c2c0fd49a4/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", size = 736829 }, - { url = "https://files.pythonhosted.org/packages/51/16/6af8d6a6b210c8e54f1406a6b9481febf9c64a3109c541567e35a49aa2e7/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", size = 764167 }, - { url = "https://files.pythonhosted.org/packages/75/e4/2c27590dfc9992f73aabbeb9241ae20220bd9452df27483b6e56d3975cc5/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", size = 762952 }, - { url = "https://files.pythonhosted.org/packages/9b/97/ecc1abf4a823f5ac61941a9c00fe501b02ac3ab0e373c3857f7d4b83e2b6/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4", size = 735301 }, - { url = "https://files.pythonhosted.org/packages/45/73/0f49dacd6e82c9430e46f4a027baa4ca205e8b0a9dce1397f44edc23559d/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", size = 756638 }, - { url = "https://files.pythonhosted.org/packages/22/5f/956f0f9fc65223a58fbc14459bf34b4cc48dec52e00535c79b8db361aabd/PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", size = 143850 }, - { url = "https://files.pythonhosted.org/packages/ed/23/8da0bbe2ab9dcdd11f4f4557ccaf95c10b9811b13ecced089d43ce59c3c8/PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", size = 161980 }, - { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873 }, - { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302 }, - { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154 }, - { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223 }, - { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542 }, - { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164 }, - { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611 }, - { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591 }, - { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338 }, - { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309 }, - { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679 }, - { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428 }, - { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361 }, - { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523 }, - { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660 }, - { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597 }, - { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527 }, - { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446 }, - { url = "https://files.pythonhosted.org/packages/65/d8/b7a1db13636d7fb7d4ff431593c510c8b8fca920ade06ca8ef20015493c5/PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", size = 184777 }, - { url = "https://files.pythonhosted.org/packages/0a/02/6ec546cd45143fdf9840b2c6be8d875116a64076218b61d68e12548e5839/PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f", size = 172318 }, - { url = "https://files.pythonhosted.org/packages/0e/9a/8cc68be846c972bda34f6c2a93abb644fb2476f4dcc924d52175786932c9/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290", size = 720891 }, - { url = "https://files.pythonhosted.org/packages/e9/6c/6e1b7f40181bc4805e2e07f4abc10a88ce4648e7e95ff1abe4ae4014a9b2/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12", size = 722614 }, - { url = "https://files.pythonhosted.org/packages/3d/32/e7bd8535d22ea2874cef6a81021ba019474ace0d13a4819c2a4bce79bd6a/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19", size = 737360 }, - { url = "https://files.pythonhosted.org/packages/d7/12/7322c1e30b9be969670b672573d45479edef72c9a0deac3bb2868f5d7469/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e", size = 699006 }, - { url = "https://files.pythonhosted.org/packages/82/72/04fcad41ca56491995076630c3ec1e834be241664c0c09a64c9a2589b507/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725", size = 723577 }, - { url = "https://files.pythonhosted.org/packages/ed/5e/46168b1f2757f1fcd442bc3029cd8767d88a98c9c05770d8b420948743bb/PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631", size = 144593 }, - { url = "https://files.pythonhosted.org/packages/19/87/5124b1c1f2412bb95c59ec481eaf936cd32f0fe2a7b16b97b81c4c017a6a/PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", size = 162312 }, + { url = "https://files.pythonhosted.org/packages/9b/95/a3fac87cb7158e231b5a6012e438c647e1a87f09f8e0d123acec8ab8bf71/PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", size = 184199, upload-time = "2024-08-06T20:31:40.178Z" }, + { url = "https://files.pythonhosted.org/packages/c7/7a/68bd47624dab8fd4afbfd3c48e3b79efe09098ae941de5b58abcbadff5cb/PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", size = 171758, upload-time = "2024-08-06T20:31:42.173Z" }, + { url = "https://files.pythonhosted.org/packages/49/ee/14c54df452143b9ee9f0f29074d7ca5516a36edb0b4cc40c3f280131656f/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", size = 718463, upload-time = "2024-08-06T20:31:44.263Z" }, + { url = "https://files.pythonhosted.org/packages/4d/61/de363a97476e766574650d742205be468921a7b532aa2499fcd886b62530/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", size = 719280, upload-time = "2024-08-06T20:31:50.199Z" }, + { url = "https://files.pythonhosted.org/packages/6b/4e/1523cb902fd98355e2e9ea5e5eb237cbc5f3ad5f3075fa65087aa0ecb669/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", size = 751239, upload-time = "2024-08-06T20:31:52.292Z" }, + { url = "https://files.pythonhosted.org/packages/b7/33/5504b3a9a4464893c32f118a9cc045190a91637b119a9c881da1cf6b7a72/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", size = 695802, upload-time = "2024-08-06T20:31:53.836Z" }, + { url = "https://files.pythonhosted.org/packages/5c/20/8347dcabd41ef3a3cdc4f7b7a2aff3d06598c8779faa189cdbf878b626a4/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", size = 720527, upload-time = "2024-08-06T20:31:55.565Z" }, + { url = "https://files.pythonhosted.org/packages/be/aa/5afe99233fb360d0ff37377145a949ae258aaab831bde4792b32650a4378/PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", size = 144052, upload-time = "2024-08-06T20:31:56.914Z" }, + { url = "https://files.pythonhosted.org/packages/b5/84/0fa4b06f6d6c958d207620fc60005e241ecedceee58931bb20138e1e5776/PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", size = 161774, upload-time = "2024-08-06T20:31:58.304Z" }, + { url = "https://files.pythonhosted.org/packages/f8/aa/7af4e81f7acba21a4c6be026da38fd2b872ca46226673c89a758ebdc4fd2/PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", size = 184612, upload-time = "2024-08-06T20:32:03.408Z" }, + { url = "https://files.pythonhosted.org/packages/8b/62/b9faa998fd185f65c1371643678e4d58254add437edb764a08c5a98fb986/PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", size = 172040, upload-time = "2024-08-06T20:32:04.926Z" }, + { url = "https://files.pythonhosted.org/packages/ad/0c/c804f5f922a9a6563bab712d8dcc70251e8af811fce4524d57c2c0fd49a4/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", size = 736829, upload-time = "2024-08-06T20:32:06.459Z" }, + { url = "https://files.pythonhosted.org/packages/51/16/6af8d6a6b210c8e54f1406a6b9481febf9c64a3109c541567e35a49aa2e7/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", size = 764167, upload-time = "2024-08-06T20:32:08.338Z" }, + { url = "https://files.pythonhosted.org/packages/75/e4/2c27590dfc9992f73aabbeb9241ae20220bd9452df27483b6e56d3975cc5/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", size = 762952, upload-time = "2024-08-06T20:32:14.124Z" }, + { url = "https://files.pythonhosted.org/packages/9b/97/ecc1abf4a823f5ac61941a9c00fe501b02ac3ab0e373c3857f7d4b83e2b6/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4", size = 735301, upload-time = "2024-08-06T20:32:16.17Z" }, + { url = "https://files.pythonhosted.org/packages/45/73/0f49dacd6e82c9430e46f4a027baa4ca205e8b0a9dce1397f44edc23559d/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", size = 756638, upload-time = "2024-08-06T20:32:18.555Z" }, + { url = "https://files.pythonhosted.org/packages/22/5f/956f0f9fc65223a58fbc14459bf34b4cc48dec52e00535c79b8db361aabd/PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", size = 143850, upload-time = "2024-08-06T20:32:19.889Z" }, + { url = "https://files.pythonhosted.org/packages/ed/23/8da0bbe2ab9dcdd11f4f4557ccaf95c10b9811b13ecced089d43ce59c3c8/PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", size = 161980, upload-time = "2024-08-06T20:32:21.273Z" }, + { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873, upload-time = "2024-08-06T20:32:25.131Z" }, + { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302, upload-time = "2024-08-06T20:32:26.511Z" }, + { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154, upload-time = "2024-08-06T20:32:28.363Z" }, + { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223, upload-time = "2024-08-06T20:32:30.058Z" }, + { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542, upload-time = "2024-08-06T20:32:31.881Z" }, + { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164, upload-time = "2024-08-06T20:32:37.083Z" }, + { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611, upload-time = "2024-08-06T20:32:38.898Z" }, + { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591, upload-time = "2024-08-06T20:32:40.241Z" }, + { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338, upload-time = "2024-08-06T20:32:41.93Z" }, + { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309, upload-time = "2024-08-06T20:32:43.4Z" }, + { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679, upload-time = "2024-08-06T20:32:44.801Z" }, + { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428, upload-time = "2024-08-06T20:32:46.432Z" }, + { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361, upload-time = "2024-08-06T20:32:51.188Z" }, + { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523, upload-time = "2024-08-06T20:32:53.019Z" }, + { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660, upload-time = "2024-08-06T20:32:54.708Z" }, + { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597, upload-time = "2024-08-06T20:32:56.985Z" }, + { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527, upload-time = "2024-08-06T20:33:03.001Z" }, + { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446, upload-time = "2024-08-06T20:33:04.33Z" }, + { url = "https://files.pythonhosted.org/packages/65/d8/b7a1db13636d7fb7d4ff431593c510c8b8fca920ade06ca8ef20015493c5/PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", size = 184777, upload-time = "2024-08-06T20:33:25.896Z" }, + { url = "https://files.pythonhosted.org/packages/0a/02/6ec546cd45143fdf9840b2c6be8d875116a64076218b61d68e12548e5839/PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f", size = 172318, upload-time = "2024-08-06T20:33:27.212Z" }, + { url = "https://files.pythonhosted.org/packages/0e/9a/8cc68be846c972bda34f6c2a93abb644fb2476f4dcc924d52175786932c9/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290", size = 720891, upload-time = "2024-08-06T20:33:28.974Z" }, + { url = "https://files.pythonhosted.org/packages/e9/6c/6e1b7f40181bc4805e2e07f4abc10a88ce4648e7e95ff1abe4ae4014a9b2/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12", size = 722614, upload-time = "2024-08-06T20:33:34.157Z" }, + { url = "https://files.pythonhosted.org/packages/3d/32/e7bd8535d22ea2874cef6a81021ba019474ace0d13a4819c2a4bce79bd6a/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19", size = 737360, upload-time = "2024-08-06T20:33:35.84Z" }, + { url = "https://files.pythonhosted.org/packages/d7/12/7322c1e30b9be969670b672573d45479edef72c9a0deac3bb2868f5d7469/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e", size = 699006, upload-time = "2024-08-06T20:33:37.501Z" }, + { url = "https://files.pythonhosted.org/packages/82/72/04fcad41ca56491995076630c3ec1e834be241664c0c09a64c9a2589b507/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725", size = 723577, upload-time = "2024-08-06T20:33:39.389Z" }, + { url = "https://files.pythonhosted.org/packages/ed/5e/46168b1f2757f1fcd442bc3029cd8767d88a98c9c05770d8b420948743bb/PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631", size = 144593, upload-time = "2024-08-06T20:33:46.63Z" }, + { url = "https://files.pythonhosted.org/packages/19/87/5124b1c1f2412bb95c59ec481eaf936cd32f0fe2a7b16b97b81c4c017a6a/PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", size = 162312, upload-time = "2024-08-06T20:33:49.073Z" }, ] [[package]] name = "requests" -version = "2.32.3" +version = "2.32.4" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "certifi" }, @@ -1223,61 +1273,61 @@ dependencies = [ { name = "idna" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218 } +sdist = { url = "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz", hash = "sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422", size = 135258, upload-time = "2025-06-09T16:43:07.34Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928 }, + { url = "https://files.pythonhosted.org/packages/7c/e4/56027c4a6b4ae70ca9de302488c5ca95ad4a39e190093d6c1a8ace08341b/requests-2.32.4-py3-none-any.whl", hash = "sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c", size = 64847, upload-time = "2025-06-09T16:43:05.728Z" }, ] [[package]] name = "ruff" -version = "0.11.4" +version = "0.11.13" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e8/5b/3ae20f89777115944e89c2d8c2e795dcc5b9e04052f76d5347e35e0da66e/ruff-0.11.4.tar.gz", hash = "sha256:f45bd2fb1a56a5a85fae3b95add03fb185a0b30cf47f5edc92aa0355ca1d7407", size = 3933063 } +sdist = { url = "https://files.pythonhosted.org/packages/ed/da/9c6f995903b4d9474b39da91d2d626659af3ff1eeb43e9ae7c119349dba6/ruff-0.11.13.tar.gz", hash = "sha256:26fa247dc68d1d4e72c179e08889a25ac0c7ba4d78aecfc835d49cbfd60bf514", size = 4282054, upload-time = "2025-06-05T21:00:15.721Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9c/db/baee59ac88f57527fcbaad3a7b309994e42329c6bc4d4d2b681a3d7b5426/ruff-0.11.4-py3-none-linux_armv6l.whl", hash = "sha256:d9f4a761ecbde448a2d3e12fb398647c7f0bf526dbc354a643ec505965824ed2", size = 10106493 }, - { url = "https://files.pythonhosted.org/packages/c1/d6/9a0962cbb347f4ff98b33d699bf1193ff04ca93bed4b4222fd881b502154/ruff-0.11.4-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:8c1747d903447d45ca3d40c794d1a56458c51e5cc1bc77b7b64bd2cf0b1626cc", size = 10876382 }, - { url = "https://files.pythonhosted.org/packages/3a/8f/62bab0c7d7e1ae3707b69b157701b41c1ccab8f83e8501734d12ea8a839f/ruff-0.11.4-py3-none-macosx_11_0_arm64.whl", hash = "sha256:51a6494209cacca79e121e9b244dc30d3414dac8cc5afb93f852173a2ecfc906", size = 10237050 }, - { url = "https://files.pythonhosted.org/packages/09/96/e296965ae9705af19c265d4d441958ed65c0c58fc4ec340c27cc9d2a1f5b/ruff-0.11.4-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3f171605f65f4fc49c87f41b456e882cd0c89e4ac9d58e149a2b07930e1d466f", size = 10424984 }, - { url = "https://files.pythonhosted.org/packages/e5/56/644595eb57d855afed6e54b852e2df8cd5ca94c78043b2f29bdfb29882d5/ruff-0.11.4-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ebf99ea9af918878e6ce42098981fc8c1db3850fef2f1ada69fb1dcdb0f8e79e", size = 9957438 }, - { url = "https://files.pythonhosted.org/packages/86/83/9d3f3bed0118aef3e871ded9e5687fb8c5776bde233427fd9ce0a45db2d4/ruff-0.11.4-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:edad2eac42279df12e176564a23fc6f4aaeeb09abba840627780b1bb11a9d223", size = 11547282 }, - { url = "https://files.pythonhosted.org/packages/40/e6/0c6e4f5ae72fac5ccb44d72c0111f294a5c2c8cc5024afcb38e6bda5f4b3/ruff-0.11.4-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:f103a848be9ff379fc19b5d656c1f911d0a0b4e3e0424f9532ececf319a4296e", size = 12182020 }, - { url = "https://files.pythonhosted.org/packages/b5/92/4aed0e460aeb1df5ea0c2fbe8d04f9725cccdb25d8da09a0d3f5b8764bf8/ruff-0.11.4-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:193e6fac6eb60cc97b9f728e953c21cc38a20077ed64f912e9d62b97487f3f2d", size = 11679154 }, - { url = "https://files.pythonhosted.org/packages/1b/d3/7316aa2609f2c592038e2543483eafbc62a0e1a6a6965178e284808c095c/ruff-0.11.4-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7af4e5f69b7c138be8dcffa5b4a061bf6ba6a3301f632a6bce25d45daff9bc99", size = 13905985 }, - { url = "https://files.pythonhosted.org/packages/63/80/734d3d17546e47ff99871f44ea7540ad2bbd7a480ed197fe8a1c8a261075/ruff-0.11.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:126b1bf13154aa18ae2d6c3c5efe144ec14b97c60844cfa6eb960c2a05188222", size = 11348343 }, - { url = "https://files.pythonhosted.org/packages/04/7b/70fc7f09a0161dce9613a4671d198f609e653d6f4ff9eee14d64c4c240fb/ruff-0.11.4-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:e8806daaf9dfa881a0ed603f8a0e364e4f11b6ed461b56cae2b1c0cab0645304", size = 10308487 }, - { url = "https://files.pythonhosted.org/packages/1a/22/1cdd62dabd678d75842bf4944fd889cf794dc9e58c18cc547f9eb28f95ed/ruff-0.11.4-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:5d94bb1cc2fc94a769b0eb975344f1b1f3d294da1da9ddbb5a77665feb3a3019", size = 9929091 }, - { url = "https://files.pythonhosted.org/packages/9f/20/40e0563506332313148e783bbc1e4276d657962cc370657b2fff20e6e058/ruff-0.11.4-py3-none-musllinux_1_2_i686.whl", hash = "sha256:995071203d0fe2183fc7a268766fd7603afb9996785f086b0d76edee8755c896", size = 10924659 }, - { url = "https://files.pythonhosted.org/packages/b5/41/eef9b7aac8819d9e942f617f9db296f13d2c4576806d604aba8db5a753f1/ruff-0.11.4-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:7a37ca937e307ea18156e775a6ac6e02f34b99e8c23fe63c1996185a4efe0751", size = 11428160 }, - { url = "https://files.pythonhosted.org/packages/ff/61/c488943414fb2b8754c02f3879de003e26efdd20f38167ded3fb3fc1cda3/ruff-0.11.4-py3-none-win32.whl", hash = "sha256:0e9365a7dff9b93af933dab8aebce53b72d8f815e131796268709890b4a83270", size = 10311496 }, - { url = "https://files.pythonhosted.org/packages/b6/2b/2a1c8deb5f5dfa3871eb7daa41492c4d2b2824a74d2b38e788617612a66d/ruff-0.11.4-py3-none-win_amd64.whl", hash = "sha256:5a9fa1c69c7815e39fcfb3646bbfd7f528fa8e2d4bebdcf4c2bd0fa037a255fb", size = 11399146 }, - { url = "https://files.pythonhosted.org/packages/4f/03/3aec4846226d54a37822e4c7ea39489e4abd6f88388fba74e3d4abe77300/ruff-0.11.4-py3-none-win_arm64.whl", hash = "sha256:d435db6b9b93d02934cf61ef332e66af82da6d8c69aefdea5994c89997c7a0fc", size = 10450306 }, + { url = "https://files.pythonhosted.org/packages/7d/ce/a11d381192966e0b4290842cc8d4fac7dc9214ddf627c11c1afff87da29b/ruff-0.11.13-py3-none-linux_armv6l.whl", hash = "sha256:4bdfbf1240533f40042ec00c9e09a3aade6f8c10b6414cf11b519488d2635d46", size = 10292516, upload-time = "2025-06-05T20:59:32.944Z" }, + { url = "https://files.pythonhosted.org/packages/78/db/87c3b59b0d4e753e40b6a3b4a2642dfd1dcaefbff121ddc64d6c8b47ba00/ruff-0.11.13-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:aef9c9ed1b5ca28bb15c7eac83b8670cf3b20b478195bd49c8d756ba0a36cf48", size = 11106083, upload-time = "2025-06-05T20:59:37.03Z" }, + { url = "https://files.pythonhosted.org/packages/77/79/d8cec175856ff810a19825d09ce700265f905c643c69f45d2b737e4a470a/ruff-0.11.13-py3-none-macosx_11_0_arm64.whl", hash = "sha256:53b15a9dfdce029c842e9a5aebc3855e9ab7771395979ff85b7c1dedb53ddc2b", size = 10436024, upload-time = "2025-06-05T20:59:39.741Z" }, + { url = "https://files.pythonhosted.org/packages/8b/5b/f6d94f2980fa1ee854b41568368a2e1252681b9238ab2895e133d303538f/ruff-0.11.13-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ab153241400789138d13f362c43f7edecc0edfffce2afa6a68434000ecd8f69a", size = 10646324, upload-time = "2025-06-05T20:59:42.185Z" }, + { url = "https://files.pythonhosted.org/packages/6c/9c/b4c2acf24ea4426016d511dfdc787f4ce1ceb835f3c5fbdbcb32b1c63bda/ruff-0.11.13-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6c51f93029d54a910d3d24f7dd0bb909e31b6cd989a5e4ac513f4eb41629f0dc", size = 10174416, upload-time = "2025-06-05T20:59:44.319Z" }, + { url = "https://files.pythonhosted.org/packages/f3/10/e2e62f77c65ede8cd032c2ca39c41f48feabedb6e282bfd6073d81bb671d/ruff-0.11.13-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1808b3ed53e1a777c2ef733aca9051dc9bf7c99b26ece15cb59a0320fbdbd629", size = 11724197, upload-time = "2025-06-05T20:59:46.935Z" }, + { url = "https://files.pythonhosted.org/packages/bb/f0/466fe8469b85c561e081d798c45f8a1d21e0b4a5ef795a1d7f1a9a9ec182/ruff-0.11.13-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:d28ce58b5ecf0f43c1b71edffabe6ed7f245d5336b17805803312ec9bc665933", size = 12511615, upload-time = "2025-06-05T20:59:49.534Z" }, + { url = "https://files.pythonhosted.org/packages/17/0e/cefe778b46dbd0cbcb03a839946c8f80a06f7968eb298aa4d1a4293f3448/ruff-0.11.13-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:55e4bc3a77842da33c16d55b32c6cac1ec5fb0fbec9c8c513bdce76c4f922165", size = 12117080, upload-time = "2025-06-05T20:59:51.654Z" }, + { url = "https://files.pythonhosted.org/packages/5d/2c/caaeda564cbe103bed145ea557cb86795b18651b0f6b3ff6a10e84e5a33f/ruff-0.11.13-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:633bf2c6f35678c56ec73189ba6fa19ff1c5e4807a78bf60ef487b9dd272cc71", size = 11326315, upload-time = "2025-06-05T20:59:54.469Z" }, + { url = "https://files.pythonhosted.org/packages/75/f0/782e7d681d660eda8c536962920c41309e6dd4ebcea9a2714ed5127d44bd/ruff-0.11.13-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4ffbc82d70424b275b089166310448051afdc6e914fdab90e08df66c43bb5ca9", size = 11555640, upload-time = "2025-06-05T20:59:56.986Z" }, + { url = "https://files.pythonhosted.org/packages/5d/d4/3d580c616316c7f07fb3c99dbecfe01fbaea7b6fd9a82b801e72e5de742a/ruff-0.11.13-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:4a9ddd3ec62a9a89578c85842b836e4ac832d4a2e0bfaad3b02243f930ceafcc", size = 10507364, upload-time = "2025-06-05T20:59:59.154Z" }, + { url = "https://files.pythonhosted.org/packages/5a/dc/195e6f17d7b3ea6b12dc4f3e9de575db7983db187c378d44606e5d503319/ruff-0.11.13-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:d237a496e0778d719efb05058c64d28b757c77824e04ffe8796c7436e26712b7", size = 10141462, upload-time = "2025-06-05T21:00:01.481Z" }, + { url = "https://files.pythonhosted.org/packages/f4/8e/39a094af6967faa57ecdeacb91bedfb232474ff8c3d20f16a5514e6b3534/ruff-0.11.13-py3-none-musllinux_1_2_i686.whl", hash = "sha256:26816a218ca6ef02142343fd24c70f7cd8c5aa6c203bca284407adf675984432", size = 11121028, upload-time = "2025-06-05T21:00:04.06Z" }, + { url = "https://files.pythonhosted.org/packages/5a/c0/b0b508193b0e8a1654ec683ebab18d309861f8bd64e3a2f9648b80d392cb/ruff-0.11.13-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:51c3f95abd9331dc5b87c47ac7f376db5616041173826dfd556cfe3d4977f492", size = 11602992, upload-time = "2025-06-05T21:00:06.249Z" }, + { url = "https://files.pythonhosted.org/packages/7c/91/263e33ab93ab09ca06ce4f8f8547a858cc198072f873ebc9be7466790bae/ruff-0.11.13-py3-none-win32.whl", hash = "sha256:96c27935418e4e8e77a26bb05962817f28b8ef3843a6c6cc49d8783b5507f250", size = 10474944, upload-time = "2025-06-05T21:00:08.459Z" }, + { url = "https://files.pythonhosted.org/packages/46/f4/7c27734ac2073aae8efb0119cae6931b6fb48017adf048fdf85c19337afc/ruff-0.11.13-py3-none-win_amd64.whl", hash = "sha256:29c3189895a8a6a657b7af4e97d330c8a3afd2c9c8f46c81e2fc5a31866517e3", size = 11548669, upload-time = "2025-06-05T21:00:11.147Z" }, + { url = "https://files.pythonhosted.org/packages/ec/bf/b273dd11673fed8a6bd46032c0ea2a04b2ac9bfa9c628756a5856ba113b0/ruff-0.11.13-py3-none-win_arm64.whl", hash = "sha256:b4385285e9179d608ff1d2fb9922062663c658605819a6876d8beef0c30b7f3b", size = 10683928, upload-time = "2025-06-05T21:00:13.758Z" }, ] [[package]] name = "six" version = "1.17.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031 } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 }, + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, ] [[package]] name = "snowballstemmer" -version = "2.2.0" +version = "3.0.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/44/7b/af302bebf22c749c56c9c3e8ae13190b5b5db37a33d9068652e8f73b7089/snowballstemmer-2.2.0.tar.gz", hash = "sha256:09b16deb8547d3412ad7b590689584cd0fe25ec8db3be37788be3810cbf19cb1", size = 86699 } +sdist = { url = "https://files.pythonhosted.org/packages/75/a7/9810d872919697c9d01295633f5d574fb416d47e535f258272ca1f01f447/snowballstemmer-3.0.1.tar.gz", hash = "sha256:6d5eeeec8e9f84d4d56b847692bacf79bc2c8e90c7f80ca4444ff8b6f2e52895", size = 105575, upload-time = "2025-05-09T16:34:51.843Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ed/dc/c02e01294f7265e63a7315fe086dd1df7dacb9f840a804da846b96d01b96/snowballstemmer-2.2.0-py2.py3-none-any.whl", hash = "sha256:c8e1716e83cc398ae16824e5572ae04e0d9fc2c6b985fb0f900f5f0c96ecba1a", size = 93002 }, + { url = "https://files.pythonhosted.org/packages/c8/78/3565d011c61f5a43488987ee32b6f3f656e7f107ac2782dd57bdd7d91d9a/snowballstemmer-3.0.1-py3-none-any.whl", hash = "sha256:6cd7b3897da8d6c9ffb968a6781fa6532dce9c3618a4b127d920dab764a19064", size = 103274, upload-time = "2025-05-09T16:34:50.371Z" }, ] [[package]] name = "soupsieve" -version = "2.6" +version = "2.7" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d7/ce/fbaeed4f9fb8b2daa961f90591662df6a86c1abf25c548329a86920aedfb/soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb", size = 101569 } +sdist = { url = "https://files.pythonhosted.org/packages/3f/f4/4a80cd6ef364b2e8b65b15816a843c0980f7a5a2b4dc701fc574952aa19f/soupsieve-2.7.tar.gz", hash = "sha256:ad282f9b6926286d2ead4750552c8a6142bc4c783fd66b0293547c8fe6ae126a", size = 103418, upload-time = "2025-04-20T18:50:08.518Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d1/c2/fe97d779f3ef3b15f05c94a2f1e3d21732574ed441687474db9d342a7315/soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9", size = 36186 }, + { url = "https://files.pythonhosted.org/packages/e7/9c/0e6afc12c269578be5c0c1c9f4b49a8d32770a080260c333ac04cc1c832d/soupsieve-2.7-py3-none-any.whl", hash = "sha256:6e60cc5c1ffaf1cebcc12e8188320b72071e922c2e897f737cadce79ad5d30c4", size = 36677, upload-time = "2025-04-20T18:50:07.196Z" }, ] [[package]] @@ -1304,9 +1354,9 @@ dependencies = [ { name = "sphinxcontrib-serializinghtml" }, { name = "tomli", marker = "python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5b/be/50e50cb4f2eff47df05673d361095cafd95521d2a22521b920c67a372dcb/sphinx-7.4.7.tar.gz", hash = "sha256:242f92a7ea7e6c5b406fdc2615413890ba9f699114a9c09192d7dfead2ee9cfe", size = 8067911 } +sdist = { url = "https://files.pythonhosted.org/packages/5b/be/50e50cb4f2eff47df05673d361095cafd95521d2a22521b920c67a372dcb/sphinx-7.4.7.tar.gz", hash = "sha256:242f92a7ea7e6c5b406fdc2615413890ba9f699114a9c09192d7dfead2ee9cfe", size = 8067911, upload-time = "2024-07-20T14:46:56.059Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0d/ef/153f6803c5d5f8917dbb7f7fcf6d34a871ede3296fa89c2c703f5f8a6c8e/sphinx-7.4.7-py3-none-any.whl", hash = "sha256:c2419e2135d11f1951cd994d6eb18a1835bd8fdd8429f9ca375dc1f3281bd239", size = 3401624 }, + { url = "https://files.pythonhosted.org/packages/0d/ef/153f6803c5d5f8917dbb7f7fcf6d34a871ede3296fa89c2c703f5f8a6c8e/sphinx-7.4.7-py3-none-any.whl", hash = "sha256:c2419e2135d11f1951cd994d6eb18a1835bd8fdd8429f9ca375dc1f3281bd239", size = 3401624, upload-time = "2024-07-20T14:46:52.142Z" }, ] [[package]] @@ -1320,63 +1370,63 @@ dependencies = [ { name = "sphinx" }, { name = "stdlib-list", marker = "python_full_version < '3.10'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/4a/eb/cc243583bb1d518ca3b10998c203d919a8ed90affd4831f2b61ad09043d2/sphinx_autoapi-3.4.0.tar.gz", hash = "sha256:e6d5371f9411bbb9fca358c00a9e57aef3ac94cbfc5df4bab285946462f69e0c", size = 29292 } +sdist = { url = "https://files.pythonhosted.org/packages/4a/eb/cc243583bb1d518ca3b10998c203d919a8ed90affd4831f2b61ad09043d2/sphinx_autoapi-3.4.0.tar.gz", hash = "sha256:e6d5371f9411bbb9fca358c00a9e57aef3ac94cbfc5df4bab285946462f69e0c", size = 29292, upload-time = "2024-11-30T01:09:40.956Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/de/d6/f2acdc2567337fd5f5dc091a4e58d8a0fb14927b9779fc1e5ecee96d9824/sphinx_autoapi-3.4.0-py3-none-any.whl", hash = "sha256:4027fef2875a22c5f2a57107c71641d82f6166bf55beb407a47aaf3ef14e7b92", size = 34095 }, + { url = "https://files.pythonhosted.org/packages/de/d6/f2acdc2567337fd5f5dc091a4e58d8a0fb14927b9779fc1e5ecee96d9824/sphinx_autoapi-3.4.0-py3-none-any.whl", hash = "sha256:4027fef2875a22c5f2a57107c71641d82f6166bf55beb407a47aaf3ef14e7b92", size = 34095, upload-time = "2024-11-30T01:09:17.272Z" }, ] [[package]] name = "sphinxcontrib-applehelp" version = "2.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ba/6e/b837e84a1a704953c62ef8776d45c3e8d759876b4a84fe14eba2859106fe/sphinxcontrib_applehelp-2.0.0.tar.gz", hash = "sha256:2f29ef331735ce958efa4734873f084941970894c6090408b079c61b2e1c06d1", size = 20053 } +sdist = { url = "https://files.pythonhosted.org/packages/ba/6e/b837e84a1a704953c62ef8776d45c3e8d759876b4a84fe14eba2859106fe/sphinxcontrib_applehelp-2.0.0.tar.gz", hash = "sha256:2f29ef331735ce958efa4734873f084941970894c6090408b079c61b2e1c06d1", size = 20053, upload-time = "2024-07-29T01:09:00.465Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5d/85/9ebeae2f76e9e77b952f4b274c27238156eae7979c5421fba91a28f4970d/sphinxcontrib_applehelp-2.0.0-py3-none-any.whl", hash = "sha256:4cd3f0ec4ac5dd9c17ec65e9ab272c9b867ea77425228e68ecf08d6b28ddbdb5", size = 119300 }, + { url = "https://files.pythonhosted.org/packages/5d/85/9ebeae2f76e9e77b952f4b274c27238156eae7979c5421fba91a28f4970d/sphinxcontrib_applehelp-2.0.0-py3-none-any.whl", hash = "sha256:4cd3f0ec4ac5dd9c17ec65e9ab272c9b867ea77425228e68ecf08d6b28ddbdb5", size = 119300, upload-time = "2024-07-29T01:08:58.99Z" }, ] [[package]] name = "sphinxcontrib-devhelp" version = "2.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f6/d2/5beee64d3e4e747f316bae86b55943f51e82bb86ecd325883ef65741e7da/sphinxcontrib_devhelp-2.0.0.tar.gz", hash = "sha256:411f5d96d445d1d73bb5d52133377b4248ec79db5c793ce7dbe59e074b4dd1ad", size = 12967 } +sdist = { url = "https://files.pythonhosted.org/packages/f6/d2/5beee64d3e4e747f316bae86b55943f51e82bb86ecd325883ef65741e7da/sphinxcontrib_devhelp-2.0.0.tar.gz", hash = "sha256:411f5d96d445d1d73bb5d52133377b4248ec79db5c793ce7dbe59e074b4dd1ad", size = 12967, upload-time = "2024-07-29T01:09:23.417Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/35/7a/987e583882f985fe4d7323774889ec58049171828b58c2217e7f79cdf44e/sphinxcontrib_devhelp-2.0.0-py3-none-any.whl", hash = "sha256:aefb8b83854e4b0998877524d1029fd3e6879210422ee3780459e28a1f03a8a2", size = 82530 }, + { url = "https://files.pythonhosted.org/packages/35/7a/987e583882f985fe4d7323774889ec58049171828b58c2217e7f79cdf44e/sphinxcontrib_devhelp-2.0.0-py3-none-any.whl", hash = "sha256:aefb8b83854e4b0998877524d1029fd3e6879210422ee3780459e28a1f03a8a2", size = 82530, upload-time = "2024-07-29T01:09:21.945Z" }, ] [[package]] name = "sphinxcontrib-htmlhelp" version = "2.1.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/43/93/983afd9aa001e5201eab16b5a444ed5b9b0a7a010541e0ddfbbfd0b2470c/sphinxcontrib_htmlhelp-2.1.0.tar.gz", hash = "sha256:c9e2916ace8aad64cc13a0d233ee22317f2b9025b9cf3295249fa985cc7082e9", size = 22617 } +sdist = { url = "https://files.pythonhosted.org/packages/43/93/983afd9aa001e5201eab16b5a444ed5b9b0a7a010541e0ddfbbfd0b2470c/sphinxcontrib_htmlhelp-2.1.0.tar.gz", hash = "sha256:c9e2916ace8aad64cc13a0d233ee22317f2b9025b9cf3295249fa985cc7082e9", size = 22617, upload-time = "2024-07-29T01:09:37.889Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0a/7b/18a8c0bcec9182c05a0b3ec2a776bba4ead82750a55ff798e8d406dae604/sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl", hash = "sha256:166759820b47002d22914d64a075ce08f4c46818e17cfc9470a9786b759b19f8", size = 98705 }, + { url = "https://files.pythonhosted.org/packages/0a/7b/18a8c0bcec9182c05a0b3ec2a776bba4ead82750a55ff798e8d406dae604/sphinxcontrib_htmlhelp-2.1.0-py3-none-any.whl", hash = "sha256:166759820b47002d22914d64a075ce08f4c46818e17cfc9470a9786b759b19f8", size = 98705, upload-time = "2024-07-29T01:09:36.407Z" }, ] [[package]] name = "sphinxcontrib-jsmath" version = "1.0.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b2/e8/9ed3830aeed71f17c026a07a5097edcf44b692850ef215b161b8ad875729/sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8", size = 5787 } +sdist = { url = "https://files.pythonhosted.org/packages/b2/e8/9ed3830aeed71f17c026a07a5097edcf44b692850ef215b161b8ad875729/sphinxcontrib-jsmath-1.0.1.tar.gz", hash = "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8", size = 5787, upload-time = "2019-01-21T16:10:16.347Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c2/42/4c8646762ee83602e3fb3fbe774c2fac12f317deb0b5dbeeedd2d3ba4b77/sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178", size = 5071 }, + { url = "https://files.pythonhosted.org/packages/c2/42/4c8646762ee83602e3fb3fbe774c2fac12f317deb0b5dbeeedd2d3ba4b77/sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl", hash = "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178", size = 5071, upload-time = "2019-01-21T16:10:14.333Z" }, ] [[package]] name = "sphinxcontrib-qthelp" version = "2.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/68/bc/9104308fc285eb3e0b31b67688235db556cd5b0ef31d96f30e45f2e51cae/sphinxcontrib_qthelp-2.0.0.tar.gz", hash = "sha256:4fe7d0ac8fc171045be623aba3e2a8f613f8682731f9153bb2e40ece16b9bbab", size = 17165 } +sdist = { url = "https://files.pythonhosted.org/packages/68/bc/9104308fc285eb3e0b31b67688235db556cd5b0ef31d96f30e45f2e51cae/sphinxcontrib_qthelp-2.0.0.tar.gz", hash = "sha256:4fe7d0ac8fc171045be623aba3e2a8f613f8682731f9153bb2e40ece16b9bbab", size = 17165, upload-time = "2024-07-29T01:09:56.435Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/27/83/859ecdd180cacc13b1f7e857abf8582a64552ea7a061057a6c716e790fce/sphinxcontrib_qthelp-2.0.0-py3-none-any.whl", hash = "sha256:b18a828cdba941ccd6ee8445dbe72ffa3ef8cbe7505d8cd1fa0d42d3f2d5f3eb", size = 88743 }, + { url = "https://files.pythonhosted.org/packages/27/83/859ecdd180cacc13b1f7e857abf8582a64552ea7a061057a6c716e790fce/sphinxcontrib_qthelp-2.0.0-py3-none-any.whl", hash = "sha256:b18a828cdba941ccd6ee8445dbe72ffa3ef8cbe7505d8cd1fa0d42d3f2d5f3eb", size = 88743, upload-time = "2024-07-29T01:09:54.885Z" }, ] [[package]] name = "sphinxcontrib-serializinghtml" version = "2.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/3b/44/6716b257b0aa6bfd51a1b31665d1c205fb12cb5ad56de752dfa15657de2f/sphinxcontrib_serializinghtml-2.0.0.tar.gz", hash = "sha256:e9d912827f872c029017a53f0ef2180b327c3f7fd23c87229f7a8e8b70031d4d", size = 16080 } +sdist = { url = "https://files.pythonhosted.org/packages/3b/44/6716b257b0aa6bfd51a1b31665d1c205fb12cb5ad56de752dfa15657de2f/sphinxcontrib_serializinghtml-2.0.0.tar.gz", hash = "sha256:e9d912827f872c029017a53f0ef2180b327c3f7fd23c87229f7a8e8b70031d4d", size = 16080, upload-time = "2024-07-29T01:10:09.332Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/52/a7/d2782e4e3f77c8450f727ba74a8f12756d5ba823d81b941f1b04da9d033a/sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl", hash = "sha256:6e2cb0eef194e10c27ec0023bfeb25badbbb5868244cf5bc5bdc04e4464bf331", size = 92072 }, + { url = "https://files.pythonhosted.org/packages/52/a7/d2782e4e3f77c8450f727ba74a8f12756d5ba823d81b941f1b04da9d033a/sphinxcontrib_serializinghtml-2.0.0-py3-none-any.whl", hash = "sha256:6e2cb0eef194e10c27ec0023bfeb25badbbb5868244cf5bc5bdc04e4464bf331", size = 92072, upload-time = "2024-07-29T01:10:08.203Z" }, ] [[package]] @@ -1386,112 +1436,112 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "six" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/8d/fb/9210875dd162d3977580407b1c5ce6e779e770b8197a0de76819144a9755/srp-1.0.22.tar.gz", hash = "sha256:f330d0ec7387e2ac8577487b164963155d4a031bca6e2024f1b0930eb92baa5d", size = 22472 } +sdist = { url = "https://files.pythonhosted.org/packages/8d/fb/9210875dd162d3977580407b1c5ce6e779e770b8197a0de76819144a9755/srp-1.0.22.tar.gz", hash = "sha256:f330d0ec7387e2ac8577487b164963155d4a031bca6e2024f1b0930eb92baa5d", size = 22472, upload-time = "2024-11-01T21:52:54.006Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/89/75/5352c3ebd26e7d119042ae8de07354435a19c77fa2b44058fa97a1416783/srp-1.0.22-py3-none-any.whl", hash = "sha256:35aa8af053285a35683eb37182dcb2e46dbd85c7075d28e139f200d6bf16ea43", size = 25347 }, + { url = "https://files.pythonhosted.org/packages/89/75/5352c3ebd26e7d119042ae8de07354435a19c77fa2b44058fa97a1416783/srp-1.0.22-py3-none-any.whl", hash = "sha256:35aa8af053285a35683eb37182dcb2e46dbd85c7075d28e139f200d6bf16ea43", size = 25347, upload-time = "2024-11-01T21:52:53.021Z" }, ] [[package]] name = "stdlib-list" version = "0.11.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/5d/09/8d5c564931ae23bef17420a6c72618463a59222ca4291a7dd88de8a0d490/stdlib_list-0.11.1.tar.gz", hash = "sha256:95ebd1d73da9333bba03ccc097f5bac05e3aa03e6822a0c0290f87e1047f1857", size = 60442 } +sdist = { url = "https://files.pythonhosted.org/packages/5d/09/8d5c564931ae23bef17420a6c72618463a59222ca4291a7dd88de8a0d490/stdlib_list-0.11.1.tar.gz", hash = "sha256:95ebd1d73da9333bba03ccc097f5bac05e3aa03e6822a0c0290f87e1047f1857", size = 60442, upload-time = "2025-02-18T15:39:38.769Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/88/c7/4102536de33c19d090ed2b04e90e7452e2e3dc653cf3323208034eaaca27/stdlib_list-0.11.1-py3-none-any.whl", hash = "sha256:9029ea5e3dfde8cd4294cfd4d1797be56a67fc4693c606181730148c3fd1da29", size = 83620 }, + { url = "https://files.pythonhosted.org/packages/88/c7/4102536de33c19d090ed2b04e90e7452e2e3dc653cf3323208034eaaca27/stdlib_list-0.11.1-py3-none-any.whl", hash = "sha256:9029ea5e3dfde8cd4294cfd4d1797be56a67fc4693c606181730148c3fd1da29", size = 83620, upload-time = "2025-02-18T15:39:37.02Z" }, ] [[package]] name = "tomli" version = "2.2.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/18/87/302344fed471e44a87289cf4967697d07e532f2421fdaf868a303cbae4ff/tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff", size = 17175 } +sdist = { url = "https://files.pythonhosted.org/packages/18/87/302344fed471e44a87289cf4967697d07e532f2421fdaf868a303cbae4ff/tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff", size = 17175, upload-time = "2024-11-27T22:38:36.873Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/43/ca/75707e6efa2b37c77dadb324ae7d9571cb424e61ea73fad7c56c2d14527f/tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249", size = 131077 }, - { url = "https://files.pythonhosted.org/packages/c7/16/51ae563a8615d472fdbffc43a3f3d46588c264ac4f024f63f01283becfbb/tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6", size = 123429 }, - { url = "https://files.pythonhosted.org/packages/f1/dd/4f6cd1e7b160041db83c694abc78e100473c15d54620083dbd5aae7b990e/tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a", size = 226067 }, - { url = "https://files.pythonhosted.org/packages/a9/6b/c54ede5dc70d648cc6361eaf429304b02f2871a345bbdd51e993d6cdf550/tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee", size = 236030 }, - { url = "https://files.pythonhosted.org/packages/1f/47/999514fa49cfaf7a92c805a86c3c43f4215621855d151b61c602abb38091/tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e", size = 240898 }, - { url = "https://files.pythonhosted.org/packages/73/41/0a01279a7ae09ee1573b423318e7934674ce06eb33f50936655071d81a24/tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4", size = 229894 }, - { url = "https://files.pythonhosted.org/packages/55/18/5d8bc5b0a0362311ce4d18830a5d28943667599a60d20118074ea1b01bb7/tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106", size = 245319 }, - { url = "https://files.pythonhosted.org/packages/92/a3/7ade0576d17f3cdf5ff44d61390d4b3febb8a9fc2b480c75c47ea048c646/tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8", size = 238273 }, - { url = "https://files.pythonhosted.org/packages/72/6f/fa64ef058ac1446a1e51110c375339b3ec6be245af9d14c87c4a6412dd32/tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", size = 98310 }, - { url = "https://files.pythonhosted.org/packages/6a/1c/4a2dcde4a51b81be3530565e92eda625d94dafb46dbeb15069df4caffc34/tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", size = 108309 }, - { url = "https://files.pythonhosted.org/packages/52/e1/f8af4c2fcde17500422858155aeb0d7e93477a0d59a98e56cbfe75070fd0/tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea", size = 132762 }, - { url = "https://files.pythonhosted.org/packages/03/b8/152c68bb84fc00396b83e7bbddd5ec0bd3dd409db4195e2a9b3e398ad2e3/tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8", size = 123453 }, - { url = "https://files.pythonhosted.org/packages/c8/d6/fc9267af9166f79ac528ff7e8c55c8181ded34eb4b0e93daa767b8841573/tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192", size = 233486 }, - { url = "https://files.pythonhosted.org/packages/5c/51/51c3f2884d7bab89af25f678447ea7d297b53b5a3b5730a7cb2ef6069f07/tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222", size = 242349 }, - { url = "https://files.pythonhosted.org/packages/ab/df/bfa89627d13a5cc22402e441e8a931ef2108403db390ff3345c05253935e/tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77", size = 252159 }, - { url = "https://files.pythonhosted.org/packages/9e/6e/fa2b916dced65763a5168c6ccb91066f7639bdc88b48adda990db10c8c0b/tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6", size = 237243 }, - { url = "https://files.pythonhosted.org/packages/b4/04/885d3b1f650e1153cbb93a6a9782c58a972b94ea4483ae4ac5cedd5e4a09/tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd", size = 259645 }, - { url = "https://files.pythonhosted.org/packages/9c/de/6b432d66e986e501586da298e28ebeefd3edc2c780f3ad73d22566034239/tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e", size = 244584 }, - { url = "https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size = 98875 }, - { url = "https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size = 109418 }, - { url = "https://files.pythonhosted.org/packages/04/90/2ee5f2e0362cb8a0b6499dc44f4d7d48f8fff06d28ba46e6f1eaa61a1388/tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7", size = 132708 }, - { url = "https://files.pythonhosted.org/packages/c0/ec/46b4108816de6b385141f082ba99e315501ccd0a2ea23db4a100dd3990ea/tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c", size = 123582 }, - { url = "https://files.pythonhosted.org/packages/a0/bd/b470466d0137b37b68d24556c38a0cc819e8febe392d5b199dcd7f578365/tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13", size = 232543 }, - { url = "https://files.pythonhosted.org/packages/d9/e5/82e80ff3b751373f7cead2815bcbe2d51c895b3c990686741a8e56ec42ab/tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281", size = 241691 }, - { url = "https://files.pythonhosted.org/packages/05/7e/2a110bc2713557d6a1bfb06af23dd01e7dde52b6ee7dadc589868f9abfac/tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272", size = 251170 }, - { url = "https://files.pythonhosted.org/packages/64/7b/22d713946efe00e0adbcdfd6d1aa119ae03fd0b60ebed51ebb3fa9f5a2e5/tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140", size = 236530 }, - { url = "https://files.pythonhosted.org/packages/38/31/3a76f67da4b0cf37b742ca76beaf819dca0ebef26d78fc794a576e08accf/tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2", size = 258666 }, - { url = "https://files.pythonhosted.org/packages/07/10/5af1293da642aded87e8a988753945d0cf7e00a9452d3911dd3bb354c9e2/tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744", size = 243954 }, - { url = "https://files.pythonhosted.org/packages/5b/b9/1ed31d167be802da0fc95020d04cd27b7d7065cc6fbefdd2f9186f60d7bd/tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec", size = 98724 }, - { url = "https://files.pythonhosted.org/packages/c7/32/b0963458706accd9afcfeb867c0f9175a741bf7b19cd424230714d722198/tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69", size = 109383 }, - { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257 }, + { url = "https://files.pythonhosted.org/packages/43/ca/75707e6efa2b37c77dadb324ae7d9571cb424e61ea73fad7c56c2d14527f/tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249", size = 131077, upload-time = "2024-11-27T22:37:54.956Z" }, + { url = "https://files.pythonhosted.org/packages/c7/16/51ae563a8615d472fdbffc43a3f3d46588c264ac4f024f63f01283becfbb/tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6", size = 123429, upload-time = "2024-11-27T22:37:56.698Z" }, + { url = "https://files.pythonhosted.org/packages/f1/dd/4f6cd1e7b160041db83c694abc78e100473c15d54620083dbd5aae7b990e/tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a", size = 226067, upload-time = "2024-11-27T22:37:57.63Z" }, + { url = "https://files.pythonhosted.org/packages/a9/6b/c54ede5dc70d648cc6361eaf429304b02f2871a345bbdd51e993d6cdf550/tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee", size = 236030, upload-time = "2024-11-27T22:37:59.344Z" }, + { url = "https://files.pythonhosted.org/packages/1f/47/999514fa49cfaf7a92c805a86c3c43f4215621855d151b61c602abb38091/tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e", size = 240898, upload-time = "2024-11-27T22:38:00.429Z" }, + { url = "https://files.pythonhosted.org/packages/73/41/0a01279a7ae09ee1573b423318e7934674ce06eb33f50936655071d81a24/tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4", size = 229894, upload-time = "2024-11-27T22:38:02.094Z" }, + { url = "https://files.pythonhosted.org/packages/55/18/5d8bc5b0a0362311ce4d18830a5d28943667599a60d20118074ea1b01bb7/tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106", size = 245319, upload-time = "2024-11-27T22:38:03.206Z" }, + { url = "https://files.pythonhosted.org/packages/92/a3/7ade0576d17f3cdf5ff44d61390d4b3febb8a9fc2b480c75c47ea048c646/tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8", size = 238273, upload-time = "2024-11-27T22:38:04.217Z" }, + { url = "https://files.pythonhosted.org/packages/72/6f/fa64ef058ac1446a1e51110c375339b3ec6be245af9d14c87c4a6412dd32/tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", size = 98310, upload-time = "2024-11-27T22:38:05.908Z" }, + { url = "https://files.pythonhosted.org/packages/6a/1c/4a2dcde4a51b81be3530565e92eda625d94dafb46dbeb15069df4caffc34/tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", size = 108309, upload-time = "2024-11-27T22:38:06.812Z" }, + { url = "https://files.pythonhosted.org/packages/52/e1/f8af4c2fcde17500422858155aeb0d7e93477a0d59a98e56cbfe75070fd0/tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea", size = 132762, upload-time = "2024-11-27T22:38:07.731Z" }, + { url = "https://files.pythonhosted.org/packages/03/b8/152c68bb84fc00396b83e7bbddd5ec0bd3dd409db4195e2a9b3e398ad2e3/tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8", size = 123453, upload-time = "2024-11-27T22:38:09.384Z" }, + { url = "https://files.pythonhosted.org/packages/c8/d6/fc9267af9166f79ac528ff7e8c55c8181ded34eb4b0e93daa767b8841573/tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192", size = 233486, upload-time = "2024-11-27T22:38:10.329Z" }, + { url = "https://files.pythonhosted.org/packages/5c/51/51c3f2884d7bab89af25f678447ea7d297b53b5a3b5730a7cb2ef6069f07/tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222", size = 242349, upload-time = "2024-11-27T22:38:11.443Z" }, + { url = "https://files.pythonhosted.org/packages/ab/df/bfa89627d13a5cc22402e441e8a931ef2108403db390ff3345c05253935e/tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77", size = 252159, upload-time = "2024-11-27T22:38:13.099Z" }, + { url = "https://files.pythonhosted.org/packages/9e/6e/fa2b916dced65763a5168c6ccb91066f7639bdc88b48adda990db10c8c0b/tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6", size = 237243, upload-time = "2024-11-27T22:38:14.766Z" }, + { url = "https://files.pythonhosted.org/packages/b4/04/885d3b1f650e1153cbb93a6a9782c58a972b94ea4483ae4ac5cedd5e4a09/tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd", size = 259645, upload-time = "2024-11-27T22:38:15.843Z" }, + { url = "https://files.pythonhosted.org/packages/9c/de/6b432d66e986e501586da298e28ebeefd3edc2c780f3ad73d22566034239/tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e", size = 244584, upload-time = "2024-11-27T22:38:17.645Z" }, + { url = "https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size = 98875, upload-time = "2024-11-27T22:38:19.159Z" }, + { url = "https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size = 109418, upload-time = "2024-11-27T22:38:20.064Z" }, + { url = "https://files.pythonhosted.org/packages/04/90/2ee5f2e0362cb8a0b6499dc44f4d7d48f8fff06d28ba46e6f1eaa61a1388/tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7", size = 132708, upload-time = "2024-11-27T22:38:21.659Z" }, + { url = "https://files.pythonhosted.org/packages/c0/ec/46b4108816de6b385141f082ba99e315501ccd0a2ea23db4a100dd3990ea/tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c", size = 123582, upload-time = "2024-11-27T22:38:22.693Z" }, + { url = "https://files.pythonhosted.org/packages/a0/bd/b470466d0137b37b68d24556c38a0cc819e8febe392d5b199dcd7f578365/tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13", size = 232543, upload-time = "2024-11-27T22:38:24.367Z" }, + { url = "https://files.pythonhosted.org/packages/d9/e5/82e80ff3b751373f7cead2815bcbe2d51c895b3c990686741a8e56ec42ab/tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281", size = 241691, upload-time = "2024-11-27T22:38:26.081Z" }, + { url = "https://files.pythonhosted.org/packages/05/7e/2a110bc2713557d6a1bfb06af23dd01e7dde52b6ee7dadc589868f9abfac/tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272", size = 251170, upload-time = "2024-11-27T22:38:27.921Z" }, + { url = "https://files.pythonhosted.org/packages/64/7b/22d713946efe00e0adbcdfd6d1aa119ae03fd0b60ebed51ebb3fa9f5a2e5/tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140", size = 236530, upload-time = "2024-11-27T22:38:29.591Z" }, + { url = "https://files.pythonhosted.org/packages/38/31/3a76f67da4b0cf37b742ca76beaf819dca0ebef26d78fc794a576e08accf/tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2", size = 258666, upload-time = "2024-11-27T22:38:30.639Z" }, + { url = "https://files.pythonhosted.org/packages/07/10/5af1293da642aded87e8a988753945d0cf7e00a9452d3911dd3bb354c9e2/tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744", size = 243954, upload-time = "2024-11-27T22:38:31.702Z" }, + { url = "https://files.pythonhosted.org/packages/5b/b9/1ed31d167be802da0fc95020d04cd27b7d7065cc6fbefdd2f9186f60d7bd/tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec", size = 98724, upload-time = "2024-11-27T22:38:32.837Z" }, + { url = "https://files.pythonhosted.org/packages/c7/32/b0963458706accd9afcfeb867c0f9175a741bf7b19cd424230714d722198/tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69", size = 109383, upload-time = "2024-11-27T22:38:34.455Z" }, + { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257, upload-time = "2024-11-27T22:38:35.385Z" }, ] [[package]] name = "typing-extensions" -version = "4.13.1" +version = "4.14.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/76/ad/cd3e3465232ec2416ae9b983f27b9e94dc8171d56ac99b345319a9475967/typing_extensions-4.13.1.tar.gz", hash = "sha256:98795af00fb9640edec5b8e31fc647597b4691f099ad75f469a2616be1a76dff", size = 106633 } +sdist = { url = "https://files.pythonhosted.org/packages/d1/bc/51647cd02527e87d05cb083ccc402f93e441606ff1f01739a62c8ad09ba5/typing_extensions-4.14.0.tar.gz", hash = "sha256:8676b788e32f02ab42d9e7c61324048ae4c6d844a399eebace3d4979d75ceef4", size = 107423, upload-time = "2025-06-02T14:52:11.399Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/df/c5/e7a0b0f5ed69f94c8ab7379c599e6036886bffcde609969a5325f47f1332/typing_extensions-4.13.1-py3-none-any.whl", hash = "sha256:4b6cf02909eb5495cfbc3f6e8fd49217e6cc7944e145cdda8caa3734777f9e69", size = 45739 }, + { url = "https://files.pythonhosted.org/packages/69/e0/552843e0d356fbb5256d21449fa957fa4eff3bbc135a74a691ee70c7c5da/typing_extensions-4.14.0-py3-none-any.whl", hash = "sha256:a1514509136dd0b477638fc68d6a91497af5076466ad0fa6c338e44e359944af", size = 43839, upload-time = "2025-06-02T14:52:10.026Z" }, ] [[package]] name = "urllib3" -version = "2.3.0" +version = "2.4.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/aa/63/e53da845320b757bf29ef6a9062f5c669fe997973f966045cb019c3f4b66/urllib3-2.3.0.tar.gz", hash = "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d", size = 307268 } +sdist = { url = "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", size = 390672, upload-time = "2025-04-10T15:23:39.232Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c8/19/4ec628951a74043532ca2cf5d97b7b14863931476d117c471e8e2b1eb39f/urllib3-2.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df", size = 128369 }, + { url = "https://files.pythonhosted.org/packages/6b/11/cc635220681e93a0183390e26485430ca2c7b5f9d33b15c74c2861cb8091/urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813", size = 128680, upload-time = "2025-04-10T15:23:37.377Z" }, ] [[package]] name = "virtualenv" -version = "20.30.0" +version = "20.31.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "distlib" }, { name = "filelock" }, { name = "platformdirs" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/38/e0/633e369b91bbc664df47dcb5454b6c7cf441e8f5b9d0c250ce9f0546401e/virtualenv-20.30.0.tar.gz", hash = "sha256:800863162bcaa5450a6e4d721049730e7f2dae07720e0902b0e4040bd6f9ada8", size = 4346945 } +sdist = { url = "https://files.pythonhosted.org/packages/56/2c/444f465fb2c65f40c3a104fd0c495184c4f2336d65baf398e3c75d72ea94/virtualenv-20.31.2.tar.gz", hash = "sha256:e10c0a9d02835e592521be48b332b6caee6887f332c111aa79a09b9e79efc2af", size = 6076316, upload-time = "2025-05-08T17:58:23.811Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4c/ed/3cfeb48175f0671ec430ede81f628f9fb2b1084c9064ca67ebe8c0ed6a05/virtualenv-20.30.0-py3-none-any.whl", hash = "sha256:e34302959180fca3af42d1800df014b35019490b119eba981af27f2fa486e5d6", size = 4329461 }, + { url = "https://files.pythonhosted.org/packages/f3/40/b1c265d4b2b62b58576588510fc4d1fe60a86319c8de99fd8e9fec617d2c/virtualenv-20.31.2-py3-none-any.whl", hash = "sha256:36efd0d9650ee985f0cad72065001e66d49a6f24eb44d98980f630686243cf11", size = 6057982, upload-time = "2025-05-08T17:58:21.15Z" }, ] [[package]] name = "winrt-runtime" version = "2.3.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ea/1e/20fd4bc1b42dca97ebde8bd5746084e538e2911feaad923370893091ac0f/winrt_runtime-2.3.0.tar.gz", hash = "sha256:bb895a2b8c74b375781302215e2661914369c625aa1f8df84f8d37691b22db77", size = 15503 } +sdist = { url = "https://files.pythonhosted.org/packages/ea/1e/20fd4bc1b42dca97ebde8bd5746084e538e2911feaad923370893091ac0f/winrt_runtime-2.3.0.tar.gz", hash = "sha256:bb895a2b8c74b375781302215e2661914369c625aa1f8df84f8d37691b22db77", size = 15503, upload-time = "2024-10-20T04:14:40.257Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/aa/c7/950de705e0acc0e327ac646a2b422087102f89efe92aacf59b7ebd4bc581/winrt_runtime-2.3.0-cp310-cp310-win32.whl", hash = "sha256:5c22ed339b420a6026134e28281b25078a9e6755eceb494dce5d42ee5814e3fd", size = 184148 }, - { url = "https://files.pythonhosted.org/packages/ab/09/c6fe76ae2eedb546fa784c705b6cc9e9fee8daa7ba8bb1995f89224a997c/winrt_runtime-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:f3ef0d6b281a8d4155ea14a0f917faf82a004d4996d07beb2b3d2af191503fb1", size = 214125 }, - { url = "https://files.pythonhosted.org/packages/5f/cd/99bc298d8b155789226f7498ca6c40dde2132a625883007c8526f26e5547/winrt_runtime-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:93ce23df52396ed89dfe659ee0e1a968928e526b9c577942d4a54ad55b333644", size = 391311 }, - { url = "https://files.pythonhosted.org/packages/2b/72/9bd307cf431ede1b94d19822cd4a8b9f3d02ab6158c7217dabee7d1e0545/winrt_runtime-2.3.0-cp311-cp311-win32.whl", hash = "sha256:352d70864846fd7ec89703845b82a35cef73f42d178a02a4635a38df5a61c0f8", size = 183984 }, - { url = "https://files.pythonhosted.org/packages/24/d7/2761ebf993aebec6f2da74cf9148c1de8df1af6c5a04d305d1e80def721b/winrt_runtime-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:286e6036af4903dd830398103c3edd110a46432347e8a52ba416d937c0e1f5f9", size = 213952 }, - { url = "https://files.pythonhosted.org/packages/f5/e3/4e94f95d238816ca75e7aa512d6014d890da7de582b52f037d9cd7cb17bd/winrt_runtime-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:44d0f0f48f2f10c02b885989e8bbac41d7bf9c03550b20ddf562100356fca7a9", size = 391102 }, - { url = "https://files.pythonhosted.org/packages/72/72/25ae82fb1c8ab20ed4d85b44f118945d3e6da55a6e8df9c757f8665287d9/winrt_runtime-2.3.0-cp312-cp312-win32.whl", hash = "sha256:03d3e4aedc65832e57c0dbf210ec2a9d7fb2819c74d420ba889b323e9fa5cf28", size = 183246 }, - { url = "https://files.pythonhosted.org/packages/9e/e6/c440fe52fb54dcacd3838f50e4a0c404d7a6c69a3b0b88fc96abb24d660e/winrt_runtime-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:0dc636aec2f4ee6c3849fa59dae10c128f4a908f0ce452e91af65d812ea66dcb", size = 213396 }, - { url = "https://files.pythonhosted.org/packages/8c/b0/d80c1a969a71e6d57a37b30c2c5b8e708c85b55467543cebaadff6b20187/winrt_runtime-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:d9f140c71e4f3bf7bf7d6853b246eab2e1632c72f218ff163aa41a74b576736f", size = 390632 }, - { url = "https://files.pythonhosted.org/packages/08/c2/87551e0ec1796812396e1065e04cbf303557d8e4820c5eb53d707fa1ca62/winrt_runtime-2.3.0-cp313-cp313-win32.whl", hash = "sha256:77f06df6b7a6cb536913ae455e30c1733d31d88dafe2c3cd8c3d0e2bcf7e2a20", size = 183255 }, - { url = "https://files.pythonhosted.org/packages/d5/12/cd01c5825affcace2590ab6b771baf17a5f1289939fd5cabd317be501eb2/winrt_runtime-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:7388774b74ea2f4510ab3a98c95af296665ebe69d9d7e2fd7ee2c3fc5856099e", size = 213404 }, - { url = "https://files.pythonhosted.org/packages/c2/52/4b5bb8f46703efe650a021240d94d80d75eea98b3a4f817640f73b93b1c8/winrt_runtime-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:0d3a4ac7661cad492d51653054e63328b940a6083c1ee1dd977f90069cb8afaa", size = 390639 }, - { url = "https://files.pythonhosted.org/packages/7d/4b/3d4acb821d4bcc2fe4235486cc53d7ccf1af4d32b78a8e47b71ee037cb8d/winrt_runtime-2.3.0-cp39-cp39-win32.whl", hash = "sha256:cd7bce2c7703054e7f64d11be665e9728e15d9dae0d952a51228fe830e0c4b55", size = 184226 }, - { url = "https://files.pythonhosted.org/packages/63/fa/42254803549091fcd094addc2d287cc7f99487699d04af5a8f225ef50ce9/winrt_runtime-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:2da01af378ab9374a3a933da97543f471a676a3b844318316869bffeff811e8a", size = 214166 }, - { url = "https://files.pythonhosted.org/packages/3c/7a/2ad1e3347e92d29912b6f68a2d7a196ffac5477b571bcccd94930f89af02/winrt_runtime-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:1c6bbfcc7cbe1c8159ed5d776b30b7f1cbc2c6990803292823b0788c22d75636", size = 391352 }, + { url = "https://files.pythonhosted.org/packages/aa/c7/950de705e0acc0e327ac646a2b422087102f89efe92aacf59b7ebd4bc581/winrt_runtime-2.3.0-cp310-cp310-win32.whl", hash = "sha256:5c22ed339b420a6026134e28281b25078a9e6755eceb494dce5d42ee5814e3fd", size = 184148, upload-time = "2024-10-20T04:13:24.226Z" }, + { url = "https://files.pythonhosted.org/packages/ab/09/c6fe76ae2eedb546fa784c705b6cc9e9fee8daa7ba8bb1995f89224a997c/winrt_runtime-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:f3ef0d6b281a8d4155ea14a0f917faf82a004d4996d07beb2b3d2af191503fb1", size = 214125, upload-time = "2024-10-20T04:13:25.372Z" }, + { url = "https://files.pythonhosted.org/packages/5f/cd/99bc298d8b155789226f7498ca6c40dde2132a625883007c8526f26e5547/winrt_runtime-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:93ce23df52396ed89dfe659ee0e1a968928e526b9c577942d4a54ad55b333644", size = 391311, upload-time = "2024-10-20T04:13:26.565Z" }, + { url = "https://files.pythonhosted.org/packages/2b/72/9bd307cf431ede1b94d19822cd4a8b9f3d02ab6158c7217dabee7d1e0545/winrt_runtime-2.3.0-cp311-cp311-win32.whl", hash = "sha256:352d70864846fd7ec89703845b82a35cef73f42d178a02a4635a38df5a61c0f8", size = 183984, upload-time = "2024-10-20T04:13:27.944Z" }, + { url = "https://files.pythonhosted.org/packages/24/d7/2761ebf993aebec6f2da74cf9148c1de8df1af6c5a04d305d1e80def721b/winrt_runtime-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:286e6036af4903dd830398103c3edd110a46432347e8a52ba416d937c0e1f5f9", size = 213952, upload-time = "2024-10-20T04:13:29.046Z" }, + { url = "https://files.pythonhosted.org/packages/f5/e3/4e94f95d238816ca75e7aa512d6014d890da7de582b52f037d9cd7cb17bd/winrt_runtime-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:44d0f0f48f2f10c02b885989e8bbac41d7bf9c03550b20ddf562100356fca7a9", size = 391102, upload-time = "2024-10-20T04:13:30.224Z" }, + { url = "https://files.pythonhosted.org/packages/72/72/25ae82fb1c8ab20ed4d85b44f118945d3e6da55a6e8df9c757f8665287d9/winrt_runtime-2.3.0-cp312-cp312-win32.whl", hash = "sha256:03d3e4aedc65832e57c0dbf210ec2a9d7fb2819c74d420ba889b323e9fa5cf28", size = 183246, upload-time = "2024-10-20T04:13:31.335Z" }, + { url = "https://files.pythonhosted.org/packages/9e/e6/c440fe52fb54dcacd3838f50e4a0c404d7a6c69a3b0b88fc96abb24d660e/winrt_runtime-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:0dc636aec2f4ee6c3849fa59dae10c128f4a908f0ce452e91af65d812ea66dcb", size = 213396, upload-time = "2024-10-20T04:13:32.437Z" }, + { url = "https://files.pythonhosted.org/packages/8c/b0/d80c1a969a71e6d57a37b30c2c5b8e708c85b55467543cebaadff6b20187/winrt_runtime-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:d9f140c71e4f3bf7bf7d6853b246eab2e1632c72f218ff163aa41a74b576736f", size = 390632, upload-time = "2024-10-20T04:13:33.602Z" }, + { url = "https://files.pythonhosted.org/packages/08/c2/87551e0ec1796812396e1065e04cbf303557d8e4820c5eb53d707fa1ca62/winrt_runtime-2.3.0-cp313-cp313-win32.whl", hash = "sha256:77f06df6b7a6cb536913ae455e30c1733d31d88dafe2c3cd8c3d0e2bcf7e2a20", size = 183255, upload-time = "2024-10-20T04:13:34.687Z" }, + { url = "https://files.pythonhosted.org/packages/d5/12/cd01c5825affcace2590ab6b771baf17a5f1289939fd5cabd317be501eb2/winrt_runtime-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:7388774b74ea2f4510ab3a98c95af296665ebe69d9d7e2fd7ee2c3fc5856099e", size = 213404, upload-time = "2024-10-20T04:13:35.864Z" }, + { url = "https://files.pythonhosted.org/packages/c2/52/4b5bb8f46703efe650a021240d94d80d75eea98b3a4f817640f73b93b1c8/winrt_runtime-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:0d3a4ac7661cad492d51653054e63328b940a6083c1ee1dd977f90069cb8afaa", size = 390639, upload-time = "2024-10-20T04:13:37.705Z" }, + { url = "https://files.pythonhosted.org/packages/7d/4b/3d4acb821d4bcc2fe4235486cc53d7ccf1af4d32b78a8e47b71ee037cb8d/winrt_runtime-2.3.0-cp39-cp39-win32.whl", hash = "sha256:cd7bce2c7703054e7f64d11be665e9728e15d9dae0d952a51228fe830e0c4b55", size = 184226, upload-time = "2024-10-20T04:13:38.81Z" }, + { url = "https://files.pythonhosted.org/packages/63/fa/42254803549091fcd094addc2d287cc7f99487699d04af5a8f225ef50ce9/winrt_runtime-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:2da01af378ab9374a3a933da97543f471a676a3b844318316869bffeff811e8a", size = 214166, upload-time = "2024-10-20T04:13:39.947Z" }, + { url = "https://files.pythonhosted.org/packages/3c/7a/2ad1e3347e92d29912b6f68a2d7a196ffac5477b571bcccd94930f89af02/winrt_runtime-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:1c6bbfcc7cbe1c8159ed5d776b30b7f1cbc2c6990803292823b0788c22d75636", size = 391352, upload-time = "2024-10-20T04:13:41.107Z" }, ] [[package]] @@ -1501,23 +1551,23 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "winrt-runtime", marker = "python_full_version >= '3.12'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c7/3a/64b2b8efe27fe4acb3a2da03a6687a2414d1c97465f212a3337415ca42ad/winrt_windows_devices_bluetooth-2.3.0.tar.gz", hash = "sha256:a1204b71c369a0399ec15d9a7b7c67990dd74504e486b839bf81825bd381a837", size = 21092 } +sdist = { url = "https://files.pythonhosted.org/packages/c7/3a/64b2b8efe27fe4acb3a2da03a6687a2414d1c97465f212a3337415ca42ad/winrt_windows_devices_bluetooth-2.3.0.tar.gz", hash = "sha256:a1204b71c369a0399ec15d9a7b7c67990dd74504e486b839bf81825bd381a837", size = 21092, upload-time = "2024-10-20T04:15:34.033Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/02/c5/134ec74073015df83cd0fb7b5916afd0cdea081b091823e584d20732b243/winrt_Windows.Devices.Bluetooth-2.3.0-cp310-cp310-win32.whl", hash = "sha256:554aa6d0ca4bebc22a45f19fa60db1183a2b5643468f3c95cf0ebc33fbc1b0d0", size = 92500 }, - { url = "https://files.pythonhosted.org/packages/4b/db/9f16d8d6017ebd44b7233fa81b9c8bd6ff3d13c95cf632c14ac0d48cfa67/winrt_Windows.Devices.Bluetooth-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:cec2682e10431f027c1823647772671fb09bebc1e8a00021a3651120b846d36f", size = 104863 }, - { url = "https://files.pythonhosted.org/packages/84/9c/52cfa9599d60b2b73f725c7b16b7facb933288fe3fe89c059b22f0ec6f5a/winrt_Windows.Devices.Bluetooth-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:b4d42faef99845de2aded4c75c906f03cc3ba3df51fb4435e4cc88a19168cf99", size = 95902 }, - { url = "https://files.pythonhosted.org/packages/80/54/587e263d9088629639e78d4d41f7c5fc402b8e8391eef4dc308b5e693b1b/winrt_Windows.Devices.Bluetooth-2.3.0-cp311-cp311-win32.whl", hash = "sha256:64e0992175d4d5a1160179a8c586c2202a0edbd47a5b6da4efdbc8bb601f2f99", size = 92367 }, - { url = "https://files.pythonhosted.org/packages/fb/de/6d9bbdae545cd315ec36ef8100e33b1d81ad4057a7e54add64c530587966/winrt_Windows.Devices.Bluetooth-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:0830111c077508b599062fbe2d817203e4efa3605bd209cf4a3e03388ec39dda", size = 104731 }, - { url = "https://files.pythonhosted.org/packages/16/da/f2f708ef77f919e882fb3e7dc3b867c7745cd589ae720cb9e24355ffc3bd/winrt_Windows.Devices.Bluetooth-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:3943d538cb7b6bde3fd8741591eb6e23487ee9ee6284f05428b205e7d10b6d92", size = 95841 }, - { url = "https://files.pythonhosted.org/packages/7d/ce/da88e546d58a63a42f6267511d7cdb61ee8e097ab0037276bea769dd97da/winrt_Windows.Devices.Bluetooth-2.3.0-cp312-cp312-win32.whl", hash = "sha256:544ed169039e6d5e250323cc18c87967cfeb4d3d09ce354fd7c5fd2283f3bb98", size = 92447 }, - { url = "https://files.pythonhosted.org/packages/6a/5d/f2bc563e7efb3b06e522809aa28824c44d2e94d9fc31ff202c29f91f33f8/winrt_Windows.Devices.Bluetooth-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:f7becf095bf9bc999629fcb6401a88b879c3531b3c55c820e63259c955ddc06c", size = 104484 }, - { url = "https://files.pythonhosted.org/packages/9f/d4/12b18fbc5cbd21e1d497f3c8788576e8ab2687aff74836c658f21d12e714/winrt_Windows.Devices.Bluetooth-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:a6a2980409c855b4e5dab0be9bde9f30236292ac1fc994df959fa5a518cd6690", size = 95188 }, - { url = "https://files.pythonhosted.org/packages/c6/dd/367a516ae820dcf398d7856dcde845ad604a689d4a67c0e97709e68f3757/winrt_Windows.Devices.Bluetooth-2.3.0-cp313-cp313-win32.whl", hash = "sha256:82f443be43379d4762e72633047c82843c873b6f26428a18855ca7b53e1958d7", size = 92448 }, - { url = "https://files.pythonhosted.org/packages/08/43/03356e20aa78aabc3581f979c36c3fa513f706a28896e51f6508fa6ce08d/winrt_Windows.Devices.Bluetooth-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:8b407da87ab52315c2d562a75d824dcafcae6e1628031cdb971072a47eb78ff0", size = 104502 }, - { url = "https://files.pythonhosted.org/packages/31/f0/7eb956b2f3e7a8886d3f94a2d430e96091f4897bd38ba449c2c11fa84b06/winrt_Windows.Devices.Bluetooth-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:e36d0b487bc5b64662b8470085edf8bfa5a220d7afc4f2e8d7faa3e3ac2bae80", size = 95208 }, - { url = "https://files.pythonhosted.org/packages/2f/67/104bd9216532241473becd5c9b1c15440d826100052fa58fe17eb80c6f89/winrt_Windows.Devices.Bluetooth-2.3.0-cp39-cp39-win32.whl", hash = "sha256:6553023433edf5a75767e8962bf492d0623036975c7d8373d5bbccc633a77bbc", size = 92621 }, - { url = "https://files.pythonhosted.org/packages/a7/23/cee9bf123db4332f970f7224430894aefa091c475a55df8e55166acf04e9/winrt_Windows.Devices.Bluetooth-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:77bdeadb043190c40ebbad462cd06e38b6461bc976bc67daf587e9395c387aae", size = 105095 }, - { url = "https://files.pythonhosted.org/packages/2c/9d/b5dd2c938e1e14394d9a7f67211a820f813fa792077d1568858c3bdf1234/winrt_Windows.Devices.Bluetooth-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:c588ab79b534fedecce48f7082b419315e8d797d0120556166492e603e90d932", size = 95875 }, + { url = "https://files.pythonhosted.org/packages/02/c5/134ec74073015df83cd0fb7b5916afd0cdea081b091823e584d20732b243/winrt_Windows.Devices.Bluetooth-2.3.0-cp310-cp310-win32.whl", hash = "sha256:554aa6d0ca4bebc22a45f19fa60db1183a2b5643468f3c95cf0ebc33fbc1b0d0", size = 92500, upload-time = "2024-10-20T02:55:57.417Z" }, + { url = "https://files.pythonhosted.org/packages/4b/db/9f16d8d6017ebd44b7233fa81b9c8bd6ff3d13c95cf632c14ac0d48cfa67/winrt_Windows.Devices.Bluetooth-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:cec2682e10431f027c1823647772671fb09bebc1e8a00021a3651120b846d36f", size = 104863, upload-time = "2024-10-20T02:55:58.879Z" }, + { url = "https://files.pythonhosted.org/packages/84/9c/52cfa9599d60b2b73f725c7b16b7facb933288fe3fe89c059b22f0ec6f5a/winrt_Windows.Devices.Bluetooth-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:b4d42faef99845de2aded4c75c906f03cc3ba3df51fb4435e4cc88a19168cf99", size = 95902, upload-time = "2024-10-20T02:56:00.58Z" }, + { url = "https://files.pythonhosted.org/packages/80/54/587e263d9088629639e78d4d41f7c5fc402b8e8391eef4dc308b5e693b1b/winrt_Windows.Devices.Bluetooth-2.3.0-cp311-cp311-win32.whl", hash = "sha256:64e0992175d4d5a1160179a8c586c2202a0edbd47a5b6da4efdbc8bb601f2f99", size = 92367, upload-time = "2024-10-20T02:56:01.603Z" }, + { url = "https://files.pythonhosted.org/packages/fb/de/6d9bbdae545cd315ec36ef8100e33b1d81ad4057a7e54add64c530587966/winrt_Windows.Devices.Bluetooth-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:0830111c077508b599062fbe2d817203e4efa3605bd209cf4a3e03388ec39dda", size = 104731, upload-time = "2024-10-20T02:56:02.7Z" }, + { url = "https://files.pythonhosted.org/packages/16/da/f2f708ef77f919e882fb3e7dc3b867c7745cd589ae720cb9e24355ffc3bd/winrt_Windows.Devices.Bluetooth-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:3943d538cb7b6bde3fd8741591eb6e23487ee9ee6284f05428b205e7d10b6d92", size = 95841, upload-time = "2024-10-20T02:56:03.712Z" }, + { url = "https://files.pythonhosted.org/packages/7d/ce/da88e546d58a63a42f6267511d7cdb61ee8e097ab0037276bea769dd97da/winrt_Windows.Devices.Bluetooth-2.3.0-cp312-cp312-win32.whl", hash = "sha256:544ed169039e6d5e250323cc18c87967cfeb4d3d09ce354fd7c5fd2283f3bb98", size = 92447, upload-time = "2024-10-20T02:56:04.692Z" }, + { url = "https://files.pythonhosted.org/packages/6a/5d/f2bc563e7efb3b06e522809aa28824c44d2e94d9fc31ff202c29f91f33f8/winrt_Windows.Devices.Bluetooth-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:f7becf095bf9bc999629fcb6401a88b879c3531b3c55c820e63259c955ddc06c", size = 104484, upload-time = "2024-10-20T02:56:05.698Z" }, + { url = "https://files.pythonhosted.org/packages/9f/d4/12b18fbc5cbd21e1d497f3c8788576e8ab2687aff74836c658f21d12e714/winrt_Windows.Devices.Bluetooth-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:a6a2980409c855b4e5dab0be9bde9f30236292ac1fc994df959fa5a518cd6690", size = 95188, upload-time = "2024-10-20T02:56:07.013Z" }, + { url = "https://files.pythonhosted.org/packages/c6/dd/367a516ae820dcf398d7856dcde845ad604a689d4a67c0e97709e68f3757/winrt_Windows.Devices.Bluetooth-2.3.0-cp313-cp313-win32.whl", hash = "sha256:82f443be43379d4762e72633047c82843c873b6f26428a18855ca7b53e1958d7", size = 92448, upload-time = "2024-10-20T02:56:08.331Z" }, + { url = "https://files.pythonhosted.org/packages/08/43/03356e20aa78aabc3581f979c36c3fa513f706a28896e51f6508fa6ce08d/winrt_Windows.Devices.Bluetooth-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:8b407da87ab52315c2d562a75d824dcafcae6e1628031cdb971072a47eb78ff0", size = 104502, upload-time = "2024-10-20T02:56:09.452Z" }, + { url = "https://files.pythonhosted.org/packages/31/f0/7eb956b2f3e7a8886d3f94a2d430e96091f4897bd38ba449c2c11fa84b06/winrt_Windows.Devices.Bluetooth-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:e36d0b487bc5b64662b8470085edf8bfa5a220d7afc4f2e8d7faa3e3ac2bae80", size = 95208, upload-time = "2024-10-20T02:56:10.528Z" }, + { url = "https://files.pythonhosted.org/packages/2f/67/104bd9216532241473becd5c9b1c15440d826100052fa58fe17eb80c6f89/winrt_Windows.Devices.Bluetooth-2.3.0-cp39-cp39-win32.whl", hash = "sha256:6553023433edf5a75767e8962bf492d0623036975c7d8373d5bbccc633a77bbc", size = 92621, upload-time = "2024-10-20T02:56:11.49Z" }, + { url = "https://files.pythonhosted.org/packages/a7/23/cee9bf123db4332f970f7224430894aefa091c475a55df8e55166acf04e9/winrt_Windows.Devices.Bluetooth-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:77bdeadb043190c40ebbad462cd06e38b6461bc976bc67daf587e9395c387aae", size = 105095, upload-time = "2024-10-20T02:56:12.516Z" }, + { url = "https://files.pythonhosted.org/packages/2c/9d/b5dd2c938e1e14394d9a7f67211a820f813fa792077d1568858c3bdf1234/winrt_Windows.Devices.Bluetooth-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:c588ab79b534fedecce48f7082b419315e8d797d0120556166492e603e90d932", size = 95875, upload-time = "2024-10-20T02:56:13.601Z" }, ] [[package]] @@ -1527,23 +1577,23 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "winrt-runtime", marker = "python_full_version >= '3.12'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b4/9f/0f7393800a7d5907f0935a8c088937ca0d3eb3f131d8173e81a94f6a76ed/winrt_windows_devices_bluetooth_advertisement-2.3.0.tar.gz", hash = "sha256:c8adbec690b765ca70337c35efec9910b0937a40a0a242184ea295367137f81c", size = 13686 } +sdist = { url = "https://files.pythonhosted.org/packages/b4/9f/0f7393800a7d5907f0935a8c088937ca0d3eb3f131d8173e81a94f6a76ed/winrt_windows_devices_bluetooth_advertisement-2.3.0.tar.gz", hash = "sha256:c8adbec690b765ca70337c35efec9910b0937a40a0a242184ea295367137f81c", size = 13686, upload-time = "2024-10-20T04:15:34.834Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f6/02/47ed542b5348d41c42ff87ebee04123f327d5795b00c1a47cc7ad858d296/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp310-cp310-win32.whl", hash = "sha256:4386498e7794ed383542ea868f0aa2dd8fb5f09f12bdffde024d12bd9f5a3756", size = 76840 }, - { url = "https://files.pythonhosted.org/packages/e3/68/34abc2d2330abeb908d2a48f6a6a5b7c47132f889f2847a406ad68ad5d7d/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:d6fa25b2541d2898ae17982e86e0977a639b04f75119612cb46e1719474513fd", size = 83647 }, - { url = "https://files.pythonhosted.org/packages/bb/d7/692d6e88e90447eee157d86cabb21d59ff00f038a6b049f645ca0dcabcf0/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:b200ff5acd181353f61f5b6446176faf78a61867d8c1d21e77a15e239d2cdf6b", size = 79035 }, - { url = "https://files.pythonhosted.org/packages/80/05/843e9eb1358190e411e7e5a16a3a668285f4f12eb2970c9b9921d7d2e13f/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp311-cp311-win32.whl", hash = "sha256:e56ad277813b48e35a3074f286c55a7a25884676e23ef9c3fc12349a42cb8fa4", size = 76767 }, - { url = "https://files.pythonhosted.org/packages/7f/10/76794461ac6960ec58b54261f1452f39a5fa377b4c7fa082f6f5665c51df/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:d6533fef6a5914dc8d519b83b1841becf6fd2f37163d6e07df318a6a6118f194", size = 83536 }, - { url = "https://files.pythonhosted.org/packages/86/8a/b86c0091f205f0f814396f356334fd3d5473d1302738be503cec7443dbd5/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:8f4369cb0108f8ee0cace559f9870b00a4dde3fc1abd52f84adba08bc733825c", size = 78971 }, - { url = "https://files.pythonhosted.org/packages/25/f4/53703d313aa45a6b7a7dd1b6d5bd8029a1ddd06d129de8ac50fd75c8d946/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp312-cp312-win32.whl", hash = "sha256:d729d989acd7c1d703e2088299b6e219089a415db4a7b80cd52fdc507ec3ce95", size = 76811 }, - { url = "https://files.pythonhosted.org/packages/6b/e0/c6bd7f3af35fe606ed668ac8cfec7d085dcf7873eb0fa0ba8d50af22b449/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d3d258d4388a2b46f2e46f2fbdede1bf327eaa9c2dd4605f8a7fe454077c49e", size = 83787 }, - { url = "https://files.pythonhosted.org/packages/a8/bc/7476372d4f6ec50b919639a16ac8cdf0ce8f63d4afe63a4c1250730f185c/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:d8c12457b00a79f8f1058d7a51bd8e7f177fb66e31389469e75b1104f6358921", size = 78910 }, - { url = "https://files.pythonhosted.org/packages/68/84/3e596881e9cf42dc43d45d52e4ee90163b671030b89bee11485cfc3cf311/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp313-cp313-win32.whl", hash = "sha256:ac1e55a350881f82cb51e162cb7a4b5d9359e9e5fbde922de802404a951d64ec", size = 76808 }, - { url = "https://files.pythonhosted.org/packages/6f/07/2a9408efdc48e27bfae721d9413477fa893c73a6ddea9ee9a944150012f2/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:0fc339340fb8be21c1c829816a49dc31b986c6d602d113d4a49ee8ffaf0e2396", size = 83798 }, - { url = "https://files.pythonhosted.org/packages/e5/01/aa3f75a1b18465522c7d679f840cefe487ed5e1064f8478f20451d2621f4/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:da63d9c56edcb3b2d5135e65cc8c9c4658344dd480a8a2daf45beb2106f17874", size = 78911 }, - { url = "https://files.pythonhosted.org/packages/8b/0e/6ce103899079b9799035d430989b73c4f5d0efb609424061ad604f7667b7/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp39-cp39-win32.whl", hash = "sha256:e98c6ae4b0afd3e4f3ab4fa06e84d6017ff9242146a64e3bad73f7f34183a076", size = 76846 }, - { url = "https://files.pythonhosted.org/packages/66/92/e4aa4b7096c2927550301166429dced4b46f6260971a72889ecccbde50ad/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:cdc485f4143fbbb3ae0c9c9ad03b1021a5cb233c6df65bf56ac14f8e22c918c3", size = 84077 }, - { url = "https://files.pythonhosted.org/packages/0c/bf/dc08e00aade2fd1bab8eeac6bf2c4b6f957a559087d470f5fe0a729303ec/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:7af519cc895be84d6974e9f70d102545a5e8db05e065903b0fd84521218e60a9", size = 78839 }, + { url = "https://files.pythonhosted.org/packages/f6/02/47ed542b5348d41c42ff87ebee04123f327d5795b00c1a47cc7ad858d296/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp310-cp310-win32.whl", hash = "sha256:4386498e7794ed383542ea868f0aa2dd8fb5f09f12bdffde024d12bd9f5a3756", size = 76840, upload-time = "2024-10-20T02:56:14.908Z" }, + { url = "https://files.pythonhosted.org/packages/e3/68/34abc2d2330abeb908d2a48f6a6a5b7c47132f889f2847a406ad68ad5d7d/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:d6fa25b2541d2898ae17982e86e0977a639b04f75119612cb46e1719474513fd", size = 83647, upload-time = "2024-10-20T02:56:16.217Z" }, + { url = "https://files.pythonhosted.org/packages/bb/d7/692d6e88e90447eee157d86cabb21d59ff00f038a6b049f645ca0dcabcf0/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:b200ff5acd181353f61f5b6446176faf78a61867d8c1d21e77a15e239d2cdf6b", size = 79035, upload-time = "2024-10-20T02:56:17.204Z" }, + { url = "https://files.pythonhosted.org/packages/80/05/843e9eb1358190e411e7e5a16a3a668285f4f12eb2970c9b9921d7d2e13f/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp311-cp311-win32.whl", hash = "sha256:e56ad277813b48e35a3074f286c55a7a25884676e23ef9c3fc12349a42cb8fa4", size = 76767, upload-time = "2024-10-20T02:56:18.237Z" }, + { url = "https://files.pythonhosted.org/packages/7f/10/76794461ac6960ec58b54261f1452f39a5fa377b4c7fa082f6f5665c51df/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:d6533fef6a5914dc8d519b83b1841becf6fd2f37163d6e07df318a6a6118f194", size = 83536, upload-time = "2024-10-20T02:56:20.18Z" }, + { url = "https://files.pythonhosted.org/packages/86/8a/b86c0091f205f0f814396f356334fd3d5473d1302738be503cec7443dbd5/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:8f4369cb0108f8ee0cace559f9870b00a4dde3fc1abd52f84adba08bc733825c", size = 78971, upload-time = "2024-10-20T02:56:21.201Z" }, + { url = "https://files.pythonhosted.org/packages/25/f4/53703d313aa45a6b7a7dd1b6d5bd8029a1ddd06d129de8ac50fd75c8d946/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp312-cp312-win32.whl", hash = "sha256:d729d989acd7c1d703e2088299b6e219089a415db4a7b80cd52fdc507ec3ce95", size = 76811, upload-time = "2024-10-20T02:56:22.18Z" }, + { url = "https://files.pythonhosted.org/packages/6b/e0/c6bd7f3af35fe606ed668ac8cfec7d085dcf7873eb0fa0ba8d50af22b449/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:1d3d258d4388a2b46f2e46f2fbdede1bf327eaa9c2dd4605f8a7fe454077c49e", size = 83787, upload-time = "2024-10-20T02:56:23.143Z" }, + { url = "https://files.pythonhosted.org/packages/a8/bc/7476372d4f6ec50b919639a16ac8cdf0ce8f63d4afe63a4c1250730f185c/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:d8c12457b00a79f8f1058d7a51bd8e7f177fb66e31389469e75b1104f6358921", size = 78910, upload-time = "2024-10-20T02:56:24.974Z" }, + { url = "https://files.pythonhosted.org/packages/68/84/3e596881e9cf42dc43d45d52e4ee90163b671030b89bee11485cfc3cf311/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp313-cp313-win32.whl", hash = "sha256:ac1e55a350881f82cb51e162cb7a4b5d9359e9e5fbde922de802404a951d64ec", size = 76808, upload-time = "2024-10-20T02:56:26.091Z" }, + { url = "https://files.pythonhosted.org/packages/6f/07/2a9408efdc48e27bfae721d9413477fa893c73a6ddea9ee9a944150012f2/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:0fc339340fb8be21c1c829816a49dc31b986c6d602d113d4a49ee8ffaf0e2396", size = 83798, upload-time = "2024-10-20T02:56:27.066Z" }, + { url = "https://files.pythonhosted.org/packages/e5/01/aa3f75a1b18465522c7d679f840cefe487ed5e1064f8478f20451d2621f4/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:da63d9c56edcb3b2d5135e65cc8c9c4658344dd480a8a2daf45beb2106f17874", size = 78911, upload-time = "2024-10-20T02:56:28.04Z" }, + { url = "https://files.pythonhosted.org/packages/8b/0e/6ce103899079b9799035d430989b73c4f5d0efb609424061ad604f7667b7/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp39-cp39-win32.whl", hash = "sha256:e98c6ae4b0afd3e4f3ab4fa06e84d6017ff9242146a64e3bad73f7f34183a076", size = 76846, upload-time = "2024-10-20T02:56:29.015Z" }, + { url = "https://files.pythonhosted.org/packages/66/92/e4aa4b7096c2927550301166429dced4b46f6260971a72889ecccbde50ad/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:cdc485f4143fbbb3ae0c9c9ad03b1021a5cb233c6df65bf56ac14f8e22c918c3", size = 84077, upload-time = "2024-10-20T02:56:30.06Z" }, + { url = "https://files.pythonhosted.org/packages/0c/bf/dc08e00aade2fd1bab8eeac6bf2c4b6f957a559087d470f5fe0a729303ec/winrt_Windows.Devices.Bluetooth.Advertisement-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:7af519cc895be84d6974e9f70d102545a5e8db05e065903b0fd84521218e60a9", size = 78839, upload-time = "2024-10-20T02:56:31.02Z" }, ] [[package]] @@ -1553,23 +1603,23 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "winrt-runtime", marker = "python_full_version >= '3.12'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/56/99/f1b517fc04244728eebf5f16c70d181ccc32e70e9a1655c7460ccd18755e/winrt_windows_devices_bluetooth_genericattributeprofile-2.3.0.tar.gz", hash = "sha256:f40f94bf2f7243848dc10e39cfde76c9044727a05e7e5dfb8cb7f062f3fd3dda", size = 33686 } +sdist = { url = "https://files.pythonhosted.org/packages/56/99/f1b517fc04244728eebf5f16c70d181ccc32e70e9a1655c7460ccd18755e/winrt_windows_devices_bluetooth_genericattributeprofile-2.3.0.tar.gz", hash = "sha256:f40f94bf2f7243848dc10e39cfde76c9044727a05e7e5dfb8cb7f062f3fd3dda", size = 33686, upload-time = "2024-10-20T04:15:36.29Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/41/b4/2cb56a52cf45a7fde3e12760d4d4893859f9ef963a8dd44beaa9bf91d8da/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp310-cp310-win32.whl", hash = "sha256:1ec75b107370827874d8435a47852d0459cb66d5694e02a833e0a75c4748e847", size = 160077 }, - { url = "https://files.pythonhosted.org/packages/28/8e/1f5f3c705c3141cb72d7a1d02c204134b1a97c3801289adf205cbb5f76ea/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:0a178aa936abbc56ae1cc54a222dee4a34ce6c09506a5b592d4f7d04dbe76b95", size = 180443 }, - { url = "https://files.pythonhosted.org/packages/6d/6c/5a6a5127134c77376a22b69ef42951894e81ea97b08f5e2d3e96ed5924ad/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:b7067b8578e19ad17b28694090d5b000fee57db5b219462155961b685d71fba5", size = 167571 }, - { url = "https://files.pythonhosted.org/packages/a2/a4/ebf5c3db0dfdd9c03df4189eaff91a92788d875304bc473e39548a53eb7b/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp311-cp311-win32.whl", hash = "sha256:e0aeba201e20b6c4bc18a4336b5b07d653d4ab4c9c17a301613db680a346cd5e", size = 159925 }, - { url = "https://files.pythonhosted.org/packages/35/a1/efe3587a40210e9468696901eac78de039fb7b8515cdc1cacbf938dce2c7/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:f87b3995de18b98075ec2b02afc7252873fa75e7c840eb770d7bfafb4fda5c12", size = 180310 }, - { url = "https://files.pythonhosted.org/packages/97/8e/61a1d7548340c8aa608f7c36544e897145b1317fa2bdcdc2fb380768321a/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:7dccce04ec076666001efca8e2484d0ec444b2302ae150ef184aa253b8cfba09", size = 167363 }, - { url = "https://files.pythonhosted.org/packages/9c/bf/255bcf68a394007cb2275950d87063b828bb34500dc43f1356a079ce4374/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp312-cp312-win32.whl", hash = "sha256:1b97ef2ab9c9f5bae984989a47565d0d19c84969d74982a2664a4a3485cb8274", size = 160402 }, - { url = "https://files.pythonhosted.org/packages/a5/52/aa4b8a4e787b7e33e194193484567fcd1134cf9cf4d98cacf02333874b1d/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:5fac2c7b301fa70e105785d7504176c76e4d824fc3823afed4d1ab6a7682272c", size = 179589 }, - { url = "https://files.pythonhosted.org/packages/5b/1f/9e4ab12a378c57dd0426133e2887414ca5117275ea2a82fa4d6857ffa354/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:353fdccf2398b2a12e0835834cff8143a7efd9ba877fb5820fdcce531732b500", size = 166874 }, - { url = "https://files.pythonhosted.org/packages/ff/84/5dcec574261d1594b821ed14f161788e87e8268ca9e974959a89726846c3/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp313-cp313-win32.whl", hash = "sha256:f414f793767ccc56d055b1c74830efb51fa4cbdc9163847b1a38b1ee35778f49", size = 160415 }, - { url = "https://files.pythonhosted.org/packages/3c/0f/94019f58b293dcd2f5ea27cce710c55909b9c7b9f13664a6248b7369f201/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:8ef35d9cda5bbdcc55aa7eaf143ab873227d6ee467aaf28edbd2428f229e7c94", size = 179634 }, - { url = "https://files.pythonhosted.org/packages/c9/b1/d124bb30ff50de76e453beefabb75a7509c86054e00024e4163c3e1555db/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:6a9e7308ba264175c2a9ee31f6cf1d647cb35ee9a1da7350793d8fe033a6b9b8", size = 166849 }, - { url = "https://files.pythonhosted.org/packages/1b/02/3f9ffcdbf3e43b61025b98458cffa3a7c40eaef0b7593ac14c99fd235148/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp39-cp39-win32.whl", hash = "sha256:aea58f7e484cf3480ab9472a3e99b61c157b8a47baae8694bc7400ea5335f5dc", size = 159759 }, - { url = "https://files.pythonhosted.org/packages/d4/5a/4aa75c02797c3ef527948684a4ccd28afa670d98ad3d616cc5a46b1593cc/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:992b792a9e7f5771ccdc18eec4e526a11f23b75d9be5de3ec552ff719333897a", size = 181259 }, - { url = "https://files.pythonhosted.org/packages/b9/9c/7cc45ea7bb7fabc047c74a9a26c76cd132854cc8b4a22c9543ce3d074324/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:66b030a9cc6099dafe4253239e8e625cc063bb9bb115bebed6260d92dd86f6b1", size = 167511 }, + { url = "https://files.pythonhosted.org/packages/41/b4/2cb56a52cf45a7fde3e12760d4d4893859f9ef963a8dd44beaa9bf91d8da/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp310-cp310-win32.whl", hash = "sha256:1ec75b107370827874d8435a47852d0459cb66d5694e02a833e0a75c4748e847", size = 160077, upload-time = "2024-10-20T02:56:46.551Z" }, + { url = "https://files.pythonhosted.org/packages/28/8e/1f5f3c705c3141cb72d7a1d02c204134b1a97c3801289adf205cbb5f76ea/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:0a178aa936abbc56ae1cc54a222dee4a34ce6c09506a5b592d4f7d04dbe76b95", size = 180443, upload-time = "2024-10-20T02:56:47.913Z" }, + { url = "https://files.pythonhosted.org/packages/6d/6c/5a6a5127134c77376a22b69ef42951894e81ea97b08f5e2d3e96ed5924ad/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:b7067b8578e19ad17b28694090d5b000fee57db5b219462155961b685d71fba5", size = 167571, upload-time = "2024-10-20T02:56:49.405Z" }, + { url = "https://files.pythonhosted.org/packages/a2/a4/ebf5c3db0dfdd9c03df4189eaff91a92788d875304bc473e39548a53eb7b/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp311-cp311-win32.whl", hash = "sha256:e0aeba201e20b6c4bc18a4336b5b07d653d4ab4c9c17a301613db680a346cd5e", size = 159925, upload-time = "2024-10-20T02:56:50.591Z" }, + { url = "https://files.pythonhosted.org/packages/35/a1/efe3587a40210e9468696901eac78de039fb7b8515cdc1cacbf938dce2c7/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:f87b3995de18b98075ec2b02afc7252873fa75e7c840eb770d7bfafb4fda5c12", size = 180310, upload-time = "2024-10-20T02:56:51.769Z" }, + { url = "https://files.pythonhosted.org/packages/97/8e/61a1d7548340c8aa608f7c36544e897145b1317fa2bdcdc2fb380768321a/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:7dccce04ec076666001efca8e2484d0ec444b2302ae150ef184aa253b8cfba09", size = 167363, upload-time = "2024-10-20T02:56:52.859Z" }, + { url = "https://files.pythonhosted.org/packages/9c/bf/255bcf68a394007cb2275950d87063b828bb34500dc43f1356a079ce4374/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp312-cp312-win32.whl", hash = "sha256:1b97ef2ab9c9f5bae984989a47565d0d19c84969d74982a2664a4a3485cb8274", size = 160402, upload-time = "2024-10-20T02:56:54.259Z" }, + { url = "https://files.pythonhosted.org/packages/a5/52/aa4b8a4e787b7e33e194193484567fcd1134cf9cf4d98cacf02333874b1d/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:5fac2c7b301fa70e105785d7504176c76e4d824fc3823afed4d1ab6a7682272c", size = 179589, upload-time = "2024-10-20T02:56:55.438Z" }, + { url = "https://files.pythonhosted.org/packages/5b/1f/9e4ab12a378c57dd0426133e2887414ca5117275ea2a82fa4d6857ffa354/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:353fdccf2398b2a12e0835834cff8143a7efd9ba877fb5820fdcce531732b500", size = 166874, upload-time = "2024-10-20T02:56:56.517Z" }, + { url = "https://files.pythonhosted.org/packages/ff/84/5dcec574261d1594b821ed14f161788e87e8268ca9e974959a89726846c3/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp313-cp313-win32.whl", hash = "sha256:f414f793767ccc56d055b1c74830efb51fa4cbdc9163847b1a38b1ee35778f49", size = 160415, upload-time = "2024-10-20T02:56:57.583Z" }, + { url = "https://files.pythonhosted.org/packages/3c/0f/94019f58b293dcd2f5ea27cce710c55909b9c7b9f13664a6248b7369f201/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:8ef35d9cda5bbdcc55aa7eaf143ab873227d6ee467aaf28edbd2428f229e7c94", size = 179634, upload-time = "2024-10-20T02:56:58.76Z" }, + { url = "https://files.pythonhosted.org/packages/c9/b1/d124bb30ff50de76e453beefabb75a7509c86054e00024e4163c3e1555db/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:6a9e7308ba264175c2a9ee31f6cf1d647cb35ee9a1da7350793d8fe033a6b9b8", size = 166849, upload-time = "2024-10-20T02:56:59.883Z" }, + { url = "https://files.pythonhosted.org/packages/1b/02/3f9ffcdbf3e43b61025b98458cffa3a7c40eaef0b7593ac14c99fd235148/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp39-cp39-win32.whl", hash = "sha256:aea58f7e484cf3480ab9472a3e99b61c157b8a47baae8694bc7400ea5335f5dc", size = 159759, upload-time = "2024-10-20T02:57:00.957Z" }, + { url = "https://files.pythonhosted.org/packages/d4/5a/4aa75c02797c3ef527948684a4ccd28afa670d98ad3d616cc5a46b1593cc/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:992b792a9e7f5771ccdc18eec4e526a11f23b75d9be5de3ec552ff719333897a", size = 181259, upload-time = "2024-10-20T02:57:02.105Z" }, + { url = "https://files.pythonhosted.org/packages/b9/9c/7cc45ea7bb7fabc047c74a9a26c76cd132854cc8b4a22c9543ce3d074324/winrt_Windows.Devices.Bluetooth.GenericAttributeProfile-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:66b030a9cc6099dafe4253239e8e625cc063bb9bb115bebed6260d92dd86f6b1", size = 167511, upload-time = "2024-10-20T02:57:03.167Z" }, ] [[package]] @@ -1579,23 +1629,23 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "winrt-runtime", marker = "python_full_version >= '3.12'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5f/74/aed7249ee138db3bc425913d3c0a0c7db42bdc97b0d2bf5da134cfc919cf/winrt_windows_devices_enumeration-2.3.0.tar.gz", hash = "sha256:a14078aac41432781acb0c950fcdcdeb096e2f80f7591a3d46435f30221fc3eb", size = 19943 } +sdist = { url = "https://files.pythonhosted.org/packages/5f/74/aed7249ee138db3bc425913d3c0a0c7db42bdc97b0d2bf5da134cfc919cf/winrt_windows_devices_enumeration-2.3.0.tar.gz", hash = "sha256:a14078aac41432781acb0c950fcdcdeb096e2f80f7591a3d46435f30221fc3eb", size = 19943, upload-time = "2024-10-20T04:15:39.876Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/25/4f/a20c0d8aa2a75a308c3271a31a87676312e3a627a4e62a628c6a49a849e1/winrt_Windows.Devices.Enumeration-2.3.0-cp310-cp310-win32.whl", hash = "sha256:461360ab47967f39721e71276fdcfe87ad2f71ba7b09d721f2f88bcdf16a6924", size = 113799 }, - { url = "https://files.pythonhosted.org/packages/01/2b/399f888c593132880359e1dde5eaafbeb8eced2f456da9ccc006405069b2/winrt_Windows.Devices.Enumeration-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:a7d7b01d43d5dcc1f3846db12f4c552155efae75469f36052623faed7f0f74a8", size = 131932 }, - { url = "https://files.pythonhosted.org/packages/b3/1c/25030c0433212f1de4f8547bee02f1ff8bcf69a6ee387e5908385721c705/winrt_Windows.Devices.Enumeration-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:6478fbe6f45172a9911c15b061ec9b0f30c9f4845ba3fd1e9e1bb78c1fb691c4", size = 121944 }, - { url = "https://files.pythonhosted.org/packages/22/b0/84e6186b20f1842d67d857bc59ce1b86d148c6a2fe885c49beb9caa9db81/winrt_Windows.Devices.Enumeration-2.3.0-cp311-cp311-win32.whl", hash = "sha256:30be5cba8e9e81ea8dd514ba1300b5bb14ad7cc4e32efe908ddddd14c73e7f61", size = 113746 }, - { url = "https://files.pythonhosted.org/packages/da/4e/bc5531ca1e2fd16ab9b565d009644678c0022471c299e278d4862b337dbc/winrt_Windows.Devices.Enumeration-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:86c2a1865e0a0146dd4f51f17e3d773d3e6732742f61838c05061f28738c6dbd", size = 131926 }, - { url = "https://files.pythonhosted.org/packages/19/ac/962f5f1bebf8874b6f9d83c296eda4b40ef7cc1682d5821e8c5334121915/winrt_Windows.Devices.Enumeration-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:1b50d9304e49a9f04bc8139831b75be968ff19a1f50529d5eb0081dae2103d92", size = 121920 }, - { url = "https://files.pythonhosted.org/packages/5f/9b/e72a1b250d3405c0e582cea24dbe145e860ce6dc99de99dc2548df3b227a/winrt_Windows.Devices.Enumeration-2.3.0-cp312-cp312-win32.whl", hash = "sha256:42ed0349f0290a1b0a101425a06196c5d5db1240db6f8bd7d2204f23c48d727b", size = 114104 }, - { url = "https://files.pythonhosted.org/packages/66/93/2bd286c7d1ba875248e1265788257e7c61b94b4ccea4eca2480526d2f468/winrt_Windows.Devices.Enumeration-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:83e385fbf85b9511699d33c659673611f42b98bd3a554a85b377a34cc3b68b2e", size = 132060 }, - { url = "https://files.pythonhosted.org/packages/e9/2d/67d13dc73063bd72171ec5af37069796bebae0f8e5fa607928843da09cd5/winrt_Windows.Devices.Enumeration-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:26f855caee61c12449c6b07e22ea1ad470f8daa24223d8581e1fe622c70b48a8", size = 121697 }, - { url = "https://files.pythonhosted.org/packages/ae/fa/3e654fba4c48fed2776ee023b690fe9eebf4e345a52f21a2358f30397deb/winrt_Windows.Devices.Enumeration-2.3.0-cp313-cp313-win32.whl", hash = "sha256:a5f2cff6ee584e5627a2246bdbcd1b3a3fd1e7ae0741f62c59f7d5a5650d5791", size = 114111 }, - { url = "https://files.pythonhosted.org/packages/98/0e/b946508e7a0dfc5c07bbab0860b2f30711a6f1c1d9999e3ab889b8024c5d/winrt_Windows.Devices.Enumeration-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:7516171521aa383ccdc8f422cc202979a2359d0d1256f22852bfb0b55d9154f0", size = 132059 }, - { url = "https://files.pythonhosted.org/packages/1e/d1/564b0c7ea461351f0101c50880d959cdbdfc443cb89559d819cb3d854f7a/winrt_Windows.Devices.Enumeration-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:80d01dfffe4b548439242f3f7a737189354768b203cca023dc29b267dfe5595a", size = 121739 }, - { url = "https://files.pythonhosted.org/packages/08/59/c6291fb23b9ac52a69db18afd8fa6e0be7c44a659f39de864f826795c024/winrt_Windows.Devices.Enumeration-2.3.0-cp39-cp39-win32.whl", hash = "sha256:990a375cd8edc2d30b939a49dcc1349ede3a4b8e4da78baf0de5e5711d3a4f00", size = 114099 }, - { url = "https://files.pythonhosted.org/packages/ab/3c/5b8ac1019fc9b10ca9bc0eabb48cd1ac52cfb0c27a2e517bc26f8e76f549/winrt_Windows.Devices.Enumeration-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:2e7bedf0eac2066d7d37b1d34071b95bb57024e9e083867be1d24e916e012ac0", size = 132618 }, - { url = "https://files.pythonhosted.org/packages/46/db/33765af733e669ea1491afa1d2b1eaa4ecc5bf10a09034794acc615b0403/winrt_Windows.Devices.Enumeration-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:c53b673b80ba794f1c1320a5e0a14d795193c3f64b8132ebafba2f49c7301c2f", size = 121881 }, + { url = "https://files.pythonhosted.org/packages/25/4f/a20c0d8aa2a75a308c3271a31a87676312e3a627a4e62a628c6a49a849e1/winrt_Windows.Devices.Enumeration-2.3.0-cp310-cp310-win32.whl", hash = "sha256:461360ab47967f39721e71276fdcfe87ad2f71ba7b09d721f2f88bcdf16a6924", size = 113799, upload-time = "2024-10-20T02:58:08.076Z" }, + { url = "https://files.pythonhosted.org/packages/01/2b/399f888c593132880359e1dde5eaafbeb8eced2f456da9ccc006405069b2/winrt_Windows.Devices.Enumeration-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:a7d7b01d43d5dcc1f3846db12f4c552155efae75469f36052623faed7f0f74a8", size = 131932, upload-time = "2024-10-20T02:58:09.219Z" }, + { url = "https://files.pythonhosted.org/packages/b3/1c/25030c0433212f1de4f8547bee02f1ff8bcf69a6ee387e5908385721c705/winrt_Windows.Devices.Enumeration-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:6478fbe6f45172a9911c15b061ec9b0f30c9f4845ba3fd1e9e1bb78c1fb691c4", size = 121944, upload-time = "2024-10-20T02:58:10.656Z" }, + { url = "https://files.pythonhosted.org/packages/22/b0/84e6186b20f1842d67d857bc59ce1b86d148c6a2fe885c49beb9caa9db81/winrt_Windows.Devices.Enumeration-2.3.0-cp311-cp311-win32.whl", hash = "sha256:30be5cba8e9e81ea8dd514ba1300b5bb14ad7cc4e32efe908ddddd14c73e7f61", size = 113746, upload-time = "2024-10-20T02:58:11.68Z" }, + { url = "https://files.pythonhosted.org/packages/da/4e/bc5531ca1e2fd16ab9b565d009644678c0022471c299e278d4862b337dbc/winrt_Windows.Devices.Enumeration-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:86c2a1865e0a0146dd4f51f17e3d773d3e6732742f61838c05061f28738c6dbd", size = 131926, upload-time = "2024-10-20T02:58:12.752Z" }, + { url = "https://files.pythonhosted.org/packages/19/ac/962f5f1bebf8874b6f9d83c296eda4b40ef7cc1682d5821e8c5334121915/winrt_Windows.Devices.Enumeration-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:1b50d9304e49a9f04bc8139831b75be968ff19a1f50529d5eb0081dae2103d92", size = 121920, upload-time = "2024-10-20T02:58:13.803Z" }, + { url = "https://files.pythonhosted.org/packages/5f/9b/e72a1b250d3405c0e582cea24dbe145e860ce6dc99de99dc2548df3b227a/winrt_Windows.Devices.Enumeration-2.3.0-cp312-cp312-win32.whl", hash = "sha256:42ed0349f0290a1b0a101425a06196c5d5db1240db6f8bd7d2204f23c48d727b", size = 114104, upload-time = "2024-10-20T02:58:14.806Z" }, + { url = "https://files.pythonhosted.org/packages/66/93/2bd286c7d1ba875248e1265788257e7c61b94b4ccea4eca2480526d2f468/winrt_Windows.Devices.Enumeration-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:83e385fbf85b9511699d33c659673611f42b98bd3a554a85b377a34cc3b68b2e", size = 132060, upload-time = "2024-10-20T02:58:15.898Z" }, + { url = "https://files.pythonhosted.org/packages/e9/2d/67d13dc73063bd72171ec5af37069796bebae0f8e5fa607928843da09cd5/winrt_Windows.Devices.Enumeration-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:26f855caee61c12449c6b07e22ea1ad470f8daa24223d8581e1fe622c70b48a8", size = 121697, upload-time = "2024-10-20T02:58:16.934Z" }, + { url = "https://files.pythonhosted.org/packages/ae/fa/3e654fba4c48fed2776ee023b690fe9eebf4e345a52f21a2358f30397deb/winrt_Windows.Devices.Enumeration-2.3.0-cp313-cp313-win32.whl", hash = "sha256:a5f2cff6ee584e5627a2246bdbcd1b3a3fd1e7ae0741f62c59f7d5a5650d5791", size = 114111, upload-time = "2024-10-20T02:58:17.957Z" }, + { url = "https://files.pythonhosted.org/packages/98/0e/b946508e7a0dfc5c07bbab0860b2f30711a6f1c1d9999e3ab889b8024c5d/winrt_Windows.Devices.Enumeration-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:7516171521aa383ccdc8f422cc202979a2359d0d1256f22852bfb0b55d9154f0", size = 132059, upload-time = "2024-10-20T02:58:19.034Z" }, + { url = "https://files.pythonhosted.org/packages/1e/d1/564b0c7ea461351f0101c50880d959cdbdfc443cb89559d819cb3d854f7a/winrt_Windows.Devices.Enumeration-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:80d01dfffe4b548439242f3f7a737189354768b203cca023dc29b267dfe5595a", size = 121739, upload-time = "2024-10-20T02:58:20.063Z" }, + { url = "https://files.pythonhosted.org/packages/08/59/c6291fb23b9ac52a69db18afd8fa6e0be7c44a659f39de864f826795c024/winrt_Windows.Devices.Enumeration-2.3.0-cp39-cp39-win32.whl", hash = "sha256:990a375cd8edc2d30b939a49dcc1349ede3a4b8e4da78baf0de5e5711d3a4f00", size = 114099, upload-time = "2024-10-20T02:58:21.512Z" }, + { url = "https://files.pythonhosted.org/packages/ab/3c/5b8ac1019fc9b10ca9bc0eabb48cd1ac52cfb0c27a2e517bc26f8e76f549/winrt_Windows.Devices.Enumeration-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:2e7bedf0eac2066d7d37b1d34071b95bb57024e9e083867be1d24e916e012ac0", size = 132618, upload-time = "2024-10-20T02:58:22.579Z" }, + { url = "https://files.pythonhosted.org/packages/46/db/33765af733e669ea1491afa1d2b1eaa4ecc5bf10a09034794acc615b0403/winrt_Windows.Devices.Enumeration-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:c53b673b80ba794f1c1320a5e0a14d795193c3f64b8132ebafba2f49c7301c2f", size = 121881, upload-time = "2024-10-20T02:58:24.275Z" }, ] [[package]] @@ -1605,23 +1655,23 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "winrt-runtime", marker = "python_full_version >= '3.12'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/55/7f/93fd748713622d999c5ae71fe66441c6d63b7b826285555e68807481222c/winrt_windows_foundation-2.3.0.tar.gz", hash = "sha256:c5766f011c8debbe89b460af4a97d026ca252144e62d7278c9c79c5581ea0c02", size = 22594 } +sdist = { url = "https://files.pythonhosted.org/packages/55/7f/93fd748713622d999c5ae71fe66441c6d63b7b826285555e68807481222c/winrt_windows_foundation-2.3.0.tar.gz", hash = "sha256:c5766f011c8debbe89b460af4a97d026ca252144e62d7278c9c79c5581ea0c02", size = 22594, upload-time = "2024-10-20T04:16:09.773Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9a/b0/0f0eca4cd09f331c8b0982e9a81319068b59df8cbaf3e5d93d8187a76adb/winrt_Windows.Foundation-2.3.0-cp310-cp310-win32.whl", hash = "sha256:ea7b0e82be5c05690fedaf0dac5aa5e5fefd7ebf90b1497e5993197d305d916d", size = 85735 }, - { url = "https://files.pythonhosted.org/packages/17/8a/6b0eccfe4e3b97dcebc353801c1db785dd1c06de3bb4fd1d5541ac1cb6e8/winrt_Windows.Foundation-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:6807dd40f8ecd6403679f6eae0db81674fdcf33768d08fdee66e0a17b7a02515", size = 99450 }, - { url = "https://files.pythonhosted.org/packages/1a/f2/d753626b27a7004fb5d9d423d0f9437ff0ba525f9b45ff0322cc70ae98d4/winrt_Windows.Foundation-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:0a861815e97ace82583210c03cf800507b0c3a97edd914bfffa5f88de1fbafcc", size = 86883 }, - { url = "https://files.pythonhosted.org/packages/45/3d/91f5afe1d1f112793e17db2d20c1308f0549d5ad01bcf49d84eafcb81cdd/winrt_Windows.Foundation-2.3.0-cp311-cp311-win32.whl", hash = "sha256:c79b3d9384128b6b28c2483b4600f15c5d32c1f6646f9d77fdb3ee9bbaef6f81", size = 85697 }, - { url = "https://files.pythonhosted.org/packages/d2/78/e312bfab3831cad54f7a3618106c07e936317e3e974da9cce7acd35b836d/winrt_Windows.Foundation-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:fdd9c4914070dc598f5961d9c7571dd7d745f5cc60347603bf39d6ee921bd85c", size = 99525 }, - { url = "https://files.pythonhosted.org/packages/29/7d/663f1e2fbc920bc86b4d12b454a013d4c5cccabcd77036af5865db1c9a99/winrt_Windows.Foundation-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:62bbb0ffa273551d33fd533d6e09b6f9f633dc214225d483722af47d2525fb84", size = 86931 }, - { url = "https://files.pythonhosted.org/packages/99/76/7844a78bca3d6084980c5ed1f3ec890d34a5af11b034da444a139ef0b81c/winrt_Windows.Foundation-2.3.0-cp312-cp312-win32.whl", hash = "sha256:d36f472ac258e79eee6061e1bb4ce50bfd200f9271392d23479c800ca6aee8d1", size = 85754 }, - { url = "https://files.pythonhosted.org/packages/25/ea/fe75d742284b3c292723f60d41e54591df9d1989266bceb5b70b4f17d383/winrt_Windows.Foundation-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:8de9b5e95a3fdabdb45b1952e05355dd5a678f80bf09a54d9f966dccc805b383", size = 100135 }, - { url = "https://files.pythonhosted.org/packages/65/ae/c0ea1864a8ee48617d7c12029e38a9935dd952d090e02b6d5cb98014d5b1/winrt_Windows.Foundation-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:37da09c08c9c772baedb1958e5ee116fe63809f33c6820c69750f340b3dda292", size = 86636 }, - { url = "https://files.pythonhosted.org/packages/d7/a0/a7d21584cac23961acaa359398ae3f5ad5d1a35b98e3be9c130634c226f8/winrt_Windows.Foundation-2.3.0-cp313-cp313-win32.whl", hash = "sha256:2b00fad3f2a3859ccae41eee12ab44434813a371c2f3003b4f2419e5eecb4832", size = 85760 }, - { url = "https://files.pythonhosted.org/packages/07/fe/2553025e5d1cf880b272d15ae43c5014c74687bfc041d4260d069f5357f3/winrt_Windows.Foundation-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:686619932b2a2c689cbebc7f5196437a45fd2056656ef130bb10240bb111086a", size = 100140 }, - { url = "https://files.pythonhosted.org/packages/ab/b7/94ed1b3d5341115a7f5dab8fff7b22695ae8779ece94ce9b2d9608d47478/winrt_Windows.Foundation-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:b38dcb83fe82a7da9a57d7d5ad5deb09503b5be6d9357a9fd3016ca31673805d", size = 86641 }, - { url = "https://files.pythonhosted.org/packages/d5/99/cdf8a3c431fec498795524cc7366970862a38eeeb3b16d2489dfb091e011/winrt_Windows.Foundation-2.3.0-cp39-cp39-win32.whl", hash = "sha256:2d6922de4dc38061b86d314c7319d7c6bd78a52d64ee0c93eb81474bddb499bc", size = 85900 }, - { url = "https://files.pythonhosted.org/packages/41/d4/65de7f7b2df0a465fb3c145773787a6d40e1a10ccd8bd7512287b7bd7415/winrt_Windows.Foundation-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:1513e43adff3779d2f611d8bdf9350ac1a7c04389e9e6b1d777c5cd54f46e4fc", size = 99727 }, - { url = "https://files.pythonhosted.org/packages/4f/94/f116bb10690d763bf2e338f4d1a6e28bae72d4ec885cbbf3d74b24b4ce0f/winrt_Windows.Foundation-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:c811e4a4f79b947fbbb50f74d34ef6840dd2dd26e0199bd61a4185e48c6a84a8", size = 86958 }, + { url = "https://files.pythonhosted.org/packages/9a/b0/0f0eca4cd09f331c8b0982e9a81319068b59df8cbaf3e5d93d8187a76adb/winrt_Windows.Foundation-2.3.0-cp310-cp310-win32.whl", hash = "sha256:ea7b0e82be5c05690fedaf0dac5aa5e5fefd7ebf90b1497e5993197d305d916d", size = 85735, upload-time = "2024-10-20T03:09:05.642Z" }, + { url = "https://files.pythonhosted.org/packages/17/8a/6b0eccfe4e3b97dcebc353801c1db785dd1c06de3bb4fd1d5541ac1cb6e8/winrt_Windows.Foundation-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:6807dd40f8ecd6403679f6eae0db81674fdcf33768d08fdee66e0a17b7a02515", size = 99450, upload-time = "2024-10-20T03:09:06.744Z" }, + { url = "https://files.pythonhosted.org/packages/1a/f2/d753626b27a7004fb5d9d423d0f9437ff0ba525f9b45ff0322cc70ae98d4/winrt_Windows.Foundation-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:0a861815e97ace82583210c03cf800507b0c3a97edd914bfffa5f88de1fbafcc", size = 86883, upload-time = "2024-10-20T03:09:07.767Z" }, + { url = "https://files.pythonhosted.org/packages/45/3d/91f5afe1d1f112793e17db2d20c1308f0549d5ad01bcf49d84eafcb81cdd/winrt_Windows.Foundation-2.3.0-cp311-cp311-win32.whl", hash = "sha256:c79b3d9384128b6b28c2483b4600f15c5d32c1f6646f9d77fdb3ee9bbaef6f81", size = 85697, upload-time = "2024-10-20T03:09:08.767Z" }, + { url = "https://files.pythonhosted.org/packages/d2/78/e312bfab3831cad54f7a3618106c07e936317e3e974da9cce7acd35b836d/winrt_Windows.Foundation-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:fdd9c4914070dc598f5961d9c7571dd7d745f5cc60347603bf39d6ee921bd85c", size = 99525, upload-time = "2024-10-20T03:09:09.811Z" }, + { url = "https://files.pythonhosted.org/packages/29/7d/663f1e2fbc920bc86b4d12b454a013d4c5cccabcd77036af5865db1c9a99/winrt_Windows.Foundation-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:62bbb0ffa273551d33fd533d6e09b6f9f633dc214225d483722af47d2525fb84", size = 86931, upload-time = "2024-10-20T03:09:10.807Z" }, + { url = "https://files.pythonhosted.org/packages/99/76/7844a78bca3d6084980c5ed1f3ec890d34a5af11b034da444a139ef0b81c/winrt_Windows.Foundation-2.3.0-cp312-cp312-win32.whl", hash = "sha256:d36f472ac258e79eee6061e1bb4ce50bfd200f9271392d23479c800ca6aee8d1", size = 85754, upload-time = "2024-10-20T03:09:11.773Z" }, + { url = "https://files.pythonhosted.org/packages/25/ea/fe75d742284b3c292723f60d41e54591df9d1989266bceb5b70b4f17d383/winrt_Windows.Foundation-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:8de9b5e95a3fdabdb45b1952e05355dd5a678f80bf09a54d9f966dccc805b383", size = 100135, upload-time = "2024-10-20T03:09:12.796Z" }, + { url = "https://files.pythonhosted.org/packages/65/ae/c0ea1864a8ee48617d7c12029e38a9935dd952d090e02b6d5cb98014d5b1/winrt_Windows.Foundation-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:37da09c08c9c772baedb1958e5ee116fe63809f33c6820c69750f340b3dda292", size = 86636, upload-time = "2024-10-20T03:09:13.753Z" }, + { url = "https://files.pythonhosted.org/packages/d7/a0/a7d21584cac23961acaa359398ae3f5ad5d1a35b98e3be9c130634c226f8/winrt_Windows.Foundation-2.3.0-cp313-cp313-win32.whl", hash = "sha256:2b00fad3f2a3859ccae41eee12ab44434813a371c2f3003b4f2419e5eecb4832", size = 85760, upload-time = "2024-10-20T03:09:14.716Z" }, + { url = "https://files.pythonhosted.org/packages/07/fe/2553025e5d1cf880b272d15ae43c5014c74687bfc041d4260d069f5357f3/winrt_Windows.Foundation-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:686619932b2a2c689cbebc7f5196437a45fd2056656ef130bb10240bb111086a", size = 100140, upload-time = "2024-10-20T03:09:15.818Z" }, + { url = "https://files.pythonhosted.org/packages/ab/b7/94ed1b3d5341115a7f5dab8fff7b22695ae8779ece94ce9b2d9608d47478/winrt_Windows.Foundation-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:b38dcb83fe82a7da9a57d7d5ad5deb09503b5be6d9357a9fd3016ca31673805d", size = 86641, upload-time = "2024-10-20T03:09:16.905Z" }, + { url = "https://files.pythonhosted.org/packages/d5/99/cdf8a3c431fec498795524cc7366970862a38eeeb3b16d2489dfb091e011/winrt_Windows.Foundation-2.3.0-cp39-cp39-win32.whl", hash = "sha256:2d6922de4dc38061b86d314c7319d7c6bd78a52d64ee0c93eb81474bddb499bc", size = 85900, upload-time = "2024-10-20T03:09:17.912Z" }, + { url = "https://files.pythonhosted.org/packages/41/d4/65de7f7b2df0a465fb3c145773787a6d40e1a10ccd8bd7512287b7bd7415/winrt_Windows.Foundation-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:1513e43adff3779d2f611d8bdf9350ac1a7c04389e9e6b1d777c5cd54f46e4fc", size = 99727, upload-time = "2024-10-20T03:09:18.985Z" }, + { url = "https://files.pythonhosted.org/packages/4f/94/f116bb10690d763bf2e338f4d1a6e28bae72d4ec885cbbf3d74b24b4ce0f/winrt_Windows.Foundation-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:c811e4a4f79b947fbbb50f74d34ef6840dd2dd26e0199bd61a4185e48c6a84a8", size = 86958, upload-time = "2024-10-20T03:09:20.057Z" }, ] [[package]] @@ -1631,23 +1681,23 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "winrt-runtime", marker = "python_full_version >= '3.12'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/59/fc/a8687fb0095471b0db29f6c921a8eb971f55ab79e1ccb5bcd01bf1b4baba/winrt_windows_foundation_collections-2.3.0.tar.gz", hash = "sha256:15c997fd6b64ef0400a619319ea3c6851c9c24e31d51b6448ba9bac3616d25a0", size = 12932 } +sdist = { url = "https://files.pythonhosted.org/packages/59/fc/a8687fb0095471b0db29f6c921a8eb971f55ab79e1ccb5bcd01bf1b4baba/winrt_windows_foundation_collections-2.3.0.tar.gz", hash = "sha256:15c997fd6b64ef0400a619319ea3c6851c9c24e31d51b6448ba9bac3616d25a0", size = 12932, upload-time = "2024-10-20T04:16:10.555Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fb/af/2549e23fd98b6155a75dc9896d16b0d95ec405051d7fb085d2d67c7fb3db/winrt_Windows.Foundation.Collections-2.3.0-cp310-cp310-win32.whl", hash = "sha256:d2fca59eef9582a33c2797b1fda1d5757d66827cc34e6fc1d1c94a5875c4c043", size = 51358 }, - { url = "https://files.pythonhosted.org/packages/b1/2a/44b0fdeec166174c2871d6500bcff577ffaf6f43c92dad03c1ac8a57939e/winrt_Windows.Foundation.Collections-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:d14b47d9137aebad71aa4fde5892673f2fa326f5f4799378cb9f6158b07a9824", size = 60713 }, - { url = "https://files.pythonhosted.org/packages/94/2e/56b9aef4d3f89627ee5b8af5eca4ead0e201df804e5d484c06d761b1246a/winrt_Windows.Foundation.Collections-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:cca5398a4522dffd76decf64a28368cda67e81dc01cad35a9f39cc351af69bdd", size = 52476 }, - { url = "https://files.pythonhosted.org/packages/4a/11/2905a6c48c9c8122b54dd008db6e342494ffcf01bbd8794371ad5da7ee21/winrt_Windows.Foundation.Collections-2.3.0-cp311-cp311-win32.whl", hash = "sha256:3808af64c95a9b464e8e97f6bec57a8b22168185f1c893f30de69aaf48c85b17", size = 51195 }, - { url = "https://files.pythonhosted.org/packages/e3/5d/4c315abf1cdef3ff3f50d80d722576d85c79ffc6b48dc4adb65cacfc971d/winrt_Windows.Foundation.Collections-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:1e9a3842a39feb965545124abfe79ed726adc5a1fc6a192470a3c5d3ec3f7a74", size = 60649 }, - { url = "https://files.pythonhosted.org/packages/6a/83/5c987b21d4e66f06ac63dbcf17f92b06a8b556c8d83aa8a10ce24b62ab76/winrt_Windows.Foundation.Collections-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:751c2a68fef080dfe0af892ef4cebf317844e4baa786e979028757fe2740fba4", size = 52404 }, - { url = "https://files.pythonhosted.org/packages/ec/a8/c826415e59acc7e12b1b10397e217a2025814c4823ac74a9e0a8f8887baf/winrt_Windows.Foundation.Collections-2.3.0-cp312-cp312-win32.whl", hash = "sha256:498c1fc403d3dc7a091aaac92af471615de4f9550d544347cb3b169c197183b5", size = 51199 }, - { url = "https://files.pythonhosted.org/packages/ed/cb/a17ba9fc5cca07acc9bcb62816da11468fe1f333622dd3d79a2f6ab3fd1e/winrt_Windows.Foundation.Collections-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:4d1b1cacc159f38d8e6b662f6e7a5c41879a36aa7434c1580d7f948c9037419e", size = 60738 }, - { url = "https://files.pythonhosted.org/packages/e9/05/d21b20759103c7b02e404ce255f81bff9a89129868cb237647ac3128960b/winrt_Windows.Foundation.Collections-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:398d93b76a2cf70d5e75c1f802e1dd856501e63bc9a31f4510ac59f718951b9e", size = 52488 }, - { url = "https://files.pythonhosted.org/packages/ea/00/aef792aa5434c7bd69161606c7c001bba6d38a2759dc2112c19f548ea187/winrt_Windows.Foundation.Collections-2.3.0-cp313-cp313-win32.whl", hash = "sha256:1e5f1637e0919c7bb5b11ba1eebbd43bc0ad9600cf887b59fcece0f8a6c0eac3", size = 51201 }, - { url = "https://files.pythonhosted.org/packages/e6/cf/dbca5e255ad05a162f82ad0f8dba7cdf91ebaf78b955f056b8fc98ead448/winrt_Windows.Foundation.Collections-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:c809a70bc0f93d53c7289a0a86d8869740e09fff0c57318a14401f5c17e0b912", size = 60736 }, - { url = "https://files.pythonhosted.org/packages/55/84/6e3a75da245964461b3e6ac5a9db7d596fbbe8cf13bf771b4264c2c93ba6/winrt_Windows.Foundation.Collections-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:269942fe86af06293a2676c8b2dcd5cb1d8ddfe1b5244f11c16e48ae0a5d100f", size = 52492 }, - { url = "https://files.pythonhosted.org/packages/42/1f/77683cbbe24bd082f69437315bc36c7627ea7f88a4f20516c2e48ce795ff/winrt_Windows.Foundation.Collections-2.3.0-cp39-cp39-win32.whl", hash = "sha256:936b1c5720b564ec699673198addee97f3bdb790622d24c8fd1b346a9767717c", size = 51383 }, - { url = "https://files.pythonhosted.org/packages/e1/27/5d97805bd203780907a98b2ca6d27c045059fae5d94d5f406f8862e5b1de/winrt_Windows.Foundation.Collections-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:905a6ac9cd6b51659a9bba08cf44cfc925f528ef34cdd9c3a6c2632e97804a96", size = 60913 }, - { url = "https://files.pythonhosted.org/packages/af/c0/e0761c619fac825ed36e1f6e69dee505a4e98fc754ebf733e3ef997938b3/winrt_Windows.Foundation.Collections-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:1d6eac85976bd831e1b8cc479d7f14afa51c27cec5a38e2540077d3400cbd3ef", size = 52491 }, + { url = "https://files.pythonhosted.org/packages/fb/af/2549e23fd98b6155a75dc9896d16b0d95ec405051d7fb085d2d67c7fb3db/winrt_Windows.Foundation.Collections-2.3.0-cp310-cp310-win32.whl", hash = "sha256:d2fca59eef9582a33c2797b1fda1d5757d66827cc34e6fc1d1c94a5875c4c043", size = 51358, upload-time = "2024-10-20T03:09:21.05Z" }, + { url = "https://files.pythonhosted.org/packages/b1/2a/44b0fdeec166174c2871d6500bcff577ffaf6f43c92dad03c1ac8a57939e/winrt_Windows.Foundation.Collections-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:d14b47d9137aebad71aa4fde5892673f2fa326f5f4799378cb9f6158b07a9824", size = 60713, upload-time = "2024-10-20T03:09:22.41Z" }, + { url = "https://files.pythonhosted.org/packages/94/2e/56b9aef4d3f89627ee5b8af5eca4ead0e201df804e5d484c06d761b1246a/winrt_Windows.Foundation.Collections-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:cca5398a4522dffd76decf64a28368cda67e81dc01cad35a9f39cc351af69bdd", size = 52476, upload-time = "2024-10-20T03:09:23.408Z" }, + { url = "https://files.pythonhosted.org/packages/4a/11/2905a6c48c9c8122b54dd008db6e342494ffcf01bbd8794371ad5da7ee21/winrt_Windows.Foundation.Collections-2.3.0-cp311-cp311-win32.whl", hash = "sha256:3808af64c95a9b464e8e97f6bec57a8b22168185f1c893f30de69aaf48c85b17", size = 51195, upload-time = "2024-10-20T03:09:24.439Z" }, + { url = "https://files.pythonhosted.org/packages/e3/5d/4c315abf1cdef3ff3f50d80d722576d85c79ffc6b48dc4adb65cacfc971d/winrt_Windows.Foundation.Collections-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:1e9a3842a39feb965545124abfe79ed726adc5a1fc6a192470a3c5d3ec3f7a74", size = 60649, upload-time = "2024-10-20T03:09:25.437Z" }, + { url = "https://files.pythonhosted.org/packages/6a/83/5c987b21d4e66f06ac63dbcf17f92b06a8b556c8d83aa8a10ce24b62ab76/winrt_Windows.Foundation.Collections-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:751c2a68fef080dfe0af892ef4cebf317844e4baa786e979028757fe2740fba4", size = 52404, upload-time = "2024-10-20T03:09:26.422Z" }, + { url = "https://files.pythonhosted.org/packages/ec/a8/c826415e59acc7e12b1b10397e217a2025814c4823ac74a9e0a8f8887baf/winrt_Windows.Foundation.Collections-2.3.0-cp312-cp312-win32.whl", hash = "sha256:498c1fc403d3dc7a091aaac92af471615de4f9550d544347cb3b169c197183b5", size = 51199, upload-time = "2024-10-20T03:09:27.947Z" }, + { url = "https://files.pythonhosted.org/packages/ed/cb/a17ba9fc5cca07acc9bcb62816da11468fe1f333622dd3d79a2f6ab3fd1e/winrt_Windows.Foundation.Collections-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:4d1b1cacc159f38d8e6b662f6e7a5c41879a36aa7434c1580d7f948c9037419e", size = 60738, upload-time = "2024-10-20T03:09:28.904Z" }, + { url = "https://files.pythonhosted.org/packages/e9/05/d21b20759103c7b02e404ce255f81bff9a89129868cb237647ac3128960b/winrt_Windows.Foundation.Collections-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:398d93b76a2cf70d5e75c1f802e1dd856501e63bc9a31f4510ac59f718951b9e", size = 52488, upload-time = "2024-10-20T03:09:29.895Z" }, + { url = "https://files.pythonhosted.org/packages/ea/00/aef792aa5434c7bd69161606c7c001bba6d38a2759dc2112c19f548ea187/winrt_Windows.Foundation.Collections-2.3.0-cp313-cp313-win32.whl", hash = "sha256:1e5f1637e0919c7bb5b11ba1eebbd43bc0ad9600cf887b59fcece0f8a6c0eac3", size = 51201, upload-time = "2024-10-20T03:09:31.434Z" }, + { url = "https://files.pythonhosted.org/packages/e6/cf/dbca5e255ad05a162f82ad0f8dba7cdf91ebaf78b955f056b8fc98ead448/winrt_Windows.Foundation.Collections-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:c809a70bc0f93d53c7289a0a86d8869740e09fff0c57318a14401f5c17e0b912", size = 60736, upload-time = "2024-10-20T03:09:32.838Z" }, + { url = "https://files.pythonhosted.org/packages/55/84/6e3a75da245964461b3e6ac5a9db7d596fbbe8cf13bf771b4264c2c93ba6/winrt_Windows.Foundation.Collections-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:269942fe86af06293a2676c8b2dcd5cb1d8ddfe1b5244f11c16e48ae0a5d100f", size = 52492, upload-time = "2024-10-20T03:09:33.831Z" }, + { url = "https://files.pythonhosted.org/packages/42/1f/77683cbbe24bd082f69437315bc36c7627ea7f88a4f20516c2e48ce795ff/winrt_Windows.Foundation.Collections-2.3.0-cp39-cp39-win32.whl", hash = "sha256:936b1c5720b564ec699673198addee97f3bdb790622d24c8fd1b346a9767717c", size = 51383, upload-time = "2024-10-20T03:09:34.813Z" }, + { url = "https://files.pythonhosted.org/packages/e1/27/5d97805bd203780907a98b2ca6d27c045059fae5d94d5f406f8862e5b1de/winrt_Windows.Foundation.Collections-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:905a6ac9cd6b51659a9bba08cf44cfc925f528ef34cdd9c3a6c2632e97804a96", size = 60913, upload-time = "2024-10-20T03:09:35.857Z" }, + { url = "https://files.pythonhosted.org/packages/af/c0/e0761c619fac825ed36e1f6e69dee505a4e98fc754ebf733e3ef997938b3/winrt_Windows.Foundation.Collections-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:1d6eac85976bd831e1b8cc479d7f14afa51c27cec5a38e2540077d3400cbd3ef", size = 52491, upload-time = "2024-10-20T03:09:36.827Z" }, ] [[package]] @@ -1657,129 +1707,146 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "winrt-runtime", marker = "python_full_version >= '3.12'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/0c/07/5872ee6f9615a58820379ade122b28ff46b4227eee2232a22083a0ce7516/winrt_windows_storage_streams-2.3.0.tar.gz", hash = "sha256:d2c010beeb1dd7c135ed67ecfaea13440474a7c469e2e9aa2852db27d2063d44", size = 23581 } +sdist = { url = "https://files.pythonhosted.org/packages/0c/07/5872ee6f9615a58820379ade122b28ff46b4227eee2232a22083a0ce7516/winrt_windows_storage_streams-2.3.0.tar.gz", hash = "sha256:d2c010beeb1dd7c135ed67ecfaea13440474a7c469e2e9aa2852db27d2063d44", size = 23581, upload-time = "2024-10-20T04:18:05.084Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/71/80/b794af5c5e839aff29799222c2d5e4c9465ce463ca698a8162a88e0d09df/winrt_Windows.Storage.Streams-2.3.0-cp310-cp310-win32.whl", hash = "sha256:2c0901aee1232e92ed9320644b853d7801a0bdb87790164d56e961cd39910f07", size = 95958 }, - { url = "https://files.pythonhosted.org/packages/85/64/7916111ceb0710623acb9a1772bf9c5060b2028df430c415519a0a3b67fb/winrt_Windows.Storage.Streams-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:ba07dc25decffd29aa8603119629c167bd03fa274099e3bad331a4920c292b78", size = 108994 }, - { url = "https://files.pythonhosted.org/packages/21/b5/93e143087666887a971ede48e51ae5252d3e0f3276c69850706e63ba1d10/winrt_Windows.Storage.Streams-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:5b60b48460095c50a00a6f7f9b3b780f5bdcb1ec663fc09458201499f93e23ea", size = 103718 }, - { url = "https://files.pythonhosted.org/packages/73/08/0c98af6b1e2843a1043e8c4e02be851ed598bdef15f660fb8fa8d4355a65/winrt_Windows.Storage.Streams-2.3.0-cp311-cp311-win32.whl", hash = "sha256:8388f37759df64ceef1423ae7dd9275c8a6eb3b8245d400173b4916adc94b5ad", size = 95978 }, - { url = "https://files.pythonhosted.org/packages/69/c1/2bed5a680b23c6d831e07386e3651ac1d9a567faddc714027bf81d3d2b31/winrt_Windows.Storage.Streams-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:e5783dbe3694cc3deda594256ebb1088655386959bb834a6bfb7cd763ee87631", size = 110478 }, - { url = "https://files.pythonhosted.org/packages/2a/26/44ebbd289c79187be7ae869457617d6be06e3987c5b7106153d8674a86fe/winrt_Windows.Storage.Streams-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:0a487d19c73b82aafa3d5ef889bb35e6e8e2487ca4f16f5446f2445033d5219c", size = 103392 }, - { url = "https://files.pythonhosted.org/packages/dd/cd/70a986066ca94ec40e29fc689d795e8c488cbbf8df1e6d0b0b7ab0c4ebd7/winrt_Windows.Storage.Streams-2.3.0-cp312-cp312-win32.whl", hash = "sha256:272e87e6c74cb2832261ab33db7966a99e7a2400240cc4f8bf526a80ca054c68", size = 96013 }, - { url = "https://files.pythonhosted.org/packages/72/ea/5934fc1a3e8086c336d53ce91f63613d11ae8033b36dddb43bc2a459115a/winrt_Windows.Storage.Streams-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:997bf1a2d52c5f104b172947e571f27d9916a4409b4da592ec3e7f907848dd1a", size = 108629 }, - { url = "https://files.pythonhosted.org/packages/1d/ac/b688023e6c705a14207c60148c74e8fc1529b01142cd01587d3f2c63e8b9/winrt_Windows.Storage.Streams-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:d56daa00205c24ede6669d41eb70d6017e0202371d99f8ee2b0b31350ab59bd5", size = 103055 }, - { url = "https://files.pythonhosted.org/packages/a5/6f/1427f0240997dd2bd5c70ee2a129b6ee497deb6db1c519f2d4fe6af34b9f/winrt_Windows.Storage.Streams-2.3.0-cp313-cp313-win32.whl", hash = "sha256:7ac4e46fc5e21d8badc5d41779273c3f5e7196f1cf2df1959b6b70eca1d5d85f", size = 96000 }, - { url = "https://files.pythonhosted.org/packages/13/c1/8a673a0f7232caac6410373f492f0ebac73760f5e66996e75a2679923c40/winrt_Windows.Storage.Streams-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:1460027c94c107fcee484997494f3a400f08ee40396f010facb0e72b3b74c457", size = 108588 }, - { url = "https://files.pythonhosted.org/packages/24/72/2c0d42508109b563826d77e45ec5418b30140a33ffd9a5a420d5685c1b94/winrt_Windows.Storage.Streams-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:e4553a70f5264a7733596802a2991e2414cdcd5e396b9d11ee87be9abae9329e", size = 103050 }, - { url = "https://files.pythonhosted.org/packages/57/05/ee7481dfdb5b3b36e66e91ac278db2cea5a5a2da56ec1dbd176655f1c561/winrt_Windows.Storage.Streams-2.3.0-cp39-cp39-win32.whl", hash = "sha256:28e1117e23046e499831af16d11f5e61e6066ed6247ef58b93738702522c29b0", size = 96189 }, - { url = "https://files.pythonhosted.org/packages/45/8e/5ed7799680ad87e45cf9169cf29f34de24f1d678528d906191e1958ca6b0/winrt_Windows.Storage.Streams-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:5511dc578f92eb303aee4d3345ee4ffc88aa414564e43e0e3d84ff29427068f0", size = 109486 }, - { url = "https://files.pythonhosted.org/packages/f2/2e/b15feb390b7a9419def26db69d63cfd74fca56a10ecbdeb277bf6380c8dd/winrt_Windows.Storage.Streams-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:6f5b3f8af4df08f5bf9329373949236ffaef22d021070278795e56da5326a876", size = 103647 }, + { url = "https://files.pythonhosted.org/packages/71/80/b794af5c5e839aff29799222c2d5e4c9465ce463ca698a8162a88e0d09df/winrt_Windows.Storage.Streams-2.3.0-cp310-cp310-win32.whl", hash = "sha256:2c0901aee1232e92ed9320644b853d7801a0bdb87790164d56e961cd39910f07", size = 95958, upload-time = "2024-10-20T03:47:18.364Z" }, + { url = "https://files.pythonhosted.org/packages/85/64/7916111ceb0710623acb9a1772bf9c5060b2028df430c415519a0a3b67fb/winrt_Windows.Storage.Streams-2.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:ba07dc25decffd29aa8603119629c167bd03fa274099e3bad331a4920c292b78", size = 108994, upload-time = "2024-10-20T03:47:20.271Z" }, + { url = "https://files.pythonhosted.org/packages/21/b5/93e143087666887a971ede48e51ae5252d3e0f3276c69850706e63ba1d10/winrt_Windows.Storage.Streams-2.3.0-cp310-cp310-win_arm64.whl", hash = "sha256:5b60b48460095c50a00a6f7f9b3b780f5bdcb1ec663fc09458201499f93e23ea", size = 103718, upload-time = "2024-10-20T03:47:21.295Z" }, + { url = "https://files.pythonhosted.org/packages/73/08/0c98af6b1e2843a1043e8c4e02be851ed598bdef15f660fb8fa8d4355a65/winrt_Windows.Storage.Streams-2.3.0-cp311-cp311-win32.whl", hash = "sha256:8388f37759df64ceef1423ae7dd9275c8a6eb3b8245d400173b4916adc94b5ad", size = 95978, upload-time = "2024-10-20T03:47:22.589Z" }, + { url = "https://files.pythonhosted.org/packages/69/c1/2bed5a680b23c6d831e07386e3651ac1d9a567faddc714027bf81d3d2b31/winrt_Windows.Storage.Streams-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:e5783dbe3694cc3deda594256ebb1088655386959bb834a6bfb7cd763ee87631", size = 110478, upload-time = "2024-10-20T03:47:23.579Z" }, + { url = "https://files.pythonhosted.org/packages/2a/26/44ebbd289c79187be7ae869457617d6be06e3987c5b7106153d8674a86fe/winrt_Windows.Storage.Streams-2.3.0-cp311-cp311-win_arm64.whl", hash = "sha256:0a487d19c73b82aafa3d5ef889bb35e6e8e2487ca4f16f5446f2445033d5219c", size = 103392, upload-time = "2024-10-20T03:47:24.644Z" }, + { url = "https://files.pythonhosted.org/packages/dd/cd/70a986066ca94ec40e29fc689d795e8c488cbbf8df1e6d0b0b7ab0c4ebd7/winrt_Windows.Storage.Streams-2.3.0-cp312-cp312-win32.whl", hash = "sha256:272e87e6c74cb2832261ab33db7966a99e7a2400240cc4f8bf526a80ca054c68", size = 96013, upload-time = "2024-10-20T03:47:25.763Z" }, + { url = "https://files.pythonhosted.org/packages/72/ea/5934fc1a3e8086c336d53ce91f63613d11ae8033b36dddb43bc2a459115a/winrt_Windows.Storage.Streams-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:997bf1a2d52c5f104b172947e571f27d9916a4409b4da592ec3e7f907848dd1a", size = 108629, upload-time = "2024-10-20T03:47:26.875Z" }, + { url = "https://files.pythonhosted.org/packages/1d/ac/b688023e6c705a14207c60148c74e8fc1529b01142cd01587d3f2c63e8b9/winrt_Windows.Storage.Streams-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:d56daa00205c24ede6669d41eb70d6017e0202371d99f8ee2b0b31350ab59bd5", size = 103055, upload-time = "2024-10-20T03:47:27.937Z" }, + { url = "https://files.pythonhosted.org/packages/a5/6f/1427f0240997dd2bd5c70ee2a129b6ee497deb6db1c519f2d4fe6af34b9f/winrt_Windows.Storage.Streams-2.3.0-cp313-cp313-win32.whl", hash = "sha256:7ac4e46fc5e21d8badc5d41779273c3f5e7196f1cf2df1959b6b70eca1d5d85f", size = 96000, upload-time = "2024-10-20T03:47:32.111Z" }, + { url = "https://files.pythonhosted.org/packages/13/c1/8a673a0f7232caac6410373f492f0ebac73760f5e66996e75a2679923c40/winrt_Windows.Storage.Streams-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:1460027c94c107fcee484997494f3a400f08ee40396f010facb0e72b3b74c457", size = 108588, upload-time = "2024-10-20T03:47:33.145Z" }, + { url = "https://files.pythonhosted.org/packages/24/72/2c0d42508109b563826d77e45ec5418b30140a33ffd9a5a420d5685c1b94/winrt_Windows.Storage.Streams-2.3.0-cp313-cp313-win_arm64.whl", hash = "sha256:e4553a70f5264a7733596802a2991e2414cdcd5e396b9d11ee87be9abae9329e", size = 103050, upload-time = "2024-10-20T03:47:34.114Z" }, + { url = "https://files.pythonhosted.org/packages/57/05/ee7481dfdb5b3b36e66e91ac278db2cea5a5a2da56ec1dbd176655f1c561/winrt_Windows.Storage.Streams-2.3.0-cp39-cp39-win32.whl", hash = "sha256:28e1117e23046e499831af16d11f5e61e6066ed6247ef58b93738702522c29b0", size = 96189, upload-time = "2024-10-20T03:47:35.161Z" }, + { url = "https://files.pythonhosted.org/packages/45/8e/5ed7799680ad87e45cf9169cf29f34de24f1d678528d906191e1958ca6b0/winrt_Windows.Storage.Streams-2.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:5511dc578f92eb303aee4d3345ee4ffc88aa414564e43e0e3d84ff29427068f0", size = 109486, upload-time = "2024-10-20T03:47:36.187Z" }, + { url = "https://files.pythonhosted.org/packages/f2/2e/b15feb390b7a9419def26db69d63cfd74fca56a10ecbdeb277bf6380c8dd/winrt_Windows.Storage.Streams-2.3.0-cp39-cp39-win_arm64.whl", hash = "sha256:6f5b3f8af4df08f5bf9329373949236ffaef22d021070278795e56da5326a876", size = 103647, upload-time = "2024-10-20T03:47:37.612Z" }, ] [[package]] name = "yarl" -version = "1.19.0" +version = "1.20.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "idna" }, { name = "multidict" }, { name = "propcache" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fc/4d/8a8f57caccce49573e567744926f88c6ab3ca0b47a257806d1cf88584c5f/yarl-1.19.0.tar.gz", hash = "sha256:01e02bb80ae0dbed44273c304095295106e1d9470460e773268a27d11e594892", size = 184396 } +sdist = { url = "https://files.pythonhosted.org/packages/3c/fb/efaa23fa4e45537b827620f04cf8f3cd658b76642205162e072703a5b963/yarl-1.20.1.tar.gz", hash = "sha256:d017a4997ee50c91fd5466cef416231bb82177b93b029906cefc542ce14c35ac", size = 186428, upload-time = "2025-06-10T00:46:09.923Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/96/0f/e5bd0d7d98bb194a30740dea2c4324f85dfc2f8daba9d7bc7e47b45d1034/yarl-1.19.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:0bae32f8ebd35c04d6528cedb4a26b8bf25339d3616b04613b97347f919b76d3", size = 144954 }, - { url = "https://files.pythonhosted.org/packages/07/bf/2acc4b643dbdfc823d0d2058768197198a3d93b41fffb41b83359c520a4d/yarl-1.19.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8015a076daf77823e7ebdcba474156587391dab4e70c732822960368c01251e6", size = 96613 }, - { url = "https://files.pythonhosted.org/packages/ca/38/c60ccca9aad0bb939e665b63a4e1550fecc922971f1f246dd7ad709a1a72/yarl-1.19.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9973ac95327f5d699eb620286c39365990b240031672b5c436a4cd00539596c5", size = 94408 }, - { url = "https://files.pythonhosted.org/packages/9a/43/2d5b49b4784743d88054e612a97aee2a9d2d463983c6a8e2fa4c872b294a/yarl-1.19.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd4b5fbd7b9dde785cfeb486b8cca211a0b138d4f3a7da27db89a25b3c482e5c", size = 330774 }, - { url = "https://files.pythonhosted.org/packages/3b/48/7decce219b6eedce321345f61461ee140ee6b3faf4875efe518f0e7b5817/yarl-1.19.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:75460740005de5a912b19f657848aef419387426a40f581b1dc9fac0eb9addb5", size = 323399 }, - { url = "https://files.pythonhosted.org/packages/67/2f/d6253528e49ce1c6f5119ec5269314752b06dd670f5a81721648d98b1dc7/yarl-1.19.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:57abd66ca913f2cfbb51eb3dbbbac3648f1f6983f614a4446e0802e241441d2a", size = 343329 }, - { url = "https://files.pythonhosted.org/packages/fc/6b/efeb1a088e8addbf5841a84b74dad2a06346b0e4a712eb269a0cd9ada8b7/yarl-1.19.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:46ade37911b7c99ce28a959147cb28bffbd14cea9e7dd91021e06a8d2359a5aa", size = 338275 }, - { url = "https://files.pythonhosted.org/packages/a6/b6/31acc2efcaf6999fd256d11f26ccc95ea773bc790ad1973331d7294b25db/yarl-1.19.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8346ec72ada749a6b5d82bff7be72578eab056ad7ec38c04f668a685abde6af0", size = 334014 }, - { url = "https://files.pythonhosted.org/packages/79/16/1deb54324842479e4d8b34841a383653587dfcc403c132f88b493f0c513e/yarl-1.19.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7e4cb14a6ee5b6649ccf1c6d648b4da9220e8277d4d4380593c03cc08d8fe937", size = 322007 }, - { url = "https://files.pythonhosted.org/packages/80/77/4a073cec4f40ce84897510ee9d347bc10128f715be59b36e5c037463523b/yarl-1.19.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:66fc1c2926a73a2fb46e4b92e3a6c03904d9bc3a0b65e01cb7d2b84146a8bd3b", size = 336569 }, - { url = "https://files.pythonhosted.org/packages/73/e1/2f0455379bbee5f4ece8bc0968106386ec4e74237e8d68ced00bbff0a1fc/yarl-1.19.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:5a70201dd1e0a4304849b6445a9891d7210604c27e67da59091d5412bc19e51c", size = 336384 }, - { url = "https://files.pythonhosted.org/packages/74/e0/307aa8ae96bc0e72644855c76e8960019fc24c511a5dda73f05214da46f0/yarl-1.19.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e4807aab1bdeab6ae6f296be46337a260ae4b1f3a8c2fcd373e236b4b2b46efd", size = 340454 }, - { url = "https://files.pythonhosted.org/packages/af/19/2dcdb1e5eef26751c9e79369d1f80d6a1162dababb5070f62bc5b1a8f81e/yarl-1.19.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:ae584afe81a1de4c1bb06672481050f0d001cad13163e3c019477409f638f9b7", size = 355804 }, - { url = "https://files.pythonhosted.org/packages/c1/af/8c1e102c6d61713ed31022ab8f8866d263b87cb8f466c37f20a99019d169/yarl-1.19.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:30eaf4459df6e91f21b2999d1ee18f891bcd51e3cbe1de301b4858c84385895b", size = 359877 }, - { url = "https://files.pythonhosted.org/packages/1a/cf/c3c4bd85ecc7f189e14d21c3bea67ce389511d9178a302d97281868477aa/yarl-1.19.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0e617d45d03c8dec0dfce6f51f3e1b8a31aa81aaf4a4d1442fdb232bcf0c6d8c", size = 351282 }, - { url = "https://files.pythonhosted.org/packages/c6/85/0994f1c607b0520ef007717ff74f3317df3f7b7f32756ba2bf26c0c58ddf/yarl-1.19.0-cp310-cp310-win32.whl", hash = "sha256:32ba32d0fa23893fd8ea8d05bdb05de6eb19d7f2106787024fd969f4ba5466cb", size = 86529 }, - { url = "https://files.pythonhosted.org/packages/59/00/39bc8da1f67614633a099a44a5f69d056bb4d65a8e52a4003460e3fa4cc7/yarl-1.19.0-cp310-cp310-win_amd64.whl", hash = "sha256:545575ecfcd465891b51546c2bcafdde0acd2c62c2097d8d71902050b20e4922", size = 92707 }, - { url = "https://files.pythonhosted.org/packages/9b/df/5fa7cd75e46306e0f9baf38a7c8969ff6730ea503b86232e85cb740304cf/yarl-1.19.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:163ff326680de5f6d4966954cf9e3fe1bf980f5fee2255e46e89b8cf0f3418b5", size = 145126 }, - { url = "https://files.pythonhosted.org/packages/2a/be/c1b52129cd2166ab7337f08e701a61baa7c260c7b03b534098cc8297aecc/yarl-1.19.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a626c4d9cca298d1be8625cff4b17004a9066330ac82d132bbda64a4c17c18d3", size = 96691 }, - { url = "https://files.pythonhosted.org/packages/8d/39/ad62139b45515f9bf129c805aeaaedf86fd93ae57ffe911f4caeabef3e74/yarl-1.19.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:961c3e401ea7f13d02b8bb7cb0c709152a632a6e14cdc8119e9c6ee5596cd45d", size = 94505 }, - { url = "https://files.pythonhosted.org/packages/be/be/04e3202cdc9bb5f81761e327af7095cffb0d81e32421a6b87f926052d2ae/yarl-1.19.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a39d7b807ab58e633ed760f80195cbd145b58ba265436af35f9080f1810dfe64", size = 355485 }, - { url = "https://files.pythonhosted.org/packages/00/7d/1463203663ca1ae62af8fb9ebc9601dd07f04dbced7edb1df3141a2cb2fe/yarl-1.19.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c4228978fb59c6b10f60124ba8e311c26151e176df364e996f3f8ff8b93971b5", size = 344569 }, - { url = "https://files.pythonhosted.org/packages/b0/1b/5263203017348669e637bb73856fb9632110538e92d5e9f8214fcc764da9/yarl-1.19.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9ba536b17ecf3c74a94239ec1137a3ad3caea8c0e4deb8c8d2ffe847d870a8c5", size = 371426 }, - { url = "https://files.pythonhosted.org/packages/78/59/90ca5f16d56b7741e5383951acc2e065fce41920eb5d8fda3065b5e288dc/yarl-1.19.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a251e00e445d2e9df7b827c9843c0b87f58a3254aaa3f162fb610747491fe00f", size = 368102 }, - { url = "https://files.pythonhosted.org/packages/84/f2/5e33aa0251ffd2c2a9041bf887e163eeefdc1dca238fdabac444d9463c3f/yarl-1.19.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f9b92431d8b4d4ca5ccbfdbac95b05a3a6cd70cd73aa62f32f9627acfde7549c", size = 358740 }, - { url = "https://files.pythonhosted.org/packages/22/9e/ba92d234c81cf94495fc01eaa0b6000175733f76bd63e60ff748bce22c81/yarl-1.19.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ec2f56edaf476f70b5831bbd59700b53d9dd011b1f77cd4846b5ab5c5eafdb3f", size = 346965 }, - { url = "https://files.pythonhosted.org/packages/8d/0b/d4f53136ef12ddad540855a886d7503a6cc17cfabb9a03ce0c179f3b9e51/yarl-1.19.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:acf9b92c4245ac8b59bc7ec66a38d3dcb8d1f97fac934672529562bb824ecadb", size = 368547 }, - { url = "https://files.pythonhosted.org/packages/31/4b/35ec8622908a728f378a8511f0ab2d47878b2c0b8cbe035f2d907914a5fc/yarl-1.19.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:57711f1465c06fee8825b95c0b83e82991e6d9425f9a042c3c19070a70ac92bf", size = 357610 }, - { url = "https://files.pythonhosted.org/packages/c1/71/1f39f7c55b0684834d945a2bcfdfe59e6e02ca2483a3d33c2f77a0c3b177/yarl-1.19.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:528e86f5b1de0ad8dd758ddef4e0ed24f5d946d4a1cef80ffb2d4fca4e10f122", size = 365331 }, - { url = "https://files.pythonhosted.org/packages/2e/13/57675964de5c8ccf6427df93ac97f9bb7328f3f8f7ebc31a5f5a286ab1c0/yarl-1.19.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:3b77173663e075d9e5a57e09d711e9da2f3266be729ecca0b8ae78190990d260", size = 378624 }, - { url = "https://files.pythonhosted.org/packages/d4/c6/5868e40f8da041ed0c3b5fd8c08cece849d9f609e970e6043308767fbb60/yarl-1.19.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:d8717924cf0a825b62b1a96fc7d28aab7f55a81bf5338b8ef41d7a76ab9223e9", size = 383981 }, - { url = "https://files.pythonhosted.org/packages/f4/3f/e40124c986d96741d3d341ffac35be42b6df82ef8c18b5984ca2e7d838dd/yarl-1.19.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0df9f0221a78d858793f40cbea3915c29f969c11366646a92ca47e080a14f881", size = 378868 }, - { url = "https://files.pythonhosted.org/packages/01/eb/caf2774c770288bd87a818b11f3a56ada6a855f1987d93421aae01a175bf/yarl-1.19.0-cp311-cp311-win32.whl", hash = "sha256:8b3ade62678ee2c7c10dcd6be19045135e9badad53108f7d2ed14896ee396045", size = 86446 }, - { url = "https://files.pythonhosted.org/packages/4a/97/d4fe6168c1bb789507ffeb58c2e8c675a7e71de732dc02e12bda904c1362/yarl-1.19.0-cp311-cp311-win_amd64.whl", hash = "sha256:0626ee31edb23ac36bdffe607231de2cca055ad3a5e2dc5da587ef8bc6a321bc", size = 93121 }, - { url = "https://files.pythonhosted.org/packages/b8/70/44ef8f69d61cb5123167a4dda87f6c739a833fbdb2ed52960b4e8409d65c/yarl-1.19.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:7b687c334da3ff8eab848c9620c47a253d005e78335e9ce0d6868ed7e8fd170b", size = 146855 }, - { url = "https://files.pythonhosted.org/packages/c3/94/38c14d6c8217cc818647689f2dd647b976ced8fea08d0ac84e3c8168252b/yarl-1.19.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b0fe766febcf523a2930b819c87bb92407ae1368662c1bc267234e79b20ff894", size = 97523 }, - { url = "https://files.pythonhosted.org/packages/35/a5/43a613586a6255105c4655a911c307ef3420e49e540d6ae2c5829863fb25/yarl-1.19.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:742ceffd3c7beeb2b20d47cdb92c513eef83c9ef88c46829f88d5b06be6734ee", size = 95540 }, - { url = "https://files.pythonhosted.org/packages/d4/60/ed26049f4a8b06ebfa6d5f3cb6a51b152fd57081aa818b6497474f65a631/yarl-1.19.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2af682a1e97437382ee0791eacbf540318bd487a942e068e7e0a6c571fadbbd3", size = 344386 }, - { url = "https://files.pythonhosted.org/packages/49/a6/b84899cab411f49af5986cfb44b514040788d81c8084f5811e6a7c0f1ce6/yarl-1.19.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:63702f1a098d0eaaea755e9c9d63172be1acb9e2d4aeb28b187092bcc9ca2d17", size = 338889 }, - { url = "https://files.pythonhosted.org/packages/cc/ce/0704f7166a781b1f81bdd45c4f49eadbae0230ebd35b9ec7cd7769d3a6ff/yarl-1.19.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3560dcba3c71ae7382975dc1e912ee76e50b4cd7c34b454ed620d55464f11876", size = 353107 }, - { url = "https://files.pythonhosted.org/packages/75/e5/0ecd6f2a9cc4264c16d8dfb0d3d71ba8d03cb58f3bcd42b1df4358331189/yarl-1.19.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:68972df6a0cc47c8abaf77525a76ee5c5f6ea9bbdb79b9565b3234ded3c5e675", size = 353128 }, - { url = "https://files.pythonhosted.org/packages/ad/c7/cd0fd1de581f1c2e8f996e704c9fd979e00106f18eebd91b0173cf1a13c6/yarl-1.19.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5684e7ff93ea74e47542232bd132f608df4d449f8968fde6b05aaf9e08a140f9", size = 349107 }, - { url = "https://files.pythonhosted.org/packages/e6/34/ba3e5a20bd1d6a09034fc7985aaf1309976f2a7a5aefd093c9e56f6e1e0c/yarl-1.19.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8182ad422bfacdebd4759ce3adc6055c0c79d4740aea1104e05652a81cd868c6", size = 335144 }, - { url = "https://files.pythonhosted.org/packages/1e/98/d9b7beb932fade015906efe0980aa7d522b8f93cf5ebf1082e74faa314b7/yarl-1.19.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:aee5b90a5a9b71ac57400a7bdd0feaa27c51e8f961decc8d412e720a004a1791", size = 360795 }, - { url = "https://files.pythonhosted.org/packages/9a/11/70b8770039cc54af5948970591517a1e1d093df3f04f328c655c9a0fefb7/yarl-1.19.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:8c0b2371858d5a814b08542d5d548adb03ff2d7ab32f23160e54e92250961a72", size = 360140 }, - { url = "https://files.pythonhosted.org/packages/d4/67/708e3e36fafc4d9d96b4eecc6c8b9f37c8ad50df8a16c7a1d5ba9df53050/yarl-1.19.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:cd430c2b7df4ae92498da09e9b12cad5bdbb140d22d138f9e507de1aa3edfea3", size = 364431 }, - { url = "https://files.pythonhosted.org/packages/c3/8b/937fbbcc895553a7e16fcd86ae4e0724c6ac9468237ad8e7c29cc3b1c9d9/yarl-1.19.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a93208282c0ccdf73065fd76c6c129bd428dba5ff65d338ae7d2ab27169861a0", size = 373832 }, - { url = "https://files.pythonhosted.org/packages/f8/ca/288ddc2230c9b6647fe907504f1119adb41252ac533eb564d3fc73511215/yarl-1.19.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:b8179280cdeb4c36eb18d6534a328f9d40da60d2b96ac4a295c5f93e2799e9d9", size = 378122 }, - { url = "https://files.pythonhosted.org/packages/4f/5a/79e1ef31d14968fbfc0ecec70a6683b574890d9c7550c376dd6d40de7754/yarl-1.19.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:eda3c2b42dc0c389b7cfda2c4df81c12eeb552019e0de28bde8f913fc3d1fcf3", size = 375178 }, - { url = "https://files.pythonhosted.org/packages/95/38/9b0e56bf14026c3f550ad6425679f6d1a2f4821d70767f39d6f4c56a0820/yarl-1.19.0-cp312-cp312-win32.whl", hash = "sha256:57f3fed859af367b9ca316ecc05ce79ce327d6466342734305aa5cc380e4d8be", size = 86172 }, - { url = "https://files.pythonhosted.org/packages/b3/96/5c2f3987c4bb4e5cdebea3caf99a45946b13a9516f849c02222203d99860/yarl-1.19.0-cp312-cp312-win_amd64.whl", hash = "sha256:5507c1f7dd3d41251b67eecba331c8b2157cfd324849879bebf74676ce76aff7", size = 92617 }, - { url = "https://files.pythonhosted.org/packages/cd/a7/222144efa2f4a47363a5fee27d8a1d24851283b5a7f628890805fe7f7a66/yarl-1.19.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:59281b9ed27bc410e0793833bcbe7fc149739d56ffa071d1e0fe70536a4f7b61", size = 144789 }, - { url = "https://files.pythonhosted.org/packages/72/4f/3ee8de3f94baa33c0716260b0048b1fd5306f104b3efc6e1713693e7063e/yarl-1.19.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d27a6482ad5e05e8bafd47bf42866f8a1c0c3345abcb48d4511b3c29ecc197dc", size = 96685 }, - { url = "https://files.pythonhosted.org/packages/3e/7c/fbeebf875c1ededd872d6fefabd8a8526ef8aba6e9e8bcdf230d895d487b/yarl-1.19.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7a8e19fd5a6fdf19a91f2409665c7a089ffe7b9b5394ab33c0eec04cbecdd01f", size = 94307 }, - { url = "https://files.pythonhosted.org/packages/f3/ff/b7a9c1d7df37e594b43b7a8030e228ccd4ce361eeff24a92b17fe210e57d/yarl-1.19.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cda34ab19099c3a1685ad48fe45172536610c312b993310b5f1ca3eb83453b36", size = 342811 }, - { url = "https://files.pythonhosted.org/packages/79/e2/9e092876b2156c1d386e4864e85eba541ccabf2b9dcc47da64624bad0cc9/yarl-1.19.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7908a25d33f94852b479910f9cae6cdb9e2a509894e8d5f416c8342c0253c397", size = 336928 }, - { url = "https://files.pythonhosted.org/packages/71/24/648d99c134f2e14fc01ba790ad36ab56815e00069e60a12a4af893448b83/yarl-1.19.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e66c14d162bac94973e767b24de5d7e6c5153f7305a64ff4fcba701210bcd638", size = 351021 }, - { url = "https://files.pythonhosted.org/packages/0c/ee/7278d475784d407d1990a5939722e66a0fef057046fb5f1721f0a6eb156c/yarl-1.19.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c03607bf932aa4cfae371e2dc9ca8b76faf031f106dac6a6ff1458418140c165", size = 354454 }, - { url = "https://files.pythonhosted.org/packages/15/ae/242546114e052a7de21a75bd7d4860266439f90bbc21c5e4dd696866d91d/yarl-1.19.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9931343d1c1f4e77421687b6b94bbebd8a15a64ab8279adf6fbb047eff47e536", size = 347594 }, - { url = "https://files.pythonhosted.org/packages/46/2c/35f4347f76ea4c986e9c1f774b085f489b3a1bf1503c67a4dfc5d8e68e92/yarl-1.19.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:262087a8a0d73e1d169d45c2baf968126f93c97cf403e1af23a7d5455d52721f", size = 334113 }, - { url = "https://files.pythonhosted.org/packages/20/89/3086bc8ec8d7bd505531c51056452d7ae6af906d29c427374f1170ac1938/yarl-1.19.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:70f384921c24e703d249a6ccdabeb57dd6312b568b504c69e428a8dd3e8e68ca", size = 361037 }, - { url = "https://files.pythonhosted.org/packages/a1/5b/2c9765524a70d1c51922b41c91caa30c8094a416734349166e1a3d8de055/yarl-1.19.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:756b9ea5292a2c180d1fe782a377bc4159b3cfefaca7e41b5b0a00328ef62fa9", size = 361025 }, - { url = "https://files.pythonhosted.org/packages/ca/f8/c4a190bcc3cd98fb428d1dd31519e58004153dc7f2acd1236ecae54e3433/yarl-1.19.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cbeb9c145d534c240a63b6ecc8a8dd451faeb67b3dc61d729ec197bb93e29497", size = 364397 }, - { url = "https://files.pythonhosted.org/packages/6b/fb/f65b1347be8e12ac4e3e37a9bb880e6b9b604f252aaafd88e4879b1e9348/yarl-1.19.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:087ae8f8319848c18e0d114d0f56131a9c017f29200ab1413b0137ad7c83e2ae", size = 374065 }, - { url = "https://files.pythonhosted.org/packages/1c/c5/102cc3b9baad1a76f9127453ad08e0f5bc9c996c18128b1e28fe03817d6c/yarl-1.19.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:362f5480ba527b6c26ff58cff1f229afe8b7fdd54ee5ffac2ab827c1a75fc71c", size = 381341 }, - { url = "https://files.pythonhosted.org/packages/f7/ce/f5dc0439320dfe59fadab8cdd24ac324be19cf6ae4736422c7e2a510ddf3/yarl-1.19.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f408d4b4315e814e5c3668094e33d885f13c7809cbe831cbdc5b1bb8c7a448f4", size = 376552 }, - { url = "https://files.pythonhosted.org/packages/a9/4a/4833a134c76af987eff3ce8cb71e42932234120e6be061eb2555061e8844/yarl-1.19.0-cp313-cp313-win32.whl", hash = "sha256:24e4c367ad69988a2283dd45ea88172561ca24b2326b9781e164eb46eea68345", size = 85878 }, - { url = "https://files.pythonhosted.org/packages/32/e9/59327daab3af8f79221638a8f0d11474d20f6a8fbc41e9da80c5ef69e688/yarl-1.19.0-cp313-cp313-win_amd64.whl", hash = "sha256:0110f91c57ab43d1538dfa92d61c45e33b84df9257bd08fcfcda90cce931cbc9", size = 92448 }, - { url = "https://files.pythonhosted.org/packages/f0/77/38ee2b6ea52fa46efb3a68c17d066760a2e873c99837001922dad3c5d4e5/yarl-1.19.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:85ac908cd5a97bbd3048cca9f1bf37b932ea26c3885099444f34b0bf5d5e9fa6", size = 146440 }, - { url = "https://files.pythonhosted.org/packages/08/14/4c2f8696bf09d851d299e4af62bf005e6087f162cd34b8c88c332d8580ea/yarl-1.19.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6ba0931b559f1345df48a78521c31cfe356585670e8be22af84a33a39f7b9221", size = 97490 }, - { url = "https://files.pythonhosted.org/packages/8d/b9/a67586d46e9c68ecae6162164539c50fdeab3f4722decda4f6ea9f7bf4fd/yarl-1.19.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5bc503e1c1fee1b86bcb58db67c032957a52cae39fe8ddd95441f414ffbab83e", size = 95236 }, - { url = "https://files.pythonhosted.org/packages/76/01/2f3c33ef91f9292bb4bb59654fc5f6e0c24780de74cc993f583dec7c6adb/yarl-1.19.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d995122dcaf180fd4830a9aa425abddab7c0246107c21ecca2fa085611fa7ce9", size = 330624 }, - { url = "https://files.pythonhosted.org/packages/43/fd/64e414ffba8f19e5d151c06e9402a0a0054f0c8f5d5e25519612d5d583ad/yarl-1.19.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:217f69e60a14da4eed454a030ea8283f8fbd01a7d6d81e57efb865856822489b", size = 325798 }, - { url = "https://files.pythonhosted.org/packages/7a/84/813be2b6b8c4c5bdafa5e0c0e5b17213f45fd10efbfaaa1279a917201373/yarl-1.19.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aad67c8f13a4b79990082f72ef09c078a77de2b39899aabf3960a48069704973", size = 348176 }, - { url = "https://files.pythonhosted.org/packages/4f/06/81f9a80e243e043f0dc6a043d1a89dc004b06e3f71fb7c83f9013959bb5b/yarl-1.19.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dff065a1a8ed051d7e641369ba1ad030d5a707afac54cf4ede7069b959898835", size = 343497 }, - { url = "https://files.pythonhosted.org/packages/ec/8a/abbed688dd85b5a29e91ed9a7f4cce9efe925083d7567f341ece0b36cc7e/yarl-1.19.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ada882e26b16ee651ab6544ce956f2f4beaed38261238f67c2a96db748e17741", size = 336969 }, - { url = "https://files.pythonhosted.org/packages/33/1a/7a6316473afec0b57e1cbf2ccaa02df9f138c0e447b43e85e8b1a4e7a549/yarl-1.19.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:67a56b1acc7093451ea2de0687aa3bd4e58d6b4ef6cbeeaad137b45203deaade", size = 328910 }, - { url = "https://files.pythonhosted.org/packages/29/07/ba204b362147a04a5e172af726887156ae4e098fab826aa9d7269fbdbf89/yarl-1.19.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:e97d2f0a06b39e231e59ebab0e6eec45c7683b339e8262299ac952707bdf7688", size = 342614 }, - { url = "https://files.pythonhosted.org/packages/e1/43/555be0062c999a610ad2c7b5a78695f25a70890be8c3e9ae555386b20cd3/yarl-1.19.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:a5288adb7c59d0f54e4ad58d86fb06d4b26e08a59ed06d00a1aac978c0e32884", size = 340438 }, - { url = "https://files.pythonhosted.org/packages/26/17/703f82dbac560b9a47cee7c83abad923ac98f062eda9430dab098c28a3c9/yarl-1.19.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1efbf4d03e6eddf5da27752e0b67a8e70599053436e9344d0969532baa99df53", size = 343236 }, - { url = "https://files.pythonhosted.org/packages/e7/2c/a73354c4cc84e39a1eb83c1fabce01a75640a7fcf4183e5d3e99b1e510bd/yarl-1.19.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:f228f42f29cc87db67020f7d71624102b2c837686e55317b16e1d3ef2747a993", size = 358432 }, - { url = "https://files.pythonhosted.org/packages/f2/b5/5213af4695344281637d65005b781151008446bbd852a4b6a1b47b6952fa/yarl-1.19.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:c515f7dd60ca724e4c62b34aeaa603188964abed2eb66bb8e220f7f104d5a187", size = 359656 }, - { url = "https://files.pythonhosted.org/packages/d0/7d/00c56abbb3bec635dbe1f0ffb11f04eefc9ec2e1af24f10b34ed5d4e154d/yarl-1.19.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:4815ec6d3d68a96557fa71bd36661b45ac773fb50e5cfa31a7e843edb098f060", size = 353732 }, - { url = "https://files.pythonhosted.org/packages/84/4f/37e5c9162af1a494f9854683869c67be271c5e66f75b0c7010c78a025356/yarl-1.19.0-cp39-cp39-win32.whl", hash = "sha256:9fac2dd1c5ecb921359d9546bc23a6dcc18c6acd50c6d96f118188d68010f497", size = 87082 }, - { url = "https://files.pythonhosted.org/packages/55/7f/ef6a2a6d95671430364ec801286ed748cc9808bd747f038639158b5f308d/yarl-1.19.0-cp39-cp39-win_amd64.whl", hash = "sha256:5864f539ce86b935053bfa18205fa08ce38e9a40ea4d51b19ce923345f0ed5db", size = 93180 }, - { url = "https://files.pythonhosted.org/packages/a4/06/ae25a353e8f032322df6f30d6bb1fc329773ee48e1a80a2196ccb8d1206b/yarl-1.19.0-py3-none-any.whl", hash = "sha256:a727101eb27f66727576630d02985d8a065d09cd0b5fcbe38a5793f71b2a97ef", size = 45990 }, + { url = "https://files.pythonhosted.org/packages/cb/65/7fed0d774abf47487c64be14e9223749468922817b5e8792b8a64792a1bb/yarl-1.20.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6032e6da6abd41e4acda34d75a816012717000fa6839f37124a47fcefc49bec4", size = 132910, upload-time = "2025-06-10T00:42:31.108Z" }, + { url = "https://files.pythonhosted.org/packages/8a/7b/988f55a52da99df9e56dc733b8e4e5a6ae2090081dc2754fc8fd34e60aa0/yarl-1.20.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2c7b34d804b8cf9b214f05015c4fee2ebe7ed05cf581e7192c06555c71f4446a", size = 90644, upload-time = "2025-06-10T00:42:33.851Z" }, + { url = "https://files.pythonhosted.org/packages/f7/de/30d98f03e95d30c7e3cc093759982d038c8833ec2451001d45ef4854edc1/yarl-1.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0c869f2651cc77465f6cd01d938d91a11d9ea5d798738c1dc077f3de0b5e5fed", size = 89322, upload-time = "2025-06-10T00:42:35.688Z" }, + { url = "https://files.pythonhosted.org/packages/e0/7a/f2f314f5ebfe9200724b0b748de2186b927acb334cf964fd312eb86fc286/yarl-1.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62915e6688eb4d180d93840cda4110995ad50c459bf931b8b3775b37c264af1e", size = 323786, upload-time = "2025-06-10T00:42:37.817Z" }, + { url = "https://files.pythonhosted.org/packages/15/3f/718d26f189db96d993d14b984ce91de52e76309d0fd1d4296f34039856aa/yarl-1.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:41ebd28167bc6af8abb97fec1a399f412eec5fd61a3ccbe2305a18b84fb4ca73", size = 319627, upload-time = "2025-06-10T00:42:39.937Z" }, + { url = "https://files.pythonhosted.org/packages/a5/76/8fcfbf5fa2369157b9898962a4a7d96764b287b085b5b3d9ffae69cdefd1/yarl-1.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:21242b4288a6d56f04ea193adde174b7e347ac46ce6bc84989ff7c1b1ecea84e", size = 339149, upload-time = "2025-06-10T00:42:42.627Z" }, + { url = "https://files.pythonhosted.org/packages/3c/95/d7fc301cc4661785967acc04f54a4a42d5124905e27db27bb578aac49b5c/yarl-1.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bea21cdae6c7eb02ba02a475f37463abfe0a01f5d7200121b03e605d6a0439f8", size = 333327, upload-time = "2025-06-10T00:42:44.842Z" }, + { url = "https://files.pythonhosted.org/packages/65/94/e21269718349582eee81efc5c1c08ee71c816bfc1585b77d0ec3f58089eb/yarl-1.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f8a891e4a22a89f5dde7862994485e19db246b70bb288d3ce73a34422e55b23", size = 326054, upload-time = "2025-06-10T00:42:47.149Z" }, + { url = "https://files.pythonhosted.org/packages/32/ae/8616d1f07853704523519f6131d21f092e567c5af93de7e3e94b38d7f065/yarl-1.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dd803820d44c8853a109a34e3660e5a61beae12970da479cf44aa2954019bf70", size = 315035, upload-time = "2025-06-10T00:42:48.852Z" }, + { url = "https://files.pythonhosted.org/packages/48/aa/0ace06280861ef055855333707db5e49c6e3a08840a7ce62682259d0a6c0/yarl-1.20.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b982fa7f74c80d5c0c7b5b38f908971e513380a10fecea528091405f519b9ebb", size = 338962, upload-time = "2025-06-10T00:42:51.024Z" }, + { url = "https://files.pythonhosted.org/packages/20/52/1e9d0e6916f45a8fb50e6844f01cb34692455f1acd548606cbda8134cd1e/yarl-1.20.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:33f29ecfe0330c570d997bcf1afd304377f2e48f61447f37e846a6058a4d33b2", size = 335399, upload-time = "2025-06-10T00:42:53.007Z" }, + { url = "https://files.pythonhosted.org/packages/f2/65/60452df742952c630e82f394cd409de10610481d9043aa14c61bf846b7b1/yarl-1.20.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:835ab2cfc74d5eb4a6a528c57f05688099da41cf4957cf08cad38647e4a83b30", size = 338649, upload-time = "2025-06-10T00:42:54.964Z" }, + { url = "https://files.pythonhosted.org/packages/7b/f5/6cd4ff38dcde57a70f23719a838665ee17079640c77087404c3d34da6727/yarl-1.20.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:46b5e0ccf1943a9a6e766b2c2b8c732c55b34e28be57d8daa2b3c1d1d4009309", size = 358563, upload-time = "2025-06-10T00:42:57.28Z" }, + { url = "https://files.pythonhosted.org/packages/d1/90/c42eefd79d0d8222cb3227bdd51b640c0c1d0aa33fe4cc86c36eccba77d3/yarl-1.20.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:df47c55f7d74127d1b11251fe6397d84afdde0d53b90bedb46a23c0e534f9d24", size = 357609, upload-time = "2025-06-10T00:42:59.055Z" }, + { url = "https://files.pythonhosted.org/packages/03/c8/cea6b232cb4617514232e0f8a718153a95b5d82b5290711b201545825532/yarl-1.20.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:76d12524d05841276b0e22573f28d5fbcb67589836772ae9244d90dd7d66aa13", size = 350224, upload-time = "2025-06-10T00:43:01.248Z" }, + { url = "https://files.pythonhosted.org/packages/ce/a3/eaa0ab9712f1f3d01faf43cf6f1f7210ce4ea4a7e9b28b489a2261ca8db9/yarl-1.20.1-cp310-cp310-win32.whl", hash = "sha256:6c4fbf6b02d70e512d7ade4b1f998f237137f1417ab07ec06358ea04f69134f8", size = 81753, upload-time = "2025-06-10T00:43:03.486Z" }, + { url = "https://files.pythonhosted.org/packages/8f/34/e4abde70a9256465fe31c88ed02c3f8502b7b5dead693a4f350a06413f28/yarl-1.20.1-cp310-cp310-win_amd64.whl", hash = "sha256:aef6c4d69554d44b7f9d923245f8ad9a707d971e6209d51279196d8e8fe1ae16", size = 86817, upload-time = "2025-06-10T00:43:05.231Z" }, + { url = "https://files.pythonhosted.org/packages/b1/18/893b50efc2350e47a874c5c2d67e55a0ea5df91186b2a6f5ac52eff887cd/yarl-1.20.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:47ee6188fea634bdfaeb2cc420f5b3b17332e6225ce88149a17c413c77ff269e", size = 133833, upload-time = "2025-06-10T00:43:07.393Z" }, + { url = "https://files.pythonhosted.org/packages/89/ed/b8773448030e6fc47fa797f099ab9eab151a43a25717f9ac043844ad5ea3/yarl-1.20.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d0f6500f69e8402d513e5eedb77a4e1818691e8f45e6b687147963514d84b44b", size = 91070, upload-time = "2025-06-10T00:43:09.538Z" }, + { url = "https://files.pythonhosted.org/packages/e3/e3/409bd17b1e42619bf69f60e4f031ce1ccb29bd7380117a55529e76933464/yarl-1.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7a8900a42fcdaad568de58887c7b2f602962356908eedb7628eaf6021a6e435b", size = 89818, upload-time = "2025-06-10T00:43:11.575Z" }, + { url = "https://files.pythonhosted.org/packages/f8/77/64d8431a4d77c856eb2d82aa3de2ad6741365245a29b3a9543cd598ed8c5/yarl-1.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bad6d131fda8ef508b36be3ece16d0902e80b88ea7200f030a0f6c11d9e508d4", size = 347003, upload-time = "2025-06-10T00:43:14.088Z" }, + { url = "https://files.pythonhosted.org/packages/8d/d2/0c7e4def093dcef0bd9fa22d4d24b023788b0a33b8d0088b51aa51e21e99/yarl-1.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:df018d92fe22aaebb679a7f89fe0c0f368ec497e3dda6cb81a567610f04501f1", size = 336537, upload-time = "2025-06-10T00:43:16.431Z" }, + { url = "https://files.pythonhosted.org/packages/f0/f3/fc514f4b2cf02cb59d10cbfe228691d25929ce8f72a38db07d3febc3f706/yarl-1.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8f969afbb0a9b63c18d0feecf0db09d164b7a44a053e78a7d05f5df163e43833", size = 362358, upload-time = "2025-06-10T00:43:18.704Z" }, + { url = "https://files.pythonhosted.org/packages/ea/6d/a313ac8d8391381ff9006ac05f1d4331cee3b1efaa833a53d12253733255/yarl-1.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:812303eb4aa98e302886ccda58d6b099e3576b1b9276161469c25803a8db277d", size = 357362, upload-time = "2025-06-10T00:43:20.888Z" }, + { url = "https://files.pythonhosted.org/packages/00/70/8f78a95d6935a70263d46caa3dd18e1f223cf2f2ff2037baa01a22bc5b22/yarl-1.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98c4a7d166635147924aa0bf9bfe8d8abad6fffa6102de9c99ea04a1376f91e8", size = 348979, upload-time = "2025-06-10T00:43:23.169Z" }, + { url = "https://files.pythonhosted.org/packages/cb/05/42773027968968f4f15143553970ee36ead27038d627f457cc44bbbeecf3/yarl-1.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:12e768f966538e81e6e7550f9086a6236b16e26cd964cf4df35349970f3551cf", size = 337274, upload-time = "2025-06-10T00:43:27.111Z" }, + { url = "https://files.pythonhosted.org/packages/05/be/665634aa196954156741ea591d2f946f1b78ceee8bb8f28488bf28c0dd62/yarl-1.20.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:fe41919b9d899661c5c28a8b4b0acf704510b88f27f0934ac7a7bebdd8938d5e", size = 363294, upload-time = "2025-06-10T00:43:28.96Z" }, + { url = "https://files.pythonhosted.org/packages/eb/90/73448401d36fa4e210ece5579895731f190d5119c4b66b43b52182e88cd5/yarl-1.20.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:8601bc010d1d7780592f3fc1bdc6c72e2b6466ea34569778422943e1a1f3c389", size = 358169, upload-time = "2025-06-10T00:43:30.701Z" }, + { url = "https://files.pythonhosted.org/packages/c3/b0/fce922d46dc1eb43c811f1889f7daa6001b27a4005587e94878570300881/yarl-1.20.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:daadbdc1f2a9033a2399c42646fbd46da7992e868a5fe9513860122d7fe7a73f", size = 362776, upload-time = "2025-06-10T00:43:32.51Z" }, + { url = "https://files.pythonhosted.org/packages/f1/0d/b172628fce039dae8977fd22caeff3eeebffd52e86060413f5673767c427/yarl-1.20.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:03aa1e041727cb438ca762628109ef1333498b122e4c76dd858d186a37cec845", size = 381341, upload-time = "2025-06-10T00:43:34.543Z" }, + { url = "https://files.pythonhosted.org/packages/6b/9b/5b886d7671f4580209e855974fe1cecec409aa4a89ea58b8f0560dc529b1/yarl-1.20.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:642980ef5e0fa1de5fa96d905c7e00cb2c47cb468bfcac5a18c58e27dbf8d8d1", size = 379988, upload-time = "2025-06-10T00:43:36.489Z" }, + { url = "https://files.pythonhosted.org/packages/73/be/75ef5fd0fcd8f083a5d13f78fd3f009528132a1f2a1d7c925c39fa20aa79/yarl-1.20.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:86971e2795584fe8c002356d3b97ef6c61862720eeff03db2a7c86b678d85b3e", size = 371113, upload-time = "2025-06-10T00:43:38.592Z" }, + { url = "https://files.pythonhosted.org/packages/50/4f/62faab3b479dfdcb741fe9e3f0323e2a7d5cd1ab2edc73221d57ad4834b2/yarl-1.20.1-cp311-cp311-win32.whl", hash = "sha256:597f40615b8d25812f14562699e287f0dcc035d25eb74da72cae043bb884d773", size = 81485, upload-time = "2025-06-10T00:43:41.038Z" }, + { url = "https://files.pythonhosted.org/packages/f0/09/d9c7942f8f05c32ec72cd5c8e041c8b29b5807328b68b4801ff2511d4d5e/yarl-1.20.1-cp311-cp311-win_amd64.whl", hash = "sha256:26ef53a9e726e61e9cd1cda6b478f17e350fb5800b4bd1cd9fe81c4d91cfeb2e", size = 86686, upload-time = "2025-06-10T00:43:42.692Z" }, + { url = "https://files.pythonhosted.org/packages/5f/9a/cb7fad7d73c69f296eda6815e4a2c7ed53fc70c2f136479a91c8e5fbdb6d/yarl-1.20.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdcc4cd244e58593a4379fe60fdee5ac0331f8eb70320a24d591a3be197b94a9", size = 133667, upload-time = "2025-06-10T00:43:44.369Z" }, + { url = "https://files.pythonhosted.org/packages/67/38/688577a1cb1e656e3971fb66a3492501c5a5df56d99722e57c98249e5b8a/yarl-1.20.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b29a2c385a5f5b9c7d9347e5812b6f7ab267193c62d282a540b4fc528c8a9d2a", size = 91025, upload-time = "2025-06-10T00:43:46.295Z" }, + { url = "https://files.pythonhosted.org/packages/50/ec/72991ae51febeb11a42813fc259f0d4c8e0507f2b74b5514618d8b640365/yarl-1.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1112ae8154186dfe2de4732197f59c05a83dc814849a5ced892b708033f40dc2", size = 89709, upload-time = "2025-06-10T00:43:48.22Z" }, + { url = "https://files.pythonhosted.org/packages/99/da/4d798025490e89426e9f976702e5f9482005c548c579bdae792a4c37769e/yarl-1.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:90bbd29c4fe234233f7fa2b9b121fb63c321830e5d05b45153a2ca68f7d310ee", size = 352287, upload-time = "2025-06-10T00:43:49.924Z" }, + { url = "https://files.pythonhosted.org/packages/1a/26/54a15c6a567aac1c61b18aa0f4b8aa2e285a52d547d1be8bf48abe2b3991/yarl-1.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:680e19c7ce3710ac4cd964e90dad99bf9b5029372ba0c7cbfcd55e54d90ea819", size = 345429, upload-time = "2025-06-10T00:43:51.7Z" }, + { url = "https://files.pythonhosted.org/packages/d6/95/9dcf2386cb875b234353b93ec43e40219e14900e046bf6ac118f94b1e353/yarl-1.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4a979218c1fdb4246a05efc2cc23859d47c89af463a90b99b7c56094daf25a16", size = 365429, upload-time = "2025-06-10T00:43:53.494Z" }, + { url = "https://files.pythonhosted.org/packages/91/b2/33a8750f6a4bc224242a635f5f2cff6d6ad5ba651f6edcccf721992c21a0/yarl-1.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:255b468adf57b4a7b65d8aad5b5138dce6a0752c139965711bdcb81bc370e1b6", size = 363862, upload-time = "2025-06-10T00:43:55.766Z" }, + { url = "https://files.pythonhosted.org/packages/98/28/3ab7acc5b51f4434b181b0cee8f1f4b77a65919700a355fb3617f9488874/yarl-1.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a97d67108e79cfe22e2b430d80d7571ae57d19f17cda8bb967057ca8a7bf5bfd", size = 355616, upload-time = "2025-06-10T00:43:58.056Z" }, + { url = "https://files.pythonhosted.org/packages/36/a3/f666894aa947a371724ec7cd2e5daa78ee8a777b21509b4252dd7bd15e29/yarl-1.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8570d998db4ddbfb9a590b185a0a33dbf8aafb831d07a5257b4ec9948df9cb0a", size = 339954, upload-time = "2025-06-10T00:43:59.773Z" }, + { url = "https://files.pythonhosted.org/packages/f1/81/5f466427e09773c04219d3450d7a1256138a010b6c9f0af2d48565e9ad13/yarl-1.20.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:97c75596019baae7c71ccf1d8cc4738bc08134060d0adfcbe5642f778d1dca38", size = 365575, upload-time = "2025-06-10T00:44:02.051Z" }, + { url = "https://files.pythonhosted.org/packages/2e/e3/e4b0ad8403e97e6c9972dd587388940a032f030ebec196ab81a3b8e94d31/yarl-1.20.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:1c48912653e63aef91ff988c5432832692ac5a1d8f0fb8a33091520b5bbe19ef", size = 365061, upload-time = "2025-06-10T00:44:04.196Z" }, + { url = "https://files.pythonhosted.org/packages/ac/99/b8a142e79eb86c926f9f06452eb13ecb1bb5713bd01dc0038faf5452e544/yarl-1.20.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4c3ae28f3ae1563c50f3d37f064ddb1511ecc1d5584e88c6b7c63cf7702a6d5f", size = 364142, upload-time = "2025-06-10T00:44:06.527Z" }, + { url = "https://files.pythonhosted.org/packages/34/f2/08ed34a4a506d82a1a3e5bab99ccd930a040f9b6449e9fd050320e45845c/yarl-1.20.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c5e9642f27036283550f5f57dc6156c51084b458570b9d0d96100c8bebb186a8", size = 381894, upload-time = "2025-06-10T00:44:08.379Z" }, + { url = "https://files.pythonhosted.org/packages/92/f8/9a3fbf0968eac704f681726eff595dce9b49c8a25cd92bf83df209668285/yarl-1.20.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:2c26b0c49220d5799f7b22c6838409ee9bc58ee5c95361a4d7831f03cc225b5a", size = 383378, upload-time = "2025-06-10T00:44:10.51Z" }, + { url = "https://files.pythonhosted.org/packages/af/85/9363f77bdfa1e4d690957cd39d192c4cacd1c58965df0470a4905253b54f/yarl-1.20.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:564ab3d517e3d01c408c67f2e5247aad4019dcf1969982aba3974b4093279004", size = 374069, upload-time = "2025-06-10T00:44:12.834Z" }, + { url = "https://files.pythonhosted.org/packages/35/99/9918c8739ba271dcd935400cff8b32e3cd319eaf02fcd023d5dcd487a7c8/yarl-1.20.1-cp312-cp312-win32.whl", hash = "sha256:daea0d313868da1cf2fac6b2d3a25c6e3a9e879483244be38c8e6a41f1d876a5", size = 81249, upload-time = "2025-06-10T00:44:14.731Z" }, + { url = "https://files.pythonhosted.org/packages/eb/83/5d9092950565481b413b31a23e75dd3418ff0a277d6e0abf3729d4d1ce25/yarl-1.20.1-cp312-cp312-win_amd64.whl", hash = "sha256:48ea7d7f9be0487339828a4de0360d7ce0efc06524a48e1810f945c45b813698", size = 86710, upload-time = "2025-06-10T00:44:16.716Z" }, + { url = "https://files.pythonhosted.org/packages/8a/e1/2411b6d7f769a07687acee88a062af5833cf1966b7266f3d8dfb3d3dc7d3/yarl-1.20.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:0b5ff0fbb7c9f1b1b5ab53330acbfc5247893069e7716840c8e7d5bb7355038a", size = 131811, upload-time = "2025-06-10T00:44:18.933Z" }, + { url = "https://files.pythonhosted.org/packages/b2/27/584394e1cb76fb771371770eccad35de400e7b434ce3142c2dd27392c968/yarl-1.20.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:14f326acd845c2b2e2eb38fb1346c94f7f3b01a4f5c788f8144f9b630bfff9a3", size = 90078, upload-time = "2025-06-10T00:44:20.635Z" }, + { url = "https://files.pythonhosted.org/packages/bf/9a/3246ae92d4049099f52d9b0fe3486e3b500e29b7ea872d0f152966fc209d/yarl-1.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f60e4ad5db23f0b96e49c018596707c3ae89f5d0bd97f0ad3684bcbad899f1e7", size = 88748, upload-time = "2025-06-10T00:44:22.34Z" }, + { url = "https://files.pythonhosted.org/packages/a3/25/35afe384e31115a1a801fbcf84012d7a066d89035befae7c5d4284df1e03/yarl-1.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:49bdd1b8e00ce57e68ba51916e4bb04461746e794e7c4d4bbc42ba2f18297691", size = 349595, upload-time = "2025-06-10T00:44:24.314Z" }, + { url = "https://files.pythonhosted.org/packages/28/2d/8aca6cb2cabc8f12efcb82749b9cefecbccfc7b0384e56cd71058ccee433/yarl-1.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:66252d780b45189975abfed839616e8fd2dbacbdc262105ad7742c6ae58f3e31", size = 342616, upload-time = "2025-06-10T00:44:26.167Z" }, + { url = "https://files.pythonhosted.org/packages/0b/e9/1312633d16b31acf0098d30440ca855e3492d66623dafb8e25b03d00c3da/yarl-1.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59174e7332f5d153d8f7452a102b103e2e74035ad085f404df2e40e663a22b28", size = 361324, upload-time = "2025-06-10T00:44:27.915Z" }, + { url = "https://files.pythonhosted.org/packages/bc/a0/688cc99463f12f7669eec7c8acc71ef56a1521b99eab7cd3abb75af887b0/yarl-1.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e3968ec7d92a0c0f9ac34d5ecfd03869ec0cab0697c91a45db3fbbd95fe1b653", size = 359676, upload-time = "2025-06-10T00:44:30.041Z" }, + { url = "https://files.pythonhosted.org/packages/af/44/46407d7f7a56e9a85a4c207724c9f2c545c060380718eea9088f222ba697/yarl-1.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1a4fbb50e14396ba3d375f68bfe02215d8e7bc3ec49da8341fe3157f59d2ff5", size = 352614, upload-time = "2025-06-10T00:44:32.171Z" }, + { url = "https://files.pythonhosted.org/packages/b1/91/31163295e82b8d5485d31d9cf7754d973d41915cadce070491778d9c9825/yarl-1.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11a62c839c3a8eac2410e951301309426f368388ff2f33799052787035793b02", size = 336766, upload-time = "2025-06-10T00:44:34.494Z" }, + { url = "https://files.pythonhosted.org/packages/b4/8e/c41a5bc482121f51c083c4c2bcd16b9e01e1cf8729e380273a952513a21f/yarl-1.20.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:041eaa14f73ff5a8986b4388ac6bb43a77f2ea09bf1913df7a35d4646db69e53", size = 364615, upload-time = "2025-06-10T00:44:36.856Z" }, + { url = "https://files.pythonhosted.org/packages/e3/5b/61a3b054238d33d70ea06ebba7e58597891b71c699e247df35cc984ab393/yarl-1.20.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:377fae2fef158e8fd9d60b4c8751387b8d1fb121d3d0b8e9b0be07d1b41e83dc", size = 360982, upload-time = "2025-06-10T00:44:39.141Z" }, + { url = "https://files.pythonhosted.org/packages/df/a3/6a72fb83f8d478cb201d14927bc8040af901811a88e0ff2da7842dd0ed19/yarl-1.20.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:1c92f4390e407513f619d49319023664643d3339bd5e5a56a3bebe01bc67ec04", size = 369792, upload-time = "2025-06-10T00:44:40.934Z" }, + { url = "https://files.pythonhosted.org/packages/7c/af/4cc3c36dfc7c077f8dedb561eb21f69e1e9f2456b91b593882b0b18c19dc/yarl-1.20.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:d25ddcf954df1754ab0f86bb696af765c5bfaba39b74095f27eececa049ef9a4", size = 382049, upload-time = "2025-06-10T00:44:42.854Z" }, + { url = "https://files.pythonhosted.org/packages/19/3a/e54e2c4752160115183a66dc9ee75a153f81f3ab2ba4bf79c3c53b33de34/yarl-1.20.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:909313577e9619dcff8c31a0ea2aa0a2a828341d92673015456b3ae492e7317b", size = 384774, upload-time = "2025-06-10T00:44:45.275Z" }, + { url = "https://files.pythonhosted.org/packages/9c/20/200ae86dabfca89060ec6447649f219b4cbd94531e425e50d57e5f5ac330/yarl-1.20.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:793fd0580cb9664548c6b83c63b43c477212c0260891ddf86809e1c06c8b08f1", size = 374252, upload-time = "2025-06-10T00:44:47.31Z" }, + { url = "https://files.pythonhosted.org/packages/83/75/11ee332f2f516b3d094e89448da73d557687f7d137d5a0f48c40ff211487/yarl-1.20.1-cp313-cp313-win32.whl", hash = "sha256:468f6e40285de5a5b3c44981ca3a319a4b208ccc07d526b20b12aeedcfa654b7", size = 81198, upload-time = "2025-06-10T00:44:49.164Z" }, + { url = "https://files.pythonhosted.org/packages/ba/ba/39b1ecbf51620b40ab402b0fc817f0ff750f6d92712b44689c2c215be89d/yarl-1.20.1-cp313-cp313-win_amd64.whl", hash = "sha256:495b4ef2fea40596bfc0affe3837411d6aa3371abcf31aac0ccc4bdd64d4ef5c", size = 86346, upload-time = "2025-06-10T00:44:51.182Z" }, + { url = "https://files.pythonhosted.org/packages/43/c7/669c52519dca4c95153c8ad96dd123c79f354a376346b198f438e56ffeb4/yarl-1.20.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:f60233b98423aab21d249a30eb27c389c14929f47be8430efa7dbd91493a729d", size = 138826, upload-time = "2025-06-10T00:44:52.883Z" }, + { url = "https://files.pythonhosted.org/packages/6a/42/fc0053719b44f6ad04a75d7f05e0e9674d45ef62f2d9ad2c1163e5c05827/yarl-1.20.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:6f3eff4cc3f03d650d8755c6eefc844edde99d641d0dcf4da3ab27141a5f8ddf", size = 93217, upload-time = "2025-06-10T00:44:54.658Z" }, + { url = "https://files.pythonhosted.org/packages/4f/7f/fa59c4c27e2a076bba0d959386e26eba77eb52ea4a0aac48e3515c186b4c/yarl-1.20.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:69ff8439d8ba832d6bed88af2c2b3445977eba9a4588b787b32945871c2444e3", size = 92700, upload-time = "2025-06-10T00:44:56.784Z" }, + { url = "https://files.pythonhosted.org/packages/2f/d4/062b2f48e7c93481e88eff97a6312dca15ea200e959f23e96d8ab898c5b8/yarl-1.20.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cf34efa60eb81dd2645a2e13e00bb98b76c35ab5061a3989c7a70f78c85006d", size = 347644, upload-time = "2025-06-10T00:44:59.071Z" }, + { url = "https://files.pythonhosted.org/packages/89/47/78b7f40d13c8f62b499cc702fdf69e090455518ae544c00a3bf4afc9fc77/yarl-1.20.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8e0fe9364ad0fddab2688ce72cb7a8e61ea42eff3c7caeeb83874a5d479c896c", size = 323452, upload-time = "2025-06-10T00:45:01.605Z" }, + { url = "https://files.pythonhosted.org/packages/eb/2b/490d3b2dc66f52987d4ee0d3090a147ea67732ce6b4d61e362c1846d0d32/yarl-1.20.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8f64fbf81878ba914562c672024089e3401974a39767747691c65080a67b18c1", size = 346378, upload-time = "2025-06-10T00:45:03.946Z" }, + { url = "https://files.pythonhosted.org/packages/66/ad/775da9c8a94ce925d1537f939a4f17d782efef1f973039d821cbe4bcc211/yarl-1.20.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6342d643bf9a1de97e512e45e4b9560a043347e779a173250824f8b254bd5ce", size = 353261, upload-time = "2025-06-10T00:45:05.992Z" }, + { url = "https://files.pythonhosted.org/packages/4b/23/0ed0922b47a4f5c6eb9065d5ff1e459747226ddce5c6a4c111e728c9f701/yarl-1.20.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56dac5f452ed25eef0f6e3c6a066c6ab68971d96a9fb441791cad0efba6140d3", size = 335987, upload-time = "2025-06-10T00:45:08.227Z" }, + { url = "https://files.pythonhosted.org/packages/3e/49/bc728a7fe7d0e9336e2b78f0958a2d6b288ba89f25a1762407a222bf53c3/yarl-1.20.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7d7f497126d65e2cad8dc5f97d34c27b19199b6414a40cb36b52f41b79014be", size = 329361, upload-time = "2025-06-10T00:45:10.11Z" }, + { url = "https://files.pythonhosted.org/packages/93/8f/b811b9d1f617c83c907e7082a76e2b92b655400e61730cd61a1f67178393/yarl-1.20.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:67e708dfb8e78d8a19169818eeb5c7a80717562de9051bf2413aca8e3696bf16", size = 346460, upload-time = "2025-06-10T00:45:12.055Z" }, + { url = "https://files.pythonhosted.org/packages/70/fd/af94f04f275f95da2c3b8b5e1d49e3e79f1ed8b6ceb0f1664cbd902773ff/yarl-1.20.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:595c07bc79af2494365cc96ddeb772f76272364ef7c80fb892ef9d0649586513", size = 334486, upload-time = "2025-06-10T00:45:13.995Z" }, + { url = "https://files.pythonhosted.org/packages/84/65/04c62e82704e7dd0a9b3f61dbaa8447f8507655fd16c51da0637b39b2910/yarl-1.20.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7bdd2f80f4a7df852ab9ab49484a4dee8030023aa536df41f2d922fd57bf023f", size = 342219, upload-time = "2025-06-10T00:45:16.479Z" }, + { url = "https://files.pythonhosted.org/packages/91/95/459ca62eb958381b342d94ab9a4b6aec1ddec1f7057c487e926f03c06d30/yarl-1.20.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:c03bfebc4ae8d862f853a9757199677ab74ec25424d0ebd68a0027e9c639a390", size = 350693, upload-time = "2025-06-10T00:45:18.399Z" }, + { url = "https://files.pythonhosted.org/packages/a6/00/d393e82dd955ad20617abc546a8f1aee40534d599ff555ea053d0ec9bf03/yarl-1.20.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:344d1103e9c1523f32a5ed704d576172d2cabed3122ea90b1d4e11fe17c66458", size = 355803, upload-time = "2025-06-10T00:45:20.677Z" }, + { url = "https://files.pythonhosted.org/packages/9e/ed/c5fb04869b99b717985e244fd93029c7a8e8febdfcffa06093e32d7d44e7/yarl-1.20.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:88cab98aa4e13e1ade8c141daeedd300a4603b7132819c484841bb7af3edce9e", size = 341709, upload-time = "2025-06-10T00:45:23.221Z" }, + { url = "https://files.pythonhosted.org/packages/24/fd/725b8e73ac2a50e78a4534ac43c6addf5c1c2d65380dd48a9169cc6739a9/yarl-1.20.1-cp313-cp313t-win32.whl", hash = "sha256:b121ff6a7cbd4abc28985b6028235491941b9fe8fe226e6fdc539c977ea1739d", size = 86591, upload-time = "2025-06-10T00:45:25.793Z" }, + { url = "https://files.pythonhosted.org/packages/94/c3/b2e9f38bc3e11191981d57ea08cab2166e74ea770024a646617c9cddd9f6/yarl-1.20.1-cp313-cp313t-win_amd64.whl", hash = "sha256:541d050a355bbbc27e55d906bc91cb6fe42f96c01413dd0f4ed5a5240513874f", size = 93003, upload-time = "2025-06-10T00:45:27.752Z" }, + { url = "https://files.pythonhosted.org/packages/01/75/0d37402d208d025afa6b5b8eb80e466d267d3fd1927db8e317d29a94a4cb/yarl-1.20.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e42ba79e2efb6845ebab49c7bf20306c4edf74a0b20fc6b2ccdd1a219d12fad3", size = 134259, upload-time = "2025-06-10T00:45:29.882Z" }, + { url = "https://files.pythonhosted.org/packages/73/84/1fb6c85ae0cf9901046f07d0ac9eb162f7ce6d95db541130aa542ed377e6/yarl-1.20.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:41493b9b7c312ac448b7f0a42a089dffe1d6e6e981a2d76205801a023ed26a2b", size = 91269, upload-time = "2025-06-10T00:45:32.917Z" }, + { url = "https://files.pythonhosted.org/packages/f3/9c/eae746b24c4ea29a5accba9a06c197a70fa38a49c7df244e0d3951108861/yarl-1.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f5a5928ff5eb13408c62a968ac90d43f8322fd56d87008b8f9dabf3c0f6ee983", size = 89995, upload-time = "2025-06-10T00:45:35.066Z" }, + { url = "https://files.pythonhosted.org/packages/fb/30/693e71003ec4bc1daf2e4cf7c478c417d0985e0a8e8f00b2230d517876fc/yarl-1.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30c41ad5d717b3961b2dd785593b67d386b73feca30522048d37298fee981805", size = 325253, upload-time = "2025-06-10T00:45:37.052Z" }, + { url = "https://files.pythonhosted.org/packages/0f/a2/5264dbebf90763139aeb0b0b3154763239398400f754ae19a0518b654117/yarl-1.20.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:59febc3969b0781682b469d4aca1a5cab7505a4f7b85acf6db01fa500fa3f6ba", size = 320897, upload-time = "2025-06-10T00:45:39.962Z" }, + { url = "https://files.pythonhosted.org/packages/e7/17/77c7a89b3c05856489777e922f41db79ab4faf58621886df40d812c7facd/yarl-1.20.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d2b6fb3622b7e5bf7a6e5b679a69326b4279e805ed1699d749739a61d242449e", size = 340696, upload-time = "2025-06-10T00:45:41.915Z" }, + { url = "https://files.pythonhosted.org/packages/6d/55/28409330b8ef5f2f681f5b478150496ec9cf3309b149dab7ec8ab5cfa3f0/yarl-1.20.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:749d73611db8d26a6281086f859ea7ec08f9c4c56cec864e52028c8b328db723", size = 335064, upload-time = "2025-06-10T00:45:43.893Z" }, + { url = "https://files.pythonhosted.org/packages/85/58/cb0257cbd4002828ff735f44d3c5b6966c4fd1fc8cc1cd3cd8a143fbc513/yarl-1.20.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9427925776096e664c39e131447aa20ec738bdd77c049c48ea5200db2237e000", size = 327256, upload-time = "2025-06-10T00:45:46.393Z" }, + { url = "https://files.pythonhosted.org/packages/53/f6/c77960370cfa46f6fb3d6a5a79a49d3abfdb9ef92556badc2dcd2748bc2a/yarl-1.20.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ff70f32aa316393eaf8222d518ce9118148eddb8a53073c2403863b41033eed5", size = 316389, upload-time = "2025-06-10T00:45:48.358Z" }, + { url = "https://files.pythonhosted.org/packages/64/ab/be0b10b8e029553c10905b6b00c64ecad3ebc8ace44b02293a62579343f6/yarl-1.20.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:c7ddf7a09f38667aea38801da8b8d6bfe81df767d9dfc8c88eb45827b195cd1c", size = 340481, upload-time = "2025-06-10T00:45:50.663Z" }, + { url = "https://files.pythonhosted.org/packages/c5/c3/3f327bd3905a4916029bf5feb7f86dcf864c7704f099715f62155fb386b2/yarl-1.20.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:57edc88517d7fc62b174fcfb2e939fbc486a68315d648d7e74d07fac42cec240", size = 336941, upload-time = "2025-06-10T00:45:52.554Z" }, + { url = "https://files.pythonhosted.org/packages/d1/42/040bdd5d3b3bb02b4a6ace4ed4075e02f85df964d6e6cb321795d2a6496a/yarl-1.20.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:dab096ce479d5894d62c26ff4f699ec9072269d514b4edd630a393223f45a0ee", size = 339936, upload-time = "2025-06-10T00:45:54.919Z" }, + { url = "https://files.pythonhosted.org/packages/0d/1c/911867b8e8c7463b84dfdc275e0d99b04b66ad5132b503f184fe76be8ea4/yarl-1.20.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:14a85f3bd2d7bb255be7183e5d7d6e70add151a98edf56a770d6140f5d5f4010", size = 360163, upload-time = "2025-06-10T00:45:56.87Z" }, + { url = "https://files.pythonhosted.org/packages/e2/31/8c389f6c6ca0379b57b2da87f1f126c834777b4931c5ee8427dd65d0ff6b/yarl-1.20.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:2c89b5c792685dd9cd3fa9761c1b9f46fc240c2a3265483acc1565769996a3f8", size = 359108, upload-time = "2025-06-10T00:45:58.869Z" }, + { url = "https://files.pythonhosted.org/packages/7f/09/ae4a649fb3964324c70a3e2b61f45e566d9ffc0affd2b974cbf628957673/yarl-1.20.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:69e9b141de5511021942a6866990aea6d111c9042235de90e08f94cf972ca03d", size = 351875, upload-time = "2025-06-10T00:46:01.45Z" }, + { url = "https://files.pythonhosted.org/packages/8d/43/bbb4ed4c34d5bb62b48bf957f68cd43f736f79059d4f85225ab1ef80f4b9/yarl-1.20.1-cp39-cp39-win32.whl", hash = "sha256:b5f307337819cdfdbb40193cad84978a029f847b0a357fbe49f712063cfc4f06", size = 82293, upload-time = "2025-06-10T00:46:03.763Z" }, + { url = "https://files.pythonhosted.org/packages/d7/cd/ce185848a7dba68ea69e932674b5c1a42a1852123584bccc5443120f857c/yarl-1.20.1-cp39-cp39-win_amd64.whl", hash = "sha256:eae7bfe2069f9c1c5b05fc7fe5d612e5bbc089a39309904ee8b829e322dcad00", size = 87385, upload-time = "2025-06-10T00:46:05.655Z" }, + { url = "https://files.pythonhosted.org/packages/b4/2d/2345fce04cfd4bee161bf1e7d9cdc702e3e16109021035dbb24db654a622/yarl-1.20.1-py3-none-any.whl", hash = "sha256:83b8eb083fe4683c6115795d9fc1cfaf2cbbefb19b3a1cb68f6527460f483a77", size = 46542, upload-time = "2025-06-10T00:46:07.521Z" }, ] [[package]] name = "zipp" -version = "3.21.0" +version = "3.23.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/3f/50/bad581df71744867e9468ebd0bcd6505de3b275e06f202c2cb016e3ff56f/zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4", size = 24545 } +sdist = { url = "https://files.pythonhosted.org/packages/e3/02/0f2892c661036d50ede074e376733dca2ae7c6eb617489437771209d4180/zipp-3.23.0.tar.gz", hash = "sha256:a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166", size = 25547, upload-time = "2025-06-08T17:06:39.4Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/1a/7e4798e9339adc931158c9d69ecc34f5e6791489d469f5e50ec15e35f458/zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931", size = 9630 }, + { url = "https://files.pythonhosted.org/packages/2e/54/647ade08bf0db230bfea292f893923872fd20be6ac6f53b2b936ba839d75/zipp-3.23.0-py3-none-any.whl", hash = "sha256:071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e", size = 10276, upload-time = "2025-06-08T17:06:38.034Z" }, ] From 8afd67b9f95c4f3d503bc4ec4efba15bea286628 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 14 Jun 2025 14:36:45 +0000 Subject: [PATCH 64/97] chore(deps): update dependency sphinx-autoapi to v3.6.0 --- pyproject.toml | 2 +- uv.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 5aba926..d11fbb3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,7 +29,7 @@ test = [ ] docs = [ "sphinx>=7.2.6,<8.0.0", - "sphinx-autoapi==3.4.0", + "sphinx-autoapi==3.6.0", ] [tool.pyright] diff --git a/uv.lock b/uv.lock index c57ad1a..8b0f9c4 100644 --- a/uv.lock +++ b/uv.lock @@ -566,7 +566,7 @@ requires-dist = [ { name = "aiohttp", specifier = ">=3.9.5,<4.0.0" }, { name = "beautifulsoup4", specifier = ">=4.12.3,<5.0.0" }, { name = "bleak", specifier = ">=0.22.2,<1.0.0" }, - { name = "cryptography", specifier = ">=42.0.0" }, + { name = "cryptography", specifier = ">=42.0.0,<46.0.0" }, { name = "srp", specifier = ">=1.0.21,<2.0.0" }, { name = "typing-extensions", specifier = ">=4.12.2,<5.0.0" }, ] @@ -581,7 +581,7 @@ dev = [ ] docs = [ { name = "sphinx", specifier = ">=7.2.6,<8.0.0" }, - { name = "sphinx-autoapi", specifier = "==3.4.0" }, + { name = "sphinx-autoapi", specifier = "==3.6.0" }, ] test = [{ name = "pytest", specifier = ">=8.3.2,<9.0.0" }] @@ -1361,7 +1361,7 @@ wheels = [ [[package]] name = "sphinx-autoapi" -version = "3.4.0" +version = "3.6.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "astroid" }, @@ -1370,9 +1370,9 @@ dependencies = [ { name = "sphinx" }, { name = "stdlib-list", marker = "python_full_version < '3.10'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/4a/eb/cc243583bb1d518ca3b10998c203d919a8ed90affd4831f2b61ad09043d2/sphinx_autoapi-3.4.0.tar.gz", hash = "sha256:e6d5371f9411bbb9fca358c00a9e57aef3ac94cbfc5df4bab285946462f69e0c", size = 29292, upload-time = "2024-11-30T01:09:40.956Z" } +sdist = { url = "https://files.pythonhosted.org/packages/7f/a8/22b379a2a75ccb881217d3d4ae56d7d35f2d1bb4c8c0c51d0253676746a1/sphinx_autoapi-3.6.0.tar.gz", hash = "sha256:c685f274e41d0842ae7e199460c322c4bd7fec816ccc2da8d806094b4f64af06", size = 55417, upload-time = "2025-02-18T01:50:55.241Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/de/d6/f2acdc2567337fd5f5dc091a4e58d8a0fb14927b9779fc1e5ecee96d9824/sphinx_autoapi-3.4.0-py3-none-any.whl", hash = "sha256:4027fef2875a22c5f2a57107c71641d82f6166bf55beb407a47aaf3ef14e7b92", size = 34095, upload-time = "2024-11-30T01:09:17.272Z" }, + { url = "https://files.pythonhosted.org/packages/58/17/0eda9dc80fcaf257222b506844207e71b5d59567c41bbdcca2a72da119b9/sphinx_autoapi-3.6.0-py3-none-any.whl", hash = "sha256:f3b66714493cab140b0e896d33ce7137654a16ac1edb6563edcbd47bf975f711", size = 35281, upload-time = "2025-02-18T01:50:52.789Z" }, ] [[package]] From 75646906216da19502d5f733c06138c64572953f Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Sat, 14 Jun 2025 16:37:00 +0200 Subject: [PATCH 65/97] chore: update `ruff` in pre-commit --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c156d94..096d39a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,6 +1,6 @@ repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.11.4 + rev: v0.11.13 hooks: - id: ruff args: ["--fix"] From b64e61aa1a15a5ea689a8f7d925e41c05e1f1978 Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Sat, 14 Jun 2025 16:41:30 +0200 Subject: [PATCH 66/97] bump: `v0.8.0` --- pyproject.toml | 2 +- uv.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 5aba926..a5796d7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "FindMy" -version = "v0.7.6" +version = "0.8.0" description = "Everything you need to work with Apple's Find My network!" readme = "README.md" authors = [ diff --git a/uv.lock b/uv.lock index c57ad1a..d54624f 100644 --- a/uv.lock +++ b/uv.lock @@ -534,7 +534,7 @@ wheels = [ [[package]] name = "findmy" -version = "0.7.6" +version = "0.8.0" source = { editable = "." } dependencies = [ { name = "aiohttp" }, @@ -566,7 +566,7 @@ requires-dist = [ { name = "aiohttp", specifier = ">=3.9.5,<4.0.0" }, { name = "beautifulsoup4", specifier = ">=4.12.3,<5.0.0" }, { name = "bleak", specifier = ">=0.22.2,<1.0.0" }, - { name = "cryptography", specifier = ">=42.0.0" }, + { name = "cryptography", specifier = ">=42.0.0,<46.0.0" }, { name = "srp", specifier = ">=1.0.21,<2.0.0" }, { name = "typing-extensions", specifier = ">=4.12.2,<5.0.0" }, ] From 5e649156218b9174b52dd3435b2e07af63d116bb Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Tue, 8 Jul 2025 13:19:14 +0200 Subject: [PATCH 67/97] feat!(reports): Migrate to new acsn API Apple no longer returns the `published_at` and `description` fields on location reports, so these have been deprecated. --- findmy/reports/account.py | 23 +++++++++++++++++---- findmy/reports/reports.py | 42 +++++++++++---------------------------- 2 files changed, 31 insertions(+), 34 deletions(-) diff --git a/findmy/reports/account.py b/findmy/reports/account.py index 64381e1..3c62f80 100644 --- a/findmy/reports/account.py +++ b/findmy/reports/account.py @@ -343,7 +343,7 @@ class AsyncAppleAccount(BaseAppleAccount): _ENDPOINT_2FA_TD_SUBMIT = "https://gsa.apple.com/grandslam/GsService2/validate" # reports endpoints - _ENDPOINT_REPORTS_FETCH = "https://gateway.icloud.com/acsnservice/fetch" + _ENDPOINT_REPORTS_FETCH = "https://gateway.icloud.com/findmyservice/v2/fetch" def __init__( self, @@ -599,7 +599,22 @@ class AsyncAppleAccount(BaseAppleAccount): self._login_state_data["dsid"], self._login_state_data["mobileme_data"]["tokens"]["searchPartyToken"], ) - data = {"search": [{"startDate": start, "endDate": end, "ids": ids}]} + data = { + "clientContext": { + "clientBundleIdentifier": "com.apple.icloud.searchpartyuseragent", + "policy": "foregroundClient", + }, + "fetch": [ + { + "startDateSecondary": start, + "ownedDeviceIds": [], + "keyType": 1, + "startDate": start, + "endDate": end, + "primaryIds": ids, + }, + ], + } async def _do_request() -> HttpResponse: return await self._http.post( @@ -629,11 +644,11 @@ class AsyncAppleAccount(BaseAppleAccount): resp = r.json() except json.JSONDecodeError: resp = {} - if not r.ok or resp.get("statusCode") != "200": + if not r.ok or resp.get("acsnLocations", {}).get("statusCode") != "200": msg = f"Failed to fetch reports: {resp.get('statusCode')}" raise UnhandledProtocolError(msg) - return resp + return resp["acsnLocations"] @overload async def fetch_reports( diff --git a/findmy/reports/reports.py b/findmy/reports/reports.py index 8502d45..2db3d90 100644 --- a/findmy/reports/reports.py +++ b/findmy/reports/reports.py @@ -33,14 +33,10 @@ class LocationReport(HasHashedPublicKey): self, payload: bytes, hashed_adv_key: bytes, - published_at: datetime, - description: str = "", ) -> None: """Initialize a `KeyReport`. You should probably use `KeyReport.from_payload` instead.""" self._payload: bytes = payload self._hashed_adv_key: bytes = hashed_adv_key - self._published_at: datetime = published_at - self._description: str = description self._decrypted_data: tuple[KeyPair, bytes] | None = None @@ -109,16 +105,6 @@ class LocationReport(HasHashedPublicKey): self._decrypted_data = (key, decrypted_payload) - @property - def published_at(self) -> datetime: - """The `datetime` when this report was published by a device.""" - return self._published_at - - @property - def description(self) -> str: - """Description of the location report as published by Apple.""" - return self._description - @property def timestamp(self) -> datetime: """The `datetime` when this report was recorded by a device.""" @@ -357,25 +343,21 @@ class LocationReportsFetcher: id_to_key: dict[bytes, HasHashedPublicKey] = {key.hashed_adv_key_bytes: key for key in keys} reports: dict[HasHashedPublicKey, list[LocationReport]] = defaultdict(list) - for report in data.get("results", []): - payload = base64.b64decode(report["payload"]) - hashed_adv_key = base64.b64decode(report["id"]) - date_published = datetime.fromtimestamp( - report.get("datePublished", 0) / 1000, - tz=timezone.utc, - ).astimezone() - description = report.get("description", "") + for key_reports in data.get("locationPayload", []): + hashed_adv_key_bytes = base64.b64decode(key_reports["id"]) + key = id_to_key[hashed_adv_key_bytes] - loc_report = LocationReport(payload, hashed_adv_key, date_published, description) + for report in key_reports.get("locationInfo", []): + payload = base64.b64decode(report) + loc_report = LocationReport(payload, hashed_adv_key_bytes) - # pre-decrypt if possible - key = id_to_key[hashed_adv_key] - if isinstance(key, KeyPair): - loc_report.decrypt(key) + if loc_report.timestamp < date_from or loc_report.timestamp > date_to: + continue - if loc_report.timestamp < date_from or loc_report.timestamp > date_to: - continue + # pre-decrypt if possible + if isinstance(key, KeyPair): + loc_report.decrypt(key) - reports[key].append(loc_report) + reports[key].append(loc_report) return reports From e74197372f484ab24d83c1c4bcac26cee61672e6 Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Thu, 10 Jul 2025 16:19:33 +0200 Subject: [PATCH 68/97] fix(reports): split key queries into devices Apple only returns up to 20 location reports per device. --- findmy/reports/account.py | 21 +++++++++---- findmy/reports/reports.py | 64 +++++++++++++++++++++------------------ 2 files changed, 49 insertions(+), 36 deletions(-) diff --git a/findmy/reports/account.py b/findmy/reports/account.py index 3c62f80..05ee744 100644 --- a/findmy/reports/account.py +++ b/findmy/reports/account.py @@ -593,12 +593,19 @@ class AsyncAppleAccount(BaseAppleAccount): return await self._login_mobileme() @require_login_state(LoginState.LOGGED_IN) - async def fetch_raw_reports(self, start: int, end: int, ids: list[str]) -> dict[str, Any]: + async def fetch_raw_reports( + self, + start: datetime, + end: datetime, + devices: list[list[str]], + ) -> dict[str, Any]: """Make a request for location reports, returning raw data.""" auth = ( self._login_state_data["dsid"], self._login_state_data["mobileme_data"]["tokens"]["searchPartyToken"], ) + start_ts = int(start.timestamp() * 1000) + end_ts = int(end.timestamp() * 1000) data = { "clientContext": { "clientBundleIdentifier": "com.apple.icloud.searchpartyuseragent", @@ -606,13 +613,15 @@ class AsyncAppleAccount(BaseAppleAccount): }, "fetch": [ { - "startDateSecondary": start, "ownedDeviceIds": [], "keyType": 1, - "startDate": start, - "endDate": end, - "primaryIds": ids, - }, + "startDate": start_ts, + "startDateSecondary": start_ts, + "endDate": end_ts, + # passing all keys as primary seems to work fine + "primaryIds": device_keys, + } + for device_keys in devices ], } diff --git a/findmy/reports/reports.py b/findmy/reports/reports.py index 2db3d90..df532fc 100644 --- a/findmy/reports/reports.py +++ b/findmy/reports/reports.py @@ -247,7 +247,7 @@ class LocationReportsFetcher: device: Sequence[HasHashedPublicKey | RollingKeyPairSource], ) -> dict[HasHashedPublicKey | RollingKeyPairSource, list[LocationReport]]: ... - async def fetch_reports( + async def fetch_reports( # noqa: C901 self, date_from: datetime, date_to: datetime, @@ -269,46 +269,48 @@ class LocationReportsFetcher: as key, and a list of location reports as value. """ key_devs: dict[HasHashedPublicKey, HasHashedPublicKey | RollingKeyPairSource] = {} + key_batches: list[list[HasHashedPublicKey]] = [] if isinstance(device, HasHashedPublicKey): # single key key_devs = {device: device} + key_batches.append([device]) elif isinstance(device, RollingKeyPairSource): # key generator # add 12h margin to the generator - key_devs = { # noqa: C420 - key: device - for key in device.keys_between( - date_from - timedelta(hours=12), - date_to + timedelta(hours=12), - ) - } - + keys = device.keys_between( + date_from - timedelta(hours=12), + date_to + timedelta(hours=12), + ) + key_devs = dict.fromkeys(keys, device) + key_batches.append(list(keys)) elif isinstance(device, list) and all( isinstance(x, HasHashedPublicKey | RollingKeyPairSource) for x in device ): # multiple key generators # add 12h margin to each generator device = cast("list[HasHashedPublicKey | RollingKeyPairSource]", device) - key_devs = {key: key for key in device if isinstance(key, HasHashedPublicKey)} | { - key: dev - for dev in device - if isinstance(dev, RollingKeyPairSource) - for key in dev.keys_between( - date_from - timedelta(hours=12), - date_to + timedelta(hours=12), - ) - } + for dev in device: + if isinstance(dev, HasHashedPublicKey): + key_devs[dev] = dev + key_batches.append([dev]) + elif isinstance(dev, RollingKeyPairSource): + keys = dev.keys_between( + date_from - timedelta(hours=12), + date_to + timedelta(hours=12), + ) + for key in keys: + key_devs[key] = dev + key_batches.append(list(keys)) else: msg = "Unknown device type: %s" raise ValueError(msg, type(device)) # sequence of keys (fetch 256 max at a time) - key_reports: dict[HasHashedPublicKey, list[LocationReport]] = {} - keys = list(key_devs.keys()) - for key_offset in range(0, len(keys), 256): - chunk_keys = keys[key_offset : key_offset + 256] - chunk_reports = await self._fetch_reports(date_from, date_to, chunk_keys) - key_reports |= chunk_reports + key_reports: dict[HasHashedPublicKey, list[LocationReport]] = await self._fetch_reports( + date_from, + date_to, + key_batches, + ) # combine (key -> list[report]) and (key -> device) into (device -> list[report]) device_reports = defaultdict(list) @@ -328,20 +330,22 @@ class LocationReportsFetcher: self, date_from: datetime, date_to: datetime, - keys: Sequence[HasHashedPublicKey], + device_keys: Sequence[Sequence[HasHashedPublicKey]], ) -> dict[HasHashedPublicKey, list[LocationReport]]: - logger.debug("Fetching reports for %s keys", len(keys)) + logger.debug("Fetching reports for %s device(s)", len(device_keys)) # lock requested time range to the past 7 days, +- 12 hours, then filter the response. # this is due to an Apple backend bug where the time range is not respected. # More info: https://github.com/biemster/FindMy/issues/7 now = datetime.now().astimezone() - start_date = int((now - timedelta(days=7, hours=12)).timestamp() * 1000) - end_date = int((now + timedelta(hours=12)).timestamp() * 1000) - ids = [key.hashed_adv_key_b64 for key in keys] + start_date = now - timedelta(days=7, hours=12) + end_date = now + timedelta(hours=12) + ids = [[key.hashed_adv_key_b64 for key in keys] for keys in device_keys] data = await self._account.fetch_raw_reports(start_date, end_date, ids) - id_to_key: dict[bytes, HasHashedPublicKey] = {key.hashed_adv_key_bytes: key for key in keys} + id_to_key: dict[bytes, HasHashedPublicKey] = { + key.hashed_adv_key_bytes: key for keys in device_keys for key in keys + } reports: dict[HasHashedPublicKey, list[LocationReport]] = defaultdict(list) for key_reports in data.get("locationPayload", []): hashed_adv_key_bytes = base64.b64decode(key_reports["id"]) From a2c3b3136e08e363d5d97dd9fb05354d1c3a9e58 Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Fri, 11 Jul 2025 15:04:32 +0200 Subject: [PATCH 69/97] feat(reports): implement local Anisette provider --- findmy/reports/account.py | 2 +- findmy/reports/anisette.py | 128 ++++++++++++++++++++++++---- findmy/util/{closable.py => abc.py} | 17 +++- findmy/util/http.py | 2 +- pyproject.toml | 5 +- uv.lock | 113 ++++++++++++++++++++++++ 6 files changed, 243 insertions(+), 24 deletions(-) rename findmy/util/{closable.py => abc.py} (68%) diff --git a/findmy/reports/account.py b/findmy/reports/account.py index 64381e1..069eacc 100644 --- a/findmy/reports/account.py +++ b/findmy/reports/account.py @@ -33,7 +33,7 @@ from findmy.errors import ( UnhandledProtocolError, ) from findmy.util import crypto -from findmy.util.closable import Closable +from findmy.util.abc import Closable from findmy.util.http import HttpResponse, HttpSession, decode_plist from .reports import LocationReport, LocationReportsFetcher diff --git a/findmy/reports/anisette.py b/findmy/reports/anisette.py index 4d874d3..5beee2b 100644 --- a/findmy/reports/anisette.py +++ b/findmy/reports/anisette.py @@ -8,16 +8,20 @@ import logging import time from abc import ABC, abstractmethod from datetime import datetime, timezone +from io import BytesIO +from pathlib import Path +from typing import BinaryIO +from anisette import Anisette, AnisetteHeaders from typing_extensions import override -from findmy.util.closable import Closable +from findmy.util.abc import Closable, Serializable from findmy.util.http import HttpSession logger = logging.getLogger(__name__) -class BaseAnisetteProvider(Closable, ABC): +class BaseAnisetteProvider(Closable, Serializable, ABC): """ Abstract base class for Anisette providers. @@ -27,22 +31,13 @@ class BaseAnisetteProvider(Closable, ABC): @property @abstractmethod def otp(self) -> str: - """ - A seemingly random base64 string containing 28 bytes. - - TODO: Figure out how to generate this. - """ + """A seemingly random base64 string containing 28 bytes.""" raise NotImplementedError @property @abstractmethod def machine(self) -> str: - """ - A base64 encoded string of 60 'random' bytes. - - We're not sure how this is generated, we have to rely on the server. - TODO: Figure out how to generate this. - """ + """A base64 encoded string of 60 'random' bytes.""" raise NotImplementedError @property @@ -177,6 +172,24 @@ class RemoteAnisetteProvider(BaseAnisetteProvider): self._anisette_data: dict[str, str] | None = None self._anisette_data_expires_at: float = 0 + @override + def serialize(self) -> dict: + """See `BaseAnisetteProvider.serialize`.""" + return { + "type": "aniRemote", + "url": self._server_url, + } + + @classmethod + @override + def deserialize(cls, data: dict) -> RemoteAnisetteProvider: + """See `BaseAnisetteProvider.deserialize`.""" + assert data["type"] == "aniRemote" + + server_url = data["url"] + + return cls(server_url) + @property @override def otp(self) -> str: @@ -219,22 +232,101 @@ class RemoteAnisetteProvider(BaseAnisetteProvider): await self._http.close() -# TODO(malmeloo): implement using pyprovision -# https://github.com/malmeloo/FindMy.py/issues/2 class LocalAnisetteProvider(BaseAnisetteProvider): - """Anisette provider. Generates headers without a remote server using pyprovision.""" + """Anisette provider. Generates headers without a remote server using the `anisette` library.""" + + def __init__( + self, + *, + state_blob: BinaryIO | None = None, + libs_path: str | Path | None = None, + ) -> None: + """Initialize the provider.""" + super().__init__() + + if isinstance(libs_path, str): + libs_path = Path(libs_path) + + if libs_path is None or not libs_path.is_file(): + logger.info( + "The Anisette engine will download libraries required for operation, " + "this may take a few seconds...", + ) + logger.info( + "To speed up future local Anisette initializations, " + "provide a filesystem path to load the libraries from.", + ) + + files: list[BinaryIO | Path] = [] + if state_blob is not None: + files.append(state_blob) + if libs_path is not None and libs_path.exists(): + files.append(libs_path) + + self._ani = Anisette.load(*files) + self._ani_data: AnisetteHeaders | None = None + self._libs_path: Path | None = libs_path + + if libs_path is not None: + self._ani.save_libs(libs_path) + if state_blob is not None and not self._ani.is_provisioned: + logger.warning( + "The Anisette state that was loaded has not yet been provisioned. " + "Was the previous session saved properly?", + ) + + @override + def serialize(self) -> dict: + """See `BaseAnisetteProvider.serialize`.""" + with BytesIO() as buf: + self._ani.save_provisioning(buf) + prov_data = base64.b64encode(buf.getvalue()).decode("utf-8") + + return { + "type": "aniLocal", + "prov_data": prov_data, + } + + @classmethod + @override + def deserialize(cls, data: dict, libs_path: str | Path | None = None) -> LocalAnisetteProvider: + """See `BaseAnisetteProvider.deserialize`.""" + assert data["type"] == "aniLocal" + + state_blob = BytesIO(base64.b64decode(data["prov_data"])) + + return cls(state_blob=state_blob, libs_path=libs_path) + + @override + async def get_headers( + self, + user_id: str, + device_id: str, + serial: str = "0", + with_client_info: bool = False, + ) -> dict[str, str]: + """See `BaseAnisetteProvider.get_headers`_.""" + self._ani_data = self._ani.get_data() + + return await super().get_headers(user_id, device_id, serial, with_client_info) @property @override def otp(self) -> str: """See `BaseAnisetteProvider.otp`_.""" - raise NotImplementedError + machine = (self._ani_data or {}).get("X-Apple-I-MD") + if machine is None: + logger.warning("X-Apple-I-MD header not found! Returning fallback...") + return machine or "" @property @override def machine(self) -> str: """See `BaseAnisetteProvider.machine`_.""" - raise NotImplementedError + machine = (self._ani_data or {}).get("X-Apple-I-MD-M") + if machine is None: + logger.warning("X-Apple-I-MD-M header not found! Returning fallback...") + return machine or "" @override async def close(self) -> None: diff --git a/findmy/util/closable.py b/findmy/util/abc.py similarity index 68% rename from findmy/util/closable.py rename to findmy/util/abc.py index d210bdc..101e11a 100644 --- a/findmy/util/closable.py +++ b/findmy/util/abc.py @@ -1,4 +1,4 @@ -"""ABC for async classes that need to be cleaned up before exiting.""" +"""Various utility ABCs for internal and external classes.""" from __future__ import annotations @@ -36,3 +36,18 @@ class Closable(ABC): loop.run_until_complete(self.close()) except RuntimeError: pass + + +class Serializable(ABC): + """ABC for serializable classes.""" + + @abstractmethod + def serialize(self) -> dict: + """Serialize the object to a JSON-serializable dictionary.""" + raise NotImplementedError + + @classmethod + @abstractmethod + def deserialize(cls, data: dict) -> Serializable: + """Deserialize the object from a JSON-serializable dictionary.""" + raise NotImplementedError diff --git a/findmy/util/http.py b/findmy/util/http.py index 92ddf79..fa18cd0 100644 --- a/findmy/util/http.py +++ b/findmy/util/http.py @@ -11,7 +11,7 @@ import aiohttp from aiohttp import BasicAuth, ClientSession, ClientTimeout from typing_extensions import Unpack, override -from .closable import Closable +from .abc import Closable from .parsers import decode_plist logger = logging.getLogger(__name__) diff --git a/pyproject.toml b/pyproject.toml index fce084a..4d9a2f3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,6 +6,7 @@ readme = "README.md" authors = [ {name = "Mike Almeloo", email = "git@mikealmel.ooo"}, ] +license-files = ["LICENSE.md"] requires-python = ">=3.9,<3.14" dependencies = [ "srp>=1.0.21,<2.0.0", @@ -14,6 +15,7 @@ dependencies = [ "aiohttp>=3.9.5,<4.0.0", "bleak>=0.22.2,<1.0.0", "typing-extensions>=4.12.2,<5.0.0", + "anisette>=1.2.1", ] [dependency-groups] @@ -78,9 +80,6 @@ ignore = [ "D", # documentation ] -[tool.setuptools] -license-files = [] - [build-system] requires = ["setuptools", "setuptools-scm"] build-backend = "setuptools.build_meta" diff --git a/uv.lock b/uv.lock index e680929..87aca91 100644 --- a/uv.lock +++ b/uv.lock @@ -139,6 +139,32 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/32/34/d4e1c02d3bee589efb5dfa17f88ea08bdb3e3eac12bc475462aec52ed223/alabaster-0.7.16-py3-none-any.whl", hash = "sha256:b46733c07dce03ae4e150330b975c75737fa60f0a7c591b6c8bf4928a28e2c92", size = 13511, upload-time = "2024-01-10T00:56:08.388Z" }, ] +[[package]] +name = "anisette" +version = "1.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "fs" }, + { name = "pyelftools" }, + { name = "typing-extensions" }, + { name = "unicorn" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c6/9b/ccd0889197f3ee506ea85a6a7104b4c4c9a666dbe213d7d459176ef2d93e/anisette-1.2.1.tar.gz", hash = "sha256:12d400ffc645a5efa5c81ee76cd77ea00f9acd04b5a03c732ecf2f86463c871b", size = 85326, upload-time = "2025-04-08T20:54:51.523Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/64/dbf4d1772e4a7640ce846405e35cd473ca13ad9df6bcf5e976a69dba1cd6/anisette-1.2.1-py3-none-any.whl", hash = "sha256:5ba9009c9ab802af0611c6b9f9275ac5fdba2e8f53aa560d80d5b635a6f81b57", size = 29211, upload-time = "2025-04-08T20:54:49.825Z" }, +] + +[[package]] +name = "appdirs" +version = "1.4.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d7/d8/05696357e0311f5b5c316d7b95f46c669dd9c15aaeecbb48c7d0aeb88c40/appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41", size = 13470, upload-time = "2020-05-11T07:59:51.037Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3b/00/2344469e2084fb287c2e0b57b72910309874c3245463acd6cf5e3db69324/appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128", size = 9566, upload-time = "2020-05-11T07:59:49.499Z" }, +] + [[package]] name = "astroid" version = "3.3.10" @@ -538,6 +564,7 @@ version = "0.8.0" source = { editable = "." } dependencies = [ { name = "aiohttp" }, + { name = "anisette" }, { name = "beautifulsoup4" }, { name = "bleak" }, { name = "cryptography" }, @@ -564,6 +591,7 @@ test = [ [package.metadata] requires-dist = [ { name = "aiohttp", specifier = ">=3.9.5,<4.0.0" }, + { name = "anisette", specifier = ">=1.2.1" }, { name = "beautifulsoup4", specifier = ">=4.12.3,<5.0.0" }, { name = "bleak", specifier = ">=0.22.2,<1.0.0" }, { name = "cryptography", specifier = ">=42.0.0,<46.0.0" }, @@ -696,6 +724,20 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ee/45/b82e3c16be2182bff01179db177fe144d58b5dc787a7d4492c6ed8b9317f/frozenlist-1.7.0-py3-none-any.whl", hash = "sha256:9a5af342e34f7e97caf8c995864c7a396418ae2859cc6fdf1b1073020d516a7e", size = 13106, upload-time = "2025-06-09T23:02:34.204Z" }, ] +[[package]] +name = "fs" +version = "2.4.16" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "appdirs" }, + { name = "setuptools" }, + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5d/a9/af5bfd5a92592c16cdae5c04f68187a309be8a146b528eac3c6e30edbad2/fs-2.4.16.tar.gz", hash = "sha256:ae97c7d51213f4b70b6a958292530289090de3a7e15841e108fbe144f069d313", size = 187441, upload-time = "2022-05-02T09:25:54.22Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b9/5c/a3d95dc1ec6cdeb032d789b552ecc76effa3557ea9186e1566df6aac18df/fs-2.4.16-py2.py3-none-any.whl", hash = "sha256:660064febbccda264ae0b6bace80a8d1be9e089e0a5eb2427b7d517f9a91545c", size = 135261, upload-time = "2022-05-02T09:25:52.363Z" }, +] + [[package]] name = "identify" version = "2.6.12" @@ -1104,6 +1146,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552, upload-time = "2024-03-30T13:22:20.476Z" }, ] +[[package]] +name = "pyelftools" +version = "0.32" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b9/ab/33968940b2deb3d92f5b146bc6d4009a5f95d1d06c148ea2f9ee965071af/pyelftools-0.32.tar.gz", hash = "sha256:6de90ee7b8263e740c8715a925382d4099b354f29ac48ea40d840cf7aa14ace5", size = 15047199, upload-time = "2025-02-19T14:20:05.549Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/af/43/700932c4f0638c3421177144a2e86448c0d75dbaee2c7936bda3f9fd0878/pyelftools-0.32-py3-none-any.whl", hash = "sha256:013df952a006db5e138b1edf6d8a68ecc50630adbd0d83a2d41e7f846163d738", size = 188525, upload-time = "2025-02-19T14:19:59.919Z" }, +] + [[package]] name = "pygments" version = "2.19.1" @@ -1303,6 +1354,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ec/bf/b273dd11673fed8a6bd46032c0ea2a04b2ac9bfa9c628756a5856ba113b0/ruff-0.11.13-py3-none-win_arm64.whl", hash = "sha256:b4385285e9179d608ff1d2fb9922062663c658605819a6876d8beef0c30b7f3b", size = 10683928, upload-time = "2025-06-05T21:00:13.758Z" }, ] +[[package]] +name = "setuptools" +version = "80.9.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/18/5d/3bf57dcd21979b887f014ea83c24ae194cfcd12b9e0fda66b957c69d1fca/setuptools-80.9.0.tar.gz", hash = "sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c", size = 1319958, upload-time = "2025-05-27T00:56:51.443Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl", hash = "sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922", size = 1201486, upload-time = "2025-05-27T00:56:49.664Z" }, +] + [[package]] name = "six" version = "1.17.0" @@ -1498,6 +1558,59 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/69/e0/552843e0d356fbb5256d21449fa957fa4eff3bbc135a74a691ee70c7c5da/typing_extensions-4.14.0-py3-none-any.whl", hash = "sha256:a1514509136dd0b477638fc68d6a91497af5076466ad0fa6c338e44e359944af", size = 43839, upload-time = "2025-06-02T14:52:10.026Z" }, ] +[[package]] +name = "unicorn" +version = "2.1.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/51/40/52d9961c488d9a45c7ed26f76b50e70f0d562d7fafd936121303cc7500ad/unicorn-2.1.3.tar.gz", hash = "sha256:0c06456cf550c228f2003cc70366afa4aece2e6e7e4c32d8f4b22c717ba6b729", size = 2860875, upload-time = "2025-03-07T12:51:40.23Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/11/ee/bf964572cc09b53d31f77890ad1585d68313c21e33e8ec6739eadc55fe47/unicorn-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6cbf99c139a238ee6ccfaadea35e65a88461c0ae0dcf78058c8266ff90f8866c", size = 12902055, upload-time = "2025-03-07T12:49:01.91Z" }, + { url = "https://files.pythonhosted.org/packages/e1/97/ecf59212c19a0f45cf4f0c9b339a4a5d71723aab3edfdde54711aec0de9a/unicorn-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8e7b9396a7b76503b1d32c4b83d35e03e8b2ee81e80a2c7aee77dac7b71f25c", size = 15310116, upload-time = "2025-03-07T12:49:04.032Z" }, + { url = "https://files.pythonhosted.org/packages/28/2f/841dcb58559762d061093500818f168b5166b4154d516d7023eb5f1a618d/unicorn-2.1.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2a91edb97eb9ff4f205af5c2e54e802a832e57a4b54d82d2598adfd08d48101c", size = 19753458, upload-time = "2025-03-07T12:49:06.361Z" }, + { url = "https://files.pythonhosted.org/packages/4f/f0/530a080987bcb39f89de5e62bc3ddfbba17802cd07b5700e3679137de0db/unicorn-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3668a0615560d2b70f7d4dee115a844c205aa7a5a5537ec7ab6c08af1796efa9", size = 16350560, upload-time = "2025-03-07T12:49:08.699Z" }, + { url = "https://files.pythonhosted.org/packages/7a/6f/8890b8852544548c0ef2d426439c0aa786cb4aeb02c9a633e0fe29f7a6e5/unicorn-2.1.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:83c42310d20389ab670631407372684a0fbddae6a05665e7b3452db01a02682d", size = 15854995, upload-time = "2025-03-07T12:49:11.324Z" }, + { url = "https://files.pythonhosted.org/packages/a0/88/71443ab9de7087b6c8cb7af0379b7f2d21532bbe14fd29b534478bb2ec7f/unicorn-2.1.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:8b24d10474ae2d4c22bf352751d6170269d5b2b1d65a4a0f8576ea52db9988d9", size = 20401043, upload-time = "2025-03-07T12:49:13.731Z" }, + { url = "https://files.pythonhosted.org/packages/6a/1a/472d2a8d592e53b2fc8824f7d8914be1c88a2e25cc239cbd789831501bf3/unicorn-2.1.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:65663784cebf491ceaa92f6afb24df9434843d6b7e1833f7ffe4589b35fd4e36", size = 16685423, upload-time = "2025-03-07T12:49:15.757Z" }, + { url = "https://files.pythonhosted.org/packages/d3/f7/33d2459ddab8fa4232473e0439f5e235fbe97acd095ed74a5526c8c07811/unicorn-2.1.3-cp310-cp310-win32.whl", hash = "sha256:aae64ef946404275e7776e873c5621f6988915bc6813e3b272cad7b68a1c9ed5", size = 11760195, upload-time = "2025-03-07T12:49:18.34Z" }, + { url = "https://files.pythonhosted.org/packages/6e/41/40e434af1d343a46b98883a3427236259742a99bf37f80100a393aab4270/unicorn-2.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:f903d5b50fdc1855b30ad5a95063e1086a8a70a279ed8e62c979e7870e68be48", size = 15872963, upload-time = "2025-03-07T12:49:20.991Z" }, + { url = "https://files.pythonhosted.org/packages/55/75/74132e691806189ee6c86d72bed04b1d47c5e5c1c9ce9bb50c5f66df329a/unicorn-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ed1c489de67736d58f3c16da42227d1b65d5d5ee83eabd42d303d68a9523cfd1", size = 12901972, upload-time = "2025-03-07T12:49:23.309Z" }, + { url = "https://files.pythonhosted.org/packages/46/83/6079a0bc453febabc73102216a495377a520126a7125fdab1f7cdddfbdd3/unicorn-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce4eb49a65528b699bb82fc4f7b8cdf3400a1498e22aa14314f555872fc5310e", size = 15310094, upload-time = "2025-03-07T12:49:25.008Z" }, + { url = "https://files.pythonhosted.org/packages/3b/80/ace858fa3297a0c66539433695b3a584bbf4442bf7bd4943c0eaa5f12c21/unicorn-2.1.3-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a3450fd7042afdaeb0aa9412cc10fc8560f204b2dea4784f4f1338159c93fe9c", size = 19753408, upload-time = "2025-03-07T12:49:27.347Z" }, + { url = "https://files.pythonhosted.org/packages/c8/d0/12f504ff7c3354b0837baf85a3536a26c542b4c0babac17e699abe958a5a/unicorn-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c6699453167b1abc98e6dc13728568b383b3d02acd4ec8b5d0189c522bd90522", size = 16350515, upload-time = "2025-03-07T12:49:29.525Z" }, + { url = "https://files.pythonhosted.org/packages/e5/9e/8974f72a3d959c0aeabf196253432fa1d6ce5b9588d3231ee72cd3578575/unicorn-2.1.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e521a87eb8a16a7513815d88b4bacb724d828be452c140bd5d2d424f2e5a1ec0", size = 15854996, upload-time = "2025-03-07T12:49:31.54Z" }, + { url = "https://files.pythonhosted.org/packages/78/cf/26a167a1a840412da3c3f63ba78eb1c0b4b8295b6eb3f254d76a29ceaea9/unicorn-2.1.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:141031e717e1c899a9276282990734f9667abc932720d3e2a22649db151ee0c4", size = 20401043, upload-time = "2025-03-07T12:49:33.735Z" }, + { url = "https://files.pythonhosted.org/packages/7f/1d/216782cc1b8d7d7bf41067d8616500b369a9d4da0adb01f3c6d23285deaa/unicorn-2.1.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:de97f9ccc010d2103083a42d548192de06b94766d1367187f0bf91cfd08d6cbf", size = 16685422, upload-time = "2025-03-07T12:49:36.06Z" }, + { url = "https://files.pythonhosted.org/packages/85/3f/0d54a4d72499e7e62808ed9174460c35db4ad262c14a3d1ee71c5856baa6/unicorn-2.1.3-cp311-cp311-win32.whl", hash = "sha256:6d25f31334c10a82fd6b2ae9569419bf6f53dd9244ab38685a1cebd46388e34f", size = 11760194, upload-time = "2025-03-07T12:49:38.417Z" }, + { url = "https://files.pythonhosted.org/packages/e7/ad/6db5fe49a583ca0c680059b0b09fc4af6b8b46c18b2fbe3b2e18f6b9f31b/unicorn-2.1.3-cp311-cp311-win_amd64.whl", hash = "sha256:38b40ccfe1f1a7a8c33491ee549ab20e443d17ec58834cf46349f1478affccaf", size = 15872963, upload-time = "2025-03-07T12:49:40.262Z" }, + { url = "https://files.pythonhosted.org/packages/9b/7c/a4a81d1d9ae447e7203e7593a54ae0e316e7e5f643b31513c38608a472ec/unicorn-2.1.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:816d4cf57ae2a86640b66b83fa1ee0e761a6a39e82d62dbfb7ec27d3f0086189", size = 12901996, upload-time = "2025-03-07T12:49:42.488Z" }, + { url = "https://files.pythonhosted.org/packages/b9/3f/15064fb123166238687c599cbd77a39b9b1c1e8e2dc57969399db9019acf/unicorn-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7109a6f3c70779359cb73c4448defec1628b9c9c101d7e604ba1537e96de988", size = 15310117, upload-time = "2025-03-07T12:49:44.645Z" }, + { url = "https://files.pythonhosted.org/packages/b4/82/bff2009d4eab0eec9178c2b4de2a36368aa9f372daa7b8a91d83175fc7cf/unicorn-2.1.3-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e71a92f636225f5dd66e6119460b17d41cae45d3a612dbce4d80f7302a07e16", size = 19753395, upload-time = "2025-03-07T12:49:46.833Z" }, + { url = "https://files.pythonhosted.org/packages/de/5a/97f514d9356a9fc5972d87f398d2bcc935d2b34a219a409464cfbc14e24a/unicorn-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8a5dac317de1fa1f61884826a353ea9e9b3e9ec8dc25b07a8526b82d4750402e", size = 16350603, upload-time = "2025-03-07T12:49:49.321Z" }, + { url = "https://files.pythonhosted.org/packages/17/84/c0e4841fe88a94b04a360752941f2abaadaf15efb41bc1254b355dd6c90f/unicorn-2.1.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e5b2f93cffbf2e7f572606ed4f873541e3616c39ed89bf8793180f4a52ab845d", size = 15854997, upload-time = "2025-03-07T12:49:51.658Z" }, + { url = "https://files.pythonhosted.org/packages/75/46/2ac704fdf2292ef91e088d04f4060b242700c530e0d84620c53dbaacdbc9/unicorn-2.1.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:7ba353f3e9fcb46a8cf0175118f51a3b06230da151ec77ff58f4c3cd51249933", size = 20401044, upload-time = "2025-03-07T12:49:54.025Z" }, + { url = "https://files.pythonhosted.org/packages/6f/e9/171e80ba2fa78c131b7d7ac4e81a067ec285e7aaece500dfaf51d3a6f36a/unicorn-2.1.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dd29c8c86fea78bd228993d8d0a7d812d8c2635421e32b8840b806067cc1c72f", size = 16685422, upload-time = "2025-03-07T12:49:56.342Z" }, + { url = "https://files.pythonhosted.org/packages/cb/ff/d5aecef9e2eb982a3a41f53dfb56bb27eefbbd5d4d4b46271ba673ad2379/unicorn-2.1.3-cp312-cp312-win32.whl", hash = "sha256:1fe4ddd6a0d6fd8228889857afa2b3bde1062b2c2fd3447eeef9095d6b28026e", size = 11760195, upload-time = "2025-03-07T12:49:58.237Z" }, + { url = "https://files.pythonhosted.org/packages/cc/2e/b3b9a4a6a520f79930023163515f41d8244c382330e229bb506b2cf4d6b8/unicorn-2.1.3-cp312-cp312-win_amd64.whl", hash = "sha256:1b23084ab42fa32ce8758004ce8f3eebbd70106ca6c6deb438a292d5107f01d6", size = 15872963, upload-time = "2025-03-07T12:50:00.071Z" }, + { url = "https://files.pythonhosted.org/packages/a1/5b/d30bfab4577adbf8e7838637f22ae2353b06cf7f743152debf25f6e3219b/unicorn-2.1.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e86b20464b1332248b22185b06fe5a56d4913648f9a41e7286ca83b3fc443747", size = 12901727, upload-time = "2025-03-07T12:50:02.515Z" }, + { url = "https://files.pythonhosted.org/packages/d6/31/d15f3217a26c9defd1aa1bc23b9dfde64a7a04c21d28e4d46670d329612f/unicorn-2.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cea0462b08e94a6b5764692b47ffa6bf2cb6d47fecd6939c874da5165dbd4ba6", size = 15310145, upload-time = "2025-03-07T12:50:04.267Z" }, + { url = "https://files.pythonhosted.org/packages/cf/83/1eac513d57de232570be624cfc4ee6ea5d9ee370a7e795e7d1a2e9bd4562/unicorn-2.1.3-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:67d0462f66ba961079728ff74eaf8233fba48dadea80313c0dad5ac4ba8a80be", size = 19753425, upload-time = "2025-03-07T12:50:06.582Z" }, + { url = "https://files.pythonhosted.org/packages/d9/45/d9902bef41673c8de08bd7bc0ee8756e5afa982264d84997eb8f4b4c6984/unicorn-2.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dabf178a2ad5894556258d38ed9d9b9c3adca4ced10ee3d3ace772b47d02b1c8", size = 16350568, upload-time = "2025-03-07T12:50:08.556Z" }, + { url = "https://files.pythonhosted.org/packages/d9/c0/bf271847a4193fd1ccdcdf0ba30067c37b3b2de66254153366d396e014b1/unicorn-2.1.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cc9d2b422993baa314c124f81918b9be5fb814301c8dd48a3c2b91c847951936", size = 15854996, upload-time = "2025-03-07T12:50:10.891Z" }, + { url = "https://files.pythonhosted.org/packages/9f/9c/0e88e751e52b87301d924ed054ac647afe3ed570d5a0bdbb5d35fdb616bb/unicorn-2.1.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:f21e05586d48414eb53a8b6a6a79f162d58feffe31a2537816665bf4d0f188ea", size = 20401044, upload-time = "2025-03-07T12:50:13.432Z" }, + { url = "https://files.pythonhosted.org/packages/8f/ba/626d86da323e4ee99addd0ebbf6a84c591331149155c90f8e50a569fd1b3/unicorn-2.1.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a7d0cb2fd742a0914e3dfb52a41b255bdd31937ab2da449dd750ad4cc0558407", size = 16685422, upload-time = "2025-03-07T12:50:17.127Z" }, + { url = "https://files.pythonhosted.org/packages/84/5f/118641bb6d34493c9b7cb46e3b0228b168280f9962c06a6be523f3effa47/unicorn-2.1.3-cp313-cp313-win32.whl", hash = "sha256:ff37f0307f78d1fd43420790307d684f36f56d5d8b1ad102986f99bcbfb03ecb", size = 11760195, upload-time = "2025-03-07T12:50:20.282Z" }, + { url = "https://files.pythonhosted.org/packages/d3/dd/fc08dcabe1b0a38a2d0d560a06213c88fe0b6de09b956273e6800c33210c/unicorn-2.1.3-cp313-cp313-win_amd64.whl", hash = "sha256:1f218e51ed5e9047575ef6200a6acfacf3ee545e3a9df905445a01101399296e", size = 15872963, upload-time = "2025-03-07T12:50:22.159Z" }, + { url = "https://files.pythonhosted.org/packages/13/1d/f9f3ee736235d5c1ed7a2608f3613ae887e29da68e5b3f3f09c1d7612090/unicorn-2.1.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:e0d668af5ed39f2cdcdfcb4e55f6c6e8e16af1031c092e9f7a14a6aaf067639d", size = 12902056, upload-time = "2025-03-07T12:51:02.995Z" }, + { url = "https://files.pythonhosted.org/packages/48/4b/e0f95126d88a11d66dece1e121e626a4c9129fa9cc7d7e092a06b013cb0f/unicorn-2.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:508df7e9aacacd6ce07d7eba5dc47b6d16dfcab2419902cc0f309c8f5f33a66d", size = 15310053, upload-time = "2025-03-07T12:51:04.75Z" }, + { url = "https://files.pythonhosted.org/packages/be/d1/5dff72760425f57c838eb64cb4fc07d35120e1da9055c5ba363e3c368bb1/unicorn-2.1.3-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd0cecb9b57a0d248bedd45d8afbfc0336c3030b8d03ba3cd7c79066d7452436", size = 19753432, upload-time = "2025-03-07T12:51:06.654Z" }, + { url = "https://files.pythonhosted.org/packages/15/17/e9b2505315f6bf281081051ce59315c0b3c721add9b0f471a8b6092974d3/unicorn-2.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2abeb1cc6246d06d193a4f66de3795a53228a7e5f61720a9c061331bb7cb9aed", size = 16350572, upload-time = "2025-03-07T12:51:08.616Z" }, + { url = "https://files.pythonhosted.org/packages/66/f3/ccb932477f40d8f5957958eb641c09465d954bc5e21a2b5368bf1f72db8a/unicorn-2.1.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:c355126e474cea5de058f9b1c7413f1ed7ba641122dac8f47bfdd577eaeb6359", size = 15854996, upload-time = "2025-03-07T12:51:10.712Z" }, + { url = "https://files.pythonhosted.org/packages/96/79/d3a15746c9a55834d094603706b94cca027ed0b1afc87472d63b3a955258/unicorn-2.1.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:7901fd0da686bf516b40726c52cea6885c8e7ba062af47b2d2d949705113821d", size = 20401042, upload-time = "2025-03-07T12:51:12.695Z" }, + { url = "https://files.pythonhosted.org/packages/9d/f9/b6d4b4ba439a12d55ac59fface7b64b60fb4bb1275f59024d98c668b86fd/unicorn-2.1.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:ca2ccf27be3dde41365994ecc1a5f591d9f2ed0ace0d27aad0eeac10877757e8", size = 16685424, upload-time = "2025-03-07T12:51:14.761Z" }, + { url = "https://files.pythonhosted.org/packages/2f/8e/b2f46d2ddb23d30a991714d455e916056e48a3b849b22669ffd2f985ce31/unicorn-2.1.3-cp39-cp39-win32.whl", hash = "sha256:430569c59fd13ab844c0bebef964fd932f7f38a455f92543d6d22a1debfab523", size = 11760194, upload-time = "2025-03-07T12:51:16.636Z" }, + { url = "https://files.pythonhosted.org/packages/43/39/fa066fe28b1e94c53611f61970cbfc7cb144241ee0c20ec2e3fa36877850/unicorn-2.1.3-cp39-cp39-win_amd64.whl", hash = "sha256:8a1ab8152d3ff04ea1bcfb907836116c82a215833e1ba445d5ae982c7b25bd1c", size = 15872964, upload-time = "2025-03-07T12:51:18.462Z" }, +] + [[package]] name = "urllib3" version = "2.4.0" From c37a51c2ebccf273521524e168b765b3757ea8a3 Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Mon, 14 Jul 2025 22:10:14 +0200 Subject: [PATCH 70/97] refactor(reports): improve `Serializable` base class --- findmy/reports/anisette.py | 81 ++++++++++++++++++++++++++++++-------- findmy/util/abc.py | 35 +++++++++++++--- findmy/util/files.py | 34 ++++++++++++++++ 3 files changed, 128 insertions(+), 22 deletions(-) create mode 100644 findmy/util/files.py diff --git a/findmy/reports/anisette.py b/findmy/reports/anisette.py index 5beee2b..3ef9346 100644 --- a/findmy/reports/anisette.py +++ b/findmy/reports/anisette.py @@ -10,17 +10,49 @@ from abc import ABC, abstractmethod from datetime import datetime, timezone from io import BytesIO from pathlib import Path -from typing import BinaryIO +from typing import BinaryIO, Literal, TypedDict, Union from anisette import Anisette, AnisetteHeaders from typing_extensions import override from findmy.util.abc import Closable, Serializable +from findmy.util.files import read_data_json, save_and_return_json from findmy.util.http import HttpSession logger = logging.getLogger(__name__) +class RemoteAnisetteMapping(TypedDict): + """JSON mapping representing state of a remote Anisette provider.""" + + type: Literal["aniRemote"] + url: str + + +class LocalAnisetteMapping(TypedDict): + """JSON mapping representing state of a local Anisette provider.""" + + type: Literal["aniLocal"] + prov_data: str + + +AnisetteMapping = Union[RemoteAnisetteMapping, LocalAnisetteMapping] + + +def get_provider_from_mapping( + mapping: AnisetteMapping, + *, + libs_path: str | Path | None = None, +) -> RemoteAnisetteProvider | LocalAnisetteProvider: + """Get the correct Anisette provider instance from saved JSON data.""" + if mapping["type"] == "aniRemote": + return RemoteAnisetteProvider.from_json(mapping) + if mapping["type"] == "aniLocal": + return LocalAnisetteProvider.from_json(mapping, libs_path=libs_path) + msg = f"Unknown anisette type: {mapping['type']}" + raise ValueError(msg) + + class BaseAnisetteProvider(Closable, Serializable, ABC): """ Abstract base class for Anisette providers. @@ -173,20 +205,25 @@ class RemoteAnisetteProvider(BaseAnisetteProvider): self._anisette_data_expires_at: float = 0 @override - def serialize(self) -> dict: + def to_json(self, dst: str | Path | None = None, /) -> RemoteAnisetteMapping: """See `BaseAnisetteProvider.serialize`.""" - return { - "type": "aniRemote", - "url": self._server_url, - } + return save_and_return_json( + { + "type": "aniRemote", + "url": self._server_url, + }, + dst, + ) @classmethod @override - def deserialize(cls, data: dict) -> RemoteAnisetteProvider: + def from_json(cls, val: str | Path | RemoteAnisetteMapping) -> RemoteAnisetteProvider: """See `BaseAnisetteProvider.deserialize`.""" - assert data["type"] == "aniRemote" + val = read_data_json(val) - server_url = data["url"] + assert val["type"] == "aniRemote" + + server_url = val["url"] return cls(server_url) @@ -276,24 +313,34 @@ class LocalAnisetteProvider(BaseAnisetteProvider): ) @override - def serialize(self) -> dict: + def to_json(self, dst: str | Path | None = None, /) -> LocalAnisetteMapping: """See `BaseAnisetteProvider.serialize`.""" with BytesIO() as buf: self._ani.save_provisioning(buf) prov_data = base64.b64encode(buf.getvalue()).decode("utf-8") - return { - "type": "aniLocal", - "prov_data": prov_data, - } + return save_and_return_json( + { + "type": "aniLocal", + "prov_data": prov_data, + }, + dst, + ) @classmethod @override - def deserialize(cls, data: dict, libs_path: str | Path | None = None) -> LocalAnisetteProvider: + def from_json( + cls, + val: str | Path | LocalAnisetteMapping, + *, + libs_path: str | Path | None = None, + ) -> LocalAnisetteProvider: """See `BaseAnisetteProvider.deserialize`.""" - assert data["type"] == "aniLocal" + val = read_data_json(val) - state_blob = BytesIO(base64.b64decode(data["prov_data"])) + assert val["type"] == "aniLocal" + + state_blob = BytesIO(base64.b64decode(val["prov_data"])) return cls(state_blob=state_blob, libs_path=libs_path) diff --git a/findmy/util/abc.py b/findmy/util/abc.py index 101e11a..7b77d3e 100644 --- a/findmy/util/abc.py +++ b/findmy/util/abc.py @@ -5,6 +5,10 @@ from __future__ import annotations import asyncio import logging from abc import ABC, abstractmethod +from typing import TYPE_CHECKING, Generic, Self, TypeVar + +if TYPE_CHECKING: + from pathlib import Path logging.getLogger(__name__) @@ -38,16 +42,37 @@ class Closable(ABC): pass -class Serializable(ABC): +T = TypeVar("T", bound=dict) + + +class Serializable(Generic[T], ABC): """ABC for serializable classes.""" @abstractmethod - def serialize(self) -> dict: - """Serialize the object to a JSON-serializable dictionary.""" + def to_json(self, dst: str | Path | None = None, /) -> T: + """ + Export the current state of the object as a JSON-serializable dictionary. + + If an argument is provided, the output will also be written to that file. + + The output of this method is guaranteed to be JSON-serializable, and passing + the return value of this function as an argument to `Serializable.from_json` + will always result in an exact copy of the internal state as it was when exported. + + You are encouraged to save and load object states to and from disk whenever possible, + to prevent unnecessary API calls or otherwise unexpected behavior. + """ raise NotImplementedError @classmethod @abstractmethod - def deserialize(cls, data: dict) -> Serializable: - """Deserialize the object from a JSON-serializable dictionary.""" + def from_json(cls, val: str | Path | T, /) -> Self: + """ + Restore state from a previous `Closable.to_json` export. + + If given a str or Path, it must point to a json file from `Serializable.to_json`. + Otherwise, it should be the Mapping itself. + + See `Serializable.to_json` for more information. + """ raise NotImplementedError diff --git a/findmy/util/files.py b/findmy/util/files.py new file mode 100644 index 0000000..e58bfd9 --- /dev/null +++ b/findmy/util/files.py @@ -0,0 +1,34 @@ +"""Utilities to simplify reading and writing data from and to files.""" + +from __future__ import annotations + +import json +from collections.abc import Mapping +from pathlib import Path +from typing import TypeVar, cast + +T = TypeVar("T", bound=Mapping) + + +def save_and_return_json(data: T, dst: str | Path | None) -> T: + """Save and return a JSON-serializable data structure.""" + if dst is None: + return data + + if isinstance(dst, str): + dst = Path(dst) + + dst.write_text(json.dumps(data, indent=4)) + + return data + + +def read_data_json(val: str | Path | T) -> T: + """Read JSON data from a file if a path is passed, or return the argument itself.""" + if isinstance(val, str): + val = Path(val) + + if isinstance(val, Path): + val = cast("T", json.loads(val.read_text())) + + return val From 0118666f5328f06a8df017afc387e977e5724e66 Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Mon, 14 Jul 2025 22:10:47 +0200 Subject: [PATCH 71/97] feat(reports): make `BaseAppleAccount` and subclasses `Serializable` --- findmy/reports/account.py | 138 +++++++++++++++++++------------------- 1 file changed, 70 insertions(+), 68 deletions(-) diff --git a/findmy/reports/account.py b/findmy/reports/account.py index 069eacc..0af02c1 100644 --- a/findmy/reports/account.py +++ b/findmy/reports/account.py @@ -11,7 +11,6 @@ import uuid from abc import ABC, abstractmethod from datetime import datetime, timedelta, timezone from functools import wraps -from pathlib import Path from typing import ( TYPE_CHECKING, Any, @@ -32,8 +31,10 @@ from findmy.errors import ( UnauthorizedError, UnhandledProtocolError, ) +from findmy.reports.anisette import AnisetteMapping, get_provider_from_mapping from findmy.util import crypto -from findmy.util.abc import Closable +from findmy.util.abc import Closable, Serializable +from findmy.util.files import read_data_json, save_and_return_json from findmy.util.http import HttpResponse, HttpSession, decode_plist from .reports import LocationReport, LocationReportsFetcher @@ -49,7 +50,8 @@ from .twofactor import ( ) if TYPE_CHECKING: - from collections.abc import Mapping, Sequence + from collections.abc import Sequence + from pathlib import Path from findmy.accessory import RollingKeyPairSource from findmy.keys import HasHashedPublicKey @@ -70,6 +72,31 @@ class _AccountInfo(TypedDict): trusted_device_2fa: bool +class _AccountStateMappingIds(TypedDict): + uid: str + devid: str + + +class _AccountStateMappingAccount(TypedDict): + username: str | None + password: str | None + info: _AccountInfo | None + + +class _AccountStateMappingLoginState(TypedDict): + state: int + data: dict # TODO: make typed # noqa: TD002, TD003 + + +class AccountStateMapping(TypedDict): + """JSON mapping representing state of an Apple account instance.""" + + ids: _AccountStateMappingIds + account: _AccountStateMappingAccount + login: _AccountStateMappingLoginState + anisette: AnisetteMapping + + _P = ParamSpec("_P") _R = TypeVar("_R") _A = TypeVar("_A", bound="BaseAppleAccount") @@ -111,7 +138,7 @@ def _extract_phone_numbers(html: str) -> list[dict]: return data.get("direct", {}).get("phoneNumberVerification", {}).get("trustedPhoneNumbers", []) -class BaseAppleAccount(Closable, ABC): +class BaseAppleAccount(Closable, Serializable, ABC): """Base class for an Apple account.""" @property @@ -151,33 +178,6 @@ class BaseAppleAccount(Closable, ABC): """ raise NotImplementedError - @abstractmethod - def to_json(self, path: str | Path | None = None) -> dict: - """ - Export the current state of the account as a JSON-serializable dictionary. - - If `path` is provided, the output will also be written to that file. - - The output of this method is guaranteed to be JSON-serializable, and passing - the return value of this function as an argument to `BaseAppleAccount.from_json` - will always result in an exact copy of the internal state as it was when exported. - - This method is especially useful to avoid having to keep going through the login flow. - """ - raise NotImplementedError - - @abstractmethod - def from_json(self, json_: str | Path | Mapping, /) -> None: - """ - Restore the state from a previous `BaseAppleAccount.to_json` export. - - If given a str or Path, it must point to a json file from `BaseAppleAccount.to_json`. - Otherwise it should be the Mapping itself. - - See `BaseAppleAccount.to_json` for more information. - """ - raise NotImplementedError - @abstractmethod def login(self, username: str, password: str) -> MaybeCoro[LoginState]: """Log in to an Apple account using a username and password.""" @@ -347,31 +347,33 @@ class AsyncAppleAccount(BaseAppleAccount): def __init__( self, - *, anisette: BaseAnisetteProvider, - user_id: str | None = None, - device_id: str | None = None, + *, + state_info: AccountStateMapping | None = None, ) -> None: """ Initialize the apple account. :param anisette: An instance of `AsyncAnisetteProvider`. - :param user_id: An optional user ID to use. Will be auto-generated if missing. - :param device_id: An optional device ID to use. Will be auto-generated if missing. """ super().__init__() self._anisette: BaseAnisetteProvider = anisette - self._uid: str = user_id or str(uuid.uuid4()) - self._devid: str = device_id or str(uuid.uuid4()) + self._uid: str = state_info["ids"]["uid"] if state_info else str(uuid.uuid4()) + self._devid: str = state_info["ids"]["devid"] if state_info else str(uuid.uuid4()) - self._username: str | None = None - self._password: str | None = None + # TODO: combine, user/pass should be "all or nothing" # noqa: TD002, TD003 + self._username: str | None = state_info["account"]["username"] if state_info else None + self._password: str | None = state_info["account"]["password"] if state_info else None - self._login_state: LoginState = LoginState.LOGGED_OUT - self._login_state_data: dict = {} + self._login_state: LoginState = ( + LoginState(state_info["login"]["state"]) if state_info else LoginState.LOGGED_OUT + ) + self._login_state_data: dict = state_info["login"]["data"] if state_info else {} - self._account_info: _AccountInfo | None = None + self._account_info: _AccountInfo | None = ( + state_info["account"]["info"] if state_info else None + ) self._http: HttpSession = HttpSession() self._reports: LocationReportsFetcher = LocationReportsFetcher(self) @@ -432,36 +434,30 @@ class AsyncAppleAccount(BaseAppleAccount): return self._account_info["last_name"] if self._account_info else None @override - def to_json(self, path: str | Path | None = None) -> dict: - result = { + def to_json(self, path: str | Path | None = None, /) -> AccountStateMapping: + res: AccountStateMapping = { "ids": {"uid": self._uid, "devid": self._devid}, "account": { "username": self._username, "password": self._password, "info": self._account_info, }, - "login_state": { + "login": { "state": self._login_state.value, "data": self._login_state_data, }, + "anisette": self._anisette.to_json(), } - if path is not None: - Path(path).write_text(json.dumps(result, indent=4)) - return result + return save_and_return_json(res, path) + + @classmethod @override - def from_json(self, json_: str | Path | Mapping, /) -> None: - data = json.loads(Path(json_).read_text()) if isinstance(json_, (str, Path)) else json_ + def from_json(cls, val: str | Path | AccountStateMapping, /) -> AsyncAppleAccount: + val = read_data_json(val) try: - self._uid = data["ids"]["uid"] - self._devid = data["ids"]["devid"] - - self._username = data["account"]["username"] - self._password = data["account"]["password"] - self._account_info = data["account"]["info"] - - self._login_state = LoginState(data["login_state"]["state"]) - self._login_state_data = data["login_state"]["data"] + ani_provider = get_provider_from_mapping(val["anisette"]) + return cls(ani_provider, state_info=val) except KeyError as e: msg = f"Failed to restore account data: {e}" raise ValueError(msg) from None @@ -938,13 +934,12 @@ class AppleAccount(BaseAppleAccount): def __init__( self, - *, anisette: BaseAnisetteProvider, - user_id: str | None = None, - device_id: str | None = None, + *, + state_info: AccountStateMapping | None = None, ) -> None: """See `AsyncAppleAccount.__init__`.""" - self._asyncacc = AsyncAppleAccount(anisette=anisette, user_id=user_id, device_id=device_id) + self._asyncacc = AsyncAppleAccount(anisette=anisette, state_info=state_info) try: self._evt_loop = asyncio.get_running_loop() @@ -984,12 +979,19 @@ class AppleAccount(BaseAppleAccount): return self._asyncacc.last_name @override - def to_json(self, path: str | Path | None = None) -> dict: - return self._asyncacc.to_json(path) + def to_json(self, dst: str | Path | None = None, /) -> AccountStateMapping: + return self._asyncacc.to_json(dst) + @classmethod @override - def from_json(self, json_: str | Path | Mapping, /) -> None: - return self._asyncacc.from_json(json_) + def from_json(cls, val: str | Path | AccountStateMapping, /) -> AppleAccount: + val = read_data_json(val) + try: + ani_provider = get_provider_from_mapping(val["anisette"]) + return cls(ani_provider, state_info=val) + except KeyError as e: + msg = f"Failed to restore account data: {e}" + raise ValueError(msg) from None @override def login(self, username: str, password: str) -> LoginState: From bbdd784e6adcf0c43f0e3702505b4ec26ecdaece Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Mon, 14 Jul 2025 22:21:21 +0200 Subject: [PATCH 72/97] feat(reports): allow passing Anisette libs path when loading account from JSON --- findmy/reports/account.py | 20 ++++++++++++++++---- findmy/reports/anisette.py | 1 + 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/findmy/reports/account.py b/findmy/reports/account.py index 0af02c1..c9a9a7b 100644 --- a/findmy/reports/account.py +++ b/findmy/reports/account.py @@ -453,10 +453,16 @@ class AsyncAppleAccount(BaseAppleAccount): @classmethod @override - def from_json(cls, val: str | Path | AccountStateMapping, /) -> AsyncAppleAccount: + def from_json( + cls, + val: str | Path | AccountStateMapping, + /, + *, + anisette_libs_path: str | Path | None = None, + ) -> AsyncAppleAccount: val = read_data_json(val) try: - ani_provider = get_provider_from_mapping(val["anisette"]) + ani_provider = get_provider_from_mapping(val["anisette"], libs_path=anisette_libs_path) return cls(ani_provider, state_info=val) except KeyError as e: msg = f"Failed to restore account data: {e}" @@ -984,10 +990,16 @@ class AppleAccount(BaseAppleAccount): @classmethod @override - def from_json(cls, val: str | Path | AccountStateMapping, /) -> AppleAccount: + def from_json( + cls, + val: str | Path | AccountStateMapping, + /, + *, + anisette_libs_path: str | Path | None = None, + ) -> AppleAccount: val = read_data_json(val) try: - ani_provider = get_provider_from_mapping(val["anisette"]) + ani_provider = get_provider_from_mapping(val["anisette"], libs_path=anisette_libs_path) return cls(ani_provider, state_info=val) except KeyError as e: msg = f"Failed to restore account data: {e}" diff --git a/findmy/reports/anisette.py b/findmy/reports/anisette.py index 3ef9346..2fb0f87 100644 --- a/findmy/reports/anisette.py +++ b/findmy/reports/anisette.py @@ -289,6 +289,7 @@ class LocalAnisetteProvider(BaseAnisetteProvider): "The Anisette engine will download libraries required for operation, " "this may take a few seconds...", ) + if libs_path is None: logger.info( "To speed up future local Anisette initializations, " "provide a filesystem path to load the libraries from.", From 17e2987ab3c29d17b381a490275dbd194188ce72 Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Wed, 16 Jul 2025 19:59:04 +0200 Subject: [PATCH 73/97] fix(reports): Update examples to use new api --- examples/_login.py | 43 +++++++++++++++++++++++---------- examples/fetch_reports.py | 26 ++++++++++++++------ examples/fetch_reports_async.py | 24 +++++++++++++----- examples/real_airtag.py | 23 ++++++++++++++---- 4 files changed, 85 insertions(+), 31 deletions(-) diff --git a/examples/_login.py b/examples/_login.py index 6891b19..c8397eb 100644 --- a/examples/_login.py +++ b/examples/_login.py @@ -1,15 +1,14 @@ # ruff: noqa: ASYNC230 +from __future__ import annotations from findmy.reports import ( AppleAccount, AsyncAppleAccount, - BaseAnisetteProvider, LoginState, SmsSecondFactorMethod, TrustedDeviceSecondFactorMethod, ) - -ACCOUNT_STORE = "account.json" +from findmy.reports.anisette import LocalAnisetteProvider, RemoteAnisetteProvider def _login_sync(account: AppleAccount) -> None: @@ -66,27 +65,45 @@ async def _login_async(account: AsyncAppleAccount) -> None: await method.submit(code) -def get_account_sync(anisette: BaseAnisetteProvider) -> AppleAccount: +def get_account_sync( + store_path: str, + anisette_url: str | None, + libs_path: str | None, +) -> AppleAccount: """Tries to restore a saved Apple account, or prompts the user for login otherwise. (sync)""" - acc = AppleAccount(anisette=anisette) - acc_store = "account.json" try: - acc.from_json(acc_store) + acc = AppleAccount.from_json(store_path, anisette_libs_path=libs_path) except FileNotFoundError: + ani = ( + LocalAnisetteProvider(libs_path=libs_path) + if anisette_url is None + else RemoteAnisetteProvider(anisette_url) + ) + acc = AppleAccount(ani) _login_sync(acc) - acc.to_json(acc_store) + + acc.to_json(store_path) return acc -async def get_account_async(anisette: BaseAnisetteProvider) -> AsyncAppleAccount: +async def get_account_async( + store_path: str, + anisette_url: str | None, + libs_path: str | None, +) -> AsyncAppleAccount: """Tries to restore a saved Apple account, or prompts the user for login otherwise. (async)""" - acc = AsyncAppleAccount(anisette=anisette) - acc_store = "account.json" try: - acc.from_json(acc_store) + acc = AsyncAppleAccount.from_json(store_path, anisette_libs_path=libs_path) except FileNotFoundError: + ani = ( + LocalAnisetteProvider(libs_path=libs_path) + if anisette_url is None + else RemoteAnisetteProvider(anisette_url) + ) + acc = AsyncAppleAccount(ani) await _login_async(acc) - acc.to_json(acc_store) + + acc.to_json(store_path) return acc diff --git a/examples/fetch_reports.py b/examples/fetch_reports.py index 3758417..6eff849 100644 --- a/examples/fetch_reports.py +++ b/examples/fetch_reports.py @@ -4,19 +4,28 @@ import sys from _login import get_account_sync from findmy import KeyPair -from findmy.reports import RemoteAnisetteProvider -# URL to (public or local) anisette server -ANISETTE_SERVER = "http://localhost:6969" +# Path where login session will be stored. +# This is necessary to avoid generating a new session every time we log in. +STORE_PATH = "account.json" + +# URL to LOCAL anisette server. Set to None to use built-in Anisette generator instead (recommended) +# IF YOU USE A PUBLIC SERVER, DO NOT COMPLAIN THAT YOU KEEP RUNNING INTO AUTHENTICATION ERRORS! +# If you change this value, make sure to remove the account store file. +ANISETTE_SERVER = None + +# Path where Anisette libraries will be stored. +# This is only relevant when using the built-in Anisette server. +# It can be omitted (set to None) to avoid saving to disk, +# but specifying a path is highly recommended to avoid downloading the bundle on every run. +ANISETTE_LIBS_PATH = "ani_libs.bin" logging.basicConfig(level=logging.INFO) def fetch_reports(priv_key: str) -> int: key = KeyPair.from_b64(priv_key) - acc = get_account_sync( - RemoteAnisetteProvider(ANISETTE_SERVER), - ) + acc = get_account_sync(STORE_PATH, ANISETTE_SERVER, ANISETTE_LIBS_PATH) print(f"Logged in as: {acc.account_name} ({acc.first_name} {acc.last_name})") @@ -25,7 +34,10 @@ def fetch_reports(priv_key: str) -> int: for report in sorted(reports): print(report) - return 1 + # Make sure to save account state when you're done! + acc.to_json(STORE_PATH) + + return 0 if __name__ == "__main__": diff --git a/examples/fetch_reports_async.py b/examples/fetch_reports_async.py index d267a6d..b5508b9 100644 --- a/examples/fetch_reports_async.py +++ b/examples/fetch_reports_async.py @@ -5,19 +5,28 @@ import sys from _login import get_account_async from findmy import KeyPair -from findmy.reports import RemoteAnisetteProvider -# URL to (public or local) anisette server -ANISETTE_SERVER = "http://localhost:6969" +# Path where login session will be stored. +# This is necessary to avoid generating a new session every time we log in. +STORE_PATH = "account.json" + +# URL to LOCAL anisette server. Set to None to use built-in Anisette generator instead (recommended) +# IF YOU USE A PUBLIC SERVER, DO NOT COMPLAIN THAT YOU KEEP RUNNING INTO AUTHENTICATION ERRORS! +# If you change this value, make sure to remove the account store file. +ANISETTE_SERVER = None + +# Path where Anisette libraries will be stored. +# This is only relevant when using the built-in Anisette server. +# It can be omitted (set to None) to avoid saving to disk, +# but specifying a path is highly recommended to avoid downloading the bundle on every run. +ANISETTE_LIBS_PATH = "ani_libs.bin" logging.basicConfig(level=logging.INFO) async def fetch_reports(priv_key: str) -> int: key = KeyPair.from_b64(priv_key) - acc = await get_account_async( - RemoteAnisetteProvider(ANISETTE_SERVER), - ) + acc = await get_account_async(STORE_PATH, ANISETTE_SERVER, ANISETTE_LIBS_PATH) try: print(f"Logged in as: {acc.account_name} ({acc.first_name} {acc.last_name})") @@ -29,6 +38,9 @@ async def fetch_reports(priv_key: str) -> int: finally: await acc.close() + # Make sure to save account state when you're done! + acc.to_json(STORE_PATH) + return 0 diff --git a/examples/real_airtag.py b/examples/real_airtag.py index 5eeb858..ff91378 100644 --- a/examples/real_airtag.py +++ b/examples/real_airtag.py @@ -11,10 +11,21 @@ from pathlib import Path from _login import get_account_sync from findmy import FindMyAccessory -from findmy.reports import RemoteAnisetteProvider -# URL to (public or local) anisette server -ANISETTE_SERVER = "http://localhost:6969" +# Path where login session will be stored. +# This is necessary to avoid generating a new session every time we log in. +STORE_PATH = "account.json" + +# URL to LOCAL anisette server. Set to None to use built-in Anisette generator instead (recommended) +# IF YOU USE A PUBLIC SERVER, DO NOT COMPLAIN THAT YOU KEEP RUNNING INTO AUTHENTICATION ERRORS! +# If you change this value, make sure to remove the account store file. +ANISETTE_SERVER = None + +# Path where Anisette libraries will be stored. +# This is only relevant when using the built-in Anisette server. +# It can be omitted (set to None) to avoid saving to disk, +# but specifying a path is highly recommended to avoid downloading the bundle on every run. +ANISETTE_LIBS_PATH = "ani_libs.bin" logging.basicConfig(level=logging.INFO) @@ -26,8 +37,7 @@ def main(plist_path: str) -> int: # Step 1: log into an Apple account print("Logging into account") - anisette = RemoteAnisetteProvider(ANISETTE_SERVER) - acc = get_account_sync(anisette) + acc = get_account_sync(STORE_PATH, ANISETTE_SERVER, ANISETTE_LIBS_PATH) # step 2: fetch reports! print("Fetching reports") @@ -39,6 +49,9 @@ def main(plist_path: str) -> int: for report in sorted(reports): print(f" - {report}") + # step 4: save current account state to disk + acc.to_json(STORE_PATH) + return 0 From 089ff93e8fa2ad6e34f6285afbec0f93397fd85e Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Thu, 17 Jul 2025 16:38:59 +0200 Subject: [PATCH 74/97] repo: add assets --- assets/banner.png | Bin 0 -> 2529466 bytes assets/icon.gox | Bin 0 -> 21953 bytes assets/icon.png | Bin 0 -> 266317 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/banner.png create mode 100644 assets/icon.gox create mode 100644 assets/icon.png diff --git a/assets/banner.png b/assets/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..c322dea5e8618e69c5135d45a12fd186ab73230a GIT binary patch literal 2529466 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
eW=+p4A49bRvaj`!$-ec!1j#8LLfR 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

4DZ#gDs$O=V#Sr>`xB+ z6=hJ=-zoGOjq(Ou38$)^jG9^EP&ySe_vPgDgtcuPD+P!nT|Mj5jy!EhPqCqEd+I-Z zF^llwZ-E4Kw>ygp&eW*e`YZ|}M&J)ksDXB5V>;>e#bNWmc2B-^`VE_-w7{l@G2&ID(9|AH2_MRW?L0~ z{iwQzZWgxcgiMI`<&DE3+S*{~Qz&{L2xzmf<>nIHj0Ja zm*(MhwA$b?$!!I}W&P^t_C^&6LOW<^9?sPg1Hvd}c}*vqk2++!SKr;3J5MX-;I!v# zT@Ic!*Qu>xV%~ZOUPRRmAQ>a%*?Mro#}*64d$&!H`UTjoKg2ksq`YkQMeh83B82Aq z%~umTm5?fzPji*bV99T;elBkVuY6aRd?Rfo-;20v25h3}Kc{t6);x9-9(i=&213~w z5E_ZJM#6G7Xhv3hYs2%yjOgV7w!iU_F(-Vo)DFcfb2F5j1>D~G&#VBBP#aKGH1@&Q z!IMq^_DXFzd7~(3CGCDn;?NOdEp2#`4u*9 z9d#CcP0~;QFv=*&zQmP3=bguT;>QnWIV46;IIc(BvPCj20o=uhE&F|xXChOI zDd*fvndKjD`Q2KDuI7HNg{ADVJ(wTz&bZ#imUx*+&BVPav##2oSuJwELB& z6%f+OhF|$`^c@bR<)-#6k83JHAJ(ZK%5mX)9RqGvVqrTW2 zI_cKG-1-v7)mp_Gwt`MSG%_?AF2f+gmlrUw#ve-dFcoKa!-yZl+Q4 z@z*hpnZBj`1sL=U2b&f^n{cWHIOdZZsp*7wZ{8$(7k9RYL~{1u@_q~iO1%v@T^KvTJ|ik z%)FJi>dexbl0q?Wo3j_SmNKJ=$J666QGe0>`GV6wz|?y~y`;?eFh30I!?llo8nfgi z0cJsC#tcQ77wz~G(FVIBS|cB;c9ZlLK6#n#1bA)$~Yh8)2DmaufdG9D0 z2(7u4yLD{r$4gwFI5(Ef7AWE~XZ=Qy*d#Yr8-$yl#5!mKV*wyqNhmruxEAoRb!g%&t zl~chpw{FvK$K%OzLo&iPPb&=Qlj1$BdtpFy&%g$xKmCRe9mH^6?n~RiZQrA)*y*i) z?E-Ux>PE|Agbcg7JvITQY9QSSlJ8_HQNC91bqRcWPO$12CWq3aMV$0*EdZ4GoSxK5 zTjl;*Gwag#8IkgmX7!Ut&$!Y(wwm`;Gki*$3M&sZxIhMEFVVAHLqB6V`rKV!ZEcA` zc~{dQHFiJd1b%chkpj(40rW{a<9K=I4uwUp3j~|(*BWnbh!dHZ-CRQ3&$>|^@6F?v zm*s8EkA^VkM!I`zOFOJJXrO^@_3Vcaak(ke1jW~FfH~<#B(TN?!Wk{G36oa?acWeJ z>G9cQRNi%bxetmRzbraUlJ7>(UX-^7J_ut>yr#)c7-9ChBCgcF*W%RlR&Fw#*KLsd z2DU+=!iV?1{1-#^xJ=tqy5q?h{l2gu!&SYC`^XDnX@+yw+79|2{(|OkYyJ3B=&|e@ z7sz577P6YAaog|+R>2LBFHd{r86Im-Z9YRjrY-tFxXiN}4gm?R0{+5Xv^Q#PvJNL{ zA{7MHU`Q3? z(kAVCe zR8O++y-v62rTiPow<4yuzT6pj-Kv9Y@%7#R8oOY3T+L^LzVef9c8*>;2B+M#H*9x# zm03`FZ@1Ro$?iic)gPqV>Orcx%@yeJOyDu`ZBgyHUEVEsFTRG)9ur!vpF|{gMYnB1 z()JRP#!#Mb9hdVE9HDk?nhlENVE}@pcyr#RxMz*)AK~!A8$gE}8fFQ3^uF<}3-(OD z1?Frg2dFAn+O=Y|>Zs-XA{#kK`59J$%w#zaohlYn6}PwW>4y9FTXTQF#ydh7-1j=E zVcEBPmz^rlU69102Mj36iUpsUQ$nP60I@|&ZYpHG{^g^F*!D4wRPXYTN5AyB##-bP^ZN z@cgtb8C5uvd?3$%*=YhI+{lGi;RWXq^!2joI~th`p&h_Nud|L4G%(xG#@S z^!Dc5HLK(`%7fuTitl1~se@i>Nmn4-g~&RRd*(c5unE&Y<@y$_C53)AbYkCBNLO=D z%sG5+*N}J6Bbx2aYvW=={r|D{mQhi@ZQHlfNUC%r0#X9fEl4BXUDBOHBOuZsQqtYs zT_PYYHPlcJFyzoV#5)-O>$>mjx!?Q4^L*d~Yq1t<4V>G#9lw3sw}Yvl19p>47}NZQ ze)O~%HHrroBJ5bY&~Dal9cN*XO4IbsXFerYbQv+u-%!}C;?vsJYd{Pnw5if&IscM= zsrD+z{uWC*XK&G@y*}DxNJ6CHCtO`s#EGaixF?Ux4iYY*fZ5jqbu z%o^R~u`1kdtm7wxu$2-QN3?jotoqu0TDAb3_({`m{UKK}=UweKC49x!G18S~qk^Tc zOOUO1wR4h0gju743KK6-+ep?!)|K7e-WfhQ0c-g|)3^$2LD?MVYl*`4*~DjlS6}ae z24x%9t_gO%&o6I15CS#dQ|uAm-bZW`qNwJ{wL4AmZuPi^8DW{?u6HG}K04Zsaj>!v z6F~CpG_7K?ov-k+d-lR=+ZU7lT-t?Pld=MgvjfWATb^?j6R`p<;0hS-+4uLef;y$X zKWPXcmKaQapq*&svUyy&{DxDv?K5>ZJT|dY%*){(_F0J5EJi&;Q`$XjDj7Y*iXLF6 z=)2Po{jJvl*AX#GJMOkiTGgL68df@L(%)ccu$G%nkr{3!eofID6di$qypil#p3jhp zp_aQXH5l0F)%tqYd3(u9CAuzs0?cBRL8SBE&I@3g*sYBPPev)%pUTVOxMoq1H{`|7 zjd+L~{6Ww9ztHnscWuacIotmh)OZl!iUft7Y@EDRjwat9ZH9lfiU|6tKB=T+(Q~dW z?@WVS&YQDlLD@3xacXUoAlBf&Spb>MAP?Ke(v4w6q%Y`z6^`quTGvrF<>od*p9e%V z`wGyd8lJ)3wxou8+{zpb4AkukYkuhN9A^|n&ky@hSc%!;5kD*S?;5^M)5~kwjuh;s z*frsa{-{z=``_|(Awi74y!I%BaIMg6e{-Q}{|^Mw_<@|A(+A++GO*&lR4HspnFlLUy!)~6DbYf~|YL90-{qKsxv77tx0(yIU*~{lV)OP~f zW16HWy?xpkgXbSS{O6hb_oK&aqXeofKFLX=s^4J_Y&pkt-Y+?8by03vQ2arDtBABj zGi}Cx(%JGwX?UitUbr`ZLhU z`iFIcla%w$bL9hq$$&!{rvtO*p#<^~iJGf`mmgje#Md@A4eGHujVh;ZtW*qSVs~{P z#RRn?pO!Z3lDEiUL!SH8Wo`Nik=Eb_NXuT$-szMatJSj-r;QhzSwB2`ZZQ#6F<9r1 zf&17W<&B79+e@eG34d0IZ)GPj*{1cnG&V))tubQ=1*(cj{8cG%rnO!sJY6Z=v@n9N zd7-RC*wS&BbW_tVfW*t_o0O}Pu7<2zhVD$p1dK$%<|*0cm0P&mn?Yrk{HMTaOB6K5 zts&~Mt-g2dn4{sp3H49C#zj+gi2o*HW6Pp0P?N}V=aZ*zw368=quc|;^57QLOHQb> z7b?HNx~0xSNQsO5=3GjAbN8D$Rh7{ij=r&Wzd>@3V=+JzHP0U!5}+R0#RAWDWcqJn zH`?1Xf_PlKlyzsu&+>@#XrqD~^mbV4xKpZ>eYqIi3`^2&F5IG8KNpO7g**6rWv{jq zHi}HUe)ZTlyQJ93NJn~}J-B-24s55aCp`6!xKnJu3_o9((Ve}U(Nt`rr0{PPvBRkN zYXmgV|3;t@qu~+gAhGw8{L=U%x!3hSNs# zaa@ANOQA#+#I0ZBhT5!dQ(!;5F_u#kxrS@(YcMPft#R4y+zxUH3m1n9A*jmpvx!cB zggnLKORRx*x|4=z1BUc0M~}wsgw z1KY)OH_~3JN_pKG(Y2at``LK_CcozCrWD`I-S zy2^Jn7$`T47kbdRfwV7$Cd3__l-HTEl#aAxFpIAW#F2NP^CVu#k;)aC!$ix>%2Z#4hnxyAg*T+Bo1O0LW@HK{Iqc4rwe_=Z$>72pVVA~zco4KW1ZClJ7-YQ z1jC)-irx1#n3=$9XYWuvNg<;jJ*`#|558Is4*9p-owRQ=eAf_?B|Z1Fs_r((iTD_v zeOCQ1+2?yM@>{E`spcL3w0R&nzR1;{1QX{vIcaExXTvx1db0qZICb=Y8d$`#)ORfY zNb*!&-{v+<^#6Y()>8ix>*;1~NitM-E)=hNq_ga_x>)S~c%!J`FYCzkd*bC=yezhl zMf@k7bja(LaBMSO4#>KuFU9C>L|3v2+Q&q0J6SEvJ2W&)ziZwmxQ%we0zUGlwD?K1 z-*_o`niQVX`sPMQA_|84hiQWP{!^p30_?u@KD0ouU#Ixu@;T+ua_u}FzUAnBR0B+> z&RRvNA{{(xO|o1zLOY`1_rnmVAoedvBhnl=Oa=OpxvMSoZjhy5g%Y4uvZp0b(OP@z z_>IKYS;#TNk#*eWwOcHy$X4e}sH_5c{_UFthSON<47SM1uB~S?jZf3ItZ(FYSl6!A z6n%EBbEAqAv#0iMvp!o>g{R#%Yt_kS&i@-`a#&EL#rltbHh%$<2NIsjw&1Ih?0}24-n9Zrlz(3ARN_X<4W5mj z+3O#AV4qry@QM;9Y?@)wvLejrPXhCuALjpbkB91e-b?~X>yA}rHNm`bW3yY7OavM? zDgvmO7r5Nm@f139)@t3iV!H8yiarqBX~>r5XlVtqElagm@!695(ujge2Yw508*l{= zN=Is%vXZ|D>#P;r>Toe>*caWdw~jWw+P6)21~5;dVkGj}k~xJ!HZs$jp&j02*uz)j zz}lxgAjDMGR;xZyy+Lj1Hyzkx=KK}#LpFIk@1B9M&@wyIJ6GuFX&f}bduGZaJNBhk zdTgSXIeuQ<>lh&>+i{*FZVyh@SSG(%1Ko(}Gy(AIGSOBY+civ1PkpY|a_hr&Zw>lm zUwTiJ@kX#GxR<7Iu~x*x23I1+j#y5Yr{#W5sD8tIjt-g=;dWQXSB3!R4_rjD9b<_>$?C<-0=_%gIj3UMr%WKov191limnYlK?o zDhoBuQfl_eM|t{_$Kl)!IN?@h-Y~J4(;v!EBWJIlQ8L|y%@$LmC?sd^AMRI8KQ~Cz zr>3_VP3ANFWXnM6u8krfOG&!DGzgKIQ|+5|1{nUa*$~vl>HdU-y?@lhuPz9%yk z&m36t>x3=O5K?@7T5CD`9;%zu@5Coc$>A)N@O-RfFpHi>3K;zD58o62s#!WapK)Ba>?TpsLOD$l*qZpKL?jm+MQA$Zw512lB6tiO|g(vb9x*J+58+PTM(s~Fg z`!90UPqK_KBO~Zw2C~5WCL#`9LC7kRS;bJ(UmamFnQ^`hF9-ngxT^8K(YLpZ!N_ycFr-2ww_H z(C;D-=c3V(S0*e6aGqNim`-`n7xxkUc_xH<&?vp98vDom=qwXt*EnMB`a@d+N5k8c zAE`Q{FJR^Fvl=rTcZ;1$Sew^^y>~b8U6stiVjlq(=EAJ=py9-=j$>XCMF!cI37X4a z91tV8;iCPvRrz}1wS@1=NAK-m)e8Jtw9J>d9+pF9jpi*p?j{W92lM(>+o8-SmKxMl zd@pFoha_gJqbGR#zYKzi*`7Wr}$Q1QQ=y!bR?r&T^1Ug)fy@`IW;FV+ao*d`vx?&V}K`-&_6`P4MhKGy!j6i5ke2i@5o%_DLfL8&lNsUc&drMH&UqCpn;9sgBZidx2Sq z2*15;7d4xR(3bG!YPr3W@8ME}0DbWhhr+>-&%8mR-2Qn->ul{5YX%S-^hULR-iBr=A)3B2Lo_rIJdU>4znPLZ6yuicWX}MM{?$0TgCo zSc^){JWOkiT=f$B!>6x;SRWh_3*4AerAcJgr6VU|qge{ER7jbXD$jkvy(A)yt3gog zbT)8fF|rApma9K+IJS3J;cenR5qjzc6pf9c^nBp7b-ORZD+D$WAsiK<;}d=UjBWB! z-|gYKeCuWL#?6^^z{?DdF~j!N+YO5u(Da1Eob^MK*QeK;@2DH0w(teT9$`Ky8cuVCKxKwR@pb%Ty6Bk(iBFQMymKyd+8EWjTK5)>N zx2BUoJNtxSJL!7kTVdF;F485K1M#O1b&`CIU0L+2`BxG($f4*Kc-8u}w1qJijpug$ zr+b-AH2YoflBMd~ffx|@Hza{3^msOWH>oE~+5p%KkIsx)`ewbeEDISa2lO>KRqwM}XwG$~GuX<&v) zSOfDlD$*|`n;Y_L;^=+AX>!7d9rnLzch|3(W7!k`pChTDXaEF+I*JwIw5Q2~-wo&l z-fEV=Zbag>+b0lRqeMoE#M%4U%=pwMr0&U^=RkO09zh%MiZI633z!bigq%dqgtJ>; zb|-%!%^7VmdHo$Z6OOY*{~ONU4*E7>sUJjT=Fm0ah5o1$jza!ruS0?vLtH;Ay_Y`1 z@Tlv!SZ@DY<&nk3jM7bz63JlkKJ`etpK$a(rAJa6twz}RJyB=besid;*x4i?>AKJ@U=kOUM2;RMPN33yr70nnYkMY#Mrb@c9r9kG$VM=d#7#3W zSQ>kqlipS0xYQs8@o|2K#9?g%DqlKV04mt|+p90!N5>}uxY^U$x%mbv{>H2ZyuN9qy6XbM2$+;(ch(C07X7F@Lb3eUWS{V{N?Gv(S3bIxXFbV4@a z^&O_r0|CMiYuh(Oe;s#j#{H7{44HUmSaKuPVWin*h7R>1xP;MEb;x3Ff0=l64+Iia=yE(h zfUggZ+-#eCB_g3$y3$K(1sb^Boe1S4^1_m(m=n#g%8#@lyyehAGLMs=b>5dJju$Vc zOJ0?20V*&dS`PDKsiVv1<@f4oW+sM=(*rp;{VtijhMcwLiex|`)^$kp_C=e};pN6% zb9Z<Qu@ovG z-X6mZ2Y_`js(0+Bwi~J6V1d~lHNx#RQSXG=phgX=;}~25^f#&-~t%>IeL; zMhd~r8WErOU2N13;q7Qb3N{Kh|X9EU4l zT&1iCvVe>EtaH#80fU5gnkYwNvFP3i|UZ3qNnq%G8M2Gzaj zgx4+=XoRW@xDVY@`m^51Bv|3eD|fbxCcniqB2Vyr(cUf&3wY? zGzUKthwSBJ?E1?9CyCzrqjP#1U@HIJvN&{W>O&^wcR}MWqO(|Lmn_c*jnGb(Ft0US zcoqcN*1t7bW3LRa<3}=yrZ!L*Qvz*8>sA0!kH;N1NJx%L)~zn{9}EW`3)$QO(_SW? z%A<>0uFi#VNEPF7rSVJNJR_q2=+qmfZe?%OZ!-0<*f)orJ{UPRuFed5*T;QdUO|KB z`EDz3DbMSjpk(y|f+qeyx1Hv%RL?y``FrI*GN7M52;Bx5=Th5ki@VSRc!7 zURW$e34;=~Q{EH_PAx^0__2**daL zZg1?zUnyQynSZvv$|K>;qcjM5Qoh z$8T3(#SgE;vsQY;f$-rzT|3RBsNn2=3fPrC1fCw##zR;YvcI(2UN@Cc zYeXQH;`>%yS-D(ZoXVMinvtgLM}7y@kf`-XM=)HSU2tTBohNbej`7zcK3NxkLCQ9d zwK~`pjv{8oakR0_FC23DV^MvC`TPO3eC+g$bjY*NSNNfGMB>RcLpGyAOV?dUW{De3 zO-$8Iq`Mf+RD%q#cg~p=vm_1lPVQ=!E)j{sMXLo{#0(9=ms+9cyWwbJW_(XAXNfiTHBF=fK1Z2&--g*y4GiU9m7}Xu zp7Q*JMzy+3Lci72+-@(3I7uyar)%(luj442`xhIFL#eyALkvjj-7j~NDs5uDp6A*) zyZGL=HVNa^JH+><>C%;#f77-La~m)ysWc-myTq3*Tpv#Ssk?^dEylBxWbW{q{Hh>B z)9D6SQ=x5XV%thgKXtL0NO^?#YeLrLLH#QqlF(^P!unR3^zWLE+k1B+BEzz}PQw=UXY4llqJB;NiMfRvF zMGPJjdDCtpy@Ob7{a>bxJv|K+W%h__2sm#NxkIC=0y9*t&1ARKQz|y)@|r)X@!^fK zC;D}~mm+%c3~WgEXUvFT`(28iF67AwSLIXiPdr4+5@i<2zV@7fMg#O1D^*KXPk@+V z@d&!x0lQ*(OeWwjzs7sa>v50;@5XzG(DUIw*T)uys7-`KF$)XzKB?{x!1(e8XtB z>>XzQ9&iBiuZ_fewH|TZ-}}yd4kJF9U##ebBi;`kV8aL(#cZFKRlJ1XGMvxorej=W z2M=RBgV%%8XKiteUE@KPh$y<&FPz|^bz4q)x6fpW9e4r-aaRN^hP(>AAwFyICTRS# zmSF7pkVmgA*X0DvP9V2ecN!MadUGnBFXXBt8SK+^F62xZ>u;En8Au7cp%STgAB{bq zxV`ym{?_FyQ@)Fr@%x~kX-Upxq?;kthpD~Pthtr({F+OK^I{qgebM+xqdn0{7+&OU zT*LdHORtCJ`gOV~#<1Qrl4ukEQRpRAfp<5>s=7T2$N0Y0=luGeB+RoA@nB0A8R1)# z!j%a?cjA{+nhSPFdDLlErQgZ1@6J8K1{1=NsW1N7JV`(UwXnezdQ|`fdi&UNx{k-8 zR2rm>dDKxia{I)8k@^0mW_vPlCI-f<>#NTJ?D(p|hIyqz15_D@vwP@F0m{LKPjW^q#}=yyOnZu{yRPUqNW-krP~s=C`-NL=)`u(GgcfKWT_ z)w`1;>CDaY-V+bkM}Da--LQMw(QRkrLNM*qgQQ*_lukff)1aj1_Z2ug`UV(O{JJdT z=k86TaIxv$R$fazpPQ@Z((0*~$V`Ai^g3Zon!DlMYM6ZsxMZxg&Mg-P76JqV9!JVk z`pzi5*-Ygd5{>CG>RxLKy|F!I53TVC`HU;B-5SAg-g-h2pG?op{Z-VP3&K(nSL;H} z0jWAhFcl~op@Cx#ltOO$>MfMkuRfUsdtO|+RGsi-0jqj7d*o2`-j$Y+TowATXQH>y zMthhdO}hZYki$^~#aqXHHrY=9_%@-c%)ITC9csI72GY?iD22wt&UZ`D!ZHQfqAoo_2igyY#%Xe&$^SWeOD!6u36PVvY`Ql1ccvs4&K`j zuay2d@QNS(e-xTOEH)GkbiOqLed@5Zc6;FAD3)h>^=FEhw9Z%&IO*0MGX6TX zQwjhuqW7L~$?Qx8NBD?E1dlAwLwS zB;&^MU-zb8ouhx`i;#Kv=HEK-@)+Bket2Pr$G88s(4u4iSm?b!7W&^*xzr-L?a#J& z)i}lWyKm_e@yIfg&FKZ&9_J|^djfZCi~GLcFNz11sFwH$$NZDu6JJ^B4tfdeK}ExS ziVzVI(eoVpoiVP5(LN1yyq^M9`0qpZUte7J9}rFG`wc4j($9bRv{vAD{OG`-50-_^ z+t(x!91ANcDvy?Aby+<`6S&!ECwRx#o_i zqtR^m?c}3sYsfL4uX$(jINoWgu1He&itaQ^Uyl585lskjw@4pP93A-oz&C{F;TzffI2~Po2B}3POZx0GIPEfklq8q3JpsZTTrb_wNPbaxTI`|~RT?__2ZFkXl zx^yO}@!Q!5`zKp{4qp^@9XjC2&*>xRVZKWAQr2!%T4wh1-N-kE{s?pF0Zo52Xz&%V zce|8@dvSxbtD+X!3@9kQ4=-B1;6dYIMswpX)?W@CdY+HfFzezF(L z2D>fK%y37IHY97HdoTF+uO~?nP|h>f>VKT73p!B~2sbU2oEGNhuPtJf+Z_^E?7zD7 zs>c~~U` zT6)%>ye8OS2F=vo+-v|0M7C}Z3+Yj3KfieN7q4uK{v9ed^}wdinF0_}RF$lpx`0}& zwwvzX$Z<+%UY#>LVORmUPsqcTM(2qwhD9e)G17~)?P)R{-CrcgY^iooNT#D(^IN-R zXw4<#w$Qi`#wOfH_29U}ORmg5JZ8~vX#}X-PlhRHxPxq+$euNBxut!6c~-fxxV8S+ z*0CVL$wSDbQYeb^ajYG!TO@eggSE*yy+upyr+8VFY%yDq_vCO^KWQnncb_7z|NkXqssDY6$%T=zMm zId6g=DyUohvGFNX{Ar-2H{hl#=GqO~?W9Bg?&178<~=uYuyTP^3v)Z2=AezK9R$c4 zt62R7tu2LjU7OiKfoLHhzV-H_y`ATs=xp00q-X0;x3g%8ST#@j%&! zzZ~)VRCts0^9<%(ng_qW|BtEI-~Z_M55l^Z?^^wLDms0-7LNvTG-<^|beh%-bp7Yr zfwzqa#+ZsgzRRseJ^ z4+riE2QO1xJE?tpMDk`_+{S8|tA9Q}yz1`0NrUO*zsEh)1HoCRWOxiPla$6LpN*zjt6lHiiWY)zeCC6sEvl zA)}pbY7A^8fB|BGS4@0rK3w$XpWkp(SMGm^azWA@BH-7q+nvJ`ghaK7O;kqvFvN>XSsp+fWUCFeg}Bhz+>(;_W@ zYW}8n4a5T$sGY zG$0{ShxEL6QK=LBiPx{5_kWaeQAlOr+dz{F1$tHJ~xMm1mG zpcB*~a+6)_=iMK1)|1FZQvW->W8+1Fwwsm1at)W)3g~vEqqix9Lc0f1X}?>?*7VCS zM(AD=x>6TZ1K;rxR%eVUmltj|FV;1!zYNS}Uz8X3GKemucf7_7Uohl474xMeKyrO{ zW|!DbR?oV&l#p;`JA9sRnC5i19OE}F&+)gx3I2FdQT?t_`owosByxHqo8_~Cq^3j8 zSvrt=9o&wpj!+rGo~d1F)*W};tV($^S6hDvUQx|7f6!8Y&&Ui4Ul zo^VtVxCHM#>RVX1E ziE`=VH8wgqzVTWjI0qNQoW(4C#(bv*2ZYgS&i?1QhIFD2e&Pn?my<41?l+fSv9Cj^ z^2#q0`R+WtYN%h-`csSTzgedmEW0tvjpn}5ucv%| zvX2K7jp%U5-hzCYc134TKah}uX5)K{7DqbnL#d6c3TtQ4WBC($foxTxk95B~6a1)R zc|MBgTv29cs!ZqE@Hq1oo8a{|mZy(TI}a0=fzM@{-r+xf88+A6pK(qv;vD0Bw?|5H zWjx5Qv1zb(_S}_4C3DJEfw4)jRx&;>$~g~!!(5s3?C^>{-CMi2)HFep{K z2fuvo0m8pT_&>hMVny@0^S@&~-!Sy;zSm{gSAVrH=KCB)9@B>H?P%Mudih*(P*RmQ zNkRejI^Okilxw?2)Bz%=ZHAUW*H^E__cY92D7{fOOW(ZmXI3ypI`2I*?YkY8;cuW& zK*_3D-Dh~0M{YR{CPUd9YT&;b|E1N#7YMjZvZG{IjK5Eyj6W9t;UZi7Rz8C(cB}K=vABf`7NC@UECLN`;rh>*uN}fVI8bhf9x49Tstyl8GbeGHk$wB zot4q*IBI|sAH)Ue?u*5EyM0rk0q=T+4PaybfzJ9Cj$QNa272cDBB=T5lMeKN!>e3y zAlsa#a-Zr8+B1rz{sehGk&&G~J}LsT+(WY;(K56l1pzJ%S$@VA4e<=qQauACydP{0 zQF_pp8ayIRx7^+2vA4b|5I>+jWsyC@gLoK=p7PlEZw!7uQVl?5@$pCzv-dAqpU-er zldf~45;>NB?VLe${}lo7EF5mvSCTwsk}*HC zW>~`~!GTV5!B2G!rI;*=UyoVsFkW6zuSKutB8baga&{bc{q@YNVgU{^@ctpE2>4Qq zP%6E85_%Hd(ncp~hZ(UxGM}_qu?*R+Mb0~Wzv^ACIU#**6jKq~bimic83T+SnZDGN z6w=Skca8q;edN4;)pAI&e|nnXr=Atu*?OyXSkPi4vW4t~0W0L`H)Feu0oPjpf-~?T z#l%;UQB|Kx<*aD2atoUDj)c|u*OTh1P*Q8IXp!Ce%`oCjE!3!bJL`Sv1jW4p=i6c7 zr1_cN6M~FGKlY?3A8d^~qGKV~pKY-10PvUB{~WUdg#X@zXi%ea{#>sLC?>=bq&OWI zey%Z?j^Q6-Dd^9M;xbXe$0-zRLm=<}JhNs}1Vut?l$xc137>MK;u(;kQ~+_nT%t+D z<0|1e$0k77eZSiHrg~wlb#Ayj?J)PW`-^;`ul`VBe!uheE-2pn^rWmhk*f9?+c-%8 z+$cNmCo67>&w(oBKWjW}$&=d~({^&uZ-U;gLgJp2sE{V@jc&cO7*Wjc&RvXMW2d1C;7Nsnz>I`f^I3=5G>R_ZHvoyRd^9XSM3 z&4t#QeRIn)qWa}mjE}zvG|PYNwKF7asAeVOTfc=$b-u0Oe>H{1d_Nc5@YO@s3 z9f=-??2PFig7DA1og9|vxEDu=_6Uoe3d@^sC`wbXV@*`QoZnp72hScl174`*7d6tKL9LPM6LKkvPJ zZDAD?x`DCmxp;HE7VHN&tlqeTP&O|t0$}p$Nv^x~TD zgs8~6pAD~b$0j34tN-whwOmYd`55yLQhw|gpOx(kt;~oCf|d=&-g?6nk(-xy!Mb1@LV-DOP33G+YR4|gd>()MANz1%s9m{0nm zJbLv4PNHdJ{!__&X7L_AD+cu7r6soBGG}TKK;Box&HxGs_)hA1tB-eZd7Uvj)!sc+ zj8NsSd@#Pzy}il%qSoBL!AaUN4fH9gxN;r`Pat|$L9Z5zolkY0ByrPwqk~`_ACXzg zJRR6!nSE?^ov%4mnonq2D&zpW(b$5JEN2NNOFjG?Cv8~aajomYbA)z`#KmKEGoDKJ z9bYna=cALhtkdj*BM@%0KbsoXyzQkfGsMde;i@uo?UdDIa3k0@RD>{I0&o3nZX$k4 z+-%?=k0w`SDuPpo*0!X_+FapPrB3!ltux=h*E#gF-1mNzv~8RwtxQ$6bw8PnFhYIw z$f-*`JS|nTj_)}IYSez5Paqc+AkAaQ)Lr=Kay(kvh@z)Ed{UsNIS174J76|?R9*Kd8QZO`*vKPfZ(1%@B|i@zhe4!T#LOl;G3jyuR`$D<(Dk4 zyy!lV`Zu2-n%+U+^EQzzgr|vS!Z(ASP zjbz=^%T#1FVoCK^5{=KVp2uVZVSgS*60+a5>#YW5q=sI0)%ZsXWY<+jLs0E2hvpHV z3K@VhEnF&0T(qj!c4_d*Im~YM`rl8xezf03k8r|O_(0&DU6UcNgY&SrgYBh2!{l)_ z=3wkn$%UD$gZ$Cg)N_Hf@~k@)8cWl&b~*X{d3b|@`6FdwQt8UQ!F=VKg%eNh+q>ZX zHmIN9k(fx!Y02v4y=b@JHDFznx2*b#2|>JWN^X{~-qvbF|Kv-7Eg7f-1(49cEZ{Y zJ|z>%pVVl;xR}w;gYh^--VS0GB`TKx@YVly>#m;a;QS7{+;V;myQ|VE5%}bFYq|Q_ z+ium_064>4uJ^#Gn|}PYBT<8xbL~e1l74JmWX&K!A?wbtdLa`|%r7y@>ax7>CXkzb zFW5qY@q=c-D|pTHCV4HM!W?Pa77&k@=OZ~Ca>&Dp3}2IV;N3$F7j*)zf4c=SVWS~9 z%Gxsbi3d?lU5ACz{k{vMYFwc#eY-Gnuv{J=wK_qtOJsf~>&xe|On>W{5H6Yfy6(|* zJ`peMt9GO(e7W2q_6bFN;g5nN=!c~Viiz(s#)w1svi6 z_u{X`NEAs1ib+w^+lDhD0 zhhgq!Et5nz-R(#x)9AZrLlwD88xPhwGiYGX6a)0bh^L`=cSOsd`&C)foI_3XMsS_4 z-sr;nrGqFh?4d>+=q>F-g&vO4D#s*GvBOO%Om4Yt%X$>4-?tAiq|Pvxk*N^By~!zw za7RpwQ$;V7OqmX2m`43@)qDD5UPMvxQ?QGkE_cNC14U;&CgM8MKujGN!;FJU5EeHX zjienuQWaBw@K29VaZ!v+_7Npm&*;C(>urm^BY$&iOSGnZr6B8HG`RW0$pOIOb>|EK zS7|zrE=Zfg19)6d)3<=}B~KS3#hVuqFV zwzIPHF9^AH`>fvO`3r=M?42W^w6^)pQtO<8c4v9M@qx3ul!2o;iE_R)!aU2&0ig~=ci)1lHfV}kW6;C80`vpIz$d# z$W`0R=riI_bB;fQdXk&KzP<;%(ClUEH5m5}dhBSrM}omPZLd-#v9?Qr*b%$sE*fdsZY7Fv^^Abia;}FeMWC;(G zBFVp05W$8V{Ukl5_~v{|dh`q^{}BK($ga?HNdSgS)eqI!SGP2De@yHNBxz#UF?dwY zDRUBzL-*`=9)U>l_d5Ap7}VoufX;7h{Xb&rK8k?OJHQ=K-~aM`>v{rZw6A_he&9U_ zLAsv*N_#$kHROwL6TI~Kq+a31C?l0`MP61Ui=253d*0E+4mBA?x3q4euZ&-9-9gXl zZr)32LvptA+t;&(H=T6^(6p9QpqYt1zU!ya$J@H2@V&$x;s3UmsGji~R44NO*>#~M z`4W7ge7()D`C-{}1XLUfSNQGXuZ_OoYU$~b(K%6J1pN(7^TP8U|Iu%~{@w8y{8v`b0iJ*Uz>BVU^LKI@nyBuahbyxAn!{Rf;V_{!1j~DK!O}b|BI2J$9|7hw_*8hkgC4pu1 zsMSt}n?l=)#Fl#C>u0A&173N|i&JU+LXh3|3&gsuzgd7W9q)2qC~N~jJ~QY&I&V{c zvo|wuQCX|ew>;6=v@y9*x4uk{&Jg1u?7vhdYq4R|MH6Iwak{twymOro)b9Q}Xq!FW(<5>{xC&=Zt!d1>pcVG}q zxId#cNxL#eJ)H~8{O}yg1wuA_;%0b!#hvi3GTu(~DG81|;>#;J2TaP02C<4S_QhEr z&xqpJoWbAibCn#ydKwbt#3Ft$0ke1)B(4~znWE=>%zISyH!t7Cx<6axp+g2^EkbPH zNbP-Ev}j#JM%YcfMp_ta5NhgblF*z&s>VY8&T>_!_-5<%ocJx*^4Pw&lmSm=nglTV z<;VAY2dgX_G!aWM1Toynf{xG$AL=BWhH-+;w{)OW&Lg zBZB9GDrvnxczbQ=a-fuO1f#Q^1QFlzpCo<&3R+oaGWQ+05ReS8)5}bFX`BC}qZ04U zE=#^pxr2?+sv@bpDUL@2iSbY#%V*W0t}naiBbWL@yq-x25A9px zfij;AD29j6uJ5uubnEL*_YR#&wphyMNSGFf+@0+1Y@A{+J=^%V(?yHaN>>J!dG$I) zjY`9dq%yAB%MTyQxmrI-mwca33I9;a4squ;QL!(yx0RjaE^E{;k6bA;6_bvku8`WKpz1DNd9YS+jYcM5ZPWJ6bi|P0x za(bJfDK;y_+w{KZFLN)2dx8IOIHf^TnkLLb z)4tQ3fd5Ucm9F)mm8F*sUqtd^h@yTnyVNL+y(*8^zQGsv%yuxr%-CoxqFk$L75z}d z>fqB3i!za?tD2IRP^B@mInU@rb&N~3Y1=jI*|f+kN=+UtE)+AI%3k)ZQkchKWJ$j#ABTgMrV5rcO1;=T=R^rKAt&1JS_@DHLhGZ&Xgo7#;|v5xog zFQ>jFo^^tJmt$g1QO{a(cnKc|L=QBF&WX!$Q}HZgnS8U{eUvDj=3HxuSbO#{n*XDQiOP!8Q3_kQWf;WX26R=kS zSMz%XhpBbd_+xz&&CiUl4r2Vx6kZw$jHkJH{jkjg&RIb%;vF_W58PUr zY+$ncl9o&LxE^Y}y}jMg^_IfbeBzb%pSiKfB!6BeB1i=aX$E~vL*NDsmYv1AyG5j?I*PJ(5{vZt4Lp-RrM=#wGyR1cIuO&^z_04< zvD`xaR%U6(B5+R4?eK-^HSoSQuO*pod2{x%`Ev2> zrMg6q)-Fdq@m5ZjAhI&A8{H_(MRtx#vcVtzZtMDx{`gk zAl5zQ>~=IM%`KgV_ahR0IPs8XQ03ti*_=jlIBMq(LPmrA4~Cr5mI}Lb^*@LXbwfyStGZK&2VFW=LrmhHe=6 z2IKd<&-2D#-=Ftdux1Th_rCVoXYX@p$JS2Ebf~66<86N`FWVs3jts7OqYmA09dFy} zlwx#T-gwl#%1DX+na(1eus`Pkv~h4&`@G`i5mm;!+JuXmaX0e;M>I^$AXUVzQXc=Q z6ej-XWSP<&l&^T@QsmOA|)OALA`P}Sv8bi@w0~J)|Q#zZ7 zRkiOadAFXC-aoM2&SBhc)i(JDw}-9~0_@X08PCYS*f4DiaYkc2b+z;>0jqhg4v?8= z`1igYB&3|~Tn?1gg=7l);dE8l=ESFGwRw)U9n6&l1`*f(J=*2kh<0;d7rocjT8FM& zJ>E+>RSmZ5G3`zi2r|)*EYb#9=G~o4Aaq_6SmAOFgzkMJJO=UG zmDq@XGc2oT9F!<&mN?VSGnWdsRXexToo%eJBKltU8uv(2jYf5$9UC%Kaaw#HOHB_ zBXbfkM^?NG!uZMmW2&facz5o&xr+}CwcUJ0fl8A1Y$-O0jCj-szwlL7p8D#hNyUM} zn#%xuUu9gp&30XfCo1~JEv^{rsJyJ46X)LY}%&r?swduYC5 z(!-Y0%2iYew*hXjNlcdt0Y>4`-^9Mtl!C=|<%G>ZJF}ci@_!vT`T+6QVJ1Xi7QBw| zSZ&@M+SvET{~YlUA=-W<4(Tq5#8D=&Bq_QlyTv5Oc*ED97;G~3R+JjHoY{mO$tMF9 zkZ}#&^5L#>|2&~rPI)!1Y|Z>^lsPw(%JOQ_{)laMa-PWc#_kXzei@F{U9s+?{P6X4 zQ0ML~FME>rVG22-aipcNr696o1TCf<#8m1@K&DEtsq9t!If~d)Z^vlRs*FA@CCyrd z^w_OrT2TV`iqec0sPO21K} zaw`ZZb`<>yePH9pOPize@_VxstP!DX-AcoMal9kkUMKKm|Kx*4Za+kGig&7iQ|^5Mv({M%>Am7|tGY0QQAS{v#!RjEQ7?Cvu>IQtc4x~66^Ga7(6;wnUz_PCKXdRR z@14mDYeZqVY%Dkuxx^W*1vjY5&V*3*2`CW$-u?tVGoy! z>EpmrowG3eG!@JbL9q7_$Q=E!AWd?G{hi8960|h(vrfu8b7%%xPB(M@Tjj!=IbT4<+v+AL z2z>1K%}w4C09#o%vUrFtPw0P*SCx9I=7>qHN`@XqpJLmW1iWOa@l zA#b#K?ehd(0sbRqJ;c1xUlkTyN*B=BH|pHyRV(n##x%6&~P!Rx~R^?<7^)i2;>3AF%`4^U3x1+29yZZe0oLGx>b6{Qdm{DK1Q)iS4 zVbY}X*}eT;f<3jT>jW8JsRo7xx~NRudN@|2AtN%W%{?j4hygDAS0n~UFNRL0FMyA4 zLh~CmT9%?kOKV89h^+iF>9qON4&m5b_o5#!cac_Ru-cq!+6xuQe$0@5t7_Im>HDFV zO9Rto@5QU9p6~UvNt@;GQpBO&3MG#|8FmdW+9r+&A`qx}UfP;s#fA9YFgQD1$_lrf zr~bTLS6Z+W`s&lQ#|By&=WS|hbiGRXMAh`x!5WX7d(PRa-G+(fWOu50q?}vN!>W?; z%Cs*jqZAD&cc!}x?(x8fUw57RvpJ{XNBA+BIM+T!F*Bx-u>;cQ(3YN2r@#(;f$5Xy%{VOqA|*5|1C7~Z``o+EBV2A-AFQbrq{5|?XY{Vq}f(K`GJ#l zH?h6G9H74=t#YcE;EsA3WRA#|^|0?Ok=tE*iX7lV9vh+Njcf1s zH!k%!D6i4Ab!hp;uume`sMN-b+LW+8lf?2OKn zckw2G;tMT;mgRi(+tj~rZ*T*8=(WW25{gQ=r$ih0IM#*BouF=W`G)rqNE|I49ky+J zGIAE#CpHT$uJM!pOy~$%uzA=9gCR`!|B6EfKd}fX_*7cJ$UG)~8rwtO z=$k>JrQS=!*6#z;(q77X?}8i$^l%B-SG+SZJQL9vASTF+aRIX`KpI z+|C1g8-_PyQDv!uyPAemQu=I!D!Z56=Q!26N5bN+4M^$KgNaBpih?cb9rN$N}ac)0@L`cjzlg^{5i;dKV)~M-97Uva08OP~CvsIUFc^yk@d*&LHhL@#Gs$MveB_bD+=H6C17I<)#92(MJvNRf5h9qsG;~F$F2ifDRZsIQa9y+nqe{89% zeE01hu0e_bH_JQLC&`|yLOi5rr|g>E*0^Rz5p_81tn`)jrm9 zae+5}8_~BtFV^;fSWy`-LUtm`quilwQvx4G?4*Qu;Pa-X^7fJdVtDWkjqxRiT{OaO zn`l;dR{O{ee7Lt+Ctr8_OkHZ%9RXjF&f0cKXcZnS&5`blKaO_3WmRvd z&bt^{?jpkV52@sx^{l&~VH>I!132{Qa~5Z?PXYt(bS@ie&`U_)^~h5R!|o#=TwxaS zO-SBAEINrg#tc`&PG!Q0_lEL3uc zm$Usn2xXTaR`FeM4FUvZ?tcb8G{E?7@j?1fE@w;xK==GUb_m!Sw3(H%@E;GIM54t~QjBFdp@$mts7#_i4V zame&(p^X+w|LE(_M`%<*aVR#jwaMn8N3kJP2HHkOkf|i1=Jy~4m02u2uu+U@l?Vp1 z!&=YgWZ$HfX&{+0Y(cFpy=g*esth$Y)oE25KZ(m`jA@B(9kKCdA+UD7)V+v0$2XpdS8vLNC1Z~(#V4#lZUi{HlPe(RYPc91^ z1)99NnE?gUOHb1dPX9Fi+6Fdf-pX&Peusga$k)ZadJ9c$Zp969eGh$tVo_^-O3=A1 zM(*DF9U(9}!Bkfat><(7KHqEuNOm+OQKV=oo>a}w6fd_8EQgH6RcMgM7|y?Y0TH6z zmH>x^b+(s76Q2BH%=xb*!9I=cD|7EnX(TBeZ0WY(U|eu@`OwzdjU315Yc_qLC$h!X z)p#g*NvZFCA7mq;E-9a;2lfB~`OKD;43y(-C_<30;PbqsAxV{Ynyb!3+RWrE0%=K^ za0)P<#=r*fM^R+2`f4(u1F-?f8#$C3OalHO^6IM|+<*G^EFy@i?7LmjjHz?nnkcpP zBg$-?Qbrw$An$SKva7{}#~EIybX?mBrtIKx6R4E%cDPB|)2Ww+=0{9c=lRVkGW&Hl z&$9BiH~5;(G}5!m+a|b{Zb0@!>+Zn^Vy6#!xg`E}o(SN6)LoDfp6(un^*h>xv!`E% z>hm3kCy$6!-SAxZC^Fkk3o9~`!=v<7<7m@U*7<^UDSO_o@qEgnWoxXoCqU(T*F}A+ zZM=P;3@3U$+X8k}PcIV8LXSU78Gd~ZS2V&_jVE1N><>#*GTa)%7V=JV7265$=ZU-Y z{cbBTu%e0K^jkNMvZG0Mvq8#K698KIq?htJrh`tgh@ZV>)x+QD7q z%8IrF*xA`@c)3Sv5v7LxFvcqEttWnX=b1@#5>^*CRGI=x|}f;!d|yM_oIP zijU!$bnfen%j!+~2AJK{7ORjzgGXp}fwb??dmR&DD+^EF&zy}&a(M@o@~)?wO{2U~ zhTOwTy=RohBi7G1nLY{lb!2V>+sut;N^U;{_(gRd)-4q{?2Po8!|-55s5Tzpkns}s zRR)=#FZJv8uf-|5*K~z18+e<&3z8N*frnQ|MRwd?O}1e=9c!En+*h)OnrIrnK>C5v zJ3e&&o8SiDu@U%@=72c&6#^a0gv-`#%yvAgBilzt_LpNZ7y%|ZC;s-eLNaFg*KYbI z7R@r*aJD>;7>N2SpgxWL3x?(10cNm?i(mb7T>le;f3apGZ|n~{5JUDdDMJ=r0|71} zS@DU?mj@ST0$m4#6}ZlAt`$XXUFEz8DG=Z+LmXfL6_`Og0~NlVWw$FM7J!7lA2{NDD5ASWkB16z57_y)zlLboX@mT&Zv z=yHv?62ku;+V^Lb6nXZVQJvG)BUG`)9+E9PNkG1+P)0&q@)@%(~gP<)^K52xiMf7kl14$YjJd?;X0h} zVtQ=`d*JDY-O?5@6_t1^c|E;d*6FT(?R$KA{9c2PoovG6owC(Z({U4_vW9l@wI@6j>r8J$EwPs~B&O`fF3=X}djJ)?sO*tRi+&t`T z5@wp08x63H6^pPH_3(&n4abILaxQ6Rms*q83fB0ZL$tX06a~lMsw3{1*)lHyOyHeC zvX>}Pwoysh+$;DW3+4@V% zly!mceV2!2_GyM~jtwJpfr9^>>}AU8cMJ8GJ7oK8X&ciCBXYCt^iA$qR28UD@oqtu zcf%F~%8eOzBeLgM+m1WrafUK7n-7M`8+7<<8|}0>@2so^N44Xe>$E2G8>820$JCA|eq(RB z`t$QgPj-Lz{}KndPHZ~ID__H`o;OnU1|D#u3As~2$6CA%rG}@W1YMX!6l6kU28}$H zGb^G(XzQu^o^QY|oy7Noa-hj(DxOp`qJOK~q7~+zpJ7qiTQ`j+fXCD=O9<~;oaUSy z+iLTM*Y@S&C7bxQrq_^FEa|n^@|D1N3hk4ng;dh!1ELMdkjeD(>f_I=e%h{w1YWIg zxmVId*Lp9dUlBiSIM!x-+aN6}-M@T8w zy0C=ci)>i%eB!}5%#3i@zQ$X#8w+(yNUiw7WdkQG>rTSIQ);qc*|I%Nbu#KWp`LXn zJwwIZVd<*B3JBMl+qcH86MOHqW>BlG+R2q9Fl$mk|Ekpu8}l+w4l)Z*DcHf#1d*pE zM=C>1>-c!k07p!QO>)i<@zG4BByC_TssDG-K*wJ%z&T|xr#Am=KBq#9{a|Pg#x{Hi zpUyu+_*MfuCqpL&W1|-?CLgE%9jNf1Wbnb02zrE)M@Xb$Ou4HX*D$>Ex`{5~%2VBpn3IVcUzr`o}MkIip9YSvUU-XPG;e$zANa)6- zjxqIsKp!oGHza?$fxH?#nUk(;PHzopRqNqmM#_!;jW=A)U^M!)HlLod@neuNR;_jc z0S?v{gSak4=D!u^b_GiAd*LNqcar6ai4+hriV3VfUUjhbpzr zS0h6$gU)~p6X{OuE^HCC(0qGj0w4L3$?endlJ{+!cEa#buZsaeJQx{Ib13*nbmY~K z%vLu!GUvvuofo<8dpKQT;a9Z}ML{3aa8=7A9v|7<@Mf?PQJ{EhGt+9lf|Ka2hBFh> z%h?&Q=re*!N`9(3rd|!L9p=&pt{PGf$z|7xGg#EGWhpY}iVMkl#-9%=$n$1$&7`Ap z*)%=VFo++Cin$FFB0OUKLsd{bEfFD|2A6hPEKNnlY>{>%xF&D!0Qhnu%GT}}{ zK!JJZ=2_2e=Hb?M_y(DwZ{0SFDDOX2XSUoQ`aDI!U^#)~W-Mwxr-?*pHmI`sWgHYf znATKjJiLwiRm>c>-5Zn8bGWz$h1w8zN89jy6N=F5^p23F487LsV|2E)R%4A)y6Y{p zBV zVun&fSb#OIt+3G1hJv$qbFXOAs0JJ2w9*pCITOHSBe|Kj4PcoyzSTK>hD_2FCc86J zR5_Fk*Dq>pMC~c6z25cAx0>f+c%HdiO5ugp$aSQqb6Ci+p?oK4jXjtsIi!wtQfn*^ zuA11ACF88glu(MjDzDo+V~r_316jm%bw-|37BMB05%bRkQ4hFaf3@DM*jT2zcU6O>f9xC{z%)L^@A6-{gB_eXlSxx16M|AI@aW+rkxQ(RSbM znR4$V7jPwI!3R?9I&EtH$uu$#p=R=|j=Tt;r8-;d_1EA4DWBo}KB{SgFtXm>>DDv% zkM0;YSYA-}Je_uqeUA%h?m_PiI*+9wytZaDwh(VQ4T~{f zQU!PP{&RBv&6551p|kJb;aJK*la9ypi2y)QNlfpC-;=0PFp{n5`6WqY1M<*ED}jcZ zkmd83DUniPyDLn@`0AK6OS_qsjC{xf{Uo^T$yO5Jds-VAH)lxC4kq+xBH%(9aJItk z0iU*)#qQjXpCu#OsUVVFs)5s|_A=`52Zd#OI6}v++vhjGWM!vP2Z0iZX?+l}#4jAS z#+Vom|)Vwme5Qa@3IhsEI;eC=!R2q++feZVyh}6kg$IRQA_Cmo0wwT?zh%7)ye~ zV}bZzm5@Nds~1JDaZMZB-fD=xn4C`R27d%(^ddIcehWu6eenW&29Ce)Z~k`tzyuN; zf2E5Lh94hQhZ`-bSeN8Jr1nL{!whvJ>mTC;>0a?!Z9cVA(l#(h2$(w>V12b~?sv2^ zw}Ef2Y5WuMUtD>V5>cpQUvMLOF^!fh=B&`h>6&79A$%u%MBw>;pR${wg&*%wZ+T9W z?Ikp)tfr?je;6Be2 zNKX1&E`ICUCkswD4VYBSeZ6_ZlB6_eAEiQMyA(VkV2x~#iCuGM%ACa?oXHzoRez2D z$r-IRH`P2m-lvxu{{$+hi#td5t%=bmEAF>OfxTosV-R|;6l>FXk``d zDWeK~6%YGZZx1;lnM*!QJ4PST5ft}Pu1^!ZF}bc$b2npAd6naezmWa5zMnwIX(!;a ztH!xq-2`~pa*w$F(fh_D1ogKb6j?1Y(z(Q`l%+NEDGZ;Rd$N{n{KPEVuAPlved2%S zboq8cJC#z)mjut%P=Dh`UieynY*af@dTR5VqwP2wGC#n{W%sP?@O0MU`PkLPtY?V# z=VJD>1!e z&()URP79&A?aHDm0r_c$TPa&k8P=?`b(%hN%IU;$1}f-`g=i|7(dWyl`)` zX6FT)Gm-Y43&uRo0M8<4Uw78p8%4xb`aH_v?}6Jb28uikDHpY^?z?z$N1;l<9LE;x zlrefAcmppl51nJ1{vZ3BDt0wnzjfK(@Klb7Uu0Wf?s> z8dagxRrWt96G;A-mmYBOn9v82l>cOHivb1WAG7QI_y6mldT{?BjmYtELTuD>P|juC zM;BRvjf8*ML#GihUqL!~YX*dIV77ok9YAeb-L;ax{GP<%boOvt)ZF*L5?MJfpoF)! zf(^H#_q)(*#Vw!PhNZV+;CMkvdqcVC=Mzg$4W%O2q*Myu8Zv)0AetO5sJZf|Zt5Jy z{9q4BSdl{lUT++4VmJ}Ia@UY*>9M|uKV0P8tR^DTT~+>A6R)^}k6O7M-w>GPf!VJ5 zfS>H$HC<-HmZ31f5@_%=MhUD8tP<^kP`T zI6f>F`sDqY`QqAl6jV5qC$7SyxeIy>s#tSSDAlI%;F=6}@4kRKE)Q;AOje@B;d4h{)HcJYnxyg$UiDU2Cn;?EUV*8P z!|NDQGavpjfj&SG$;P^OF07N_J@;=3eP6wky#l_unqtO~P(dJT43>3gkW&)q;(9?STuI$Z+wwDZT5rqG& z=C~L11jT+klr>0dW6$2x$t1?j(`&xEu&ZD3t`=AwqtY%|LmKWtofYFU-F5C!Rtw4$ zg`@8Tz9fI``#E}VE!l>~A z8klJ8$7=<6*1pDe&m;Opp4c_<_oSKn$h55m2-_d*ZGYcdcmahA6z6*&ErQRS{9{d* zrELZ9rtZ4;DySge9{XpJ8t5a*V!n@VlNm1=o7?TPUFCkiqC(m+la>rGWDtrMCo(aw zYuC;4Y_n*okYnv0*rUv2d9`)cF?pZ1)M~=l-7fZ>)xOphrmNPaOz^~@ko}%J5Lxw$ z1SpH)hP9hoaC$G$8OHC7RAX4+z<`Q)-jBzWg5I?>+S9W%*K+}x+@Pw6ezi$k!c$H- zNnDuXr$uCJs5o{d@+Il|OhF}sgnD|YQWF3fV`i;|Nz^8H+L<)(0F z-6_&~23CZklO>J%o#}>(eqr~r6JUP_>r*o1q)n=lpHF4$Lxr8vx~H|zan(TZ8{AZ^ z6)fPX{#q^6g45h2>!gYon|D=Hv~3$-A^7c4t&O#LX;TNL+8ex;?ECy9pBRFD^jqTr z2Q`p53Fd{SUKMm(i<{H15%OLh(?6y+BkW{8N6%(5U+2IvQq_M$ng9OqEVxt6@Gezb z@G1awv{HjoMp()|@Qd)O!wK&|OC|0C8$O0Yd_V(&G!}%np=PA>EX8Len*d+X>+R25 z)|M22ZXNiiUq;dd7=m;nw=|<*Fq^6q(z9gFow)wv=<7BiF3k5hpPY2bhj_t<`$H5-invc_%d1NRT{=To@~@BDxl+q z?89NPhv3h(>LQ%nV@keSsRng{9dqmHBJTGNiW~($UH@s-1Zg6<84j*EiMamiVOMr~ z5)i0_Ae5**fwlgaBO-3uRjPJgFTK%?tGfH19P7Lqfd{r{}=s%HWo#df0K5dSGqv; zU|zkNwZWW>>p{*j?_%K^#iT&%B-h8aRx!Xd>2{UsRxWQ5xvjWd=1E%}IR@B=wBt7y z&hB<%oLIQW;wY6xFH7{2k&E^>cQAgnjV#|*rn$qF30=h713~tUN?`lX{)Q?JvL5NX z%NN|hGW@UyI;_;93=}NfJ`>({o33@4$eF+rRw9H*wX#Q$+FArzo44@&rnsp(z;?j0)Kc@sdiV8;K8oeS zD>F7{>vnHWtU9xB&LI6qkXvZ{f^Eub0hWIdPH%6M+MuW9BC}&Anr1uw2Je@8x2X>} z)^8oMu*drE-I*g$!k6j}(hWzcM^b;3DFVZPk|A@xqs0GLGQ=N6WVygRi`8D>JRNkC zv9Bm%tNckuWcd*4v9j`82L@BATfW?hY4%^%PpO=9vReHpLL8G^`G63aq_uSU0ClNt z@k_==FtlxM5ro_vNV*w#+ZL@h|*Ef2_ouTGBu0#X3Cb=5C=AHIcAm zMHFI$p)jB;hcCzfzpkaH4;4o1v0eU=dp+TDZ@*hIRaL5~koq#$E9~Tq-6<@Gx06yNMv*Av zi3zj;c`6U5(p$96Ug>aSr^S_X3(FCo(h z2D7HAlS7-zZ%lo6z!K`TYVjWvvZD4W%Z;3K(LYTfTJ@}EMNT*KeEe^SK;HC~AyMh9 zRq5?ioXmU3*gVzt;muxN>--cI+%J>$%Xx2a@MEVMGL0p75OaJA-dAZlJ*QzXFGofQ zYIPPXU~b?(-i!%IjqM&bBWd^h!-X-hC2;=vk7g%5@qWK=yYZ~merjLs+0R{rMbGkr z#dEh;-=T(32;h>koq=)z3ltffFJ??n6OT_VTfsWuPPwkhb6Ji;;~>!Gq)w`m%;bABo~ z^~|03j3$m}ph_A@WBODOyw1a~Qp=p?l6Tbx@Eg z7k0}q-TW<&Sr0WB&mv%3hr#)m0=$jJiXM@FI01##EB5*dno5G1*(Ft6^c&)~!1#bA+la2|-!NFO|7WM}>o{Wl9ji3N~uj4>NkCibAoHtYAgC1u=Cv%!gBl+??f6z0b<5}=Y0{=;e$`PxhEOhMv? z)MjdF$_p&KQoemjDtvKsUf)xmJF>flPpXL-@c?h+AK*JVJ_hf*Qu8O3jqyscTe{L) z$&O||gbVJ9Y^rxM0c*(p3r!c#84CB)N)FwJrbbvdhgWVknWKeZsrNpKkajO<%~hFF z+sM6HP1|uVJyoZJPRDMcX0Cxi`}T^uLVNd${UtjRl3gil2Z8<`Gle?_dc!-wlS*gMX&30Z}Q?}T{Vs}nl`+u@$E z; zKfm|Gzi%uRLTa`p#a8_~HQzR%B9JC0ibR=_Q5S9eJxNfljN|JZ)n%@*5CV~fX*pD< zw~yaC>r%$a#aAF%$$c*cZI<0Kz!gGKW}joI6QE7&VPN|7ZqdK1fKf;5={6cyH0*Ji}sV>8%qcx*LW) zMx?OeS)M+pmrPV}8Gqa90tqe7H2P`DEHQOtJ^)$#0F4q z#^fjRe-Vh0|BzJ;He1_oMX{Cg#v1ha^-#nY6EzAcby#GNr818q0=?1+P1LN?C{KpI zcvmcRY{4*(%Obe?dxMTIvva+<3;1r8$)N3)s&P7_ToQJ8 zYO|vl0yH(aC}L;d_;!kj?d=)XdDD`%v9zyk{)P}##%-5+cV#uF*8#fOZ7IrDAgJT# zsz?79mdV3(- zxYM%6L=OOVgR2~@oadG|(6mVIoL)CO&A%#PCK5gV_nce*Ly2E)v@t&-{>)i1>wgaM z|A;Fh82_g1iXcCU;QW=Pd(knk!`iDm)6>Efm+!r?h`qncB7^|SN5>dQLZ&01g6 zmNweEEQ&ETd-YrZ3~l_yTi?B`uCF)!=gl5NwGdwB7tY&mL<`z-H3~VKR>WmSLS5; z&`NT#z+{g6QR&cSPvt(m%w$p`OYc)GPm~r4$I_-av%+`V{N6r`ZfWKmB;b0IV>YHm z-`1J!@W7i=Qm!g{0YB0@)ZeA)3ATS^9s7n)Q^U~S+y; zUj!B0=C@Ah|6T1{E`=5Xta2^`(^~0n()#RGdlDC*i(}gzOeQtqyvLz4mzT|j#&Xbp z9v>dkWFmJsA4UqbkGaoxIVL7#v~ERm1JvO;pPJgG zR~gMdmb0^q4@3&iOx3lgd=q7uD4|o{ z{IRhbdR|vk#~a&*s~#V!uE{R`dUWAlhF@`G>q0i1_O)^l2F*Kbw=#Jl$+^Vtsc|=J zi{4UOVTzxn8YE9^?XtL4<;C4zUh1^^ja`#$m}fAsnBz{ei!KR&s|tZ4tAbN=@&glx zqlta^`Q*hWZUsu#0oBgkLps`^g7#i=htVipxI0m4Y8?tu+bCg&#QJ_BS8un2V6_b< zdo^lUi&b5^5AK)5**fo8HR&m5iW&JXC^+vAzj)7Q+>^NRavN~>`klH?VRDk9K_*v7 zlDU**Ma`ti`L~E>_mLhw_nu6bXJvT#dpDIelqKdlT^|JV6=dh?=AGZVVW@%fPC4am z_qnz(i0y$qw&Y9<<8q53O1FzQ2N(OPr2%lfac5#mMiv5;{Sf0b+|qn%w#2P;1?9Oe zQ0xCprNR{4OvB5;i44w&6%0JwNmVMCp8q*ya&jZ->N_n}BW^QOLNlR}POPhQZ6Jrw z|FOXtORksa<@B&6f{@TSv6k?0jTJprW)tjjGkaEmu7_}E-8_VU1WRwyM<`dA;;=ls zj)eyjc$c2jGt;AWAZ6-W`@sT62|dfp%nG`pf;IY`Y|q@MjB6GMPVoL>+ZPWaqHpKps z4vXXZR461iWBPsXEEo&>pB&ZI2$E+MMFq#S4ZG;pC|A!<* zF*%E{uss|j^P=yKT*N-qIe$Hs|M1Iy-q#1AAGsWekh6XR<9b=_-jjz@CJ3bkwF}wS ziCj4n)e;VFT!+!mx608gHyR~+qUq$2G@MO!&2~TDXNa|J#rEg(eBE8-7rK8{_LP!Q zJ!4CJGYYP+1}?5H9`2!mb780%Y>12t1J@*rxIQWUGuC(N$R>b8fv2SJbbj4rC(ry{ zWt@Hp&(`+O*SN-AcAg>CK^kx7S)PC9Zmm*~5T~Y7M`VBf=#^8~Q^G7lDdrIrVS-&{ zR8xX47Ag}4I84GsZV@ohS2_|0z1r(!)6Y>py;M_<92g*<0+12)4*ix7vOxcy+H4Z| zL6ctfd~QZb=QlmVIT|%Y1O)$=X$RQD5_pC#gOqLj;p||SIFrE`q^cC;cTn__1&iohWBo%m1%DF z<7lSFJs}bd3s~D}iLibAB4GGnURp5#{{vQd@2{yj!MMk-mA5sAt5P>d-Z6u!d=K~C z^tks^BYQR3ku5FKIZF%^o?l!YkM|Ewz(WeVG4(0vHNTl87hg}3y|tB1f2}Qo8`Zk_ zGyAylv)7wh&-4Zn)8ZLktbl-E-p`~3BoGRH9#SbqeHLMX+g4F^6JxV^xcW(YaZy?8 zo4R@TNrvnwgL330AFShqdPjPShNy;!OXjC! z>(0^0_@qNz3d>y4rPXdoPqj?96Km{C?tx{z&6O`Y4^;2RIL@umnnzUAAV$Xe#i`5r z==4IcQ0R(>+Ncz3(_Jadr(NS_^KrNR+0qdSuCS1iRO0cl3{zE4ncQ7pY}P50EK^9L z)Q(7f$O5#)oWfUE;OL}mWAbRq*X6WkEv5b0^ODP?J&>7D@`V>ZnI)_?!~wXcJ{vm^ zmaJgq@^gf}o5}cDZb;GLVO4h@ZiCHcy0yI)x~Fx&ZH0WVIctPB zqBeK^``(E~MHdPv|2ZKv&-_cC6(yNKtNSGo8W8?_<^5j~0!~+wGJSf|JuY2D$~`KzhI7&`0XJx-)|BS8Vqe9%5M65~TaQ zhB^VTA(>G0+vWK#9R#ob65gpgdIgnUf};1W>l{(v{~33K@uq#5ES!Owy->*Q^8Z7t z>9OMK@}%=(v)HyH(Rrw8Wg=G?Vns8b9d>;{AYY#jp&rmSv|Qke zL?UYW#v~A>=k3wvrACsnspR%!ir;s_VO4BYQ=69-^Bz zZ7>l#*DE%w^tgKZB-^3yAtNu=1it-1MTB2d1jGpZOM>=7F#n2;Xt$;J(+XZ)Ue7qc zJq!yC`W&>%k4wc`k@F&mt%@B#Id)KNbrcz4fBF%2tKuwY$MaHBeV$Wy6^>GNIwxC* zt!Dq8HGxf2p$N-YJ4FSMca(w|sKnSof2rpfVIE9l|GJ9ppoGSV#Xrkhb2@FH^7tw?aFH&GXpIYyV{1|?My3>5puj6t(qH1 z6xjsdyRHtly0BcoasiZ3LA7B=T!jitN!yyOv)(39X&~VzrPci=*yhA1AzxmMjC!d- z8>MfJlLxmQSn!>!BDHa%F5-Q^KH$Ma^6WQ%`tsCcnAGL}kG8jtin`&pfawqs5flOG z?(S5&8>B&`OS)S?LAtxUTXH~TK|2HRsCSR z(J+svKIU*Y1J)KQ)X4>k%CVK8a#e9z;dpob2!fo;a7aQ~-js0{AT9#5WP3b3dHv=C zp^PLJ+twTy%KB5w)cbg+?u7?rwqijp>Ow}nX7hCZG0u`nwy?J}EFJcOu9ou)kRvry zuPM%b<9-W2G>%sD;Kz^Me+>ZF-&L!O69*gfs< zSGne&bN1ijr_XacH?2rg;l>Ij=za!yM8e-1smoO5S~hc!po8&Ky#jq__OWu@EYsr4 zyX0}i8OG+Cm%P|bESArxnr$>Rj-@a9sRQ~$6b!BYISIqD?8+@(#YeN+O!!x4vRPpKGRrRl@3I^e?XBY;0 zHdh*@<@|tcD{MQREd_A4sHBY61mhR=*OU^<7$wB3ILalr)~bSD02Hj>MD>S%!K*tG zDt4D^=e9naXNRp5e#wra^pxG`%ine_Y=p$F^Q=9v)IQJLYlSz_)6LY!12(~C zByi~pvote!Q7Ue6`EgPS;_Cc;{3t(q5y+n_6;|1YgH_rF@{=kOVMUCN~INusj#O}UN}oVc)s zWuK&{7im%?jZBqCFYp2QT6%@8MR92>lLJ!J^0S>b`T8tceJ#CV>JJ*?VxdXliyfUjFXsx%ij!?9}6I++AmI1e2iX_M=dz+sCIJt8hr2WlZnGp~;hs)S9 zzOO^Il~*=w4NJ<1wiSq?vW{rFXYfb`YBX@TCO$EKy(Lc^Iy!0EIK2H})<3L>EC)-i zPUKqW3-gOJpm7jjdT6M{*Wyw%R~S|ipm$pZzkbNBY|FUiTFP&I|7okpX>~nNa71 z%a{YNpC3045aD4vfC4!jT-P42ijQLXS)SK%jX=)3jL*g!En9tG@&El$`4N(Qx(bg6 z|IpQzu~|ruZXIqdv`(@aJ5*0^T_~Il6&KOP@NUv~ zU1d{vUwVo8PeIQERIB0jde4QCq(r%wzR$rKW(>ibI_Mnd%4I#`o-cDKkS^7$YsKo%6GQG%t)z*+!`u&_YYqPUVL=~LxpgCb* z|BU5qwC~Z(s=aSS0@E7U{%24Aacy+`fwDXP>1@<+jV$S|S(bWl_mDNPNlxZu>p*Xy zu>1mXh)pr7;wMMGkjp%a2g`las@>zbv2z`;Uyow5=sK@|?qX)|2Za#hcBpW+k@;}ZkevFhq<3&yH+ezY=pFHp zSS%4{9}}q(8`rhFK!o{r5-~y5TdJ#GSf7mAwpCM@`bFa`tksy_qkX=E{#%5RNFh?N zo|InJH@0p3_j*+6ZyleoZaM^7w*_2=O-|Bf@agD6ob%^4#xhz>r)9;A-a_NIth^3)Yn>$A4&7JJPP`}|HTnhoXPzo0XbsLlucY-&gT=9c zlnP5H`Te*2BToH%oUQXB8X0-X~T2(T|cPOCphhuoAuF9p}Mp{@-Q# z8|7cVRtXgcGsJ&~zJK80uQ#tT5z=pNW*#%TTtsXA@Pr?Yu8nmc!W&Kv#3F2EqAAu} zBcjY&N^vQ_GvsrID{hKQzAQKkE7l`pd6!H#HkZKHw8{pCf+4l$#Bq`&^qBHUQsYMG zNG@?Zc|L~P2z0DC*6q3$S-T|Wr|--sN(PNcOxU!~rNHLUd^#)`@64nB#i_zGi{vZX z{mNvA*65RdO?7uEN;aRD9aJH_-7S$uE||Z%=t6e~U9B7qD_t+mD%KC@1$$GXdi@29 zHm3h2>V+0%aAXAPY#rGlJD$y=lF*kjL-~(if-q?&dU|)qA3Z);`S|pkx-`N7LdWL$ zrvOjQxz8^;q&p_qI6~p&Nk+AB4Sumk%-ph9l|#}tw(BwDYPEj8R*xDb)TQ|Qqn*U2 zFPj#a?D6HhO0<75N2SfXkI6~m@h$HPvhTfD>Uq5g=36ZDJj2|skKJOR-n~Cz2SEYt zgXgi}*+Xq;@`^TlL*3SbK?p%yuR);NIVgEenOJWg{mT>PBoJ4tQ1>RVF(!&jC9nwXT#HhPpym`}cIpH3ppUhL9q(~-xZ zEm-bvBY&TYC4tAps*fa?pcz_0$GoqZSjB@JdOSZIyd=~HS_ne9}KN0<1^ItPVO#oKR zq0oa)Y~}-jFUojP)9io#bSe1SrG%HFW(`lf)Uh?p^x>d$*5t{2u#*jk`|5#zjTjAn zcpX{X2!7gjoTxn@+9&uJN*|F$(7HY}zS;#XyA2I$HO?AcQ9;`2OOD2{^y&l_p5OzEupdH9S!5CceZxU%fiBb4O3)HS8)I=K9S^>Z2){5c79a<7 z4kImCOcbw*ocTLG69HpH-NA+X&ACa*6c9|#xlu_w-H7}2HMgQnOIubC1FE!vqk(9K|-E3kS&BOj^s@+MGry*)(47 z)Q}$8-kG-qp&?taW9HUDq!*C|+dNbHSx!T<$ibZ2gc>ySshLsgd>o=kkRpr1a+-WB zf%}Il{t^>)V_lwD3!43_w}FBEuX9D;_R4=+{^?&5t!SZG1-z|@ljsdZL6_VD{n+)wY@GOk&tmNEEyR^#f# z!rH>E$4ty2ZU4?0Nul@5z>H^&%}bWfHtAFW;?aKOMKFG%zRR^C-jR~G$qx+#JEK88 zV}4Os8vXq-}L29#M%4r=AYS)tH&G&lFZr|B4hi%Z;nM3OqoY^+f{5| ztR{tjX1~9W{p8aCA|!7wUgP`Hc^kUtA2`Inz{KvyyuJ&zWpe>#dQlY$FD)!gpePvH zo9)rfBd!}st9g>?6gIDdk=y&tO9`!x?cZHtm z!iT6v(bOuNp;?Nq9LK1UC5=CpJ#OwDl%!&lstU()*xYy=68VHS0o;1SZ$t(S5t%OE zP)4Q#rx_Ad%wHuV=bqv8+kV-=Ier)$7SZB`&N{X*rxtpyA0~%Cej%{gNu?y8$CSDz zm%jBlIp{m1lXY6X!z|jnz4aKzscg|}%lH6hscH-3VNDgJuvxk#`-rPAE`f0?fL)v# zlpxSn==>}#%rgG2W<`_n(DSQZjWpQb&36)LE!ty0YsQ?F36pLP!%lW8{T zD%EeJud>RjY2f_ibYgvMF=RKx=uwtkxpvKMnHpBK!nGXwYc)Oc)M6iPbGf4B6<+E% zFXdu`ThFLH?}a}yCE0HPOqBhrl~ynrQlk5BsQ8!E=NDcIlmAM2vh>5Q|6P zffjl>OjkGW#}q*}riN3WlO-b~(6Ns(>94LhTsSG;^~Cd&wJI zsj{@L__)OM*xaq1I*({sxmEuTik7wFh#C&e)%~+?mk;eZ#fzS96JGF*jXi6L9}n)& zl_+`>mgD0VpYos-dopm-ai{{(1*c^?=omENL7Aj<8w&=J;IBZ}LB2mdHZ#Jw)29C6 zqRr85=T#Drz4`4aDx&{6Ji6)mJ7N*WojnMX9iB>kNj0LFvciuV}3Nt33@Xm^;ilJZoWH@`M{+WUwl_5TjI$ zbe30Gs!TTrMQmn~nGQm`>?0W>Ejn4D-(9vVltd;rgvqJ+KuP4f(Q@54LQa!UwneF~ zo`hLEKhlhfLlkeBe2ywhbi?^R5cNfLSVVk0bHCxz7-SkQKYy-P`LB7mdtf`xk!M7s zr39T3&O(jWmG#_#?Gd7tSak^=lO-E<>+Ra|l^oqL<+s))CT$f5B+TrwRGDj!{bXI- zSwN6kqZh+fTf){IS*=E!d#m+*M1exmzBNA#XlfRj=&xtJRrL1^GS2iB)d=>xuj*-M zUv=nC7I$F)k!8j8@Gn6I4yLam-i&>~;0|&RXCthU)uOhQS(6`U9krfPOveT3y2|z0 z5A$2o4^`qEW?S z<2}oyzL+v}ZpmL~uU{COz!}1bc(6%SBk%w|E~c5h9jV5)i|iBuoEB2CV9~)N9p!K$ z6Z(8l3x^mXE`$*Q-qXa7gTp%5D@GGif_|y`S%8tL?w4fSx-?PtETq`pVdE>iQ*R2= zG?K4j0zJLQZ=_7QIFV8nA|Hm|DT&W5hnmU_@;$3x`q{SR!?`L%M-7RD1Ia16DuVJh z9NieK+lHGdUqw-;oK#uu;h68gJPkX)xSBtlf3W|Ns?|n|4!?jwe4OXuoP=RzJvKtm z<`Aymb0Ekte1T9=eaLrnVyTcPB1hx{F`N$dr)Q|pY%X*Ph|v|Qsenn?n`C)oaVb*w zRMpvvM*lda!ENiJ5;|~9NA_Cf*jL9murDsLn9(-Ry!s$;fQTWbuz(Er`0M(k-7$8x z3NxL5`@c(fkbHk#DOhqn;;8}iEfe^%e}RD$77l1%pO5b9|0?qK()Q+UwmrI)S3zI0 z;hQ;9H`JipZ=Y|-vP6-yl*aQw0^c9tv~D>s^ijyaA;94f?UgE!WueFJQ2d*E$Kb_8 zaPc-(*|ynVT1bU&PPG5E%Wj0`LkEI^T`j3nHBz|?i*UOY0W(B}t!C6nRg!Y*Vv2|P z&)Ve%US6B0dU=S&B!T)1SG1ZE-LE^T)WyHuPbylIGHp)SG}Qc#AmKmh!s^7v019UY z{omw~b1)WfJbw$)wT=`%(i0q zlpMDpSdsu8K%yfU%j~G|QkkXnkfE=cAnWDq9G>n*kv{g>guCi}459Xnx=!4wi=fFy zb$~E&vlb-rQjST;^ZHl#2nz`2SJ7&3$8?>!O9c-o9I=3w>z~W#OM<~Deos04I@5N7 z)DQCv05s+TpK|s;>7Gd`UDKN53GZ&@7`~JvyD7kYV_Bd1@rniYQ?74wxS2ol%aw%c z4hywND7W0PnGkLWwDFGAZXmQ_wF3y&m&q7EWW7Kp;I;3*J6+h^Y4d}7377G3Y`t|v zPz^#zL86WYfPzpm`EWdq>8t>wUjmnvc7_<&^}` zXpeB!aeGwGyL`BrVkF^`De)R;_Y?cq;N>D4v zZU*swga8=2h=lLlK!TqsP%4t@i^o=GJCW zb?B1lCAK?{Gr8UZgiRwKda~sil@g?|Rs?WE9r&c%ruzjv8e(!96ys)jl7I@n*udGLA7&Yl%Da}WeTe-%^wzj)-y zGJ4T;49VrA)bVG;QRyKt*Yy4;B$2!ydqnZY=G?+cn4HfuYOT-GS_dN(R={^iDPMpx z)N+G3;Mt+N6Q`;kjyw^w<%1P2U-JIRHyataRhEUUN)Be&Kg&nnFdgz^?W2){A-Ol7 zhs`{_8olZu=}%n3u@*eE{rgX0A4Da@8w*_OF2L8`K6T4oHGbd7z#=v=@UZ!rr_R%f^;I;<)SArI0V~n$oN}4|6+=b={vYQ3YJVQY|X_L1wL#;~A6oDuNY zt?sZs)Ax&Ltr=c|UPD~1P@|^i+Hk2WG)=9hx1~ia7s!7uHhx3?9djym>stG=_CH5r zz`zL`_@eM%TvQ|tErX9>DBe9f!v0Ajdq`2eCi=sb8V4^-u(5h=W89WOh;S zFvAogQ)JiKPGpL{9gc*m#YY24EMZO{@BYmuDf{6@@!}48uf_T=o8(s(1&V*JWvZ#U zQW7I;%#l#h77lD1gm3m&E|9x?=aQsoTUv1T+27djS-V#hmUSC`*I>uy)Jd4`tsUqd z@7WnIOMP8R^KV+m<1Q?Prz-p(;r;O7&d$!DCLXpM6n^KOzA=p#cyPZ!=pQut&zndT zGx$Qg<3Fx-LEO|Kp@rBN9jsDscm#4`Y*ddqX_@)(+2y4X@SjYJBWayQH{_EnSj(2O zs==^vF{hOI;0-e5)dZx0eG1NUunU8nA?P7IK*) z!CaWw(NkqAil=hb0kp5GlflzZD@ep1*x%J9w^9PVWKXSWnQf}3XS$H!4z`R>Uwnwv z4t@W$dViiis>6oo-Z;{xo04?@?X0NkB~kyqfaAtD@Mhyc=l(}5Vz2|zoYm11ivs1^ zX-N;IzwuU__%Q;Uzr&dx8BfT&Vy|5LY?7;_!M3psx`nd%&D{P$A?K;W#xHaFysU_A z3J+T$;Ge*ki2lU?((wfOwF@-ca%6zpx0Kl%0IIs%dbRaS%TvcvafVloO9C17g($|( zb{?wcAlgMx{vtbP?pA8%Xa`pWkj+;fc6hpEJ~2*La~XL8rHeB3;wp@0hKo^;?P1%8 zZvwsR-*+_7H2oz&$3bF7U+&}!)lHlK*Td=*2UHe8XpFM<_@QYG!5fm z;ul%G)A4} z7M&u&_p)v-E<@q4jU4=3x$WJ?!pq~UsDrCW!77NLNgL|;3w(#ZtKj6CcdQF+1SR>H z_g}IcNF*|ReLgfcxZEY`Y#e&E4kcVDk*A|ykG#G!eZrx4IRU?`o7jGf4@}%u4Zi49 zz2?2~j>3NCO;kC*{f9o{&F4YGqK*@8mn|=CO4dkY9P$oj*<3~SxHx?v)e zthxdH26jvJLPnMVMJ-V7Z6G~^u4IGW@s}dLKNs4dTb4&pjpmax0l_-I{NHUG48q?F z#eZOgALBm;k<*Ac*iiMI!7NG(KLEO@DK{p37h$_kZrJTX-f0sr>plIn($3}X>}y1V8)|k50 z0cL2)oHctSl4Mg8HcVlIHakX+yXx{!rzfA={>#*erNGZ3dlHF`VDW$3*gVG)4f~M! zJ3$Hf@e}96Cl%<*hTMLV{L=0{8|s>hS5frvzL9W&IA*Q^|Aq1UVi_H}ktpdEI6l8efm>dd*2#I}6qm@rJ^f1r_y zn6qBm19w9io}&v*Ri{Ji{_Oc7${k)c`^Jhti+NR__Z^gzzWz>L5J`GNO7js)Ba;TS zJ86@}&lSkHrw=&#jzUqsrvTr?D*M4SyCsD~qndHOLsBCT3u}>6keV6xHj$e){qN@9 zU$YaemrnD>LOlN3(cB_EQAP1Q5=j|a^@{s zn`y);DVs5y6|l-~xYW}Uv&*nJjHtadEiEg|(g21^CJjXYk}09#o6WyaV1W2m&?_e5|a^@uT>%T3zzSW za4cBR$Lt^}g3`y!c`iPdJ*69#;~TiSWfffyQDiufi7-9k#(dWWz*%yVOc?eS7Mm?6 zV!6JN=o-GmgZOFb&Mj5J(3A8{c59RRh34q>6ZmFiqmgoQjII0o8EXdta|KWLh;|Ro z1@;V0Swg5V+Wcte(!2CBy5+q$%lV{^!`gT(&z<^33quf*nZqAeosl6Ed>}9{h$hHH z{vuKRo+}MuWjbB-+pfrIiB^PH{NABQZk_b{l?t%^UeRco7x~FV$JH$)a`oL|y$XlofFgs?3g)?(r9mDS-73$^F zVgP)nA1`4lPs2v;0pMHgO9CM1rS(;EQYo(kCexB8Qr+6SKlAjQcmNzZMZhRg4ho%# zrqO~`IcmuwR^D&5J{ZXhMqsB?6<_Vi4>s)~UkoZa*r-g_&{v$$eO#jI>$co%PmEah zWy*%g2TgceB@L$<0Qg9+#gH~}JbC%aeI$zn!EfGAbtTBfxiCY?qKnW&7?f>u)XM}c zy<1_r0?c?CSPq;vmg5E0GNtjb6kN=dw|FhOr9CX}mi%m~(BV?{&hx&n>2JSzsnz_Z zHO?KIpivOC{ql6i=n4Ljo6VSPE;>n>e%*G1T8=}#4Ro`$o^u`%QCCOdzS|aI)PUuy zuGe6%Ncg)u>qh&f5k2WYb*;m#{p~dRM;-aso6O+fe0wT~DUpGRaGyluamHpa`P|i0 zI~~f$e%Uqiy?X2>i&^Y$J~HxF+dA6rw^k*!o8-CY-Y5oQWQDmS%okRfL)B0gv~M#6 zNgm~*LmmGn7sc`y{x}*{I&JgJo$$*qH53Nn^KPBekiU#Yc+(%%z7nQtD?ojX{Xu0>LWlq}pSn5d1c#grd&e>Y9x@egkn=xJWUIr&8XSu}4xNAot zER*t7S@6)A?-m+f4YkSt_ljah_V}gna!is5j=4 zdZi?DEKIH;Ykb@>e<*AX)zlkUzJrsHNM~Iw@d--VeY9=L$v_twn2TpOxie71{A@}L zLbizM*~NqWF7#3tBS4w`4Z={n!BtoI z5S!MX=VR5xW-0= z3LpJ!eE8wb;zbvO$ENuFg5=ho<&4JA1vxITZsT@1OzlkmRB>C&e%->}Yx73Vfdb40 z$p@(5dHM8rbw@qLV#AJ3zf3PxXX-MGcHjhnKsZ zCQR0Ea2;e$T`VEBnnG;GTPFEKR;Ml>ERuj5-Z!9yCfu0Bk0v7aX(<8k9F&H1u&fH+ z4vVlrRVz}-15JniB=^wBzA>4zkNE}1-$p8AKKYa{&LDrZ*vocrljPSRFVzKMXKlfh^CmMf9q44lp$`;j(wkS4ZvD#`XM zxlZnaDh`Po9S?|RnCH7hWI%Ea_(Tze%rW<+QI4(PdgKBEj`5t{9TaICjzu?5@Y?7V zdvG-Rp62~DZy9i=^`U2Hn|J6A*Wd8@`rGKS^ZOJ!XhzD&Mm?b*)Jiiv1XcaIDm+v{ z3RJAmy5pAip4srg?dRJh-#V8iqwmv-vY!Qtk}ZOe9=uQDw-Qyi|Fjk^Irqs-&3{@8 zou(p&-P)Hig;T3cvymj;JQ>A6{}H~pdW(Y7y0-R47=Hc!7M?Mwc_UZT|Pd)=Ws85t@d8T5!38$xc zL5Jz2CQLRxxWzlpzNPN17T|jwoi;pz-ldkv(9Glw1$dZC6R_v>DI*4KsUfG4_n>x= zOg<)a)mYcKTR7Hl*-y0jyH)thn@?E!|L)BX`lswQ=*^>0*3V8X^ApwefDr$#`r8M= z;qU5R^ykCLS^de4X=wfl85Hi(V)Xksv^s$h z2NOo{8XF0UD8e%a%Y&`VZND#n+)_eSw2y&+P&vb%k*c2xg?n##-U+PC?PY0C=Y7lNsNxXKyk*D5qA5x^#{Di1`{Td3NW}Q|p0&q%6RowLj54EL%itjuMSA0d=ZMkL*)qskl`a~~+ryb0;{b39E-(9idKGCNra>Ls? zik}r<#POQsx6xSv`VRsWfac)@CP3VKr)B4A&^%`lQ*+C9LGKt6@KB|4KD$+FUTt)! zBdF5vdv45QYzcthg{N4-cUElW_tfR>t-RUYZlUmUJpwvLm7KUCYad@xVX@qE{Oe{x zfa*f3hito#r=L)m&i;Z!Rs={vfQ`y=6`Pnx7V0>$o^fk{T9gB=3N6C`98u2eBxlH`=nlWu6k8 zwMiUaegK2H2KR9cBtA5Sh!_ag6-9%By7HxC7KSNCR=1|*Qh*yE$B=pE7`+V6hSChy zv%bKGj8+%)(|zuvpC-#N&NxhPbO-+AlBmR46bRC!<`VVvRBcFxp|SMRj4(ygQ%FRpEAwUeG)@eXjAQbu(*0{?W%zyhQWWwOFT^4dV3V>%{Nn3i;>l5b z(T@CyeG#3b&XOIr#sn4}?m>%sQz5es?oA%vY!ee_+>2SF-@`olaOek6n8%)K2awE2 zFR5DE-I0Yz^a`4Qe6hz?-0>5if4Bnc=mzYc3x8m;LI+L1?8K<6=>^w#1QqT34Mn}- zJ2E8V#xK~SE5-Pw_njP8oZAQ^$Ia@Bx6a5B<`NCo=LK(0X7tl|W0VJM zz6XPO$8H|vt5IV~P9C2zti9P{~D=?`WKr_B{iaMP_(dd-*p z-kZaDgE)H^M8n)UW`$QY;#7>6CHneNjagvGX8p~&F1*El)3l+-P3QdHd+v3jzj6Vl zu8j3d!PW^5cV&lkd+BzrD!%LcD(sWDCNrUA5k_pxt;0Hp8Wp;DR`qk1AY_@|>YWrYD(wkSO6A`+?K#P?IX^jU%=#g|#NCrkqB{s*X!!s2llgfWPI8y61_+OZ4tgCO51T$!w8_ zue%<>JSvRCmgw7T^V15jwa~X)h@_y+H;y(3s*x`2xq``&g@S{P8n@lM?3$lr=qFybYoaFmPP)_}jI8Q6WN7T1U9>Hy2^!@=vaY5&A+N5`W3 z-N=I+ct2Jl{B}*vbma)%!$EU}(JQNEX1(x+xrzGASIuxffZZ;2TJq1}XfhBY>|5dI z&k@|w{Mvwx;O|VN?j_#YWyHiNC~*G1|M>+M&i0LuW}451THOT@ghmSe+e#!%$qLTI z;4O*Ej4UOyMHkFkt1N2F-sG$#>ncJ6^#GqR(joJya8w(6K6d1=^fgvafhCojkm?J} z_xw$YfXdhd3xpsdTqUx;io4Pm2&C{|OzP?#M%RVA7P?@~(}EF%s%c{dfga3r6&gL! zPu6z@m|h5wcf7idUcT!=9#`quFlu8DA#8K&Z7v*Wyp!=_j%m#B6K*JTE%4jYIk$d= zuBK3P!o!N66)~2l#KZDlB*4?nO*0R0N`~V2!Y?T)Nj?Mz=z@e;fWVA;Pl69A8iy_{Ahzxr}R~#h?34^1x28BrU+$q^?*S>lU_~ z8fS7ezpOqL)?~WYidtx+w~j3`J8U;m{}KLKFpmxF?nA{o2xIlSbt{T6O_|*dVqZ1{ zbKaDyra)EcC2f1gw1i13~q)tTmbFCB15~0e>pG~Lg!~?>k@90;I%gYn0#yUAK37^5iHxIGv zRrP7>!fp_76u@A+a&FKipYH&wHgu9%B87X-vuIhV63aYX!cW0-Z=kKmBqz4)>$Vpt z$c*=^eOHsaXc|C>G>R9(v!lggK{nhrzPDjMw3_T{>5Ghhw^3GvPAEp`QmZo_m(-DO z6e|#6Y81<3s$G0rj}P^@lWe*S(|`ve1mX z25w+E1f%aL`^77*=Ww}Nr@hxden_6QTdmd7mR+u+uTHe|ULCCuuqpA}_xbfg+WOwu zEvQ!?6ZN_M3j=~ZK@2ZuxiWJ!iXza5!mIM~$cIS==Yfk8&(@W;{W+N7B*eXSW5!%S zIxPj6$7m|svtjr5^UXl=tiA{DQ!m`o$7e|R1D~=!?L`)6*}ew81QHgYSixG4EAj49 z`}{3YF5>cp;iWj87+7)WGAVheLTxeXJOHKRy_;D?q!H0uZQ0Z__qJSPiNl6B9!YV+ zRxDcj-w5YTMZpsea-W{DT(QD^x7%Wrj8XI{norPkbzwe9+P%;y>29}Jxt%?7vgp}? zIUquMA#CDYBl|p#%n!)8vj8v1#p0=IqO2xE89h2?MP>EGykPOCwcm2iJJZ(-EI+Gs zUojE;r4`}2ro)ooPB<=md13M*y+`jXuy(rcPm{55&9q)iX8gj|mMj)S3rH>XxZlzN zG&##`1)Fef?W|Z|TvH)W8K7lCcH)&EdMa#-;_{JfEji&@2W%}mtuKBOoVStoP+7i` zYshiivH-XrjvF+T0HEVZHH(zC~A+&p=ZF$WS z!ox0~Axq~M z#v_8QQyYA5 z(6;Gh<3@|D_a51&jn%ZhHU(9?D3LRj(R(~ECg&xZTM;Gnqn43d3Kdp&Oi$R5lUcU-@e1}oZ!wMwncl2doneY8w9cq) zj4S07X?jxgoa+6-iH7GpDQPJQ3h^E#L!#Qh&>spPk44~rc=;l{^3&E!r7V>{uO6~C z^hNm{EwnO}!1|qsAUG>}e|$)~rmbHg`|3)OD?0r&toG-P@M^NB<*SnAL~9(g!Z|76 z1?GN8w9&+rSVOs@WULu3T&M(&R=4(RmsftP65^ARr*uLk2!42eqJAwG%&%Fv?1Z(h zPCZ{c{Kk4;>T{HJb3p|mcOrS62KJChitNEVMfJgd1N*b9qJhCAy1plzetZI11K*vN z&55~jyi&yA4gD_I!)0rrSFFD=hV_5#!24nJ{}3V*R?wd7vAwl5ry9d5TIa zXLK{E6zr)4_knf{E>muNZjhzr zRoaYZ=||*Q1LT_TGf|z7y}8fGdh+K%ug-%Ky#Rv+hWWS~$9ZP{ps#L0Yu4`?U5&&T z9&vp}V=}nU2d9Dp&{u;I{m?%$C%yszujyJ?<@P>7CAW04M!}0*hQuS*kf^uO-_FM; za?otwCPzYY7QU;`aSqS^%ttJ=>a}H`F^?45X=}JTKB?;9S!Q-KeBdOQf4Jy!yBH2$ z6DcPS5GQX zqd$ow>3>cVK}&MbEf{Bl+6Q>%g&D~0`C)HdevVD!cFHmVX`aS@s&B5&PFSGH1N)pU z$4e@o$o%YL26ei{|0qLU&hIG09?M80oNl&ll3$|L78>wK&{K7;N$>@IDF&pY#ME-} zman+k!dMmx@V1^dPxP*gWjLrbnU4n#BAWUZ?9Z2Zy4=N|P$+e~HeT&26AD^0_LSg! zlu3>i=82Iwrj4z3WaA@fy}X>6q#S7(u0(g>Yp~RB0W><7Z|O0x&wjAhD{cKM(6f1< zrfkY$0a^NqDx+ zz_EN9^@Xln>mRURqdXX zkBY>a3H(BICQ))ngnvVHSlSmaRpo?i1)hoz%Dsu44&%k^PAz?sr*KI~{6ye~YyLyYRsBqXTa&Cxwl(BtrUy(Kb5#Yb*~-s3wr*R{aSp%PT^I)j=DV@Ehc@G8H=hyXkE-l4h9V* zK{N!}nL8ltOk}3DrW^5C363X&T$+iPLxq2_TCKA$Cmm2rnKQ2juD$V*%0EIol*$YI zqVlzaz7CI69w#^(3hk9$-w6f2Sub@<6Y$w-=E0UhdFXEv4=v6Ll$kykJAxN|3Rb7s z!EmAT9ZyS06^V_x465>j{K@k{?_9!qJtPNLg0iL!_28@De~u1LIdhV&AO;ok3fg=a8m8|61mCeS;P(b7+=5vltk3u%hjG8TUHCIQ0x3W$P2hk_H;^d*c9RI zn1S{3bOaKmdn%;0ed5TMK`9IPh4F0!`1~n;uwsh|Io&L3f=zyVuTvr;-{*8xlGtRM z&kWBxcbTA+)##)c#8wjs+%gI$d){aEVxyZ!X`7h#$hUDnGNo4m9gM z^=k~KmtmLGx`&huSlrK5->j?~JFVuV>;>!(?8WQQfC9@GunCBo9CRS75Es>!QF3)y z{NT6_tB^CPXLwygbs1eQ?2&S7f)jD!P9SdQ%Hi3r1@&(ly{4smNVjg00JGb;PghUC zWu#b0^<6G=oV+%jBrXeO`f@1v>JT?{$af`CnRnAK*n*C;Lz{TF|$C{@NfOp<$Md<9#0!x@i z;YJb*5QuC>JMLG@;Qq6~_Ov8WTU+n@u!?-8skLhY z4jz(IRp`^913jz^w|zV^BdiB}ug&%b`{^WGs6BwkH$vvB+6dcHdBQ~kz@V~X2e#|< z#<>c;X7<^q>d@PgzsEN@pMI#Xq*8px=shQ+AsUbNJ4#cR3p#XaGTkV3L(`m4F)q3) z+c8+Mv%am4at>;2i0tPE55K(lp-ohqU2GY&eZKMirh7ZT`o@2s@94EiGf0U5tt! za&Z$E%a05Lr0PN0-QGxNThY?--67>DAhE0`0|$~l%J&ge--&qX@3uxCFwKv?g!OC!v3QIyd=!bmT)OUr(|;ozfb7W_cKzyqD$D1k{^yin)~ zbbJ03C?{c>i$p*SqE0*WUy)D`9H;WYcpgaD2pY#&h-m?M@lunK z*LbR%cvJJm6!>c{d75Jjc%CV$z{LeJ3W>A|Y_Zm8rq}3YL8py*3jI&{C#}4zPK{3N z<^xK6toVXT7fw&Bp`#j!=R4$ZY;0_4*i6-kuo!+{zoNd)gGPD(8Q)y_=4WUBZ{wTK z!fC!1lteaeA>r-{ec#ZtZIB#Au=roUD1gn64?dl<7 zi%r1cim6TZm)e%TnOi;{d`|c(!}DYb_wz#Ycb*qfHPb!xMpF|%N#vXicXcK)&^~RC zb zl3Xd~-CKq%7a*I-I8YIuxdJwhzA$$+`MLDb%khAgoGol5NVl*({@_eaI+>q~%oxl= zKSo~>wNE8+wHeUQ77c=j?k7DmCZgJ9A0pmG;E3@;??=|$Bw9AOtqmK~}p4QulW*|o!rd0TMTv^Vw&VtNOoz&UVxj6ye35R0U(;R%dgqkDgL#*01M02=X z9~*+h3#SXtT4aM=`TvKuw+f0w|C&W{3r=vC0KwheH4GA5gS$I}gaixj?(VL^0>LfF z;1b;3^$yv4f8Ra#{?9&Dr_Ooeftsp$nf~?a?$wLx3~8ACdaznhI$n55JN;=CnVswm z2X{5OaeE@j0xZ}77@1^6Vp6He>94nz4`QjtpbdX80No(&f+y~iFXy3TTU7L#cSwu% z-uWnw)b}m8hh$DA)v&4w-snu;oGfvY9$%_F1Q$n1&&doiwYqJCReCXL$OxB3PK|4N z_hmIoOP?>(LhRd1ZjjUAH5>Z`!&qh3Lp1Gy7w$XvGwY*n

_;Z(!^RlZhadr4P2 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

5N?IK@LR%zmH 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%0Amn!h2aZR7iY)@)cNi3a5Jn2lqSHuaH)#AgT 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