diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index d99ad750ea..0c29dec51a 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -17,7 +17,7 @@ jobs:
# if one python version fails, let the others finish
fail-fast: false
matrix:
- python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
+ python-version: ["3.11", "3.12", "3.13", "3.14", "3.15"]
steps:
- uses: actions/checkout@v7
- name: Set up Python
diff --git a/bbot/core/config/models.py b/bbot/core/config/models.py
index a383133714..0257356ba3 100644
--- a/bbot/core/config/models.py
+++ b/bbot/core/config/models.py
@@ -311,9 +311,15 @@ class DnsConfig(BaseModel):
disable: Optional[bool] = None
minimal: Optional[bool] = None
+ nameservers: Optional[list[str]] = None
threads: Optional[int] = None
cache_size: Optional[int] = None
brute_threads: Optional[int] = None
+ brute_inflight_per_resolver: Optional[int] = None
+ brute_rate_limit: Optional[float] = None
+ brute_retries: Optional[int] = None
+ brute_timeout: Optional[float] = None
+ brute_persistent_socket: Optional[bool] = None
brute_nameservers: Optional[str] = None
search_distance: Optional[int] = None
runaway_limit: Optional[int] = None
diff --git a/bbot/core/event/base.py b/bbot/core/event/base.py
index c87b7b838b..f92a199f7d 100644
--- a/bbot/core/event/base.py
+++ b/bbot/core/event/base.py
@@ -2024,8 +2024,11 @@ def _data_human(self):
parts.append(f"Confidence: [{self.data['confidence']}]")
parts.append(self.data["description"])
url = self.data.get("url", "")
+ host = self.data.get("host", "")
if url and url not in self.data["description"]:
parts.append(f"({url})")
+ elif host and not url and host not in self.data["description"]:
+ parts.append(f"Host: [{host}]")
cves = self.data.get("cves", [])
if cves:
parts.append(f"[{', '.join(cves)}]")
diff --git a/bbot/core/helpers/async_helpers.py b/bbot/core/helpers/async_helpers.py
index 4620dc8345..526852c362 100644
--- a/bbot/core/helpers/async_helpers.py
+++ b/bbot/core/helpers/async_helpers.py
@@ -4,6 +4,7 @@
import asyncio
import logging
import functools
+import itertools
from contextlib import suppress
from cachetools import keys, LRUCache
from contextlib import asynccontextmanager
@@ -20,6 +21,25 @@ def _get(self):
return self._queue.popleft()
+class LaneQueue(asyncio.PriorityQueue):
+ """
+ A queue divided into lanes, where items in a lower lane are always dequeued before items in a higher one.
+
+ `lane_fn` assigns each item its lane (an int). Items within the same lane are dequeued in FIFO order.
+ """
+
+ def __init__(self, lane_fn, maxsize=0):
+ self._lane_fn = lane_fn
+ self._sequence = itertools.count()
+ super().__init__(maxsize)
+
+ def _put(self, item):
+ super()._put((self._lane_fn(item), next(self._sequence), item))
+
+ def _get(self):
+ return super()._get()[-1]
+
+
class _Lock(asyncio.Lock):
def __init__(self, name):
self.name = name
diff --git a/bbot/core/helpers/diff.py b/bbot/core/helpers/diff.py
index 24686d5808..8ff502be05 100644
--- a/bbot/core/helpers/diff.py
+++ b/bbot/core/helpers/diff.py
@@ -3,7 +3,6 @@
import xmltodict
from time import monotonic
from itertools import islice
-from deepdiff import DeepDiff
from contextlib import suppress
from xml.parsers.expat import ExpatError
from bbot.errors import HttpCompareError
@@ -153,7 +152,7 @@ class _BaselineSnapshot:
The blasthttp Headers object is kept by reference (it survives
Response GC independently) to preserve case-insensitive lookups and
- duplicate-header semantics that DeepDiff relies on.
+ duplicate-header semantics that compare_headers() relies on.
"""
__slots__ = ("status_code", "headers", "_text", "_spill_key", "_spill_store")
@@ -358,15 +357,11 @@ def compare_headers(self, headers_1, headers_2):
with suppress(KeyError):
del headers[header]
- ddiff = DeepDiff(headers_1, headers_2, ignore_order=True, view="tree", threshold_to_diff_deeper=0)
-
- for k in ddiff.keys():
- for x in list(ddiff[k]):
- try:
- header_value = str(x).split("'")[1]
- except (KeyError, IndexError):
- continue
- differing_headers.append(header_value)
+ # Headers iterate as lower-cased unique names; indexing returns the last value of a repeated header
+ names_1, names_2 = set(headers_1), set(headers_2)
+ for name in sorted(names_1 | names_2):
+ if name not in names_1 or name not in names_2 or headers_1[name] != headers_2[name]:
+ differing_headers.append(name)
return differing_headers
@staticmethod
diff --git a/bbot/core/helpers/dns/brute.py b/bbot/core/helpers/dns/brute.py
index d243073a18..0dfcd49678 100644
--- a/bbot/core/helpers/dns/brute.py
+++ b/bbot/core/helpers/dns/brute.py
@@ -1,18 +1,22 @@
-import json
import random
import asyncio
import logging
-import subprocess
+
+from blastdns import Client, ClientConfig, DNSError
class DNSBrute:
"""
Helper for DNS brute-forcing.
+ Uses its own blastdns client, separate from the one backing normal
+ resolution: brute-forcing runs against a large public resolver list rather
+ than the system resolvers, and needs its own concurrency and rate limits.
+
Examples:
>>> domain = "evilcorp.com"
>>> subdomains = ["www", "mail"]
- >>> results = await self.helpers.dns.brute(self, domain, subdomains)
+ >>> results = await self.helpers.dns.brute(domain, subdomains)
"""
_nameservers_url = (
@@ -24,11 +28,18 @@ def __init__(self, parent_helper):
self.log = logging.getLogger("bbot.helper.dns.brute")
self.dns_config = self.parent_helper.config.get("dns", {})
self.num_canaries = 100
- self.max_resolvers = self.dns_config.get("brute_threads", 1000)
+ self.concurrency = self.dns_config.get("brute_threads", 1000)
+ self.inflight_per_resolver = self.dns_config.get("brute_inflight_per_resolver", 2)
+ self.rate_limit = self.dns_config.get("brute_rate_limit", 0)
+ self.retries = self.dns_config.get("brute_retries", 20)
+ self.timeout = self.dns_config.get("brute_timeout", 0.5)
+ self.persistent_socket = self.dns_config.get("brute_persistent_socket", True)
self.nameservers_url = self.dns_config.get("brute_nameservers", self._nameservers_url)
self.devops_mutations = list(self.parent_helper.word_cloud.devops_mutations)
self.digit_regex = self.parent_helper.re.compile(r"\d+")
self._resolver_file = None
+ self._client = None
+ self._client_lock = None
self._dnsbrute_lock = None
async def __call__(self, *args, **kwargs):
@@ -40,7 +51,43 @@ def dnsbrute_lock(self):
self._dnsbrute_lock = asyncio.Lock()
return self._dnsbrute_lock
- async def dnsbrute(self, module, domain, subdomains, type=None):
+ @property
+ def client_lock(self):
+ if self._client_lock is None:
+ self._client_lock = asyncio.Lock()
+ return self._client_lock
+
+ async def client(self):
+ """The blastdns client used for brute-forcing, built on first use.
+
+ Construction is deferred because the resolver list has to be downloaded
+ first, and blastdns takes its resolvers at construction time.
+ """
+ async with self.client_lock:
+ if self._client is None:
+ resolver_file = await self.resolver_file()
+ resolvers = list(self.parent_helper.read_file(resolver_file))
+ self.log.verbose(f"Starting brute-force DNS client with {len(resolvers):,} resolvers")
+ self._client = Client(
+ resolvers,
+ ClientConfig(
+ max_concurrency=self.concurrency,
+ max_inflight_per_resolver=self.inflight_per_resolver,
+ rate_limit=self.rate_limit or None,
+ # A public resolver list carries a lot of dead entries;
+ # drop them up front instead of paying for them all scan.
+ resolver_probe=True,
+ # Brute-force queries are unique by construction, so a
+ # cache would only consume memory.
+ cache_capacity=0,
+ request_timeout_ms=int(self.timeout * 1000),
+ max_retries=self.retries,
+ persistent_socket=self.persistent_socket,
+ ),
+ )
+ return self._client
+
+ async def dnsbrute(self, domain, subdomains, type=None):
subdomains = list(subdomains)
if type is None:
@@ -53,7 +100,7 @@ async def dnsbrute(self, module, domain, subdomains, type=None):
wildcard_rdtypes.update(rdtypes)
if wildcard_domains:
self.log.hugewarning(
- f"Aborting massdns on {domain} because it's a wildcard domain ({','.join(sorted(wildcard_rdtypes))})"
+ f"Aborting brute-force of {domain} because it's a wildcard domain ({','.join(sorted(wildcard_rdtypes))})"
)
return []
@@ -66,7 +113,7 @@ async def dnsbrute(self, module, domain, subdomains, type=None):
results = []
canaries_triggered = []
- async for hostname, ip, rdtype in self._massdns(module, domain, subdomains, rdtype=type):
+ async for hostname in self._resolve_subdomains(domain, subdomains, rdtype=type):
sub = hostname.split(domain)[0].rstrip(".")
if sub in canary_set:
canaries_triggered.append(sub)
@@ -75,77 +122,84 @@ async def dnsbrute(self, module, domain, subdomains, type=None):
if len(canaries_triggered) > 5:
self.log.info(
- f"Aborting massdns on {domain} due to false positive: ({len(canaries_triggered):,} canaries triggered - {','.join(canaries_triggered)})"
+ f"Aborting brute-force of {domain} due to false positive: ({len(canaries_triggered):,} canaries triggered - {','.join(canaries_triggered)})"
)
return []
# everything checks out
return results
- async def _massdns(self, module, domain, subdomains, rdtype):
- """
- {
- "name": "www.blacklanternsecurity.com.",
- "type": "A",
- "class": "IN",
- "status": "NOERROR",
- "data": {
- "answers": [
- {
- "ttl": 3600,
- "type": "CNAME",
- "class": "IN",
- "name": "www.blacklanternsecurity.com.",
- "data": "blacklanternsecurity.github.io."
- },
- {
- "ttl": 3600,
- "type": "A",
- "class": "IN",
- "name": "blacklanternsecurity.github.io.",
- "data": "185.199.108.153"
- }
- ]
- },
- "resolver": "168.215.165.186:53"
- }
+ async def _resolve_subdomains(self, domain, subdomains, rdtype):
+ """Resolve each candidate under ``domain``, yielding the ones that exist.
+
+ Uses ``resolve_batch_full`` rather than ``resolve_batch`` so failures stay
+ visible: a query that ran out of retries is a silently missed subdomain,
+ which is the one error brute-forcing must not hide.
"""
- resolver_file = await self.resolver_file()
- command = (
- "massdns",
- "-r",
- resolver_file,
- "-s",
- self.max_resolvers,
- "-t",
- rdtype,
- "-o",
- "J",
- "-q",
- )
- subdomains = self.gen_subdomains(subdomains, domain)
+ client = await self.client()
+ queries = self.gen_subdomains(subdomains, domain)
+ suffix = f".{domain}"
hosts_yielded = set()
+ answered = 0
+ empty = 0
+ failed = 0
+
+ # Runs are serialized by dnsbrute_lock, so a stats snapshot taken here
+ # describes this run and no other.
async with self.dnsbrute_lock:
- async for line in module.run_process_live(*command, stderr=subprocess.DEVNULL, input=subdomains):
- try:
- j = json.loads(line)
- except json.decoder.JSONDecodeError:
- self.log.debug(f"Failed to decode line: {line}")
+ before = {s.resolver: s for s in client.stats()}
+ async for host, result in client.resolve_batch_full(queries, rdtype):
+ if isinstance(result, DNSError):
+ failed += 1
continue
- answers = j.get("data", {}).get("answers", [])
- if type(answers) == list and len(answers) > 0:
- answer = answers[0]
- hostname = answer.get("name", "").strip(".").lower()
- if hostname.endswith(f".{domain}"):
- data = answer.get("data", "")
- rdtype = answer.get("type", "").upper()
- if data and rdtype:
- hostname_hash = hash(hostname)
- if hostname_hash not in hosts_yielded:
- hosts_yielded.add(hostname_hash)
- yield hostname, data, rdtype
-
- async def gen_subdomains(self, prefixes, domain):
+ if not result.response.answers:
+ empty += 1
+ continue
+ answered += 1
+
+ # A CNAME can point anywhere; only names under the domain we
+ # asked about are subdomains of it.
+ hostname = host.strip(".").lower()
+ if not hostname.endswith(suffix) or hostname in hosts_yielded:
+ continue
+ hosts_yielded.add(hostname)
+ yield hostname
+ after = client.stats()
+
+ self._log_delivery(domain, answered, empty, failed, before, after)
+
+ def _log_delivery(self, domain, answered, empty, failed, before, after):
+ """Report how much of the wordlist actually got an answer.
+
+ A run that silently drops queries looks identical to one that found
+ nothing, so unanswered queries are worth surfacing. When a meaningful
+ share went unanswered, also report the resolver-side picture, since
+ otherwise there's no way to tell rate-limiting apart from backoff.
+ """
+ total = answered + empty + failed
+ if not total:
+ return
+ message = f"Brute-force of {domain}: {answered:,} resolved, {empty:,} no record, {failed:,} unanswered"
+ if failed / total <= 0.05:
+ self.log.verbose(message)
+ return
+
+ used = 0
+ timeouts = 0
+ paced = 0
+ for stats in after:
+ previous = before.get(stats.resolver)
+ if stats.attempted - (previous.attempted if previous else 0):
+ used += 1
+ timeouts += stats.timeout - (previous.timeout if previous else 0)
+ if stats.rate_qps is not None:
+ paced += 1
+ self.log.warning(
+ f"{message} ({failed / total:.0%} unanswered, results may be incomplete). "
+ f"{used:,} resolvers used, {paced:,} throttled by backoff, {timeouts:,} timeouts"
+ )
+
+ def gen_subdomains(self, prefixes, domain):
for p in prefixes:
if domain:
p = f"{p}.{domain}"
@@ -158,12 +212,20 @@ async def resolver_file(self):
cache_hrs=24 * 7,
)
nameservers = set(self.parent_helper.read_file(self._resolver_file_original))
- nameservers.difference_update(self.parent_helper.dns.system_resolvers)
- # exclude system nameservers from brute-force
+ # exclude whatever the main DNS path is using, custom or system
# this helps prevent rate-limiting which might cause BBOT's main dns queries to fail
+ # compare by host, since our resolvers may carry a port (8.8.8.8:53) while the brute list is bare IPs
+ excluded_hosts = {self._resolver_host(r) for r in self.parent_helper.dns.resolvers}
+ nameservers = {n for n in nameservers if self._resolver_host(n) not in excluded_hosts}
self._resolver_file = self.parent_helper.tempfile(nameservers, pipe=False)
return self._resolver_file
+ def _resolver_host(self, resolver):
+ try:
+ return str(self.parent_helper.split_host_port(resolver)[0])
+ except ValueError:
+ return resolver
+
def gen_random_subdomains(self, n=50):
delimiters = (".", "-")
lengths = list(range(3, 8))
diff --git a/bbot/core/helpers/dns/dns.py b/bbot/core/helpers/dns/dns.py
index b95cfb22eb..9a80efb837 100644
--- a/bbot/core/helpers/dns/dns.py
+++ b/bbot/core/helpers/dns/dns.py
@@ -10,6 +10,7 @@
from blastdns.exceptions import BlastDNSError
from bbot.core.helpers.async_helpers import NamedLock, async_cachedmethod
+from bbot.errors import ValidationError
from .helpers import all_rdtypes, extract_targets, record_to_text
from ..misc import clean_dns_record, domain_parents, is_dns_name, is_domain, is_ip, parent_domain, rand_string
@@ -50,22 +51,36 @@ def __init__(self, parent_helper):
# how many consecutive DNS resolution hops we allow before tagging an event as runaway
self.runaway_limit = self.dns_config.get("runaway_limit", 5)
- # blastdns client
+ # resolvers: operator-supplied nameservers replace the OS ones entirely.
+ # system_resolvers keeps meaning "what the OS reported"; self.resolvers is
+ # what we actually query.
self.system_resolvers = get_system_resolvers()
+ custom_nameservers = self.dns_config.get("nameservers", None) or []
+ if custom_nameservers:
+ self.resolvers = list(custom_nameservers)
+ self.log.info(f"Using {len(self.resolvers):,} custom nameserver(s) instead of system resolvers")
+ else:
+ self.resolvers = list(self.system_resolvers)
+
self.log.debug(
- f"Starting BlastDNS client with {self.threads} threads per resolver, "
+ f"Starting BlastDNS client with {self.threads} queries in flight per resolver, "
f"{self.retries} retries, {self.cache_size} cache size, "
f"and {self.timeout} second timeout"
)
- self.blastdns = Client(
- self.system_resolvers,
- ClientConfig(
- request_timeout_ms=self.timeout * 1000,
- max_retries=self.retries,
- threads_per_resolver=self.threads,
- cache_capacity=self.cache_size,
- ),
- )
+ try:
+ self.blastdns = Client(
+ self.resolvers,
+ ClientConfig(
+ request_timeout_ms=self.timeout * 1000,
+ max_retries=self.retries,
+ max_inflight_per_resolver=self.threads,
+ cache_capacity=self.cache_size,
+ ),
+ )
+ except BlastDNSError as e:
+ # blastdns validates resolver addresses; surface which setting is at fault
+ source = "dns.nameservers" if custom_nameservers else "system resolvers"
+ raise ValidationError(f"Error in {source}: {e}") from e
# parse dns.omit_queries (e.g. "A:internal.bad.com") into {rdtype: {host, ...}}
self.dns_omit_queries = {}
@@ -91,8 +106,8 @@ def __init__(self, parent_helper):
self._last_dns_success = None
self._last_connectivity_warning = time.time()
- # copy the system's current resolvers to a text file for tool use
- self.resolver_file = self.parent_helper.tempfile(self.system_resolvers, pipe=False)
+ # copy the resolvers we're using to a text file for tool use
+ self.resolver_file = self.parent_helper.tempfile(self.resolvers, pipe=False)
# brute force helper
self._brute = None
@@ -422,11 +437,19 @@ def brute(self):
return self._brute
async def _mock_dns(self, mock_data):
- """Swap the underlying client for a ``MockClient`` configured with ``mock_data``."""
+ """Swap the underlying clients for ``MockClient``s configured with ``mock_data``.
+
+ The brute-force helper has its own client, so it has to be mocked too or
+ brute-forcing modules would reach the network during tests.
+ """
mock_client = MockClient()
mock_client.mock_dns(mock_data)
self.blastdns = mock_client
+ brute_mock = MockClient()
+ brute_mock.mock_dns(mock_data)
+ self.brute._client = brute_mock
+
@staticmethod
def _empty_result(host=""):
"""Build a minimal ``DNSResult`` with no answers, for use as a safe fallback."""
diff --git a/bbot/core/shared_deps.py b/bbot/core/shared_deps.py
index 49fa2d69cf..31f622ce88 100644
--- a/bbot/core/shared_deps.py
+++ b/bbot/core/shared_deps.py
@@ -22,42 +22,6 @@
},
]
-DEP_MASSDNS = [
- {
- "name": "install dev tools",
- "package": {"name": ["gcc", "git", "make"], "state": "present"},
- "become": True,
- "ignore_errors": True,
- },
- {
- "name": "Download massdns source code",
- "git": {
- "repo": "https://github.com/blechschmidt/massdns.git",
- "dest": "#{BBOT_TEMP}/massdns",
- "single_branch": True,
- "version": "master",
- },
- },
- {
- "name": "Build massdns (Linux)",
- "command": {"chdir": "#{BBOT_TEMP}/massdns", "cmd": "make", "creates": "#{BBOT_TEMP}/massdns/bin/massdns"},
- "when": "ansible_facts['system'] == 'Linux'",
- },
- {
- "name": "Build massdns (non-Linux)",
- "command": {
- "chdir": "#{BBOT_TEMP}/massdns",
- "cmd": "make nolinux",
- "creates": "#{BBOT_TEMP}/massdns/bin/massdns",
- },
- "when": "ansible_facts['system'] != 'Linux'",
- },
- {
- "name": "Install massdns",
- "copy": {"src": "#{BBOT_TEMP}/massdns/bin/massdns", "dest": "#{BBOT_TOOLS}/", "mode": "u+x,g+x,o+x"},
- },
-]
-
DEP_CHROMIUM = [
{
"name": "Install Chromium (Non-Debian)",
@@ -232,7 +196,7 @@
},
]
-# shared module dependencies -- massdns, chromium, etc.
+# shared module dependencies -- chromium, java, etc.
SHARED_DEPS = {}
for var, val in list(locals().items()):
if var.startswith("DEP_") and isinstance(val, list):
diff --git a/bbot/defaults.yml b/bbot/defaults.yml
index 90c54d0404..ab4eb91c8c 100644
--- a/bbot/defaults.yml
+++ b/bbot/defaults.yml
@@ -47,13 +47,27 @@ dns:
disable: false
# Speed up scan by not creating any new DNS events, and only resolving A and AAAA records
minimal: false
- # How many threads to use per resolver (best way to increase speed is to put more resolvers in /etc/resolv.conf)
+ # Nameservers to use instead of the system ones (empty = use system resolvers)
+ nameservers: []
+ # How many queries to keep in flight per resolver (best way to increase speed is to put more resolvers in /etc/resolv.conf)
threads: 10
# How many DNS records to cache
cache_size: 100000
- # How many concurrent DNS resolvers to use when brute-forcing
- # (under the hood this is passed through directly to massdns -s)
+ # How many brute-force DNS queries to keep in flight at once
brute_threads: 1000
+ # How many brute-force queries to keep in flight per resolver (the politeness bound)
+ brute_inflight_per_resolver: 2
+ # Hard ceiling on brute-force DNS queries per second (0 = unlimited; backoff is automatic regardless)
+ brute_rate_limit: 0
+ # Attempts per brute-force name before giving up (each retry lands on a different resolver)
+ # Only timeouts retry, not NXDOMAIN, so this costs traffic proportional to the failure rate
+ brute_retries: 20
+ # Per-query timeout in seconds when brute-forcing, deliberately much shorter than dns.timeout
+ # Retrying elsewhere is cheaper than waiting; going below this starts shrinking the resolver pool
+ brute_timeout: 0.5
+ # Reuse one socket per resolver instead of binding one per query, which keeps NAT/conntrack
+ # state bounded by the resolver count rather than growing with query volume
+ brute_persistent_socket: true
# nameservers to use for DNS brute-forcing
# default is updated weekly and contains ~10K high-quality public servers
brute_nameservers: https://raw.githubusercontent.com/blacklanternsecurity/public-dns-servers/master/nameservers.txt
diff --git a/bbot/modules/baddns.py b/bbot/modules/baddns.py
index ddc86ab3a4..e650dacafc 100644
--- a/bbot/modules/baddns.py
+++ b/bbot/modules/baddns.py
@@ -1,5 +1,6 @@
from baddns.base import get_all_modules
from baddns.lib.loader import load_signatures
+from baddns.lib.matcher import WordMatcher
from .base import BaseModule
import logging
@@ -11,7 +12,7 @@
SUBMODULE_MAX_SEVERITY = {
"CNAME": "MEDIUM",
- "NS": "MEDIUM",
+ "NS": "HIGH",
"MX": "MEDIUM",
"TXT": "LOW",
"references": "MEDIUM",
@@ -21,11 +22,12 @@
"SPF": "MEDIUM",
"MTA-STS": "HIGH",
"WILDCARD": "HIGH",
+ "DELEGATION": "HIGH",
}
SUBMODULE_MAX_CONFIDENCE = {
"CNAME": "CONFIRMED",
- "NS": "HIGH",
+ "NS": "CONFIRMED",
"MX": "CONFIRMED",
"TXT": "CONFIRMED",
"references": "CONFIRMED",
@@ -35,6 +37,7 @@
"SPF": "CONFIRMED",
"MTA-STS": "CONFIRMED",
"WILDCARD": "CONFIRMED",
+ "DELEGATION": "CONFIRMED",
}
@@ -56,11 +59,11 @@ class Config(BaseModuleConfig):
min_confidence: ConfidenceLiteral = Field("MEDIUM", description="Minimum confidence to emit")
enabled_submodules: list[str] = Field(
default_factory=list,
- description="A list of submodules to enable. Empty list (default) enables CNAME, TXT and MX Only",
+ description="A list of submodules to enable. Empty list (default) enables CNAME, MX, TXT and DELEGATION Only",
)
module_threads = 8
- deps_pip = ["baddns~=2.4.0"]
+ deps_pip = ["baddns~=2.5.0"]
def select_modules(self):
selected_submodules = []
@@ -72,7 +75,7 @@ def select_modules(self):
def set_modules(self):
self.enabled_submodules = self.config.get("enabled_submodules", [])
if self.enabled_submodules == []:
- self.enabled_submodules = ["CNAME", "MX", "TXT"]
+ self.enabled_submodules = ["CNAME", "MX", "TXT", "DELEGATION"]
def _filter_submodules(self):
filtered = []
@@ -112,6 +115,8 @@ async def setup(self):
self._min_sev_idx = SEVERITY_LEVELS.index(min_severity)
self._min_conf_idx = CONFIDENCE_LEVELS.index(min_confidence)
self.signatures = load_signatures()
+ # one batched YARA pass per response instead of each signature's words in turn
+ self.word_matcher = WordMatcher(self.signatures)
self.set_modules()
self.enabled_submodules = self._filter_submodules()
if not self.enabled_submodules:
@@ -144,6 +149,7 @@ async def handle_event(self, event):
"dns_client": self.scan.helpers.dns.blastdns,
"custom_nameservers": self.custom_nameservers,
"signatures": self.signatures,
+ "word_matcher": self.word_matcher,
}
if ModuleClass.name == "NS":
diff --git a/bbot/modules/baddns_direct.py b/bbot/modules/baddns_direct.py
index 584d3f7763..73d36f0322 100644
--- a/bbot/modules/baddns_direct.py
+++ b/bbot/modules/baddns_direct.py
@@ -22,7 +22,7 @@ class Config(BaseModuleConfig):
)
module_threads = 8
- deps_pip = ["baddns~=2.4.0"]
+ deps_pip = ["baddns~=2.5.0"]
scope_distance_modifier = 1
diff --git a/bbot/modules/baddns_zone.py b/bbot/modules/baddns_zone.py
index 9277be5e1e..081dc10fb7 100644
--- a/bbot/modules/baddns_zone.py
+++ b/bbot/modules/baddns_zone.py
@@ -22,7 +22,7 @@ class Config(BaseModuleConfig):
)
module_threads = 8
- deps_pip = ["baddns~=2.4.0"]
+ deps_pip = ["baddns~=2.5.0"]
def set_modules(self):
self.enabled_submodules = ["NSEC", "zonetransfer"]
diff --git a/bbot/modules/base.py b/bbot/modules/base.py
index d14b63ee9e..d9015d041e 100644
--- a/bbot/modules/base.py
+++ b/bbot/modules/base.py
@@ -9,7 +9,7 @@
from ..core.helpers.misc import get_size # noqa
from ..errors import HttpCompareError, ValidationError, WebError
-from ..core.helpers.async_helpers import TaskCounter, ShuffleQueue
+from ..core.helpers.async_helpers import LaneQueue, TaskCounter, ShuffleQueue
from ..core.event import is_event
from .. import __version__
@@ -2054,6 +2054,18 @@ async def get_incoming_event(self):
"""
return await self.incoming_event_queue.get()
+ def make_intercept_queue(self):
+ """
+ Make the queue that feeds this module from the previous intercept module, divided into lanes by `incoming_lane()`
+ """
+ return LaneQueue(lambda item: self.incoming_lane(item[0]))
+
+ def incoming_lane(self, event):
+ """
+ The lane an incoming event joins. Events in lower lanes are handled first.
+ """
+ return 0
+
async def forward_event(self, event, kwargs):
"""
Used for forwarding the event on to the next intercept module
diff --git a/bbot/modules/dnsbrute.py b/bbot/modules/dnsbrute.py
index 7b56ae1408..a300b7745b 100644
--- a/bbot/modules/dnsbrute.py
+++ b/bbot/modules/dnsbrute.py
@@ -9,7 +9,7 @@ class dnsbrute(subdomain_enum):
watched_events = ["DNS_NAME"]
produced_events = ["DNS_NAME"]
meta = {
- "description": "Brute-force subdomains with massdns + static wordlist",
+ "description": "Brute-force subdomains with a static wordlist",
"author": "@TheTechromancer",
"created_date": "2024-04-24",
}
@@ -25,7 +25,6 @@ class Config(BaseModuleConfig):
description="If True, brute-force hosts discovered by dnsbrute_mutations. The default (False) skips them because the static wordlist heavily overlaps with the mutation algorithm's own output.",
)
- deps_common = ["massdns"]
reject_wildcards = "strict"
dedup_strategy = "lowest_parent"
_qsize = 10000
@@ -62,7 +61,7 @@ async def filter_event(self, event):
async def handle_event(self, event):
query = self.make_query(event)
self.info(f"Brute-forcing {self.wordlist_size:,} subdomains for {query} (source: {event.pretty_string})")
- for hostname in await self.helpers.dns.brute(self, query, self.subdomain_list):
+ for hostname in await self.helpers.dns.brute(query, self.subdomain_list):
await self.emit_event(
hostname,
"DNS_NAME",
diff --git a/bbot/modules/dnsbrute_mutations.py b/bbot/modules/dnsbrute_mutations.py
index 0ede75dae4..d5d4150b6e 100644
--- a/bbot/modules/dnsbrute_mutations.py
+++ b/bbot/modules/dnsbrute_mutations.py
@@ -9,7 +9,7 @@ class dnsbrute_mutations(BaseModule):
watched_events = ["DNS_NAME"]
produced_events = ["DNS_NAME"]
meta = {
- "description": "Brute-force subdomains with massdns + target-specific mutations",
+ "description": "Brute-force subdomains with target-specific mutations",
"author": "@TheTechromancer",
"created_date": "2024-04-25",
}
@@ -17,7 +17,6 @@ class dnsbrute_mutations(BaseModule):
class Config(BaseModuleConfig):
max_mutations: int = Field(100, description="Maximum number of target-specific mutations to try per subdomain")
- deps_common = ["massdns"]
_qsize = 10000
async def setup(self):
@@ -126,7 +125,7 @@ def add_mutation(m):
self.info(
f"Trying {len(mutations):,} mutations against {domain} ({i + 1}/{len(trimmed_found)})"
)
- results = await self.helpers.dns.brute(self, query, mutations)
+ results = await self.helpers.dns.brute(query, mutations)
try:
mutation_run = self._mutation_run_counter[domain]
except KeyError:
diff --git a/bbot/modules/dnscommonsrv.py b/bbot/modules/dnscommonsrv.py
index 36ce8fb89b..300a503c5b 100644
--- a/bbot/modules/dnscommonsrv.py
+++ b/bbot/modules/dnscommonsrv.py
@@ -9,7 +9,6 @@ class dnscommonsrv(subdomain_enum):
flags = ["safe", "subdomain-enum", "active"]
meta = {"description": "Check for common SRV records", "created_date": "2022-05-15", "author": "@TheTechromancer"}
dedup_strategy = "lowest_parent"
- deps_common = ["massdns"]
class Config(BaseModuleConfig):
max_depth: int = Field(2, description="The maximum subdomain depth to brute-force SRV records")
@@ -34,7 +33,7 @@ async def filter_event(self, event):
async def handle_event(self, event):
query = self.make_query(event)
self.verbose(f'Brute-forcing {self.num_srvs:,} SRV records for "{query}"')
- for hostname in await self.helpers.dns.brute(self, query, common_srvs, type="SRV"):
+ for hostname in await self.helpers.dns.brute(query, common_srvs, type="SRV"):
await self.emit_event(
hostname,
"DNS_NAME",
diff --git a/bbot/modules/internal/dnsresolve.py b/bbot/modules/internal/dnsresolve.py
index f4a5abae1a..1c7f8c4c7a 100644
--- a/bbot/modules/internal/dnsresolve.py
+++ b/bbot/modules/internal/dnsresolve.py
@@ -20,9 +20,8 @@ class HostModule(BaseModule):
_name = "host"
_type = "internal"
- @property
- def module_threads(self):
- return self.dns_config.get("threads", 25)
+ # events resolved concurrently; separate from dns.threads, which caps blastdns queries per resolver
+ _module_threads = 25
async def setup(self):
self.dns_config = self.scan.config.get("dns", {})
@@ -50,6 +49,13 @@ async def setup(self):
return True
+ def incoming_lane(self, event):
+ # events whose host was already resolved upstream skip ahead of hosts still awaiting resolution
+ if not event.host:
+ return 0
+ dns_parent = self.find_dns_parent(event)
+ return 0 if dns_parent is not None and dns_parent is not event else 1
+
async def filter_event(self, event):
if (not event.host) or (event.type in ("IP_RANGE",)):
return False, "event does not have host attribute"
@@ -65,25 +71,23 @@ async def handle_event(self, event, **kwargs):
non_minimal_rdtypes = self.non_minimal_rdtypes
# first, we find or create the main DNS_NAME or IP_ADDRESS associated with this event
- main_host_event, in_target, blacklisted, new_event = self.get_dns_parent(event)
+ main_host_event, new_event = self.get_dns_parent(event)
original_tags = set(event.tags)
# minimal resolution - first, we resolve A/AAAA records for scope purposes
- if new_event or event is main_host_event:
- await self.resolve_event(main_host_event, types=minimal_rdtypes)
- # are any of its IPs in target scope or blacklisted?
- in_target, blacklisted = self.check_scope(main_host_event)
- if in_target and main_host_event.scope_distance > 0:
- # when filter_ptrs is enabled, don't promote PTR-derived hostnames to in-scope
- # this prevents rDNS results from triggering subdomain enumeration against unrelated domains
- # (e.g. scanning 1.2.3.0/24 would otherwise enumerate every PTR parent like randomothercorp.com)
- if self.filter_ptrs and "ptr" in main_host_event.tags:
- self.debug(f"Not making {main_host_event} in-scope: PTR-derived hostname (filter_ptrs=true)")
- else:
- self.debug(
- f"Making {main_host_event} in-scope because it resolves to an in-scope resource (A/AAAA)"
- )
- main_host_event.scope_distance = 0
+ # done for every event, since a child can be handled before or alongside its parent (repeats are cache hits)
+ await self.resolve_event(main_host_event, types=minimal_rdtypes)
+ # are any of its IPs in target scope or blacklisted?
+ in_target, blacklisted = self.check_scope(main_host_event)
+ if in_target and main_host_event.scope_distance > 0:
+ # when filter_ptrs is enabled, don't promote PTR-derived hostnames to in-scope
+ # this prevents rDNS results from triggering subdomain enumeration against unrelated domains
+ # (e.g. scanning 1.2.3.0/24 would otherwise enumerate every PTR parent like randomothercorp.com)
+ if self.filter_ptrs and "ptr" in main_host_event.tags:
+ self.debug(f"Not making {main_host_event} in-scope: PTR-derived hostname (filter_ptrs=true)")
+ else:
+ self.debug(f"Making {main_host_event} in-scope because it resolves to an in-scope resource (A/AAAA)")
+ main_host_event.scope_distance = 0
# abort if the event resolves to something blacklisted
if blacklisted:
@@ -333,22 +337,25 @@ async def resolve_event(self, event, types):
except ValueError:
continue
+ def find_dns_parent(self, event):
+ """
+ Get the first DNS_NAME / IP_ADDRESS in an event's chain (including the event itself) with the same host, or None.
+ """
+ for parent in event.get_parents(include_self=True):
+ if parent.host == event.host and parent.type in ("IP_ADDRESS", "DNS_NAME", "DNS_NAME_UNRESOLVED"):
+ return parent
+
def get_dns_parent(self, event):
"""
Get the first parent DNS_NAME / IP_ADDRESS of an event. If one isn't found, create it.
- Returns a 4-tuple of:
+ Returns a 2-tuple of:
- the parent event
- - whether the parent is in target
- - whether the parent is blacklisted
- whether the parent is a new event, i.e. it is newly created or is the current event
"""
- for parent in event.get_parents(include_self=True):
- if parent.host == event.host and parent.type in ("IP_ADDRESS", "DNS_NAME", "DNS_NAME_UNRESOLVED"):
- blacklisted = any(t.startswith("dns-blacklisted-") for t in parent.tags)
- in_target = any(t.startswith("dns-in-target-") for t in parent.tags)
- new_event = parent is event
- return parent, in_target, blacklisted, new_event
+ parent = self.find_dns_parent(event)
+ if parent is not None:
+ return parent, parent is event
tags = set()
if "seed" in event.tags:
tags.add("seed")
@@ -361,8 +368,6 @@ def get_dns_parent(self, event):
context="{event.parent.type} has host {event.type}: {event.host}",
tags=tags,
),
- None,
- None,
True,
)
diff --git a/bbot/modules/nuclei.py b/bbot/modules/nuclei.py
index fe698a9863..6b2002037a 100644
--- a/bbot/modules/nuclei.py
+++ b/bbot/modules/nuclei.py
@@ -329,7 +329,7 @@ async def execute_nuclei(self, nuclei_input):
self.scan.http_timeout,
]
- if self.helpers.system_resolvers:
+ if self.helpers.dns.resolvers:
command += ["-r", self.helpers.resolver_file]
for hk, hv in self.scan.custom_http_headers.items():
diff --git a/bbot/presets/baddns-heavy.yml b/bbot/presets/baddns-heavy.yml
index bb683a9d0a..5e23fb39d5 100644
--- a/bbot/presets/baddns-heavy.yml
+++ b/bbot/presets/baddns-heavy.yml
@@ -10,7 +10,7 @@ modules:
config:
modules:
baddns:
- enabled_submodules: [CNAME, NS, MX, TXT, references, DMARC, SPF, MTA-STS, WILDCARD]
+ enabled_submodules: [CNAME, NS, MX, TXT, references, DMARC, SPF, MTA-STS, WILDCARD, DELEGATION]
min_severity: INFO
min_confidence: UNKNOWN
baddns_zone:
diff --git a/bbot/presets/baddns.yml b/bbot/presets/baddns.yml
index d6e0cf76aa..723c7582e7 100644
--- a/bbot/presets/baddns.yml
+++ b/bbot/presets/baddns.yml
@@ -6,6 +6,6 @@ modules:
config:
modules:
baddns:
- enabled_submodules: [CNAME, MX, TXT]
+ enabled_submodules: [CNAME, MX, TXT, DELEGATION]
min_severity: LOW
min_confidence: MEDIUM
diff --git a/bbot/scanner/preset/args.py b/bbot/scanner/preset/args.py
index b84e012b90..15a2c72839 100644
--- a/bbot/scanner/preset/args.py
+++ b/bbot/scanner/preset/args.py
@@ -209,6 +209,9 @@ def preset_from_args(self):
if self.parsed.no_proxy:
args_preset.core.merge_custom({"web": {"http_proxy_exclude": self.parsed.no_proxy}})
+ if self.parsed.custom_nameservers:
+ args_preset.core.merge_custom({"dns": {"nameservers": self.parsed.custom_nameservers}})
+
if self.parsed.custom_headers:
args_preset.core.merge_custom({"web": {"http_headers": self.parsed.custom_headers}})
@@ -437,6 +440,13 @@ def create_parser(self, *args, **kwargs):
help="Exclude these hosts from proxy (e.g. localhost *.internal.corp 10.0.0.0/8)",
metavar="HOST",
)
+ misc.add_argument(
+ "--custom-nameservers",
+ nargs="+",
+ default=[],
+ help="Use these nameservers instead of the system ones (e.g. 1.1.1.1 8.8.8.8:53)",
+ metavar="NAMESERVER",
+ )
misc.add_argument(
"-H",
"--custom-headers",
diff --git a/bbot/scanner/scanner.py b/bbot/scanner/scanner.py
index b970892551..701220baf7 100644
--- a/bbot/scanner/scanner.py
+++ b/bbot/scanner/scanner.py
@@ -340,6 +340,12 @@ async def _prep(self):
Expands async seed types (e.g. ASN → IP ranges), evaluates preset conditions,
creates the scan's output folder, loads its modules, and calls their .setup() methods.
"""
+ # build the DNS helper up front: blastdns validates dns.nameservers when the
+ # client is constructed, and a bad value should abort the scan here rather than
+ # surface later as a per-event error inside dnsresolve
+ if not self.config.get("dns", {}).get("disable", False):
+ self.helpers.dns
+
# expand async seed types (e.g. ASN -> IP ranges)
try:
await self.preset.target.generate_children(helpers=self.helpers)
@@ -420,7 +426,7 @@ async def _prep(self):
self.debug(
f"Setting intercept module {intercept_module.name}._incoming_event_queue to previous intercept module {prev_intercept_module.name}.outgoing_event_queue"
)
- interqueue = asyncio.Queue()
+ interqueue = intercept_module.make_intercept_queue()
intercept_module._incoming_event_queue = interqueue
prev_intercept_module._outgoing_event_queue = interqueue
diff --git a/bbot/test/test_step_1/test_cli.py b/bbot/test/test_step_1/test_cli.py
index 049a5738b1..f6af8a96b0 100644
--- a/bbot/test/test_step_1/test_cli.py
+++ b/bbot/test/test_step_1/test_cli.py
@@ -870,6 +870,14 @@ def test_cli_presets(monkeypatch, capsys, caplog, clean_default_config):
stdout_preset.pop("description")
assert stdout_preset == {"config": {"web": {"http_proxy": "http://127.0.0.1:8080"}}}
+ # --custom-nameservers
+ monkeypatch.setattr("sys.argv", ["bbot", "--custom-nameservers", "1.1.1.1", "8.8.8.8:53", "--current-preset"])
+ cli.main()
+ captured = capsys.readouterr()
+ stdout_preset = yaml.safe_load(captured.out)
+ stdout_preset.pop("description")
+ assert stdout_preset == {"config": {"dns": {"nameservers": ["1.1.1.1", "8.8.8.8:53"]}}}
+
# cli config overrides all presets
monkeypatch.setattr(
"sys.argv",
diff --git a/bbot/test/test_step_1/test_dns.py b/bbot/test/test_step_1/test_dns.py
index 3d7329bd8d..e58be9d574 100644
--- a/bbot/test/test_step_1/test_dns.py
+++ b/bbot/test/test_step_1/test_dns.py
@@ -958,11 +958,374 @@ async def test_dns_helpers(bbot_scanner):
# all_rdtypes is the canonical list -- make sure it's not empty and contains the basics
assert "A" in all_rdtypes and "AAAA" in all_rdtypes and "CNAME" in all_rdtypes
- # make sure system nameservers are excluded from use by DNS brute force
+ # make sure the resolvers used for normal resolution are excluded from brute-forcing
brute_nameservers = tempwordlist(["1.2.3.4", "8.8.4.4", "4.3.2.1", "8.8.8.8"])
scan = bbot_scanner(config={"dns": {"brute_nameservers": brute_nameservers}})
await scan._prep()
- scan.helpers.dns.system_resolvers = ["8.8.8.8", "8.8.4.4"]
+ scan.helpers.dns.resolvers = ["8.8.8.8", "8.8.4.4"]
resolver_file = await scan.helpers.dns.brute.resolver_file()
resolvers = set(scan.helpers.read_file(resolver_file))
assert resolvers == {"1.2.3.4", "4.3.2.1"}
+
+ # custom nameservers replace the system ones, and are likewise kept out of
+ # the brute-force pool so brute traffic can't rate-limit our own queries
+ scan = bbot_scanner(
+ config={"dns": {"nameservers": ["8.8.8.8", "8.8.4.4"], "brute_nameservers": brute_nameservers}}
+ )
+ await scan._prep()
+ assert scan.helpers.dns.resolvers == ["8.8.8.8", "8.8.4.4"]
+ assert scan.helpers.dns.blastdns.resolvers == ["8.8.8.8:53", "8.8.4.4:53"]
+ # resolver_file is what external tools (e.g. nuclei) are pointed at
+ assert set(scan.helpers.read_file(scan.helpers.dns.resolver_file)) == {"8.8.8.8", "8.8.4.4"}
+ resolver_file = await scan.helpers.dns.brute.resolver_file()
+ assert set(scan.helpers.read_file(resolver_file)) == {"1.2.3.4", "4.3.2.1"}
+
+ # custom nameservers given with a port are matched by host against the bare-IP brute list
+ brute_nameservers = tempwordlist(["1.2.3.4", "8.8.4.4", "4.3.2.1", "8.8.8.8", "2001:4860:4860::8888"])
+ scan = bbot_scanner(
+ config={
+ "dns": {
+ "nameservers": ["8.8.8.8:53", "8.8.4.4:5353", "[2001:4860:4860::8888]:53"],
+ "brute_nameservers": brute_nameservers,
+ }
+ }
+ )
+ await scan._prep()
+ resolver_file = await scan.helpers.dns.brute.resolver_file()
+ assert set(scan.helpers.read_file(resolver_file)) == {"1.2.3.4", "4.3.2.1"}
+
+ # with no custom nameservers, the system ones are used
+ scan = bbot_scanner()
+ await scan._prep()
+ assert scan.helpers.dns.resolvers == list(scan.helpers.dns.system_resolvers)
+
+
+@pytest.mark.asyncio
+async def test_dns_brute_client_config(bbot_scanner, monkeypatch):
+ """Every dns.brute_* option has to reach the blastdns client.
+
+ blastdns rejects unknown ClientConfig keys, but a value BBOT never passes
+ fails silently as a default, which is invisible in scan output.
+ """
+ from bbot.core.helpers.dns import brute as brute_module
+
+ captured = {}
+
+ class FakeClient:
+ def __init__(self, resolvers, config):
+ captured["resolvers"] = resolvers
+ captured["config"] = config
+
+ monkeypatch.setattr(brute_module, "Client", FakeClient)
+
+ brute_nameservers = tempwordlist(["1.2.3.4", "4.3.2.1"])
+ scan = bbot_scanner(
+ config={
+ "dns": {
+ "brute_nameservers": brute_nameservers,
+ "brute_threads": 123,
+ "brute_inflight_per_resolver": 7,
+ "brute_rate_limit": 456,
+ "brute_retries": 9,
+ "brute_timeout": 0.25,
+ "brute_persistent_socket": True,
+ }
+ }
+ )
+ await scan._prep()
+ await scan.helpers.dns.brute.client()
+
+ config = captured["config"]
+ assert config.max_concurrency == 123
+ assert config.max_inflight_per_resolver == 7
+ assert config.rate_limit == 456
+ assert config.max_retries == 9
+ assert config.request_timeout_ms == 250
+ assert config.persistent_socket is True
+ # brute-force names are unique by construction, so a cache is pure overhead
+ assert config.cache_capacity == 0
+
+ # a rate limit of 0 means unlimited, which blastdns spells as None
+ scan = bbot_scanner(config={"dns": {"brute_nameservers": brute_nameservers, "brute_rate_limit": 0}})
+ await scan._prep()
+ await scan.helpers.dns.brute.client()
+ assert captured["config"].rate_limit is None
+ # the shipped default must not silently drift back to a slow tail
+ assert captured["config"].request_timeout_ms == 500
+ # one socket per resolver keeps NAT state bounded by the resolver count instead
+ # of growing with query volume, so it has to stay on by default
+ assert captured["config"].persistent_socket is True
+
+ # and it stays overridable, for anywhere the extra sockets are the tighter bound
+ scan = bbot_scanner(config={"dns": {"brute_nameservers": brute_nameservers, "brute_persistent_socket": False}})
+ await scan._prep()
+ await scan.helpers.dns.brute.client()
+ assert captured["config"].persistent_socket is False
+
+ # An unusable nameserver fails loudly instead of being silently ignored.
+ # Validation is blastdns's, so it happens when the client is built.
+ scan = bbot_scanner(config={"dns": {"nameservers": ["not-an-ip"]}})
+ with pytest.raises(ValidationError, match="dns.nameservers"):
+ _ = scan.helpers.dns.resolvers
+
+ # _prep() builds the client up front, so a bad nameserver aborts the scan there
+ # instead of surfacing once per event inside dnsresolve
+ scan = bbot_scanner(config={"dns": {"nameservers": ["not-an-ip"]}})
+ with pytest.raises(ValidationError, match="dns.nameservers"):
+ await scan._prep()
+
+ # a DNS-disabled scan never resolves, so it must not be blocked by that check
+ scan = bbot_scanner(config={"dns": {"nameservers": ["not-an-ip"], "disable": True}})
+ await scan._prep()
+
+
+@pytest.mark.asyncio
+async def test_dnsresolve_module_threads(bbot_scanner):
+ """dnsresolve's worker count is its own module_threads, not dns.threads."""
+ scan = bbot_scanner("evilcorp.com", config={"dns": {"threads": 3}})
+ await scan._prep()
+ assert scan.modules["dnsresolve"].module_threads == 25
+
+ scan = bbot_scanner(
+ "evilcorp.com", config={"dns": {"threads": 3}, "modules": {"dnsresolve": {"module_threads": 50}}}
+ )
+ await scan._prep()
+ assert scan.modules["dnsresolve"].module_threads == 50
+
+
+@pytest.mark.asyncio
+async def test_dnsresolve_incoming_lanes(bbot_scanner):
+ from bbot.core.helpers.async_helpers import LaneQueue
+
+ scan = bbot_scanner("evilcorp.com")
+ await scan._prep()
+ dnsresolve = scan.modules["dnsresolve"]
+
+ dns_name = scan.make_event("www.evilcorp.com", "DNS_NAME", parent=scan.root_event)
+ open_port = scan.make_event("www.evilcorp.com:443", "OPEN_TCP_PORT", parent=dns_name)
+ new_host_url = scan.make_event("http://new.evilcorp.com/", "URL_UNVERIFIED", parent=dns_name)
+ finished = scan.make_event("FINISHED", "FINISHED", dummy=True)
+
+ # hosts that still need resolving wait; hosts already resolved upstream (and hostless events) don't
+ assert dnsresolve.incoming_lane(dns_name) == 1
+ assert dnsresolve.incoming_lane(new_host_url) == 1
+ assert dnsresolve.incoming_lane(open_port) == 0
+ assert dnsresolve.incoming_lane(finished) == 0
+
+ # the queue feeding dnsresolve is divided by those lanes
+ queue = dnsresolve.incoming_event_queue
+ assert isinstance(queue, LaneQueue)
+ for event in (dns_name, new_host_url, open_port):
+ queue.put_nowait((event, {}))
+ assert [queue.get_nowait()[0] for _ in range(3)] == [open_port, dns_name, new_host_url]
+
+
+# a host and a child on that host, emitted together by one module (as urlscan and asset_inventory do)
+parent_child_mock_data = {
+ "evilcorp.com": {"A": ["127.0.0.1"]},
+ "ok.evilcorp.com": {"A": ["127.0.0.3"]},
+ # resolves to a blacklisted IP
+ "bad.evilcorp.com": {"A": ["127.0.0.99"]},
+ # in scope only because it resolves to a target IP
+ "viaip.othercorp.net": {"A": ["127.0.1.5"]},
+ # doesn't resolve
+ "dead.evilcorp.com": {},
+ # inside a wildcard zone
+ r"regex:.*\.wild\.evilcorp\.com$": {"A": ["127.0.0.4"]},
+}
+parent_child_hosts = (
+ "ok.evilcorp.com",
+ "bad.evilcorp.com",
+ "viaip.othercorp.net",
+ "dead.evilcorp.com",
+ "foo.wild.evilcorp.com",
+)
+
+
+async def run_parent_child_scan(bbot_scanner, order):
+ """
+ Scan where a module emits each host in `parent_child_hosts` as a DNS_NAME plus an OPEN_TCP_PORT child of it.
+
+ `order` controls the order dnsresolve handles them in:
+ - "parent_first" / "child_first": one dnsresolve worker, FIFO queues, the given event emitted first
+ - "lanes": one dnsresolve worker with its real lanes, held until every host and child is queued
+ """
+ import asyncio
+ from bbot.modules.base import BaseModule
+
+ class DummyModule(BaseModule):
+ watched_events = ["DNS_NAME"]
+ target_only = True
+
+ async def handle_event(self, event):
+ for host in parent_child_hosts:
+ host_event = self.make_event(host, "DNS_NAME", parent=event)
+ port_event = self.make_event(f"{host}:443", "OPEN_TCP_PORT", parent=host_event)
+ pair = (port_event, host_event) if order == "child_first" else (host_event, port_event)
+ for e in pair:
+ await self.emit_event(e)
+
+ scan = bbot_scanner(
+ "evilcorp.com",
+ "127.0.1.0/24",
+ blacklist=["127.0.0.99"],
+ config={"modules": {"dnsresolve": {"module_threads": 1}}, "dns": {"wildcard_ignore": []}},
+ )
+ await scan._prep()
+ await scan.helpers.dns._mock_dns(parent_child_mock_data)
+ dummy_module = DummyModule(scan)
+ scan.modules["dummy_module"] = dummy_module
+ dnsresolve = scan.modules["dnsresolve"]
+
+ queue_filled = None
+ if order == "lanes":
+ # hold dnsresolve's only worker on the first of these events until the rest are queued behind it
+ handle_event = dnsresolve.handle_event
+
+ async def gated_handle_event(event, **kwargs):
+ nonlocal queue_filled
+ if queue_filled is None and event.host in parent_child_hosts:
+ queue_filled = False
+ for _ in range(100):
+ if dnsresolve.incoming_event_queue.qsize() >= 2 * len(parent_child_hosts) - 1:
+ queue_filled = True
+ break
+ await asyncio.sleep(0.05)
+ return await handle_event(event, **kwargs)
+
+ dnsresolve.handle_event = gated_handle_event
+ else:
+ # keep emission order all the way into dnsresolve
+ dummy_module._outgoing_event_queue = asyncio.Queue()
+ dnsresolve.incoming_lane = lambda event: 0
+
+ events = [e async for e in scan.async_start()]
+ if order == "lanes":
+ assert queue_filled, "hosts and their children never queued up together"
+ return events
+
+
+@pytest.mark.asyncio
+@pytest.mark.parametrize("order", ["parent_first", "child_first", "lanes"])
+async def test_dnsresolve_parent_child_order(bbot_scanner, order):
+ """A host and its child come out of dnsresolve the same way no matter which is handled first."""
+ events = await run_parent_child_scan(bbot_scanner, order)
+
+ def find(event_type, data):
+ return [e for e in events if e.type == event_type and e.data == data]
+
+ # the parent is resolved, not demoted to DNS_NAME_UNRESOLVED by its child's pass
+ assert [e.type for e in events if e.host == "ok.evilcorp.com" and e.type.startswith("DNS_NAME")] == ["DNS_NAME"]
+ # the child gets the parent's IPs and scope
+ port = find("OPEN_TCP_PORT", "ok.evilcorp.com:443")
+ assert len(port) == 1
+ assert port[0].resolved_hosts == {"127.0.0.3"}
+ assert port[0].scope_distance == 0
+
+ # nothing on a host that resolves to a blacklisted IP gets into the scan
+ assert not [e for e in events if e.host == "bad.evilcorp.com"]
+
+ # a host that's in scope only through its IP brings its child into scope with it
+ viaip = find("DNS_NAME", "viaip.othercorp.net")
+ assert len(viaip) == 1
+ assert viaip[0].scope_distance == 0
+ port = find("OPEN_TCP_PORT", "viaip.othercorp.net:443")
+ assert len(port) == 1
+ assert port[0].scope_distance == 0
+ assert port[0].resolved_hosts == {"127.0.1.5"}
+
+ # a host that really doesn't resolve is still DNS_NAME_UNRESOLVED
+ assert [e.type for e in events if e.host == "dead.evilcorp.com" and e.type.startswith("DNS_NAME")] == [
+ "DNS_NAME_UNRESOLVED"
+ ]
+ port = find("OPEN_TCP_PORT", "dead.evilcorp.com:443")
+ assert len(port) == 1
+ assert not port[0].resolved_hosts
+
+ # a wildcard host collapses (once per emitting module), and its child keeps its own host
+ wild = [e.data for e in events if e.type.startswith("DNS_NAME") and e.data.endswith(".wild.evilcorp.com")]
+ assert wild and set(wild) == {"_wildcard.wild.evilcorp.com"}
+ port = find("OPEN_TCP_PORT", "foo.wild.evilcorp.com:443")
+ assert len(port) == 1
+ assert port[0].resolved_hosts == {"127.0.0.4"}
+
+
+@pytest.mark.asyncio
+@pytest.mark.parametrize("release", ["first_arrived_first", "last_arrived_first", "together"])
+async def test_dnsresolve_parent_child_interleaved(bbot_scanner, release):
+ """A host's DNS_NAME and its child give the same result when their lookups of that host overlap, in any order."""
+ import asyncio
+ from bbot.modules.base import BaseModule
+
+ hosts = ("ok.evilcorp.com", "bad.evilcorp.com")
+
+ class DummyModule(BaseModule):
+ watched_events = ["DNS_NAME"]
+ target_only = True
+
+ async def handle_event(self, event):
+ for host in hosts:
+ host_event = self.make_event(host, "DNS_NAME", parent=event)
+ await self.emit_event(host_event)
+ await self.emit_event(f"{host}:443", "OPEN_TCP_PORT", parent=host_event)
+
+ scan = bbot_scanner("evilcorp.com", blacklist=["127.0.0.99"])
+ await scan._prep()
+ await scan.helpers.dns._mock_dns(parent_child_mock_data)
+ scan.modules["dummy_module"] = DummyModule(scan)
+
+ # hold every A lookup of these hosts until both the DNS_NAME's pass and the child's pass are waiting on it
+ dns = scan.helpers.dns
+ resolve_multi_full = dns.resolve_multi_full
+ waiting = {host: [] for host in hosts}
+ all_waiting = {host: asyncio.Event() for host in hosts}
+
+ async def held_resolve_multi_full(query, rdtypes):
+ if query in waiting and "A" in rdtypes and len(waiting[query]) < 2:
+ gate, done = asyncio.Event(), asyncio.Event()
+ waiting[query].append((gate, done))
+ if len(waiting[query]) == 2:
+ all_waiting[query].set()
+ await gate.wait()
+ try:
+ return await resolve_multi_full(query, rdtypes)
+ finally:
+ # set before returning, so the released pass applies its results before the next one is released
+ done.set()
+ return await resolve_multi_full(query, rdtypes)
+
+ dns.resolve_multi_full = held_resolve_multi_full
+
+ async def release_lookups(host):
+ try:
+ await asyncio.wait_for(all_waiting[host].wait(), timeout=10)
+ except asyncio.TimeoutError:
+ # only one pass looked the host up; let the scan finish so the assertions below report it
+ for gate, _ in waiting[host]:
+ gate.set()
+ return
+ lookups = list(waiting[host])
+ if release == "last_arrived_first":
+ lookups.reverse()
+ if release == "together":
+ for gate, _ in lookups:
+ gate.set()
+ else:
+ for gate, done in lookups:
+ gate.set()
+ await done.wait()
+ # let the released pass apply its results
+ await asyncio.sleep(0.1)
+
+ releasers = [asyncio.create_task(release_lookups(host)) for host in hosts]
+ events = [e async for e in scan.async_start()]
+ # both passes looked the host up themselves, and their lookups overlapped
+ for task in releasers:
+ await task
+ assert all(len(lookups) == 2 for lookups in waiting.values())
+
+ assert [e.type for e in events if e.host == "ok.evilcorp.com" and e.type.startswith("DNS_NAME")] == ["DNS_NAME"]
+ port = [e for e in events if e.type == "OPEN_TCP_PORT" and e.data == "ok.evilcorp.com:443"]
+ assert len(port) == 1
+ assert port[0].resolved_hosts == {"127.0.0.3"}
+ assert not [e for e in events if e.host == "bad.evilcorp.com"]
diff --git a/bbot/test/test_step_1/test_events.py b/bbot/test/test_step_1/test_events.py
index 78d9b55b89..d2119e302f 100644
--- a/bbot/test/test_step_1/test_events.py
+++ b/bbot/test/test_step_1/test_events.py
@@ -435,8 +435,35 @@ def _http_response(url):
"FINDING",
dummy=True,
)
- assert test_vuln2.data_human == "Severity: [INFO] Confidence: [HIGH] asdf"
+ assert test_vuln2.data_human == "Severity: [INFO] Confidence: [HIGH] asdf Host: [192.168.1.1]"
assert test_vuln2.host.is_private
+ # host is not repeated when the description already contains it
+ test_vuln3 = scan.make_event(
+ {
+ "host": "www.evilcorp.com",
+ "severity": "INFO",
+ "confidence": "HIGH",
+ "description": "Something found on www.evilcorp.com",
+ "name": "Test Finding",
+ },
+ "FINDING",
+ dummy=True,
+ )
+ assert test_vuln3.data_human == "Severity: [INFO] Confidence: [HIGH] Something found on www.evilcorp.com"
+ # url takes the place of host when present
+ test_vuln4 = scan.make_event(
+ {
+ "host": "www.evilcorp.com",
+ "url": "http://www.evilcorp.com/admin",
+ "severity": "INFO",
+ "confidence": "HIGH",
+ "description": "asdf",
+ "name": "Test Finding",
+ },
+ "FINDING",
+ dummy=True,
+ )
+ assert test_vuln4.data_human == "Severity: [INFO] Confidence: [HIGH] asdf (http://www.evilcorp.com/admin)"
# must have severity
with pytest.raises(ValidationError, match=".*validation error.*\nseverity\n.*Field required.*"):
test_vuln = scan.make_event({"host": "evilcorp.com", "description": "asdf"}, "FINDING", dummy=True)
diff --git a/bbot/test/test_step_1/test_helpers.py b/bbot/test/test_step_1/test_helpers.py
index 11328867ce..662f839b13 100644
--- a/bbot/test/test_step_1/test_helpers.py
+++ b/bbot/test/test_step_1/test_helpers.py
@@ -921,6 +921,33 @@ async def fine(i):
assert sorted(t.result() for t in yielded if t.exception() is None) == [1, 2]
+@pytest.mark.asyncio
+async def test_lane_queue():
+ from bbot.core.helpers.async_helpers import LaneQueue
+
+ # lower lanes are dequeued first, and each lane is FIFO
+ q = LaneQueue(lambda item: item[0])
+ items = [(1, "a"), (0, "b"), (2, "c"), (0, "d"), (1, "e")]
+ for item in items:
+ q.put_nowait(item)
+ assert q.qsize() == len(items)
+ assert [q.get_nowait() for _ in items] == [(0, "b"), (0, "d"), (1, "a"), (1, "e"), (2, "c")]
+ assert q.empty()
+
+ # items with equal lanes are never compared to each other
+ q = LaneQueue(lambda item: 0)
+ q.put_nowait({"unorderable": 1})
+ q.put_nowait({"unorderable": 2})
+ assert q.get_nowait() == {"unorderable": 1}
+
+ # maxsize still applies backpressure
+ q = LaneQueue(lambda item: 0, maxsize=1)
+ q.put_nowait("a")
+ assert q.full()
+ with pytest.raises(asyncio.QueueFull):
+ q.put_nowait("b")
+
+
def test_portparse(helpers):
assert helpers.parse_port_string("80,443,22") == [80, 443, 22]
assert helpers.parse_port_string(80) == [80]
diff --git a/bbot/test/test_step_1/test_http_compare.py b/bbot/test/test_step_1/test_http_compare.py
index dd38985836..22390a9d98 100644
--- a/bbot/test/test_step_1/test_http_compare.py
+++ b/bbot/test/test_step_1/test_http_compare.py
@@ -19,6 +19,7 @@
from urllib.parse import urlparse
import pytest
+from blasthttp import Headers
from bbot.core.helpers.diff import (
MAX_STRUCTURED_BODY_SIZE,
@@ -299,6 +300,44 @@ def test_deeply_nested_json_does_not_raise(self):
assert isinstance(parse_body(nested), _LineBody)
+class TestHeaderComparison:
+ @staticmethod
+ def compare(headers_1, headers_2, ignore=()):
+ comparer = HttpCompare("http://example.com/", None)
+ comparer.baseline_ignore_headers = list(ignore)
+ return comparer.compare_headers(Headers(headers_1), Headers(headers_2))
+
+ def test_identical_headers_match(self):
+ assert self.compare([("Server", "nginx")], [("Server", "nginx")]) == []
+
+ def test_name_case_is_ignored(self):
+ assert self.compare([("Server", "nginx")], [("SERVER", "nginx")]) == []
+
+ @pytest.mark.parametrize(
+ "headers_2, expected",
+ [
+ ([("Server", "apache")], ["server"]),
+ ([("Server", "nginx"), ("X-New", "1")], ["x-new"]),
+ ([], ["server"]),
+ ],
+ ids=["changed", "added", "removed"],
+ )
+ def test_difference_is_reported(self, headers_2, expected):
+ assert self.compare([("Server", "nginx")], headers_2) == expected
+
+ def test_repeated_header_compares_last_value(self):
+ assert self.compare([("Set-Cookie", "a=1"), ("Set-Cookie", "b=2")], [("Set-Cookie", "b=2")]) == []
+ assert self.compare([("Set-Cookie", "a=1"), ("Set-Cookie", "b=2")], [("Set-Cookie", "a=1")]) == ["set-cookie"]
+
+ def test_name_with_quote(self):
+ assert self.compare([("X-It's", "1")], [("X-It's", "2")]) == ["x-it's"]
+
+ def test_ignored_headers_are_skipped(self):
+ assert (
+ self.compare([("Date", "Mon"), ("Server", "a")], [("Date", "Tue"), ("Server", "a")], ignore=["date"]) == []
+ )
+
+
class TestBaselineIntegration:
"""End-to-end coverage of the real baseline-then-compare flow over HTTP.
diff --git a/bbot/test/test_step_1/test_modules_basic.py b/bbot/test/test_step_1/test_modules_basic.py
index a3954c45d2..8d9b212f8a 100644
--- a/bbot/test/test_step_1/test_modules_basic.py
+++ b/bbot/test/test_step_1/test_modules_basic.py
@@ -199,7 +199,7 @@ async def test_modules_basic_checks(events, blasthttp_mock):
assert "wordlist" in all_preloaded["dnsbrute"]["config"]
assert type(all_preloaded["dnsbrute"]["config"]["max_depth"]) == int
assert all_preloaded["baddns"]["deps"]["pip"]
- assert all_preloaded["dnsbrute"]["deps"]["common"]
+ assert all_preloaded["portscan"]["deps"]["common"]
assert all_preloaded["gowitness"]["deps"]["ansible"]
all_flags = set()
diff --git a/bbot/test/test_step_2/module_tests/test_module_baddns.py b/bbot/test/test_step_2/module_tests/test_module_baddns.py
index 2ef77da8df..958245d72a 100644
--- a/bbot/test/test_step_2/module_tests/test_module_baddns.py
+++ b/bbot/test/test_step_2/module_tests/test_module_baddns.py
@@ -66,7 +66,7 @@ def _max_level(values, levels):
# Modules that wrap CNAME findings and may use variables for severity/confidence.
# When a field uses a variable instead of a literal, its max is bounded by
# CNAME's max for that field.
-CNAME_DERIVED_MODULES = {"references", "txt", "wildcard", "mtasts"}
+CNAME_DERIVED_MODULES = {"references", "txt", "wildcard", "mtasts", "delegation"}
def test_baddns_max_severity_confidence():
@@ -196,7 +196,7 @@ def set_target(self, target):
return HTTPSERVER_HOSTPORT
expect_args = {"method": "GET", "uri": "/"}
- respond_args = {"response_data": "
Oops! We couldn’t find that page.
", "status": 200}
+ respond_args = {"response_data": "error code: 1001", "status": 409}
module_test.set_expect_requests(expect_args=expect_args, respond_args=respond_args)
await module_test.mock_dns(
@@ -212,3 +212,94 @@ def check(self, module_test, events):
"Failed to emit FINDING"
)
assert any("baddns-cname" in e.tags for e in events), "Failed to add baddns tag"
+
+
+class BaseTestBaddnsDelegation(ModuleTestBase):
+ module_name = "baddns"
+ modules_overrides = ["baddns"]
+ targets = ["bad.dns"]
+ config_overrides = {
+ "dns": {"minimal": False},
+ "modules": {"baddns": {"enabled_submodules": ["DELEGATION"]}},
+ }
+
+ async def dispatchWHOIS(x):
+ return None
+
+ async def setup_after_prep(self, module_test):
+ from baddns.lib.whoismanager import WhoisManager
+
+ await module_test.mock_dns(self.mock_data)
+ module_test.monkeypatch.setattr(WhoisManager, "dispatchWHOIS", self.dispatchWHOIS)
+
+
+class TestBaddns_delegation(BaseTestBaddnsDelegation):
+ mock_data = {
+ "bad.dns": {"A": ["127.0.0.1"]},
+ "_acme-challenge.bad.dns": {"CNAME": ["baddns.azurewebsites.net."]},
+ "_dmarc.bad.dns": {"CNAME": ["baddns.trydiscourse.com."]},
+ "selector1._domainkey.bad.dns": {"CNAME": ["baddns.us-east-1.elasticbeanstalk.com."]},
+ "_NXDOMAIN": [
+ "baddns.azurewebsites.net",
+ "baddns.trydiscourse.com",
+ "baddns.us-east-1.elasticbeanstalk.com",
+ ],
+ }
+
+ def check(self, module_test, events):
+ findings = [e for e in events if e.type == "FINDING"]
+ descriptions = [e.data["description"] for e in findings]
+ assert any("Dangling ACME delegation [_acme-challenge.bad.dns]" in d for d in descriptions), (
+ "Failed to emit ACME delegation FINDING"
+ )
+ assert any("Dangling DMARC delegation [_dmarc.bad.dns]" in d for d in descriptions), (
+ "Failed to emit DMARC delegation FINDING"
+ )
+ assert any("Dangling DKIM delegation [selector1._domainkey.bad.dns]" in d for d in descriptions), (
+ "Failed to emit DKIM delegation FINDING"
+ )
+ assert all(e.data["severity"] == "HIGH" for e in findings), "Delegation findings must be HIGH severity"
+ assert all("baddns-delegation" in e.tags for e in findings), "Failed to add baddns tag"
+
+
+class TestBaddns_delegation_wildcard(BaseTestBaddnsDelegation):
+ """A wildcard answers for every probed label, so only a label pointing somewhere else is a real delegation."""
+
+ mock_data = {
+ "bad.dns": {"A": ["127.0.0.1"]},
+ "_acme-challenge.bad.dns": {"CNAME": ["baddns.trydiscourse.com."]},
+ r"regex:.*\.bad\.dns$": {"CNAME": ["wildcard.azurewebsites.net."]},
+ "_NXDOMAIN": ["baddns.trydiscourse.com", "wildcard.azurewebsites.net"],
+ }
+
+ def check(self, module_test, events):
+ findings = [e for e in events if e.type == "FINDING"]
+ descriptions = [e.data["description"] for e in findings]
+ assert any("Dangling ACME delegation [_acme-challenge.bad.dns]" in d for d in descriptions), (
+ "Label pointing off the wildcard must still be reported"
+ )
+ assert not any("Dangling DMARC delegation" in d for d in descriptions), (
+ "Wildcard-covered labels must not be reported"
+ )
+ assert not any("Dangling DKIM delegation" in d for d in descriptions), (
+ "Wildcard-covered labels must not be reported"
+ )
+
+
+class TestBaddns_delegation_generic(BaseTestBaddnsDelegation):
+ """A CNAME to a name that simply doesn't exist is routine here, so only claimable outcomes count."""
+
+ mock_data = {
+ "bad.dns": {"A": ["127.0.0.1"]},
+ "_acme-challenge.bad.dns": {"CNAME": ["baddns.azurewebsites.net."]},
+ "_dmarc.bad.dns": {"CNAME": ["gone.unknown-vendor.net."]},
+ "_NXDOMAIN": ["baddns.azurewebsites.net", "gone.unknown-vendor.net"],
+ }
+
+ def check(self, module_test, events):
+ findings = [e for e in events if e.type == "FINDING"]
+ descriptions = [e.data["description"] for e in findings]
+ assert any("Dangling ACME delegation [_acme-challenge.bad.dns]" in d for d in descriptions), (
+ "Label matching a service signature must be reported"
+ )
+ assert not any("DMARC" in d for d in descriptions), "GENERIC delegation findings must be suppressed"
diff --git a/bbot/test/test_step_2/module_tests/test_module_baddns_direct.py b/bbot/test/test_step_2/module_tests/test_module_baddns_direct.py
index d99f39c00a..84926445a0 100644
--- a/bbot/test/test_step_2/module_tests/test_module_baddns_direct.py
+++ b/bbot/test/test_step_2/module_tests/test_module_baddns_direct.py
@@ -27,7 +27,7 @@ async def handle_event(self, event):
self.events_seen.append(event.data)
url = f"http://bad.dns:{HTTPSERVER_PORT}/"
url_event = self.scan.make_event(
- url, "URL", parent=self.scan.root_event, tags=["cloudflare", "in-scope", "status-401"]
+ url, "URL", parent=self.scan.root_event, tags=["cloudflare", "in-scope", "status-404"]
)
if url_event is not None:
await self.emit_event(url_event)
@@ -46,8 +46,8 @@ def set_target(self, target):
expect_args = {"method": "GET", "uri": "/"}
respond_args = {
- "response_data": "NoSuchBucketThe specified bucket does not existbad.dns",
- "status": 401,
+ "response_data": "Error 404 - AnnounceKit
",
+ "status": 404,
}
module_test.set_expect_requests(expect_args=expect_args, respond_args=respond_args)
@@ -59,7 +59,7 @@ def set_target(self, target):
def check(self, module_test, events):
assert any(
e.type == "FINDING"
- and "Possible [AWS Bucket Takeover Detection] via direct BadDNS analysis. Indicator: [[Words: The specified bucket does not exist, BucketName | Condition: and | Part: body] Matchers-Condition: and] Trigger: [self] baddns Module: [CNAME]"
+ and "Possible [Announcekit Takeover Detection] via direct BadDNS analysis. Indicator: [[Words: Error 404 - AnnounceKit | Condition: and | Part: body] Matchers-Condition: and] Trigger: [self] baddns Module: [CNAME]"
in e.data["description"]
for e in events
), "Failed to emit FINDING"
diff --git a/bbot/test/test_step_2/module_tests/test_module_dnsbrute.py b/bbot/test/test_step_2/module_tests/test_module_dnsbrute.py
index 3ecbf4dceb..3a05a92de8 100644
--- a/bbot/test/test_step_2/module_tests/test_module_dnsbrute.py
+++ b/bbot/test/test_step_2/module_tests/test_module_dnsbrute.py
@@ -7,19 +7,6 @@ class TestDnsbrute(ModuleTestBase):
config_overrides = {"modules": {"dnsbrute": {"wordlist": str(subdomain_wordlist), "max_depth": 3}}}
async def setup_after_prep(self, module_test):
- old_run_live = module_test.scan.helpers.run_live
-
- async def new_run_live(*command, check=False, text=True, **kwargs):
- if "massdns" in command[:2]:
- _input = [l async for l in kwargs["input"]]
- if "asdf.blacklanternsecurity.com" in _input:
- yield """{"name": "asdf.blacklanternsecurity.com.", "type": "A", "class": "IN", "status": "NOERROR", "rx_ts": 1713974911725326170, "data": {"answers": [{"ttl": 86400, "type": "A", "class": "IN", "name": "asdf.blacklanternsecurity.com.", "data": "1.2.3.4."}]}, "flags": ["rd", "ra"], "resolver": "195.226.187.130:53", "proto": "UDP"}"""
- else:
- async for _ in old_run_live(*command, check=False, text=True, **kwargs):
- yield _
-
- module_test.monkeypatch.setattr(module_test.scan.helpers, "run_live", new_run_live)
-
await module_test.mock_dns(
{
"blacklanternsecurity.com": {"A": ["4.3.2.1"]},
@@ -149,19 +136,6 @@ class TestDnsbruteMultiWordlist(ModuleTestBase):
config_overrides = {"modules": {"dnsbrute": {"wordlist": [str(wordlist_1), str(wordlist_2)], "max_depth": 3}}}
async def setup_after_prep(self, module_test):
- old_run_live = module_test.scan.helpers.run_live
-
- async def new_run_live(*command, check=False, text=True, **kwargs):
- if "massdns" in command[:2]:
- _input = [l async for l in kwargs["input"]]
- if "asdf.blacklanternsecurity.com" in _input:
- yield """{"name": "asdf.blacklanternsecurity.com.", "type": "A", "class": "IN", "status": "NOERROR", "rx_ts": 1713974911725326170, "data": {"answers": [{"ttl": 86400, "type": "A", "class": "IN", "name": "asdf.blacklanternsecurity.com.", "data": "1.2.3.4."}]}, "flags": ["rd", "ra"], "resolver": "195.226.187.130:53", "proto": "UDP"}"""
- else:
- async for _ in old_run_live(*command, check=False, text=True, **kwargs):
- yield _
-
- module_test.monkeypatch.setattr(module_test.scan.helpers, "run_live", new_run_live)
-
await module_test.mock_dns(
{
"blacklanternsecurity.com": {"A": ["4.3.2.1"]},
@@ -183,9 +157,8 @@ def check(self, module_test, events):
class TestDnsbruteCanaryCheck(ModuleTestBase):
"""Test that the canary check correctly aborts brute-forcing on wildcard domains.
- Simulates a wildcard domain by making massdns return a result for every input
- subdomain, including the canary subdomains. The canary check should detect
- this and return no results.
+ Simulates a wildcard domain by resolving every name under it, canaries
+ included. The canary check should detect this and return no results.
"""
module_name = "dnsbrute"
@@ -193,31 +166,11 @@ class TestDnsbruteCanaryCheck(ModuleTestBase):
config_overrides = {"modules": {"dnsbrute": {"wordlist": str(subdomain_wordlist)}}}
async def setup_after_prep(self, module_test):
- old_run_live = module_test.scan.helpers.run_live
-
- async def new_run_live(*command, check=False, text=True, **kwargs):
- if "massdns" in command[:2]:
- # simulate a wildcard domain: return a result for EVERY input subdomain
- _input = [l async for l in kwargs["input"]]
- for subdomain in _input:
- hostname = subdomain.strip()
- if hostname:
- yield (
- '{"name": "'
- + hostname
- + '.", "type": "A", "class": "IN", "status": "NOERROR", "data": {"answers": [{"ttl": 86400, "type": "A", "class": "IN", "name": "'
- + hostname
- + '.", "data": "1.2.3.4"}]}, "resolver": "195.226.187.130:53", "proto": "UDP"}'
- )
- else:
- async for _ in old_run_live(*command, check=False, text=True, **kwargs):
- yield _
-
- module_test.monkeypatch.setattr(module_test.scan.helpers, "run_live", new_run_live)
-
await module_test.mock_dns(
{
"blacklanternsecurity.com": {"A": ["4.3.2.1"]},
+ # Resolve anything under the domain, so the random canaries hit too.
+ "regex:.*\\.blacklanternsecurity\\.com": {"A": ["1.2.3.4"]},
}
)
diff --git a/bbot/test/test_step_2/module_tests/test_module_dnsbrute_mutations.py b/bbot/test/test_step_2/module_tests/test_module_dnsbrute_mutations.py
index 4f4009825f..dee3858c34 100644
--- a/bbot/test/test_step_2/module_tests/test_module_dnsbrute_mutations.py
+++ b/bbot/test/test_step_2/module_tests/test_module_dnsbrute_mutations.py
@@ -11,23 +11,6 @@ class TestDnsbrute_mutations(ModuleTestBase):
]
async def setup_after_prep(self, module_test):
- old_run_live = module_test.scan.helpers.run_live
-
- async def new_run_live(*command, check=False, text=True, **kwargs):
- if "massdns" in command[:2]:
- _input = [l async for l in kwargs["input"]]
- if "rrrr-test.blacklanternsecurity.com" in _input:
- yield """{"name": "rrrr-test.blacklanternsecurity.com.", "type": "A", "class": "IN", "status": "NOERROR", "rx_ts": 1713974911725326170, "data": {"answers": [{"ttl": 86400, "type": "A", "class": "IN", "name": "rrrr-test.blacklanternsecurity.com.", "data": "1.2.3.4."}]}, "flags": ["rd", "ra"], "resolver": "195.226.187.130:53", "proto": "UDP"}"""
- if "rrrr-ffdsa.blacklanternsecurity.com" in _input:
- yield """{"name": "rrrr-ffdsa.blacklanternsecurity.com.", "type": "A", "class": "IN", "status": "NOERROR", "rx_ts": 1713974911725326170, "data": {"answers": [{"ttl": 86400, "type": "A", "class": "IN", "name": "rrrr-ffdsa.blacklanternsecurity.com.", "data": "1.2.3.4."}]}, "flags": ["rd", "ra"], "resolver": "195.226.187.130:53", "proto": "UDP"}"""
- if "hmmmm.test2.blacklanternsecurity.com" in _input:
- yield """{"name": "hmmmm.test2.blacklanternsecurity.com.", "type": "A", "class": "IN", "status": "NOERROR", "rx_ts": 1713974911725326170, "data": {"answers": [{"ttl": 86400, "type": "A", "class": "IN", "name": "hmmmm.test2.blacklanternsecurity.com.", "data": "1.2.3.4."}]}, "flags": ["rd", "ra"], "resolver": "195.226.187.130:53", "proto": "UDP"}"""
- else:
- async for _ in old_run_live(*command, check=False, text=True, **kwargs):
- yield _
-
- module_test.monkeypatch.setattr(module_test.scan.helpers, "run_live", new_run_live)
-
await module_test.mock_dns(
{
"blacklanternsecurity.com": {"A": ["1.2.3.4"]},
diff --git a/bbot/test/test_step_2/module_tests/test_module_dnscommonsrv.py b/bbot/test/test_step_2/module_tests/test_module_dnscommonsrv.py
index b8b1255a55..4ac7d5bd82 100644
--- a/bbot/test/test_step_2/module_tests/test_module_dnscommonsrv.py
+++ b/bbot/test/test_step_2/module_tests/test_module_dnscommonsrv.py
@@ -8,27 +8,6 @@ class TestDNSCommonSRV(ModuleTestBase):
config_overrides = {"dns": {"minimal": False}}
async def setup_after_prep(self, module_test):
- old_run_live = module_test.scan.helpers.run_live
-
- async def new_run_live(*command, check=False, text=True, **kwargs):
- if "massdns" in command[:2]:
- _input = [l async for l in kwargs["input"]]
- if "_ldap._tcp.gc._msdcs.blacklanternsecurity.com" in _input:
- yield """{"name":"_ldap._tcp.gc._msdcs.blacklanternsecurity.com.","type":"SRV","class":"IN","status":"NOERROR","rx_ts":1713974911725326170,"data":{"answers":[{"ttl":86400,"type":"SRV","class":"IN","name":"_ldap._tcp.gc._msdcs.blacklanternsecurity.com.","data":"10 10 1720 asdf.blacklanternsecurity.com."},{"ttl":86400,"type":"SRV","class":"IN","name":"_ldap._tcp.gc._msdcs.blacklanternsecurity.com.","data":"10 10 1720 asdf.blacklanternsecurity.com."}]},"flags":["rd","ra"],"resolver":"195.226.187.130:53","proto":"UDP"}"""
- if "_ldap._tcp.gc._msdcs.api.blacklanternsecurity.com" in _input:
- yield """{"name":"_ldap._tcp.gc._msdcs.api.blacklanternsecurity.com.","type":"SRV","class":"IN","status":"NOERROR","rx_ts":1713974911725326170,"data":{"answers":[{"ttl":86400,"type":"SRV","class":"IN","name":"_ldap._tcp.gc._msdcs.api.blacklanternsecurity.com.","data":"10 10 1720 asdf.blacklanternsecurity.com."},{"ttl":86400,"type":"SRV","class":"IN","name":"_ldap._tcp.gc._msdcs.blacklanternsecurity.com.","data":"10 10 1720 asdf.blacklanternsecurity.com."}]},"flags":["rd","ra"],"resolver":"195.226.187.130:53","proto":"UDP"}"""
- if "_ldap._tcp.gc._msdcs.test.api.blacklanternsecurity.com" in _input:
- yield """{"name":"_ldap._tcp.gc._msdcs.test.api.blacklanternsecurity.com.","type":"SRV","class":"IN","status":"NOERROR","rx_ts":1713974911725326170,"data":{"answers":[{"ttl":86400,"type":"SRV","class":"IN","name":"_ldap._tcp.gc._msdcs.test.api.blacklanternsecurity.com.","data":"10 10 1720 asdf.blacklanternsecurity.com."},{"ttl":86400,"type":"SRV","class":"IN","name":"_ldap._tcp.gc._msdcs.blacklanternsecurity.com.","data":"10 10 1720 asdf.blacklanternsecurity.com."}]},"flags":["rd","ra"],"resolver":"195.226.187.130:53","proto":"UDP"}"""
- if "_ldap._tcp.gc._msdcs.www.test.api.blacklanternsecurity.com" in _input:
- yield """{"name":"_ldap._tcp.gc._msdcs.www.test.api.blacklanternsecurity.com.","type":"SRV","class":"IN","status":"NOERROR","rx_ts":1713974911725326170,"data":{"answers":[{"ttl":86400,"type":"SRV","class":"IN","name":"_ldap._tcp.gc._msdcs.www.test.api.blacklanternsecurity.com.","data":"10 10 1720 asdf.blacklanternsecurity.com."},{"ttl":86400,"type":"SRV","class":"IN","name":"_ldap._tcp.gc._msdcs.blacklanternsecurity.com.","data":"10 10 1720 asdf.blacklanternsecurity.com."}]},"flags":["rd","ra"],"resolver":"195.226.187.130:53","proto":"UDP"}"""
- if "_ldap._tcp.gc._msdcs.media.www.test.api.blacklanternsecurity.com" in _input:
- yield """{"name":"_ldap._tcp.gc._msdcs.www.test.api.blacklanternsecurity.com.","type":"SRV","class":"IN","status":"NOERROR","rx_ts":1713974911725326170,"data":{"answers":[{"ttl":86400,"type":"SRV","class":"IN","name":"_ldap._tcp.gc._msdcs.media.www.test.api.blacklanternsecurity.com.","data":"10 10 1720 asdf.blacklanternsecurity.com."},{"ttl":86400,"type":"SRV","class":"IN","name":"_ldap._tcp.gc._msdcs.blacklanternsecurity.com.","data":"10 10 1720 asdf.blacklanternsecurity.com."}]},"flags":["rd","ra"],"resolver":"195.226.187.130:53","proto":"UDP"}"""
- else:
- async for _ in old_run_live(*command, check=False, text=True, **kwargs):
- yield _
-
- module_test.monkeypatch.setattr(module_test.scan.helpers, "run_live", new_run_live)
-
await module_test.mock_dns(
{
"blacklanternsecurity.com": {"A": ["1.2.3.4"]},
diff --git a/bbot/test/test_step_2/module_tests/test_module_portscan.py b/bbot/test/test_step_2/module_tests/test_module_portscan.py
index 85a1caecdd..5298769fca 100644
--- a/bbot/test/test_step_2/module_tests/test_module_portscan.py
+++ b/bbot/test/test_step_2/module_tests/test_module_portscan.py
@@ -1,3 +1,5 @@
+import ipaddress
+
from .base import ModuleTestBase
@@ -18,6 +20,29 @@ class TestPortscan(ModuleTestBase):
masscan_output_2 = """{ "ip": "8.8.4.5", "timestamp": "1680197558", "ports": [ {"port": 80, "proto": "tcp", "status": "open", "reason": "syn-ack", "ttl": 54} ] }"""
masscan_output_3 = """{ "ip": "8.8.4.6", "timestamp": "1680197558", "ports": [ {"port": 631, "proto": "tcp", "status": "open", "reason": "syn-ack", "ttl": 54} ] }"""
+ expected_results = {
+ ("DNS_NAME", "evilcorp.com"),
+ ("DNS_NAME", "www.evilcorp.com"),
+ ("DNS_NAME", "asdf.evilcorp.net"),
+ ("DNS_NAME", "dummy.evilcorp.com"),
+ ("DNS_NAME", "dummy.www.evilcorp.com"),
+ ("DNS_NAME", "dummy.asdf.evilcorp.net"),
+ ("IP_RANGE", "8.8.8.0/24"),
+ ("IP_RANGE", "8.8.4.0/24"),
+ ("IP_ADDRESS", "8.8.8.8"),
+ ("IP_ADDRESS", "8.8.4.4"),
+ ("IP_ADDRESS", "8.8.4.5"),
+ ("IP_ADDRESS", "8.8.4.6"),
+ ("OPEN_TCP_PORT", "8.8.8.8:443"),
+ ("OPEN_TCP_PORT", "8.8.4.5:80"),
+ ("OPEN_TCP_PORT", "8.8.4.6:631"),
+ ("OPEN_TCP_PORT", "evilcorp.com:443"),
+ ("OPEN_TCP_PORT", "www.evilcorp.com:443"),
+ ("OPEN_TCP_PORT", "asdf.evilcorp.net:80"),
+ ("OPEN_TCP_PORT", "dummy.asdf.evilcorp.net:80"),
+ ("OPEN_TCP_PORT", "dummy.evilcorp.com:631"),
+ }
+
masscan_output_ping = """{ "ip": "8.8.8.8", "timestamp": "1719862594", "ports": [ {"port": 0, "proto": "icmp", "status": "open", "reason": "none", "ttl": 54} ] }"""
async def setup_after_prep(self, module_test):
@@ -61,11 +86,15 @@ async def run_masscan(command, *args, **kwargs):
else:
self.syn_runs += 1
self.syn_scanned += targets
- if "8.8.8.0/24" in targets or "8.8.8.8/32" in targets:
- yield self.masscan_output_1
- if "8.8.4.0/24" in targets:
- yield self.masscan_output_2
- yield self.masscan_output_3
+ # like real masscan, report an open port whenever its IP is covered by this run's targets
+ networks = [ipaddress.ip_network(t) for t in targets]
+ for ip, output in (
+ ("8.8.8.8", self.masscan_output_1),
+ ("8.8.4.5", self.masscan_output_2),
+ ("8.8.4.6", self.masscan_output_3),
+ ):
+ if any(ipaddress.ip_address(ip) in n for n in networks):
+ yield output
yield "]"
else:
async for l in module_test.scan.helpers.run_live(command, *args, **kwargs):
@@ -110,12 +139,13 @@ def check(self, module_test, events):
if e.type == "DNS_NAME" and e.data == "dummy.asdf.evilcorp.net" and str(e.module) == "dummy_module"
]
)
- # the reason these numbers aren't exactly predictable is because we can't predict which one arrives first
- # to the portscan module. Sometimes, one that would normally be deduped is force-emitted because it led to a new open port.
- assert 2 <= len([e for e in events if e.type == "IP_ADDRESS" and e.data == "8.8.8.8"]) <= 4
- assert 2 <= len([e for e in events if e.type == "IP_ADDRESS" and e.data == "8.8.4.4"]) <= 4
- assert 2 <= len([e for e in events if e.type == "IP_ADDRESS" and e.data == "8.8.4.5"]) <= 4
- assert 2 <= len([e for e in events if e.type == "IP_ADDRESS" and e.data == "8.8.4.6"]) <= 4
+ # how many IP_ADDRESS events there are depends on which parent an open port is first emitted under (a range,
+ # or an IP that arrived first), but the distinct results don't
+ assert 1 <= len([e for e in events if e.type == "IP_ADDRESS" and e.data == "8.8.8.8"]) <= 4
+ assert 1 <= len([e for e in events if e.type == "IP_ADDRESS" and e.data == "8.8.4.4"]) <= 4
+ assert 1 <= len([e for e in events if e.type == "IP_ADDRESS" and e.data == "8.8.4.5"]) <= 4
+ assert 1 <= len([e for e in events if e.type == "IP_ADDRESS" and e.data == "8.8.4.6"]) <= 4
+ assert {(e.type, e.data) for e in events if e.type != "SCAN"} == self.expected_results
assert 1 == len([e for e in events if e.type == "OPEN_TCP_PORT" and e.data == "8.8.8.8:443"])
assert 1 == len([e for e in events if e.type == "OPEN_TCP_PORT" and e.data == "8.8.4.5:80"])
assert 1 == len([e for e in events if e.type == "OPEN_TCP_PORT" and e.data == "8.8.4.6:631"])
@@ -241,3 +271,36 @@ def check(self, module_test, events):
# the non-skipped host: portscan emitted 443 (real, non-internal), no speculated 80
assert ("regular-host.com", 443) in consumer_seen
assert ("regular-host.com", 80) not in consumer_seen
+
+
+class TestPortscanRangeLast(TestPortscan):
+ """The results are the same when a range is scanned after a hostname inside it."""
+
+ module_name = "portscan"
+
+ async def setup_after_prep(self, module_test):
+ await super().setup_after_prep(module_test)
+ portscan = module_test.scan.modules["portscan"]
+ handle_batch = portscan.handle_batch
+ held_ranges = []
+ asdf_scanned = False
+
+ # hold back 8.8.4.0/24 until asdf.evilcorp.net (8.8.4.5) has been scanned on its own
+ async def handle_batch_range_last(*events):
+ nonlocal asdf_scanned
+ held_ranges.extend(e for e in events if e.type == "IP_RANGE" and e.data == "8.8.4.0/24")
+ events = [e for e in events if e not in held_ranges]
+ if events:
+ await handle_batch(*events)
+ if any(e.type == "DNS_NAME" and e.data == "asdf.evilcorp.net" for e in events):
+ asdf_scanned = True
+ if asdf_scanned and held_ranges:
+ ranges = list(held_ranges)
+ held_ranges.clear()
+ await handle_batch(*ranges)
+
+ portscan.handle_batch = handle_batch_range_last
+
+ def check(self, module_test, events):
+ assert "8.8.4.5/32" in self.syn_scanned
+ super().check(module_test, events)
diff --git a/docs/dev/core_dependencies.md b/docs/dev/core_dependencies.md
index 50781bbcee..d6429b9e43 100644
--- a/docs/dev/core_dependencies.md
+++ b/docs/dev/core_dependencies.md
@@ -73,5 +73,4 @@ result = await self.helpers.asn.lookup("8.8.8.8")
| [pydantic](https://docs.pydantic.dev/) | Preset/config validation, module config schemas (`BaseModuleConfig`) |
| [ansible-runner](https://ansible-runner.readthedocs.io/) | Module dependency installation (`deps_apt`, `deps_ansible`) |
| [yara-python](https://yara.readthedocs.io/) | Pattern matching in `excavate` (secret/credential extraction from HTTP responses) |
-| [deepdiff](https://zepworks.com/deepdiff/) | HTTP response comparison for web modules (baseline diffing, wildcard detection) |
| [dnspython](https://dnspython.readthedocs.io/) | DNS record type constants and utilities (blastdns handles actual resolution) |
diff --git a/docs/dev/module_howto.md b/docs/dev/module_howto.md
index 3630d125c6..8cfbbbeaac 100644
--- a/docs/dev/module_howto.md
+++ b/docs/dev/module_howto.md
@@ -186,21 +186,25 @@ class MyModule(BaseModule):
"ignore_errors": True,
},
{
- "name": "Download massdns source code",
+ "name": "Download masscan source code",
"git": {
- "repo": "https://github.com/blechschmidt/massdns.git",
- "dest": "#{BBOT_TEMP}/massdns",
+ "repo": "https://github.com/robertdavidgraham/masscan.git",
+ "dest": "#{BBOT_TEMP}/masscan",
"single_branch": True,
"version": "master",
},
},
{
- "name": "Build massdns",
- "command": {"chdir": "#{BBOT_TEMP}/massdns", "cmd": "make", "creates": "#{BBOT_TEMP}/massdns/bin/massdns"},
+ "name": "Build masscan",
+ "command": {
+ "chdir": "#{BBOT_TEMP}/masscan",
+ "cmd": "make -j",
+ "creates": "#{BBOT_TEMP}/masscan/bin/masscan",
+ },
},
{
- "name": "Install massdns",
- "copy": {"src": "#{BBOT_TEMP}/massdns/bin/massdns", "dest": "#{BBOT_TOOLS}/", "mode": "u+x,g+x,o+x"},
+ "name": "Install masscan",
+ "copy": {"src": "#{BBOT_TEMP}/masscan/bin/masscan", "dest": "#{BBOT_TOOLS}/", "mode": "u+x,g+x,o+x"},
},
]
```
diff --git a/docs/modules/list_of_modules.md b/docs/modules/list_of_modules.md
index 690c2816e9..1d8dcc8cf9 100644
--- a/docs/modules/list_of_modules.md
+++ b/docs/modules/list_of_modules.md
@@ -16,8 +16,8 @@
| bucket_hetzner | scan | No | Check for Hetzner Object Storage buckets related to target | active, cloud-enum, safe, slow, web-heavy | DNS_NAME, STORAGE_BUCKET | FINDING, STORAGE_BUCKET | @ChrisJr404 | 2026-05-04 |
| bucket_microsoft | scan | No | Check for Azure storage blobs related to target | active, cloud-enum, safe, web | DNS_NAME, STORAGE_BUCKET | FINDING, STORAGE_BUCKET | @TheTechromancer | 2022-11-04 |
| bypass403 | scan | No | Check 403 pages for common bypasses | active, loud, web-heavy | URL | FINDING | @liquidsec | 2022-07-05 |
-| dnsbrute | scan | No | Brute-force subdomains with massdns + static wordlist | active, loud, subdomain-enum | DNS_NAME | DNS_NAME | @TheTechromancer | 2024-04-24 |
-| dnsbrute_mutations | scan | No | Brute-force subdomains with massdns + target-specific mutations | active, loud, slow, subdomain-enum | DNS_NAME | DNS_NAME | @TheTechromancer | 2024-04-25 |
+| dnsbrute | scan | No | Brute-force subdomains with a static wordlist | active, loud, subdomain-enum | DNS_NAME | DNS_NAME | @TheTechromancer | 2024-04-24 |
+| dnsbrute_mutations | scan | No | Brute-force subdomains with target-specific mutations | active, loud, slow, subdomain-enum | DNS_NAME | DNS_NAME | @TheTechromancer | 2024-04-25 |
| dnscommonsrv | scan | No | Check for common SRV records | active, safe, subdomain-enum | DNS_NAME | DNS_NAME | @TheTechromancer | 2022-05-15 |
| dotnetnuke | scan | No | Scan for critical DotNetNuke (DNN) vulnerabilities | active, invasive, loud, web-heavy | HTTP_RESPONSE | FINDING, TECHNOLOGY | @liquidsec | 2023-11-21 |
| favicon | scan | No | Identify web technologies by the mmh3 hash of their favicon | active, safe, web-heavy | HTTP_RESPONSE | TECHNOLOGY | @liquidsec | 2026-10-16 |
diff --git a/docs/scanning/configuration.md b/docs/scanning/configuration.md
index ac98ebcbf0..bd5c96702e 100644
--- a/docs/scanning/configuration.md
+++ b/docs/scanning/configuration.md
@@ -107,13 +107,27 @@ dns:
disable: false
# Speed up scan by not creating any new DNS events, and only resolving A and AAAA records
minimal: false
- # How many threads to use per resolver (best way to increase speed is to put more resolvers in /etc/resolv.conf)
+ # Nameservers to use instead of the system ones (empty = use system resolvers)
+ nameservers: []
+ # How many queries to keep in flight per resolver (best way to increase speed is to put more resolvers in /etc/resolv.conf)
threads: 10
# How many DNS records to cache
cache_size: 100000
- # How many concurrent DNS resolvers to use when brute-forcing
- # (under the hood this is passed through directly to massdns -s)
+ # How many brute-force DNS queries to keep in flight at once
brute_threads: 1000
+ # How many brute-force queries to keep in flight per resolver (the politeness bound)
+ brute_inflight_per_resolver: 2
+ # Hard ceiling on brute-force DNS queries per second (0 = unlimited; backoff is automatic regardless)
+ brute_rate_limit: 0
+ # Attempts per brute-force name before giving up (each retry lands on a different resolver)
+ # Only timeouts retry, not NXDOMAIN, so this costs traffic proportional to the failure rate
+ brute_retries: 20
+ # Per-query timeout in seconds when brute-forcing, deliberately much shorter than dns.timeout
+ # Retrying elsewhere is cheaper than waiting; going below this starts shrinking the resolver pool
+ brute_timeout: 0.5
+ # Reuse one socket per resolver instead of binding one per query, which keeps NAT/conntrack
+ # state bounded by the resolver count rather than growing with query volume
+ brute_persistent_socket: true
# nameservers to use for DNS brute-forcing
# default is updated weekly and contains ~10K high-quality public servers
brute_nameservers: https://raw.githubusercontent.com/blacklanternsecurity/public-dns-servers/master/nameservers.txt
@@ -461,7 +475,7 @@ In addition to the stated options for each module, the following universal optio
| Config Option | Type | Description | Default |
|--------------------------------------------------------|------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| modules.baddns.custom_nameservers | list[str] | Force BadDNS to use a list of custom nameservers | [] |
-| modules.baddns.enabled_submodules | list[str] | A list of submodules to enable. Empty list (default) enables CNAME, TXT and MX Only | [] |
+| modules.baddns.enabled_submodules | list[str] | A list of submodules to enable. Empty list (default) enables CNAME, MX, TXT and DELEGATION Only | [] |
| modules.baddns.min_confidence | ConfidenceLiteral | Minimum confidence to emit | MEDIUM |
| modules.baddns.min_severity | SeverityLiteral | Minimum severity to emit | LOW |
| modules.baddns_direct.custom_nameservers | list | Force BadDNS to use a list of custom nameservers | [] |
diff --git a/docs/scanning/presets_list.md b/docs/scanning/presets_list.md
index fa935cb54e..a796185395 100644
--- a/docs/scanning/presets_list.md
+++ b/docs/scanning/presets_list.md
@@ -15,7 +15,7 @@ Check for subdomain takeovers and other DNS issues.
config:
modules:
baddns:
- enabled_submodules: [CNAME, MX, TXT]
+ enabled_submodules: [CNAME, MX, TXT, DELEGATION]
min_severity: LOW
min_confidence: MEDIUM
```
@@ -42,7 +42,7 @@ Run all baddns modules and submodules.
config:
modules:
baddns:
- enabled_submodules: [CNAME, NS, MX, TXT, references, DMARC, SPF, MTA-STS, WILDCARD]
+ enabled_submodules: [CNAME, NS, MX, TXT, references, DMARC, SPF, MTA-STS, WILDCARD, DELEGATION]
min_severity: INFO
min_confidence: UNKNOWN
baddns_zone:
diff --git a/docs/scanning/tips_and_tricks.md b/docs/scanning/tips_and_tricks.md
index 2b146aeef0..f62424fc60 100644
--- a/docs/scanning/tips_and_tricks.md
+++ b/docs/scanning/tips_and_tricks.md
@@ -38,16 +38,20 @@ bbot -t evilcorp.com -m baddns -c modules.baddns.module_threads=20
### Boost DNS Brute-force Speed
-If you have a fast internet connection or are running BBOT from a cloud VM, you can speed up subdomain enumeration by cranking the threads for `massdns`. The default is `1000`, which is about 1MB/s of DNS traffic:
+If you have a fast internet connection or are running BBOT from a cloud VM, you can speed up subdomain enumeration by raising how many brute-force queries stay in flight. The default is `1000`, which is roughly 1MB/s of DNS traffic:
```bash
-# massdns with 5000 resolvers, about 5MB/s
+# about 5MB/s
bbot -t evilcorp.com -f subdomain-enum -c dns.brute_threads=5000
```
+Brute-forcing backs off on its own when resolvers start dropping queries, so raising this sets how fast BBOT will go when the resolvers can keep up, not how hard it will push regardless. If you need a firm ceiling as well, set `dns.brute_rate_limit` (queries per second, `0` for unlimited).
+
+To be gentler on individual resolvers rather than faster, lower `dns.brute_inflight_per_resolver` (default `2`). No resolver ever receives more than this at once, however large the resolver list.
+
### Speed Up Scans with More DNS Resolvers
-By far the most effective way to speed up a BBOT scan is to **add more resolvers to `/etc/resolv.conf`**. BBOT's DNS resolver (blastdns) spins up multiple threads per resolver (default: `10`, configurable via `dns.threads`), so more resolvers = more parallelism = faster scans.
+By far the most effective way to speed up a BBOT scan is to **add more resolvers to `/etc/resolv.conf`**. BBOT's DNS resolver (blastdns) keeps multiple queries in flight per resolver (default: `10`, configurable via `dns.threads`), so more resolvers = more parallelism = faster scans.
For OSINT, it's critical that every resolver is **unfiltered**. Specialized resolvers that try to block ads, malicious domains, etc. will intentionally omit results. Below is a sample `/etc/resolv.conf` with 11 unfiltered public resolvers:
diff --git a/pyproject.toml b/pyproject.toml
index 2a6389e33f..150c85833c 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -4,7 +4,7 @@ version = "3.1.0"
description = "OSINT automation for hackers."
readme = "README.md"
license = "AGPL-3.0"
-requires-python = ">=3.10,<3.15"
+requires-python = ">=3.11,<3.16"
authors = [
{ name = "TheTechromancer" },
{ name = "Paul Mueller" },
@@ -19,7 +19,6 @@ dependencies = [
"psutil>=5.9.4,<8.0.0",
"wordninja>=2.0.0,<3",
"ansible-runner>=2.3.2,<3",
- "deepdiff>=8.0.0,<10",
"xmltojson>=2.0.2,<3",
"pycryptodome>=3.17,<5",
"idna>=3.4,<4",
@@ -42,14 +41,14 @@ dependencies = [
"puremagic>=1.28,<2",
"pydantic>=2.12.2,<3",
"pyyaml>=6.0.0,<7",
- "radixtarget>=4.0.1,<5",
+ "radixtarget>=4.3.0,<5",
"asndb>=1.1.0",
"orjson>=3.10.12,<4",
"ansible-core>=2.17,<3",
"tldextract>=5.3.0,<6",
- "cloudcheck>=11.1.0,<12",
- "blasthttp>=0.10.0,<0.11",
- "blastdns>=1.9.0,<2",
+ "cloudcheck>=11.2.0,<12",
+ "blasthttp>=0.10.1,<0.11",
+ "blastdns>=2.0.2,<2.1",
"zstandard>=0.22,<1",
"packaging>=23.0",
]
@@ -81,7 +80,7 @@ dev = [
"pytest-httpx>=0.35",
"pytest-benchmark>=4,<6",
"pytest-xdist>=3.6,<4",
- "baddns~=2.4.1",
+ "baddns~=2.5.0",
"ruff==0.17.3",
"maturin>=1.4,<2",
]
diff --git a/uv.lock b/uv.lock
index b6aea2fc07..29c0f24b67 100644
--- a/uv.lock
+++ b/uv.lock
@@ -1,11 +1,11 @@
version = 1
-revision = 5
-requires-python = ">=3.10, <3.15"
+revision = 3
+requires-python = ">=3.11, <3.16"
resolution-markers = [
- "python_full_version >= '3.12'",
+ "python_full_version >= '3.13'",
+ "python_full_version == '3.12.*'",
"python_full_version >= '3.11.5' and python_full_version < '3.12'",
- "python_full_version >= '3.11' and python_full_version < '3.11.5'",
- "python_full_version < '3.11'",
+ "python_full_version < '3.11.5'",
]
[manifest]
@@ -31,60 +31,60 @@ wheels = [
[[package]]
name = "ansible-core"
-version = "2.17.14"
+version = "2.19.15"
source = { registry = "https://pypi.org/simple" }
resolution-markers = [
- "python_full_version < '3.11'",
+ "python_full_version >= '3.11.5' and python_full_version < '3.12'",
+ "python_full_version < '3.11.5'",
]
dependencies = [
- { name = "cryptography" },
- { name = "jinja2" },
- { name = "packaging" },
- { name = "pyyaml" },
- { name = "resolvelib", version = "1.0.1", source = { registry = "https://pypi.org/simple" } },
+ { name = "cryptography", marker = "python_full_version < '3.12'" },
+ { name = "jinja2", marker = "python_full_version < '3.12'" },
+ { name = "packaging", marker = "python_full_version < '3.12'" },
+ { name = "pyyaml", marker = "python_full_version < '3.12'" },
+ { name = "resolvelib", marker = "python_full_version < '3.12'" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/ff/80/2925a0564f6f99a8002c3be3885b83c3a1dc5f57ebf00163f528889865f5/ansible_core-2.17.14.tar.gz", hash = "sha256:7c17fee39f8c29d70e3282a7e9c10bd70d5cd4fd13ddffc5dcaa52adbd142ff8", size = 3119687, upload-time = "2025-09-08T18:28:03.158Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/cd/ed/919710271c8e4f6ecf0760f3994aee36be2668b29df0214a44ecdeb14075/ansible_core-2.19.15.tar.gz", hash = "sha256:05fa7f0730199b8e0dd9204f258075992143bd51dae71f68965b832a50d422fe", size = 3434021, upload-time = "2026-11-02T17:12:02.49Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/86/29/d694562f1a875b50aa74f691521fe493704f79cf1938cd58f28f7e2327d2/ansible_core-2.17.14-py3-none-any.whl", hash = "sha256:34a49582a57c2f2af17ede2cefd3b3602a2d55d22089f3928570d52030cafa35", size = 2189656, upload-time = "2025-09-08T18:28:00.375Z" },
+ { url = "https://files.pythonhosted.org/packages/21/2d/3ac042e1220d85aca4c8db87793131689abf12c7ac7a5b8ee44418e03baf/ansible_core-2.19.15-py3-none-any.whl", hash = "sha256:076385c72c2a9f721b9f293e9c3cfac8106d7e130d17aadce6952634db50ffff", size = 2427065, upload-time = "2026-11-02T17:12:00.252Z" },
]
[[package]]
name = "ansible-core"
-version = "2.19.14"
+version = "2.21.6"
source = { registry = "https://pypi.org/simple" }
resolution-markers = [
- "python_full_version >= '3.11.5' and python_full_version < '3.12'",
- "python_full_version >= '3.11' and python_full_version < '3.11.5'",
+ "python_full_version == '3.12.*'",
]
dependencies = [
- { name = "cryptography" },
- { name = "jinja2" },
- { name = "packaging" },
- { name = "pyyaml" },
- { name = "resolvelib", version = "1.2.1", source = { registry = "https://pypi.org/simple" } },
+ { name = "cryptography", marker = "python_full_version == '3.12.*'" },
+ { name = "jinja2", marker = "python_full_version == '3.12.*'" },
+ { name = "packaging", marker = "python_full_version == '3.12.*'" },
+ { name = "pyyaml", marker = "python_full_version == '3.12.*'" },
+ { name = "resolvelib", marker = "python_full_version == '3.12.*'" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/c6/c7/e426d9955a69be0c4fd9d62fa756ef0cea6a7aa5467274ed46ea3316e1b3/ansible_core-2.19.14.tar.gz", hash = "sha256:1e7612788eaa6b3c87a3670ce86c64b830eba0ae2b3fcb25a772f276704163b4", size = 3432616, upload-time = "2026-10-05T15:08:31.102Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/ed/9f/c3f578633cd374db6ed981f8abc401885819e94e3d6a8548a1bd0095c575/ansible_core-2.21.6.tar.gz", hash = "sha256:3fa05b4b1af69f2fa19b49dde8edd5a23e693c2c1c3bda2d85fce73bd6cfc36d", size = 3399162, upload-time = "2026-11-02T17:33:27.104Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/9b/6e/14ec1ce25816a8f4ee105140f82ea34fcd2057b3de429fef62cd2c87d8c3/ansible_core-2.19.14-py3-none-any.whl", hash = "sha256:d518d0e96fa75bedfe9b0a96d5b158aa712d092961824c115140c8677b88ff06", size = 2426850, upload-time = "2026-10-05T15:08:28.617Z" },
+ { url = "https://files.pythonhosted.org/packages/20/5a/9e6cc7686b40bec066211200b6c393a7a333dfcfa91aa67a07c031df87c8/ansible_core-2.21.6-py3-none-any.whl", hash = "sha256:c1fc3cbe821176ba4227b1cae8c748e1d28d42dde605e807d23c58f71b6d1a74", size = 2457874, upload-time = "2026-11-02T17:33:24.88Z" },
]
[[package]]
name = "ansible-core"
-version = "2.21.5"
+version = "2.22.0"
source = { registry = "https://pypi.org/simple" }
resolution-markers = [
- "python_full_version >= '3.12'",
+ "python_full_version >= '3.13'",
]
dependencies = [
- { name = "cryptography" },
- { name = "jinja2" },
- { name = "packaging" },
- { name = "pyyaml" },
- { name = "resolvelib", version = "1.2.1", source = { registry = "https://pypi.org/simple" } },
+ { name = "cryptography", marker = "python_full_version >= '3.13'" },
+ { name = "jinja2", marker = "python_full_version >= '3.13'" },
+ { name = "packaging", marker = "python_full_version >= '3.13'" },
+ { name = "pyyaml", marker = "python_full_version >= '3.13'" },
+ { name = "resolvelib", marker = "python_full_version >= '3.13'" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/0b/27/d02c3f75e9f1468b5efbe49667574f68331b17e8a9f2bb99e1d18be70052/ansible_core-2.21.5.tar.gz", hash = "sha256:65bb3148c58ebb843cd5074004c805f404f152114d98476dd823324616c9c6cb", size = 3395026, upload-time = "2026-10-05T15:11:00.15Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/9d/9c/320090b2f1542122259cd759d5148678fd98945913837ee05718920f73ea/ansible_core-2.22.0.tar.gz", hash = "sha256:bf50b4a0cfa985e30585c7ba301897ea7050d224ca49d2816cab10e33a160e1c", size = 3476434, upload-time = "2026-11-02T17:35:11.837Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/57/6f/7321059b2d1a5ea3c7e60807a5269942d93b2c11a2fc89ba8e4a3e827891/ansible_core-2.21.5-py3-none-any.whl", hash = "sha256:08886f9f3e23d129aa98a01271c4a47833516e1cb7c737a246788cb474f41222", size = 2457267, upload-time = "2026-10-05T15:10:58.444Z" },
+ { url = "https://files.pythonhosted.org/packages/87/98/3dc2d37181dc6a4b39d7badffaa0ef6e95be638d618372a11c316a2f8983/ansible_core-2.22.0-py3-none-any.whl", hash = "sha256:8285d4cc81c3e3eb2d954e75531724fe0ae154d228475638123451f034a74657", size = 2488530, upload-time = "2026-11-02T17:35:09.491Z" },
]
[[package]]
@@ -107,9 +107,8 @@ name = "anyio"
version = "4.15.1"
source = { registry = "https://pypi.org/simple" }
dependencies = [
- { name = "exceptiongroup", marker = "python_full_version < '3.11'" },
{ name = "idna" },
- { name = "typing-extensions" },
+ { name = "typing-extensions", marker = "python_full_version < '3.15'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/a9/d2/f4d173e22df740bc37b1db102b386ba719b66e95b0f0d751f556b387e6d2/anyio-4.15.1.tar.gz", hash = "sha256:9f28306018cbd6d329e64a36d58256edff76dd996fe423bc957326e578b82a94", size = 276966, upload-time = "2026-09-05T10:42:39.44Z" }
wheels = [
@@ -140,15 +139,6 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/77/f5/21d2de20e8b8b0408f0681956ca2c69f1320a3848ac50e6e7f39c6159675/babel-2.18.0-py3-none-any.whl", hash = "sha256:e2b422b277c2b9a9630c1d7903c2a00d0830c409c59ac8cae9081c92f1aeba35", size = 10196845, upload-time = "2026-02-01T12:30:53.445Z" },
]
-[[package]]
-name = "backports-asyncio-runner"
-version = "1.2.0"
-source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/8e/ff/70dca7d7cb1cbc0edb2c6cc0c38b65cba36cccc491eca64cabd5fe7f8670/backports_asyncio_runner-1.2.0.tar.gz", hash = "sha256:a5aa7b2b7d8f8bfcaa2b57313f70792df84e32a2a746f585213373f900b42162", size = 69893, upload-time = "2025-07-02T02:27:15.685Z" }
-wheels = [
- { url = "https://files.pythonhosted.org/packages/a0/59/76ab57e3fe74484f48a53f8e337171b4a2349e506eabe136d7e01d059086/backports_asyncio_runner-1.2.0-py3-none-any.whl", hash = "sha256:0da0a936a8aeb554eccb426dc55af3ba63bcdc69fa1a600b5bb305413a4477b5", size = 12313, upload-time = "2025-07-02T02:27:14.263Z" },
-]
-
[[package]]
name = "backrefs"
version = "6.1"
@@ -165,7 +155,7 @@ wheels = [
[[package]]
name = "baddns"
-version = "2.4.1"
+version = "2.5.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "blastdns" },
@@ -177,10 +167,11 @@ dependencies = [
{ name = "python-whois" },
{ name = "pyyaml" },
{ name = "tldextract" },
+ { name = "yara-python" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/1d/91/62cef471fba0201e38d1d3cca0170ca0dd25c5417c7f2f2b495dc3903b3e/baddns-2.4.1.tar.gz", hash = "sha256:022e66a7d04ccbf239ba0a012c505dcc8d4246d240817c16802d1c833f1765fa", size = 62730, upload-time = "2026-06-17T23:12:10.841Z" }
+sdist = { url = "https://files.pythonhosted.org/packages/07/38/2adf163056db50f943a838fb3602463762fc523d3f6a9147fd0a2bea631f/baddns-2.5.0.tar.gz", hash = "sha256:8f2f87dc2be54a5a74aea350cf4b079fcafbe31b811951ac940952ad29c2e96a", size = 80403, upload-time = "2026-10-09T15:27:29.881Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/8c/d1/f7cc99fbf5146becdefc01b68917f4de8b5d32b355fe8be42e4ae12e5538/baddns-2.4.1-py3-none-any.whl", hash = "sha256:bda752ecdb31fe27c753516ab476f0371d128fe5c7f1c8a677ba49ad9348d8e3", size = 121104, upload-time = "2026-06-17T23:12:09.661Z" },
+ { url = "https://files.pythonhosted.org/packages/16/5a/1e0479d06fcb17e8310383b58be8c4aad5e17f8d781b9ed785b70b6eed3f/baddns-2.5.0-py3-none-any.whl", hash = "sha256:b8d6d04f75cb47cf261c21708ea41ec89111b447844e458337604a702b717b5a", size = 134089, upload-time = "2026-10-09T15:27:28.823Z" },
]
[[package]]
@@ -188,9 +179,9 @@ name = "bbot"
version = "3.1.0"
source = { editable = "." }
dependencies = [
- { name = "ansible-core", version = "2.17.14", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
- { name = "ansible-core", version = "2.19.14", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.11.*'" },
- { name = "ansible-core", version = "2.21.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.12'" },
+ { name = "ansible-core", version = "2.19.15", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.12'" },
+ { name = "ansible-core", version = "2.21.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.12.*'" },
+ { name = "ansible-core", version = "2.22.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.13'" },
{ name = "ansible-runner" },
{ name = "asndb" },
{ name = "beautifulsoup4" },
@@ -198,7 +189,6 @@ dependencies = [
{ name = "blasthttp" },
{ name = "cachetools" },
{ name = "cloudcheck" },
- { name = "deepdiff" },
{ name = "dnspython" },
{ name = "idna" },
{ name = "jinja2" },
@@ -258,8 +248,7 @@ docs = [
{ name = "mkdocs-extra-sass-plugin" },
{ name = "mkdocs-material" },
{ name = "mkdocs-material-extensions" },
- { name = "mkdocstrings", version = "1.0.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
- { name = "mkdocstrings", version = "1.0.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
+ { name = "mkdocstrings" },
{ name = "mkdocstrings-python" },
{ name = "pymdown-extensions" },
]
@@ -270,11 +259,10 @@ requires-dist = [
{ name = "ansible-runner", specifier = ">=2.3.2,<3" },
{ name = "asndb", specifier = ">=1.1.0" },
{ name = "beautifulsoup4", specifier = ">=4.12.2,<5" },
- { name = "blastdns", specifier = ">=1.9.0,<2" },
- { name = "blasthttp", specifier = ">=0.10.0,<0.11" },
+ { name = "blastdns", specifier = ">=2.0.2,<2.1" },
+ { name = "blasthttp", specifier = ">=0.10.1,<0.11" },
{ name = "cachetools", specifier = ">=5.3.2,<8.0.0" },
- { name = "cloudcheck", specifier = ">=11.1.0,<12" },
- { name = "deepdiff", specifier = ">=8.0.0,<10" },
+ { name = "cloudcheck", specifier = ">=11.2.0,<12" },
{ name = "dnspython", specifier = ">=2.7.0,<2.9.0" },
{ name = "idna", specifier = ">=3.4,<4" },
{ name = "jinja2", specifier = ">=3.1.3,<4" },
@@ -290,7 +278,7 @@ requires-dist = [
{ name = "pyjwt", specifier = ">=2.7.0,<3" },
{ name = "pyyaml", specifier = ">=6.0.0,<7" },
{ name = "pyzmq", specifier = ">=26.0.3,<28.0.0" },
- { name = "radixtarget", specifier = ">=4.0.1,<5" },
+ { name = "radixtarget", specifier = ">=4.3.0,<5" },
{ name = "regex", specifier = ">=2024.4.16,<2027.0.0" },
{ name = "setproctitle", specifier = ">=1.3.3,<2" },
{ name = "socksio", specifier = ">=1.0.0,<2" },
@@ -307,7 +295,7 @@ requires-dist = [
[package.metadata.requires-dev]
dev = [
- { name = "baddns", specifier = "~=2.4.1" },
+ { name = "baddns", specifier = "~=2.5.0" },
{ name = "fastapi", specifier = ">=0.115.5,<0.163.0" },
{ name = "maturin", specifier = ">=1.4,<2" },
{ name = "pre-commit", specifier = ">=3.4,<5.0" },
@@ -355,104 +343,100 @@ wheels = [
[[package]]
name = "blastdns"
-version = "1.9.1"
+version = "2.0.2"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "orjson" },
{ name = "pydantic" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/a0/63/5ad427bd5e23780961ba4f183a85d8428d961feabcfaf237347801dd00a0/blastdns-1.9.1.tar.gz", hash = "sha256:e0ea09a9f0199a64aad8a6abe54e0f0de523a12e6f96da71e79af7fea9d12f2f", size = 114292, upload-time = "2026-04-15T20:33:18.661Z" }
-wheels = [
- { url = "https://files.pythonhosted.org/packages/87/89/c606bd3d9e50771e168ad64745e4b9ef28fa511533d225735178eddab5c7/blastdns-1.9.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:fc9a0c8808b90748dadc224e86a21fed75c1ccfa7df682906401790069262816", size = 2449222, upload-time = "2026-04-15T20:30:51.744Z" },
- { url = "https://files.pythonhosted.org/packages/56/97/8e10f45144e7644c6f9e7a9f96eb7e433ef34bc5e6e84ae3e50581ae24d1/blastdns-1.9.1-cp310-cp310-manylinux_2_28_armv7l.whl", hash = "sha256:077dfd2eb020ea7d120c18263a3f646bcd8dfe1e0d6d1c1f604d5034892d3404", size = 2321373, upload-time = "2026-04-15T20:31:06.388Z" },
- { url = "https://files.pythonhosted.org/packages/47/80/31f3383453114beeade87d99058e1513dd82dafd67002d09ee9337fa886c/blastdns-1.9.1-cp310-cp310-manylinux_2_28_i686.whl", hash = "sha256:eb7833f85bbb8ac246ec55ca5aa9bf622f18d61f6566b4fbc6b3c42e99eae5a7", size = 2546563, upload-time = "2026-04-15T20:31:49.596Z" },
- { url = "https://files.pythonhosted.org/packages/45/76/eefa2fbe0be7781d33baf0b4670bc9d2db6aff0d94aeec1dd8d54c389683/blastdns-1.9.1-cp310-cp310-manylinux_2_28_ppc64le.whl", hash = "sha256:911516924ff9652cae0905ba218cd58f03d6e4c4d8972d8c00a3540496a15dad", size = 3519094, upload-time = "2026-04-15T20:31:20.464Z" },
- { url = "https://files.pythonhosted.org/packages/62/57/bbef43cfb51ed61977ac2e9d378d5e82ccf541ae3e4f1d318acd25ec6100/blastdns-1.9.1-cp310-cp310-manylinux_2_28_s390x.whl", hash = "sha256:693ba5b6820c6ab8cfd37202babeef354a2fca45ce51afcd8ffa912f2a50e82e", size = 2506642, upload-time = "2026-04-15T20:31:35.818Z" },
- { url = "https://files.pythonhosted.org/packages/e2/25/811477849e41c66e85047133ee4af7ecbd320c5b251988fee94c97c426f8/blastdns-1.9.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:06ebb94fbcc130acfc73356b36f135f9ca655a5ced9780c3ff9bee6394c91639", size = 2439602, upload-time = "2026-04-15T20:31:59.906Z" },
- { url = "https://files.pythonhosted.org/packages/a5/9f/c592c221970f278822f2f8bcefc2422eebf6cced23268d3fda7daec24e01/blastdns-1.9.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:99966441bfed1f5b45abf6c736be5d9bc141946ffe7582a1fbfd90386b16d4af", size = 2627363, upload-time = "2026-04-15T20:32:23.893Z" },
- { url = "https://files.pythonhosted.org/packages/74/41/9a3b74481259f76ce863a6d883779766970007952ceedd469a2d903421f7/blastdns-1.9.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:dd587b057bebdf2797cafa69923425312a038a56b4f48e740db1ce9584d4169a", size = 2594515, upload-time = "2026-04-15T20:32:37.097Z" },
- { url = "https://files.pythonhosted.org/packages/a7/41/23f2ab8eda0f31bf85b1f1aaa41dc2205c224f7032ba431434d78cfc0625/blastdns-1.9.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:f45a4fb8dc5d84bc94b266230329ca4e14ae1e43a65f45e1ba52c1ab8509964b", size = 2671944, upload-time = "2026-04-15T20:32:50.331Z" },
- { url = "https://files.pythonhosted.org/packages/85/2a/4149667e1245c80cd501bad55bed7cdb42190c3d727eb742566e65f61041/blastdns-1.9.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:98b9ea17704491fd6d1e40a183222439403433ab2046f8e323ed10dcac5ab214", size = 2689118, upload-time = "2026-04-15T20:33:04.593Z" },
- { url = "https://files.pythonhosted.org/packages/8d/04/8af93946ac6a53f981356e13ddd2eda5c8b76ab355054731e8704c2f4a59/blastdns-1.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:8581a729dd9f32cca8edef0fd8c0529be81fe8ca7faef497f1712b5277c0b896", size = 2657117, upload-time = "2026-04-15T20:33:20.027Z" },
- { url = "https://files.pythonhosted.org/packages/5b/d7/b4a757c662a45f82dc32fe916151caef24763f06ddf1d7ac571ff6f0ac51/blastdns-1.9.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:67f52aa4880bed47da178065c8b2935cc41f526a340e0a1dae90f2eb641f99f8", size = 2655899, upload-time = "2026-04-15T20:32:17.262Z" },
- { url = "https://files.pythonhosted.org/packages/98/16/5fbb3f57e2a2da7b1ea954c4a7576a0216b8b6f45714cedc0da92c933183/blastdns-1.9.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:9dda8352acba5c9b7e498c61f73f28120e312e441a37d26d8912ddb8c8876b11", size = 2522537, upload-time = "2026-04-15T20:32:10.658Z" },
- { url = "https://files.pythonhosted.org/packages/ab/7c/974f4a6f021fcf5a172dc9e6ab508527e5554576eb08f057f4d6345dca79/blastdns-1.9.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:b967cba75fd757b0e954cf4fb3d69c9fb39d95871316a9cf0bb0c2dc5e720077", size = 2450776, upload-time = "2026-04-15T20:30:53.403Z" },
- { url = "https://files.pythonhosted.org/packages/ad/a3/dc118d2a4be9efc933b29add465451537e10de53ee59e08bc6bf34de85f9/blastdns-1.9.1-cp311-cp311-manylinux_2_28_armv7l.whl", hash = "sha256:7a51dce160ffee92b548553b8c01d50ffa6d1f4c16d153df6ec36cc04e4ce8cc", size = 2321089, upload-time = "2026-04-15T20:31:07.684Z" },
- { url = "https://files.pythonhosted.org/packages/79/e9/47ae75a10808c166c38cd989fc7b65b5e31755985030e30ae3535a0abaad/blastdns-1.9.1-cp311-cp311-manylinux_2_28_i686.whl", hash = "sha256:f9fb56f9f8a672518968f7a4d882718c75b4b42629baa76f55c8bb4f60c6d8d1", size = 2551494, upload-time = "2026-04-15T20:31:50.955Z" },
- { url = "https://files.pythonhosted.org/packages/6d/2f/f2f8f5b40c83b868a807c1e8dbeafb930a0568c96ba53e95cd5e5b6b345b/blastdns-1.9.1-cp311-cp311-manylinux_2_28_ppc64le.whl", hash = "sha256:d0d23e22bdbf4fc8f4c32ff073603c56c6efb9f4911a168d9f004de664a5b13f", size = 3520728, upload-time = "2026-04-15T20:31:22.339Z" },
- { url = "https://files.pythonhosted.org/packages/69/81/af8964cd04f861077d2e99698b62d7cf01d5c5c193d8a815f3970dcdc0e6/blastdns-1.9.1-cp311-cp311-manylinux_2_28_s390x.whl", hash = "sha256:0e7603dc7e5fef925d03b5f28d75164e634ef2d6fc5b960671d0cf88380d7b70", size = 2507167, upload-time = "2026-04-15T20:31:37.313Z" },
- { url = "https://files.pythonhosted.org/packages/b4/8b/6326da63ad387377c0dd94f52426b276273f8cdf32eab17e4b3ba0ec4c0f/blastdns-1.9.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:8d2cc4189b98fd6d2ca2b41043f0a501455e8043562f9086fafb25c93ef053ad", size = 2438814, upload-time = "2026-04-15T20:32:01.274Z" },
- { url = "https://files.pythonhosted.org/packages/d5/30/d94d844101d7650982c6a686b41ba65fae84692f6a65147aea9756a4d09c/blastdns-1.9.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6e31c987da6b52c1194ec057c932400b72f729922fa18737b68a868df5911d27", size = 2628570, upload-time = "2026-04-15T20:32:25.287Z" },
- { url = "https://files.pythonhosted.org/packages/63/a0/c2d1d9d6bcf20836b66b06c970e2674e5d531c98f5f8a5d8b80a2c31e413/blastdns-1.9.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:da747e424bea405fc11ad7cb71ea36a082c100e40c0fc18855e209104f4e08d6", size = 2595745, upload-time = "2026-04-15T20:32:38.459Z" },
- { url = "https://files.pythonhosted.org/packages/e9/f6/0c0e8a070cce991ba16227a3a1e8602f76a84db783cd2f3f170b2250a373/blastdns-1.9.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:801224d7006b61789378addae8751aeb7c7877c8ecf19b515f4a856230fc68bc", size = 2671215, upload-time = "2026-04-15T20:32:51.674Z" },
- { url = "https://files.pythonhosted.org/packages/ee/4a/b2cfbb5cbede71ba5c116bea8bd68222e9ab5bef49b4cd1312954978c99f/blastdns-1.9.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1ce70a659667f3adc7c0eac7d4b2c6f4c9f8429367254ec5308d04f36213f935", size = 2689185, upload-time = "2026-04-15T20:33:06.529Z" },
- { url = "https://files.pythonhosted.org/packages/b3/34/ca482b1f59520b6c5b3fa50b253bd009e6e636541cf238788e34b81e5352/blastdns-1.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:5ab93ca714cb913423e2780b2c3881a1303fa21948c5602795262c9bd51c702b", size = 2658811, upload-time = "2026-04-15T20:33:21.347Z" },
- { url = "https://files.pythonhosted.org/packages/a9/f7/82d6bc99f2c3c65ee7d1c87627c9451ccb3c6dd1e21d1afb7caed4761c20/blastdns-1.9.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:e46c938ce8eec89384c82b68fd62fa2f76935d4d68d1ba51f199008c1a8b056b", size = 2649921, upload-time = "2026-04-15T20:32:18.725Z" },
- { url = "https://files.pythonhosted.org/packages/96/c4/6f1b04ee737feeac6b78459708b6b6b5e4215b8a443945bbb5078a1dba0b/blastdns-1.9.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b1eead79b192af541f4e89328aaed7e675254a56583d406dcc5cc527b1ed0662", size = 2510639, upload-time = "2026-04-15T20:32:12.531Z" },
- { url = "https://files.pythonhosted.org/packages/b0/b4/80cc72f8e94a46743bc400d2336506388fcbffe0feeaeaec03410d451db6/blastdns-1.9.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:d0d6a6d4654032b2fc1a1df1bb145afb83989c23160da5b629c64e797a6f3027", size = 2449415, upload-time = "2026-04-15T20:30:55.661Z" },
- { url = "https://files.pythonhosted.org/packages/f5/d6/459997181a1a0c8bd162c6f3b830732f49f39fd9e62d77dc1fde2b9fb953/blastdns-1.9.1-cp312-cp312-manylinux_2_28_armv7l.whl", hash = "sha256:cb5745b8f4ea3929d090dfa18126b9094986ea2e5808a54cdb58a355e1360a82", size = 2319087, upload-time = "2026-04-15T20:31:09.425Z" },
- { url = "https://files.pythonhosted.org/packages/10/a8/d67e9a0212005a178ab1a5fa3ea7cd280fb00b981a1020b15a7cf87ea244/blastdns-1.9.1-cp312-cp312-manylinux_2_28_i686.whl", hash = "sha256:7bd6bfc82e08624d1b40f1e4822b548f63829351e7f72080d69099b32fdb8361", size = 2549284, upload-time = "2026-04-15T20:31:52.737Z" },
- { url = "https://files.pythonhosted.org/packages/0a/e9/667b14a3cda6cd1bb31838c2769ec8533ce32aa5a3a905acc5db6e687851/blastdns-1.9.1-cp312-cp312-manylinux_2_28_ppc64le.whl", hash = "sha256:e23dc048586e8b20523ecbc4c5931d8bc5485e79200207c4c6f91ad4b5ea980f", size = 3516061, upload-time = "2026-04-15T20:31:24.299Z" },
- { url = "https://files.pythonhosted.org/packages/ee/f7/8b756e8a2dd781007763318b11fb2fb8f233dfb86f10409a69abc9b03c29/blastdns-1.9.1-cp312-cp312-manylinux_2_28_s390x.whl", hash = "sha256:6c0472de6616e7ed20b5fb3784c41b52e64a0ff1079106be0140c6f00e19f6c6", size = 2503102, upload-time = "2026-04-15T20:31:38.968Z" },
- { url = "https://files.pythonhosted.org/packages/91/c8/6f689dc1491c13ebe1275943995c3376644e26c130fd0e30dae538477996/blastdns-1.9.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:775dbd6b7d1eccb3375a9f17f43723ddf79a1d12ae1d202d3f587101aff21db1", size = 2436641, upload-time = "2026-04-15T20:32:02.719Z" },
- { url = "https://files.pythonhosted.org/packages/d1/52/5376331c9278f5334b76dd48210e1fb10a83f4920516c7060ccde56ec6da/blastdns-1.9.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:40bff362bd9be708197d5c548ad7f006688d763cada1faee44ae1e7d2acb06ef", size = 2625799, upload-time = "2026-04-15T20:32:26.823Z" },
- { url = "https://files.pythonhosted.org/packages/e4/d1/622c75809c143d51037daa8af9f3477e6e4606a12d58f5189b4da81e6511/blastdns-1.9.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:408c30d61126c1cc0ecacb1011ed6ef2f34840e937e2def22f3ed943ad6ba8f4", size = 2593888, upload-time = "2026-04-15T20:32:39.932Z" },
- { url = "https://files.pythonhosted.org/packages/11/a0/0a8dc041ccb68720dbe44ce36c10404d904b0572c0589987c5618c1c109d/blastdns-1.9.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:9af85ef741d4f230ea55f12d4876b1123562f51ce9b9f7d58b6f52d3d84395c1", size = 2670025, upload-time = "2026-04-15T20:32:53.153Z" },
- { url = "https://files.pythonhosted.org/packages/72/33/b5d69a9a719b3ec354fd938769f95697e17e4c1011b97aa5f424d2a7be77/blastdns-1.9.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3339b69fc959292a66ea724b0d5e9563c4ca0be7dd48fc78adb8914a3c82ab57", size = 2685562, upload-time = "2026-04-15T20:33:08.351Z" },
- { url = "https://files.pythonhosted.org/packages/c6/d5/36c430234203e7f4c2719b321ee316c4ac82db2541761ecff6035445fbec/blastdns-1.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:074b0ffe33ed57d6bef65d0120fa508d855f49910a1ed51ee6c3920e6ffc73bf", size = 2657744, upload-time = "2026-04-15T20:33:22.771Z" },
- { url = "https://files.pythonhosted.org/packages/09/a2/ed3363e3cbc5d10fc2301fc0651bb316f203a287a331eb65ce0f0c0726d1/blastdns-1.9.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:3fe8fecc19fdb3ee6bcfcd4242c9e2433254c8c40d1b57fa40d6190eadd73da7", size = 2649286, upload-time = "2026-04-15T20:32:20.42Z" },
- { url = "https://files.pythonhosted.org/packages/db/15/1e37003ef21f8777b51f1abc85edae818358743a74b0a836a8a409383f91/blastdns-1.9.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:b84013fc47cebeac3093f4feaeed3a4d5f45d82eebdffb73bde610e8e30f3399", size = 2510656, upload-time = "2026-04-15T20:32:14.308Z" },
- { url = "https://files.pythonhosted.org/packages/03/4e/b7f055bbe93b4201738c284482cd94d76b8f148381daa6774ddf509533f5/blastdns-1.9.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:7e2f7b28bff77a5c5627f1f85069309e3c4039d4d277756e84d2d5c229716c16", size = 2447985, upload-time = "2026-04-15T20:30:57.312Z" },
- { url = "https://files.pythonhosted.org/packages/14/d4/05a0eb6ce69da50e1a20a4374e685b54cafcf2550aa544280f77a56e7c88/blastdns-1.9.1-cp313-cp313-manylinux_2_28_armv7l.whl", hash = "sha256:4668ccfde0215c685a81e3e121ef5d0eafccdb940bb7f9d3f7b8ffb004955b51", size = 2319178, upload-time = "2026-04-15T20:31:11.009Z" },
- { url = "https://files.pythonhosted.org/packages/9d/a7/d483bf6db4762f9ac2772cac722659334cf704316bf8e1c190af5b2fd430/blastdns-1.9.1-cp313-cp313-manylinux_2_28_i686.whl", hash = "sha256:9f4b05ba48357b70f0ee9ff6dfc581aa3af55040e4b0db4e43c53e4c3d5c8e58", size = 2549530, upload-time = "2026-04-15T20:31:54.377Z" },
- { url = "https://files.pythonhosted.org/packages/77/c1/bc1eb90bb9fda8a354ffda502da723afa4aeaf7e7538ac94dea3e922dc4d/blastdns-1.9.1-cp313-cp313-manylinux_2_28_ppc64le.whl", hash = "sha256:6da53361836a9b6d05daf391d8ce8f765de881e394827d5314021cb4c013eec7", size = 3515285, upload-time = "2026-04-15T20:31:26.049Z" },
- { url = "https://files.pythonhosted.org/packages/2c/2e/6dd47138c57efa03ef848f40c0ee5686f69fba028b72f8683173af7e44a2/blastdns-1.9.1-cp313-cp313-manylinux_2_28_s390x.whl", hash = "sha256:a10dbdcda0ab8c9cf641163cb568d820d51282d848bdd0c8627a51f3f6038163", size = 2501978, upload-time = "2026-04-15T20:31:40.265Z" },
- { url = "https://files.pythonhosted.org/packages/8c/95/cc06697ddb03d03fb6a171b337c9c649cd5bc3493b4e8c83e185eeef1dad/blastdns-1.9.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:1f3400075b16905fd6837902511fed9c4b98b13de3cad8e3a78cf6d0e78f8124", size = 2435831, upload-time = "2026-04-15T20:32:04.657Z" },
- { url = "https://files.pythonhosted.org/packages/9c/26/6a702d559328213e0e3e7bb3a7c8788031c42b0613ae363cfd5ee33d130d/blastdns-1.9.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a32a1e51d34b9e926a9c218c166a254d57c120a2f7b963f04fe81fd3d45f35ed", size = 2625279, upload-time = "2026-04-15T20:32:28.256Z" },
- { url = "https://files.pythonhosted.org/packages/25/e4/fc227358013e8bce5896d4405ecc882520d4480da1c30efb6c0950e526ac/blastdns-1.9.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:fbd5f5cd402b3075254e03b608c48e25825ea806421437e74c5fc833716a86a6", size = 2593895, upload-time = "2026-04-15T20:32:41.373Z" },
- { url = "https://files.pythonhosted.org/packages/62/8d/45e3c76947052ce2c60d58944f40178ded356b4440f83007a159ab095bef/blastdns-1.9.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:3c398d2c3780e50e1a12515e0ada2eb7c510e6d699ad60d6c6382352ba4a5db5", size = 2670367, upload-time = "2026-04-15T20:32:54.542Z" },
- { url = "https://files.pythonhosted.org/packages/77/ac/482fd604a13e05ab3e0efa84336fa39c5c391addf8308b16ee9109f67fd0/blastdns-1.9.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:11057e252c5545f1f89a4f5413a396366686799dd48b11e7c6dcad44d05df47e", size = 2684704, upload-time = "2026-04-15T20:33:09.845Z" },
- { url = "https://files.pythonhosted.org/packages/fc/67/2998dd8a5239a7afc223f4ec270048d47af5e10bb996d045c3e6e5580433/blastdns-1.9.1-cp313-cp313-win_amd64.whl", hash = "sha256:a0dc5dd486fec357fbcde1ff2f4dd3bcc4baa02323d46cc749c9a8f0fa810435", size = 2657425, upload-time = "2026-04-15T20:33:24.357Z" },
- { url = "https://files.pythonhosted.org/packages/47/49/2b51f2ba622a1723b75411fd2384d26a4d55576e0f642019fcba1ea5498a/blastdns-1.9.1-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:5bf0c8445d9d4cc0ce7668ddb2358e5c90ce711eb2001d5fd742fc30bdf6b9ff", size = 2443445, upload-time = "2026-04-15T20:30:59.07Z" },
- { url = "https://files.pythonhosted.org/packages/f7/60/490cd9f4b40cc9ee0de49252f278798e0d020f002f2c3bd93669096050f5/blastdns-1.9.1-cp313-cp313t-manylinux_2_28_armv7l.whl", hash = "sha256:0d3f1498eb37543ecbf92719aae8eda22c4cabbf14e1a1ba6c6a3e5a9157b2df", size = 2319663, upload-time = "2026-04-15T20:31:12.808Z" },
- { url = "https://files.pythonhosted.org/packages/d1/6c/b801b2706677a62cdac1c3dd46d618f3b1b18bd26b21a2df3531ab559ff4/blastdns-1.9.1-cp313-cp313t-manylinux_2_28_ppc64le.whl", hash = "sha256:1be2eb559002355311fd9f584a3ed4dc4b9b5fa4255864f39779203ad3d71228", size = 3521129, upload-time = "2026-04-15T20:31:27.637Z" },
- { url = "https://files.pythonhosted.org/packages/71/83/81f22f8b06fe06e7cc1021d6d84a1f570300c7d3f7f1e8da94617d68aba6/blastdns-1.9.1-cp313-cp313t-manylinux_2_28_s390x.whl", hash = "sha256:8b207ea568b9dfc62e0fc5a848afa15448311ec3f2dbcc519327399f6604f087", size = 2512375, upload-time = "2026-04-15T20:31:41.616Z" },
- { url = "https://files.pythonhosted.org/packages/59/6c/ff24de4e418c1b683db47975af30ea600deb96c6e8ea2163470b57d8ad85/blastdns-1.9.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4f4f11a2fa4b9aa7d735252e4cfa515e51330d019065ed575a71ceb645a7fc13", size = 2621796, upload-time = "2026-04-15T20:32:29.51Z" },
- { url = "https://files.pythonhosted.org/packages/52/53/60620d5ecab72926afcb197476c765f10d690b574786c1be8d3b8f5465a0/blastdns-1.9.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:072b0f20ed5a23ce9a69d93fc0f4f840ca03e92a02290640c32c08e51e85e09a", size = 2591749, upload-time = "2026-04-15T20:32:43.158Z" },
- { url = "https://files.pythonhosted.org/packages/6e/2a/d0fe319e0aa0a79346b0107a339724489feaedd266fd209374f4731f6abe/blastdns-1.9.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:8985b6a5d88c57d9d3b566551b37a09349c0a30234167148c3d80423abbe9c8c", size = 2668454, upload-time = "2026-04-15T20:32:55.824Z" },
- { url = "https://files.pythonhosted.org/packages/f7/19/541a831d645ecede4f91fa6441e2eef23fbc3e0c7c51830f2f0a40bee609/blastdns-1.9.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:306e7ba2b9a0a3a9a38086ee8d187a33aae5979b588ad80bfb5ecd01633c298b", size = 2687970, upload-time = "2026-04-15T20:33:11.578Z" },
- { url = "https://files.pythonhosted.org/packages/85/c8/d784d1df9d930183b991822954dc31aeae2b3947147ce9d53d12eb7a3822/blastdns-1.9.1-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:337771fc54faafbdda2206426c362839961253a4959135767e9014ff4db879ca", size = 2650821, upload-time = "2026-04-15T20:32:21.943Z" },
- { url = "https://files.pythonhosted.org/packages/b8/98/0b3d1d6b5ff0cf1c404a9b8c7948102d724e767cf22ddedf9a3bd239a1ec/blastdns-1.9.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:6015697b4fe9dc4ff2bc397367ae726c6e6cd87bdb86e1d6b5c6856d0914beb7", size = 2517319, upload-time = "2026-04-15T20:32:15.85Z" },
- { url = "https://files.pythonhosted.org/packages/b8/8b/ecc1e80fe8aa9ac5677c62d9c6d7bb6c2c68025d99f2ff81dc6be5eb907f/blastdns-1.9.1-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:01b2f1da7fe1fb44fd1af52c337979bb7284b727f971d83aa761a4887a22adb2", size = 2446094, upload-time = "2026-04-15T20:31:00.43Z" },
- { url = "https://files.pythonhosted.org/packages/1d/9e/0ac6101f9b597c61d3997623c0a3e5e7be4071461c8a2986851f3739da32/blastdns-1.9.1-cp314-cp314-manylinux_2_28_armv7l.whl", hash = "sha256:147d815a686771709c96803319233218310efb0247644df4f0d6958cb4f9b65c", size = 2320171, upload-time = "2026-04-15T20:31:14.233Z" },
- { url = "https://files.pythonhosted.org/packages/10/e4/d195149ab6402b157474ee93212b393a644eedea5f005a2aa0e650c3e4bb/blastdns-1.9.1-cp314-cp314-manylinux_2_28_i686.whl", hash = "sha256:ad4d1bb7b9fa57a7aec368a84d6830663b8f16550769edf273cf21e992425824", size = 2551099, upload-time = "2026-04-15T20:31:55.683Z" },
- { url = "https://files.pythonhosted.org/packages/c8/b0/c711045dd0ba9f15938930f75c66e57c6ae4962c821f6b0f43364d3799ff/blastdns-1.9.1-cp314-cp314-manylinux_2_28_ppc64le.whl", hash = "sha256:f2af21539691a44409020ef2260b63ac8f4ae0ee838a8e21ba51d3d480c2015c", size = 3519937, upload-time = "2026-04-15T20:31:29.379Z" },
- { url = "https://files.pythonhosted.org/packages/4c/72/2a0d2f09018e3461b16c5d64a72b7660dad97cc2eb1e0479f11a705f1db9/blastdns-1.9.1-cp314-cp314-manylinux_2_28_s390x.whl", hash = "sha256:c110f4de3839e204dc0ec97da33d01cdc78c9ffde991f583b735bf9df4c90b8d", size = 2508859, upload-time = "2026-04-15T20:31:42.963Z" },
- { url = "https://files.pythonhosted.org/packages/26/f6/5c1d954dfc4d6f420dea661dc7eb228f2fd6d31954e3d492888be426f97c/blastdns-1.9.1-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:743b1501d9a625f6d0dd8ed668fd96241646bd6f70399992af43f8fef5fc42d9", size = 2439876, upload-time = "2026-04-15T20:32:06.166Z" },
- { url = "https://files.pythonhosted.org/packages/1f/71/c5a3837136449a1f5f3f14fb251fb318d48d5611755fc972fc2868473fbb/blastdns-1.9.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:4c4b0b8ca367405807b14d63f57805ca2af21c651afd07feae5db32fbaaa63f7", size = 2624052, upload-time = "2026-04-15T20:32:30.895Z" },
- { url = "https://files.pythonhosted.org/packages/59/e5/9ee26448806cc548d147a32811b406646c1530bdf66f9ef42bd232b95dfe/blastdns-1.9.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:8f4141a04a887e45f77e92fe5ae290c017275985b96455c2aa05084220b12423", size = 2594969, upload-time = "2026-04-15T20:32:44.441Z" },
- { url = "https://files.pythonhosted.org/packages/48/81/e9c759fc353a17b3256994f23b08d5c4f147bd0eab2e8522434548abd50c/blastdns-1.9.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:c0247ea74dcb9cb22fc319ab15518a6b2cd8e147b560e6908acaa97f4eb9912b", size = 2671068, upload-time = "2026-04-15T20:32:57.332Z" },
- { url = "https://files.pythonhosted.org/packages/10/9a/5dd9a17edbee1bfb996d289e5b1bbd2e1446644c02da8fe71925c4a6c828/blastdns-1.9.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:9131f9c496a6e67b46b5184fc49dc691340c1267982808460d3fdc9fbf00fc0d", size = 2689854, upload-time = "2026-04-15T20:33:12.962Z" },
- { url = "https://files.pythonhosted.org/packages/2a/82/62f420b248e485b222a7ad714d94d814e9d8ad90f4112fbbdf4d31d5f557/blastdns-1.9.1-cp314-cp314-win32.whl", hash = "sha256:f13198d57ac8606a542f273ffbeec0cf4d1b97ec5c367d217fdb7b25715888a6", size = 2206019, upload-time = "2026-04-15T20:33:27.428Z" },
- { url = "https://files.pythonhosted.org/packages/41/0b/6db2d905fce282e099b43a93f4ed7bdf586d55f9c79a6e8cf446364981d3/blastdns-1.9.1-cp314-cp314-win_amd64.whl", hash = "sha256:b1301428a30b6ad1137f47470f882da604329d6a566708045106e06c3cc5b13b", size = 2656519, upload-time = "2026-04-15T20:33:26.101Z" },
- { url = "https://files.pythonhosted.org/packages/53/ea/b5ac534f37548ae80edfb915c7a1cbd764fb92ab62cc87d360b8f951d11e/blastdns-1.9.1-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:e5d4e64d0cdfef7e31d1e4c9124cc901d801fd1925c0add743dd4b5dac5ab48d", size = 2445855, upload-time = "2026-04-15T20:31:02.055Z" },
- { url = "https://files.pythonhosted.org/packages/53/15/43ce6b8ef5ba5e5d1ffb9ad4dbf9148ea2356e556cb1d3925ffc35fcd4d9/blastdns-1.9.1-cp314-cp314t-manylinux_2_28_armv7l.whl", hash = "sha256:9078d39a13c467185dbe205b3121ef6667b452612e64a9a83670d38a4ff8f280", size = 2320251, upload-time = "2026-04-15T20:31:16.119Z" },
- { url = "https://files.pythonhosted.org/packages/a9/e8/52dc13fd874bc0cc02b850ae87781bd53b1bdb6f6efa2b6b769a4bd16106/blastdns-1.9.1-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:712ff165713d9624a0811d94e2a555af15339f11df7fae9535aebd0de3577730", size = 3523183, upload-time = "2026-04-15T20:31:31.017Z" },
- { url = "https://files.pythonhosted.org/packages/fc/be/f129125b775e40c17624fb97550393528fa69dbb945f56fa01ba4cde797e/blastdns-1.9.1-cp314-cp314t-manylinux_2_28_s390x.whl", hash = "sha256:c31fb423922e491d87435d497a3ad571fdd1200b9d9a51322fbee2aff0275d15", size = 2512967, upload-time = "2026-04-15T20:31:44.564Z" },
- { url = "https://files.pythonhosted.org/packages/5b/fd/38b3d4986f984eb9f61987f312fb851c3c7943678f7685ff1803ac061eb8/blastdns-1.9.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:269e2f84e83c5a4c48e05c8222670289935ef9504184f6742e8049ded205d67f", size = 2622821, upload-time = "2026-04-15T20:32:32.222Z" },
- { url = "https://files.pythonhosted.org/packages/a3/84/0f0a9d767389b43edeae21f2665c5c745e2e4a056c697515962a7b4fe463/blastdns-1.9.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:b2c751284fe68dcf70e3f9de11c6c7cbe228473c152563ad0a781fc4a95ed484", size = 2593955, upload-time = "2026-04-15T20:32:45.822Z" },
- { url = "https://files.pythonhosted.org/packages/8d/53/04ece144df58ae2af74607fa63f38d3345f56ab32e3fce31e99d2b358019/blastdns-1.9.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:c3925dfff6f2fb7dcaa514ee3730a55d0824dce0023038cabf69f9e341d5a632", size = 2670065, upload-time = "2026-04-15T20:32:59.942Z" },
- { url = "https://files.pythonhosted.org/packages/bd/92/6ae1976ec0a8d1b4b7946c3203cda4637bb5a261126eb8f46004d2af0297/blastdns-1.9.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:e163cd43d5206e224e8e5ef5b18af634e97d5e90f535f0906af783e13b7fcec5", size = 2688595, upload-time = "2026-04-15T20:33:14.533Z" },
- { url = "https://files.pythonhosted.org/packages/88/f0/c44a8092fae154af9fc74d21ae3639a1544500c0a0516dc31a8a086d3ad4/blastdns-1.9.1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:03f5dd6a4dfa45d5972a3be01f704264b43bb6d02b86b7eba132070c9f18f286", size = 2452601, upload-time = "2026-04-15T20:31:04.974Z" },
- { url = "https://files.pythonhosted.org/packages/08/3c/d3136a70d9b8dc3349a3a11753b5cd459168fe244ae983d0d5ba81e2d6be/blastdns-1.9.1-pp311-pypy311_pp73-manylinux_2_28_armv7l.whl", hash = "sha256:1e2621a878baa1be84b910fb2b7d492184f484988f5d572746b2e555c89926d7", size = 2322996, upload-time = "2026-04-15T20:31:19.091Z" },
- { url = "https://files.pythonhosted.org/packages/64/a1/3dea21c2a56f85e9ca11b97cef0282b40737c9c1f35769ace9c4501aa790/blastdns-1.9.1-pp311-pypy311_pp73-manylinux_2_28_i686.whl", hash = "sha256:356fde1c078710dd93d627282c18945390d74cca7cad7c334a50624ebb7c9f9d", size = 2560325, upload-time = "2026-04-15T20:31:58.318Z" },
- { url = "https://files.pythonhosted.org/packages/4a/9f/46ba0541a4f2c9f473b6841983a5760dd18462ddcf702f6569328aa9de01/blastdns-1.9.1-pp311-pypy311_pp73-manylinux_2_28_ppc64le.whl", hash = "sha256:7d189845c2982e354127426923fdda4342cf083ce5b75b4f8276ca7d9bfc196a", size = 3522302, upload-time = "2026-04-15T20:31:34.43Z" },
- { url = "https://files.pythonhosted.org/packages/b9/9d/e2fdd3f5bfddf50b37d243fcfced48a3352d1e573c7f025229c67e3bbf00/blastdns-1.9.1-pp311-pypy311_pp73-manylinux_2_28_s390x.whl", hash = "sha256:1b41c108de569a822697dab53e15e2bc30fb59d3546c172903f9e66c19826282", size = 2510299, upload-time = "2026-04-15T20:31:47.831Z" },
- { url = "https://files.pythonhosted.org/packages/fc/10/a981c619876586b6b4a9763e80eea405ff7f3917ab3b5d35bc9db2565123/blastdns-1.9.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:fbab1fe79723547ee03c861368769e38605e87cfb8be2858f60ad497aaca2520", size = 2444480, upload-time = "2026-04-15T20:32:09.231Z" },
- { url = "https://files.pythonhosted.org/packages/45/0d/7451f1a7bea17f39b25fe3ddbc74271c31c0b8b81b84cf5fb5b8f01ba1ed/blastdns-1.9.1-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:378e95b2723eabf23ffb04ed0bd326aa5661d4ae3396a8326ad2ffcc324d4bff", size = 2629253, upload-time = "2026-04-15T20:32:35.696Z" },
- { url = "https://files.pythonhosted.org/packages/b7/a1/ef1c8049ada69185f6276e42c33e50d18cea464037195bbf9260a3da8d64/blastdns-1.9.1-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl", hash = "sha256:e4facab544265314dbf212ee015138ec823529e006b306e030ad5a4c2d4a6ec3", size = 2598351, upload-time = "2026-04-15T20:32:48.896Z" },
- { url = "https://files.pythonhosted.org/packages/d9/b4/dbc258187d079a86487f9b26761430f8f4ff531814d710caab66b388f402/blastdns-1.9.1-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:62269fee131b31f401dabe16f427dedf4ac6c0c5d7a302a52a7d685456772385", size = 2679763, upload-time = "2026-04-15T20:33:02.936Z" },
- { url = "https://files.pythonhosted.org/packages/1e/01/480f3c5e54abf85b6accdc25635a10428720f9f2fa6b95c89d59e35f2912/blastdns-1.9.1-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:64581573a438d95f51e297aa6790a85f49ed00fcb2afdf5a459b911dce970619", size = 2694305, upload-time = "2026-04-15T20:33:17.253Z" },
+sdist = { url = "https://files.pythonhosted.org/packages/e4/4f/6794bbc35b2d042076e3cf68a89fcb298a03a294a48982a56be407e42180/blastdns-2.0.2.tar.gz", hash = "sha256:0070054c0c6006b523578124aff5108f07b61420bab960a99f8362fb8900cf3c", size = 198783, upload-time = "2026-10-21T13:30:53Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/db/24/f24eb9636bb822dd8ece1732b651f3cdc4b877b4bd840628ec2f3fb93531/blastdns-2.0.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:bcec2f8b76caba1c61f1fb27be9ab33414101fba7380e9bf74883a4b15d614b1", size = 2838006, upload-time = "2026-10-21T13:29:55.82Z" },
+ { url = "https://files.pythonhosted.org/packages/02/ae/182dde845d6ce38418dc492b8f686998fdd719cd0586c7418079fc75d9c4/blastdns-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c0b3f813de21596c812537813a06b7073d9deb5fb0dd6e8326804c19eb1fc02a", size = 2709190, upload-time = "2026-10-21T13:29:48.364Z" },
+ { url = "https://files.pythonhosted.org/packages/73/64/9fe0178342e534357fc87ce10e134847fc6f320f18902ffac240fc482bea/blastdns-2.0.2-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:233de9c9cb9450cf81953fa1fa7236af308e209dda2ac3ee94a501a705e4818f", size = 2732080, upload-time = "2026-10-21T13:28:27.577Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/c6/3a1d23c484f408250866fdb775d3ea632f793445f317f6905093a3a9bfe4/blastdns-2.0.2-cp311-cp311-manylinux_2_28_armv7l.whl", hash = "sha256:1b6630efdda0443be365416fd395b330664227e64b6bef03ac477e5169d156af", size = 2598856, upload-time = "2026-10-21T13:28:39.708Z" },
+ { url = "https://files.pythonhosted.org/packages/12/a2/42a4072056d6888ed51d3c7e283db1ceb09baa900da05a2c7a9bd06c0fea/blastdns-2.0.2-cp311-cp311-manylinux_2_28_i686.whl", hash = "sha256:7976f38ad942d8d590d67f8d282d523cc832163996ec68a5210d811852cf2b78", size = 2847685, upload-time = "2026-10-21T13:29:16.321Z" },
+ { url = "https://files.pythonhosted.org/packages/24/8e/13759c169c80d3ad4a13a703e32a5fa47e299fd73efa663d5f40d1440d9a/blastdns-2.0.2-cp311-cp311-manylinux_2_28_ppc64le.whl", hash = "sha256:af100af2e95ef4e18b3a8328a1f03f0a06ab10ecf81d6de38e5de8bf96add00c", size = 3861668, upload-time = "2026-10-21T13:28:52.014Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/43/6d6c1f2e164f4bbf47c5878cf0a446be453d86207001b248551a8a3c4c89/blastdns-2.0.2-cp311-cp311-manylinux_2_28_s390x.whl", hash = "sha256:c5e66f6bdf3cb41c5a129f33f2668e85fe31a6b7f9026fc257c60132d047244c", size = 2797177, upload-time = "2026-10-21T13:29:04.642Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/fc/52c8bf2fba52088f1259d1ef8a3ac598678008d79bfa5d32d82df9705dac/blastdns-2.0.2-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:7d0cbf2cf4fa6fb907795525a9f70121d64a3728ec8353eef50bb313f8cada4a", size = 2655244, upload-time = "2026-10-21T13:29:32.846Z" },
+ { url = "https://files.pythonhosted.org/packages/80/59/54e0bf3f638628385ab661f782dcdeed734366184d5e207fe723dec05c46/blastdns-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4e3fe2967f8bcc3b4df135e1d0da514f0f493277734927fd02f2778e03146c66", size = 2906944, upload-time = "2026-10-21T13:30:05.627Z" },
+ { url = "https://files.pythonhosted.org/packages/71/c0/283d16fe1e28dcb906dc875837e035db5da10067d17689cf5f1877bcba32/blastdns-2.0.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:fc2724138e216ea47b334a9f16240450bcdf4618ae14b93a1307ceba2e0e8dec", size = 2873250, upload-time = "2026-10-21T13:30:17.317Z" },
+ { url = "https://files.pythonhosted.org/packages/2f/8b/07eac8419fa7e16313aba10c887d04eecad37d43f13503967288ed8fb678/blastdns-2.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:9c420b2cdaddb787343bf32e2f113d65c547a8a3c9c5a1c18d9f6266e84513df", size = 2958747, upload-time = "2026-10-21T13:30:30.265Z" },
+ { url = "https://files.pythonhosted.org/packages/46/19/e00e8b97f6ca12a1f575cbf5b98a03957802e7aa1486276db233b288070d/blastdns-2.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1221a54ee207602e7a5ed897f8c42279e15a331c71a80ca296dd2facde7f08a5", size = 2970434, upload-time = "2026-10-21T13:30:42.18Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/6d/badcb5baa4db5a68025dd9d471db04365cfed0a678940b7144330ffec905/blastdns-2.0.2-cp311-cp311-win32.whl", hash = "sha256:72b00016635338c79b8ac44a5c050267f65f19c4ab2714069b9d7c8a9fb078e7", size = 2401769, upload-time = "2026-10-21T13:31:04.618Z" },
+ { url = "https://files.pythonhosted.org/packages/18/29/d3c9d4828abfb4509c6708102855ca53aada54989d35a9b4c4cf0a283569/blastdns-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:2d6d96682cf4b26692f790bb7f342f663a3336fcd73cc4030c733e2418540af3", size = 2907634, upload-time = "2026-10-21T13:30:55.347Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/a1/07e30ddb6bc2ed9ca1f7e10c44922a082cfec8c76e23104478170e04fdae/blastdns-2.0.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:fa694d9ec2f32455c1ccab3b94f202fcf085d90119fe1bc65388b9ae8a11b9a4", size = 2839823, upload-time = "2026-10-21T13:29:57.51Z" },
+ { url = "https://files.pythonhosted.org/packages/49/5d/5f0752c1f99d24ba6fbdfe994cd740da13501fe007704e96dbcdf9822b32/blastdns-2.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:91240b57195f8c530d3e7b84a61d227e685706cc5d02628226b8ad20be548309", size = 2694777, upload-time = "2026-10-21T13:29:49.746Z" },
+ { url = "https://files.pythonhosted.org/packages/53/27/83c182b3db5ca3280ff8726bf6864627bd6dc640854f49a55be7226db69e/blastdns-2.0.2-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:6dba9e06dbf8e47c22f1586b5914ed7790f10cf9074ae88a56297892fe6553f7", size = 2724238, upload-time = "2026-10-21T13:28:29.105Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/2c/a52f6eb37aff7ca16845929496a5b5d12988653bb4906b41fa67de78b663/blastdns-2.0.2-cp312-cp312-manylinux_2_28_armv7l.whl", hash = "sha256:88765346a3d4e1b315a51b9341687ea2e6706a62cbc2eceb7a9c185d4de7d3b5", size = 2596425, upload-time = "2026-10-21T13:28:41.099Z" },
+ { url = "https://files.pythonhosted.org/packages/57/68/1ac8ef89245d0abee5b044e4aa70aff4a4fe4e300d491b6d9bba0feee0dc/blastdns-2.0.2-cp312-cp312-manylinux_2_28_i686.whl", hash = "sha256:a0357b73febd3990da35121d4739d2016ccf74249f9c1e526d9cf00c7f80c9ff", size = 2845057, upload-time = "2026-10-21T13:29:17.88Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/6f/6f94e22db9098476f761a6ddee6049efacc7e1ecc99a710ea8a9f28a73d7/blastdns-2.0.2-cp312-cp312-manylinux_2_28_ppc64le.whl", hash = "sha256:e4204d0a0a9e0e56d3d43b677bf26a13813e59b6bd85cc8bc8390ec553c591bc", size = 3849065, upload-time = "2026-10-21T13:28:53.729Z" },
+ { url = "https://files.pythonhosted.org/packages/f8/7c/fc0f360333e8f7b77ab5a9821a9562ac01fdbb2276596c7310bdd5daae8c/blastdns-2.0.2-cp312-cp312-manylinux_2_28_s390x.whl", hash = "sha256:8985294eabb789e36fd4d528ef3b210796f4c89e2ca0c03e39bd1cf06fad5cc2", size = 2796745, upload-time = "2026-10-21T13:29:06.302Z" },
+ { url = "https://files.pythonhosted.org/packages/19/73/8a9ddfdb913739d4181f6111a57ecff57537355473c567a8960b524c972e/blastdns-2.0.2-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:59af89f2991817e8d605d6e2d2e6d2e153b766ab417c945b3059de628825a852", size = 2648721, upload-time = "2026-10-21T13:29:34.119Z" },
+ { url = "https://files.pythonhosted.org/packages/8c/f4/36054709e1cedf98f3dd7dd9b6f798db5c70fa06f829ef3350d6dbda586c/blastdns-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f0283c185b46789dbac02e6c019c8d465d695f767f9732266a8b110826db61ed", size = 2902150, upload-time = "2026-10-21T13:30:07.101Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/12/0c7199251eb8bb0beb70a8a4ea11314c33a5bb5f18123ca0c892edbc5d03/blastdns-2.0.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:1f8bc08033d2526d5fcc61b2c7fce5622aee1624510fec7ef467368ba2c9fe42", size = 2871320, upload-time = "2026-10-21T13:30:18.624Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/a0/e3e4a735c722685fb9d9283bcaf792f9d152b4901c042fefb5cc529d2b38/blastdns-2.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b1ee68545be87db2150b5ea9b1d4dc3f6d2e930cd5f0fa241ae289f583ff88a3", size = 2955953, upload-time = "2026-10-21T13:30:31.984Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/e6/a256f662e14fb0f1523a850df73be1d46b421d91442d3ddb43e296729cf9/blastdns-2.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:5ea297b2f208d10c117f01a34eed0e04d722e51567c1c8fff44f4f0a4a74e9bb", size = 2964179, upload-time = "2026-10-21T13:30:43.62Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/ba/f6b10cfaa3d021c74ae6a35754b587ab794e4c49707b3fc9b391483e70c4/blastdns-2.0.2-cp312-cp312-win32.whl", hash = "sha256:2a396ccaca028a3d5ff1d37cb08c92f05c6e668c434aca59c6d2019e2ec216e6", size = 2401130, upload-time = "2026-10-21T13:31:06.13Z" },
+ { url = "https://files.pythonhosted.org/packages/c1/fc/cf64f2b8edc64b6d1293f06b5d03a059952c96e4b99178da8b861c439351/blastdns-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:b67b46e2d1f79ef48251ff8ecd2b3bf98287baf6af34d99f19318cfdc8ff68bf", size = 2903744, upload-time = "2026-10-21T13:30:56.703Z" },
+ { url = "https://files.pythonhosted.org/packages/50/50/4e0e4eb2ef4d0626fc7734b8b55b2210de969c45aea844854784614a07d0/blastdns-2.0.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:bf94835a33feebb66c7207ad622f8fa77d43a751a5ac174cc6a3812d90d0c0d9", size = 2839147, upload-time = "2026-10-21T13:29:59.125Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/f6/ec2599b4450cf0d140d0f25734b3122009142dbe02646b68d74e677b0214/blastdns-2.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3b45dc7e6607559646d447ef3b82b7bde96ec987c6c766b558fabe7bacf5302b", size = 2694503, upload-time = "2026-10-21T13:29:51.273Z" },
+ { url = "https://files.pythonhosted.org/packages/a1/d4/bb0add03da0fb80e3c63be3cceac1515bf628ec9f8356e01fc86fed70e4e/blastdns-2.0.2-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:e41e75d31bfe00cabe395dfaf239312f34383065cb93b59634b9250deb2fc652", size = 2725665, upload-time = "2026-10-21T13:28:30.689Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/8a/93a3683f4c756cdd1d53bf4c48c30806bfbe97d25a757c3c5c17f526c5af/blastdns-2.0.2-cp313-cp313-manylinux_2_28_armv7l.whl", hash = "sha256:3f99d2a06d08656c6e5fb52636cafb106cfe11be843657543d08fcdfef30e2f7", size = 2595656, upload-time = "2026-10-21T13:28:42.783Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/e1/dc209965e545aaa4420dc80b6eac05a8165c508b8d0437c36040f6f085ae/blastdns-2.0.2-cp313-cp313-manylinux_2_28_i686.whl", hash = "sha256:006fcd304e63c5704aff3491ee5b6d80d384758fb6ee7277b2d4a5268873b542", size = 2839494, upload-time = "2026-10-21T13:29:19.295Z" },
+ { url = "https://files.pythonhosted.org/packages/78/15/1dd0a62dcf027404a5b5e56a6237cf19a96442e33b8666ebe43ad5c01dee/blastdns-2.0.2-cp313-cp313-manylinux_2_28_ppc64le.whl", hash = "sha256:dc9bc38435d5e11425bcfb8ff062b781f7e210dbdd7c354f7b3f095375a6f8ec", size = 3846637, upload-time = "2026-10-21T13:28:55.485Z" },
+ { url = "https://files.pythonhosted.org/packages/77/4e/3c66040de62230d11525af3c860d0793559b3052670a9b0907b2b61571e7/blastdns-2.0.2-cp313-cp313-manylinux_2_28_s390x.whl", hash = "sha256:b86e96022af0eaa2e2cf4136293a485acb683db5b2142e09716ef13fa3ed3c70", size = 2793247, upload-time = "2026-10-21T13:29:07.782Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/5d/77f9afa3c3347a2bb4234ceb867e1572922e5ab3958e6c82405392d54707/blastdns-2.0.2-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:b4508ec5a95f52eb31d5e66d0494b9482d3d4c089ef66c7b728695d032f9ea68", size = 2648129, upload-time = "2026-10-21T13:29:35.427Z" },
+ { url = "https://files.pythonhosted.org/packages/98/18/b3fee15214bac38dcffc48edd9bae26f620cf09cb98252d83e39ae1d7983/blastdns-2.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:eb2f8a19412e6eb495eb052af156e0e51cb356559f6e4ca667a1453656e79168", size = 2902813, upload-time = "2026-10-21T13:30:08.615Z" },
+ { url = "https://files.pythonhosted.org/packages/24/9b/a90c9e131fac430f0ec5913ceb44682ccb3c9ffac90bc260b4473c6b2c38/blastdns-2.0.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:082cf808c89b7f88d4b6461109378ad263fe49a9794f19890961d34bfb9171ed", size = 2870735, upload-time = "2026-10-21T13:30:20.759Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/85/1e9c99a92397e20ac97af5eb38e3915b7a4040aa420be3e1f316b0046acc/blastdns-2.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ec78817a571d0ab36a9dc1b941fce9aa5be8279cd3a53b6a14354ad7d9f10ad3", size = 2952109, upload-time = "2026-10-21T13:30:33.314Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/f3/3ce25f4cbecd70c7035a3bbb8686efd1cf32baffb831afd041ca40912eba/blastdns-2.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3d4d3ceb0a539ab16eda97ea9314e9e6beeb6e466917bce6c246087d6aae9e8a", size = 2963788, upload-time = "2026-10-21T13:30:45.365Z" },
+ { url = "https://files.pythonhosted.org/packages/7e/38/0291d1cb9f4be10974b1c44714a0606841dd49561cd68526c488902acdcd/blastdns-2.0.2-cp313-cp313-win32.whl", hash = "sha256:5ac76d0ec5cd9033be4fa7d1b73d05945ab0d3ef9533abb322d9557a4aac4c18", size = 2403380, upload-time = "2026-10-21T13:31:07.558Z" },
+ { url = "https://files.pythonhosted.org/packages/29/4b/390884a18879da55bcac54707cf72f647424f88a93bc826b3592e0b39390/blastdns-2.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:b2333930b9416ac748c07cca65d0ad6c21b45087165833f691eee7c9a80179b5", size = 2901631, upload-time = "2026-10-21T13:30:58.068Z" },
+ { url = "https://files.pythonhosted.org/packages/58/3a/69c56de2e6fcc66b487a372757dc25086677b643ce61392418123697d5ad/blastdns-2.0.2-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:d48e630ffeb5c71d54343719406b5471c06b26692b2c259e6caf62578ee42595", size = 2841014, upload-time = "2026-10-21T13:30:00.512Z" },
+ { url = "https://files.pythonhosted.org/packages/42/84/3a851cab917a7f698b715efcb58be7dbb85cf449c2480ca4ccbda6cd36d8/blastdns-2.0.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0ec099c1746ac80ef75d3b2bf84e1e1e076a88be04b3ad6f98f2f1fb6480ef47", size = 2696872, upload-time = "2026-10-21T13:29:52.775Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/16/32c9357262ee85abd2c71652b5647a2e1e4babc2e4a40eb911ab264cc978/blastdns-2.0.2-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:c629de6b5cca6a77ab462e128d77bd641f2fa53b79634d6da5e696b0071bca93", size = 2725081, upload-time = "2026-10-21T13:28:32.385Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/e0/6202914fcec61de69929db07316992f561e14a0e455641ad5bb72f0d7bd6/blastdns-2.0.2-cp314-cp314-manylinux_2_28_armv7l.whl", hash = "sha256:d23e1d714e0fcbf2abfecf88f02b8f7d995a15c23c3fd05a34bf84f2acd2ba5c", size = 2598808, upload-time = "2026-10-21T13:28:44.143Z" },
+ { url = "https://files.pythonhosted.org/packages/db/a8/3bc237c2a4299c53f66d53c6e4b3e21b18d1e260f33f016e069ede66e9c0/blastdns-2.0.2-cp314-cp314-manylinux_2_28_i686.whl", hash = "sha256:61114bb2973e09899c639e161f3fbbc1e2a5e1586c2aaffeb0b4361090d39902", size = 2843142, upload-time = "2026-10-21T13:29:20.655Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/53/cd133f5e333dbeb2205981e4716a26aa713d257825d8204c6ecb4fec0df2/blastdns-2.0.2-cp314-cp314-manylinux_2_28_ppc64le.whl", hash = "sha256:f1c0c01b5f215f7722bfecf7bbec26ae7049f83afe08c78b2ae37fbb6b041b98", size = 3849121, upload-time = "2026-10-21T13:28:56.884Z" },
+ { url = "https://files.pythonhosted.org/packages/03/a8/9c30f98f33404fe68a031c22f116cb6717a0d0018a9b62ee512060a18f2b/blastdns-2.0.2-cp314-cp314-manylinux_2_28_s390x.whl", hash = "sha256:5b407ac370b9dad83a1a374e011b7babde797c9db0826107787d2450e5132159", size = 2793286, upload-time = "2026-10-21T13:29:09.281Z" },
+ { url = "https://files.pythonhosted.org/packages/d6/05/3da02a1971c7e736725227fa46f65cacc387cd8d76576b19212a0e60a598/blastdns-2.0.2-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:f39b6c5b7d76b192bd8f5104a6eccb9d72ec30c65d1ae0479ee412faf5ce4ccf", size = 2645593, upload-time = "2026-10-21T13:29:36.797Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/0e/f9a7b3c72c901005a643454d80d6347507b564c2acfe32476d0f3a908210/blastdns-2.0.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7d8ba800cac22f49c7cce9f685eb2140d3348bf83bc6395a196f4d74f0abfb20", size = 2904824, upload-time = "2026-10-21T13:30:09.929Z" },
+ { url = "https://files.pythonhosted.org/packages/5c/ab/1ab3b0b7dcd76fb69043f68c00bedcf2d4e94883197190a7011fa3e77248/blastdns-2.0.2-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:ad0110ec6f8b846b9aeef754aa042bd61f0bc5f10606ac88b18420b150fcb520", size = 2872510, upload-time = "2026-10-21T13:30:22.441Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/73/f08cbac6115a02adcf80d4f97a69206733ce64e76752b66a57a05c65a8d0/blastdns-2.0.2-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:28e9dd54cd33a28c5a359fffc2e3a3c55c809cebb98117151072cc63b8a90646", size = 2953931, upload-time = "2026-10-21T13:30:34.753Z" },
+ { url = "https://files.pythonhosted.org/packages/88/02/84d3eed77b0bee0f6a1883f5983831fadf2f80bf6885a204db3f52012b1c/blastdns-2.0.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:fbd983f09311e45f18a83602272059b829a7fa3a415f56427f584ea26b8776af", size = 2964115, upload-time = "2026-10-21T13:30:46.816Z" },
+ { url = "https://files.pythonhosted.org/packages/07/ee/6e067638c9f6c2f706b4ef4d82df7bc4900db7b2bf3b532ed125e29957fb/blastdns-2.0.2-cp314-cp314-win32.whl", hash = "sha256:0f2e7996928f5d4514e4ac5cb584b83afb40b646dfab350b4bb581a395684601", size = 2404237, upload-time = "2026-10-21T13:31:09.09Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/85/c0dccd55120de09e56ac15440a786c8b7ef54efade4b17bbf0c98d14c9bd/blastdns-2.0.2-cp314-cp314-win_amd64.whl", hash = "sha256:8ae1338ca0329426512c829101b15ba7fda9128fd919ff84038a75894cf02c3e", size = 2900152, upload-time = "2026-10-21T13:31:00.173Z" },
+ { url = "https://files.pythonhosted.org/packages/86/12/3783dfbb7550991ef9640ad08e2d3b0111498ce3bc308a043f8d5160d669/blastdns-2.0.2-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:6e575dee45fb6aee0cdbb44deb8b68a8b065a467bc512c27aba4267abe067f57", size = 2721527, upload-time = "2026-10-21T13:28:33.899Z" },
+ { url = "https://files.pythonhosted.org/packages/17/89/346f1aac8f4116b6e58be3b46addfbb83b71982ecb490d1159292952a25a/blastdns-2.0.2-cp314-cp314t-manylinux_2_28_armv7l.whl", hash = "sha256:31fa258b35e741c5d70cde7b72e25e4a2d74ee111f7140060f6f2887a223773d", size = 2597677, upload-time = "2026-10-21T13:28:45.744Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/ff/116e1adaaba067b51160e96625489f660174c6a0783a9042810bbc4e2375/blastdns-2.0.2-cp314-cp314t-manylinux_2_28_i686.whl", hash = "sha256:4cf7df8b32486b560452dab272a734639c7ce7a8df135b663ace6e06b45073ec", size = 2850974, upload-time = "2026-10-21T13:29:22.37Z" },
+ { url = "https://files.pythonhosted.org/packages/63/6e/8b412d71384d1bb0428fae50894bec7abe2abc66b8730a32ec9010822105/blastdns-2.0.2-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:59501b7ae45f5a486ab9078ecfdb9da43406729753c7b882ef2e33e96696ab99", size = 3849078, upload-time = "2026-10-21T13:28:58.404Z" },
+ { url = "https://files.pythonhosted.org/packages/66/57/42a92e7f6d2d953ebd969624e7fecf439a05440ca21f6d320d2a9525ff7a/blastdns-2.0.2-cp314-cp314t-manylinux_2_28_s390x.whl", hash = "sha256:aa0fd16d1c73876aa491c3ff522d9ee519e3205d1bb9763cef75f13fe2911959", size = 2792854, upload-time = "2026-10-21T13:29:10.704Z" },
+ { url = "https://files.pythonhosted.org/packages/54/49/94afad4c8b249c2a30a0e1b52c2194b277d28fe05b4291498fe583faf1ae/blastdns-2.0.2-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:cedf36c10b58bd70be3570282a620b28d0308166add98fe2d34cefc1366b8770", size = 2646353, upload-time = "2026-10-21T13:29:38.601Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/d3/1dff91877747f72550e961778c5c2912d28aec1c0601e3236fd26d5bd75a/blastdns-2.0.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:45b7064877c93cec28f736912400680329b6a44297e496dc274a5b64e7c1be89", size = 2899615, upload-time = "2026-10-21T13:30:11.593Z" },
+ { url = "https://files.pythonhosted.org/packages/24/e2/e401ba35dcee029790f6a9738c806c0fbd8edd25ca2b62829fb8393b9efe/blastdns-2.0.2-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:66c5b18ecadfde07e5669070258dab3358d42b6e04ee3d52fc511e690a9a883b", size = 2873623, upload-time = "2026-10-21T13:30:23.825Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/bc/0a762b23acef04d528a4d012f90f83bb35bad119fed18fe6d17cda523967/blastdns-2.0.2-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:06b68d26818c7afa23ec6b8398840a63171164812862debacb643e77ab32a0ad", size = 2964271, upload-time = "2026-10-21T13:30:36.145Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/5c/d2e111f2c87ed33629955400d7f67508ea41b71b3b00f90d9469dc5d42ba/blastdns-2.0.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:e519187adc8bd87323f1d8528786adda6d739312bb7a72d775850cb05c9aa061", size = 2963382, upload-time = "2026-10-21T13:30:48.458Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/1c/8ab8555b4b47b562fcfbb5767b35f10457d238a83fa1051391748fd99685/blastdns-2.0.2-cp315-cp315-macosx_10_12_x86_64.whl", hash = "sha256:3b3d23cb3de1db7b8ae66b0936abb0474d045b53607ab8cd5a102cd7807fbaf6", size = 2841340, upload-time = "2026-10-21T13:30:02.529Z" },
+ { url = "https://files.pythonhosted.org/packages/26/67/e5f1d34bee348ba7592cfe24687931d0129a54331d211c2a136f64a0395f/blastdns-2.0.2-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:92a40de43fe61ebb4e9c6b1ef724b4093332b09b9fd1d37f33e341120d66cdec", size = 2696573, upload-time = "2026-10-21T13:29:54.314Z" },
+ { url = "https://files.pythonhosted.org/packages/8f/3b/a77b0b1d7c90079e56ef34478e0f494867dc60e5df723278ec82be639c0d/blastdns-2.0.2-cp315-cp315-manylinux_2_28_i686.whl", hash = "sha256:c811c4d1b68865a876673ef331eeb3308fdf214a94c983bcbffc1b9eebd4c096", size = 2843604, upload-time = "2026-10-21T13:29:23.785Z" },
+ { url = "https://files.pythonhosted.org/packages/71/40/8719fdb891fe26f9c71fe50233abe4164365f5bccb1403f47415d36c7eb2/blastdns-2.0.2-cp315-cp315-manylinux_2_28_x86_64.whl", hash = "sha256:57b4ad8e86da16ded58e814e360cc5babace59fee1b6bccafca8c6ec92dbaccd", size = 2646010, upload-time = "2026-10-21T13:29:39.804Z" },
+ { url = "https://files.pythonhosted.org/packages/df/fc/295f16abc7e903aaac42964b2f63b7dc7b9ab45b272ef779bfe74e4a5292/blastdns-2.0.2-cp315-cp315-win32.whl", hash = "sha256:787d89b829fbf25acc93f084eecd94ecabdb8de68c7ef05f8f71b76ce228f2fb", size = 2404661, upload-time = "2026-10-21T13:31:10.41Z" },
+ { url = "https://files.pythonhosted.org/packages/8a/59/b44a206da6b9afd1c717a1c71c5974c50f57e332af60d3ed726724e92288/blastdns-2.0.2-cp315-cp315-win_amd64.whl", hash = "sha256:bde5d6a1efcc38932ca399a9d112e553900ebb95ce274b9777c10975268fa993", size = 2900335, upload-time = "2026-10-21T13:31:01.84Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/c5/8f797d0324b8b0562085c548d1b1c5744394bf0e6bbfc0da6d65f3a5eaf2/blastdns-2.0.2-cp315-cp315t-manylinux_2_28_i686.whl", hash = "sha256:bb27e4b5f2e185aa83017b9a369e9c0dc85dd01fa512f1a0232275c8649ab33a", size = 2853216, upload-time = "2026-10-21T13:29:25.571Z" },
+ { url = "https://files.pythonhosted.org/packages/00/c3/833c7c39870ce192f2b58fccd808fc2a1cc0156859dcbec74573db735961/blastdns-2.0.2-cp315-cp315t-manylinux_2_28_x86_64.whl", hash = "sha256:56917eb2603a451fe8df81a889b8427b39846cfa47b2bb0ffe7a9704e5287915", size = 2646792, upload-time = "2026-10-21T13:29:41.421Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/5b/e492899c48596a65134bf6445d61a9dc19335bdb51866f3369d9c9be78a8/blastdns-2.0.2-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:2a79825997a1d2347528b5a225d4b338258ea6cae60866633780145eaace3507", size = 2733523, upload-time = "2026-10-21T13:28:36.771Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/c9/e69235b99ff9423f34f8af9c4d52a00b88bb5ce09f25b89e9cab69ccf7ec/blastdns-2.0.2-pp311-pypy311_pp73-manylinux_2_28_armv7l.whl", hash = "sha256:9a3d4acb8008a9b89de64566201c89d756e8aabe473087e300fbd4707133f012", size = 2605088, upload-time = "2026-10-21T13:28:48.728Z" },
+ { url = "https://files.pythonhosted.org/packages/76/22/6950506b039e42760abd3f3366a78ea893f3106750da6c3b4ca66f450cdd/blastdns-2.0.2-pp311-pypy311_pp73-manylinux_2_28_i686.whl", hash = "sha256:12fca0220e21c33aa2ee22c201309312e6b6b2db99348fed97a8e69d8660d1d3", size = 2852018, upload-time = "2026-10-21T13:29:28.412Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/8d/9b44f1eb6c4fee658af25c9ecffb1e351ec3f71ec9ea33f9c3675475e354/blastdns-2.0.2-pp311-pypy311_pp73-manylinux_2_28_ppc64le.whl", hash = "sha256:af8bfb9a83c4e12c4a88b9da05e13e79b40bd5633188c2f35d6df5cbf5d900aa", size = 3862500, upload-time = "2026-10-21T13:29:01.278Z" },
+ { url = "https://files.pythonhosted.org/packages/32/3f/de1f2e802a1f3988300ee7abcb62dc3792a6ae419b5b977902e8501c1d95/blastdns-2.0.2-pp311-pypy311_pp73-manylinux_2_28_s390x.whl", hash = "sha256:7ae3e85541bd0d65eba1d0bcca254692ddbfcb3dc3971f106a0fdd178da08381", size = 2800563, upload-time = "2026-10-21T13:29:13.398Z" },
+ { url = "https://files.pythonhosted.org/packages/30/77/b6b22a8bc46995785b250918024651ed96bfe763d262764d5f3474e0393c/blastdns-2.0.2-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:2b9553333e54725926be805766f391202c9df066f6a0f6071d4427f6a9dfaac9", size = 2658824, upload-time = "2026-10-21T13:29:45.066Z" },
+ { url = "https://files.pythonhosted.org/packages/05/f2/2db47da3829b7abba2daf75307fa87f569faf2147ac336c1e4eed4e047f5/blastdns-2.0.2-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:6c9870a9865106dfed4d861ec8f245a91f910924df1d89fdbace71a8ae299580", size = 2910256, upload-time = "2026-10-21T13:30:14.648Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/af/36afeae2fa295068c899ce232dde07aa15ce3f38afeca538239eb6319383/blastdns-2.0.2-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl", hash = "sha256:1df818f431bab63a698d917a4455651238c467e9c01b7931f5b77c341a6984f2", size = 2878658, upload-time = "2026-10-21T13:30:27.142Z" },
+ { url = "https://files.pythonhosted.org/packages/51/34/61a2d7055642764809d55dd87a1b14ff7e0cbe1356d4b2fe766a7772e931/blastdns-2.0.2-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:d72dffbe78568de9e75c3dd4f46eae44012f4e81f47bc3f4fcd4b2a1f306d1c2", size = 2962009, upload-time = "2026-10-21T13:30:39.416Z" },
+ { url = "https://files.pythonhosted.org/packages/1e/a3/a46e317abf2fd9f023fa16b38ea71d862c2daa41d9408417ecaed4223377/blastdns-2.0.2-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:369603317d77c348d4df80207025d7e286a81c56ed7e276747c4e408237257cf", size = 2975536, upload-time = "2026-10-21T13:30:51.476Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/10/edc5c3f0f2a59deb3dad9095aa1b439b3c467ec1f8ea268fa30bf513833f/blastdns-2.0.2-pp312-pypy312_pp80-manylinux_2_28_i686.whl", hash = "sha256:fbeb6a5cafbd0c987b03015d76b7d49ccd3f57ec88e2e00bed643aa94dbebb82", size = 2848102, upload-time = "2026-10-21T13:29:29.827Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/fd/978907909742adf7e4b69ee4cca642c2b783c05a84b11db4678f29d42712/blastdns-2.0.2-pp312-pypy312_pp80-manylinux_2_28_x86_64.whl", hash = "sha256:523a1163f5e7b1ba4b119635abb1cc1b1b73cb87c98e70e7a4c8ef9a763ada22", size = 2653652, upload-time = "2026-10-21T13:29:46.728Z" },
]
[[package]]
@@ -461,16 +445,6 @@ version = "0.10.1"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/90/c2/082a4f3ab60863d8d8b345e8ab28d93b206d9fc3a1482220ae98c928ef92/blasthttp-0.10.1.tar.gz", hash = "sha256:480f2d128f59779ea569e8aeddee65c3eb613fb83649682896a27bce74d2bb39", size = 197387, upload-time = "2026-10-21T13:22:09.24Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/0b/e7/730ce14fd163732484d56bdfa2df7ae46af7305225c7f03b781dc642438a/blasthttp-0.10.1-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:40ebc473d41437427abc827e5e5cec464dbd09d26cac848029a475ac3d3df2fb", size = 5179028, upload-time = "2026-10-21T13:20:40.73Z" },
- { url = "https://files.pythonhosted.org/packages/e8/91/85f7432d1c2a0232fa1d9405e36a90ea27a29251f19bc4275806852f2afa/blasthttp-0.10.1-cp310-cp310-manylinux_2_28_armv7l.whl", hash = "sha256:056cf4c37b37d15f35f321b590f830f36a6019217d526ec8eb0670482cb330b9", size = 4433988, upload-time = "2026-10-21T13:20:50.435Z" },
- { url = "https://files.pythonhosted.org/packages/f2/33/60f373f0fcf414648916559ebe1ce21db1f4972a08f4a815746cfaadab39/blasthttp-0.10.1-cp310-cp310-manylinux_2_28_i686.whl", hash = "sha256:23e8501b9162d1cbc4d392b5d1dcda4200355e9993adf8f6dd75ffdb3f34e7a3", size = 5108404, upload-time = "2026-10-21T13:21:16.754Z" },
- { url = "https://files.pythonhosted.org/packages/0a/a9/a1606b50267407e38dd8ac4234a91a5330f506403a392b0f2816d7502083/blasthttp-0.10.1-cp310-cp310-manylinux_2_28_ppc64le.whl", hash = "sha256:dab908ca3d5453891da928bd05abdc04904b88292025a5d1d03e67577f266e59", size = 5114769, upload-time = "2026-10-21T13:20:58.629Z" },
- { url = "https://files.pythonhosted.org/packages/74/c7/25bec734a414244ab5cb284a73cfa65acff36bf2b0a8e50d8aeff9ee4329/blasthttp-0.10.1-cp310-cp310-manylinux_2_28_s390x.whl", hash = "sha256:51caa80e1454bd9bdf46e570dc1b9232cc69d699905468fae02446555bcdb126", size = 4700258, upload-time = "2026-10-21T13:21:08.105Z" },
- { url = "https://files.pythonhosted.org/packages/b7/e9/c2f751cf2d143fd1f13cd916f95f3aaba23813771d4222da5c846e3ea284/blasthttp-0.10.1-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:886c421d47bca0af996aba3bcff1e731eeaec1ae4ff7b014ff923b700e7096f5", size = 4770067, upload-time = "2026-10-21T13:21:25.801Z" },
- { url = "https://files.pythonhosted.org/packages/ed/f2/4f78bdb437bbcf0772d4b50effd53a43843651bbd44d1373709b7ae198b0/blasthttp-0.10.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:bf88105502b79f7cc4052a9e716406f6d7bfb0db8b14253a049e74ad46954435", size = 5466503, upload-time = "2026-10-21T13:21:34.394Z" },
- { url = "https://files.pythonhosted.org/packages/74/ae/75514d7fdf64e820edd6daffd4ee6801ddab6cc46aa743b09c130a31804c/blasthttp-0.10.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:9e0fac0acb82a359a2646cce4bed0b5d522f3496c7b53d048bcb03fdda917d2e", size = 4736629, upload-time = "2026-10-21T13:21:42.81Z" },
- { url = "https://files.pythonhosted.org/packages/28/6d/f5995657bb760f454619a5a992e33f9d4a3a952233c7d1ea46f293dadb81/blasthttp-0.10.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:94d7748736ae71fd22c5320c4c3ef54f904a4de4b8e03e8a1433c02b23da40cb", size = 5239468, upload-time = "2026-10-21T13:21:51.695Z" },
- { url = "https://files.pythonhosted.org/packages/f2/7f/d52def0d69b9b525da84e067a7d929e5a1766999c3775488b4d4a347e1f1/blasthttp-0.10.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c86bcffe5f497de66f88660bc7ed23aec8f4da5cd7db0df88e2bdc29d62cfefa", size = 5173353, upload-time = "2026-10-21T13:22:00.715Z" },
{ url = "https://files.pythonhosted.org/packages/0f/2c/a9384029d47f7527e2ae8e5b928455de73395064956ae21666a5e5f7dd8f/blasthttp-0.10.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:d62695de1f1d462568bc8b2490671690fbd919011a2ebb2b71e4116b91cb5edc", size = 5177987, upload-time = "2026-10-21T13:20:42.526Z" },
{ url = "https://files.pythonhosted.org/packages/e3/8e/0c3c0fd5fea8a2c6875f3fa290c6a75209d3e41eba411e9bc8d48d0e209c/blasthttp-0.10.1-cp311-cp311-manylinux_2_28_armv7l.whl", hash = "sha256:5fad1545b2894532be6a571d3af47267bd45da0b163f7d98b105778e3635e5dc", size = 4432780, upload-time = "2026-10-21T13:20:51.857Z" },
{ url = "https://files.pythonhosted.org/packages/d6/d6/a5c5087702a1a27ed212acab9994e3dd651f594e7eac3465468b6d3f0f58/blasthttp-0.10.1-cp311-cp311-manylinux_2_28_i686.whl", hash = "sha256:64a497edec714a8f9d48bfc37c99bfb324512a21643e162a96ea247a22808dd6", size = 5108256, upload-time = "2026-10-21T13:21:18.121Z" },
@@ -511,125 +485,16 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/9d/33/beb2f1db4b8993d9e0918381935940c4a9d04089611351c8cee7f4ebfe0d/blasthttp-0.10.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:94fa034d21c2cc5302e6d7d2815fd07448670deb882c566ebf21318e0da99559", size = 4730912, upload-time = "2026-10-21T13:21:48.772Z" },
{ url = "https://files.pythonhosted.org/packages/9a/05/0f9665f1e4826e00f5b5ba8bb72872c79f66dd88e969d5706cd328ffe0c8/blasthttp-0.10.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:f4bf2aebf22148261770e535156f99f35dad7d697c5858a3b0bf3dccf1caefa2", size = 5229645, upload-time = "2026-10-21T13:21:57.721Z" },
{ url = "https://files.pythonhosted.org/packages/59/a9/1c7d4d085416e9ecf0a5dc6b3606ba1095003fb4430341821307d4109771/blasthttp-0.10.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:dba11a45a98d9996d0c82143084f968e7cc404b5c2aa00c51258f427654caacd", size = 5175100, upload-time = "2026-10-21T13:22:06.513Z" },
-]
-
-[[package]]
-name = "cachebox"
-version = "5.2.3"
-source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/36/f6/85f176d2518cf1d1be5f981fc2dadf6b131e33fefd721f36b330e3434d6c/cachebox-5.2.3.tar.gz", hash = "sha256:b1f68246685aa739bbbd2734befb1465363a1e1042407c154feadb065f17a099", size = 63686, upload-time = "2026-04-10T12:21:35.028Z" }
-wheels = [
- { url = "https://files.pythonhosted.org/packages/13/9e/88193fcb7a2a43fe8ed9d9888374d43fa5c7176aa802651e68b28f1aee4a/cachebox-5.2.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:c2c89720547271d36e10cad2c7302bbe11f46eb39eead0a2c321c2d371b8f8b6", size = 374393, upload-time = "2026-04-10T12:20:20.424Z" },
- { url = "https://files.pythonhosted.org/packages/98/8d/e0b13d9bfd43f295cce7824ebaac1970f818a7027c16f290de404934cafe/cachebox-5.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e7f33d24e90dc8aa26762e25898c91a1223b66685420a28a3628fa2e006924f5", size = 356318, upload-time = "2026-04-10T12:20:07.518Z" },
- { url = "https://files.pythonhosted.org/packages/bc/02/8ae1b63dbdebb2ebf600523f48b54e9bfb10db5a28551c3432346f49e1dd/cachebox-5.2.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:56cb03ec6289a2ac5daf7422d755683324f02d821bfa796087100df2a7ebd5de", size = 395782, upload-time = "2026-04-10T12:18:50.054Z" },
- { url = "https://files.pythonhosted.org/packages/e4/2f/79a8a0057f354581c25a1a00ddabbd5db4b8631d192670d7a0cc4271dbb7/cachebox-5.2.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a71a71df463ba4c86bc843fa01c3a2a721033adefad888af28c6b65e1915a75c", size = 353194, upload-time = "2026-04-10T12:19:03.083Z" },
- { url = "https://files.pythonhosted.org/packages/3b/57/a1fead35cf481432bd87def0653cd4a069b1ea5847589255795e49ae74b8/cachebox-5.2.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bbe4655371d19fc9f4f5874312bcb6e5b5b6182989979ac33d93c34c8d10c012", size = 371090, upload-time = "2026-04-10T12:19:16.019Z" },
- { url = "https://files.pythonhosted.org/packages/8c/58/53f1fab8bcc3238fd6c533ef3ab146097986a8acb722863c688a2410c1b2/cachebox-5.2.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4974476d1779961df89d6e6f79e6103a1659289d3ee11c92adcb52e236a8aaeb", size = 390902, upload-time = "2026-04-10T12:19:28.258Z" },
- { url = "https://files.pythonhosted.org/packages/11/2f/5abff74666f8388d2c9516c265f99c33484c827f7fcb3cd703c2f3cbb17e/cachebox-5.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad16d733219f4cab3eec6533af30ab7b9c919c6e3e22ad1ef4eb82629a62edef", size = 395855, upload-time = "2026-04-10T12:19:54.207Z" },
- { url = "https://files.pythonhosted.org/packages/dd/11/30b429db12ab5df663aa108bcfac42805f733da65b0bf452f60bfaf4a530/cachebox-5.2.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:12a9e0a93774ca2b3a9fe8a2a0d0812e399fac4af0fce6246a5bca1e7009b8fc", size = 425760, upload-time = "2026-04-10T12:19:41.138Z" },
- { url = "https://files.pythonhosted.org/packages/cd/b4/fdac1bb902b954c03d23eb301d645a328c9664caff5898930fdbd92fde80/cachebox-5.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:be89497a011eb7a638d13cc520244d77579c0f515b95bf759b3de0b90a015203", size = 564988, upload-time = "2026-04-10T12:20:34.673Z" },
- { url = "https://files.pythonhosted.org/packages/4e/63/76cd5405b0339f15bf86593258bf9bc5608f10a5e0fa6f37a282b42a6caa/cachebox-5.2.3-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:dd01fc0c1934cccb76493eb4b149a9232d299e5e0275f557adf875c3d25cec81", size = 669110, upload-time = "2026-04-10T12:20:49.039Z" },
- { url = "https://files.pythonhosted.org/packages/d9/bc/52d154aa0407bafce94d1d8d3ff27ca5e842f8311be43cfabdefcbb0f6b7/cachebox-5.2.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:a0dfd97b0968f8bd48c33098a03d10f797964559c3a437c84bf97a9973545714", size = 643768, upload-time = "2026-04-10T12:21:04.095Z" },
- { url = "https://files.pythonhosted.org/packages/51/d9/82627eb8cecaf5e7e601bbc65d474a1c3053a2fbc21618ddc6aac19c47dc/cachebox-5.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:223ccf7ac60f595def258e7bc74c0b1d6f43991c9cae6d06749c803d22786d99", size = 610047, upload-time = "2026-04-10T12:21:19.469Z" },
- { url = "https://files.pythonhosted.org/packages/6e/2e/cc5b303746418fde00c93ddbc295733b4e2d131d2e8f5afbc6f45f50454e/cachebox-5.2.3-cp310-cp310-win32.whl", hash = "sha256:745b805fdd99931c3ce1d87d2ee21ca3fb62cba6b4e1f674907af87aad73dce4", size = 275529, upload-time = "2026-04-10T12:21:49.84Z" },
- { url = "https://files.pythonhosted.org/packages/31/72/fb10d6f779d041f701b89f0b7830329f51d1846fbc600869f9f7d635b7b5/cachebox-5.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:a87b19c0a3d8d665a9805b5b4afd64b40082395b70ebe2756131ed1edb0c8f02", size = 287988, upload-time = "2026-04-10T12:21:36.41Z" },
- { url = "https://files.pythonhosted.org/packages/81/88/154179d492f2c000fe6efab3c3ff6b8eb94fbfaa09efe47999bce6b1e29f/cachebox-5.2.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:996f49d04b234082530afcc650bdd00556afbebc19c6c0daaafb85950340cb3c", size = 374245, upload-time = "2026-04-10T12:20:22.042Z" },
- { url = "https://files.pythonhosted.org/packages/7d/9d/3b03f2e063161bcb1a5e0969d521b5c622c2da02252a5c8bd4ef0e4f9914/cachebox-5.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:23a3300ebbb526fa12ce6fa53699002f5fba6da23b4bbbaf8ba8b18a3f03e6b3", size = 356308, upload-time = "2026-04-10T12:20:09.149Z" },
- { url = "https://files.pythonhosted.org/packages/bb/9b/8da38af731e3832e9f987548e4bfb610d7f3054019e12c44a94ba9272b37/cachebox-5.2.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79c63ee1589364caa04c018405e625d2e44e0bf9994f2715b2f322075d8c45b6", size = 395666, upload-time = "2026-04-10T12:18:51.89Z" },
- { url = "https://files.pythonhosted.org/packages/01/dd/1522aa808f94c904c5eb3640991799fed14dd43c1dd99a9f7b71bd95b1e3/cachebox-5.2.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ebd0f8d4ebc3943c1ddcbbdc54f1a8ddf95505c862ed5731319cebd1eb98ae41", size = 353362, upload-time = "2026-04-10T12:19:04.536Z" },
- { url = "https://files.pythonhosted.org/packages/dd/52/95bf883ec9b69a76f3a7d9fb14d015d9a4bdab0143a3eff62ceebc8b1419/cachebox-5.2.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:569966efcc6309aa7d774443e3513cdbb8671efae0158138ba2ebb7d8cc9d8ed", size = 371007, upload-time = "2026-04-10T12:19:17.484Z" },
- { url = "https://files.pythonhosted.org/packages/4b/3d/cc02066d5ccfcb8b35adbaf867977fdb54572cda56ace56da396f0caa3bf/cachebox-5.2.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5774d06f0da37dd566239a4376d6ca8cf983d3e4c3228712ec22b4130f662f21", size = 390670, upload-time = "2026-04-10T12:19:29.685Z" },
- { url = "https://files.pythonhosted.org/packages/b3/50/8e4d59b3e344405d8393d6cc5cc92754d3cc1d81134041ebffd3f5ab73e6/cachebox-5.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ae5bf8755bc66bcf42e7ca5c42d703a041a7aaad58f9a0c3be54d5b1cefd2641", size = 395765, upload-time = "2026-04-10T12:19:56.169Z" },
- { url = "https://files.pythonhosted.org/packages/e5/d4/d731cff1c4cec22404bd3ddda05b233c5efaa5f13d7abf4e2728905b7cdd/cachebox-5.2.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:63f061cc6a5ca70bbce2e6be0588fe2fee00a93a1b0581b1086d54b10288cdb6", size = 425707, upload-time = "2026-04-10T12:19:42.714Z" },
- { url = "https://files.pythonhosted.org/packages/36/01/3ec8aadceb0dcc66dbd0b9b32966cf7b6928ed84471424c24d21b0af62d0/cachebox-5.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:577c781f18b559f4dc9eea176c6aed008843ef4b8e045cf61bb519e09dccc9ef", size = 564759, upload-time = "2026-04-10T12:20:36.268Z" },
- { url = "https://files.pythonhosted.org/packages/db/23/31cbc8623ecc2e25900f7e8f20f11bfb84786989a59a8046e70b27cbea6d/cachebox-5.2.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:7f691e25572a3ddbb018e19d796f774713bd6b0f7ce9be2e71f6e18572de264a", size = 669309, upload-time = "2026-04-10T12:20:51.117Z" },
- { url = "https://files.pythonhosted.org/packages/34/29/5a9e92bdc7b32dc865e73dd776638244f900136daee5bb0591a67e1530fa/cachebox-5.2.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:33368adf86669c29b936fbae5d6219cf90aacd4b1db71dae2e23d584a8219cd6", size = 643705, upload-time = "2026-04-10T12:21:05.882Z" },
- { url = "https://files.pythonhosted.org/packages/04/90/5273a412855fdc11f674e4749aee6d5ec0a91f5c1a9f6e922f7fa0cb7a83/cachebox-5.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:38ce67b7b45713e49459a09411d07f82de04022c04aecde6202cd32f934c2b1f", size = 609751, upload-time = "2026-04-10T12:21:21.331Z" },
- { url = "https://files.pythonhosted.org/packages/a1/a4/0fadb5e6a00f373cc3fe56b4415cdea2fc0147f6ec475611762d16eb4b05/cachebox-5.2.3-cp311-cp311-win32.whl", hash = "sha256:a7cd2c81347063ab6c512d0f569aeb5f75fc2dfe686c8486258ffd08052324f4", size = 275485, upload-time = "2026-04-10T12:21:51.563Z" },
- { url = "https://files.pythonhosted.org/packages/03/83/67c1bf83f815294d2c3acd7631f25b5cbe6067e1d56495f76829dd60057b/cachebox-5.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:7e45798d6b969794840bb302857946d710ecb32af78dfcb3ab40f4e68ee7fdaf", size = 288024, upload-time = "2026-04-10T12:21:37.999Z" },
- { url = "https://files.pythonhosted.org/packages/e4/e7/6fa6abfc9c4c07b88f09a88466fa93c7081fd679d8e06f8f558bb4ac845c/cachebox-5.2.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:09c0340e9daa7b4530801e5a570cb0c1a1ad941a85d245d360020d3986d0e787", size = 377791, upload-time = "2026-04-10T12:20:23.87Z" },
- { url = "https://files.pythonhosted.org/packages/3a/79/89e4423352d0ca33bbf80fc1b4b665e654a93de8b16cf41e96fcac81801a/cachebox-5.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f3162758792626685ec34950eedd565d015b115d0ff0d751d2716031fc32d51b", size = 359562, upload-time = "2026-04-10T12:20:10.626Z" },
- { url = "https://files.pythonhosted.org/packages/d2/ab/e533c2751e6a3411ebe369277aaed03199b9e4586a48f0a3712a1f4b418b/cachebox-5.2.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a189a780c3ccd7b9d157074ba6bf3e191e522b39abbdb590075111851f02d50d", size = 397910, upload-time = "2026-04-10T12:18:53.336Z" },
- { url = "https://files.pythonhosted.org/packages/7a/0d/b8492d6ca53278499a37c9f9d51afd4ad77bfbe813d6281944d45b97a1e7/cachebox-5.2.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:410b67baa99d433644199b11289627f7ebba4ee5786f95ca9858f238afcee157", size = 353699, upload-time = "2026-04-10T12:19:06.248Z" },
- { url = "https://files.pythonhosted.org/packages/78/d4/fd20b3a5362651303fa12d3ee62f56af2bd396e4a7303d7014a1a1e5b392/cachebox-5.2.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f81474dc19d3865fa5e57263f834bc6bbc00e471a594fb9d934ed552732c02fd", size = 372510, upload-time = "2026-04-10T12:19:18.997Z" },
- { url = "https://files.pythonhosted.org/packages/71/94/3ec55c946d300cc4eaed3a0f79740051ac6e11ef4032421332c6ca15f5d5/cachebox-5.2.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:85ccd827193b3e3e887a88a16b88ef7ed174e7e65be515b5253322aa75e665c3", size = 392802, upload-time = "2026-04-10T12:19:31.196Z" },
- { url = "https://files.pythonhosted.org/packages/01/b1/1a3c4e436ad8a4c4ba3e70f4c62e1f927cbbb3c943a9bba5813b8b815bde/cachebox-5.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2a1e7d3cb8a5e7e68996a8619e3ef8771a124d14568c251f9e586eba88d759c1", size = 398223, upload-time = "2026-04-10T12:19:57.583Z" },
- { url = "https://files.pythonhosted.org/packages/0a/ea/d36ad3976c4396b350b96a1582411b7a00e56c144eec0bb5ba5f36ce7d86/cachebox-5.2.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:adcedfcfcb933b21e7fdcfe560c79887bc8287abceab0586aa3730417dd0277d", size = 427696, upload-time = "2026-04-10T12:19:44.361Z" },
- { url = "https://files.pythonhosted.org/packages/a8/36/71845b5c7a9ffbd85e6fdb470c11a174f499bd5238fa37b1214157c2454d/cachebox-5.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c7f0c72c51a3a9e7049ea6ff2a43cd3877ab7fee966eb65771a59621563b75e3", size = 567854, upload-time = "2026-04-10T12:20:38.357Z" },
- { url = "https://files.pythonhosted.org/packages/e8/a2/baf0e5a8392e64e352b137ccd7356b3d98068c842fd19f510a7790c05d34/cachebox-5.2.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:c48c10e498d573511aafbd545570e7f43b40a7428dc282183bf5adc334d9e1a8", size = 670306, upload-time = "2026-04-10T12:20:52.903Z" },
- { url = "https://files.pythonhosted.org/packages/a5/22/cd4e4c1d624b8ef9fb4b8bebf0bf5d2d74a399cf1ac46b667bb79d15359a/cachebox-5.2.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:2f1e086ab5ffd082a68bb63699d517655a59b06414927bfc84e01df91b81e34d", size = 645943, upload-time = "2026-04-10T12:21:08.238Z" },
- { url = "https://files.pythonhosted.org/packages/0a/d6/55859981f5ec6a9e412baaa4db6aa5973a00008750b3f054cdefcb6491fc/cachebox-5.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:649d18399f13735bb82daa33800196f815529c49e967767c40ca221723e68afa", size = 612309, upload-time = "2026-04-10T12:21:23.404Z" },
- { url = "https://files.pythonhosted.org/packages/d7/1e/313f650467ac85824c4199188f8f1ee3386cd12eb665dbf7c88d372e4956/cachebox-5.2.3-cp312-cp312-win32.whl", hash = "sha256:0a17aeb4e5b1c6ef1c3db8fc5186f9986e215ba5ea5a5d08baa45bcf55f261b2", size = 279789, upload-time = "2026-04-10T12:21:53.215Z" },
- { url = "https://files.pythonhosted.org/packages/c5/50/3b334f887accfa811cf5c7533b8ce22c523eb009363a86401198899dadd2/cachebox-5.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:cfd69114141ab362acaa2099e425a1b965cf7b021a539a4e953143d593930b74", size = 290917, upload-time = "2026-04-10T12:21:39.696Z" },
- { url = "https://files.pythonhosted.org/packages/31/3b/16d5c295f6ec2913ef595b39986dc7b7cc179fdd2e73f5ebd1814c38fd51/cachebox-5.2.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:9527c5c70f8735f2d696331d8bcf77254f03b4dc8542046807823bd36ed4e8ba", size = 377408, upload-time = "2026-04-10T12:20:25.444Z" },
- { url = "https://files.pythonhosted.org/packages/cd/87/45f834154f79721e5b64a80ffab4f9710834c4f9c01fa977f94a9116c32a/cachebox-5.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:40ac878af00d5969862c1f6bc076de1e34ca248662fce6aecca1761f52e33e32", size = 359274, upload-time = "2026-04-10T12:20:12.127Z" },
- { url = "https://files.pythonhosted.org/packages/46/17/794e5f93e0a172aa14ecd692f6d89bdf094f71eb35fa923d0a0af25cef1c/cachebox-5.2.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b5ff26bfd8f7e95b3becf6d5f65c25edaca50fa68078868648b70d79bcccc260", size = 397520, upload-time = "2026-04-10T12:18:54.807Z" },
- { url = "https://files.pythonhosted.org/packages/23/19/9470b1a96de6e480192b1a92b2fafa72aa052efc2509a5418a5652205b33/cachebox-5.2.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:82e7002dd343afeeba2fcf0e483131b342a27ec3bc34b2214dc617691bda40d6", size = 353183, upload-time = "2026-04-10T12:19:07.797Z" },
- { url = "https://files.pythonhosted.org/packages/6c/2b/72813f80397ed4640e337cbd1a14ab7eaafe33e479291d3623b6a6a55fec/cachebox-5.2.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ccbdc54a6c4b5758408c1083bdfa217bd382894a8331c7d0a54b84ba0cf51e5b", size = 372239, upload-time = "2026-04-10T12:19:20.44Z" },
- { url = "https://files.pythonhosted.org/packages/05/17/47dc9687288fa55486573627089ecd9aae124de5924a4bce008af96d80b6/cachebox-5.2.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:df5135a168f143d186b1cc3be0ca16b66446897ab5cedc03bd80bcc926fcd403", size = 392568, upload-time = "2026-04-10T12:19:32.73Z" },
- { url = "https://files.pythonhosted.org/packages/13/95/450765b971a3bed9d7cf003c3833c1976482eb83b0241b6dbb840a25b43b/cachebox-5.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10bedf96db8f9766cc956f9adcc623e604264e5d6fa2e255432f8c2ed7519143", size = 397920, upload-time = "2026-04-10T12:19:59.314Z" },
- { url = "https://files.pythonhosted.org/packages/5f/3e/dd8f4c1f92e58d479913ce9cbaa3227c911128e6046c82f4fd44309f685a/cachebox-5.2.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f22732d0d69bb84ad2dca7480bffdfd0430c647152d488936e152ecbbfee52fb", size = 427332, upload-time = "2026-04-10T12:19:45.888Z" },
- { url = "https://files.pythonhosted.org/packages/7e/20/80d8c26ce63e78da3874a5bb07a3a78de53a2b0356ba80583a4927f0a074/cachebox-5.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:26ae0b68979204d360327f4c0725cfdc95cfc34ab73ab1a8f528e3bd2f6d023c", size = 567494, upload-time = "2026-04-10T12:20:40.373Z" },
- { url = "https://files.pythonhosted.org/packages/10/35/7249885dfed3602b3b48c1e67781197dcdc536c50f72caeabe3944348af8/cachebox-5.2.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:f3d628b816e28a6e7661d460e02dd5b421247cc2cd275814f80ea79621245fc4", size = 669968, upload-time = "2026-04-10T12:20:55.155Z" },
- { url = "https://files.pythonhosted.org/packages/2d/8a/e5b58f0bbd6fef74da5d8e5ab49e67898ce7e6df28c16280a0f2b78461f7/cachebox-5.2.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:64057caa6b741320655cd3c5997fe642dae5dbff571eb530e6f53e58272bb43b", size = 645547, upload-time = "2026-04-10T12:21:09.948Z" },
- { url = "https://files.pythonhosted.org/packages/d8/25/51783a4c6f25ca87ef1b4b762ff0364bd98053a02d597b30d26ff4cf13c5/cachebox-5.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa325306084aa2dc0b21e07723d7700f4d43dece3732c7fdaf7a269dc5e35aa7", size = 611844, upload-time = "2026-04-10T12:21:25.286Z" },
- { url = "https://files.pythonhosted.org/packages/c5/c5/b26c4b046e296d0e249448fe297626b3caca2e851837712f03c358662cb7/cachebox-5.2.3-cp313-cp313-win32.whl", hash = "sha256:55003089d21c2f5515089c307be063b45558e884a4a1cc9593944374c89975c4", size = 279421, upload-time = "2026-04-10T12:21:54.921Z" },
- { url = "https://files.pythonhosted.org/packages/e0/7f/a49420670393bfea618de7a893d45cae9294cf3293d7b158e7af20e8f39e/cachebox-5.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:dcc5edb6ecf2b516e90b773d232360c5e4ed8fdcda038b19441da2ed9cf208ab", size = 290702, upload-time = "2026-04-10T12:21:41.458Z" },
- { url = "https://files.pythonhosted.org/packages/c9/0b/bf83bda13ef6fc490d208a1d4dd712034624526a88f61713cca0edc9884f/cachebox-5.2.3-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:a4b7559fa4994c4032dd07466c2041d57e055feb814762e1f73f4e8beef188d0", size = 371704, upload-time = "2026-04-10T12:20:27.253Z" },
- { url = "https://files.pythonhosted.org/packages/8e/ea/aa5162273238e84f9e41b33600c69299572dc1c8f0f768d07660b71be07d/cachebox-5.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f57afada3d9327adf87f3b5cf0094348c6fd49354ab2e9bd20b044648eb094ae", size = 353385, upload-time = "2026-04-10T12:20:13.668Z" },
- { url = "https://files.pythonhosted.org/packages/47/96/3ca013e2e48df5c1d7855669b208f4bf8014ccb842ccf7a3a0eaac07bee0/cachebox-5.2.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8342ff350ce86f062492752d612e9f056ac5dc56375713d75c3bf6e83b4d18db", size = 392181, upload-time = "2026-04-10T12:18:56.385Z" },
- { url = "https://files.pythonhosted.org/packages/63/ca/1bacb4efa0b0ce8065d1fb7c8dc7c382ec4e1cc3f007eb08417732be2725/cachebox-5.2.3-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:405f9cc8492fc9d953b5a6b9e2b661e99583755c6639ab8d09a287fdf336503c", size = 349494, upload-time = "2026-04-10T12:19:09.505Z" },
- { url = "https://files.pythonhosted.org/packages/d7/2e/75db4bda3768658f5baa5a54f6a4f643bc2de1a16788e40581a080e803c7/cachebox-5.2.3-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:94aae393ec1d9b26565d346445bb6afa3963d2a0d3eb5e4188d0e510fab871a0", size = 369216, upload-time = "2026-04-10T12:19:22.224Z" },
- { url = "https://files.pythonhosted.org/packages/f5/82/e1f833be0d57e29a8c5eb0a0275cd34b962f3c7f5b9e0517ec4bf75e7cc3/cachebox-5.2.3-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8b0b575066fc09f6fae0d4bd30d6ff56584a6870cbe7d202916c5e0d725cfd4", size = 385922, upload-time = "2026-04-10T12:19:34.198Z" },
- { url = "https://files.pythonhosted.org/packages/53/d6/615a3c16c1d63839f2c67644eb414c4dc9769ab2e169d935110fd8e268d5/cachebox-5.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41e99c1240106d39b63ce7868a6cd8c9da9243fef08848b85d428164e0769fd2", size = 393276, upload-time = "2026-04-10T12:20:00.925Z" },
- { url = "https://files.pythonhosted.org/packages/2f/a6/7844c9c84b170dae1005b22da174639968e64c8055d66a209a1598663771/cachebox-5.2.3-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:432ca62b99f7eafc21af669d76c88c1b7377db179b89fb6fca3ea93b8f9fff19", size = 421355, upload-time = "2026-04-10T12:19:47.691Z" },
- { url = "https://files.pythonhosted.org/packages/c9/0f/43f62355846cae3dc41cb4daccac0a4bb2b7b8b3c7d77d1b6a220bae6d54/cachebox-5.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:e51d9c59006b53447f806145406eb37a7fc3c25553d4fd24c3887f3b268d214e", size = 561656, upload-time = "2026-04-10T12:20:42.161Z" },
- { url = "https://files.pythonhosted.org/packages/9b/fc/a453813c6d000d69a41a06c6a3143a6c4d0d0e41f23c155db2f82ea0edfa/cachebox-5.2.3-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:5e48a405f699fb001b8af120a6e0b4a981277f84eb5dd66a1faa21e4b6fe9485", size = 665791, upload-time = "2026-04-10T12:20:56.842Z" },
- { url = "https://files.pythonhosted.org/packages/aa/a3/f6a9e75f1e602b67b6d67088a9a766adfc4e0a740a9c4b68e4e6207c1006/cachebox-5.2.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:8cbfc007ea78af61d75d7d26e5854df53dc5da6877d074afd4b4696c074f4ee7", size = 640975, upload-time = "2026-04-10T12:21:11.641Z" },
- { url = "https://files.pythonhosted.org/packages/a3/15/4ac98277f7fd9d855c8ed337e8e2a3386d17997cce2dd3eadb23dedc08e3/cachebox-5.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6a94d0da8133b3a0707ae11c9ea321f8fc37e3b5a14517019a05d632218b0f56", size = 607242, upload-time = "2026-04-10T12:21:27.27Z" },
- { url = "https://files.pythonhosted.org/packages/9c/0b/ce61907a803f75854e0cc91b84c16e14dce0e4e939efbda26293eb4c8784/cachebox-5.2.3-cp313-cp313t-win32.whl", hash = "sha256:5fee33549877c03c2494ec5359a57a7667f872fe8e296a7f39d3dfe08dd3914c", size = 271619, upload-time = "2026-04-10T12:21:56.768Z" },
- { url = "https://files.pythonhosted.org/packages/b0/06/fece190ad5173d06b2779494aaad5528907f2e55c809618e5b67c2e3dbb5/cachebox-5.2.3-cp313-cp313t-win_amd64.whl", hash = "sha256:67548a05cd41fcc4f7af80a2f97f742fef3d436537ac2e1a1dce0fcba5d41190", size = 283133, upload-time = "2026-04-10T12:21:43.037Z" },
- { url = "https://files.pythonhosted.org/packages/b8/8b/72c0e80aad08e09867ce14a621bce689a733552f20cdf2ef96d4b052da10/cachebox-5.2.3-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:37fa0891f0defee053c09f5f43f802f731e36e6e6ca055d7d174af07f77232ca", size = 380523, upload-time = "2026-04-10T12:20:29.345Z" },
- { url = "https://files.pythonhosted.org/packages/fc/62/33aaade81b181d5191cc39c867c297aa7c65f3191aa9749bf99b77496b88/cachebox-5.2.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:dc6315902f2ef4afbf10bc8e08c54ff34de5ce124546b8e0016c9b0d327be21e", size = 362424, upload-time = "2026-04-10T12:20:15.215Z" },
- { url = "https://files.pythonhosted.org/packages/9e/0b/3eedaf9ea4b41c931f4340bfa42056efe2bb5fe3a79649d6c8a1dce585a5/cachebox-5.2.3-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7df1735ca778480d51b8232fed397ffe3935158f20d34fb1c5ed171b53d5a6e2", size = 399572, upload-time = "2026-04-10T12:18:58.331Z" },
- { url = "https://files.pythonhosted.org/packages/be/69/c79b8a6a5b889ac4a60800bacea3553cb3b86f6fd13b2262bade1cb962c6/cachebox-5.2.3-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e22451cde8f884051e941b21870e4fc91fcf58d0d8c285bb8964107e1f02445c", size = 353803, upload-time = "2026-04-10T12:19:11.21Z" },
- { url = "https://files.pythonhosted.org/packages/d4/c3/bc7838de51039f8c50506d8dc82f22ff9a652794339a223b12af595e1d2f/cachebox-5.2.3-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dcbccf3015d9a42bcf41260fa5cc048a5bdb75aa10997d514d6c976117f30ee2", size = 374474, upload-time = "2026-04-10T12:19:23.658Z" },
- { url = "https://files.pythonhosted.org/packages/65/61/e5231ad2ae952ca482f9b9df55df4b96add1a80de28de537c5f574605987/cachebox-5.2.3-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:311eae5079e256cbbfafdc3dcff1714b6598a767f9c1ef8c3709e74ea0cc12b0", size = 393045, upload-time = "2026-04-10T12:19:35.651Z" },
- { url = "https://files.pythonhosted.org/packages/78/c4/c9b3fa764ac5420a9e079ad53fa8840d4a26b74c4ccda56acbef49cf76ff/cachebox-5.2.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f4d2a80a5cd3380739c67f7d89e596634f5897b8d5a4a3dc1598312cb077535", size = 398700, upload-time = "2026-04-10T12:20:02.513Z" },
- { url = "https://files.pythonhosted.org/packages/9b/3e/c4e3acd4cb04e01c5fb7cc7a4de16059b9594d90672fff85af8670275267/cachebox-5.2.3-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3977515b727a5203f494c44c4566fb936c4b940351c01d3d8e7b5d104dff4f53", size = 426725, upload-time = "2026-04-10T12:19:49.385Z" },
- { url = "https://files.pythonhosted.org/packages/25/5d/610b79479719951581109d985244d34c97f86a308c3d7c83443e2b1dac46/cachebox-5.2.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c5be17dd5c4fabcfecd5bcf6d54f9c6fb719daed3ef01ac1c03a14af0e2b26c1", size = 570042, upload-time = "2026-04-10T12:20:43.793Z" },
- { url = "https://files.pythonhosted.org/packages/8c/63/cad8a05db4d0c0f5ba6bccb32e57d15c472276de9476f56004445b40711f/cachebox-5.2.3-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:6d37334fc218fdaee31db8a4f938938716e7c3b1b4059e25de27c8447fc95fde", size = 670974, upload-time = "2026-04-10T12:20:58.528Z" },
- { url = "https://files.pythonhosted.org/packages/54/d1/9cff7c2b9048d1c38b7ad8199ce856596d09720b3bea74043f3bad71970b/cachebox-5.2.3-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:1e5f1b7e23411b748d919348c3b65db1f9f8927ab8f6f3acae19bd617543df2d", size = 646213, upload-time = "2026-04-10T12:21:13.619Z" },
- { url = "https://files.pythonhosted.org/packages/27/ae/2e1ad162ec13903e84469c8a753baf385f1bc324279d6c7cb6365e7099df/cachebox-5.2.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:e7b06a75a898b31fd73c4d8bf727a9b9f8b5b7738cccd0ab5e6fd2a9cf659d3c", size = 612787, upload-time = "2026-04-10T12:21:29.271Z" },
- { url = "https://files.pythonhosted.org/packages/c8/8a/07b5ffd841e1ff534bb6e8721c39fdfe0d7cdaac1398e1783b2a0c37bd22/cachebox-5.2.3-cp314-cp314-win32.whl", hash = "sha256:3b798052719f09a2ce7bf9fa9452dc0a7d4dc53b50a2d3aba6ce6ebc12d39df7", size = 278559, upload-time = "2026-04-10T12:21:58.482Z" },
- { url = "https://files.pythonhosted.org/packages/c4/f8/b88a82ce9ec7a2fa0f09ed1cdd031692c8664c41f9ab71831e177c7ce2df/cachebox-5.2.3-cp314-cp314-win_amd64.whl", hash = "sha256:4afc8b8575e3228a42ad8d819de5fbbecc6bd0b521295966b00244be37ae3b9b", size = 291928, upload-time = "2026-04-10T12:21:44.621Z" },
- { url = "https://files.pythonhosted.org/packages/4a/01/8c79c07c8c6517fb2fe7d479dd87044e38aac5b9af0245b33fcd695eae37/cachebox-5.2.3-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:0e8a34b82be30d3d9fb7dfaf9a86ec2b3ab9bc264715909ef27fc3d3587324d2", size = 374325, upload-time = "2026-04-10T12:20:30.923Z" },
- { url = "https://files.pythonhosted.org/packages/7f/51/0fc26b923e80ab857ac99d5f7f3784dc941e7b4de361c204835233176ddf/cachebox-5.2.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:4d4e336aebf866463878ccd28a4d0ef4003ea216708cf4a02a7f198481b3af81", size = 355444, upload-time = "2026-04-10T12:20:16.879Z" },
- { url = "https://files.pythonhosted.org/packages/c1/6d/a6b399221f8dc4b3e01b37d3240ef5b8a7eb78cd9bfbb99b0e655dd01649/cachebox-5.2.3-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b102fcdd97b0602bf5d6ba1a571bba3e3d6fa912b89fd768b0da5427408eab8", size = 393978, upload-time = "2026-04-10T12:18:59.753Z" },
- { url = "https://files.pythonhosted.org/packages/bd/f1/4c8f998c117c1941a82bd824d6687280c50167f21fea6392e41531d641e2/cachebox-5.2.3-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:245a79fb2c5d3bff252f4263f76210ef3ad7c2ff9b0234859b26974830a80491", size = 349298, upload-time = "2026-04-10T12:19:12.843Z" },
- { url = "https://files.pythonhosted.org/packages/d1/dd/683bc5a32a0da660d02fa248b880b71a2b834e9b54b8d272b5801282f402/cachebox-5.2.3-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dd0e8dbd8fd4cf664c645c08f9e10508e133353756705c4a738e90a5406224b5", size = 370619, upload-time = "2026-04-10T12:19:25.298Z" },
- { url = "https://files.pythonhosted.org/packages/81/49/d6c47c78a7769b355076c5b635c2b538c8b88e8ceeb408e104d0f269b515/cachebox-5.2.3-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fdb74294bdc33e39e26606919a9b2229038d5fac0edb80c9056683c08584d4a9", size = 385988, upload-time = "2026-04-10T12:19:37.638Z" },
- { url = "https://files.pythonhosted.org/packages/70/e2/b669555ada7fa1392e4cdb8a19f3367db5c6abef0fde8ab034a9747760df/cachebox-5.2.3-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bba3e9a7f52fa196b434522f39675f3b32a076976ef2373ded6f1065e99f4d20", size = 394090, upload-time = "2026-04-10T12:20:03.978Z" },
- { url = "https://files.pythonhosted.org/packages/8f/01/42916249e53fe4fcbdf0419fb55dbc09b9f377475376e1d7f4ae9c9bd6cd/cachebox-5.2.3-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:abb21f0f937fb66528f1b9f1a04874d6aa503e78bbb26f4cf33bf67faddbdd68", size = 421632, upload-time = "2026-04-10T12:19:51.048Z" },
- { url = "https://files.pythonhosted.org/packages/a1/54/34eebe18c6ed8ba27b1331b5e3d08bd8bb62f03ba81fbf47a2db0fa646f7/cachebox-5.2.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:dab6fd3189b0c746fb03e1915fd947aaca9112cedf26ef3a0c39383acf87d2e5", size = 563871, upload-time = "2026-04-10T12:20:45.417Z" },
- { url = "https://files.pythonhosted.org/packages/ba/b2/f92da0d54e4f18609588709090de8c81dd7c8b20ed6ac30f9b91bedbedf5/cachebox-5.2.3-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:b4e7d2935b9df11d3717f99c7237b6780f1f8c70e6a99b69b8430d89929ec825", size = 665677, upload-time = "2026-04-10T12:21:00.512Z" },
- { url = "https://files.pythonhosted.org/packages/43/9d/bf2d3dc949afe4d21fc7eb15b7524255e834b9252df6bba111e6686d1c6f/cachebox-5.2.3-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:611aa260fe1b2506330ff72f415e2cb4053c9c4e3776ac68fe2eedee0e1b91b1", size = 642067, upload-time = "2026-04-10T12:21:15.727Z" },
- { url = "https://files.pythonhosted.org/packages/6e/4f/a789eda189550d239fbaf165b9810f148e733e97a2a4eda7c4192295c7f8/cachebox-5.2.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:a424ffb8514a9cb49bacff7995b7c767625cb2239692bd6524245e8579e375cc", size = 608048, upload-time = "2026-04-10T12:21:31.156Z" },
- { url = "https://files.pythonhosted.org/packages/41/c3/590e161c04ffbd36e33933e6dcca5ffa40b5548e3121a21d77aad42af138/cachebox-5.2.3-cp314-cp314t-win32.whl", hash = "sha256:83988dd8e9075ee837e8407e26db49a9944ae74924d5db57b477444d7d98622c", size = 271694, upload-time = "2026-04-10T12:22:00.589Z" },
- { url = "https://files.pythonhosted.org/packages/66/f4/f60b8506df467261178afe918801df37c02c46ec2b8ce019760a14e2abe7/cachebox-5.2.3-cp314-cp314t-win_amd64.whl", hash = "sha256:dbda6390fa5070a19157ae35ab8066d3fe468634e0e9e21452c68ce7999c7d0c", size = 284212, upload-time = "2026-04-10T12:21:46.241Z" },
- { url = "https://files.pythonhosted.org/packages/ce/7b/5eead1ca0d437b1993a742c6571079ae58ae4db50d94d42e87b514aed6c3/cachebox-5.2.3-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c798cddfb780156db09d3d96ed5da4c2d5fc01dad4bc7b54db5b20c34f221926", size = 376199, upload-time = "2026-04-10T12:20:32.674Z" },
- { url = "https://files.pythonhosted.org/packages/77/e3/5e45042f9b552a5087cafc2e0fed834e632531fca17818201d72e78593ce/cachebox-5.2.3-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:c8f3de4afeb3fd721620be3d02f2338bcbc3fdbd464ca14e1c474088c9669db0", size = 357109, upload-time = "2026-04-10T12:20:18.554Z" },
- { url = "https://files.pythonhosted.org/packages/d4/51/3c4743b718b42e4b80166fa61f8722b603eba7bf206768a7892c4699dce7/cachebox-5.2.3-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b39022c258872185327acffa9ad42d6bdf42f37d006d35c825a684eb5fa98d40", size = 396433, upload-time = "2026-04-10T12:19:01.463Z" },
- { url = "https://files.pythonhosted.org/packages/f8/9b/678da91187bdb2836db2b8da62519da75359b46bc28697799a7caa314519/cachebox-5.2.3-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5a0599fb85dcb6df9a86502435643fe90c793bbcd50b5d85217c70f2bc2e38fc", size = 354287, upload-time = "2026-04-10T12:19:14.55Z" },
- { url = "https://files.pythonhosted.org/packages/df/06/769446da6c9f2855499aaa19e2d7260aa47934bc2e15a931e5b737f8685a/cachebox-5.2.3-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3cdbe8f1b7716a44dc82ef3a6830a612260c7379478cfa80804632e2e6252b8e", size = 372507, upload-time = "2026-04-10T12:19:26.763Z" },
- { url = "https://files.pythonhosted.org/packages/79/cf/86c60994a7be734abef0395e440dc11714f84ffcd369cbcd8e61c3d58126/cachebox-5.2.3-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:783d1b9a0b3c77c43e7ae331b9d6561ad75827e16b2484e2a6cc289ec4d392ee", size = 390831, upload-time = "2026-04-10T12:19:39.591Z" },
- { url = "https://files.pythonhosted.org/packages/9d/db/acfb55f8d5ee4ea1c5f2d32ede25d4d04e944ba09d2832c27c085022490d/cachebox-5.2.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5c6476a2a842906fee782d92f8fbcb03ecfd22eecc39adb7fb5b047d7e1cf020", size = 396277, upload-time = "2026-04-10T12:20:05.735Z" },
- { url = "https://files.pythonhosted.org/packages/dc/4f/35e27e85a48e15671c5863addcabde910eb311800a621c3e47c04bd36d17/cachebox-5.2.3-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:184bbcfa1370415b6d1f09e4fb74ab697dac8df09f522aa217a2fac65f973744", size = 426980, upload-time = "2026-04-10T12:19:52.622Z" },
- { url = "https://files.pythonhosted.org/packages/09/4b/50f2cadf20c02db9e449f2e9fee95f3eb5768ab1804dd0a5eba6c98119ad/cachebox-5.2.3-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:f89df36b46f8f5e11c0c49701ec3cebddf51191f96afb7bb75c394faf3c1cbc8", size = 565539, upload-time = "2026-04-10T12:20:47.051Z" },
- { url = "https://files.pythonhosted.org/packages/43/53/b8e948cadb48b8bcf1d13c2aa4a788ff0e95b50ddb808c18e998499b4680/cachebox-5.2.3-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl", hash = "sha256:fb0bdcd9e28686e3b91d5210c843542858f0f10de151181aee27a7978fe4992e", size = 670870, upload-time = "2026-04-10T12:21:02.141Z" },
- { url = "https://files.pythonhosted.org/packages/29/7b/d68ca3f59a9d6963c2f6b19bc4b1926a37db2e4a4f6c9891d12788e49ce2/cachebox-5.2.3-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:5196f0d2c2f99c92ddf0d2c37803ff90509d14a5df211b7754feb8b61ffd8740", size = 644542, upload-time = "2026-04-10T12:21:17.541Z" },
- { url = "https://files.pythonhosted.org/packages/f8/c8/44ae6d5dff09f044d61a92591e6a8db17f3b2ee51a54d375cce90271527b/cachebox-5.2.3-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:73671850d8c3634ab217398c83715d3feb52589ec97bd8e2f4d22e472741ea48", size = 610235, upload-time = "2026-04-10T12:21:32.93Z" },
- { url = "https://files.pythonhosted.org/packages/9a/1b/31cf2449da9a296f6c6c0002c7ae91a25c3a4bfef071763bbeb85300b402/cachebox-5.2.3-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:70c718f6bb77e6ba142b9a055b81ce85412a0c0e5e82a154489b45e6f91d09ec", size = 287614, upload-time = "2026-04-10T12:21:47.909Z" },
+ { url = "https://files.pythonhosted.org/packages/48/f6/2fa1a30879884e8b39ac068b4742fb6c262787f1a19addd67b78acd9f7c9/blasthttp-0.10.1-cp315-cp315-manylinux_2_28_aarch64.whl", hash = "sha256:ea83ad7ed6a611410d31b3181205016bb1da66e9ad9f14af6690327baadd26c3", size = 5170007, upload-time = "2026-10-21T13:20:48.971Z" },
+ { url = "https://files.pythonhosted.org/packages/99/75/d6f5c39d75269447ef8d18833023d1870643a50df143740a615921b90fef/blasthttp-0.10.1-cp315-cp315-manylinux_2_28_armv7l.whl", hash = "sha256:5890e68d2a652c8477ce319d00f0114d379602e3e67148eb56f55f820848f61d", size = 4430846, upload-time = "2026-10-21T13:20:57.243Z" },
+ { url = "https://files.pythonhosted.org/packages/3f/5d/8057ca7e62636027c6c6bfea9957a69b081eebb0edd56e3c2b6050869770/blasthttp-0.10.1-cp315-cp315-manylinux_2_28_i686.whl", hash = "sha256:b6ac7361de023debd6bb88ded132eef4df42492d5fa2643e7e59d8f985ca0531", size = 5101844, upload-time = "2026-10-21T13:21:24.134Z" },
+ { url = "https://files.pythonhosted.org/packages/d6/d8/e23fd44a3950586f65b71e54121fbb34855353a803cc3367ed6395f497b1/blasthttp-0.10.1-cp315-cp315-manylinux_2_28_ppc64le.whl", hash = "sha256:a9784471d31bab68da265cb546f3944b3809092c713030b14dafca0456e8e6ca", size = 5106407, upload-time = "2026-10-21T13:21:06.765Z" },
+ { url = "https://files.pythonhosted.org/packages/02/f7/4b1dffbf2aa61626929859a24b6eaffef9b0f3a0bc5ab4bb70cc3b130f67/blasthttp-0.10.1-cp315-cp315-manylinux_2_28_s390x.whl", hash = "sha256:2d3b7740a44d211739a965d96ba7edbc22671a291a2d6ac970534f6a3bab350e", size = 4704504, upload-time = "2026-10-21T13:21:15.189Z" },
+ { url = "https://files.pythonhosted.org/packages/4c/8d/c6c6f8dab5673eb586b234cddfbff4df24c2a4dc439e151739ac56a99151/blasthttp-0.10.1-cp315-cp315-manylinux_2_28_x86_64.whl", hash = "sha256:d308f076011b6ae938af4282dbcdc6e98f5b679b4917e997dc174c47d71ce696", size = 4774016, upload-time = "2026-10-21T13:21:32.886Z" },
+ { url = "https://files.pythonhosted.org/packages/c6/b2/bb8fa1e95c123ff2a9df10e27cf00aca37e46f11f0907640b8e33e2ded7b/blasthttp-0.10.1-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:5130e267195441e47069e012993b6777912008defa8767842aa9de89c44904bd", size = 5457543, upload-time = "2026-10-21T13:21:41.479Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/b3/385707a9de2b60917f131c260248a6973968947c41082e65b4e2f35352cc/blasthttp-0.10.1-cp315-cp315-musllinux_1_2_armv7l.whl", hash = "sha256:a5da13f3cb2b57ed993fcbbdd49cdda0564c10945cab5096329ec483e85bb0dd", size = 4731843, upload-time = "2026-10-21T13:21:50.09Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/b7/57efe30c71ba7a841968659a3e4151de9a38079d5f63dabb1340836471dc/blasthttp-0.10.1-cp315-cp315-musllinux_1_2_i686.whl", hash = "sha256:11fdd2a6ba46a115b2d95eabb836a73ccaed04e1f083f2c07195a8287fc055b0", size = 5232865, upload-time = "2026-10-21T13:21:59.268Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/dd/ce4502ac238ee2524cc0f06df13ce565ac3b8a40ef4d64ed399815aa7c3b/blasthttp-0.10.1-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:bda21226b8c3b65d3bb319e3b38a09cc02bd35dfa5af63debd407e5404c443a8", size = 5176823, upload-time = "2026-10-21T13:22:07.923Z" },
]
[[package]]
@@ -659,18 +524,6 @@ dependencies = [
]
sdist = { url = "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz", hash = "sha256:44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529", size = 523588, upload-time = "2025-09-08T23:24:04.541Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/93/d7/516d984057745a6cd96575eea814fe1edd6646ee6efd552fb7b0921dec83/cffi-2.0.0-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:0cf2d91ecc3fcc0625c2c530fe004f82c110405f101548512cce44322fa8ac44", size = 184283, upload-time = "2025-09-08T23:22:08.01Z" },
- { url = "https://files.pythonhosted.org/packages/9e/84/ad6a0b408daa859246f57c03efd28e5dd1b33c21737c2db84cae8c237aa5/cffi-2.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f73b96c41e3b2adedc34a7356e64c8eb96e03a3782b535e043a986276ce12a49", size = 180504, upload-time = "2025-09-08T23:22:10.637Z" },
- { url = "https://files.pythonhosted.org/packages/50/bd/b1a6362b80628111e6653c961f987faa55262b4002fcec42308cad1db680/cffi-2.0.0-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:53f77cbe57044e88bbd5ed26ac1d0514d2acf0591dd6bb02a3ae37f76811b80c", size = 208811, upload-time = "2025-09-08T23:22:12.267Z" },
- { url = "https://files.pythonhosted.org/packages/4f/27/6933a8b2562d7bd1fb595074cf99cc81fc3789f6a6c05cdabb46284a3188/cffi-2.0.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:3e837e369566884707ddaf85fc1744b47575005c0a229de3327f8f9a20f4efeb", size = 216402, upload-time = "2025-09-08T23:22:13.455Z" },
- { url = "https://files.pythonhosted.org/packages/05/eb/b86f2a2645b62adcfff53b0dd97e8dfafb5c8aa864bd0d9a2c2049a0d551/cffi-2.0.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:5eda85d6d1879e692d546a078b44251cdd08dd1cfb98dfb77b670c97cee49ea0", size = 203217, upload-time = "2025-09-08T23:22:14.596Z" },
- { url = "https://files.pythonhosted.org/packages/9f/e0/6cbe77a53acf5acc7c08cc186c9928864bd7c005f9efd0d126884858a5fe/cffi-2.0.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:9332088d75dc3241c702d852d4671613136d90fa6881da7d770a483fd05248b4", size = 203079, upload-time = "2025-09-08T23:22:15.769Z" },
- { url = "https://files.pythonhosted.org/packages/98/29/9b366e70e243eb3d14a5cb488dfd3a0b6b2f1fb001a203f653b93ccfac88/cffi-2.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:fc7de24befaeae77ba923797c7c87834c73648a05a4bde34b3b7e5588973a453", size = 216475, upload-time = "2025-09-08T23:22:17.427Z" },
- { url = "https://files.pythonhosted.org/packages/21/7a/13b24e70d2f90a322f2900c5d8e1f14fa7e2a6b3332b7309ba7b2ba51a5a/cffi-2.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cf364028c016c03078a23b503f02058f1814320a56ad535686f90565636a9495", size = 218829, upload-time = "2025-09-08T23:22:19.069Z" },
- { url = "https://files.pythonhosted.org/packages/60/99/c9dc110974c59cc981b1f5b66e1d8af8af764e00f0293266824d9c4254bc/cffi-2.0.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e11e82b744887154b182fd3e7e8512418446501191994dbf9c9fc1f32cc8efd5", size = 211211, upload-time = "2025-09-08T23:22:20.588Z" },
- { url = "https://files.pythonhosted.org/packages/49/72/ff2d12dbf21aca1b32a40ed792ee6b40f6dc3a9cf1644bd7ef6e95e0ac5e/cffi-2.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8ea985900c5c95ce9db1745f7933eeef5d314f0565b27625d9a10ec9881e1bfb", size = 218036, upload-time = "2025-09-08T23:22:22.143Z" },
- { url = "https://files.pythonhosted.org/packages/e2/cc/027d7fb82e58c48ea717149b03bcadcbdc293553edb283af792bd4bcbb3f/cffi-2.0.0-cp310-cp310-win32.whl", hash = "sha256:1f72fb8906754ac8a2cc3f9f5aaa298070652a0ffae577e0ea9bd480dc3c931a", size = 172184, upload-time = "2025-09-08T23:22:23.328Z" },
- { url = "https://files.pythonhosted.org/packages/33/fa/072dd15ae27fbb4e06b437eb6e944e75b068deb09e2a2826039e49ee2045/cffi-2.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:b18a3ed7d5b3bd8d9ef7a8cb226502c6bf8308df1525e1cc676c3680e7176739", size = 182790, upload-time = "2025-09-08T23:22:24.752Z" },
{ url = "https://files.pythonhosted.org/packages/12/4a/3dfd5f7850cbf0d06dc84ba9aa00db766b52ca38d8b86e3a38314d52498c/cffi-2.0.0-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:b4c854ef3adc177950a8dfc81a86f5115d2abd545751a304c5bcf2c2c7283cfe", size = 184344, upload-time = "2025-09-08T23:22:26.456Z" },
{ url = "https://files.pythonhosted.org/packages/4f/8b/f0e4c441227ba756aafbe78f117485b25bb26b1c059d01f137fa6d14896b/cffi-2.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2de9a304e27f7596cd03d16f1b7c72219bd944e99cc52b84d0145aefb07cbd3c", size = 180560, upload-time = "2025-09-08T23:22:28.197Z" },
{ url = "https://files.pythonhosted.org/packages/b1/b7/1200d354378ef52ec227395d95c2576330fd22a869f7a70e88e1447eb234/cffi-2.0.0-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:baf5215e0ab74c16e2dd324e8ec067ef59e41125d3eade2b863d294fd5035c92", size = 209613, upload-time = "2025-09-08T23:22:29.475Z" },
@@ -747,22 +600,6 @@ version = "3.4.4"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz", hash = "sha256:94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a", size = 129418, upload-time = "2025-10-14T04:42:32.879Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/1f/b8/6d51fc1d52cbd52cd4ccedd5b5b2f0f6a11bbf6765c782298b0f3e808541/charset_normalizer-3.4.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e824f1492727fa856dd6eda4f7cee25f8518a12f3c4a56a74e8095695089cf6d", size = 209709, upload-time = "2025-10-14T04:40:11.385Z" },
- { url = "https://files.pythonhosted.org/packages/5c/af/1f9d7f7faafe2ddfb6f72a2e07a548a629c61ad510fe60f9630309908fef/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4bd5d4137d500351a30687c2d3971758aac9a19208fc110ccb9d7188fbe709e8", size = 148814, upload-time = "2025-10-14T04:40:13.135Z" },
- { url = "https://files.pythonhosted.org/packages/79/3d/f2e3ac2bbc056ca0c204298ea4e3d9db9b4afe437812638759db2c976b5f/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:027f6de494925c0ab2a55eab46ae5129951638a49a34d87f4c3eda90f696b4ad", size = 144467, upload-time = "2025-10-14T04:40:14.728Z" },
- { url = "https://files.pythonhosted.org/packages/ec/85/1bf997003815e60d57de7bd972c57dc6950446a3e4ccac43bc3070721856/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f820802628d2694cb7e56db99213f930856014862f3fd943d290ea8438d07ca8", size = 162280, upload-time = "2025-10-14T04:40:16.14Z" },
- { url = "https://files.pythonhosted.org/packages/3e/8e/6aa1952f56b192f54921c436b87f2aaf7c7a7c3d0d1a765547d64fd83c13/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:798d75d81754988d2565bff1b97ba5a44411867c0cf32b77a7e8f8d84796b10d", size = 159454, upload-time = "2025-10-14T04:40:17.567Z" },
- { url = "https://files.pythonhosted.org/packages/36/3b/60cbd1f8e93aa25d1c669c649b7a655b0b5fb4c571858910ea9332678558/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d1bb833febdff5c8927f922386db610b49db6e0d4f4ee29601d71e7c2694313", size = 153609, upload-time = "2025-10-14T04:40:19.08Z" },
- { url = "https://files.pythonhosted.org/packages/64/91/6a13396948b8fd3c4b4fd5bc74d045f5637d78c9675585e8e9fbe5636554/charset_normalizer-3.4.4-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:9cd98cdc06614a2f768d2b7286d66805f94c48cde050acdbbb7db2600ab3197e", size = 151849, upload-time = "2025-10-14T04:40:20.607Z" },
- { url = "https://files.pythonhosted.org/packages/b7/7a/59482e28b9981d105691e968c544cc0df3b7d6133152fb3dcdc8f135da7a/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:077fbb858e903c73f6c9db43374fd213b0b6a778106bc7032446a8e8b5b38b93", size = 151586, upload-time = "2025-10-14T04:40:21.719Z" },
- { url = "https://files.pythonhosted.org/packages/92/59/f64ef6a1c4bdd2baf892b04cd78792ed8684fbc48d4c2afe467d96b4df57/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:244bfb999c71b35de57821b8ea746b24e863398194a4014e4c76adc2bbdfeff0", size = 145290, upload-time = "2025-10-14T04:40:23.069Z" },
- { url = "https://files.pythonhosted.org/packages/6b/63/3bf9f279ddfa641ffa1962b0db6a57a9c294361cc2f5fcac997049a00e9c/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:64b55f9dce520635f018f907ff1b0df1fdc31f2795a922fb49dd14fbcdf48c84", size = 163663, upload-time = "2025-10-14T04:40:24.17Z" },
- { url = "https://files.pythonhosted.org/packages/ed/09/c9e38fc8fa9e0849b172b581fd9803bdf6e694041127933934184e19f8c3/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:faa3a41b2b66b6e50f84ae4a68c64fcd0c44355741c6374813a800cd6695db9e", size = 151964, upload-time = "2025-10-14T04:40:25.368Z" },
- { url = "https://files.pythonhosted.org/packages/d2/d1/d28b747e512d0da79d8b6a1ac18b7ab2ecfd81b2944c4c710e166d8dd09c/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6515f3182dbe4ea06ced2d9e8666d97b46ef4c75e326b79bb624110f122551db", size = 161064, upload-time = "2025-10-14T04:40:26.806Z" },
- { url = "https://files.pythonhosted.org/packages/bb/9a/31d62b611d901c3b9e5500c36aab0ff5eb442043fb3a1c254200d3d397d9/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cc00f04ed596e9dc0da42ed17ac5e596c6ccba999ba6bd92b0e0aef2f170f2d6", size = 155015, upload-time = "2025-10-14T04:40:28.284Z" },
- { url = "https://files.pythonhosted.org/packages/1f/f3/107e008fa2bff0c8b9319584174418e5e5285fef32f79d8ee6a430d0039c/charset_normalizer-3.4.4-cp310-cp310-win32.whl", hash = "sha256:f34be2938726fc13801220747472850852fe6b1ea75869a048d6f896838c896f", size = 99792, upload-time = "2025-10-14T04:40:29.613Z" },
- { url = "https://files.pythonhosted.org/packages/eb/66/e396e8a408843337d7315bab30dbf106c38966f1819f123257f5520f8a96/charset_normalizer-3.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:a61900df84c667873b292c3de315a786dd8dac506704dea57bc957bd31e22c7d", size = 107198, upload-time = "2025-10-14T04:40:30.644Z" },
- { url = "https://files.pythonhosted.org/packages/b5/58/01b4f815bf0312704c267f2ccb6e5d42bcc7752340cd487bc9f8c3710597/charset_normalizer-3.4.4-cp310-cp310-win_arm64.whl", hash = "sha256:cead0978fc57397645f12578bfd2d5ea9138ea0fac82b2f63f7f7c6877986a69", size = 100262, upload-time = "2025-10-14T04:40:32.108Z" },
{ url = "https://files.pythonhosted.org/packages/ed/27/c6491ff4954e58a10f69ad90aca8a1b6fe9c5d3c6f380907af3c37435b59/charset_normalizer-3.4.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6e1fcf0720908f200cd21aa4e6750a48ff6ce4afe7ff5a79a90d5ed8a08296f8", size = 206988, upload-time = "2025-10-14T04:40:33.79Z" },
{ url = "https://files.pythonhosted.org/packages/94/59/2e87300fe67ab820b5428580a53cad894272dbb97f38a7a814a2a1ac1011/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5f819d5fe9234f9f82d75bdfa9aef3a3d72c4d24a6e57aeaebba32a704553aa0", size = 147324, upload-time = "2025-10-14T04:40:34.961Z" },
{ url = "https://files.pythonhosted.org/packages/07/fb/0cf61dc84b2b088391830f6274cb57c82e4da8bbc2efeac8c025edb88772/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a59cb51917aa591b1c4e6a43c132f0cdc3c76dbad6155df4e28ee626cc77a0a3", size = 142742, upload-time = "2025-10-14T04:40:36.105Z" },
@@ -844,88 +681,139 @@ wheels = [
[[package]]
name = "cloudcheck"
-version = "11.1.0"
-source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/b5/a7/ef40cc541c87615091321ac67042ce481e32215d93c37fd184fd999d2a0e/cloudcheck-11.1.0.tar.gz", hash = "sha256:6f6d7415fd62dd1dffeb171f603e4f25f451a856924f0b0e7d14851a2b888574", size = 4912429, upload-time = "2026-06-24T01:38:19.915Z" }
-wheels = [
- { url = "https://files.pythonhosted.org/packages/f0/d1/1f68ac63c190a1f3abf1d0956ae397e7a55609c7e091e87ec4df1b782f64/cloudcheck-11.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f0381f12baa470b39b5754ff2103700ac08022b0d973b0a1ee88c581cd0b9e8", size = 4233583, upload-time = "2026-06-24T01:51:11.284Z" },
- { url = "https://files.pythonhosted.org/packages/9c/49/13874ca76de9ed7ff8073940875b56b73da51db5265d36853f4f92fa8ac8/cloudcheck-11.1.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e92a24c67864befc009d9ab6c87f3a78f827dc17eb72b45d8191f79d5378e624", size = 3585529, upload-time = "2026-06-24T01:51:24.341Z" },
- { url = "https://files.pythonhosted.org/packages/1e/d3/a21374abbc78539141830b63bffa68c7e08009722022b333868376a3d835/cloudcheck-11.1.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8d0b542a401dc6defdc748f42abbf2a5aaf89de7c645c346e01f296dd7309458", size = 4169240, upload-time = "2026-06-24T01:51:49.462Z" },
- { url = "https://files.pythonhosted.org/packages/54/3f/3f14b8ba7cfa702d4561ec7288b5f314c93c182a67dd43f5ed5daad8f1be/cloudcheck-11.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4f70749d0a0b8f72ef4c1141a0cb733f583e14be29731c7fcdf85d274d21c178", size = 4082231, upload-time = "2026-06-24T01:51:37.04Z" },
- { url = "https://files.pythonhosted.org/packages/68/2c/a52e04c8b7b7b6da8c20665b1b3a0e529e83d1c857eff07bb5b611dcee5e/cloudcheck-11.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6cb52f4d6a7a19c78ad3c26c7f197fd08ff53d4c72382366d85b1ad3d8f380f6", size = 4029422, upload-time = "2026-06-24T01:52:02.106Z" },
- { url = "https://files.pythonhosted.org/packages/5d/36/1b089ed7e6810a6321139e60d1c8a8805128b136fff8cc9c09f80040fcea/cloudcheck-11.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f937b943508e085ea1310cde445c78e88a83a3298155df9ad6f903b4ae7163dc", size = 4637574, upload-time = "2026-06-24T01:52:28.815Z" },
- { url = "https://files.pythonhosted.org/packages/be/79/936692cfb53adc0d6f077940c0e6eeaba3266d6117894940a0ed7437ed60/cloudcheck-11.1.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:27c1c9bcadc00b38ef25ebd13cfbdd659c097eb63e737ed77f49375f51639db0", size = 3918053, upload-time = "2026-06-24T01:52:42.204Z" },
- { url = "https://files.pythonhosted.org/packages/0b/08/c515843e474916520c2f3000ad96d84bd57905718ad811ba817ed7e91ca0/cloudcheck-11.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:811ed6e39cbb9f4497de0cf924c50f3eb1244c6ecd5062a0e1a423d335f02990", size = 4262168, upload-time = "2026-06-24T01:52:55.955Z" },
- { url = "https://files.pythonhosted.org/packages/d7/f5/f71d03477412a8ed9689a5c1231fd8af6ea41498fdacce601ab8c5730f55/cloudcheck-11.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9c5e1eaa5758d8a6a10a8846478fe9813424e105c0fc742a47218dcddcb0d10f", size = 4291736, upload-time = "2026-06-24T01:53:09.554Z" },
- { url = "https://files.pythonhosted.org/packages/d8/36/26ece5eb37a656f79ae622c4d971d6861bd946b3e00939f93d7df62d1dec/cloudcheck-11.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:e969a8e7def6d1a15ec9e16e691886a6dad47b2179cf5a802dbe97aeb1e309a4", size = 1414797, upload-time = "2026-06-24T01:53:23.783Z" },
- { url = "https://files.pythonhosted.org/packages/80/af/0ae5ef92b6cadfabc5a720e188538c87ca2f100ba9d0fd32acfa673ce8b6/cloudcheck-11.1.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:0d46d045256dee4d6cdcd8ab318a23685198e48efb0ac90374d01117b4fe76fb", size = 1632427, upload-time = "2026-06-24T01:52:22.037Z" },
- { url = "https://files.pythonhosted.org/packages/39/4a/d2ac4022927c021782146e6074ffb6956eb913c73522b4df2cc48f022f5f/cloudcheck-11.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0ed638c38fb92f5fd3418ddc7c4efa57acbe7be094913e892c5407f079e487c0", size = 1607813, upload-time = "2026-06-24T01:52:14.82Z" },
- { url = "https://files.pythonhosted.org/packages/d1/33/e78b449dd12e5b9deaf24c81cd456439c61a78f7241dc53980ae97738c7f/cloudcheck-11.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6e51567ec7e0fb2ec00767ce4d5960bfea7508e2a7930a1319ade023e780ac1b", size = 4235073, upload-time = "2026-06-24T01:51:13Z" },
- { url = "https://files.pythonhosted.org/packages/ea/57/78e1dd0df64fb3ee1a4d8eb4f5223d0e18051b4aed50bbcb413b0deea1a2/cloudcheck-11.1.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7c1c11ef543658dd120adec82600df90c3fc41b73a57df3daf2c9af5890dfcfe", size = 3585141, upload-time = "2026-06-24T01:51:25.961Z" },
- { url = "https://files.pythonhosted.org/packages/42/ae/fab43ed6e9b21b0591890d688b45b31a359953c1e2e7e6002abda006de36/cloudcheck-11.1.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4236fd5649312d8dcec9a58b95d6332698da66f107d916b506957febf6c10e80", size = 4168921, upload-time = "2026-06-24T01:51:51.209Z" },
- { url = "https://files.pythonhosted.org/packages/21/2a/b2237231ec916fb8a496da0bccd826b962e0a650f8fcf1419b7823bf2a52/cloudcheck-11.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ef47a2e43f78dc0d63a48a65cffaac7da90ad7f2f8b85a00ca03152818f719e3", size = 4082934, upload-time = "2026-06-24T01:51:38.854Z" },
- { url = "https://files.pythonhosted.org/packages/8e/bd/005838063806eb0b483e8773c5f498f6ff5c902998260f0d7b8a2408d906/cloudcheck-11.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd9ca7ea0dfe8abf1c6ca243d685a9efcca446f202275ac0a7a341ae7827ef28", size = 4027396, upload-time = "2026-06-24T01:52:04.038Z" },
- { url = "https://files.pythonhosted.org/packages/93/44/e645877ec6d7bdbd29215771857fc16bddd07234554c0def9fb735b0c0a4/cloudcheck-11.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:590ff109285306b5d772c3d21bebe47fa2f151f843b5411abda309124e93d117", size = 4641536, upload-time = "2026-06-24T01:52:30.674Z" },
- { url = "https://files.pythonhosted.org/packages/70/55/ba038eca014cb7ffa1ce26b48ceb75a625028ff9bcdb890829871421fc3e/cloudcheck-11.1.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:544cc820c26c76fb824f892876e413f477652464ff5a2f77888013da31ceeeb8", size = 3916047, upload-time = "2026-06-24T01:52:44.578Z" },
- { url = "https://files.pythonhosted.org/packages/ea/56/d8fca04a8f2cd6dbecd45f0a4c1943a6d82bd78a84c6c1173d6cc576095d/cloudcheck-11.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:55e922a2221d86bb15ec6ab4d7dfaef2256202b17f40b5909f08e43fbfa44de8", size = 4261416, upload-time = "2026-06-24T01:52:57.889Z" },
- { url = "https://files.pythonhosted.org/packages/bd/8c/741f054f53192970c3a12dff0c8338966fde2668aad55e852f3e85f901a8/cloudcheck-11.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1b4484f57c91ac87f1ade3d9c59cfda8e30c91d687da909a97ba7bece42a4126", size = 4290042, upload-time = "2026-06-24T01:53:11.461Z" },
- { url = "https://files.pythonhosted.org/packages/cf/dc/7b9daf45013786fa188e1b26bd7317193f266e3586a839b1dadccf3acde8/cloudcheck-11.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:a2e8ae876141ba3019e9d10464bb8782dad2ac981940ee946493b4aaa4528fd1", size = 1416873, upload-time = "2026-06-24T01:53:25.41Z" },
- { url = "https://files.pythonhosted.org/packages/4b/10/0440a42b558c872612de41fc0820579bdc7e2628b523414d23fe7241dfa0/cloudcheck-11.1.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1fbe51b7e1b4177004c75f2e3af5cbd72fdb68f79105d31263801e36d76565b6", size = 1628297, upload-time = "2026-06-24T01:52:23.737Z" },
- { url = "https://files.pythonhosted.org/packages/aa/b0/1c68aed4783fe4bf70cc82f90f4630d17b045438a0994b0a7e3a044ee827/cloudcheck-11.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8f1a58782f395a972177e3b594a500c956da976e76cee9c4d81f3602f1d3e438", size = 1603790, upload-time = "2026-06-24T01:52:16.658Z" },
- { url = "https://files.pythonhosted.org/packages/55/e4/2df14c1cf9326e301167b9497314849d138e5c0fa2d370abc40b6169016e/cloudcheck-11.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b28ba5aaefebed398c1711d4112d1f0808ac35d24a82b581a3b84b554f4b0605", size = 4231440, upload-time = "2026-06-24T01:51:14.832Z" },
- { url = "https://files.pythonhosted.org/packages/ef/30/3b54e4ffc807846cd982016f43ddf16c0c7981b2abdb6a63130a2fc410be/cloudcheck-11.1.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4f1c10fa62aff32cb4185d804977fc08833a00f54a48da4f4c2d7cfbab59cd38", size = 3582533, upload-time = "2026-06-24T01:51:27.798Z" },
- { url = "https://files.pythonhosted.org/packages/39/72/4870ed35779ffc64af2ee8e6b6e5dcaf85fc1b1ef25cc80293a07f43d44b/cloudcheck-11.1.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ac8663542f0a56d69ff7ef95b6ea58a3d352ec13fcad86c221f5e66644e0240b", size = 4166645, upload-time = "2026-06-24T01:51:53.012Z" },
- { url = "https://files.pythonhosted.org/packages/3b/ba/45b6a553de29735a7e08e22f45d3f82ffd4f8c03f277d2830ef78c7d2529/cloudcheck-11.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:61636088dad3b4412b4117c49978e2a53cc124a7043c9a3c18270fa8c978c600", size = 4076618, upload-time = "2026-06-24T01:51:40.657Z" },
- { url = "https://files.pythonhosted.org/packages/15/43/b0343a74f27d398610baaa39382bdba6a58f106c8d818085d6204386725a/cloudcheck-11.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41301dc25603fae15d2a0a6ca6b02b8454b825fb1bae5ead4b0218ed57e31c41", size = 4022187, upload-time = "2026-06-24T01:52:05.788Z" },
- { url = "https://files.pythonhosted.org/packages/80/e9/b4fd29b3e40dc37aa1d77e4b6bf487db17aa7859b9a9009070f54dac3f65/cloudcheck-11.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:cfd7ba30e7a3c13d64b8c81b37fa621a8def13591ce612b3fbe29d8390053be0", size = 4636261, upload-time = "2026-06-24T01:52:32.719Z" },
- { url = "https://files.pythonhosted.org/packages/38/8a/571f57283009fe6ac174340a224ee7be41bae54df480c0cf08fecf5496e5/cloudcheck-11.1.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:1bb64247e7414f97d8efcd86d7be63b2bbd04694abbe69c33ea73e97f39eb6c3", size = 3911569, upload-time = "2026-06-24T01:52:46.555Z" },
- { url = "https://files.pythonhosted.org/packages/40/a5/3963d4a90720a05916f14a154dfb1fe6fde274a48f60f5d3e2ea50d7c2c2/cloudcheck-11.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a9a904c36b63089b0d6bbd27c44f3433ab6b50128e649431744669756e7bdfb1", size = 4257464, upload-time = "2026-06-24T01:52:59.66Z" },
- { url = "https://files.pythonhosted.org/packages/67/25/2deb743ec58df78cd0ce577a40df187600e670d1554ae6c686c9405362c6/cloudcheck-11.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8d47c3527a6db33ae5c1c57c428df2f16e47818a75154481ff88e70b7b7f009c", size = 4289112, upload-time = "2026-06-24T01:53:13.416Z" },
- { url = "https://files.pythonhosted.org/packages/bd/ae/18f5b61a5ad6add2cea661bd839c1246ff295de24b1d761aacb78229582b/cloudcheck-11.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:53df6bd27a797560802c4e8e6b3a8bb4f6aa9d87bd762d2d7ab4ed4bbda1ef5f", size = 1412447, upload-time = "2026-06-24T01:53:27.079Z" },
- { url = "https://files.pythonhosted.org/packages/23/22/16169719a177e6ed099f1030b95a68dacd516429563bfe4c1d4561bd385d/cloudcheck-11.1.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7fdd75d9290732ab63b60a0456c72c6100b0ece7ba29f3ba37903da945aed90e", size = 1627846, upload-time = "2026-06-24T01:52:25.366Z" },
- { url = "https://files.pythonhosted.org/packages/31/42/567df33fd6022379f70ab69659b18f3a28a44c5c0878d4928c1d0c8ab033/cloudcheck-11.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:91682f2f6f06f7d99040c3b7e281e82057322cfd4d0f15c77746868335176bf4", size = 1603340, upload-time = "2026-06-24T01:52:18.402Z" },
- { url = "https://files.pythonhosted.org/packages/e5/00/1f054e67b5932f63cdbe1d4363c358a926ccc6a46a286fb18b41a82f1edc/cloudcheck-11.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8cc23596a1c64d5dc8300f03bec7f3962e21ff07fcca1b9a7e697d4ec47628f1", size = 4231553, upload-time = "2026-06-24T01:51:16.77Z" },
- { url = "https://files.pythonhosted.org/packages/cd/c2/27b9eb424148475cb6c696be2926bf06a27e9e19066357c99f5a8431bc1b/cloudcheck-11.1.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a9d2c81349bc95cf598248da3f34cc052ee9b19a0d374923ba88ca522a2b6b21", size = 3581702, upload-time = "2026-06-24T01:51:29.737Z" },
- { url = "https://files.pythonhosted.org/packages/f1/23/090a17cdf2447deec2019ddf2c99e71998fc7b6c1eca4dfd93e82b35b14f/cloudcheck-11.1.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e1db5cd94eaff83acf93111c83cc053a71a11861ae3a45d08c5a5c02a919ab17", size = 4166027, upload-time = "2026-06-24T01:51:54.715Z" },
- { url = "https://files.pythonhosted.org/packages/a9/95/a663471127fc36ddc5102a7f1638630e7098a4c2f59385039cfb201ec5a8/cloudcheck-11.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:03d8ab01a4f72a806d8ecb045e29055d208e5e75202934aee1fa3d709a4c77f2", size = 4076800, upload-time = "2026-06-24T01:51:42.432Z" },
- { url = "https://files.pythonhosted.org/packages/8b/47/a97fbf2eacb4956cbb9ca0a4316067b5d7cf18164267829cceac05eb6fc2/cloudcheck-11.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:916574b39591b533bda458c9ae3a780169e71be1ad0c72e1175ad58a5a5629b3", size = 4020820, upload-time = "2026-06-24T01:52:07.687Z" },
- { url = "https://files.pythonhosted.org/packages/0d/e0/f4545bb3bf57ee43c17ef1226de5dde334977ba538632f2be99d745885fa/cloudcheck-11.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:488518b5bcf8b9e72cefb5c23af69a52be68b4a196ccca5ef2f5a7cd5bf41645", size = 4634914, upload-time = "2026-06-24T01:52:34.565Z" },
- { url = "https://files.pythonhosted.org/packages/07/f0/932346dcf9efa86245a490f5d3a2432f895bba61432ece025134534a88b3/cloudcheck-11.1.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:1b32de616c43504e092f7ce7ad7122f6cba2a0d72bca130b0134d8811aba277c", size = 3911265, upload-time = "2026-06-24T01:52:48.629Z" },
- { url = "https://files.pythonhosted.org/packages/22/6b/99da3537c47ac0f73ff753ffb850d1f3249a653d537925e14bb7d66b880c/cloudcheck-11.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ca6a5e8e8b293acd32a5f5affe4106c6165033445062384a44dc2044c4d2061f", size = 4256638, upload-time = "2026-06-24T01:53:01.56Z" },
- { url = "https://files.pythonhosted.org/packages/2d/3f/b8250fa548c54d41948a59b24c23cba8215aae6ec45237c0981e47f6986e/cloudcheck-11.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ccaa40f94d028bf264e71e89e6e51993fc01643fb063e0f2633cd44de86a429c", size = 4288676, upload-time = "2026-06-24T01:53:15.676Z" },
- { url = "https://files.pythonhosted.org/packages/4d/5d/5fc745389013087e1d92c633b848f1a149486a0619a54276690b5f209e1a/cloudcheck-11.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:a90283241cbf136f99a4b9181ad5845aa479e826e0fc1a8287b8a69400cd14e3", size = 1412224, upload-time = "2026-06-24T01:53:28.64Z" },
- { url = "https://files.pythonhosted.org/packages/59/e4/ae62a65601098faf2b0b841e7ce5e87617f5c640c8c775087a77dea0b4a4/cloudcheck-11.1.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:37c7b25eebde0bdfadbe23a285ee0570cc6b91aee01400b3d2a12eb9c354e9a6", size = 1628902, upload-time = "2026-06-24T01:52:27.078Z" },
- { url = "https://files.pythonhosted.org/packages/ca/c8/b57b9930dc5352696f8ce154fcd8c4a1c0e56a7436186430d016c6be0773/cloudcheck-11.1.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:e69c64d371cef736ce7404dbc0d2d4f0af2c645e467432d5596f01f2b3f1c67e", size = 1603546, upload-time = "2026-06-24T01:52:20.368Z" },
- { url = "https://files.pythonhosted.org/packages/91/1d/13e34739ea4b1d6adc4af45c569446f70435616a81facc2b8adc7c3a0e36/cloudcheck-11.1.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5e99315d0e1214987bc2f6463dbfc5864e30a757c0f5a61ab3f569eeab65d804", size = 4227647, upload-time = "2026-06-24T01:51:18.708Z" },
- { url = "https://files.pythonhosted.org/packages/88/91/f4bb1a4ad1388375d62866c3dbb2d7868d01cc84d529404fecd1ea364ec3/cloudcheck-11.1.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac124c734c5e9e773f55245878819d793eb30662974f67fadf9bfb01e89f5850", size = 3582647, upload-time = "2026-06-24T01:51:31.514Z" },
- { url = "https://files.pythonhosted.org/packages/d3/61/36bedf0b70f3a31a25c72c1167a7972652084a7e07c8419fa363f03aab41/cloudcheck-11.1.0-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:14da5f7208fa6248ce96e620eca7888977905ff29de217c294976f098928e255", size = 4166298, upload-time = "2026-06-24T01:51:56.768Z" },
- { url = "https://files.pythonhosted.org/packages/f2/df/87ddfc882f32b2cfcbbd30b8758cadced445114c17b6979b60ed0d8c7e9f/cloudcheck-11.1.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05cdffad94d306ed391399848c583f917fb4ac25d99e6edddcaa77a9b78a9d5a", size = 4078109, upload-time = "2026-06-24T01:51:44.128Z" },
- { url = "https://files.pythonhosted.org/packages/82/6d/709c0fb41c52029da2a91df2f2184a37beb8ab95c3c614df2575060b4033/cloudcheck-11.1.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:593f78d4740b83f43955883b24fdc785193b7ff4e679f5545f9e9e6501ea86b5", size = 4019438, upload-time = "2026-06-24T01:52:09.584Z" },
- { url = "https://files.pythonhosted.org/packages/c7/7b/408820addf925533973abb1da009f8719c4063e4964ade075dcdf50c67d8/cloudcheck-11.1.0-cp314-cp314-manylinux_2_38_x86_64.whl", hash = "sha256:127ffee71e9de652e88c9e0179c59318eedd139b13453e839f0eb7f33e19b88f", size = 3620324, upload-time = "2026-06-24T01:38:18.03Z" },
- { url = "https://files.pythonhosted.org/packages/08/49/47e64da6a7775e8b79c0974ecb05d46c4576ea13c1b61616ee4536d04bc5/cloudcheck-11.1.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7625d40295f3285d8c81f527ea248e4a4c03a5ae9b0e3be777b7d5b519fffa51", size = 4627588, upload-time = "2026-06-24T01:52:36.667Z" },
- { url = "https://files.pythonhosted.org/packages/61/1e/7b3cfa2f917fb529f1b726cfe495258b05b7c689abf815c6786da63f03ad/cloudcheck-11.1.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:f5cf04e8a36eadcfe66739804df961f570dbacdade908fc8dde856bc7f3a070c", size = 3912050, upload-time = "2026-06-24T01:52:50.423Z" },
- { url = "https://files.pythonhosted.org/packages/77/43/1e680cbc70bfc2afd40753a2c3458f4568d14a3d605e72871f2aea3f5566/cloudcheck-11.1.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:3f4f92835fcf428f4acdc3681739a306c7172b6a7963ef4b272eefd0f390c387", size = 4256341, upload-time = "2026-06-24T01:53:03.479Z" },
- { url = "https://files.pythonhosted.org/packages/55/c7/3611ac35cb38a82d0ebbcf3568eefb19ba89b5d93040179a9bf13e93b4bc/cloudcheck-11.1.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:3e38eaf5fa3f871b2afe1caa4c1cf2626af8a55faf7db0f05abeb8895a40ece5", size = 4283526, upload-time = "2026-06-24T01:53:17.642Z" },
- { url = "https://files.pythonhosted.org/packages/3a/de/6ba44d3ea3c5ed7c03c744ee8155019845975208dc15a00213895fde5923/cloudcheck-11.1.0-cp314-cp314-win32.whl", hash = "sha256:5d418ad7ccd53f1367b31ead8c96c42c324f6eaef8a69f9a82772b5ce651465c", size = 1320213, upload-time = "2026-06-24T01:53:31.805Z" },
- { url = "https://files.pythonhosted.org/packages/91/c4/76ad9c8e15524c115b1f11e5b56b4291e0925cb8626989d7d93a503f7a22/cloudcheck-11.1.0-cp314-cp314-win_amd64.whl", hash = "sha256:76a90ae769b9837bf7f5cd7d7831ca3fae36fea839b5fcdd41e7ed8327c05183", size = 1411520, upload-time = "2026-06-24T01:53:30.269Z" },
- { url = "https://files.pythonhosted.org/packages/b6/7a/c414832db140aceb8d7021f787d9fc91f2358cbbb1733c689e939657238a/cloudcheck-11.1.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:416bbc5bcc2da6b77a7c5d83715da8b68ed140ce5435f40ebae7ac8a1669b54e", size = 4230623, upload-time = "2026-06-24T01:51:20.703Z" },
- { url = "https://files.pythonhosted.org/packages/08/5a/6062da2e386424f35907ffe5f9fa5f8d76efa9ba7b297f17ff6e2bfcfd7b/cloudcheck-11.1.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:75c04c26554d8b98564a6a354b7b5a23769fe106b81f6fe6bcf54d3f482f0937", size = 3579147, upload-time = "2026-06-24T01:51:33.376Z" },
- { url = "https://files.pythonhosted.org/packages/f0/9b/ba7c8bb8243c4a5ce4cc2522f046bd71742b0423738eb945cc778659d486/cloudcheck-11.1.0-cp314-cp314t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:af81fdf60c2369b384c182017c188bcbe6fd7a7a9dfb504f4e52ebd09f9dcd46", size = 4164579, upload-time = "2026-06-24T01:51:58.599Z" },
- { url = "https://files.pythonhosted.org/packages/a1/cf/0d81beba95d8ff0c64e9604f4abaf7001dc536f48efb54ab2b92c7a3539b/cloudcheck-11.1.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9d619c5beef80b831a95508dca6e7400378295a81f593290490f1e919b2d3ba4", size = 4078924, upload-time = "2026-06-24T01:51:45.817Z" },
- { url = "https://files.pythonhosted.org/packages/ac/d0/050ab1722d6c1a628ab6c2e5a1ba6788f79a14c16e1ea959467736a6d4bc/cloudcheck-11.1.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6914ec7776c85b73a739e2e6708fa7e730d28ab15010f4fba401386beee50180", size = 4025140, upload-time = "2026-06-24T01:52:11.439Z" },
- { url = "https://files.pythonhosted.org/packages/35/97/2bb5e69c7aded98bc9efc5cec1d648d9e5e4b4c3a717103f4d8513a66a5f/cloudcheck-11.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:74542a999b0b633c43a68ed6e51ccc4a1f1c7e5b009d774d29c9a3d2164742af", size = 4631093, upload-time = "2026-06-24T01:52:38.458Z" },
- { url = "https://files.pythonhosted.org/packages/c9/37/f7559e749951eb2b639eee322018c276bd1b4eb892ae7d46514b2afa4c63/cloudcheck-11.1.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:8cd31034b0be3b3bf706543e54eb61b4c31567484554f3c44b490f0759302e2b", size = 3909734, upload-time = "2026-06-24T01:52:52.269Z" },
- { url = "https://files.pythonhosted.org/packages/cb/34/c22c7b6863d9302b2cd94887dbea46a9d69be5d5ccb8f37459d9eb637028/cloudcheck-11.1.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:bf2cc009afa271b2ebfde51364003d67fe439d0a6c4c2740ceeb25ef0c36ad8b", size = 4253930, upload-time = "2026-06-24T01:53:05.241Z" },
- { url = "https://files.pythonhosted.org/packages/f7/88/a26706ee3c86e0d2b990d3184d38a7b69dc2fc2bd11b45dda4325cc9f9cf/cloudcheck-11.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:de8b44c02d05d5a5c4629b88f3edfadcefee2834b90a8b8888b4d56e2b8b1922", size = 4290138, upload-time = "2026-06-24T01:53:19.41Z" },
- { url = "https://files.pythonhosted.org/packages/70/3b/bfdfcc252b3df211a2adc657744528755c810e5c58e8d95a414ccabe3fc8/cloudcheck-11.1.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b70efa9390577f1c2cdec2a3dab40149efed3192b71a41cfe59e28984c0d1c6", size = 4236159, upload-time = "2026-06-24T01:51:22.71Z" },
- { url = "https://files.pythonhosted.org/packages/14/18/9fec85a4a09d528f4d514f8e70638d3961d4098cb715b4179f55313b673c/cloudcheck-11.1.0-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9a0d8d5c586f4dfdb8a644503ef855a7f59fe760390c3bae2cffce0fd7c5e6d5", size = 3585652, upload-time = "2026-06-24T01:51:35.245Z" },
- { url = "https://files.pythonhosted.org/packages/d6/5e/59699d4d59d9f0df8e370a465eda694cb106490c7e62d92446fb91944f60/cloudcheck-11.1.0-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d89a88f1ab1d8984a4ab69d5e1b6fc0d27372a337cce07138ba8464410a58631", size = 4170828, upload-time = "2026-06-24T01:52:00.378Z" },
- { url = "https://files.pythonhosted.org/packages/bf/ea/39266dd460993c5573b0b6e83a501e592b31f76bbaa39dcb6373f0e0d144/cloudcheck-11.1.0-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f5e25da85442c04e5adfa8e640b317461d5b28ffc4e9a4f69553215bddceb58f", size = 4082245, upload-time = "2026-06-24T01:51:47.743Z" },
- { url = "https://files.pythonhosted.org/packages/a3/e4/ccbc9d41aa4e38f1da5ae70860b65370eef1e9f3793e644113b12b3db2f6/cloudcheck-11.1.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f66138d97c9cbb6e5afe2f794fdfd6345ba2a65e958a138652f82c4c3fb261cd", size = 4025861, upload-time = "2026-06-24T01:52:13.234Z" },
- { url = "https://files.pythonhosted.org/packages/4c/7b/f63b121aa58decb8e29e51a894642477d9dd6e66d25a0f8dbc0bf11c482f/cloudcheck-11.1.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:fe3e69f5aa1611b9cb75a09f0062f590b76eb3d700c347239287e5a1503c38d0", size = 4641331, upload-time = "2026-06-24T01:52:40.327Z" },
- { url = "https://files.pythonhosted.org/packages/01/46/83842410d5e502c71e07e493f1fbf1d22531aebe352e578539ac3ee57c00/cloudcheck-11.1.0-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl", hash = "sha256:0dbe979a8ddbc8d324798d04667efa46a4200db350a16f10e7ad07d8c16102cd", size = 3914486, upload-time = "2026-06-24T01:52:54.083Z" },
- { url = "https://files.pythonhosted.org/packages/1d/c6/51fa6ff51575f8411dea54a7ba06cad6c2f7d28d874431dbd1aed1af21c8/cloudcheck-11.1.0-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:bb895f08f654451bbcc847d9f61bcd2132c1e1b968f6056a63647bbd560ebe36", size = 4264679, upload-time = "2026-06-24T01:53:07.513Z" },
- { url = "https://files.pythonhosted.org/packages/0a/2c/d9c8309be4e6aaae9e49343ba53f8314aa4258cb4a16a24bb3efd3e49003/cloudcheck-11.1.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:e8b40a33c6c2e66072fe7aa94b6a8cd088106dcf6da676ae9195b5a4e5606eca", size = 4292406, upload-time = "2026-06-24T01:53:21.307Z" },
+version = "11.2.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/83/1a/9a1e0c52781c4b600c9926add96f329268dcde6be3d1f95c83d99cb6cd52/cloudcheck-11.2.0.tar.gz", hash = "sha256:80287bf7a8917dfbadc5773490c33c57de31be93e4f0f80a03a730f3e6d312ba", size = 4906458, upload-time = "2026-10-20T21:44:50.449Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/03/3c/d5edb1c270842e4da3acdefd8bf004c4ae8096cdfb8a3b70f585fac2894a/cloudcheck-11.2.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:c3cecc0d4cbe287176dd8ecb5c5dd5a65524455ba31a95bc2ac247b0b0f1923e", size = 1605163, upload-time = "2026-10-20T22:03:51.757Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/64/72a83311438f3c6376f9dff4e7eaac3e686ab71f011d96121a96f16f8a14/cloudcheck-11.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:131f8370569c4270c5efbdeaa98613071d07478242f6ea42db3ebb22d22d6937", size = 1587019, upload-time = "2026-10-20T22:03:43.319Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/2c/ab5752de40975eeadcbef779cfc3ee34298a6a12d3fd6db8f7cd758ae9b8/cloudcheck-11.2.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:aaa0a04cf3e3f3f2f0ef8f875ad8cebedb5fe413f78b224afd9eca06af8a5b9b", size = 4229162, upload-time = "2026-10-30T06:47:53.648Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/12/e3fa4002a1debd678863cafd1c1dc778de77daf22120b8252072924b6f3c/cloudcheck-11.2.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.whl", hash = "sha256:5dfeaaf95d033fb79ee2a090bdd765ef73898b670b3c41ce663201ea120ff5f3", size = 3590580, upload-time = "2026-10-30T06:48:06.953Z" },
+ { url = "https://files.pythonhosted.org/packages/20/41/950de7fd16f661d0fd14c773978bfe887ce80d441b286d0e31225508a0bf/cloudcheck-11.2.0-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:ebda1acfba3f4376c57b3490c451690e773b75b30ecf52bc126f97cf7e10103c", size = 4169401, upload-time = "2026-10-30T06:48:33.782Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/b5/dcbfaabef2b8a54677c07ac259b9bd7fb41d14daa3001eaf43839c2ca0b2/cloudcheck-11.2.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:e3501ee1ff6a88b04ac84fb58e63390c0792f375b2ccbe97eff02e47e6b5d4c0", size = 4086784, upload-time = "2026-10-30T06:48:19.828Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/6e/5e90e0f31b00068cdffd2c52ba9c75d0218aa4fba69798df195df03f114c/cloudcheck-11.2.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:226892c15bd4955f035c60a5a0a7bc59a7f11ed87bd13e34c8cdb820097f0e62", size = 4001542, upload-time = "2026-10-30T06:48:45.344Z" },
+ { url = "https://files.pythonhosted.org/packages/16/f9/f130069582c0336af798e0dab8ba2af53f7200bc3ea2b5b26a311baf605f/cloudcheck-11.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa2d8f8a8c476a9677793b58a569685d4522167c4e25ea22fe40e14da5b08e9d", size = 4229160, upload-time = "2026-10-20T22:02:42.574Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/44/195e5dadef8777ef1ff658b11639910ca25e516b0662a17b159093ba231b/cloudcheck-11.2.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5320aba38ddfe5331739d883c4fe62a5156a496bef42bbb82018004136c5c277", size = 3590579, upload-time = "2026-10-20T22:02:54.532Z" },
+ { url = "https://files.pythonhosted.org/packages/4b/ea/745b386b5c252f4f840ee73de26af82f0a7e4a62d358a2c170cc9be7e3c0/cloudcheck-11.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:981ba74405a1a7690cb42c1640d1a5a821ec7bebe811fdf86d852ea9f1cfab6d", size = 4169402, upload-time = "2026-10-20T22:03:17.839Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/eb/fdb5cdd1b5b2991f556ef8ec93fddf2a1e2fe31a87ee1e502061b51569cd/cloudcheck-11.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2ad79998c00df63f82c2bc989304b4448ee89b28cd3df3ecebdc9fda88669151", size = 4086788, upload-time = "2026-10-20T22:03:07.265Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/b4/76095f64e478663543be5de321934277b468a804f6ddb577e206e21620df/cloudcheck-11.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4306963ac62b667b5a667a24f517451ef716b4970fed16c9f06427f68eedbcf2", size = 4001554, upload-time = "2026-10-20T22:03:30.357Z" },
+ { url = "https://files.pythonhosted.org/packages/2d/7a/0713ca692f4c615bc70291792630b905410f679c6ee83050fe2d85870c21/cloudcheck-11.2.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:feccf6aa0c4e1b68ea6aa9087e139c1652267adf781fe4eec2e703809f21d7bd", size = 4632162, upload-time = "2026-10-20T22:03:57.981Z" },
+ { url = "https://files.pythonhosted.org/packages/c9/29/03afd0114003ef4efe883759ff646a42da3287a107409351ea21518fcd9a/cloudcheck-11.2.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:3ec8016211069daa2f0f1db6b89d59d1216d53c6f11ab1ad316e1e420de9c3ea", size = 3920869, upload-time = "2026-10-20T22:04:08.779Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/92/aa91674667ca232ac84f47d2524704f3e7eac2d69689c5ec004b3e604753/cloudcheck-11.2.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:97f2e2a87dcb4847c98b0f740f329759c5d6953aee893f04e469605bdebca41c", size = 4264567, upload-time = "2026-10-20T22:04:18.492Z" },
+ { url = "https://files.pythonhosted.org/packages/ec/2e/1ad69d34a48e4f1103bae44a7e27d9878f73140e39e6a0c23cc84e8adf83/cloudcheck-11.2.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:eee893f95879970878ffbdca030ec43ed188b1cea40b6039de6881b0cdfd27e8", size = 4294159, upload-time = "2026-10-20T22:04:28.103Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/03/159dd2f5e8bf7003144982442d96a8cb12aa097b2804a1ff58647b0490a0/cloudcheck-11.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:d2d78012770df160c7696eca10300ad094a06c69219826525541c3865ba80bec", size = 1426369, upload-time = "2026-10-20T22:04:38.476Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/34/7fa7f6c01572bb42f28c8c337b7096c2410c9154e9f943f8e809eea9e6e5/cloudcheck-11.2.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:284f4656038cb001f1e81e4221e9077e1d23ba4c0951e5deb1d36da9b52a4bb0", size = 1605419, upload-time = "2026-10-20T22:03:53.603Z" },
+ { url = "https://files.pythonhosted.org/packages/58/1e/4c1df2672c29992848fe2f43c9d6af27f764e4f8607a15fcecba187e5482/cloudcheck-11.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d5681044373d3069f005e319c147d649b632b544337310479ff91d71954c51b7", size = 1578977, upload-time = "2026-10-20T22:03:45.277Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/aa/1006a759c36987dcaf42b590aba83787c77c73334f8919ebfc06af6af4f9/cloudcheck-11.2.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:780d196d06a61d4778a4e13c0d8a71e3fbdb00c7e63af3433a1d4106cd75ab61", size = 4227324, upload-time = "2026-10-30T06:47:55.372Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/59/5e96c5465d172dafced2bd62c9e25dd05913b4af5c68ba69b8d6e6fab0c4/cloudcheck-11.2.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.whl", hash = "sha256:686d79e75ba4b6532fdb08538cafec6218c05f6792639974b1f93d62328ffe17", size = 3583692, upload-time = "2026-10-30T06:48:08.557Z" },
+ { url = "https://files.pythonhosted.org/packages/96/32/642667e4838c2a166bbee6669b07ca5ee12c71ad1aa0b36951fdb52df2cc/cloudcheck-11.2.0-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:d5c8d53f73fc9da0b00b72236554ea0c655a11b09cb9e76eeaebf8ba71ec7907", size = 4165597, upload-time = "2026-10-30T06:48:35.195Z" },
+ { url = "https://files.pythonhosted.org/packages/5c/3b/e4b17bc27312118f753091813ffe01d629fd2e6ae828f6bc4cf18e185cf4/cloudcheck-11.2.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:df11998f3383bf4db4540941fb2cc22930d4d9ed4be8fbabe2a153a80b4d1992", size = 4079752, upload-time = "2026-10-30T06:48:21.198Z" },
+ { url = "https://files.pythonhosted.org/packages/26/ff/1b81a26f6daabfe866a9b4c384de886f8368ccf5ebe2ea04a97c3cef94ea/cloudcheck-11.2.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:8238e96eb26490e28ed50fcade16913eb26b4517fd842c5c68a09fadafdfdb48", size = 3997469, upload-time = "2026-10-30T06:48:46.916Z" },
+ { url = "https://files.pythonhosted.org/packages/fb/15/fd18b79569796dd22d963fa6e68b0796daed7e1074a6df04da984e2ca991/cloudcheck-11.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dac30e3a6b17fc4e58418ff918df74328840d2d54b5f94fe69f5f20df2da2fb5", size = 4227327, upload-time = "2026-10-20T22:02:45.036Z" },
+ { url = "https://files.pythonhosted.org/packages/93/e8/152b133010ecb61571f801544795a9118524ba675e039faa0ffc18f826ac/cloudcheck-11.2.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:cc0ad9552cfea148f770b8072a0f7bdf77033c2359919f955cfd871496032772", size = 3583693, upload-time = "2026-10-20T22:02:57.509Z" },
+ { url = "https://files.pythonhosted.org/packages/71/b4/3403497f3701078cc851a6f3d0b81b8da614734503da632e0633bdd9cfd0/cloudcheck-11.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:67e088193c787e3e9ab1298aaeb79bb657662f8c5844f31d125775b1b45fbff0", size = 4165599, upload-time = "2026-10-20T22:03:19.42Z" },
+ { url = "https://files.pythonhosted.org/packages/2d/5d/4cab2acc7ea616b5f07b9ee1b399711f1c177680c3afbdb6e53aecbe4ba8/cloudcheck-11.2.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:073559eed248a76e70d27b91a099654108cb4a1b8a1e2660b01a12a172e23b81", size = 4079756, upload-time = "2026-10-20T22:03:08.949Z" },
+ { url = "https://files.pythonhosted.org/packages/10/d4/5a4586fe20c29c35a8417be5e37d58c615ccce2d2d6b31f4885751f90fbb/cloudcheck-11.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b2b81aad0847abdb3b258e220950dfea7972516cae57a7bf769680bace3d1de5", size = 3997496, upload-time = "2026-10-20T22:03:31.938Z" },
+ { url = "https://files.pythonhosted.org/packages/15/90/e9edd4d955b12a787edfb94b3db8e473caeac87f09a764f5fe6cfe67feea/cloudcheck-11.2.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6777e2e26974e03160a73dd13b3ec6154df9f002be3803f038f5e6c1ef7c567c", size = 4629821, upload-time = "2026-10-20T22:03:59.727Z" },
+ { url = "https://files.pythonhosted.org/packages/47/89/a1c068199e80e6a49d2dd8eb9ad3468c79e98b76ab4a06cd3c46805cd6a8/cloudcheck-11.2.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:4f600b10b0714bf28d74bbf53883a3e195c91ffa553ac18eb08ab6e0fe1a543b", size = 3914552, upload-time = "2026-10-20T22:04:10.22Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/ec/a48bc381649431690c110dd4033d0c203ee2fe178be38e98683a7f677667/cloudcheck-11.2.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:87ced02f3de6d696b525a3be1586c3f935212a705e2d7e6b957edbe42c01e19f", size = 4257624, upload-time = "2026-10-20T22:04:20.123Z" },
+ { url = "https://files.pythonhosted.org/packages/18/bf/6e77b70584de21940057acf9fcc17860ed3f2c1c447bc809d78b0863cae7/cloudcheck-11.2.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:628771cb19ef3a6c2e783c90b5bf77b22b900ba8532d602974c16ad83168ede2", size = 4286295, upload-time = "2026-10-20T22:04:29.703Z" },
+ { url = "https://files.pythonhosted.org/packages/45/ce/f99a0f7d6b7a64d1bfa893a41446e63b46ea92513be0da9d8727a0ed0431/cloudcheck-11.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:f229356ba548bf616852e16fcbf86b939767dca9d6238ddf7dd160a33213eaa0", size = 1422982, upload-time = "2026-10-20T22:04:40.022Z" },
+ { url = "https://files.pythonhosted.org/packages/83/5b/e4e98a45a4957cd74a40b5cbb760d4d565b61133c87cf4a5ed1322d744d8/cloudcheck-11.2.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:8d38291827e863b479ed66018c2141e2c8d3b32c5c40021d945a6dee9dc3cdac", size = 1600271, upload-time = "2026-10-20T22:03:55.037Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/14/c5eafcdb0dc62ba36b2b028d3134f4661c5e7c13f5c0d12afc246f751ee6/cloudcheck-11.2.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:080d3d04ab2e78507b63d98e57c2c397c609aeaf6eddd73d35d253ffddf32d86", size = 1579135, upload-time = "2026-10-20T22:03:47.028Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/ef/c70b9c3bdd71960b6430c981da8fea2656c2de7b62fed91351716ba6e0dc/cloudcheck-11.2.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:c10e80e8f5332fe23445fb6bd86a865af17233bd790f8a2561689a7595a1d968", size = 4225642, upload-time = "2026-10-30T06:47:56.774Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/c2/7015be82e669a117cac8b466aea4aff656364f47792a7570239ffea2204d/cloudcheck-11.2.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.whl", hash = "sha256:e617455633e4078e332f47c73afe9ab92f5cc16ee956faeb149abf8be42d3f65", size = 3585590, upload-time = "2026-10-30T06:48:09.954Z" },
+ { url = "https://files.pythonhosted.org/packages/7e/10/7f4c56101750dbf242e38b4ee7fb4f990db4e9296b77751f3f59147b69b0/cloudcheck-11.2.0-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:be9a0daede37c6fe9a3b320338c84f717aaaee49a31f97ec1cd2fa8e4d15efb1", size = 4167193, upload-time = "2026-10-30T06:48:36.592Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/cc/308f44741b15e59802c24b00a1146ca93a7ca551baba212eace66582457f/cloudcheck-11.2.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:935acbe0d4ce13ef6721865692ec71724aa3936e80a587b159cfd7aa444534ea", size = 4082587, upload-time = "2026-10-30T06:48:22.772Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/a5/e70f2576edd12132c86cf12ca7bebd0c5a06e444aa66479e22b5b4d4316c/cloudcheck-11.2.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:588cc75be35cb7bdc5de55b092742fed398abebc941fdb06a142d69759059d00", size = 3997462, upload-time = "2026-10-30T06:48:48.341Z" },
+ { url = "https://files.pythonhosted.org/packages/29/af/e404464dbb6d31dbdd7a3aca00806bf3baf2820b0725da8752bee8f09b11/cloudcheck-11.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a810325944cd1d1692b928f75ffc5cb16e909c258bc73941985538c7b45a148", size = 4225643, upload-time = "2026-10-20T22:02:46.929Z" },
+ { url = "https://files.pythonhosted.org/packages/77/f8/ae4bb28474c19535368a1f1645cf4598eb4e840e155358679db5445358ac/cloudcheck-11.2.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b137825881252b59231049c22571fdae049d436b0239ac20bac4eef54bb346fc", size = 3585592, upload-time = "2026-10-20T22:02:59.122Z" },
+ { url = "https://files.pythonhosted.org/packages/dd/f5/bbd6c9dded6b41a1f8b55e60181e77bae6039a2edbbfc3625f89a72611c5/cloudcheck-11.2.0-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:db305cbf9f668b39cc0eb1e0bd9ef6623c5b0fea72f2845accc8f11e68001fb7", size = 4167190, upload-time = "2026-10-20T22:03:20.855Z" },
+ { url = "https://files.pythonhosted.org/packages/8f/28/29f1780296f511fd57a92b4a13e091c0ca8c749e677baeb4e182450c9091/cloudcheck-11.2.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4fa443bcc28c45b75d058f81e227bd0b2e54899b113964c1ed11c4b700591e9a", size = 4082591, upload-time = "2026-10-20T22:03:11.584Z" },
+ { url = "https://files.pythonhosted.org/packages/c3/75/5a04ef98ff80db384cc3609129eed10fed488e7e573b84960336cdc5501b/cloudcheck-11.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cc2b72c453c696977e8f9f446f3a365e09cf18f3b15bd480658f78e069a6733", size = 3997475, upload-time = "2026-10-20T22:03:33.597Z" },
+ { url = "https://files.pythonhosted.org/packages/e5/61/6040a5f034131765b30d642a8bc8f237175a814f67b4b4112f7e0328ec2e/cloudcheck-11.2.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:19d7d67814df33af93faf3b15d3786d6df98e3dbbdbc79e617030abb644360a6", size = 4628964, upload-time = "2026-10-20T22:04:01.791Z" },
+ { url = "https://files.pythonhosted.org/packages/36/84/47fc06bca3af455ba6cd4bc020770d059fbdd94a59fc549dda72821a88a9/cloudcheck-11.2.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:2d3a7f4903920d33eb0611b5c438c738e95389293e5a924d0717f1d78f9601e9", size = 3915312, upload-time = "2026-10-20T22:04:11.711Z" },
+ { url = "https://files.pythonhosted.org/packages/97/c8/021c9add33a54627f7bc2a61a06f81932eed23ee97f7eaa34db25bb8f132/cloudcheck-11.2.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:58938c0c4d2d5c47fe8e04515f8d92c1e3c5f816a5b56eb93ed114b22de693be", size = 4261493, upload-time = "2026-10-20T22:04:21.686Z" },
+ { url = "https://files.pythonhosted.org/packages/04/41/e6c229acad43d0e078dd3f19f596ac48fa81e8a61e893ff007017bab72c3/cloudcheck-11.2.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d1d7ee7d4860cd2f117f99675d1d5e246d0dcc2fa2752f4fa6dc549e134d4257", size = 4287106, upload-time = "2026-10-20T22:04:31.263Z" },
+ { url = "https://files.pythonhosted.org/packages/c3/6a/59d99cef1bf7303302afd6f7cc3b0ac2808383c8da593020cbc253f9297b/cloudcheck-11.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:2ea4a675ab368036d6ee437ae52f5994f0d70728bf72f05d2c874c466fa2c556", size = 1422894, upload-time = "2026-10-20T22:04:41.478Z" },
+ { url = "https://files.pythonhosted.org/packages/00/05/87a4b484fe2c7ef6789e4780ce9572554b172510759b2dc872ade44af39f/cloudcheck-11.2.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:b76da03118f441009e94683ea74cec82a1a3e1790b5abbc252b53d1fa1b9e2f9", size = 1601481, upload-time = "2026-10-20T22:03:56.523Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/17/f01a4646caa0848d08ac796e58918acd525ef46f3f0a7e8e5511d56ecac8/cloudcheck-11.2.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4370f8c250030942f6fc9ff1f128e88d457e2791c92d5ce6239992d450045495", size = 1582655, upload-time = "2026-10-20T22:03:48.645Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/bf/53b5d21b6a8591f9bfb42e25669fe4a5c6219404453affd8ab09bab58eb9/cloudcheck-11.2.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:e9743130a5ad6d9e6653169632b62b697afa5396d46a9ff3e4e03e5f44223f36", size = 4228394, upload-time = "2026-10-30T06:47:58.173Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/6a/d0c6bf0a0c278908a610d0ee6c2443c1322516457cd124b578aebbfe6a16/cloudcheck-11.2.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.whl", hash = "sha256:77f9d00cb389a46096e237a1f3028a9df98a6c5d62a1f7c4fd90b6b613cb3bae", size = 3587027, upload-time = "2026-10-30T06:48:11.654Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/2b/a0fff65d5a9dc249e873de63a8321bb1d7993d9adcd80f922380de818ed8/cloudcheck-11.2.0-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:4fc2d5ab71fadeaa7dd23936f4888442426e12306c4e4bce5e76e763f48b937d", size = 4167963, upload-time = "2026-10-30T06:48:37.865Z" },
+ { url = "https://files.pythonhosted.org/packages/c9/54/cefadc8b1e47cbd47b4a954831e31c5e6efb3ddfe2516dc06984721df359/cloudcheck-11.2.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:a6469bc193f9c0b3273b5fadf728b165670df6154e127f78b5bc26e6956931a1", size = 4082775, upload-time = "2026-10-30T06:48:24.556Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/e1/583a72ac1316c639637ac04582435c12add88d07b4560d0a4d77866009f9/cloudcheck-11.2.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3bbdede095e7a843a914ab6670a46ba6c15b15a2aa1f35df013640b2a1e895a9", size = 3997452, upload-time = "2026-10-30T06:48:50.403Z" },
+ { url = "https://files.pythonhosted.org/packages/56/01/e2565b1875f85982ad958f9c281693b4b971d0fdb35d72daa367f0ae96a6/cloudcheck-11.2.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a514139cf3641d8e9be749a4f6bc79219e50e23fdd16346f77ad5a12bac35aff", size = 4228396, upload-time = "2026-10-20T22:02:48.859Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/40/73dc51ab553bc50946bf12e65b5428fce3003c756514792581977209906c/cloudcheck-11.2.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b7e85fa6105748bd91c0fb82b8e46f65ccb733fd44e274819016560bfd5a4c26", size = 3587029, upload-time = "2026-10-20T22:03:01.268Z" },
+ { url = "https://files.pythonhosted.org/packages/a4/99/7a390e325f3cb310f9e842cafb1210f20d64434f8eab2e536d51249fc286/cloudcheck-11.2.0-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7b2d043f1c20f3fb42fa45807a0718bbe3051dbc23fbe2f2065cf0dac0268a3", size = 4167966, upload-time = "2026-10-20T22:03:22.317Z" },
+ { url = "https://files.pythonhosted.org/packages/52/b0/268b8897747e8056d8f4f5bf145dd923a0c1ec6dc1f787a1e597f8cfb12e/cloudcheck-11.2.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6137f1f1167b84aefedb9cb511ff809ac5a5c2d3bf0a99730555d5e3b91cda9d", size = 4082778, upload-time = "2026-10-20T22:03:13.199Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/3f/9232355344bc0ff977b026a1e2840f7f19d2ad9683a2c6b98489d224536b/cloudcheck-11.2.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:795e885d4ea072695b55844bf1172fca5ee0ddb2a54ea086f8e5aff6dd6b76e8", size = 3997488, upload-time = "2026-10-20T22:03:35.228Z" },
+ { url = "https://files.pythonhosted.org/packages/19/1c/c871a962ffbcb3a932bff2dfff017c9da3c3e0dbccea61ccc09f38c866e5/cloudcheck-11.2.0-cp314-cp314-manylinux_2_38_x86_64.whl", hash = "sha256:31b00dc90396f186d6c7f1fa643e042721c95cb8056ca5bb0e077a92f6ed3a8f", size = 3624926, upload-time = "2026-10-20T21:44:47.923Z" },
+ { url = "https://files.pythonhosted.org/packages/61/9f/8e0792d54f7e7db1208d75510307ab2218a320281a32d170bdacb72acdb6/cloudcheck-11.2.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:e0dcc6c5543169813f8a65715d01884a651dd340a06f3e8ab240a0f76ac09eb3", size = 4629774, upload-time = "2026-10-20T22:04:03.407Z" },
+ { url = "https://files.pythonhosted.org/packages/75/da/077739b36c6686d4b9df7bb52cdb89dbeae5bc700dfd18819763bd4fb57e/cloudcheck-11.2.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:14c5046eee9a3e86ad408d7cc4cab7eab8d999bf6561901daae065d5a88fdb63", size = 3916846, upload-time = "2026-10-20T22:04:13.183Z" },
+ { url = "https://files.pythonhosted.org/packages/58/51/01d79d469d42a8feb27c3e3d20468748ef40e2c5f383ded4afcc470cafdf/cloudcheck-11.2.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:a2e9333470b431c608a5cfcf78e9fbf1e3021fabcf42f40b3dfe751a65c1757c", size = 4261933, upload-time = "2026-10-20T22:04:23.423Z" },
+ { url = "https://files.pythonhosted.org/packages/c6/86/19fcc02bac1ad74a03ca3c3f480532232a30f6133870f5243e6379a419ff/cloudcheck-11.2.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:09a3b46cddfeca6764a907d3e89ae8b664e66158afc63579bc95e708e805474b", size = 4288135, upload-time = "2026-10-20T22:04:32.803Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/58/5afb78a1a141863f45c9d7c80963e32496b79b13470dd90a35976e25787c/cloudcheck-11.2.0-cp314-cp314-win_amd64.whl", hash = "sha256:a18b0a11b7d2f8074b1d6d1d789212f2706b25cc7017ededcab91c792042c576", size = 1422824, upload-time = "2026-10-20T22:04:43.075Z" },
+ { url = "https://files.pythonhosted.org/packages/da/1a/ff20135e9c8753d93858e7d4e822080b801bda47a5f78a91ef2ae79b003f/cloudcheck-11.2.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5eb6cce23f841fe77318ccc328321bcb95239b1d6cddeffeac70d32ebf29ce2a", size = 4226007, upload-time = "2026-10-30T06:47:59.536Z" },
+ { url = "https://files.pythonhosted.org/packages/4d/99/9f7814310dc630bd6981c9a241b1e7a8759acce19c5f8e4ffaef43207e68/cloudcheck-11.2.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.whl", hash = "sha256:a840bf66a8002f257d865f723281d94a8f0ff59e5347127390221eeb43bebcee", size = 3579867, upload-time = "2026-10-30T06:48:13.018Z" },
+ { url = "https://files.pythonhosted.org/packages/57/61/00ca7bafd4eab4fc00334be9f09a631b6e48280723689d53c7b45e1a7d78/cloudcheck-11.2.0-cp314-cp314t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:eee87d3607050a7b18aa21d657795d60015228bd7851418701a280f750e41293", size = 4160237, upload-time = "2026-10-30T06:48:39.466Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/4a/ceadfce8e98874ba11ab68338e9e4109442870055658cf3b86b00d66c37e/cloudcheck-11.2.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:587368e094fe1422081d26713cb27a47c31a87d66c7f812808b0b5fbdded20f5", size = 4082294, upload-time = "2026-10-30T06:48:26.575Z" },
+ { url = "https://files.pythonhosted.org/packages/67/72/ed6b2792e67c3f8fed338a794180d76fc5e4e09135f3fca57206d8908891/cloudcheck-11.2.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:462841434734824f50ca88f0bcf198b0694b46043e71e4ec72af5de5d6404fb9", size = 3999178, upload-time = "2026-10-30T06:48:51.987Z" },
+ { url = "https://files.pythonhosted.org/packages/87/92/d444bdc4ea089bbcb5858f9def1e53f263e2fe0a8d4b819e50ff6b044719/cloudcheck-11.2.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3282d046d29d59619c3a8d5a56dd9bd7b84d4b28f22464e53b4bd76a7e95120c", size = 4226009, upload-time = "2026-10-20T22:02:51.052Z" },
+ { url = "https://files.pythonhosted.org/packages/51/d6/923d272ceb898cca51ade85eb0ad4622f2a34aa3416952c360fc271e75f7/cloudcheck-11.2.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3b09aca7cb8c7f477d15243bc3ca4041b6f56d43faa1964c6497b4408bff762d", size = 3579868, upload-time = "2026-10-20T22:03:02.963Z" },
+ { url = "https://files.pythonhosted.org/packages/02/d2/53849d7dc64ec5b37d385e727441355e9ac0999d7cb630ccfd110c59b3dc/cloudcheck-11.2.0-cp314-cp314t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2acb9c4679c2a820b9f502f08880984bd01410edaa198c9c87bc0ffaf8af24ad", size = 4160237, upload-time = "2026-10-20T22:03:23.937Z" },
+ { url = "https://files.pythonhosted.org/packages/76/73/5fde6cd72c02c9ae638d4d03b26d2b6f0a183518855f8e70dd0248f7b04b/cloudcheck-11.2.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e68b87edca9d168a20144a808ff4777c228a4fe88d990e516a697fb39e1f29e7", size = 4082295, upload-time = "2026-10-20T22:03:14.767Z" },
+ { url = "https://files.pythonhosted.org/packages/37/fe/73f599b3099692dab9dcafd5e6d7f6b050762f0a0618e50293e58d6af66c/cloudcheck-11.2.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab3d58824b6a03f558e40d6c344efa414892360ee979eeca66d1dd199bd8a1a5", size = 3999207, upload-time = "2026-10-20T22:03:36.951Z" },
+ { url = "https://files.pythonhosted.org/packages/12/ec/f6e827575797273021af215380871b670b2254195aea9f95780c8dd284a6/cloudcheck-11.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:a2abe71ebaac4e09a10b4594f51d39195585b43a4f848c058f1fd25da8e769fe", size = 4628543, upload-time = "2026-10-20T22:04:05.179Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/a9/5a52b31e6ff4be2e8e4263ba8f28b0181a301b740bf89176cd7dfd8a6820/cloudcheck-11.2.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:c22f3e53ee4360c537cbe49e0f6fe170fad4c86c9bee1f7563a4a687ceb51c11", size = 3910329, upload-time = "2026-10-20T22:04:15.064Z" },
+ { url = "https://files.pythonhosted.org/packages/1b/33/e17471996dd3a1317cf5cae509af8f928da7fdcfce5dfcf424ee7c80d492/cloudcheck-11.2.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:cf6a4bddd0732186d93838eb743d70f633cd82d23a4c93180ecf4a5b1f1e5f74", size = 4254296, upload-time = "2026-10-20T22:04:24.943Z" },
+ { url = "https://files.pythonhosted.org/packages/f8/09/78bc8ad0c0f0b9c68288b018143217a8827ff34b14c311d45b508903712f/cloudcheck-11.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:3d7f32b834e357820a43a7a5ca0059aab5b89ebf5b985a195a4227a77604def7", size = 4289111, upload-time = "2026-10-20T22:04:34.593Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/1e/221714844b528c8434e1ac3de2e2b3535d6439402966614c09a3c5d9ad5b/cloudcheck-11.2.0-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:13678bdca0bf18a8d2ab26464e06498c7dfc7b8fcb50d5b097d085b217f3d2c4", size = 1582457, upload-time = "2026-10-20T22:03:50.363Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/57/be3feec481908a512fe6604f165406dea47bc62f620588742b6981f8767b/cloudcheck-11.2.0-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ad432681c8fa455c87d32b89f979dcab85cfef191f02e66b000b642eb0917f8c", size = 4227827, upload-time = "2026-10-30T06:48:00.947Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/72/03154ac16f79d5b7a7b7b398340a0e5a643075cfe3bd579d29a727733c68/cloudcheck-11.2.0-cp315-cp315-manylinux2014_armv7l.manylinux_2_17_armv7l.whl", hash = "sha256:830e930aabc06fb30ef993ec7f7854ec9a13e2bc96b7dbdb8f82035a40fa35f5", size = 3588361, upload-time = "2026-10-30T06:48:14.282Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/b1/b5c1f4cce456a4c960bc31a7ac85e13e83f3dd577883e5dcb8f89fbbc5af/cloudcheck-11.2.0-cp315-cp315-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1503a6fde2f6be0ec80a26d2e54ddcd1c051b369a41026ea755fee4932b99998", size = 4169344, upload-time = "2026-10-30T06:48:40.895Z" },
+ { url = "https://files.pythonhosted.org/packages/54/15/cd13268a03e66625cb41cc2cab8dc082cc421f308c100d254104e777c058/cloudcheck-11.2.0-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:8ca529660c00b76d4c8483d80fcb8c0094ce8b93689536f90094aadcb4636a88", size = 4085068, upload-time = "2026-10-30T06:48:28.109Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/a5/f3d7d9eeb6930d05e794d9035b94fc8e0fd96956adaf57b0ab3eb58c13f6/cloudcheck-11.2.0-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:83c6bb81a2517f41a8e0281f8e2b0a8ac855a12e1e2aed65b162921b8d5b665f", size = 3997537, upload-time = "2026-10-30T06:48:53.279Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/15/3453dfc0087c999a3fe6df5a1a9fb9819373ed4b99508f294be6a5b16bbb/cloudcheck-11.2.0-cp315-cp315-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf94548075a8ae837c2a3ad33b391c9d4bf842c3e39380803cef1ad005f68081", size = 4169348, upload-time = "2026-10-20T22:03:25.632Z" },
+ { url = "https://files.pythonhosted.org/packages/97/d9/69e126d83883596841816b26093714fbdb1caf6398b1baaae091de0d6b6c/cloudcheck-11.2.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9c3af0f162d70f18749105e86eb71406a8cd7c4ac0b2b784370ff378dcf0069", size = 3997555, upload-time = "2026-10-20T22:03:38.418Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/8e/6b623b572c5f2bfabcf40f2fed9f8c184d0abdd80b37ebfcf0e6a908871b/cloudcheck-11.2.0-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:ed83df11f4ed4a3a755d1e9c1c8411dafd464f92fd76f614a7fcddac9748e815", size = 4629467, upload-time = "2026-10-30T06:49:01.911Z" },
+ { url = "https://files.pythonhosted.org/packages/82/c4/cdb06ce349789e5798e861d5a5608b04fd881a1ccc60e13cf4a408e5ca83/cloudcheck-11.2.0-cp315-cp315-musllinux_1_2_armv7l.whl", hash = "sha256:56e50e0941b5811610f2e2a367393cb8d197628ef79e9145e322815fddc00dae", size = 3919056, upload-time = "2026-10-30T06:49:08.356Z" },
+ { url = "https://files.pythonhosted.org/packages/65/f3/cc847c97a2d975d1a7b3f71a065a2d4c88ab9d2c2c59406da87d6d85b836/cloudcheck-11.2.0-cp315-cp315-musllinux_1_2_i686.whl", hash = "sha256:ec891ce17f835f25c5c45737befc78614de5b6964af6c7301dba90034eeec784", size = 4262849, upload-time = "2026-10-30T06:49:14.617Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/94/1eb63341444ca358b19ac63df150eaa92ebcec6cfb03caaa13b1f6b14198/cloudcheck-11.2.0-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:f22854e1ec2a26d8facde15ffe782a7a23fbfccc7148204c3b55be543c553108", size = 4287550, upload-time = "2026-10-30T06:49:20.559Z" },
+ { url = "https://files.pythonhosted.org/packages/67/a9/fdbcc45f03a4d6ec8f4c592aa64e67f6adea33dfb61877531e8edb80d3b0/cloudcheck-11.2.0-cp315-cp315-win32.whl", hash = "sha256:c6d361dcbf540d32c211c9a7b900b31385abed4e50b6e7147be6c4e572fb24ac", size = 1326083, upload-time = "2026-10-20T22:04:46.007Z" },
+ { url = "https://files.pythonhosted.org/packages/b1/87/9b9039fdbd774b43a1537057385480dc486cc836b8070293e19d185784a7/cloudcheck-11.2.0-cp315-cp315-win_amd64.whl", hash = "sha256:2660a7730f7b79d3a6e2f3def102d0b63546cd2d46fc44b2bc58dda366c91fb2", size = 1423006, upload-time = "2026-10-20T22:04:44.364Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/1a/fa23e0c56e3fc5953175c9d75b942e0514ebea6583fd9070407865075b8c/cloudcheck-11.2.0-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:beddc2b4fcdd39b4d94e1a8b8824b8ab45912fa410e776b2707c10fbf041c16b", size = 4223999, upload-time = "2026-10-30T06:48:02.347Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/13/84677b83f97e4cd26baf7fd5b0b0ddf9afb165dace1ae7fc12c7d7d4516e/cloudcheck-11.2.0-cp315-cp315t-manylinux2014_armv7l.manylinux_2_17_armv7l.whl", hash = "sha256:ebf0bfc5f8a2346275e52b1909ca50eb3e8b19b83e00fa18ff388347edc7d847", size = 3580482, upload-time = "2026-10-30T06:48:15.58Z" },
+ { url = "https://files.pythonhosted.org/packages/88/fd/b2b74ca94dffebbbf3bd45e936cfbe1a80b430bd2795f21b584a28727965/cloudcheck-11.2.0-cp315-cp315t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:270300edeeab06c31c0c88923078a3d520f6a8f831e99cdcdfa80f3a67d5cbe0", size = 4161021, upload-time = "2026-10-30T06:48:42.545Z" },
+ { url = "https://files.pythonhosted.org/packages/18/aa/faa49acd7122b3cf0758e01cff8d325afce5c568253a1f061e1b5b13f468/cloudcheck-11.2.0-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:3895f24af7d8cc8be9a943353624d2de212077f87afd9c9a1771fe6ed08a21a7", size = 4082436, upload-time = "2026-10-30T06:48:29.431Z" },
+ { url = "https://files.pythonhosted.org/packages/db/99/56117afedded4e2de84bd8b373db5f935e9e771bc3237c27c466483eb722/cloudcheck-11.2.0-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9a5602721952a44bc25c4298c4127177c089a929672f703d7217a04eee53a89d", size = 3998394, upload-time = "2026-10-30T06:48:54.651Z" },
+ { url = "https://files.pythonhosted.org/packages/36/04/4d6e3b5d286105a230b9bb5de136aa00a2586762415e662011f2c8ecc4b2/cloudcheck-11.2.0-cp315-cp315t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f04809725e2cf3e3b47c6550132f55065831f0c8c1568d3d1b4e2a9dec375687", size = 4161023, upload-time = "2026-10-20T22:03:27.313Z" },
+ { url = "https://files.pythonhosted.org/packages/53/1c/96d6e51e7e11a9d8ca1637ec23533412df02d4ddf330b0f353bb402c5847/cloudcheck-11.2.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c336fa395b3f3610de38ae43f7912ec743ec82288881f4cf7c7d4cfd95e34d6a", size = 3998418, upload-time = "2026-10-20T22:03:39.875Z" },
+ { url = "https://files.pythonhosted.org/packages/67/0d/d97a0a69c395f4aa1649afe576f674c4830efc53958010b3efe4df7622d4/cloudcheck-11.2.0-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:6ace147cb6f89276d556a62c054f39b1a3f22949d8e5a3a39560eea3e14e47c1", size = 4628109, upload-time = "2026-10-30T06:49:03.282Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/9f/3274984b70a311fa222340c5f9e6bc80c36aaaef054e0e1cf24c74b8aaab/cloudcheck-11.2.0-cp315-cp315t-musllinux_1_2_armv7l.whl", hash = "sha256:8e372c433a48e56e2e632a096348a10800fac369a8a8c0b033c5933496f88c97", size = 3911150, upload-time = "2026-10-30T06:49:09.912Z" },
+ { url = "https://files.pythonhosted.org/packages/56/ae/8064abb3962a49b2c8573af29bc3e41779de0a4d750ee32649b6c9e6f78a/cloudcheck-11.2.0-cp315-cp315t-musllinux_1_2_i686.whl", hash = "sha256:302be288156b8adfe8c9e8de33a6383214f4b99efed88038c9ee4dd4fe16d3ea", size = 4254418, upload-time = "2026-10-30T06:49:15.986Z" },
+ { url = "https://files.pythonhosted.org/packages/c3/3e/19532f76020b466f61f3f4894b3255d94e4777419ac73d10563e071ba0f1/cloudcheck-11.2.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:a0f5f5f3831c5557855ab9996cccbbe36079527c8f76f0a621491c7b7572578d", size = 4287586, upload-time = "2026-10-30T06:49:22.096Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/9d/d04f3c83d5e1d9fb2d6b0c1bc050dbe6ffdf48a1bdd398b2054196f34979/cloudcheck-11.2.0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd2d096a6c2e3daefc0b2a724056738aa7c703a6895007b4e7916004cdd0d585", size = 4228704, upload-time = "2026-10-30T06:48:03.798Z" },
+ { url = "https://files.pythonhosted.org/packages/bd/11/c062281f44251b8aeca7e7c76db9f982a299d034d1b82e67ad1be08fd75f/cloudcheck-11.2.0-pp311-pypy311_pp73-manylinux2014_armv7l.manylinux_2_17_armv7l.whl", hash = "sha256:29fe6f0bea68fdcf6ce491066b3830498420cc25547e4396ea690fb96800f77b", size = 3589191, upload-time = "2026-10-30T06:48:17.036Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/f4/364b66f451f541ad5f9ef5d6118ee6343136f804537f0ce1592a59dbaccd/cloudcheck-11.2.0-pp311-pypy311_pp73-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:8b6656be18adfc19289e038573b342f792264db0554290d42a528fc0034c2c3d", size = 4170438, upload-time = "2026-10-30T06:48:43.801Z" },
+ { url = "https://files.pythonhosted.org/packages/71/01/5841364d8e6193f4b07533ed0cf7181debb52dac21886f1ef51fe0bca32a/cloudcheck-11.2.0-pp311-pypy311_pp73-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:db009b218bd1b6686668846e2af3637413b4b8aae39b1805a875f2b368ca20d5", size = 4087648, upload-time = "2026-10-30T06:48:30.864Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/d2/df8833a4f15e0e3cee329d9bd9af1ea28fa154d6fa262706c1af9277b33e/cloudcheck-11.2.0-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1367c2ddba3d5bbcdd2e3121822b055698ac87a18ae03df3a471c0315b4c8374", size = 4005148, upload-time = "2026-10-30T06:48:56.249Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/b2/88391dc949d7fdd9c405bc7c79e9e83752ef592ff74dfefff1e2ce87e849/cloudcheck-11.2.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d986a24ba563ef44a8c7e2f49a09c4e9692ca5e278d14468037b17dfcf032796", size = 4228705, upload-time = "2026-10-20T22:02:52.999Z" },
+ { url = "https://files.pythonhosted.org/packages/17/6f/4cfc9fb7360eb4457a2fe39e058adfdc2ae84ae0ecbc6ba550c9246ac6f2/cloudcheck-11.2.0-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:583880be734f2fcbc1ef55f9e1a05355427ee53a99390861746e008eddfb6153", size = 3589196, upload-time = "2026-10-20T22:03:05.321Z" },
+ { url = "https://files.pythonhosted.org/packages/48/47/bdde318e5971337c328f30c50597fb2c79fba8525b752c5944df0e31b32f/cloudcheck-11.2.0-pp311-pypy311_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:158d516d39c94ab3954b085db74b39e176cad9d13f0349f46a079d3125d52171", size = 4170436, upload-time = "2026-10-20T22:03:28.886Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/78/ccd48b4816dfc29b1aa435db25e7363ab3d55e90784403f97404631e2a9b/cloudcheck-11.2.0-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:096185066a3a0fc90991e876bb9f87257de5a5bb29df351fafadb9ed3935cf64", size = 4087651, upload-time = "2026-10-20T22:03:16.325Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/1e/58016517e7ed378e0d1be4cd6227af30b3571521a587fc7c2de53db06821/cloudcheck-11.2.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1776d80cc214ad138c8dc6b1059fffb46296b969ba0baa70723f8f1e896ceb96", size = 4005148, upload-time = "2026-10-20T22:03:41.317Z" },
+ { url = "https://files.pythonhosted.org/packages/96/5e/8d77dbb07437468b2ed16ee745e01898bb7cf666e85cd74bbe04086adf6d/cloudcheck-11.2.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:14e3094b2288ece75465566cf690902f659760454b4271a63c5b58a5f4fad165", size = 4632217, upload-time = "2026-10-20T22:04:06.981Z" },
+ { url = "https://files.pythonhosted.org/packages/62/a9/0310e4e304196e63536b7575d9008493efa4a5dbc35c8ed4a568f8b58c6e/cloudcheck-11.2.0-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl", hash = "sha256:73706117b5fee402e3a9a69c639ee6e3d1718b18b0169c6ac8f8037df7c57c21", size = 3921186, upload-time = "2026-10-20T22:04:16.997Z" },
+ { url = "https://files.pythonhosted.org/packages/9a/4f/cae603209067b0e4ae3bf7d0ba4104a4dadd2892869f2b59ee97c3fb2d5c/cloudcheck-11.2.0-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:1db5379cdee879aba236bc8d7ef806f9a5ec9ad014c031e64acdfa7fd89e19f7", size = 4264891, upload-time = "2026-10-20T22:04:26.417Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/54/9800c59c5d8f3895ad8ffee439f7fd1f585f1e6e7b158c863a5c315c7742/cloudcheck-11.2.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:16b70fa359d3467a62408ddf54db567a24add3b7658428fbddda250aeff7aec6", size = 4295494, upload-time = "2026-10-20T22:04:36.408Z" },
+ { url = "https://files.pythonhosted.org/packages/c1/de/7a4fec4227c71977be0c183657967b0d6976b49b9d1caf46b01c2da9a989/cloudcheck-11.2.0-pp312-pypy312_pp80-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:e89ce70431523e1b863400cf0097cf2dde4791bf0f4a1a7f04b618e0c9516782", size = 4223927, upload-time = "2026-10-30T06:48:05.348Z" },
+ { url = "https://files.pythonhosted.org/packages/71/17/a7554cee3fd9ca725144995748e89a728a1d49e83aff440c9326250337e0/cloudcheck-11.2.0-pp312-pypy312_pp80-manylinux2014_armv7l.manylinux_2_17_armv7l.whl", hash = "sha256:2ec26038f711c4cb9c95ccf8cf373fb42021cb05949cbcd4e9973854c65d4775", size = 3585724, upload-time = "2026-10-30T06:48:18.445Z" },
+ { url = "https://files.pythonhosted.org/packages/74/65/234cdab63ebf839551c5926ce25c2ca0849bf478955bbf52cb2b1a01a0fe/cloudcheck-11.2.0-pp312-pypy312_pp80-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:11cc88442a8048fd16edd57b7e4c067b91b450c48f45d5bc12dcc649b87bbe80", size = 4082206, upload-time = "2026-10-30T06:48:32.271Z" },
+ { url = "https://files.pythonhosted.org/packages/31/41/bacb0a9cb9c80ac11a342131e838bd4020b54e00c79bdacabe4fec8a17bb/cloudcheck-11.2.0-pp312-pypy312_pp80-musllinux_1_2_aarch64.whl", hash = "sha256:84f6c23e75a590b8c56e9ce9b589b3850362aabd484d03ab061bb4b32bbe243c", size = 4629137, upload-time = "2026-10-30T06:49:04.971Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/32/7096a9b815c26843d641d8496d2f19c40ed3a4947bd55699256630f32ce5/cloudcheck-11.2.0-pp312-pypy312_pp80-musllinux_1_2_armv7l.whl", hash = "sha256:72d24ff001129a611515346e922ed06f220ffb049e0d5f6624e4971768e0eae8", size = 3915679, upload-time = "2026-10-30T06:49:11.604Z" },
+ { url = "https://files.pythonhosted.org/packages/27/e3/54e13abfbf7a8c916c344b472f79f4584d2eb590ae2a9bb173f93fd1d8a7/cloudcheck-11.2.0-pp312-pypy312_pp80-musllinux_1_2_i686.whl", hash = "sha256:0f376541d50a741ea89fcd3ebdec9dea72d5a6a3bed64397d73477878192ff71", size = 4260471, upload-time = "2026-10-30T06:49:17.598Z" },
+ { url = "https://files.pythonhosted.org/packages/06/fa/1585b6ab6d1cbd3b3f994bc32294f7d1e68b37ef805faabe66b1a5bcc03e/cloudcheck-11.2.0-pp312-pypy312_pp80-musllinux_1_2_x86_64.whl", hash = "sha256:bd01012ff96a098d25bbe0328733599ae3751dc36303729f2631928d08a35034", size = 4286171, upload-time = "2026-10-30T06:49:23.748Z" },
]
[[package]]
@@ -943,20 +831,6 @@ version = "7.13.4"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/24/56/95b7e30fa389756cb56630faa728da46a27b8c6eb46f9d557c68fff12b65/coverage-7.13.4.tar.gz", hash = "sha256:e5c8f6ed1e61a8b2dcdf31eb0b9bbf0130750ca79c1c49eb898e2ad86f5ccc91", size = 827239, upload-time = "2026-02-09T12:59:03.86Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/44/d4/7827d9ffa34d5d4d752eec907022aa417120936282fc488306f5da08c292/coverage-7.13.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0fc31c787a84f8cd6027eba44010517020e0d18487064cd3d8968941856d1415", size = 219152, upload-time = "2026-02-09T12:56:11.974Z" },
- { url = "https://files.pythonhosted.org/packages/35/b0/d69df26607c64043292644dbb9dc54b0856fabaa2cbb1eeee3331cc9e280/coverage-7.13.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a32ebc02a1805adf637fc8dec324b5cdacd2e493515424f70ee33799573d661b", size = 219667, upload-time = "2026-02-09T12:56:13.33Z" },
- { url = "https://files.pythonhosted.org/packages/82/a4/c1523f7c9e47b2271dbf8c2a097e7a1f89ef0d66f5840bb59b7e8814157b/coverage-7.13.4-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:e24f9156097ff9dc286f2f913df3a7f63c0e333dcafa3c196f2c18b4175ca09a", size = 246425, upload-time = "2026-02-09T12:56:14.552Z" },
- { url = "https://files.pythonhosted.org/packages/f8/02/aa7ec01d1a5023c4b680ab7257f9bfde9defe8fdddfe40be096ac19e8177/coverage-7.13.4-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:8041b6c5bfdc03257666e9881d33b1abc88daccaf73f7b6340fb7946655cd10f", size = 248229, upload-time = "2026-02-09T12:56:16.31Z" },
- { url = "https://files.pythonhosted.org/packages/35/98/85aba0aed5126d896162087ef3f0e789a225697245256fc6181b95f47207/coverage-7.13.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2a09cfa6a5862bc2fc6ca7c3def5b2926194a56b8ab78ffcf617d28911123012", size = 250106, upload-time = "2026-02-09T12:56:18.024Z" },
- { url = "https://files.pythonhosted.org/packages/96/72/1db59bd67494bc162e3e4cd5fbc7edba2c7026b22f7c8ef1496d58c2b94c/coverage-7.13.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:296f8b0af861d3970c2a4d8c91d48eb4dd4771bcef9baedec6a9b515d7de3def", size = 252021, upload-time = "2026-02-09T12:56:19.272Z" },
- { url = "https://files.pythonhosted.org/packages/9d/97/72899c59c7066961de6e3daa142d459d47d104956db43e057e034f015c8a/coverage-7.13.4-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e101609bcbbfb04605ea1027b10dc3735c094d12d40826a60f897b98b1c30256", size = 247114, upload-time = "2026-02-09T12:56:21.051Z" },
- { url = "https://files.pythonhosted.org/packages/39/1f/f1885573b5970235e908da4389176936c8933e86cb316b9620aab1585fa2/coverage-7.13.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:aa3feb8db2e87ff5e6d00d7e1480ae241876286691265657b500886c98f38bda", size = 248143, upload-time = "2026-02-09T12:56:22.585Z" },
- { url = "https://files.pythonhosted.org/packages/a8/cf/e80390c5b7480b722fa3e994f8202807799b85bc562aa4f1dde209fbb7be/coverage-7.13.4-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:4fc7fa81bbaf5a02801b65346c8b3e657f1d93763e58c0abdf7c992addd81a92", size = 246152, upload-time = "2026-02-09T12:56:23.748Z" },
- { url = "https://files.pythonhosted.org/packages/44/bf/f89a8350d85572f95412debb0fb9bb4795b1d5b5232bd652923c759e787b/coverage-7.13.4-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:33901f604424145c6e9c2398684b92e176c0b12df77d52db81c20abd48c3794c", size = 249959, upload-time = "2026-02-09T12:56:25.209Z" },
- { url = "https://files.pythonhosted.org/packages/f7/6e/612a02aece8178c818df273e8d1642190c4875402ca2ba74514394b27aba/coverage-7.13.4-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:bb28c0f2cf2782508a40cec377935829d5fcc3ad9a3681375af4e84eb34b6b58", size = 246416, upload-time = "2026-02-09T12:56:26.475Z" },
- { url = "https://files.pythonhosted.org/packages/cb/98/b5afc39af67c2fa6786b03c3a7091fc300947387ce8914b096db8a73d67a/coverage-7.13.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9d107aff57a83222ddbd8d9ee705ede2af2cc926608b57abed8ef96b50b7e8f9", size = 247025, upload-time = "2026-02-09T12:56:27.727Z" },
- { url = "https://files.pythonhosted.org/packages/51/30/2bba8ef0682d5bd210c38fe497e12a06c9f8d663f7025e9f5c2c31ce847d/coverage-7.13.4-cp310-cp310-win32.whl", hash = "sha256:a6f94a7d00eb18f1b6d403c91a88fd58cfc92d4b16080dfdb774afc8294469bf", size = 221758, upload-time = "2026-02-09T12:56:29.051Z" },
- { url = "https://files.pythonhosted.org/packages/78/13/331f94934cf6c092b8ea59ff868eb587bc8fe0893f02c55bc6c0183a192e/coverage-7.13.4-cp310-cp310-win_amd64.whl", hash = "sha256:2cb0f1e000ebc419632bbe04366a8990b6e32c4e0b51543a6484ffe15eaeda95", size = 222693, upload-time = "2026-02-09T12:56:30.366Z" },
{ url = "https://files.pythonhosted.org/packages/b4/ad/b59e5b451cf7172b8d1043dc0fa718f23aab379bc1521ee13d4bd9bfa960/coverage-7.13.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d490ba50c3f35dd7c17953c68f3270e7ccd1c6642e2d2afe2d8e720b98f5a053", size = 219278, upload-time = "2026-02-09T12:56:31.673Z" },
{ url = "https://files.pythonhosted.org/packages/f1/17/0cb7ca3de72e5f4ef2ec2fa0089beafbcaaaead1844e8b8a63d35173d77d/coverage-7.13.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:19bc3c88078789f8ef36acb014d7241961dbf883fd2533d18cb1e7a5b4e28b11", size = 219783, upload-time = "2026-02-09T12:56:33.104Z" },
{ url = "https://files.pythonhosted.org/packages/ab/63/325d8e5b11e0eaf6d0f6a44fad444ae58820929a9b0de943fa377fe73e85/coverage-7.13.4-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3998e5a32e62fdf410c0dbd3115df86297995d6e3429af80b8798aad894ca7aa", size = 250200, upload-time = "2026-02-09T12:56:34.474Z" },
@@ -1061,7 +935,6 @@ version = "50.0.2"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "cffi", marker = "platform_python_implementation != 'PyPy'" },
- { name = "typing-extensions", marker = "python_full_version < '3.11'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/9d/af/182eb91b0df3fe75c4d9f26fe70684569566745f6ba7e5c9c73a862c5252/cryptography-50.0.2.tar.gz", hash = "sha256:7b46165bb56eb4704e2eaaf86f3c940d19154535d9b0ca7d6d590b04060e00d5", size = 880623, upload-time = "2026-09-30T15:30:04.884Z" }
wheels = [
@@ -1125,19 +998,6 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/ca/1d/1271f287ff7170ddafc2aad36260c4eec20ccd2fea70f38455e9d56d427b/cryptography-50.0.2-pp311-pypy311_pp80-win_amd64.whl", hash = "sha256:7b75de3c8b3be1cdb1052747c929440c3eea46c1bc2cb8a6e3a48388e9b7b452", size = 3805376, upload-time = "2026-09-30T15:29:58.729Z" },
]
-[[package]]
-name = "deepdiff"
-version = "9.1.0"
-source = { registry = "https://pypi.org/simple" }
-dependencies = [
- { name = "cachebox" },
- { name = "orderly-set" },
-]
-sdist = { url = "https://files.pythonhosted.org/packages/f9/6b/6a4a5aaf38535eb332c2856aa08e73ed7c549d0851b1215401af0a2db1a7/deepdiff-9.1.0.tar.gz", hash = "sha256:07e9e366fab4297755153c4eab795ad4ef3cbd0d51660e847f5751c6bd727687", size = 382149, upload-time = "2026-05-15T20:18:05.751Z" }
-wheels = [
- { url = "https://files.pythonhosted.org/packages/c7/26/4a2bad8eb430d8d805a4642c4bff25103a37548d74ab346f8b1e024abcc5/deepdiff-9.1.0-py3-none-any.whl", hash = "sha256:80c0460e1993b04f6f0ca79abf25548b129fd218478c4ebb08f80560f5d10610", size = 184662, upload-time = "2026-05-15T20:18:03.956Z" },
-]
-
[[package]]
name = "distlib"
version = "0.4.4"
@@ -1156,18 +1016,6 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/ba/5a/18ad964b0086c6e62e2e7500f7edc89e3faa45033c71c1893d34eed2b2de/dnspython-2.8.0-py3-none-any.whl", hash = "sha256:01d9bbc4a2d76bf0db7c1f729812ded6d912bd318d3b1cf81d30c0f845dbf3af", size = 331094, upload-time = "2025-09-07T18:57:58.071Z" },
]
-[[package]]
-name = "exceptiongroup"
-version = "1.3.1"
-source = { registry = "https://pypi.org/simple" }
-dependencies = [
- { name = "typing-extensions" },
-]
-sdist = { url = "https://files.pythonhosted.org/packages/50/79/66800aadf48771f6b62f7eb014e352e5d06856655206165d775e675a02c9/exceptiongroup-1.3.1.tar.gz", hash = "sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219", size = 30371, upload-time = "2025-11-21T23:01:54.787Z" }
-wheels = [
- { url = "https://files.pythonhosted.org/packages/8a/0e/97c33bf5009bdbac74fd2beace167cab3f978feb69cc36f1ef79360d6c4e/exceptiongroup-1.3.1-py3-none-any.whl", hash = "sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598", size = 16740, upload-time = "2025-11-21T23:01:53.443Z" },
-]
-
[[package]]
name = "execnet"
version = "2.1.2"
@@ -1194,27 +1042,10 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/b4/4f/3f2c25c9b43970b5e9a08beb5e04776247edea684ddc0930f4f02f0bb6cb/fastapi-0.162.0-py3-none-any.whl", hash = "sha256:3785963de305dd09912426cb81f2d230fce98ab3521cdfe97265c8d14983128c", size = 148912, upload-time = "2026-10-23T18:47:31.734Z" },
]
-[[package]]
-name = "filelock"
-version = "4.1.0"
-source = { registry = "https://pypi.org/simple" }
-resolution-markers = [
- "python_full_version < '3.11'",
-]
-sdist = { url = "https://files.pythonhosted.org/packages/4c/58/6fd434bec86eff7c38a3168454cb132b762b2bea9b3ac094101a2f7bc32a/filelock-4.1.0.tar.gz", hash = "sha256:ad7f724afef953e731b1cc39bcd3a09166d72ed7fcdf29e6e88b1c3235c6715d", size = 561277, upload-time = "2026-10-09T19:57:20.34Z" }
-wheels = [
- { url = "https://files.pythonhosted.org/packages/ee/86/032133892a5de43b5a98200b01aadcad68cc255e274a762f08b8a76d2912/filelock-4.1.0-py3-none-any.whl", hash = "sha256:2ce9818e3e2d8f284c1a964414447ef148d42a5fd5e2a477a7118e574b293ec1", size = 133003, upload-time = "2026-10-09T19:57:18.716Z" },
-]
-
[[package]]
name = "filelock"
version = "4.2.4"
source = { registry = "https://pypi.org/simple" }
-resolution-markers = [
- "python_full_version >= '3.12'",
- "python_full_version >= '3.11.5' and python_full_version < '3.12'",
- "python_full_version >= '3.11' and python_full_version < '3.11.5'",
-]
sdist = { url = "https://files.pythonhosted.org/packages/d8/28/3893324bcadf8f89b1616637468d766af3f625008c0735bf704fdfa86617/filelock-4.2.4.tar.gz", hash = "sha256:c6d8663535e1650ee430507b4ffbac7b464dd64b7647ea0112a9f406499d163d", size = 652444, upload-time = "2026-10-19T01:57:51.001Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/e0/1b/5e74289a1878e666bb4b65fe5805a04cafcac2aa5f519ef1ead67ef91c56/filelock-4.2.4-py3-none-any.whl", hash = "sha256:301241438c57936ef93f4243a94f2559022268bfcf9b375a9a72eb0f8db8358e", size = 162475, upload-time = "2026-10-19T01:57:49.419Z" },
@@ -1383,22 +1214,6 @@ version = "6.1.3"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/23/ad/28ecd7cb894d172f3c9c80a075eeeb2017ac62e3632cee05a5f9493547eb/lxml-6.1.3.tar.gz", hash = "sha256:45222d94ddd511536f3b2f7d9deae3b2339b4ce0f075f1ca25703b07cad9dd21", size = 4211198, upload-time = "2026-09-02T14:48:02.287Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/29/6b/a7d5c08e19a8e69887ed722fffaefdbaffc8959d5ef5c370a65e52c895ac/lxml-6.1.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:40bcbd9f94166ffe925811e730607385cec959f42fb1bb7dad83748680465221", size = 8575497, upload-time = "2026-09-02T14:46:05.131Z" },
- { url = "https://files.pythonhosted.org/packages/96/dd/c25a32f9f6039a96cfd52296a4630075868aa16e71858b3076699a059201/lxml-6.1.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:05f5bce9af14fd1506997594bd81cee6d9c6b58ea80a39c058327aa6371ed9e9", size = 4619233, upload-time = "2026-09-02T14:46:08.898Z" },
- { url = "https://files.pythonhosted.org/packages/3e/f0/d49375a47644369d84f90a9fe4ff1924faad58d4f95563831eca84ca29ae/lxml-6.1.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ff88a92cafde90888511242d1c54afcc1a8adbb6dc0a88fa7f87e29e92400d4a", size = 5015387, upload-time = "2026-09-02T14:46:10.797Z" },
- { url = "https://files.pythonhosted.org/packages/76/0f/d1b1f52925442f7b4b1abd81a41905987322f6df6a5dd42fab8579415828/lxml-6.1.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c00e26288784460885fe76e4d4b293573e0f791f52e6d60e27b42edf005922eb", size = 5168571, upload-time = "2026-09-02T14:46:12.989Z" },
- { url = "https://files.pythonhosted.org/packages/b2/13/e5d8291a68a27e564e4e1eefba08c3844c6800bcb43f3e72a32b20971132/lxml-6.1.3-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:773062aec2f2e56b2b22d37054123f0de8a22a4688a0c3376c3fe42685f975cf", size = 5068024, upload-time = "2026-09-02T14:46:15.325Z" },
- { url = "https://files.pythonhosted.org/packages/a1/ce/dbea34cd115ae9b8ef53816daa912563615adf4daed42531878a2fb29c77/lxml-6.1.3-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f6449672f9c93316deb5e2839e18931f468670e44d5bd9b1301a5a9655d45c07", size = 5296830, upload-time = "2026-09-02T14:46:17.52Z" },
- { url = "https://files.pythonhosted.org/packages/20/f6/12a2ab6e8c8afecb82a3f0e9a518952b6a1cddf405ad8542883bd71e6096/lxml-6.1.3-cp310-cp310-manylinux_2_28_i686.whl", hash = "sha256:ec295280f4b37769256da025acf5890370355ac589c27e89caae0b5e9eedc702", size = 5424696, upload-time = "2026-09-02T14:46:19.706Z" },
- { url = "https://files.pythonhosted.org/packages/02/3f/5670e198266c764595687a234fdaed33837f487b95a596262b2548e48933/lxml-6.1.3-cp310-cp310-manylinux_2_31_armv7l.whl", hash = "sha256:5929d9df5e7e3379183be0e21f7d559618a5b61cb63280df6164019242e337ed", size = 4783635, upload-time = "2026-09-02T14:46:21.63Z" },
- { url = "https://files.pythonhosted.org/packages/70/24/007ce6b7bffb61a6ca88c3a8f21b26f3f0aa3b3f6bb648a56e328c994a14/lxml-6.1.3-cp310-cp310-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6e1eb8a4cbffd5553680ad96be6680e364710656eced73d1dc90ec489df599a3", size = 5373212, upload-time = "2026-09-02T14:46:23.572Z" },
- { url = "https://files.pythonhosted.org/packages/4e/00/cf09f38cf9005bd5cfa4fd452b03b290b1c48c403fe0319a8013f4b3cae0/lxml-6.1.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:16148acd77ed1d8836a56db883af2f5eed720f9723088110b16a0d08582130a6", size = 5116476, upload-time = "2026-09-02T14:46:26.262Z" },
- { url = "https://files.pythonhosted.org/packages/15/83/eb021e5db4336f0bb1438cba6f053ea135aa00b9f4ef0439473d6b986308/lxml-6.1.3-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:23c366231259cd75ad06495174701afb3fcb36a92917fa47de2d1f1bd9d95739", size = 4814172, upload-time = "2026-09-02T14:46:28.3Z" },
- { url = "https://files.pythonhosted.org/packages/c8/4e/147b6f9088cc191713249ac547b0af2fece489c8cdff1f2801ab47dda8a9/lxml-6.1.3-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:da85db328e507da922d586c3c7416ec360ec22e9cd9e0700691afacde0c81f53", size = 5361711, upload-time = "2026-09-02T14:46:31.035Z" },
- { url = "https://files.pythonhosted.org/packages/b7/d9/8cfdac0d7d771e25af2c1f4bc874032f025a4b59e0b6917c3c7858070795/lxml-6.1.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0f17d83c48ee9dfd96abae3ac3e2108c76d2fc86ce96355e37b8da9f7f4ecc08", size = 5321598, upload-time = "2026-09-02T14:46:33.165Z" },
- { url = "https://files.pythonhosted.org/packages/f3/5b/d2413c71f312dccdd07ed985be356657fc624d822ba7e2c87e8722646156/lxml-6.1.3-cp310-cp310-win32.whl", hash = "sha256:7dd624c1eaa629ad44b59a1a0145fdf2d67895592dce94c9358b938b3d075e65", size = 3604471, upload-time = "2026-09-02T14:46:35.245Z" },
- { url = "https://files.pythonhosted.org/packages/7a/bf/74b6785beac6488fd395e78796339bc197fbad6fd6103b41b15a4009dc4b/lxml-6.1.3-cp310-cp310-win_amd64.whl", hash = "sha256:18a4db52b5a7b53a3540b0b0f4123319334621ee8083d496de314d0bf06ff59a", size = 4029086, upload-time = "2026-09-02T14:46:37.744Z" },
- { url = "https://files.pythonhosted.org/packages/f9/a5/ddf6e1744cd76fc9f0ce11cb16b117d6eaac46ebaeca01968e9014e8770c/lxml-6.1.3-cp310-cp310-win_arm64.whl", hash = "sha256:0feebef8d0521188d0157f758356072e840173aa61ca45b8b3f87959ac283dd5", size = 3674608, upload-time = "2026-09-02T14:46:39.802Z" },
{ url = "https://files.pythonhosted.org/packages/96/f1/95133bde7af7afb1f5ba6090b674d826b7a518318bba54bbbb633b27865a/lxml-6.1.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c66f858b82497173f73366795fc6ee8171620e75a338506d6b2e7bc16f5fca11", size = 8563141, upload-time = "2026-09-02T14:46:42.334Z" },
{ url = "https://files.pythonhosted.org/packages/80/54/5a79ee2181ac773ee13e48205411845feec69e1c3d097e985c1343171712/lxml-6.1.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:032a0a97eed428bd143c75a11118238546424ceb2fa311cca5f073aa44658dc4", size = 4613690, upload-time = "2026-09-02T14:46:45.253Z" },
{ url = "https://files.pythonhosted.org/packages/ab/29/8c24672f56807f119312f073f24204368574bd16b384ede861b5104b3a2b/lxml-6.1.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:4a579dfb9c835f8ab47f4b8ed33440cbc75b806b73297208e6ec2a33e903740b", size = 4935630, upload-time = "2026-09-02T14:46:48.071Z" },
@@ -1487,12 +1302,36 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/48/a9/7f386c84c9fe2854e1ca6e231c285e1c8f392971ac353c6865e6ec49faff/lxml-6.1.3-cp314-cp314t-win32.whl", hash = "sha256:9efe56a68179f3adc4de41861c9358931db03837c48dd5e1c78077b84dd07f3a", size = 3902712, upload-time = "2026-09-02T14:50:16.171Z" },
{ url = "https://files.pythonhosted.org/packages/82/a6/8a3eb793f7900ef01c7f99e6f5fcbcfbdff35251cfaef66b32a4c16352d6/lxml-6.1.3-cp314-cp314t-win_amd64.whl", hash = "sha256:c9389b3784b56c58d933b5e0aecdf28f901b073ff385358d8a7d40907f6e14b2", size = 4400979, upload-time = "2026-09-02T14:50:18.621Z" },
{ url = "https://files.pythonhosted.org/packages/cc/c4/3807bea283b4fe9e9d9f5dde46a73df91178472b335d2778e10b2a37aa22/lxml-6.1.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32a409be3190b088f960ac92bfedfbef2f86c49ff940765e1548177592d20026", size = 3823401, upload-time = "2026-09-02T14:50:21.119Z" },
- { url = "https://files.pythonhosted.org/packages/ad/23/dc1fdf3a53f84ca88b6e942277ddb47954844a0ececea8cc5fa3c1324831/lxml-6.1.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:4b061064b4a2fe8598a466d723d43dbcd5a610a5d5cfe02fb6226f5c17349f75", size = 3947704, upload-time = "2026-09-02T14:46:22.27Z" },
- { url = "https://files.pythonhosted.org/packages/f0/ed/e36d547d6c958b5693b873504735cb4d0388d545945d66a7aed8983a720b/lxml-6.1.3-pp310-pypy310_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8499d464de86fab0f102313cce32a9bed9ab1f06ec813cf025cb790964fbb765", size = 4220149, upload-time = "2026-09-02T14:46:24.907Z" },
- { url = "https://files.pythonhosted.org/packages/98/54/7f51e6b6cc0755f9b5fc6637748279e9f48289d917b3a47ac9fedf3318d3/lxml-6.1.3-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9e67324961ac9bbe616cce5100514d2e34d88665aeb07071e8b16eac55d06d94", size = 4329391, upload-time = "2026-09-02T14:46:27.111Z" },
- { url = "https://files.pythonhosted.org/packages/eb/9e/840b0d2e25c10c491b010d555b46e6e5264d3ad73a91557405fceb738c35/lxml-6.1.3-pp310-pypy310_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5d12669a2c419b0e8dc423d23dea24bb82f6f9cb829f32e04674b0ba40322a7c", size = 4262125, upload-time = "2026-09-02T14:46:29.199Z" },
- { url = "https://files.pythonhosted.org/packages/69/8f/42a41571dfc772c12628747f883d24c978053856825b99d7a187117b8079/lxml-6.1.3-pp310-pypy310_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:97acecb11cbc411473f15b8d780df06d7a9f3a2aad9aca78364f56640c8fb70e", size = 4410104, upload-time = "2026-09-02T14:46:32.102Z" },
- { url = "https://files.pythonhosted.org/packages/f3/aa/27d93812be916f1f674b2035edd86d41c77745ff2ad84f58c25a7445a397/lxml-6.1.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:f8b9c8ceebae6387d0dc77f7f4dbbfbfc962dba2efbfe6877486075a480726b4", size = 3510724, upload-time = "2026-09-02T14:46:34.122Z" },
+ { url = "https://files.pythonhosted.org/packages/e1/8e/4614fcd65496054cfb7172662f3576a59200278739506433b8c241ea422a/lxml-6.1.3-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:6ea2f13dce778ca072ccee598bca46a092ce192e8fd907b6c1f0e52c800529a0", size = 8609378, upload-time = "2026-09-02T14:50:31.772Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/51/2cdce3c65fa99a6195dd8fbd512d33407c1000ad99f63e0a285b63d7a8eb/lxml-6.1.3-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:c581b1d68b3845fb86c6b2983e755b29bf001461c59fa411d2c26a911b6559a9", size = 4640022, upload-time = "2026-09-02T14:50:34.41Z" },
+ { url = "https://files.pythonhosted.org/packages/52/09/0b30084e9eb1c546a4be3d9c56df70058d116b1a320400a59b0f7da87bf0/lxml-6.1.3-cp315-cp315-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2e01125896585139453cab8cb235893644d8815d7509520da95ae3ee8d1c1f79", size = 5037928, upload-time = "2026-09-02T14:50:37.007Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/0e/5c37275a3e361f6138dc06db748ea565c1fe8a5f4ee5e2ddd80047c81a89/lxml-6.1.3-cp315-cp315-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:290f66b97ede0e552e1cb44a0fd8a74f9753ee635b50830a0b122fb72788d015", size = 5661932, upload-time = "2026-09-02T14:50:39.777Z" },
+ { url = "https://files.pythonhosted.org/packages/70/c5/b71ffb289b15e2642e2a3cf6d468c44da39ea119061a99e5b05e3d10f217/lxml-6.1.3-cp315-cp315-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:73fc05988ed20809450474ba760a87c8ad4e455fc09783c02195e56ec634b41a", size = 5249209, upload-time = "2026-09-02T14:50:42.141Z" },
+ { url = "https://files.pythonhosted.org/packages/81/ea/9910da149a23932f9301652e57661cd9e42b0df18f12be21159b7255f92b/lxml-6.1.3-cp315-cp315-manylinux_2_31_armv7l.whl", hash = "sha256:dc3a44689eea43eab836e5c98a8ab015dc2419987d1ea6eafc7c590cdff86bed", size = 4704543, upload-time = "2026-09-02T14:50:44.634Z" },
+ { url = "https://files.pythonhosted.org/packages/76/07/9290329cd188c62e22021f79df04ee0cc33d9a93b0d38bd65ccd452ad9d0/lxml-6.1.3-cp315-cp315-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:209c3ccbfe35a04ac6d24f0611f9d1cbf8025d49991b14acd935236234d6c156", size = 5261298, upload-time = "2026-09-02T14:50:47.301Z" },
+ { url = "https://files.pythonhosted.org/packages/c9/0c/aba78bd3401cd99b73a0aed8e2b9b43e14be94fab3603d4bbc8a62365f2a/lxml-6.1.3-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:2f5b2a2b9811b853b39bfa41367c6d78747b8e3e80e07fc5a24aae295c1a4d7d", size = 5090453, upload-time = "2026-09-02T14:50:49.952Z" },
+ { url = "https://files.pythonhosted.org/packages/8d/dc/fa4426c3355aa0216cbeb3911495b5f65a26e0df85859a89928fe28f0396/lxml-6.1.3-cp315-cp315-musllinux_1_2_armv7l.whl", hash = "sha256:6a406d0b3cb207b0fa460ed4dc93e866f44f105da0169361cb18ff998a44c7f0", size = 4744709, upload-time = "2026-09-02T14:50:52.394Z" },
+ { url = "https://files.pythonhosted.org/packages/be/2b/224fe7918658ab7c532ac2412f3c1eb28f71e6364fb07566262d0cc6a7b6/lxml-6.1.3-cp315-cp315-musllinux_1_2_ppc64le.whl", hash = "sha256:53258656846f5c48996b882fb4b135885e088a3ad3d96b4bc0530f95124d1f69", size = 5685802, upload-time = "2026-09-02T14:50:55.043Z" },
+ { url = "https://files.pythonhosted.org/packages/21/44/7d480819b9adcae5f84dd8ac529132c6b7a578544398225cd20321adcd91/lxml-6.1.3-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:aa633613ff907ea91b9b0489a1f0da1b8725d8c6ccec6b77e8a1c9c235044bb0", size = 5249019, upload-time = "2026-09-02T14:50:57.985Z" },
+ { url = "https://files.pythonhosted.org/packages/72/83/385a267ea1b6b283f2249dd827ef360a295e9db14e13ef4665a120c60d64/lxml-6.1.3-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:90f709b9accab6b2e4d14f5c8718203877a0486bcb3afd74d8b539ecd1e961d4", size = 5271886, upload-time = "2026-09-02T14:51:01.667Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/0d/f967b0eb172ae876855a402d6d9b11fa86e3e0c89ca9bbfeadf7ffbfa719/lxml-6.1.3-cp315-cp315-win32.whl", hash = "sha256:b4fc6b03b9d9d90557274f571ab30e7fbbfc527955536935d96f98b6817a86e4", size = 3662894, upload-time = "2026-09-02T14:51:45.173Z" },
+ { url = "https://files.pythonhosted.org/packages/f4/48/d8a8c4160a29e663109ad520bac2deb37fcd014756d024561e8bc3e611ec/lxml-6.1.3-cp315-cp315-win_amd64.whl", hash = "sha256:33cadd956b667997e4de1635fce9541f2e8ede2038fcde8cf55aa14d571d1bad", size = 4074626, upload-time = "2026-09-02T14:51:47.77Z" },
+ { url = "https://files.pythonhosted.org/packages/25/20/3e1395d34d19f9254625d0b567b81cf70d37d3417be074f4d63b94a2be3c/lxml-6.1.3-cp315-cp315-win_arm64.whl", hash = "sha256:8a330c0ee5fa318c7b5cbbaad882baeca3f570357e7eb25ab34bf31008150758", size = 3749495, upload-time = "2026-09-02T14:51:50.663Z" },
+ { url = "https://files.pythonhosted.org/packages/8f/c6/7465ffd9c43883526a382df6fa4846c9d8d419214f7effbf65270e795471/lxml-6.1.3-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:0bf5a3e397df2ec4258eb5eea4c1ac6cf013ca1abd04a176903bff20a70021fe", size = 8857677, upload-time = "2026-09-02T14:51:05.109Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/eb/1f3a917e299df43c8162c3e6f64fc2cea3bcf277910f35bff5b8e5d39901/lxml-6.1.3-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:13d22c0d57355366b393936acf6b98a5e0edeadddd3fccbc6a846c50a76b8741", size = 4754522, upload-time = "2026-09-02T14:51:08.137Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/f9/f81b4bdb6efb7a596be29603d8758154d00a5f545db9f3cef9d9041c8f64/lxml-6.1.3-cp315-cp315t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cad7617727a96d189bd6f979d0fadf765198c7934e85f4edaba9bf3ad919a300", size = 5033744, upload-time = "2026-09-02T14:51:10.633Z" },
+ { url = "https://files.pythonhosted.org/packages/c8/0f/26d9bfaacb319c86e0eca8a1a0bf1130d36a7afbd318883e23caea63763d/lxml-6.1.3-cp315-cp315t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cae82b5ca24b0c2beedb269f6e2a96f466acd926879ab00ae19f1a65cbf9ffb0", size = 5615269, upload-time = "2026-09-02T14:51:13.357Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/90/73675f3f4141350ed65d6fec533b107d4e802c5caa340cf111771edd86e0/lxml-6.1.3-cp315-cp315t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:69cafd61aea04ebb3502c93c2aaa568b12931ca0802231e0b5de76bf8b6e74bd", size = 5236280, upload-time = "2026-09-02T14:51:16.051Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/be/ed260767e7977de463a0f91f3f4fffcab85c0a2a024a21ffe1fa442c2c79/lxml-6.1.3-cp315-cp315t-manylinux_2_31_armv7l.whl", hash = "sha256:dc205732d593118cf701d986f40e9de7801bb2e371cb189ddbda9b7348f4d97e", size = 4650718, upload-time = "2026-09-02T14:51:19.102Z" },
+ { url = "https://files.pythonhosted.org/packages/d0/fd/e9839d03b1e767f2725cf7d7d81b80d5f3f9fdc10ad8827e2479311b046e/lxml-6.1.3-cp315-cp315t-manylinux_2_38_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:88e719b9437f148f7e1465df845c758dd1598618cbea3a2fd1e61a715542f2b2", size = 5243376, upload-time = "2026-09-02T14:51:21.606Z" },
+ { url = "https://files.pythonhosted.org/packages/34/a5/4606e347e2788c301f677004aa83e28d24da9fe663a24380122af57be6fc/lxml-6.1.3-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:40983eabefd13da003e68170928c7acc011f0d095eefce5871a3c71c9385fb9a", size = 5092340, upload-time = "2026-09-02T14:51:24.21Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/99/3314a8661cdf30f493c55a87db283961dfaae08451976a2ca418958e1804/lxml-6.1.3-cp315-cp315t-musllinux_1_2_armv7l.whl", hash = "sha256:fad67b12ffe0f71e02b4932b04883cbc76a9072bbd30731409d3523cf058b011", size = 4758768, upload-time = "2026-09-02T14:51:26.813Z" },
+ { url = "https://files.pythonhosted.org/packages/30/58/3bdc577f78ea8b7d72d39a84506f7001d5b28728f43e5b84891e3b7d9a4a/lxml-6.1.3-cp315-cp315t-musllinux_1_2_ppc64le.whl", hash = "sha256:6cd11e7550d89e551a87dcec30f04b1fca32e86b68708aa01a4daa455d8605e5", size = 5649546, upload-time = "2026-09-02T14:51:29.453Z" },
+ { url = "https://files.pythonhosted.org/packages/6a/e4/652633de1a2395949ebb7a8fc7d089aba12a2b45f0fefbc9d29e3e3ab3cf/lxml-6.1.3-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:ca0ec532ad2f5ba1e5ec120ac157769c57f01855b3d8bf37213f5d88abd9ba0a", size = 5234874, upload-time = "2026-09-02T14:51:32.262Z" },
+ { url = "https://files.pythonhosted.org/packages/65/a6/c4581d171de30449304b4859bbd3607e9b40da13c0f88b68e6097c8d785e/lxml-6.1.3-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:e99e09ab7741f1281e2677f4c0058c7f5267d182530b09c87e4f6aa26adf3887", size = 5260043, upload-time = "2026-09-02T14:51:34.841Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/d7/ed6ee6186a89e69ca4ea9658b2a278f46a5efe8b5d4db56c7197f18653fe/lxml-6.1.3-cp315-cp315t-win32.whl", hash = "sha256:ace1d2c83b2bd24db5940600541140e87a325e119cb32d5fa9ad720d7e76648e", size = 3901093, upload-time = "2026-09-02T14:51:37.234Z" },
+ { url = "https://files.pythonhosted.org/packages/67/9d/11d10257a4a048d04195d638bb61f0246ce2448eb05f682bcbab25a257a8/lxml-6.1.3-cp315-cp315t-win_amd64.whl", hash = "sha256:b49638355ea3bebba70da783ccbc630fd72afa16bc46c54474bfa1f9a915bbc6", size = 4395446, upload-time = "2026-09-02T14:51:39.884Z" },
+ { url = "https://files.pythonhosted.org/packages/f8/b7/44edd7de434181c582892e68d1ffe6775ca403ce14aea07cb5a218a936cf/lxml-6.1.3-cp315-cp315t-win_arm64.whl", hash = "sha256:5a721a98c649855963811b59b55755b30566e7f7fc40bdc9803d66dee9f811cf", size = 3822836, upload-time = "2026-09-02T14:51:42.471Z" },
{ url = "https://files.pythonhosted.org/packages/ec/c1/2433176de263cc3f51fd2c303f993d5bb7f1da3139a0f7d168116c0bfa7a/lxml-6.1.3-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:d2765c18ce303149ee804b1f3dad11232726dd0a702d73a15cf19179ac8cc962", size = 3942969, upload-time = "2026-09-02T14:46:36.55Z" },
{ url = "https://files.pythonhosted.org/packages/7c/71/de7759096f480180fd9e43ff7c017860e2d2a9a43741ab093cbdf1820f07/lxml-6.1.3-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7d5a748d12dd9b535e0a130f60dae9ddf0adafbabe61e7864f55c7436c84547a", size = 4213008, upload-time = "2026-09-02T14:46:38.784Z" },
{ url = "https://files.pythonhosted.org/packages/b8/9b/c2d09af47a34fa6c0c27473083812b449a411680bd04bbe609cde291ddc8/lxml-6.1.3-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:41096ec0740a58dad03d3ae0c7486d306d20becefb13ceb1649835ab3eb64167", size = 4322012, upload-time = "2026-09-02T14:46:41.031Z" },
@@ -1528,17 +1367,6 @@ version = "3.0.3"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", size = 80313, upload-time = "2025-09-27T18:37:40.426Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/e8/4b/3541d44f3937ba468b75da9eebcae497dcf67adb65caa16760b0a6807ebb/markupsafe-3.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2f981d352f04553a7171b8e44369f2af4055f888dfb147d55e42d29e29e74559", size = 11631, upload-time = "2025-09-27T18:36:05.558Z" },
- { url = "https://files.pythonhosted.org/packages/98/1b/fbd8eed11021cabd9226c37342fa6ca4e8a98d8188a8d9b66740494960e4/markupsafe-3.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e1c1493fb6e50ab01d20a22826e57520f1284df32f2d8601fdd90b6304601419", size = 12057, upload-time = "2025-09-27T18:36:07.165Z" },
- { url = "https://files.pythonhosted.org/packages/40/01/e560d658dc0bb8ab762670ece35281dec7b6c1b33f5fbc09ebb57a185519/markupsafe-3.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1ba88449deb3de88bd40044603fafffb7bc2b055d626a330323a9ed736661695", size = 22050, upload-time = "2025-09-27T18:36:08.005Z" },
- { url = "https://files.pythonhosted.org/packages/af/cd/ce6e848bbf2c32314c9b237839119c5a564a59725b53157c856e90937b7a/markupsafe-3.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f42d0984e947b8adf7dd6dde396e720934d12c506ce84eea8476409563607591", size = 20681, upload-time = "2025-09-27T18:36:08.881Z" },
- { url = "https://files.pythonhosted.org/packages/c9/2a/b5c12c809f1c3045c4d580b035a743d12fcde53cf685dbc44660826308da/markupsafe-3.0.3-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c0c0b3ade1c0b13b936d7970b1d37a57acde9199dc2aecc4c336773e1d86049c", size = 20705, upload-time = "2025-09-27T18:36:10.131Z" },
- { url = "https://files.pythonhosted.org/packages/cf/e3/9427a68c82728d0a88c50f890d0fc072a1484de2f3ac1ad0bfc1a7214fd5/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0303439a41979d9e74d18ff5e2dd8c43ed6c6001fd40e5bf2e43f7bd9bbc523f", size = 21524, upload-time = "2025-09-27T18:36:11.324Z" },
- { url = "https://files.pythonhosted.org/packages/bc/36/23578f29e9e582a4d0278e009b38081dbe363c5e7165113fad546918a232/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:d2ee202e79d8ed691ceebae8e0486bd9a2cd4794cec4824e1c99b6f5009502f6", size = 20282, upload-time = "2025-09-27T18:36:12.573Z" },
- { url = "https://files.pythonhosted.org/packages/56/21/dca11354e756ebd03e036bd8ad58d6d7168c80ce1fe5e75218e4945cbab7/markupsafe-3.0.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:177b5253b2834fe3678cb4a5f0059808258584c559193998be2601324fdeafb1", size = 20745, upload-time = "2025-09-27T18:36:13.504Z" },
- { url = "https://files.pythonhosted.org/packages/87/99/faba9369a7ad6e4d10b6a5fbf71fa2a188fe4a593b15f0963b73859a1bbd/markupsafe-3.0.3-cp310-cp310-win32.whl", hash = "sha256:2a15a08b17dd94c53a1da0438822d70ebcd13f8c3a95abe3a9ef9f11a94830aa", size = 14571, upload-time = "2025-09-27T18:36:14.779Z" },
- { url = "https://files.pythonhosted.org/packages/d6/25/55dc3ab959917602c96985cb1253efaa4ff42f71194bddeb61eb7278b8be/markupsafe-3.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:c4ffb7ebf07cfe8931028e3e4c85f0357459a3f9f9490886198848f4fa002ec8", size = 15056, upload-time = "2025-09-27T18:36:16.125Z" },
- { url = "https://files.pythonhosted.org/packages/d0/9e/0a02226640c255d1da0b8d12e24ac2aa6734da68bff14c05dd53b94a0fc3/markupsafe-3.0.3-cp310-cp310-win_arm64.whl", hash = "sha256:e2103a929dfa2fcaf9bb4e7c091983a49c9ac3b19c9061b6d5427dd7d14d81a1", size = 13932, upload-time = "2025-09-27T18:36:17.311Z" },
{ url = "https://files.pythonhosted.org/packages/08/db/fefacb2136439fc8dd20e797950e749aa1f4997ed584c62cfb8ef7c2be0e/markupsafe-3.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1cc7ea17a6824959616c525620e387f6dd30fec8cb44f649e31712db02123dad", size = 11631, upload-time = "2025-09-27T18:36:18.185Z" },
{ url = "https://files.pythonhosted.org/packages/e1/2e/5898933336b61975ce9dc04decbc0a7f2fee78c30353c5efba7f2d6ff27a/markupsafe-3.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4bd4cd07944443f5a265608cc6aab442e4f74dff8088b0dfc8238647b8f6ae9a", size = 12058, upload-time = "2025-09-27T18:36:19.444Z" },
{ url = "https://files.pythonhosted.org/packages/1d/09/adf2df3699d87d1d8184038df46a9c80d78c0148492323f4693df54e17bb/markupsafe-3.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b5420a1d9450023228968e7e6a9ce57f65d148ab56d2313fcd589eee96a7a50", size = 24287, upload-time = "2025-09-27T18:36:20.768Z" },
@@ -1611,9 +1439,6 @@ wheels = [
name = "maturin"
version = "1.15.0"
source = { registry = "https://pypi.org/simple" }
-dependencies = [
- { name = "tomli", marker = "python_full_version < '3.11'" },
-]
sdist = { url = "https://files.pythonhosted.org/packages/b9/c8/22e5e21b2679c9bce6415ca578034ca2cc9316be0642ae21e051a2d5198c/maturin-1.15.0.tar.gz", hash = "sha256:94b26cc8e8aba61a5f2099715fe640e18c5f678e9a500408b38761263954228a", size = 385504, upload-time = "2026-08-24T12:11:22.665Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/14/69/5c01b461044eb1f45ddcce006706eb88110c793cdb11c7ae0b5e08492e94/maturin-1.15.0-py3-none-linux_armv6l.whl", hash = "sha256:6bf6dc62e22d4dcfd5a51244ff0d58975fa4979c48209fe84159617648956d82", size = 10206220, upload-time = "2026-08-24T12:10:53.327Z" },
@@ -1763,35 +1588,10 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/5b/54/662a4743aa81d9582ee9339d4ffa3c8fd40a4965e033d77b9da9774d3960/mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31", size = 8728, upload-time = "2023-11-22T19:09:43.465Z" },
]
-[[package]]
-name = "mkdocstrings"
-version = "1.0.6"
-source = { registry = "https://pypi.org/simple" }
-resolution-markers = [
- "python_full_version < '3.11'",
-]
-dependencies = [
- { name = "jinja2" },
- { name = "markdown" },
- { name = "markupsafe" },
- { name = "mkdocs" },
- { name = "mkdocs-autorefs" },
- { name = "pymdown-extensions" },
-]
-sdist = { url = "https://files.pythonhosted.org/packages/53/71/f85bdf13355073ae15a7375f09879375a830553552e58c1c4b7e0bbc5c8b/mkdocstrings-1.0.6.tar.gz", hash = "sha256:a0b8c2bdd29a6416c80d717aa369bbf7831946bd9f23c2a66db1b1dbe7693dbd", size = 100649, upload-time = "2026-07-11T19:38:05.732Z" }
-wheels = [
- { url = "https://files.pythonhosted.org/packages/5d/5b/4c1902e8bdd5c4db63284e9d101dece4038d4025d6d88850ffe0a1578980/mkdocstrings-1.0.6-py3-none-any.whl", hash = "sha256:2703708697487d1b6d6d7b412e176fa436edf120c1bf81dc9e126b12d00893c7", size = 35787, upload-time = "2026-07-11T19:38:04.417Z" },
-]
-
[[package]]
name = "mkdocstrings"
version = "1.0.8"
source = { registry = "https://pypi.org/simple" }
-resolution-markers = [
- "python_full_version >= '3.12'",
- "python_full_version >= '3.11.5' and python_full_version < '3.12'",
- "python_full_version >= '3.11' and python_full_version < '3.11.5'",
-]
dependencies = [
{ name = "jinja2" },
{ name = "markdown" },
@@ -1812,9 +1612,7 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "griffelib" },
{ name = "mkdocs-autorefs" },
- { name = "mkdocstrings", version = "1.0.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
- { name = "mkdocstrings", version = "1.0.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
- { name = "typing-extensions", marker = "python_full_version < '3.11'" },
+ { name = "mkdocstrings" },
]
sdist = { url = "https://files.pythonhosted.org/packages/96/11/640067d1ad713ea99c233e53e57a4c300d9885f904a61371d7ef90dea549/mkdocstrings_python-2.0.9.tar.gz", hash = "sha256:ae945637dc0618c6beedbee169f10c0234b77f322c53db3fc9fb4c29b3013038", size = 203006, upload-time = "2026-09-22T13:43:27.712Z" }
wheels = [
@@ -1827,24 +1625,6 @@ version = "5.3.1"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/8d/3c/eb1d82a87c504259dac5ce1c7de7587b68ffac841b55d23f8ea2c9df8422/mmh3-5.3.1.tar.gz", hash = "sha256:bd86d0c86b52332319d981d03781ff77811a29db544a69902dc06b5506bb3e19", size = 33354, upload-time = "2026-09-30T17:38:09.577Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/fd/a6/fcd38b51cd78f1195c262605f2235c3c473180421fa2383e29edde5f0b65/mmh3-5.3.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a0df74f1d6e1ee35561487e6ecb1d05e37a5d424cc74a2addff7181a0b7a3460", size = 55354, upload-time = "2026-09-30T17:34:35.133Z" },
- { url = "https://files.pythonhosted.org/packages/b1/e0/668a15dae1052062c8dac04a0b8a118876db12e0be813b7900456a0a1448/mmh3-5.3.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cbe3391ba8e58f06cdc93c2bcbffaf1bd339571b95a6f7ae5784c5cf6285a138", size = 39943, upload-time = "2026-09-30T17:34:36.462Z" },
- { url = "https://files.pythonhosted.org/packages/5c/19/b4282fe32d7e6852c3f79acf2a5075de7e2ac04efdc3f071a83e033a9dea/mmh3-5.3.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5640fc2f14406b7015aece7fba97868ae4017dc8c66c9d010ac725d77f0b7921", size = 39583, upload-time = "2026-09-30T17:34:37.823Z" },
- { url = "https://files.pythonhosted.org/packages/63/16/e4ad2cebff9d63d3b1ae93d9f570a76a2d603b86e764c051eb7d07ff778a/mmh3-5.3.1-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:eb19747a88d045411121e64b9ad2f6ca1e255cd11df40725decf80ed4cd031c0", size = 95122, upload-time = "2026-09-30T17:34:39.135Z" },
- { url = "https://files.pythonhosted.org/packages/a8/a0/4a85c58961a398f48d60d1d0b9758072d3a6af173febba1a11145c1017ff/mmh3-5.3.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:8e11db3320f138efc34d18b3797f6c66f41bc465c722fa27ea6952e488a82181", size = 100998, upload-time = "2026-09-30T17:34:40.376Z" },
- { url = "https://files.pythonhosted.org/packages/b9/ae/3e35c36b2e4e5049ca982ad4f524d7c2d128d3e42db017fda8e3fb068abe/mmh3-5.3.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:61faab401216923fdc943ec7e68f51c50100e9e30d9662ba64d91125bb0a08ea", size = 103792, upload-time = "2026-09-30T17:34:41.854Z" },
- { url = "https://files.pythonhosted.org/packages/89/75/b4d60ba44d3a0bc612e04ec02df14e46227d1d1fcdef284a11456d6cddaf/mmh3-5.3.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:64e9a4922f78352a7730900175557d8ad51fb45f6ea3308720734c9c2978a0fb", size = 110677, upload-time = "2026-09-30T17:34:43.035Z" },
- { url = "https://files.pythonhosted.org/packages/6c/06/2863a02fd23786185893498853903289eca202fe67500d716ff57a28fbc0/mmh3-5.3.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:fc205e9f78224db7239d163b9b7cac35596aa615665135b0105beb8080e9ebc5", size = 118065, upload-time = "2026-09-30T17:34:44.545Z" },
- { url = "https://files.pythonhosted.org/packages/96/45/0c69f0652de49764120b7fca80ce9411755d1a70a47967c4fcfa71de2a5d/mmh3-5.3.1-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:292c1770e96fa583d6a4c5b38229ab52231794f8c2aafc279eda83449f306357", size = 101518, upload-time = "2026-09-30T17:34:45.856Z" },
- { url = "https://files.pythonhosted.org/packages/1b/9b/51054cd93ebd8480328105c955d4001c07f67efd0aaa56852dbb1fec5119/mmh3-5.3.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:12f63cecc74757adefe0c15655cd607898c068cc4f13f1d6944fe644ab6d68e5", size = 101498, upload-time = "2026-09-30T17:34:47Z" },
- { url = "https://files.pythonhosted.org/packages/a3/2b/4d6cb28d14c41db2c3aa511b4c70863287d56fe5504a4ef71a1c8e5e6e93/mmh3-5.3.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:57e06d35e8db0a8570c21d8f6681056aa84eb3bcb2bf4b886e4adb9d9be9e325", size = 96478, upload-time = "2026-09-30T17:34:48.159Z" },
- { url = "https://files.pythonhosted.org/packages/65/0d/008beb87bf1ef7af57f79e73ee50eb9a4bb7e1ed8ae75675672555b091d8/mmh3-5.3.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4c782a60a248eb0dcf776560d3226e1cf0681eaac2a118c0168822be932f3b9a", size = 110086, upload-time = "2026-09-30T17:34:49.341Z" },
- { url = "https://files.pythonhosted.org/packages/4a/70/e45069746f6a5c5172af11639a6e080f51a2e0cd130e1c9cf48e3d4e78fe/mmh3-5.3.1-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:8477b3b4e9714f1acd15fdc8923f59482068a1c1ec8629867d8c500825c3d9c1", size = 99299, upload-time = "2026-09-30T17:34:50.791Z" },
- { url = "https://files.pythonhosted.org/packages/74/29/5aee09721348c42de73b624a04133b172dd344717803d6dda59e9e86d518/mmh3-5.3.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:20fac8667cd63ca88bf8b3e6fc97c5e1188872e7b51ccd936cc8a40411cad089", size = 111647, upload-time = "2026-09-30T17:34:51.957Z" },
- { url = "https://files.pythonhosted.org/packages/90/db/81b388f3bb58c69c5229e2159612de2793f4fec8ea86a207d6fea9a87dfc/mmh3-5.3.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c130eced1b89220777013fcd16b3a8f7d4ee6055877a5c9ef552b4694d1dce99", size = 99881, upload-time = "2026-09-30T17:34:53.451Z" },
- { url = "https://files.pythonhosted.org/packages/de/b1/5a14d6c7fea4cceb6b0f2a9f184d9284fb40897c460af97a5ec6b8a33c3d/mmh3-5.3.1-cp310-cp310-win32.whl", hash = "sha256:68508d90c3c690cc3f603bbb0162f3749c30e470fdd55caaef130153f40e475e", size = 40318, upload-time = "2026-09-30T17:34:54.88Z" },
- { url = "https://files.pythonhosted.org/packages/26/f1/7864702203a83f931568125516ea1ed68b6dec0068d00b1e97cec24e4766/mmh3-5.3.1-cp310-cp310-win_amd64.whl", hash = "sha256:c2d626c36cb3a91dcc244e235b9963df5b1be3274aae7d08f73de9126d2205ab", size = 41705, upload-time = "2026-09-30T17:34:56.155Z" },
- { url = "https://files.pythonhosted.org/packages/a9/42/d39170dc3ee7dcf0c1b1ef2bbfed07308f2954ecee78d3b5691971f192df/mmh3-5.3.1-cp310-cp310-win_arm64.whl", hash = "sha256:5375a10f50463bedbd858b8d876d3f56cdab3fd3fe6a0bfeb189d77e0b60ace9", size = 40089, upload-time = "2026-09-30T17:34:57.286Z" },
{ url = "https://files.pythonhosted.org/packages/1d/2f/b6f34c372d68835ca89cb9d6f5c5166577472e13dae769d411496a106111/mmh3-5.3.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7e24c455cc6a4f30267a96c4f1fef85bfebffec5515ba6724e0ba88ac6baabaa", size = 55355, upload-time = "2026-09-30T17:34:58.391Z" },
{ url = "https://files.pythonhosted.org/packages/09/52/dc370ebb3b7c056821f7093748dd23de096779cbec63f8825266c0f42aec/mmh3-5.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:86cee07b7e2767f2ea221f5a04a08e4dbd35363897231115a16365ca24641c57", size = 39950, upload-time = "2026-09-30T17:34:59.505Z" },
{ url = "https://files.pythonhosted.org/packages/10/e9/f4c14e0ab768c4e2ba21cb0b212eedeb645459f3b5a353561a11f6f4a045/mmh3-5.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b07fe9ce79bf9b53b1117c0d4c03744eb4060526d82b39e64972e739467a5134", size = 39583, upload-time = "2026-09-30T17:35:00.617Z" },
@@ -1945,6 +1725,47 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/35/83/558d9c034a568f0edeee91b4f770d99eeee41300155e2be0eefef2466fcb/mmh3-5.3.1-cp314-cp314t-win32.whl", hash = "sha256:0fe225c870d34d08a0cebdddcb1c1062ecfb9655f1b844a76817ea17bcbc8316", size = 41326, upload-time = "2026-09-30T17:37:07.607Z" },
{ url = "https://files.pythonhosted.org/packages/fb/ed/e76d25bcc95b3b8ef8df663c99542056c9cd393bd70a6723e5d4f2e13b1d/mmh3-5.3.1-cp314-cp314t-win_amd64.whl", hash = "sha256:52fbda3c48e74f7c533964d91610e512e1971d1e88a264e1024f710b3a990af8", size = 43270, upload-time = "2026-09-30T17:37:08.827Z" },
{ url = "https://files.pythonhosted.org/packages/73/29/efd48025b974c588a5da623abc5916d3caba073fa7f658826c42dd673435/mmh3-5.3.1-cp314-cp314t-win_arm64.whl", hash = "sha256:d6d03f2e97225476a4ebacb7b26bdf58847f2879ed6f51c9aec296dd17a40537", size = 41270, upload-time = "2026-09-30T17:37:10.545Z" },
+ { url = "https://files.pythonhosted.org/packages/74/44/7346139e65dcd6c0fb1fd810095311f3c83bfad406875db80b905dfe2795/mmh3-5.3.1-cp315-cp315-android_24_arm64_v8a.whl", hash = "sha256:8e9be3c05553ff265064c364e2f75c38a0a768c5e77378e68bba3cbdddbb3534", size = 40908, upload-time = "2026-09-30T17:37:11.848Z" },
+ { url = "https://files.pythonhosted.org/packages/11/72/f310775faa92f81a8e4d33a57f8871df049d343b9ad85ebf9df65f2c32fa/mmh3-5.3.1-cp315-cp315-android_24_x86_64.whl", hash = "sha256:409ab810e88d94152e0e17f184c5c0a0cc9d5cbc35d0064117977360cdfaa6d5", size = 42038, upload-time = "2026-09-30T17:37:13.191Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/f5/5297ec53642c1f3783c8e9fdaec247b8a154189a4270591f34233caf25dd/mmh3-5.3.1-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:a564dcbacf2fa7fbab47a061c69dd8e21882de7a4e7a0d5c129c3e4853f528d0", size = 38709, upload-time = "2026-09-30T17:37:15.061Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/f1/51085537195290833f46be8f6b3dd2985ee4d15490eb18b537057216076a/mmh3-5.3.1-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:e7618907f87ce29af7da06e014f9acabb90de2dbe37b4c4a4c06ae6d2166caab", size = 39416, upload-time = "2026-09-30T17:37:16.444Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/cd/5a749d76cc15fee759a8fa0febd939167476db22165b27bb0eb82239e187/mmh3-5.3.1-cp315-cp315-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:50a62eec3de8a3f608f5531901b7d7106231a5cb6cd294bb5f7fbe9e89e71b7b", size = 39867, upload-time = "2026-09-30T17:37:17.808Z" },
+ { url = "https://files.pythonhosted.org/packages/59/43/e0c704b08d4adbf22cd9e698f492fb7d4ad7e3a1c4aa5497d0b0da4d7027/mmh3-5.3.1-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:d227fe27ac054c3999793a6e79cb70d8698d575cbedff216656757b4bdf2513b", size = 55425, upload-time = "2026-09-30T17:37:19.154Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/59/ef17c22d2de4dce1a32e443e1de7a3cb8789f60459a45c130ba9794e67ab/mmh3-5.3.1-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:c97deaabf7d9d49c56433c4c52292fd03425c29589a4b71d3d5f905285ed4038", size = 40029, upload-time = "2026-09-30T17:37:20.64Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/a1/93c1f18d5105493f4e46259080441d6b7fde971d628fdc7965b586937440/mmh3-5.3.1-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:c6badf50b4fe0e001a2ab5f6a4347aad3d10ba182a3ef64eacfb8a6cb581393c", size = 39628, upload-time = "2026-09-30T17:37:22.029Z" },
+ { url = "https://files.pythonhosted.org/packages/0f/b7/ce9c92967bb98c69856ed1c3a8af1b05e1a14fc44f9ff28a7f6a59a17b10/mmh3-5.3.1-cp315-cp315-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:08d59963e361381b8052f57f48607c695e4ecf15e1fedcd28e003fd7a189579b", size = 98463, upload-time = "2026-09-30T17:37:23.699Z" },
+ { url = "https://files.pythonhosted.org/packages/69/a5/43e7fcca7b892649d060717c595095a80d6468afbb57bd554ec347fff766/mmh3-5.3.1-cp315-cp315-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:714e150e76987dedef08ee370c597c8aabc11b8ac7796bc43876a0b8830e1ffa", size = 103974, upload-time = "2026-09-30T17:37:25.591Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/b7/0573655c5b8cc2440ff6113f3dbdd7c196561612059720d20fa745b7b1e5/mmh3-5.3.1-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f2fe7c4fb48c7b69877ae28a1fe4df4e1bfb53fad467673c100035f0d4210d3e", size = 106431, upload-time = "2026-09-30T17:37:26.908Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/de/60b68e00b8675cd16117a3429342acdcafcc4ab26a061db9dfc8bfa36f71/mmh3-5.3.1-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a209b121065c821358e965f481eba1a0cde6172d9d982bae6bf7ad026498ad6e", size = 113141, upload-time = "2026-09-30T17:37:28.334Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/b1/78be5bda72dcf0e2bc9920ae26b801e101eb68c7c0b62e75d1c301b6adbb/mmh3-5.3.1-cp315-cp315-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:cd0e2f3571fcf0b434929d28a2fc61e90215a03aa65368b70ca1faf89e36da25", size = 121217, upload-time = "2026-09-30T17:37:29.813Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/22/36c326cf3ed6350fdd9f9bd5261ff05e6c9d37fff2b9944f7d6c06054791/mmh3-5.3.1-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c2e6bd1b4757ee488283e035755da12da831509a2ff40fdd9733b0f34e9072da", size = 104071, upload-time = "2026-09-30T17:37:31.176Z" },
+ { url = "https://files.pythonhosted.org/packages/41/30/70cb86cfde918fbcda9df7d6424963691a1978fef781b898d9c4d854c3d8/mmh3-5.3.1-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:53dde4944acc0be5198dfd0a1b2654db0b88ae82640f8299bf0f0414e075643d", size = 99434, upload-time = "2026-09-30T17:37:32.524Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/ab/f0b914fce03026c1c697a26b5cdfb012368f64fb1592744acfd191c76b07/mmh3-5.3.1-cp315-cp315-musllinux_1_2_i686.whl", hash = "sha256:37d39bcc4a554d3f4c9868287686a0b342857ea6df01e532fa0fb722654be253", size = 99432, upload-time = "2026-09-30T17:37:33.954Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/c7/2673b90301ae8ebacc0785bd3a17ad47273ba170adff0398abf0505690a9/mmh3-5.3.1-cp315-cp315-musllinux_1_2_ppc64le.whl", hash = "sha256:b66b40b78a4dd5757ec2ce449db0d505f24ec6a901bffd6667dd60df0eb27a9e", size = 106446, upload-time = "2026-09-30T17:37:35.338Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/de/3d35d6a5cf606129c456f5fa250c5155f2c9b3e680e99243e13a9649f5a8/mmh3-5.3.1-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:429453058c769d9cffae36fcaa352241ca59f66aed41aa021bc66565213977f5", size = 102116, upload-time = "2026-09-30T17:37:36.838Z" },
+ { url = "https://files.pythonhosted.org/packages/48/0d/73cc09401c50a3f04a79330bda8cabbac05ebd2655e8de785f3356339e42/mmh3-5.3.1-cp315-cp315-musllinux_1_2_s390x.whl", hash = "sha256:3b475f5b5a5f813a5f7c35f257b7c72b7a6f3da16fd564e8466c26bcbd4cacd7", size = 110094, upload-time = "2026-09-30T17:37:38.154Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/6c/95deb09624751abce5e60b119d0539314ec2b3536b54fc771a6d918322e9/mmh3-5.3.1-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:9184d09183b74a78815358c9dc5cc24cb94556779c279f6f2ce698da6a1766a8", size = 98065, upload-time = "2026-09-30T17:37:39.544Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/2a/b748aa5ab7a389b3720164f207edb2ec2d7eb21785ad7ec9aa9d55685bdc/mmh3-5.3.1-cp315-cp315-win32.whl", hash = "sha256:0cf5a30de9df754c6977bb90637510ce1c9a2039d4402e1226cf584ba82c367f", size = 40877, upload-time = "2026-09-30T17:37:41.048Z" },
+ { url = "https://files.pythonhosted.org/packages/63/15/47f2945f6d4f23c5cf21937a6a818c33875ff0d52578437419d29712df6d/mmh3-5.3.1-cp315-cp315-win_amd64.whl", hash = "sha256:0d7953b08712fb5bb894757568d62692db2e7b235c921eab6471c728ad51a728", size = 42294, upload-time = "2026-09-30T17:37:42.481Z" },
+ { url = "https://files.pythonhosted.org/packages/bd/79/5f349380e9cc4722eef51bd47da78fe7e71408a7cc670cce435eac0e1451/mmh3-5.3.1-cp315-cp315-win_arm64.whl", hash = "sha256:5e837386acd3387d67c6821b7fa584a197748ae74e336de15d9f731fb3d9c1e4", size = 40663, upload-time = "2026-09-30T17:37:43.709Z" },
+ { url = "https://files.pythonhosted.org/packages/82/0c/1303c58d814ad868815a3a88f8e3719970c4b5acba549f556369d8b82a36/mmh3-5.3.1-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:245665a94be009e874a9d290ddebb67a253805a2b4d87c2e6e042e16a3d1c298", size = 57090, upload-time = "2026-09-30T17:37:44.971Z" },
+ { url = "https://files.pythonhosted.org/packages/73/cf/ae0b095688d03c6c1ebc2f9319d393b80e7ef6fb896a47b8cc4b8ac3bd80/mmh3-5.3.1-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:f4539cf0d522eb19c88c30a52ef4d1625840391dde7e07b3f69481b7c61cb6cc", size = 40831, upload-time = "2026-09-30T17:37:46.707Z" },
+ { url = "https://files.pythonhosted.org/packages/34/c9/f2e2863e06f63024159cded330e4dc3df544179e45b7b31fc53071d010c4/mmh3-5.3.1-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:63a072d514e1762b823cb1129f826289839dd7d71d56cc81eb72223aeb730ce5", size = 40374, upload-time = "2026-09-30T17:37:47.905Z" },
+ { url = "https://files.pythonhosted.org/packages/17/4c/1ccd1eadf3caa62b074005c31ad423a5d982f6b35e81305ea9ade8865a94/mmh3-5.3.1-cp315-cp315t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:9358751ae6cd260e3595662e1503fa8791f31dfc69bfe3034c55a278cc5ab78b", size = 108164, upload-time = "2026-09-30T17:37:49.373Z" },
+ { url = "https://files.pythonhosted.org/packages/f7/82/13305aaab0528f64204377db1ae4c5886a8b4bf1a3a032406a9d8d3c7798/mmh3-5.3.1-cp315-cp315t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:6e9936eb3cef7e4fe7dc0c7fe51039da7ce12dc691b291ea4dc6d8ed28b9b990", size = 114119, upload-time = "2026-09-30T17:37:50.737Z" },
+ { url = "https://files.pythonhosted.org/packages/4e/fc/97ab3b905aa27e2bd1886fc0c4ab5e6b05db697f2168300928d6b2184786/mmh3-5.3.1-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dc25cc785743cdfc10b3f671fde6bea760689518372ffd355bda03f9c07dc9ec", size = 117054, upload-time = "2026-09-30T17:37:52.331Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/d7/911384e5a69b817074afa6a8e236a875e601c2b856f6ba520208f357401f/mmh3-5.3.1-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e885b5f0102899227456a6568585295e599f5f90872933a62274746e94c244dd", size = 122287, upload-time = "2026-09-30T17:37:53.683Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/8a/ec962c0bf2b720c2e1d8d2410e25f699df421ac8f77bbf4463068f103bc0/mmh3-5.3.1-cp315-cp315t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:fc7a4ab919a66b9db72c1425d610f69a8480dce22aa4c6ad2218e4acf41f8c01", size = 130866, upload-time = "2026-09-30T17:37:54.951Z" },
+ { url = "https://files.pythonhosted.org/packages/f4/a9/5dff431289844d190484a8dbb734320e1a19781a29c37372510e1d816799/mmh3-5.3.1-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0bd3b13c6ab9c851c6e74a06fde305c9661d985ceadf91ed60507a27ee1ab4cb", size = 110756, upload-time = "2026-09-30T17:37:56.459Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/74/15099e020e8d02e674078b1bdedf0db61f7f447dd684f004d59f5b250361/mmh3-5.3.1-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:bc3605b2db1dfcea3d0ea481ed32ac798753dd68e942fe3859374021d1668edb", size = 107650, upload-time = "2026-09-30T17:37:57.891Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/cb/f00da63de039f9891914d2969bae2d590a5f410c8a9ee93fe6e5ad7d35db/mmh3-5.3.1-cp315-cp315t-musllinux_1_2_i686.whl", hash = "sha256:ea031c00ffbfc38e54cc070426ec2d136e573cbae24cc34e7ee558399ac71ce0", size = 108729, upload-time = "2026-09-30T17:37:59.229Z" },
+ { url = "https://files.pythonhosted.org/packages/17/7d/d6b33bb23a1c56d8af2571eaac999d526a09ac59e6eca35603d74bfe2c1a/mmh3-5.3.1-cp315-cp315t-musllinux_1_2_ppc64le.whl", hash = "sha256:b4a40cd05113233d30b3035054f9d4939e25466bb63e75d158f116b030618e55", size = 114172, upload-time = "2026-09-30T17:38:00.596Z" },
+ { url = "https://files.pythonhosted.org/packages/09/8d/bc670057ebd529792feebd6f8e6ac5463df3c8c9d8a4fd1530327d71a74f/mmh3-5.3.1-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:1c6593adfb734776dd93bd16b30512211be5d9a96aec0925b4a3f081edb6ad91", size = 109063, upload-time = "2026-09-30T17:38:01.947Z" },
+ { url = "https://files.pythonhosted.org/packages/63/02/c9229c198ce251bbcdfd3ee96d35c711fc3dcb5d05b9330c55b2a63b5db7/mmh3-5.3.1-cp315-cp315t-musllinux_1_2_s390x.whl", hash = "sha256:d3883cbc3da65076bf0972e7b76f4c972d9fe5810757030cd01c29cbe0ccde41", size = 119758, upload-time = "2026-09-30T17:38:03.264Z" },
+ { url = "https://files.pythonhosted.org/packages/01/b9/25cde1ae2118d1962fb68bdf399d2676a242216a18cc9e89a8b34df19ba0/mmh3-5.3.1-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:5b5d7b1141ad7ad0091199f8440f3034ce775ea8c470a418bf6e2c371de08ec5", size = 107392, upload-time = "2026-09-30T17:38:04.611Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/93/ce57c57a62c97c4bceaafb4df29e5bfdc827f3cea08b27444dcf3f55ecb6/mmh3-5.3.1-cp315-cp315t-win32.whl", hash = "sha256:2d76a78ab3af4be19d31840ca4f69b429e602e719d0b351f20d96304dbfb155e", size = 41534, upload-time = "2026-09-30T17:38:05.901Z" },
+ { url = "https://files.pythonhosted.org/packages/63/ea/fee223d57ef44e743e71216805b873fd452b1de034a5a6bf78011deb7e9d/mmh3-5.3.1-cp315-cp315t-win_amd64.whl", hash = "sha256:4c061c1072dc2f32ef7e6a57a92da3de217dc47114b2857da31b34bc79ac795b", size = 43019, upload-time = "2026-09-30T17:38:07.154Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/6f/727d4255c2ca4957f87400852449f22f148b4278529701c67c6c65dadafb/mmh3-5.3.1-cp315-cp315t-win_arm64.whl", hash = "sha256:c90b3503675892e7496bec63e2e18e413798a062e5d54e6cf220c2bf0bb7fe69", size = 41323, upload-time = "2026-09-30T17:38:08.405Z" },
]
[[package]]
@@ -1968,29 +1789,12 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/44/b9/040d1a1c7836922828e6480cd2366bb8fe0ebf75b413d2bb51a9b0e7f78f/opentelemetry_api-1.45.0-py3-none-any.whl", hash = "sha256:80e068aba7cd56c8b58512d6a36f8d25cb1dfaa0c0a4cc1c938ccf9f362d9cb3", size = 60020, upload-time = "2026-09-25T12:32:03.192Z" },
]
-[[package]]
-name = "orderly-set"
-version = "5.5.0"
-source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/4a/88/39c83c35d5e97cc203e9e77a4f93bf87ec89cf6a22ac4818fdcc65d66584/orderly_set-5.5.0.tar.gz", hash = "sha256:e87185c8e4d8afa64e7f8160ee2c542a475b738bc891dc3f58102e654125e6ce", size = 27414, upload-time = "2025-07-10T20:10:55.885Z" }
-wheels = [
- { url = "https://files.pythonhosted.org/packages/12/27/fb8d7338b4d551900fa3e580acbe7a0cf655d940e164cb5c00ec31961094/orderly_set-5.5.0-py3-none-any.whl", hash = "sha256:46f0b801948e98f427b412fcabb831677194c05c3b699b80de260374baa0b1e7", size = 13068, upload-time = "2025-07-10T20:10:54.377Z" },
-]
-
[[package]]
name = "orjson"
version = "3.13.0"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/f2/72/380b97dc45bd162d23afe5194721ef678d9eac7cfaa549fe2873f7f0a518/orjson-3.13.0.tar.gz", hash = "sha256:d1de5eb04485110c5da4c657e49168995d55e076b1ce60f1a042e254f4186c4f", size = 2732604, upload-time = "2026-10-07T14:09:25.719Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/11/8c/25b6e2bd4f6b8e67a6b5acbc11a8cff4970e35c79837a24ec7db8732238d/orjson-3.13.0-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:4f66eac85b072092e9941c3111882afd7527bf926cbc717038fa3654b582002b", size = 223510, upload-time = "2026-10-07T14:07:54.539Z" },
- { url = "https://files.pythonhosted.org/packages/32/4d/5772e32ebc19d0b76b957a48e69a09546400db35cebe76c21b2c341d1a30/orjson-3.13.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.whl", hash = "sha256:efa160215c4630836d3b1250af4c7a305acd8239e0d75aff986b8088c2fcacb6", size = 113481, upload-time = "2026-10-07T14:07:56.229Z" },
- { url = "https://files.pythonhosted.org/packages/5a/6a/5ce6adad2c0cb734cb9d19b7b9d9c7bbdb16c136af453dd37adace806547/orjson-3.13.0-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:4e5c8175e1574dcbe446ee654275d353c1d78bbd9a0dc9f209bf35c9df72d171", size = 130791, upload-time = "2026-10-07T14:07:57.751Z" },
- { url = "https://files.pythonhosted.org/packages/96/49/d954f02229efb06850a5f9aaf06e77e03046a009d49eb78f499fbd798ded/orjson-3.13.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78a12d4f8d740cc9ae197f5223682e5e960ba61b4fb2ce5a6a3bb54e83fde28e", size = 129465, upload-time = "2026-10-07T14:07:59.143Z" },
- { url = "https://files.pythonhosted.org/packages/2f/a2/abcb0647268f334cb85768170b164e4c97f7a2ed5fddd146f79297494d9e/orjson-3.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93c70a5e22bbbbdeafc7b273441e8452a196041d67fd4d9a9c450c66370a8486", size = 130727, upload-time = "2026-10-07T14:08:00.659Z" },
- { url = "https://files.pythonhosted.org/packages/fa/b0/5672f0505e6cde410cc7916cc2fbf88d90216d667b37907df041a659db06/orjson-3.13.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:7b3bc6b81835ce65f4729ae401607583d41139c6de95bc7453f450f1391d3e7b", size = 135280, upload-time = "2026-10-07T14:08:02.167Z" },
- { url = "https://files.pythonhosted.org/packages/d9/58/c223e3ac16193d00c1c3cbc786cb6db47158bff0558c52133e6dd0be7a12/orjson-3.13.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:6d0684895b119ad167fb4ec05113639dc7f728022deec4756a710e838ed92e7a", size = 126844, upload-time = "2026-10-07T14:08:03.549Z" },
- { url = "https://files.pythonhosted.org/packages/49/a2/f6fd98acef1e36b8c8ae0275f0268a0f22bb6a1b436ee4536e1cdaf31b03/orjson-3.13.0-cp310-cp310-win_amd64.whl", hash = "sha256:7991921c5da527a963b6d4cffd0e4ea89c7e71d4be0c8be1bfe6edb223ce7d96", size = 121455, upload-time = "2026-10-07T14:08:05.024Z" },
{ url = "https://files.pythonhosted.org/packages/ce/a3/0be3b115907fea61ed340639fb0e1562cd18969bad5b3f486f808197aaff/orjson-3.13.0-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:948bad47f2e2e43527f14248364a0e5dee26dd3184691010ec4a1ebeb0fd6771", size = 223146, upload-time = "2026-10-07T14:08:06.474Z" },
{ url = "https://files.pythonhosted.org/packages/9e/f7/665935edb16163f8b764182e29a30cf056947a66893ed032191e5f01eb3d/orjson-3.13.0-cp311-cp311-macosx_15_0_arm64.whl", hash = "sha256:1807c2fa49d393c7ee95fd1ef1b39cbb24aa3ccd81f30b84503ba59407666960", size = 123546, upload-time = "2026-10-07T14:08:08.324Z" },
{ url = "https://files.pythonhosted.org/packages/67/ec/e7cde480c0e212594d17ba2b2bd210c002052e9147fc1a1aeafaabe722fb/orjson-3.13.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.whl", hash = "sha256:637dbca1fccffe83780e806fbc0f17427c0c59bf822528eb0acc8f0aa9f19acb", size = 113290, upload-time = "2026-10-07T14:08:09.816Z" },
@@ -2031,6 +1835,16 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/23/b3/12b1af9b87ff9fa0aaf4e5724c87672b30bb5de76f275f7fac64e8219c1b/orjson-3.13.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:08bf722f923d2100bc5e5a5dcf72c656db557049c1bea26582fdd5dd9d5395a1", size = 126500, upload-time = "2026-10-07T14:09:03.863Z" },
{ url = "https://files.pythonhosted.org/packages/ad/ea/cf257fc8a7f4b18f5677c22b3a9673a1b51d4b7161f25177ed389b76560e/orjson-3.13.0-cp314-cp314-win_amd64.whl", hash = "sha256:6adcaa85d79977659a448b4123a88eb33511a11ed2db243535ad7ea88a6668e0", size = 121378, upload-time = "2026-10-07T14:09:05.375Z" },
{ url = "https://files.pythonhosted.org/packages/05/0a/9f4643f849e9918eab11983b83928af3aac14bedb04002e28e885ee1936f/orjson-3.13.0-cp314-cp314-win_arm64.whl", hash = "sha256:83705c12b4afde10c62a5dd3fe6fdb21b7900bd0dcd5af1c85612ae94d0ee590", size = 126123, upload-time = "2026-10-07T14:09:07.085Z" },
+ { url = "https://files.pythonhosted.org/packages/8c/15/d265f2b556c0c7c0b30ea830316d6e5af5b85dde08f234a1ebed60fab386/orjson-3.13.0-cp315-cp315-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:5ef4d4157392a0439b74f7e49e5636b4ea43d9616bd0884effc0195fffcaa2d5", size = 223305, upload-time = "2026-10-07T14:09:08.84Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/97/781be8b80a33b8171b3f5acea941af47182c8b4b5827c2b7c3fea706f21c/orjson-3.13.0-cp315-cp315-macosx_15_0_arm64.whl", hash = "sha256:84d87e322e1674408f85adea63f11aa19201eba082755aec20ebc217f493bbd2", size = 123515, upload-time = "2026-10-07T14:09:10.792Z" },
+ { url = "https://files.pythonhosted.org/packages/20/68/011bb98fa7da7b430b363db1bb7ef9160c438fc5c43e7468fb593c220037/orjson-3.13.0-cp315-cp315-manylinux_2_39_aarch64.whl", hash = "sha256:8c2ac5c09b017c484df1b4c68b2cf250b4e8ba08204cb58e7cd6cbbc71a9c902", size = 129222, upload-time = "2026-10-07T14:09:12.542Z" },
+ { url = "https://files.pythonhosted.org/packages/86/7f/d96fa2aedaaec14c095ea9cd48d2158fdf33c0f4fd6e7a598d899d536b03/orjson-3.13.0-cp315-cp315-manylinux_2_39_armv7l.whl", hash = "sha256:51d11525bc3ca736fa97ce4e4c7da9999cc00bf261522bede43b4e7531bd7965", size = 113152, upload-time = "2026-10-07T14:09:14.059Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/2d/ee77aa685c54bd920a1f0e2936986b46269adb0d72bf5098c2c694dbeb36/orjson-3.13.0-cp315-cp315-manylinux_2_39_i686.whl", hash = "sha256:ac81530647c3423107cf61c3481e91f57134e9ddfb6ef83f5150ccbdcbc3a3ee", size = 130749, upload-time = "2026-10-07T14:09:15.835Z" },
+ { url = "https://files.pythonhosted.org/packages/48/eb/3411fbfdad61b3f3af22343b5af7ed5c8a1679e35f442e8f1b229b33040e/orjson-3.13.0-cp315-cp315-manylinux_2_39_x86_64.whl", hash = "sha256:0526a3456db67b264c6d661b5f090077f326b6cd074d0ef53a72763595dec5d7", size = 130471, upload-time = "2026-10-07T14:09:17.463Z" },
+ { url = "https://files.pythonhosted.org/packages/87/71/abdc2b8c70b8d85a6cb22f404da0f52d7d712f9d49cda039a0cb1adcb973/orjson-3.13.0-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:dd61e64802d51d1e4f16531c64536354fc3bc67932dc0cff254044f72bf0f187", size = 134793, upload-time = "2026-10-07T14:09:19.084Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/2e/1c13552d8b0241083116de02b2f284ee38501ef06ebfb79893f741538168/orjson-3.13.0-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:c5e3ccaac3106e8fa6e2f2f6962449d7c757d7b067e41b395a19d6f0d6cec892", size = 126711, upload-time = "2026-10-07T14:09:20.645Z" },
+ { url = "https://files.pythonhosted.org/packages/85/f8/d4ece953a519d064cf690adaa68cd389d5b64fd261726334841b32978d6a/orjson-3.13.0-cp315-cp315-win_amd64.whl", hash = "sha256:7804dd1d6161da0e53b284c2aebf20f23e78eaac617300803e1467d1828d987f", size = 121496, upload-time = "2026-10-07T14:09:22.359Z" },
+ { url = "https://files.pythonhosted.org/packages/70/cf/f691388c4a9bc4af7dcc1648c4b40845869908b517d7c0009d005c7d1fa1/orjson-3.13.0-cp315-cp315-win_arm64.whl", hash = "sha256:f5c05a8fee59309f537590a1ff12d3c1009c485e96a50a9ac60dd085c09d0fc0", size = 126260, upload-time = "2026-10-07T14:09:23.928Z" },
]
[[package]]
@@ -2185,6 +1999,15 @@ version = "4.2.0"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/33/c7/f9374c8939560ab22db1dd9dbe215b62d20f32634aeb7f259dc03c807b44/pycryptodome-4.2.0.tar.gz", hash = "sha256:21d7fdba239d6ef863d3d08388801c683453a3bb4897c2b27f27847aad89bdf7", size = 1750332, upload-time = "2026-10-24T10:24:42.016Z" }
wheels = [
+ { url = "https://files.pythonhosted.org/packages/fb/05/61028b65913438a091ed3a2ec55bb50843e674b6ae14bccf196bbed652a2/pycryptodome-4.2.0-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:4b58c4fd5615a788e0df6793d578e565b19d75a348c0ba02d469b0c38bbf0332", size = 1684620, upload-time = "2026-10-24T10:23:50.473Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/73/0930fd56dd5eb856ecc33ec48845def52a1d25a9cd6b810a4c3ef3633cf4/pycryptodome-4.2.0-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:42ab554efcc14928f1db42deac9c84989fd49e289a16aacbbee709fe2eb838cc", size = 1520423, upload-time = "2026-10-24T10:23:52.505Z" },
+ { url = "https://files.pythonhosted.org/packages/19/ba/4b931de42881053a6d818b9ee70f6dde3dfe1cfcf78527d45db3f99d8b47/pycryptodome-4.2.0-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b4ed1a34d2d667ec165beb15313a759bcd8e704e2743f9942491c5a88a2d6ca5", size = 2296340, upload-time = "2026-10-24T10:23:54.294Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/63/68fc2a01d621c2ff389ea261e731e8f1abe6aba89992681bbcdb19fcca43/pycryptodome-4.2.0-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f1482a7d9ceed7beadbb0853f83d4d44406a9f9fa8ee596d637618f095869e14", size = 2987589, upload-time = "2026-10-24T10:23:56.547Z" },
+ { url = "https://files.pythonhosted.org/packages/f5/63/69e211459f4625c89bb47a7ba4527a6cc3276c9bbd79ae871a2d0b05c021/pycryptodome-4.2.0-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:dceadb6f478b0a687d129f1b58220e0587fb17a31b2502ae7a1a4234bc304ee1", size = 2322482, upload-time = "2026-10-24T10:23:58.538Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/65/21a4ed3ae5af153c57861d7f987c81fca5bf02d49b76f34c545f8eb6b95f/pycryptodome-4.2.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:8217736d5ac9b7fef49d1d2b292d5af4e8300298ef4926742aaec49b2bf6505b", size = 3548352, upload-time = "2026-10-24T10:24:01.185Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/a4/9a7e4e8896cfd8131978d31e39c930fb114f6a63751f39d2069b965dad45/pycryptodome-4.2.0-cp315-cp315t-win32.whl", hash = "sha256:b717e36cf14cffe463ff4e7d423a0c9fd6f83b40d207388e0f40dd0a3d4018bc", size = 1306386, upload-time = "2026-10-24T10:24:03.047Z" },
+ { url = "https://files.pythonhosted.org/packages/af/6c/e1a78019b7db83e2cfc1c98cea4a7a0afbb6b233514b9dfee2bad7443bd9/pycryptodome-4.2.0-cp315-cp315t-win_amd64.whl", hash = "sha256:585f0a792cdc7fb381ca0d1fac4e20f03fd99bb78cf2733eaab59f62c77ccf88", size = 1688319, upload-time = "2026-10-24T10:24:04.963Z" },
+ { url = "https://files.pythonhosted.org/packages/c6/96/7cb051ba325141b33bc7e6ef6152499cf74b74606c5bb4c8c72411e8afdc/pycryptodome-4.2.0-cp315-cp315t-win_arm64.whl", hash = "sha256:831ae8ce070e990d4fcb913c49c7fb0181ea7ab2691fc58dcb9d41fdb5384d85", size = 1330914, upload-time = "2026-10-24T10:24:06.934Z" },
{ url = "https://files.pythonhosted.org/packages/41/4c/954a9a1451f7bcc89d66db39bf6499ef5701e8ff35b6c898c659a7ec8546/pycryptodome-4.2.0-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:3e430168f767ecec60c1f850df4abbd0b9f94786b9cc8041a00e976f6d5190c6", size = 1680663, upload-time = "2026-10-24T10:24:08.982Z" },
{ url = "https://files.pythonhosted.org/packages/6e/84/23f8013dce07cbc8c8b9ed878972294230a1edc49a6b64d271c77c878c29/pycryptodome-4.2.0-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:aea22120791b4534a27e39fc01d91265a249ba72dbd682a8a5c1adee475d5483", size = 1513323, upload-time = "2026-10-24T10:24:11.076Z" },
{ url = "https://files.pythonhosted.org/packages/1a/82/693940a8e4a20c3db91050480429daf39c818be3c7ec59f992ded4567ce6/pycryptodome-4.2.0-cp39-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f6f30a457bd83a3074747d11bcb95375397a2e9b9a6b9179ab001e0cdd8ed0c5", size = 2292885, upload-time = "2026-10-24T10:24:13.486Z" },
@@ -2194,10 +2017,6 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/df/1b/34bec1416507cda23b5dfa33c0bca936fd4ac8ed4d3269803477b897649d/pycryptodome-4.2.0-cp39-abi3-win32.whl", hash = "sha256:bb7659f87d7aa69105e1be12764f9cf1908287eb424b242186f5ac3c192ed612", size = 1292974, upload-time = "2026-10-24T10:24:22.422Z" },
{ url = "https://files.pythonhosted.org/packages/03/5b/a4a31e6e1aabd5a26da77c7960e7fcce4fca9132e51868f1bba10bf1e932/pycryptodome-4.2.0-cp39-abi3-win_amd64.whl", hash = "sha256:3282c9fd744a16594e51e1a9fbfe4d658b6b0aaa1f050926e6d591ac7494f78b", size = 1658684, upload-time = "2026-10-24T10:24:24.009Z" },
{ url = "https://files.pythonhosted.org/packages/2b/81/bddb0637fa85a03d00eea2f3514c5aa8d7b9c4921ef5e0c125b4ce662a8c/pycryptodome-4.2.0-cp39-abi3-win_arm64.whl", hash = "sha256:34ec11258967efec61d92a83a63a050ab7a7c31dc3806412f6334b8aef47e2d9", size = 1305591, upload-time = "2026-10-24T10:24:25.993Z" },
- { url = "https://files.pythonhosted.org/packages/df/a1/5460bbb750121f71abacaaf25f0cb1df67be7fe13c70cf6d7c2b8ad54fc0/pycryptodome-4.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7ea7dbf6b8ce0f0d2c0e17c1226c74d07c01499db7704797bdbb6cb9ec511ccb", size = 1472158, upload-time = "2026-10-24T10:24:27.92Z" },
- { url = "https://files.pythonhosted.org/packages/e2/65/27ac8fb15f0ffb70b72a0413291637de46d29b075804221703273c3ca6d1/pycryptodome-4.2.0-pp310-pypy310_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0106af8684e1d73c93bc39a2f1cb4ae2f2636d1f80e6291caddcc37b4efc5dc1", size = 1247107, upload-time = "2026-10-24T10:24:29.672Z" },
- { url = "https://files.pythonhosted.org/packages/f0/7d/6b3ed6cd8626007f6a6b13616b08150bc0bb936a0b84c310e59558ed5136/pycryptodome-4.2.0-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e4deb46e0d0a540b1f047cb6f430249692da15c21edd75f5e6278314089fb859", size = 1426092, upload-time = "2026-10-24T10:24:31.627Z" },
- { url = "https://files.pythonhosted.org/packages/73/45/5adf4dbb1eab1da6291d25f777d1d34f745c7f2993bf2d4d3b0d9abb87c6/pycryptodome-4.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:e094873fe87ae4d546ef393cec7ea1e1cf8e0684f649612b19352afa67eb8bdb", size = 1662257, upload-time = "2026-10-24T10:24:33.373Z" },
{ url = "https://files.pythonhosted.org/packages/57/88/fef93a9ecbda783a312b15a8823fa1a9a4ec3474685e756584af595457aa/pycryptodome-4.2.0-pp311-pypy311_pp80-macosx_10_15_x86_64.whl", hash = "sha256:30f418cd1f4e776bde6c5df1fcd90ddfe74dfc8f679286a82f17ec1d4018cce0", size = 1467319, upload-time = "2026-10-24T10:24:35.108Z" },
{ url = "https://files.pythonhosted.org/packages/78/65/cb53934c9f8d5c41dfcfaddb0d98103f4dd6670af1ffdbc2582bcdd99382/pycryptodome-4.2.0-pp311-pypy311_pp80-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:20cb4a489f7a5150a882901884b84ee0df77a47b9a6eb6e2dd8e98997b7b826f", size = 1247105, upload-time = "2026-10-24T10:24:36.859Z" },
{ url = "https://files.pythonhosted.org/packages/11/38/5bba7fd24beb6bc7a82fdd155f2df39f51c8ad16143fc99d3a1ccc7c76b4/pycryptodome-4.2.0-pp311-pypy311_pp80-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f104dc1a38aa1172a166ebe3716f2666f785bfa015b7ca13bb808c12c902e455", size = 1426092, upload-time = "2026-10-24T10:24:38.584Z" },
@@ -2228,20 +2047,6 @@ dependencies = [
]
sdist = { url = "https://files.pythonhosted.org/packages/a6/24/af4ec4be49fbc810f35b0bdcacc3d433b56bbfa469fd3bfd4ae116cd9bf1/pydantic_core-2.50.1.tar.gz", hash = "sha256:e50d7b94baac6c7d09927fa5ca5800a0c7ee5015c7fcff65beb3a1931b5a6e09", size = 513515, upload-time = "2026-10-11T18:35:44.82Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/09/db/c9cc34707ba2c23ce90d54e8a4ee9307583ad054b9df2ce570ba550cb576/pydantic_core-2.50.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:b281a3b0f0822618fe5e3e0d8a2048b6356b14388505dc9374ccffeb69989713", size = 2154222, upload-time = "2026-10-11T18:31:38.345Z" },
- { url = "https://files.pythonhosted.org/packages/c1/17/6963f4ee55b7df7658f5c036c0f90baf8cd3d413f5d8b551f227e8467afc/pydantic_core-2.50.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1fa4c8bc12c1354c5550c0c35c1852c8c1901e89e06561724e03f8d0342e1f87", size = 2048126, upload-time = "2026-10-11T18:31:41.061Z" },
- { url = "https://files.pythonhosted.org/packages/bf/be/f75637e222085d29a3076edbc5cfd0dd9b77d145e310ff7dc1150f07558a/pydantic_core-2.50.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3aa9de446b793de2beb6fa2d9d0961803126c4e2a99c2f25ab59b9fd6ea125c0", size = 2052460, upload-time = "2026-10-11T18:31:42.321Z" },
- { url = "https://files.pythonhosted.org/packages/7a/1e/3d192ffa39ce3bd0e98e988fb5c055cfbf4af6e6e155a4ca5baa86d1f2cc/pydantic_core-2.50.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:de531ce1e2a3364e8767878b58f4ff728a434b4fde089781fe30b1e08e2396e0", size = 2190750, upload-time = "2026-10-11T18:31:43.572Z" },
- { url = "https://files.pythonhosted.org/packages/b2/7e/12ea94df5220ab316ee5bb498ebcf710cff2db352653039fb6033f6997d1/pydantic_core-2.50.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a7c58106de36ac6a56314182958de20db8d3a29dfd5db527192cc754e4f8e7fb", size = 2390043, upload-time = "2026-10-11T18:31:44.745Z" },
- { url = "https://files.pythonhosted.org/packages/f6/bc/4fbb6dc90af038628ec824434a9841be9d46854f9267bb658f09e315024d/pydantic_core-2.50.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8b4c3df25bd323bf1d36a648d563cf1fc69d717451569927151bdad7cad07a77", size = 2432397, upload-time = "2026-10-11T18:31:46.186Z" },
- { url = "https://files.pythonhosted.org/packages/1b/1a/21a58791021397d9ca35295e3f4291c16e319155c5904334b89eb07e97e1/pydantic_core-2.50.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f77ac30b19221cd9bd3fcfa3d4614eff93140d0572ab730cded17b64adca05f3", size = 2160719, upload-time = "2026-10-11T18:31:47.557Z" },
- { url = "https://files.pythonhosted.org/packages/73/6a/d5b2c5876162fd2c444eaed0064b5d9d9d0ef0d31530fc6a7997e8685ad8/pydantic_core-2.50.1-cp310-cp310-manylinux_2_31_riscv64.whl", hash = "sha256:d939de9c82e2126f7f48a7e658f8a85ed46d57662d53f44c49b8895fe94a3eb7", size = 2256164, upload-time = "2026-10-11T18:31:48.797Z" },
- { url = "https://files.pythonhosted.org/packages/af/e8/1a6625d6e99250388dd0ae817c5d75839cd6103e7b790f59e0ffff74955d/pydantic_core-2.50.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:30ddf019d082c117b5d309e5b86710c2a78909907ec1a9381feec3eec02eca0b", size = 2271176, upload-time = "2026-10-11T18:31:49.987Z" },
- { url = "https://files.pythonhosted.org/packages/19/9f/bbdd137d7ec41284701dab4d1489ea597d401dff2f5f3e6b41ea872e0b12/pydantic_core-2.50.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:2ab756b72bd5054e4c7ef3ded331b35786cbd3cf931531a508f79a9537517064", size = 2304637, upload-time = "2026-10-11T18:31:51.251Z" },
- { url = "https://files.pythonhosted.org/packages/49/5d/7bd322e649b41b45130bc00bfa34dc57498c853aa8e6fc9604e33bc7087c/pydantic_core-2.50.1-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:b087b1c5be7ac687cf22eabfe4b6b608d40df23610651e93611e1f49118baf84", size = 2467374, upload-time = "2026-10-11T18:31:52.587Z" },
- { url = "https://files.pythonhosted.org/packages/53/48/41a91111590eb7ba68a7c64c03139235a4b8349930abcb87931aa80da796/pydantic_core-2.50.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a44101320cfe99432db74237545a63057dc7a88dfe792cbcad0647f2af56cb81", size = 2480832, upload-time = "2026-10-11T18:31:54.06Z" },
- { url = "https://files.pythonhosted.org/packages/2a/02/4ac93a3d3f0ff412df1a36a9619743336fe6eec68c0df8a914163a3d22b4/pydantic_core-2.50.1-cp310-cp310-win32.whl", hash = "sha256:a4aaaa791bdae1c972a7e81765f4f3571c926b8e0b9b6e47346499fb80079665", size = 2123154, upload-time = "2026-10-11T18:31:55.396Z" },
- { url = "https://files.pythonhosted.org/packages/6d/ba/3a7af3dcd480c4739aa82cd9fedee79a5531a7c553346abcf095bd05f0de/pydantic_core-2.50.1-cp310-cp310-win_amd64.whl", hash = "sha256:2eedf82ee4753cdab8e50044c6bd569577eebc3859b11fecf4eb9223761ff966", size = 2179366, upload-time = "2026-10-11T18:31:56.697Z" },
{ url = "https://files.pythonhosted.org/packages/45/1b/ca81811da3d2aea724fb3c4ba6b83f50ab8f210576306ccd601973142d35/pydantic_core-2.50.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:c531166c42ea7bdfecc8c50049581f05dd1993b09cc7c52bb36a14e96deaec7d", size = 2152145, upload-time = "2026-10-11T18:31:58.046Z" },
{ url = "https://files.pythonhosted.org/packages/59/20/938ef7e0541af0a314e2f9d63848dbd1656ba2ebfe5ca0469f7ebee00d5e/pydantic_core-2.50.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b6d0c2183008c188e19f4906d426b293bdc4f67ab17df8e180fe16cda208fa71", size = 2045761, upload-time = "2026-10-11T18:31:59.35Z" },
{ url = "https://files.pythonhosted.org/packages/2f/4b/456497fe2affa18f49b226e89bde31e8a204751ee343dd9beaac5438123e/pydantic_core-2.50.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94be440c03fede26969a5ce75468e0e6a9927a1b46d9b679ee8adc1b057b0350", size = 2049557, upload-time = "2026-10-11T18:32:01.121Z" },
@@ -2318,6 +2123,36 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/4b/f2/773469b5a10a39116a2cb17edaf6d722f017dd8da07161b371465311c542/pydantic_core-2.50.1-cp314-cp314t-win32.whl", hash = "sha256:9d1bed94af6a63835461f3cf7502058eb166c58c4778e11d0f433cfb1bd69e19", size = 2098406, upload-time = "2026-10-11T18:33:58.043Z" },
{ url = "https://files.pythonhosted.org/packages/ee/42/0bb74f8f25204b259b11ab7c12dc7f180893b6bd706118b385147fb6efd5/pydantic_core-2.50.1-cp314-cp314t-win_amd64.whl", hash = "sha256:c8dce1f1e0e5358b682a6ad3fa5e31b31d4560997b8e61417e9217c8d60f8a0c", size = 2148481, upload-time = "2026-10-11T18:33:59.913Z" },
{ url = "https://files.pythonhosted.org/packages/47/0d/d801646c9679a4e630e15cf521d4108b93854b42a6e6e02391bd4c6b1095/pydantic_core-2.50.1-cp314-cp314t-win_arm64.whl", hash = "sha256:ceff0acc940be2715bd6ad17b24c0e5304abf44f6efd0f81ee8499e640f9dc86", size = 2174972, upload-time = "2026-10-11T18:34:01.875Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/84/23984b763d8862a02a13d27a44b6e8169428fd85ecfed88f54c29108604d/pydantic_core-2.50.1-cp315-cp315-macosx_10_12_x86_64.whl", hash = "sha256:8a6791afa2245e6c6b180122d105941644f5bd410bb18623b408808cc41a3102", size = 2224599, upload-time = "2026-10-11T18:34:04.016Z" },
+ { url = "https://files.pythonhosted.org/packages/4d/90/a63cf8586abc1d1a3f6d9b18f0224789ebf003851f092ebda3c7c863fd32/pydantic_core-2.50.1-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:84f34323a61a365b4e9295de6028474754829aaddd59c7bf1a040e7487ef8f3c", size = 2024191, upload-time = "2026-10-11T18:34:05.901Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/6a/f34bff9808ffb4907fbf5f5040457d253cacf2da7fce9efbc99ca1b1a44d/pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23edad659e8dbd8ca7e4e877fe6c81573abbdf215bd25a68b53e1272f58b80c7", size = 2048252, upload-time = "2026-10-11T18:34:07.757Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/54/13f419bf1eb59852003818e25935aaf175687d978f4c4bca70e08fe40a3b/pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3a5fce22f1e87d181e924e12da7d81cfe031fb3881a5ddf26ad28f141756ca43", size = 2173376, upload-time = "2026-10-11T18:34:09.592Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/6c/b5a34d24cd0c81669d8f8339d74e6815abcf2f8fb48ab4b49b84c09be1d5/pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c73622ef819328873b53109ee4f77ceb598bffedd02daf916102be3228866b78", size = 2364559, upload-time = "2026-10-11T18:34:11.534Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/8d/d64d6216a8df365082665927ff923f183056f9049fee08e9777c9ac05296/pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ce8c25ca38cc0e3d7753ba180808de2c0c8cb24eae0df64491e40921454e9831", size = 2444697, upload-time = "2026-10-11T18:34:13.535Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/0d/1b1149f60a00ea21ba5f70e28acbd40feb4598af414f80f53c921fac07c9/pydantic_core-2.50.1-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7689580e72a642ab5ec64d5f55b2e33636fa43b4ebe63c0c2c965ef307c7d1aa", size = 2159961, upload-time = "2026-10-11T18:34:15.56Z" },
+ { url = "https://files.pythonhosted.org/packages/1e/35/f236549299dcc78e71e945495d7ec67e78d20844d0999c60601685003031/pydantic_core-2.50.1-cp315-cp315-manylinux_2_31_riscv64.whl", hash = "sha256:d5c0e32fdbce7f1e8ef4d11f655694bf5f4175c757a9f1dc2be09b8864e5bcf5", size = 2234581, upload-time = "2026-10-11T18:34:17.502Z" },
+ { url = "https://files.pythonhosted.org/packages/6a/85/26901a490522b7f75ef9bb9a7afb73e5bb550f0e1cb5b99a0069183e2eb9/pydantic_core-2.50.1-cp315-cp315-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:40f523349960fa30f3ea51404308ff50f9997a90df639590f47a057c1f32b415", size = 2244090, upload-time = "2026-10-11T18:34:19.402Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/2c/481bcfc70ceeb77a778ca6e5b705fe592cb64735c108157f81b7dd9c280e/pydantic_core-2.50.1-cp315-cp315-musllinux_1_1_aarch64.whl", hash = "sha256:d4193206b6587047437f6f11d7e776df23e1c1e23af2a54d9347275614791e10", size = 2277948, upload-time = "2026-10-11T18:34:21.317Z" },
+ { url = "https://files.pythonhosted.org/packages/24/eb/f1e09333faa7ba447cde967310f758430cc7c5e987bdab5228816c70030d/pydantic_core-2.50.1-cp315-cp315-musllinux_1_1_armv7l.whl", hash = "sha256:84bc765b282a9d5b7fe0348b8648904f25a6a04b2139da52b1dd30c8ac3a2c8f", size = 2449688, upload-time = "2026-10-11T18:34:23.321Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/b3/036bde636db8f76d92996e81aefc75678ab5cec4a07eea1ad0c72a893fc3/pydantic_core-2.50.1-cp315-cp315-musllinux_1_1_x86_64.whl", hash = "sha256:ed1e728b39a383c81035b2459cfcb35d99dfb01f7d6ebe3a913bc1cc5b81e459", size = 2479286, upload-time = "2026-10-11T18:34:25.214Z" },
+ { url = "https://files.pythonhosted.org/packages/d0/a3/07f018294ee18d144afeb6df1a47d9e92960f014be45c5ed13519fa5af95/pydantic_core-2.50.1-cp315-cp315-win32.whl", hash = "sha256:bc94f474417604bd383d2cd445d071b07dd55fedceed3ce33407bf1fcc107290", size = 2103683, upload-time = "2026-10-11T18:34:27.42Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/98/f9bd7e1f9b6709f155acb9ef826d9c3884fe925f811fd8e55b9b52280bad/pydantic_core-2.50.1-cp315-cp315-win_amd64.whl", hash = "sha256:983a662de2571cb2502fc8ff47b6770b03d025d2eb314c92f77b3f07c74720ed", size = 2171681, upload-time = "2026-10-11T18:34:29.508Z" },
+ { url = "https://files.pythonhosted.org/packages/10/87/4bb3e1e7f385c076ab5af4d6dd0571b22042cd8207eb810d5b9fef15ae31/pydantic_core-2.50.1-cp315-cp315-win_arm64.whl", hash = "sha256:94845ff54dc5193f228cab81b2662a04bfbb892e95bdc15edf7399000ce57d54", size = 2156251, upload-time = "2026-10-11T18:34:31.455Z" },
+ { url = "https://files.pythonhosted.org/packages/47/47/83643225b08f2aef6c8cc4bbe6e3f79c5e139c4364a6e450d0f399d87774/pydantic_core-2.50.1-cp315-cp315t-macosx_10_12_x86_64.whl", hash = "sha256:4a53d13cdfbedbfa87f08b83c1a0a5efcc767d785a4b41934fa9cb672670493a", size = 2234363, upload-time = "2026-10-11T18:34:33.65Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/66/127ca649ba2f2462039dc1e694c6c01e00a3689f023a617364d3507e6d97/pydantic_core-2.50.1-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:efbecf43d321f7b9281441f1f213f7c21c66988b0e06c2730ba13ed47a46bb08", size = 2000972, upload-time = "2026-10-11T18:34:36.037Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/4f/e421e0a5d653b1203b090b2e48745976988d7338a647940704b5b9c2b399/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc1f08f68dac9f9e83845a8039880aba2ab553eb9b2259c3243a313182c253fe", size = 2022925, upload-time = "2026-10-11T18:34:37.972Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/4e/ea5568e2491e1a71100f15ae8c2d01ef52db42a184a2d4e716bc79e5eb8f/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5dfe41f232befddb9c4377f6cfc702b51595e2d78ed082672adf8758d2c4619f", size = 2192867, upload-time = "2026-10-11T18:34:39.921Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/5e/3b8c3a35acbe219909ada5defad5d7d9fed845fb2b37bd5ec518f453c119/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:adc06d218a1cadfd2ec4628424d7d79ce4eba69c2965e7e7b55106f0da5208c8", size = 2388687, upload-time = "2026-10-11T18:34:42.184Z" },
+ { url = "https://files.pythonhosted.org/packages/b6/aa/7889b4e515f91a2e8c0ae6b5081fec0feb30c4398d1434e14793c60f173a/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2cf91809d0721ab81592ba67bea7694821679c10b1a2e3c3460082b286c1918a", size = 2464415, upload-time = "2026-10-11T18:34:44.384Z" },
+ { url = "https://files.pythonhosted.org/packages/08/78/93449e628eb8a6fdcce3eff9043081179d1bc7ce6f1bff32dc5006f41e00/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23923ab9292c40da026330b1ecf4dc2618c8e86e0422e5d1fbf50d94d64ca4f8", size = 2150823, upload-time = "2026-10-11T18:34:46.392Z" },
+ { url = "https://files.pythonhosted.org/packages/f4/f1/72c5bc129fceb0d00f05dc1e67f518c1728de1928c55f81fc13d7690de39/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_31_riscv64.whl", hash = "sha256:f3377c8c2b3ce898423c5e5dd94c7982e30aa7717a7e6ab2470b9de364963709", size = 2245806, upload-time = "2026-10-11T18:34:48.805Z" },
+ { url = "https://files.pythonhosted.org/packages/28/2a/922a0e78f3aa6ab837b59f88190233fb8dad546c17995fde9bb3ed3b9b49/pydantic_core-2.50.1-cp315-cp315t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:455a773617b5913bf5c20d0692e5787b119e52c4d40ea644ca31f5758fd31be2", size = 2264160, upload-time = "2026-10-11T18:34:50.876Z" },
+ { url = "https://files.pythonhosted.org/packages/52/a8/0f1449e3e1b20941c9372faa18e7b6a092e30cdfa841902473f7989532ac/pydantic_core-2.50.1-cp315-cp315t-musllinux_1_1_aarch64.whl", hash = "sha256:1a9006395dece0e32e704c315eff8a00bede494f6108546cfc5539c89fef4f9a", size = 2294031, upload-time = "2026-10-11T18:34:52.876Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/d0/1031f492857de70355fb16524bbb03efce5fd34c93ed4a1ec60be07e0d4b/pydantic_core-2.50.1-cp315-cp315t-musllinux_1_1_armv7l.whl", hash = "sha256:d2d82aa62521c55ddfb000ae70f88cdd8de974078f6024e821dfe5addd0c818f", size = 2468423, upload-time = "2026-10-11T18:34:54.995Z" },
+ { url = "https://files.pythonhosted.org/packages/46/52/269ffffa645b8e47906395a39cf9db1151ae9fa4bcd7f47b960bc31baf37/pydantic_core-2.50.1-cp315-cp315t-musllinux_1_1_x86_64.whl", hash = "sha256:009634b83993777ddcd69cad0ffcace43dabde692109528e35f0fde91e386a8b", size = 2512598, upload-time = "2026-10-11T18:34:57.149Z" },
+ { url = "https://files.pythonhosted.org/packages/31/5c/e47e28281f20326ff6f3c31d626f0a83e615d2d94ba41bb0ad6ec237184a/pydantic_core-2.50.1-cp315-cp315t-win32.whl", hash = "sha256:3fde4fdc6487a58d944ca87cf5adc95d5f266e872c19599f5f4c0a8a1b1f9f9f", size = 2098535, upload-time = "2026-10-11T18:34:59.313Z" },
+ { url = "https://files.pythonhosted.org/packages/03/ad/759e181e69c1b472c60b2049e5f61d5da1deefdd5ce1df4bb2ebcf771f25/pydantic_core-2.50.1-cp315-cp315t-win_amd64.whl", hash = "sha256:1c8632d4ac04e6f91128fca584b3a8a507d81604c24eeaaad00d4be42765c32b", size = 2148645, upload-time = "2026-10-11T18:35:01.571Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/56/8a702c27e5be9f47e5f19d8669227424290e4c024e7c370279cbaf244b4e/pydantic_core-2.50.1-cp315-cp315t-win_arm64.whl", hash = "sha256:c3ede305158e75510be50869b319550ab072008c13d64d4ab1e094fb286b6f44", size = 2175297, upload-time = "2026-10-11T18:35:04.079Z" },
{ url = "https://files.pythonhosted.org/packages/e7/73/a23a327237d9bb985298ce47702e196f995ce850224c12c70886bd66bb5c/pydantic_core-2.50.1-graalpy311-graalpy242_311_native-macosx_10_12_x86_64.whl", hash = "sha256:062e891facce5ca296a1c37098e5e466780457f86413894b399f0cf22934f769", size = 2162560, upload-time = "2026-10-11T18:35:06.274Z" },
{ url = "https://files.pythonhosted.org/packages/df/b2/33b37b5e82408f402a5e82649a43e7c95cd5dab7beaeef2c35cedbfd18f2/pydantic_core-2.50.1-graalpy311-graalpy242_311_native-macosx_11_0_arm64.whl", hash = "sha256:49c2cbb2397fe4d0987e84606e691af6cb87bc0ee1bd3e7b737f7e10b4c142f9", size = 2075250, upload-time = "2026-10-11T18:35:08.455Z" },
{ url = "https://files.pythonhosted.org/packages/04/62/c7d5b9249466ccab90f3ce4790c2399dbfb8172ae9e74a7753dd295fe65a/pydantic_core-2.50.1-graalpy311-graalpy242_311_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9e4472072de0137ee0d8e72d6620e85939c271d2f90f6bbb4b15c24638b79f92", size = 2107891, upload-time = "2026-10-11T18:35:10.918Z" },
@@ -2349,9 +2184,6 @@ wheels = [
name = "pyjwt"
version = "2.15.1"
source = { registry = "https://pypi.org/simple" }
-dependencies = [
- { name = "typing-extensions", marker = "python_full_version < '3.11'" },
-]
sdist = { url = "https://files.pythonhosted.org/packages/43/ea/5194e52748b0da83d71e082d75496eaec6e58f419f5e184786ded517e6a9/pyjwt-2.15.1.tar.gz", hash = "sha256:4f259e80cdfb6b3fc18a7de51fd1ef9ec79652f25019bae68975ca2468a34df8", size = 121252, upload-time = "2026-09-28T18:40:42.598Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/50/ca/44de4e75f8aadc457f0634be3b542815078ded46dca30efb960edeecad6e/pyjwt-2.15.1-py3-none-any.whl", hash = "sha256:42d59d631f7768a1028a64c7ff581a9bf7519804daf91fc5b6c56e30eec5e193", size = 33860, upload-time = "2026-09-28T18:40:41.429Z" },
@@ -2385,12 +2217,10 @@ version = "9.2.0"
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 = "pygments" },
- { name = "tomli", marker = "python_full_version < '3.11'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/79/42/bb4641652e58dedeac2ec51abc1f8cae4fee4ec63899a0999016229a0f2a/pytest-9.2.0.tar.gz", hash = "sha256:97c4f3b1f3c7414aa36465e09b8220f1d03627993bd51b1282e193753c80557b", size = 1797555, upload-time = "2026-10-27T21:30:20.728Z" }
wheels = [
@@ -2402,7 +2232,6 @@ name = "pytest-asyncio"
version = "1.4.1"
source = { registry = "https://pypi.org/simple" }
dependencies = [
- { name = "backports-asyncio-runner", marker = "python_full_version < '3.11'" },
{ name = "pytest" },
{ name = "typing-extensions", marker = "python_full_version < '3.13'" },
]
@@ -2445,7 +2274,6 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "pytest" },
{ name = "python-dotenv" },
- { name = "tomli", marker = "python_full_version < '3.11'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/32/72/d3e125d18f798b2968430b77dba991c69df354ec649db4c1480ac9bc2ab4/pytest_env-1.7.1.tar.gz", hash = "sha256:f2c5aed2621dbfc73c2866a710e2e456409495c5ac10905612c9509b3ee631a2", size = 17091, upload-time = "2026-09-08T14:49:44.487Z" }
wheels = [
@@ -2544,8 +2372,7 @@ name = "python-discovery"
version = "1.6.4"
source = { registry = "https://pypi.org/simple" }
dependencies = [
- { name = "filelock", version = "4.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
- { name = "filelock", version = "4.2.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
+ { name = "filelock" },
]
sdist = { url = "https://files.pythonhosted.org/packages/f3/ee/cf608372c88ce2c136ee13c69ab6f667dbc0d0c1176af188b4ddc8853e66/python_discovery-1.6.4.tar.gz", hash = "sha256:bc70d31f0ec5de11eda13d4d64c16e24b3506a65984684f2b6c98cb83b2ea9df", size = 89883, upload-time = "2026-10-19T01:45:14.855Z" }
wheels = [
@@ -2579,15 +2406,6 @@ version = "6.0.3"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/f4/a0/39350dd17dd6d6c6507025c0e53aef67a9293a6d37d3511f23ea510d5800/pyyaml-6.0.3-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b", size = 184227, upload-time = "2025-09-25T21:31:46.04Z" },
- { url = "https://files.pythonhosted.org/packages/05/14/52d505b5c59ce73244f59c7a50ecf47093ce4765f116cdb98286a71eeca2/pyyaml-6.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:02ea2dfa234451bbb8772601d7b8e426c2bfa197136796224e50e35a78777956", size = 174019, upload-time = "2025-09-25T21:31:47.706Z" },
- { url = "https://files.pythonhosted.org/packages/43/f7/0e6a5ae5599c838c696adb4e6330a59f463265bfa1e116cfd1fbb0abaaae/pyyaml-6.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b30236e45cf30d2b8e7b3e85881719e98507abed1011bf463a8fa23e9c3e98a8", size = 740646, upload-time = "2025-09-25T21:31:49.21Z" },
- { url = "https://files.pythonhosted.org/packages/2f/3a/61b9db1d28f00f8fd0ae760459a5c4bf1b941baf714e207b6eb0657d2578/pyyaml-6.0.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:66291b10affd76d76f54fad28e22e51719ef9ba22b29e1d7d03d6777a9174198", size = 840793, upload-time = "2025-09-25T21:31:50.735Z" },
- { url = "https://files.pythonhosted.org/packages/7a/1e/7acc4f0e74c4b3d9531e24739e0ab832a5edf40e64fbae1a9c01941cabd7/pyyaml-6.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9c7708761fccb9397fe64bbc0395abcae8c4bf7b0eac081e12b809bf47700d0b", size = 770293, upload-time = "2025-09-25T21:31:51.828Z" },
- { url = "https://files.pythonhosted.org/packages/8b/ef/abd085f06853af0cd59fa5f913d61a8eab65d7639ff2a658d18a25d6a89d/pyyaml-6.0.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:418cf3f2111bc80e0933b2cd8cd04f286338bb88bdc7bc8e6dd775ebde60b5e0", size = 732872, upload-time = "2025-09-25T21:31:53.282Z" },
- { url = "https://files.pythonhosted.org/packages/1f/15/2bc9c8faf6450a8b3c9fc5448ed869c599c0a74ba2669772b1f3a0040180/pyyaml-6.0.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e0b74767e5f8c593e8c9b5912019159ed0533c70051e9cce3e8b6aa699fcd69", size = 758828, upload-time = "2025-09-25T21:31:54.807Z" },
- { url = "https://files.pythonhosted.org/packages/a3/00/531e92e88c00f4333ce359e50c19b8d1de9fe8d581b1534e35ccfbc5f393/pyyaml-6.0.3-cp310-cp310-win32.whl", hash = "sha256:28c8d926f98f432f88adc23edf2e6d4921ac26fb084b028c733d01868d19007e", size = 142415, upload-time = "2025-09-25T21:31:55.885Z" },
- { url = "https://files.pythonhosted.org/packages/2a/fa/926c003379b19fca39dd4634818b00dec6c62d87faf628d1394e137354d4/pyyaml-6.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:bdb2c67c6c1390b63c6ff89f210c8fd09d9a1217a465701eac7316313c915e4c", size = 158561, upload-time = "2025-09-25T21:31:57.406Z" },
{ url = "https://files.pythonhosted.org/packages/6d/16/a95b6757765b7b031c9374925bb718d55e0a9ba8a1b6a12d25962ea44347/pyyaml-6.0.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e", size = 185826, upload-time = "2025-09-25T21:31:58.655Z" },
{ url = "https://files.pythonhosted.org/packages/16/19/13de8e4377ed53079ee996e1ab0a9c33ec2faf808a4647b7b4c0d46dd239/pyyaml-6.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824", size = 175577, upload-time = "2025-09-25T21:32:00.088Z" },
{ url = "https://files.pythonhosted.org/packages/0c/62/d2eb46264d4b157dae1275b573017abec435397aa59cbcdab6fc978a8af4/pyyaml-6.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c", size = 775556, upload-time = "2025-09-25T21:32:01.31Z" },
@@ -2658,16 +2476,6 @@ dependencies = [
]
sdist = { url = "https://files.pythonhosted.org/packages/e7/8d/5b3d5631c2f4b4b8862f64cd0c9eb777b5710eeb5125b4be8dd0a200a4c0/pyzmq-27.2.0.tar.gz", hash = "sha256:54d4259d1bfae24ecdb5ca79f7acc2eac6c286a02d6a0ae617797cb45f0726d3", size = 292316, upload-time = "2026-08-20T19:08:21.19Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/38/de/c9d653d686ec686bac6ae5f953c784ffc4d2e4a33f9c20d0326aff549ca8/pyzmq-27.2.0-cp310-cp310-macosx_10_15_universal2.whl", hash = "sha256:480dba27b145373b5e103890f17969d891bc9e86746d6b8b29dd70b0d4addc62", size = 1458528, upload-time = "2026-08-20T19:06:11.455Z" },
- { url = "https://files.pythonhosted.org/packages/13/3a/e3ae8e56fdb87cefbef655dc1d808d5ac76eacf40af850c5d78fd81a7faf/pyzmq-27.2.0-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:722f0a6940be1a483c81029a271d950e04dc2ff113a42e21b3d2b7a0d8e59638", size = 985810, upload-time = "2026-08-20T19:06:13.409Z" },
- { url = "https://files.pythonhosted.org/packages/03/ee/0ace0abf6315f3f481388826f1e9218802d9b5bb4a01bae5ce42018c3b4e/pyzmq-27.2.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3ee556ed1cf836f96de9d5e545563116426d4a94f21b8041fdc79408eff18ebb", size = 713840, upload-time = "2026-08-20T19:06:14.85Z" },
- { url = "https://files.pythonhosted.org/packages/3b/fd/aee8c87f4854a012e232a6557b1167b6cd207506f59f378954b2d8bb6ed1/pyzmq-27.2.0-cp310-cp310-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d64da42cae09e6b0c61368b4cc8ca80f23ce3af17584d08053f3dc957433d5ed", size = 888214, upload-time = "2026-08-20T19:06:16.295Z" },
- { url = "https://files.pythonhosted.org/packages/94/2f/9be34eab874a26aa91315be0b27f94d43d35dad544cbdf28bcd41691afb2/pyzmq-27.2.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:376981d106598beb70be384f44d8f589832fd0051d184d38d10043da3cc3b080", size = 1705252, upload-time = "2026-08-20T19:06:17.89Z" },
- { url = "https://files.pythonhosted.org/packages/7f/26/362344e337d6b5905d65d0c205e91090b39b3b5a59ec9b84dbe88a5dd60c/pyzmq-27.2.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:40d96cb7a8f6a43aa9617c00215c2b73e1b5e4a1d6cbc9f5860ed7ac682599f0", size = 2075298, upload-time = "2026-08-20T19:06:19.27Z" },
- { url = "https://files.pythonhosted.org/packages/1d/ee/3b76b91e2bb8c5c12f8ae9ee553eb6254ba0bb048c2f0dea7d945420a0d3/pyzmq-27.2.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:4ebc7889b31bc11c72e9f17ba3ebb0a8b0911cce413f41b498e55383a94819a3", size = 1926812, upload-time = "2026-08-20T19:06:20.621Z" },
- { url = "https://files.pythonhosted.org/packages/9e/ae/83d0740f125a6ef91d5ed29e560679e4c5beeaa3ab1fc87e5fe1128c296d/pyzmq-27.2.0-cp310-cp310-win32.whl", hash = "sha256:650c6cd7cb39a069e7048261efe66fce8bf2e0052c831a7a099b7a0f2ea860d7", size = 571057, upload-time = "2026-08-20T19:06:22.078Z" },
- { url = "https://files.pythonhosted.org/packages/ce/b3/3e99a7af1c25e84f68c6c7b16c51b664dd51e12d0bc3d252a48d298e9a08/pyzmq-27.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:82a09aa67871d4f2fcafd47bf670fb93210b232a7c2d4b8a54676314edf04033", size = 643232, upload-time = "2026-08-20T19:06:23.431Z" },
- { url = "https://files.pythonhosted.org/packages/06/cb/785d002a08e630807141b102fd2740cc11623c366bb4606465450bd12e03/pyzmq-27.2.0-cp310-cp310-win_arm64.whl", hash = "sha256:bad4813f270592cedf56977e31ac1fc374fb0f6f67ea5134a5e37c19cb429a8e", size = 567590, upload-time = "2026-08-20T19:06:24.664Z" },
{ url = "https://files.pythonhosted.org/packages/1d/2e/8897afa4538707d86645f51cc50e66b2b84900edb1be9dc9af2c2fc04e5d/pyzmq-27.2.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:9216132843d139a123f243c07fe70f7487dce5041093dd77040f9adb5dc91872", size = 1457109, upload-time = "2026-08-20T19:06:26.022Z" },
{ url = "https://files.pythonhosted.org/packages/d1/bc/dbce7bc1654fa25b1e68b9bad9e547906f581ce919c186a88ed951cb794c/pyzmq-27.2.0-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:d41ebb260b69329b7d4a2936d44c872c86dd785355b51366c8b14e07ed7e9373", size = 985701, upload-time = "2026-08-20T19:06:27.481Z" },
{ url = "https://files.pythonhosted.org/packages/95/cf/6981738b57c83fef33f356141ad83bf51e92f2f70c9d5767affd1a699f07/pyzmq-27.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:468139ddb2e494d06e586bd3a6835077e8b3764560c8db552fe685c5867fc24e", size = 714285, upload-time = "2026-08-20T19:06:28.962Z" },
@@ -2703,12 +2511,18 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/36/81/ea1c1ae3f801d96ba2c269e056761ebcfe023476e651d3af2a7817962051/pyzmq-27.2.0-cp314-cp314t-win32.whl", hash = "sha256:fba8afcf265c6e9fbe1594cb045d4765c6c9a7d607653a8196067ef23566b843", size = 591103, upload-time = "2026-08-20T19:07:13.451Z" },
{ url = "https://files.pythonhosted.org/packages/8a/04/149a627707e780fa9f2c1ede3590c14fa6b18b5576d15744342622299a50/pyzmq-27.2.0-cp314-cp314t-win_amd64.whl", hash = "sha256:d1bc1d380a91d954ed5fc9f12915dba014eed0978d2de05ee7ca688bdaac144a", size = 670215, upload-time = "2026-08-20T19:07:15.069Z" },
{ url = "https://files.pythonhosted.org/packages/30/ba/f9c3c1536c41ef3dbf765ea04218990e2056e558f98184ecd883767fc501/pyzmq-27.2.0-cp314-cp314t-win_arm64.whl", hash = "sha256:c7cfb75caa83f5153c687e9d2107f64b5ef0ef0d6edd260d3ff920baaaa69101", size = 582252, upload-time = "2026-08-20T19:07:16.582Z" },
- { url = "https://files.pythonhosted.org/packages/8c/26/1a7cd2d8e4e3c27d83a46960e22101b69f527843be140cb3375267aa8ca6/pyzmq-27.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:770a37f28ddfbe1d2c40a2e3ce37e5fd10831daa6ae9634105aa8a5d23507b00", size = 875015, upload-time = "2026-08-20T19:07:52.084Z" },
- { url = "https://files.pythonhosted.org/packages/b8/ed/c8daf770ca31eb293bef40f801f05148e0a96ad538d55ec3bceb226c91ec/pyzmq-27.2.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:b398c5fe102b41e1559f7ffdae760aabd5f432d73b047b4ae0eac4e01cb594d2", size = 774400, upload-time = "2026-08-20T19:07:53.596Z" },
- { url = "https://files.pythonhosted.org/packages/64/6f/b958b0785eb15ab7a78913e3df8de705dbf226ce1d0004998fa4872bdd59/pyzmq-27.2.0-pp310-pypy310_pp73-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:0e1af01858d6dc0c09cea57f9cb1ddf4601f04897b6bb1efc3a2038123c87d79", size = 877993, upload-time = "2026-08-20T19:07:55.192Z" },
- { url = "https://files.pythonhosted.org/packages/2d/5a/7a070d0e9911441061402013f0c64e5772ee781704c5dae093e6b051c6f6/pyzmq-27.2.0-pp310-pypy310_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:211350c3ccd4746bc5a85e8fe961bad1f7f2f274f67cf1f785fad7f96f562eea", size = 614493, upload-time = "2026-08-20T19:07:56.77Z" },
- { url = "https://files.pythonhosted.org/packages/b3/28/833485224e1bd8960cbf3539db465ab2bf23b50de885dc4225a637480539/pyzmq-27.2.0-pp310-pypy310_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dde5e291548ca0f397623b5e523db5c90172b32aa4fd3ba464a79ea31a580b43", size = 780573, upload-time = "2026-08-20T19:07:58.18Z" },
- { url = "https://files.pythonhosted.org/packages/90/8e/52239b9b5fe4f9cf77e272e6a8c548c01ba407d08d3aeeb3220816669ef1/pyzmq-27.2.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:94242bd4de6af7e74665e14a88630bccd615057f6acfaf08a3a432551d604645", size = 553963, upload-time = "2026-08-20T19:08:00.015Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/00/78fe097a304a408275747ce43f20428789130b059c5649956277c20f30cf/pyzmq-27.2.0-cp315-cp315-android_24_arm64_v8a.whl", hash = "sha256:c5129a8fe43ecc49b99eb75616603d483a3c2fcaef504988fafe8ea392aea98b", size = 1134295, upload-time = "2026-08-20T19:07:17.94Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/83/1c36270658d2ee56e23a3f9ef5fbcb94cbd2f9fe966a6641f2f38e697162/pyzmq-27.2.0-cp315-cp315-android_24_x86_64.whl", hash = "sha256:baa2ce3485145653194d6c8c5beedd1e9f0bf46a0919c9fa2fe2204fc35b74d9", size = 1167492, upload-time = "2026-08-20T19:07:19.476Z" },
+ { url = "https://files.pythonhosted.org/packages/58/b2/f0ae223438d7faa991f6feefdc823815f11cc604f898738376b59fd96515/pyzmq-27.2.0-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:e1ed46048d1920cabc96d952a0d5cfe4127ad8db572c335aae4e3c57b9278d7f", size = 1465992, upload-time = "2026-08-20T19:07:20.941Z" },
+ { url = "https://files.pythonhosted.org/packages/59/46/fb56f3f37a6a0937b0e1d2885e808b5eedc171320bac85573cfae78fa9bc/pyzmq-27.2.0-cp315-cp315t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:e0fa0bc6b1a184aee59b32efcd1b7f0e6d5b8f9387799e4c16a4cb66a86747d6", size = 976118, upload-time = "2026-08-20T19:07:22.577Z" },
+ { url = "https://files.pythonhosted.org/packages/21/82/a2c9bfd7c4d34eea1278493cd041bc000d41acb4463c89ceaad29dc813b6/pyzmq-27.2.0-cp315-cp315t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0f4bd6743e8bf854c3bfce892dd6578a514aabf128e37a4b2eafcf01856f7e44", size = 705968, upload-time = "2026-08-20T19:07:24.019Z" },
+ { url = "https://files.pythonhosted.org/packages/d6/12/b906b269116b6591dc15c0acc5d04c043957c8a531d336999731f4b1d899/pyzmq-27.2.0-cp315-cp315t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:95369ed6626afcfe2ac89832fb1b917c077fbeb905fbbe5d918349ce0222b89b", size = 879011, upload-time = "2026-08-20T19:07:25.428Z" },
+ { url = "https://files.pythonhosted.org/packages/12/13/f96359534bfb77651c15f1fbfc4bfdd7ec3489d23f434706d39598dd0dcd/pyzmq-27.2.0-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:40124779c3a56ad5d91902df1ff89159cb414b6c1a0ee697abcc66cf5e6db62d", size = 1697496, upload-time = "2026-08-20T19:07:26.821Z" },
+ { url = "https://files.pythonhosted.org/packages/21/b4/2c007ae5f2fe5eca86cbfbc874ed86b5135f2f7812615dfd78606d3c93f6/pyzmq-27.2.0-cp315-cp315t-musllinux_1_2_i686.whl", hash = "sha256:ec8a318dfc27c7d946651b3d9e8025d5734f30c168a822195601827207bac09b", size = 2064347, upload-time = "2026-08-20T19:07:28.315Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/88/767af3a6630c15215f3a66700ec79598a375edd1fdc9d75a3ad522178c01/pyzmq-27.2.0-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:88c0fac061bac269076edeb3a209acefc96cd6167c239daf1c2b404ac48d7012", size = 1917360, upload-time = "2026-08-20T19:07:29.693Z" },
+ { url = "https://files.pythonhosted.org/packages/35/c1/80dd2d20d6e57bc68e1dce1e84bf3e76c9577c1bf728199985c8b4ea0fd1/pyzmq-27.2.0-cp315-cp315t-win32.whl", hash = "sha256:ac126d48cf18aa955daabef43bf0009ff76ad4deee437d09ecf15388214b5beb", size = 591073, upload-time = "2026-08-20T19:07:31.341Z" },
+ { url = "https://files.pythonhosted.org/packages/f8/b5/33b781666f3f52ae834bc9c8e38f4f0483a826c5a91cccc993292007bf10/pyzmq-27.2.0-cp315-cp315t-win_amd64.whl", hash = "sha256:edce90a1e588ec63adbf612cc0ad582de4169cd216c7ae53c15f42a2ee902f35", size = 670701, upload-time = "2026-08-20T19:07:32.895Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/97/bc4f0edefb992df4fdebcf9f0cc40f631cd4ed277e1ed59ef2cd99a5c8c5/pyzmq-27.2.0-cp315-cp315t-win_arm64.whl", hash = "sha256:a843094b4d3d633bc3623e47a2ff50742d6af02bc1f7606aa2e67e971e21878d", size = 581985, upload-time = "2026-08-20T19:07:34.19Z" },
{ url = "https://files.pythonhosted.org/packages/93/22/7187a1f0bf2b8bf8dc6b91762438fb9b472f684f2dc4cb74a24bf8957943/pyzmq-27.2.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a7c1144dc61777938e932a2c9011b980b89fd8ff3733033b34c44c299187a6e1", size = 875015, upload-time = "2026-08-20T19:08:01.692Z" },
{ url = "https://files.pythonhosted.org/packages/92/71/09b71620ad52bad4eb68b1516978ecaf52ef623c3fa16e0732a03cf3274c/pyzmq-27.2.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:c218b816220d05acf6ab1bafca58926d95cbcc5fec5024724666030466308f0c", size = 774395, upload-time = "2026-08-20T19:08:03.108Z" },
{ url = "https://files.pythonhosted.org/packages/9c/cf/5c8eb9994a14ff5ee5b0cada339421748746c95aee0280c8b656741e8749/pyzmq-27.2.0-pp311-pypy311_pp73-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:ae6ebbc0bfe5a21ce21e32ba567bf73df2d93888109c65acbd42506cf9395759", size = 877994, upload-time = "2026-08-20T19:08:04.724Z" },
@@ -2719,101 +2533,97 @@ wheels = [
[[package]]
name = "radixtarget"
-version = "4.2.0"
-source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/07/0f/f581bd64b2b1cff364fa94539ee6e99924ff28ceb017ddc819aa7deff9a0/radixtarget-4.2.0.tar.gz", hash = "sha256:c6ba17832edeed75d63ce605327b79a2ed9b24a4a5eae9c1b1419adbdbfaf839", size = 703140, upload-time = "2025-12-16T18:44:00.747Z" }
-wheels = [
- { url = "https://files.pythonhosted.org/packages/1c/f5/551f8df0744fbed27d42f48e1aae3e8fe8ed4dcbb21310ad0eebca49019b/radixtarget-4.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5aa0d14f3c1df46fbd81ddc58df1bc376e6a22610e1491b6fb485b0ca1959977", size = 525953, upload-time = "2025-12-16T18:47:58.819Z" },
- { url = "https://files.pythonhosted.org/packages/66/5f/64a17cc53cdc094e7aa09c84f02891627cd00d0272a09424c8a7360718fa/radixtarget-4.2.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3cbfafea3ff152c7ed5f9731657caad6e0b3556b6cbb9fbad89b0c483630a2c1", size = 536305, upload-time = "2025-12-16T18:48:10.509Z" },
- { url = "https://files.pythonhosted.org/packages/29/4a/2f91713e7cb651188f31038fcb61a9af8ff1a7e7463ba8819846f0ae6642/radixtarget-4.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44af119000a99be3851e56d545d75d6e12c683c9966950320cb1a2ccf1333cc0", size = 711324, upload-time = "2025-12-16T18:48:23.324Z" },
- { url = "https://files.pythonhosted.org/packages/8d/91/b07232578100307f1a3ad15b7108823691429968e9b26185d3ac8a587f23/radixtarget-4.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ba8c8349aca622b722b62c766a298883ac0495a259768e8753b2aa4b1f7073cb", size = 561546, upload-time = "2025-12-16T18:48:34.563Z" },
- { url = "https://files.pythonhosted.org/packages/71/8d/bc63c8d89b6092f749db2eb6cbc380dfdda140b82e1cb155a2f09077e837/radixtarget-4.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b83b17269cbeeb5c87c53f36c850ab35e50e45290b5da14c9f1d5bf93dd4573c", size = 532511, upload-time = "2025-12-16T18:48:55.502Z" },
- { url = "https://files.pythonhosted.org/packages/bb/5a/06c63a9659a21db2043812a276cb61e85343627039dabd1544b772b1200d/radixtarget-4.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e0ba767a789a5d7a9b3b6f054bd2b3b2a627db8cbe1de11d837e06f4bad40472", size = 561009, upload-time = "2025-12-16T18:48:45.839Z" },
- { url = "https://files.pythonhosted.org/packages/ff/f3/092c899d35889b9e3796400fdcd4e25ee50a1c6e908b010a6e6956efd1b9/radixtarget-4.2.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b59066e196ed402f30b0df70a243734f4fabd67324bdedec5e130409c55d606a", size = 708927, upload-time = "2025-12-16T18:49:14.091Z" },
- { url = "https://files.pythonhosted.org/packages/f8/ff/6214504bf0fdd1f321d9c9d0e1850b6718cb94c81d49e73e75c7f3e7be1e/radixtarget-4.2.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:05efd8b2603e61818cdf5d89a43d2a0103c5e3574ab96b60a81b08ec4caa53dc", size = 807385, upload-time = "2025-12-16T18:49:26.575Z" },
- { url = "https://files.pythonhosted.org/packages/b2/c6/27b5f2f392312c81b355a8ee10d14fa15c8dea2db197c5206481d584bc01/radixtarget-4.2.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:7e354cf2e84732b631b87af1fe3555650fc9e21bd9618d425a277ab07a14ff87", size = 772106, upload-time = "2025-12-16T18:49:38.981Z" },
- { url = "https://files.pythonhosted.org/packages/54/83/1cfd3058e0da4d8172d10334e18af0b47317b652c5d33c57188634a3c95a/radixtarget-4.2.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:2d65164dff07141276e5ac758ba42df0378727ca51812b18b8e296bb68c1aa2b", size = 736298, upload-time = "2025-12-16T18:50:05.846Z" },
- { url = "https://files.pythonhosted.org/packages/2d/c6/ff526bfd19b6d1aac758e8c256996eef6162a80594293658f4119ff468bc/radixtarget-4.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:ed274b85d0bde14c4ba1e9efa753644b8b19170c61d66987d212e2463e14e9af", size = 378903, upload-time = "2025-12-16T18:50:34.057Z" },
- { url = "https://files.pythonhosted.org/packages/b6/d7/f855b8cf09f06e1a5806b6cca93592394ce4e79df2d00a76ae522bbf384b/radixtarget-4.2.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:bad895da09a580c944f050b506d752cf0350c3874bf42f84b517246b5a18649a", size = 497631, upload-time = "2025-12-16T18:49:09.338Z" },
- { url = "https://files.pythonhosted.org/packages/8f/6f/6413fd33eea0b22d2ed0db194bccffbef922c89e002f0d99befebc7354ed/radixtarget-4.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3dfb196f516a665194ad3f22e402a3c1fbbf9a8353a97fd3829273a77c9a0da1", size = 492115, upload-time = "2025-12-16T18:49:04.673Z" },
- { url = "https://files.pythonhosted.org/packages/70/23/e296772b5a811b8fbc2d224880166112c446cecc51b0774c0d71ec59462b/radixtarget-4.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0253d0852cfb736c3e484c6ac77a401689bcd4dbc1d128f743d90b12360f401f", size = 526063, upload-time = "2025-12-16T18:48:00.281Z" },
- { url = "https://files.pythonhosted.org/packages/e9/bc/da800929b5fc9456ef3221a19465806e7b85c0bb97118e8d2d9e27fe51ec/radixtarget-4.2.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:09b587a22cbf735d790db5bf6a116c0311c7502a568177345c2725d267430212", size = 536300, upload-time = "2025-12-16T18:48:11.575Z" },
- { url = "https://files.pythonhosted.org/packages/9b/62/6eaecc12148f9998f4d3237cd6ed4c23caf416ca90fa25147e92bf218aa0/radixtarget-4.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fe6160c5ac6f7c08c22d5b3a4dc9011e2b822906f157a7dc3ea9921f3a15ad15", size = 711722, upload-time = "2025-12-16T18:48:24.541Z" },
- { url = "https://files.pythonhosted.org/packages/4f/3d/54231188743f9aa731a1352b4104cdb48299c8def3750ef56c743a6ba3e9/radixtarget-4.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe042a589c4045607816dbf79bc41fcd9b421ce93b3e296612945ab46fe97f5a", size = 561534, upload-time = "2025-12-16T18:48:35.613Z" },
- { url = "https://files.pythonhosted.org/packages/9c/8d/fe45c6390bd825279ec57975acf86eca745dab5cae1797a9bc72ed29a6b2/radixtarget-4.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb243a1ebf4b089e830dcb6d08f96e751de0a116eb522677a42b5e4e9ec0e05c", size = 532615, upload-time = "2025-12-16T18:48:56.612Z" },
- { url = "https://files.pythonhosted.org/packages/3f/5c/e812eaea1ff3aa7394ed9df30d21e5f8643b7513b303b9be4949f10b0bf1/radixtarget-4.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:cb82132c07e43ef30e7687849a71c676e533f786373b6673d3e0f796614de6ec", size = 561252, upload-time = "2025-12-16T18:48:47.304Z" },
- { url = "https://files.pythonhosted.org/packages/68/d9/47de5b14f3fe3be5085267bfef75ba3af25cfe561584c8f275be672144a0/radixtarget-4.2.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b0df39424c81c946c1c6f11e2389b361644e418bf1bbc6a8b80c23d26607d278", size = 709082, upload-time = "2025-12-16T18:49:15.269Z" },
- { url = "https://files.pythonhosted.org/packages/25/56/18381cc7511db6a98957f83f420d20f3e158fc7e3b6085551ebfcbaf257c/radixtarget-4.2.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:581e0791229bfc4801af86405b62cb4f3eb41c5c68868151cb6c97b0ef32b685", size = 807210, upload-time = "2025-12-16T18:49:27.884Z" },
- { url = "https://files.pythonhosted.org/packages/58/6a/6d29f2e46be3acb30ea120efaa3e335c723db10f740e5091f2db825e8408/radixtarget-4.2.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:49797ad5db114e600372184ff7f79e1435613156f4cab67f5b7b32c2ac1cc291", size = 772474, upload-time = "2025-12-16T18:49:40.404Z" },
- { url = "https://files.pythonhosted.org/packages/bd/dd/2b4962600262e8137c0223aea7f8ac5979143735c30d371fce4fec123b68/radixtarget-4.2.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7eb702384f5e90e1b911f8d4f314e59030759a519fc14bcb2e37135091dd091f", size = 736455, upload-time = "2025-12-16T18:50:07.425Z" },
- { url = "https://files.pythonhosted.org/packages/b4/3f/d171081c15c2113a10a9b9a35eceea5c421a6d55d212fb3c5e6b112aae9f/radixtarget-4.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:0c515fcd99dd268f6b4e1eb21bbf14b6818c9c1317496c06bc3fd47790173b72", size = 378916, upload-time = "2025-12-16T18:50:36.406Z" },
- { url = "https://files.pythonhosted.org/packages/f2/f0/2dd66769df40ceed730ed50d00b06430c15dfe5ab7f02d07ee313826d9b3/radixtarget-4.2.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:d9d305119875ffda3af4e4cbb60ab3a3f44a618276edb6154de58bfb7fa2ce3f", size = 498895, upload-time = "2025-12-16T18:49:10.509Z" },
- { url = "https://files.pythonhosted.org/packages/e1/21/eaf70a8b7d5be07cb0722a495b7da227f9b6979e246c08af37174d70e972/radixtarget-4.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e5ddd4cee0a3e6640602f6695469b0ce86fb669eefe40db56a66982368ba5350", size = 490903, upload-time = "2025-12-16T18:49:05.829Z" },
- { url = "https://files.pythonhosted.org/packages/0c/27/a34161399043180158645aed3045c1f17b156eeb1e4518794cd5254ca568/radixtarget-4.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b23e10d2452f29fe09d3095ded30fdbc221b1acd10360e2a5f81856a756c4c73", size = 524748, upload-time = "2025-12-16T18:48:01.4Z" },
- { url = "https://files.pythonhosted.org/packages/ef/f8/0219eb4a010b90aeaf911ba030ac29189f9a71007cabbd1c7f1d63252562/radixtarget-4.2.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:75903eda31182dedc7e3342a8879f79709138829c20a8258279a4c7e78156c1d", size = 536507, upload-time = "2025-12-16T18:48:12.663Z" },
- { url = "https://files.pythonhosted.org/packages/99/5b/e7b6b3c00b380c6567551009e08662516bf653a2a7282a2b365921ca51ac/radixtarget-4.2.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a43eca0711a743dd897a5fef0aa513798ad12fae19553aaf24e18fd21fe96597", size = 708677, upload-time = "2025-12-16T18:48:25.691Z" },
- { url = "https://files.pythonhosted.org/packages/b8/4a/fc0c5eacaa977a6496967282c154da8b5798f5e8c0c705fea773e8a3ff58/radixtarget-4.2.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ec3ff6c8b447891921f5ecbedc8569053b16c0cc356fed731b99c470c20aebab", size = 560847, upload-time = "2025-12-16T18:48:36.773Z" },
- { url = "https://files.pythonhosted.org/packages/a8/37/0f952cb79dd99f90d750c39635206faa30f39b09e5cfdb3ae2f377e80044/radixtarget-4.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1d1119f57e74307abda2fd1a23e83c0338373214a539ab1286a88dda55b91f1", size = 531507, upload-time = "2025-12-16T18:48:57.943Z" },
- { url = "https://files.pythonhosted.org/packages/87/32/e9120cda5cd05e99835d7664e9fa4dddbf5fb57fc07d80ad46453ab38d7a/radixtarget-4.2.0-cp312-cp312-manylinux_2_34_x86_64.whl", hash = "sha256:76d46168ce9acc65abbe553b435ea113c65762a47148a8406142a2176c5e53bb", size = 461830, upload-time = "2025-12-16T18:43:59.227Z" },
- { url = "https://files.pythonhosted.org/packages/76/48/aeec382df32d2ad85905cf46096a1bfb6c067a7438cba06a8c7f549792dc/radixtarget-4.2.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:62eae4c069123ebd933b935339b4b19c477308ab308262e4a765e4dd7443077a", size = 559835, upload-time = "2025-12-16T18:48:48.951Z" },
- { url = "https://files.pythonhosted.org/packages/f4/81/8c00262b004228163104c2996a3629b6cf828b61b0282ab391b67a0d29ee/radixtarget-4.2.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:877f6a960a7309dcd9c2eb10fed4ca7e03c117fafbda8659e52bb082466ebb56", size = 707968, upload-time = "2025-12-16T18:49:16.908Z" },
- { url = "https://files.pythonhosted.org/packages/f1/f3/c4707fa238d6fa2b2eb16f83db4b7840a51cfeab667704980836158d4e52/radixtarget-4.2.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:d92109f94a916aac2fc04ee4c8f5a3f1a3ecb60df774d1febb2a8e1aa22d0694", size = 806824, upload-time = "2025-12-16T18:49:29.073Z" },
- { url = "https://files.pythonhosted.org/packages/0e/a6/6e9b8d2f50e9dd2402e568f03fe305767a4018764cb4903aa04c730fc243/radixtarget-4.2.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e70a00bc5f27d49c2c6aeda47adb776f639d503f726ef6cd484a917aa603d2a2", size = 771612, upload-time = "2025-12-16T18:49:56.618Z" },
- { url = "https://files.pythonhosted.org/packages/34/73/2a57c889a5bb209f265a6cb9734f119a69dc760684b586458de86de7fed2/radixtarget-4.2.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f38ef0281e4af7a5dc41a040b2adbe45202a2c904666d9ae141d53869f33db02", size = 735221, upload-time = "2025-12-16T18:50:08.746Z" },
- { url = "https://files.pythonhosted.org/packages/2f/fe/bfc926131d4d950aec8657aa0d7f7c6eff0d45690375245a61dc292abebd/radixtarget-4.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:dfd80f33aa21bbf30eba4a5482bdf4d5da7d6f231b6a1f7d55a99887cdc118d2", size = 379211, upload-time = "2025-12-16T18:50:37.713Z" },
- { url = "https://files.pythonhosted.org/packages/df/f3/becbfd7ecacee757c5cd41560ee2c044a2e8e19c0ad273e44f3ab9f38b02/radixtarget-4.2.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1b220ac0837d70837a59a1f1030c671ce4cf706ea9402268fea2effbba9a9e73", size = 498485, upload-time = "2025-12-16T18:49:11.679Z" },
- { url = "https://files.pythonhosted.org/packages/3e/e2/46a645929ea18c24f4690da321f3cf29f9be328e021b0a513c55a6dfdffa/radixtarget-4.2.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3dcac7b61bcbad700b0347c3aa930dcc85dc4cfc3d9432ce977737d11972b71c", size = 491313, upload-time = "2025-12-16T18:49:07.009Z" },
- { url = "https://files.pythonhosted.org/packages/50/68/1a5aaf605e2d194619931f95cf60c2d20e97437ff9a340aa765cfca08b2a/radixtarget-4.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c1a9ef464e354ff4cb6e9b81cbe7cae61614e7d08ed7c380b2345f3d87faa1d3", size = 524293, upload-time = "2025-12-16T18:48:02.827Z" },
- { url = "https://files.pythonhosted.org/packages/de/81/dec202a939bf0b066a3ad4cf8308948b401508575fc6c520400a09289fe9/radixtarget-4.2.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:96a0c97c84c347d3628ee825711b08a351b0ae8e1f7c37435f562fd64fe33ca9", size = 536159, upload-time = "2025-12-16T18:48:15.901Z" },
- { url = "https://files.pythonhosted.org/packages/b6/3b/3a634622a98c6db58e27f4ff49efa9d25bbdd73a9302e47ff3ea0d0d5082/radixtarget-4.2.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7a5f86e9b8805959ee7f66bd6a82d6a67e2087ece27a89ea135de5e80fe1aebb", size = 708628, upload-time = "2025-12-16T18:48:27.002Z" },
- { url = "https://files.pythonhosted.org/packages/b2/56/c347a34ded989e2ebcf388720d437e48b67c8c8ea4fcc2ed0579ccc68f58/radixtarget-4.2.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2ed8149e6effffa647a2c0341fba0a97d596de37351d28a354dd76bf6840292", size = 560428, upload-time = "2025-12-16T18:48:38.009Z" },
- { url = "https://files.pythonhosted.org/packages/81/8b/e462f93a8dd8c48e7e9c511aeebdcf924e1476e9ceb53c85e91e049e3d71/radixtarget-4.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6a81a575e771e360556c404352b3868abe3717265c53f243edeb6dc84416bb0b", size = 531269, upload-time = "2025-12-16T18:48:59.377Z" },
- { url = "https://files.pythonhosted.org/packages/9d/92/0709d70f497a0360e9a7db0387ba3dfa2ce43bcb9ecd0a8505a715d88106/radixtarget-4.2.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:17d6254b9449b12e249107340eb1b9f28cac224070cd075a5468e9683e974de3", size = 559408, upload-time = "2025-12-16T18:48:50.429Z" },
- { url = "https://files.pythonhosted.org/packages/30/a2/9817987f6b98cb6851b5744b9e86a917c3ca0775c8e8797c2edd85148d70/radixtarget-4.2.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:548cc66578feb9a5a4f6af6caab53e68bf5351f3d4361ab8d4f3646281a7fbd5", size = 707551, upload-time = "2025-12-16T18:49:18.38Z" },
- { url = "https://files.pythonhosted.org/packages/d6/a4/ac4c3ec42c2d12d3a1ca26b95bb652436957f7708562cca506976a18e2b3/radixtarget-4.2.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:a428ee5cd0ba7dabdd24311a697dee79a14a1719de1dad60e98cf1e5f2bdb083", size = 806347, upload-time = "2025-12-16T18:49:30.627Z" },
- { url = "https://files.pythonhosted.org/packages/c9/af/46f6d575a59dd60b686064f0bf62c97f78f5a797ef59505c78c54ef2f74b/radixtarget-4.2.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:82ed101dc5d8a7b3ec12de59b788683d3b40b862a5f83a4c094ad22a937b9f30", size = 771144, upload-time = "2025-12-16T18:49:57.992Z" },
- { url = "https://files.pythonhosted.org/packages/f9/ce/d1e83431bc68ae0cabdbc373cb985de5be03e3856baa0f2086c18f3be9d6/radixtarget-4.2.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2770e86a92220b08706b647cd00639c893f0c51cab413d748e129cfc2c49e362", size = 734990, upload-time = "2025-12-16T18:50:10.119Z" },
- { url = "https://files.pythonhosted.org/packages/99/2a/04996087bcba40b19094ce21593b53041d4bfc1bd1712f5416459cdb5b48/radixtarget-4.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:d5b99dca0b6177318396dc7170681f384241819491d0695eb8fc13e9bde5cf61", size = 378947, upload-time = "2025-12-16T18:50:39.214Z" },
- { url = "https://files.pythonhosted.org/packages/8a/b4/1b5d3a0cd7805edc15e03f6281ac7aeb3dd030dba77c9513e196949f15e1/radixtarget-4.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:653378321743c3e79471298e03929a345fff9450abba0f1495638355d1049d95", size = 522379, upload-time = "2025-12-16T18:48:03.938Z" },
- { url = "https://files.pythonhosted.org/packages/b0/79/83d3cf51a87ad6400d75a3ac25dd1c674fecdd9b05d3831768f7c8ffa53b/radixtarget-4.2.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8f515860a4a5e18022a7bbafdf36dff82b3614ede92008d52f1aa1664220dbd5", size = 533382, upload-time = "2025-12-16T18:48:16.982Z" },
- { url = "https://files.pythonhosted.org/packages/fb/40/ecb9eae445401566b3e9b61dec4c262ae19b98ae4c91aac4806665535e72/radixtarget-4.2.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7fca34e9c48e5a1c6d81849b185591a8b8e256c3e755a3d815951f5311880b73", size = 707425, upload-time = "2025-12-16T18:48:28.121Z" },
- { url = "https://files.pythonhosted.org/packages/f1/7b/ae9ff987841fc85663f3cd4377b7e259353a9f2c75f187706143ad31d105/radixtarget-4.2.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d7b939a7f1bd17f1e2257313a90ebb19ba10e7e59a0c5e5e113fedb882966684", size = 558296, upload-time = "2025-12-16T18:48:39.343Z" },
- { url = "https://files.pythonhosted.org/packages/35/b9/057d2d88941610d3492e104f6c656cd2da9d323325e27ced178f62044565/radixtarget-4.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:05915257e8ac3ee05812e411f1ae2c62851fd4986d84f8c26f44bc33a3fe1043", size = 704696, upload-time = "2025-12-16T18:49:19.645Z" },
- { url = "https://files.pythonhosted.org/packages/71/b5/871e0339af40eddee2373ca6eb9773f3bdc2757cdeb4347386376f4bc241/radixtarget-4.2.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:e67f5cd923de5d7aeb0688105cfcc2feedcfd3ba05310585ac0fa63f8ab2f634", size = 803127, upload-time = "2025-12-16T18:49:31.902Z" },
- { url = "https://files.pythonhosted.org/packages/95/57/be0c086ac255fe4d1ab75bdb5a5929233640408104843ca9e9b03faf3a7b/radixtarget-4.2.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:c9529b9fd3f0bed32b64f148859ba7832b75c26e582e4c1cc7586c315454c5b6", size = 768508, upload-time = "2025-12-16T18:49:59.317Z" },
- { url = "https://files.pythonhosted.org/packages/f5/e2/0e720d6022b6d9ace940798da70c3735c6b879698d83af60fb2282d81f6a/radixtarget-4.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4f90f1a8270600f3bdc2173757623e85e928815b091e1e145afa3032c26d40a3", size = 733015, upload-time = "2025-12-16T18:50:11.859Z" },
- { url = "https://files.pythonhosted.org/packages/16/fa/a595055e758b5e226bf234eb86f3ec5fbc1976e38e915d897d76fc31b84d/radixtarget-4.2.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:741c7d8833a88bd1305253acbe558920ee818be27fa1c1aea0e0fb3564e0936e", size = 495466, upload-time = "2025-12-16T18:49:12.882Z" },
- { url = "https://files.pythonhosted.org/packages/52/bd/1ae6b8e9609dffa00d3e2a1c4fa5f474c12eb60f2564a65e971928718dbd/radixtarget-4.2.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:33357489b71862dc63bf029a7803f5aee80466c2ca83b2120d8dea921d35f1e4", size = 487773, upload-time = "2025-12-16T18:49:08.173Z" },
- { url = "https://files.pythonhosted.org/packages/75/b6/72eb662c79e03a1f701ef0cad0272e6e90aab062a5c7ba2dd06322ebecbf/radixtarget-4.2.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:424611144171c5bff08f123d1b579800d0a7a987f1f28a065ecbfa40a4ff8a21", size = 523213, upload-time = "2025-12-16T18:48:05.016Z" },
- { url = "https://files.pythonhosted.org/packages/a7/44/9efe558f4bcaeee940568444cb87673b471f006e349520dcb730437fe0d2/radixtarget-4.2.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:79dc672f10299d5e95522382f4965d26e484916dba4ff44e4ab77e6d4fb80b9d", size = 533440, upload-time = "2025-12-16T18:48:18.18Z" },
- { url = "https://files.pythonhosted.org/packages/c1/f4/32035a5f9e55258611ecd16c7cb7f63e8ed8432b9f60b85f77950270aebc/radixtarget-4.2.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:84797ea9544bad786f1c0a233d5081418a76217821345b0f23e56fce713b7659", size = 706516, upload-time = "2025-12-16T18:48:29.573Z" },
- { url = "https://files.pythonhosted.org/packages/7d/49/8ed31f8e089b3aeb9ad14936fd0881530bd963fe6c64ebb40742e1d4ca8f/radixtarget-4.2.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a77c405240eb624970fb4194d498c23833fc404361dea167e614ca27b25f1b96", size = 559263, upload-time = "2025-12-16T18:48:40.624Z" },
- { url = "https://files.pythonhosted.org/packages/8e/f2/f71acd1ce0b4e2bb3c6fa71b60fe746676e39c205f7db01498edef1e1af9/radixtarget-4.2.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ed5064530dc2185f61f7e6a05b62bd55e20b764eb4c0b156f1c1dd06a538ec5", size = 529125, upload-time = "2025-12-16T18:49:00.662Z" },
- { url = "https://files.pythonhosted.org/packages/d1/3e/17ccc7ba7d7cda61411ec0166b19a98b54f924431e005811db4a081fd55f/radixtarget-4.2.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4f54893bd7ac2985c470b4edeea894661b762b4805e0c585a0a94a1d6155ea7b", size = 556447, upload-time = "2025-12-16T18:48:51.485Z" },
- { url = "https://files.pythonhosted.org/packages/48/c7/25987424b0e3e0c72ec7367b9403bca853fbe570328528223d0ca57494e1/radixtarget-4.2.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:3a57aea7d709049d2f55d633dda684d87316b962b7bf4a00fa2d3063023e8dd8", size = 705990, upload-time = "2025-12-16T18:49:20.854Z" },
- { url = "https://files.pythonhosted.org/packages/92/be/1f153fb4d57343baa978ffbff99c9f853e7959f966bb9d40308ebac8fffc/radixtarget-4.2.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:233a39a73e0c2b3341ffea438d8d4722d8b5287edaa5d5ddb778ced9d437c9d2", size = 803275, upload-time = "2025-12-16T18:49:33.406Z" },
- { url = "https://files.pythonhosted.org/packages/02/94/45f6b55bd57b8eee6b5a5d8882255364c3f7e1aabd45521178109da59fde/radixtarget-4.2.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:d75bf219fb61d0149164926c3901aa8bd0587ac63444edae846e650cd4af2a33", size = 768779, upload-time = "2025-12-16T18:50:00.582Z" },
- { url = "https://files.pythonhosted.org/packages/37/5b/92dd5e447f9ff20e4462f3a4ba37d1903f283cfb8b6ec2036a14899fefac/radixtarget-4.2.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:9041444da3bb83c1c6e82c44b33808490390ecbcacb35010f27248fd75d7ed70", size = 732662, upload-time = "2025-12-16T18:50:28.222Z" },
- { url = "https://files.pythonhosted.org/packages/51/59/987a5ee67627e8f4a8dd016d9c43fa3113a6991f0460a422e839fb93a460/radixtarget-4.2.0-cp314-cp314-win32.whl", hash = "sha256:6d3353b8e93c43841c94d1f1de8447cf4843acda3c0376aebc4c0249482e1869", size = 369629, upload-time = "2025-12-16T18:51:05.531Z" },
- { url = "https://files.pythonhosted.org/packages/ed/7b/bc78cfb2e46b16c265cf10fc746eb05d39079f04051c35554f74a4881429/radixtarget-4.2.0-cp314-cp314-win_amd64.whl", hash = "sha256:e6e8db75a7ba938e4fd4ff03f6768c0381ecf4e3d26d6252cf9f60e0e572d60b", size = 376294, upload-time = "2025-12-16T18:51:02.813Z" },
- { url = "https://files.pythonhosted.org/packages/0b/37/5334f46e8ebbfb533735624c2645276401feee66ddf3413e75376925c1b1/radixtarget-4.2.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:461936708cd075ea37946eef58b12fd198b031965c6e0c25f801b9fe3cf87974", size = 523072, upload-time = "2025-12-16T18:48:06.194Z" },
- { url = "https://files.pythonhosted.org/packages/30/96/9bf4388abc4a0f9afbaa0fd55d77b9fb206c9c43dcc49fe7b138a6f031ab/radixtarget-4.2.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6221e7ee00df05c6c2d28e86096d441e8f6a81f12edbfe38422f88b587fef891", size = 534222, upload-time = "2025-12-16T18:48:19.315Z" },
- { url = "https://files.pythonhosted.org/packages/c0/a7/f0f24ddd254d2f86a2ff13f37d9886df0e0c4500ff4f481d865d8a482aa4/radixtarget-4.2.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c1e55858a955ceb6946cebc5a1664cdfff682cf380e03015ac22f40a73785079", size = 706790, upload-time = "2025-12-16T18:48:30.763Z" },
- { url = "https://files.pythonhosted.org/packages/7a/d2/c28bc32796f703fb2ef78af374bd63c1e85cc19dc2dd1476f244646c3af4/radixtarget-4.2.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:773d317934ed1b3c86f808f80a4af4d3756b21a268173ad1ffd9b7505ec3fc73", size = 558637, upload-time = "2025-12-16T18:48:41.736Z" },
- { url = "https://files.pythonhosted.org/packages/74/9e/2ebde415856c066f9e51a07096153f2f9b9d130af4c28e051600976c5d88/radixtarget-4.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:f7bab59aac38f370c10845b7a1fb4335a9bd2bc3978cb81ce60e534f97373f86", size = 705271, upload-time = "2025-12-16T18:49:22.497Z" },
- { url = "https://files.pythonhosted.org/packages/5f/29/f23905191087e3cbc38c7328ad985daeec6753fc7812fab0b4525600e316/radixtarget-4.2.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:0bf49f4524f2b309e4d164f405336df116f257a80074cee669c5b5b51e8eb484", size = 804030, upload-time = "2025-12-16T18:49:34.625Z" },
- { url = "https://files.pythonhosted.org/packages/2d/ba/031cbbfdc807acb66e8183cf47ed7bc8a34c0ff8065ab52b913e86f7b44d/radixtarget-4.2.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:01dc45a2e24565f4f269bc724024fbefa9a12bd4f2b9c4d3542caa45ea3e4eb7", size = 768802, upload-time = "2025-12-16T18:50:01.834Z" },
- { url = "https://files.pythonhosted.org/packages/0f/e5/115fb6ab50682bb041e15dcb9c72e35e3868edc297f55799aa4404012c54/radixtarget-4.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:0a368e059ffba6e786f5552eb9b8638ad90195643074830314d8cec6f23f157c", size = 733430, upload-time = "2025-12-16T18:50:29.94Z" },
- { url = "https://files.pythonhosted.org/packages/af/9c/e79af1c408b008cde3054e408aec2f78ead5d754c96e392117ba5ef24cb2/radixtarget-4.2.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:858831b2b369d8973ddd927bd870c353a4386d0a517ab3855a2fc73f2f1b61cc", size = 527144, upload-time = "2025-12-16T18:48:09.392Z" },
- { url = "https://files.pythonhosted.org/packages/05/c8/2584c148a34a5df38024ef3296479b7a86de0b70d44956fcc395e72ad8aa/radixtarget-4.2.0-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d5a75d34f55009a4513dcb396b638ba7dba672d5eb107b7e9f0f0262b98775c4", size = 537302, upload-time = "2025-12-16T18:48:21.896Z" },
- { url = "https://files.pythonhosted.org/packages/62/81/0ebab51c21e24331b78471d1e10cf79b1f5df13a3f214d2d64db1be36111/radixtarget-4.2.0-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:92f908ec996f49686a35dec20d47a98f0b24648c5eacc24c1969cbb13595107c", size = 712638, upload-time = "2025-12-16T18:48:33.441Z" },
- { url = "https://files.pythonhosted.org/packages/3e/49/1e7cb866e724017a102f383ff0715424d77a76242b3793c562d1b2e13f3f/radixtarget-4.2.0-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d2499a664b78bca3b0536d8ac3d57dabdba1652c9c9e746979a743873f4edc19", size = 563931, upload-time = "2025-12-16T18:48:44.595Z" },
- { url = "https://files.pythonhosted.org/packages/97/39/a88a4d1f6d57fda78a9481e0955674ce079d4e5758d35e7e3e876b465aee/radixtarget-4.2.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:482b5b5c317bafb49fc1d9e5a648bddabb38dddec2be336545146d743d09622d", size = 533809, upload-time = "2025-12-16T18:49:03.476Z" },
- { url = "https://files.pythonhosted.org/packages/e0/1e/9b2c183e5d5def426945d3364cbb5c62968e5ed0a21d56eefd58b7d22cb0/radixtarget-4.2.0-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:886001cc5679657cc643aa94858ef1a989bdfb168f60122222a25d5c0b11e8d5", size = 562933, upload-time = "2025-12-16T18:48:54.038Z" },
- { url = "https://files.pythonhosted.org/packages/93/56/2e4b3ffc43aaefadce4b03a0ad525cd8663e520e63232174450da3a68177/radixtarget-4.2.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:9f230e01ee9333ca2202ced3a1e0d6ee24cdad698283b32c453ca1846762992f", size = 710660, upload-time = "2025-12-16T18:49:25.052Z" },
- { url = "https://files.pythonhosted.org/packages/21/75/80f1460e98697f90387782644ae83f0b6f14bde4d8bb24c50562bd95db8b/radixtarget-4.2.0-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl", hash = "sha256:4ef1b02bf1fb907e18403cb424b74b6ec05df6b103aba5e14768b6b208fd2e12", size = 808362, upload-time = "2025-12-16T18:49:37.195Z" },
- { url = "https://files.pythonhosted.org/packages/c9/dc/9ad890f8c48b1997a8b1a258c421a8014f963c7a883932a6a043d6e56670/radixtarget-4.2.0-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:d8160247559a35a4df41aa50c786afd0dbbd983e3071e815017e3fa62a64bc72", size = 773601, upload-time = "2025-12-16T18:50:04.521Z" },
- { url = "https://files.pythonhosted.org/packages/bb/47/a1bf30b4a047bfa6a1f97a679ebd5322d67cb16fc96cd9cddb2273d2cf10/radixtarget-4.2.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:c1f6d83716242d7b7a8463dca7d77f2b9be0edb7ea0f467917ee87e46ef658a6", size = 738037, upload-time = "2025-12-16T18:50:32.41Z" },
+version = "4.3.0"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/7f/b2/21ab05131cb326bb901cae081ff0fadbaaf2b5452314f0361aea18fe33bf/radixtarget-4.3.0.tar.gz", hash = "sha256:b879b39efe97a6399e7a3986f259d928c0f17e5f616444b7aae1589fcf413b71", size = 719049, upload-time = "2026-10-20T21:36:45.15Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/bc/8b/65d252ea7de59b96b9382f8934e3ed256a3816785749f3baf3afde71cd90/radixtarget-4.3.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:dc6f80f5138b2e4be80a7b2b9fae71be2f310b14873f5fbc4f2aea117697ccbe", size = 489089, upload-time = "2026-10-20T21:43:16.904Z" },
+ { url = "https://files.pythonhosted.org/packages/64/fd/4ff4588526b3f1929f6eab13e1fd50caf4f6ecb76499a4f4a45ecabca3e7/radixtarget-4.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3aa3017ba86cfad6e8486cf675eab85014275a52729e7e3a418f81dd11fd38d7", size = 488363, upload-time = "2026-10-20T21:43:09.035Z" },
+ { url = "https://files.pythonhosted.org/packages/58/44/f4a4c69def04dfd5897d66458eb4257395cfc4679c947f4dab41fc07ac6f/radixtarget-4.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b04c1fa9537859ebab2f952bae52e1ddfc54261f499a129d056362b706716061", size = 524738, upload-time = "2026-10-20T21:42:15.015Z" },
+ { url = "https://files.pythonhosted.org/packages/80/b6/03d7f7faef6a799977c9503b70130d96b5ffeaeac297197611f017bba2aa/radixtarget-4.3.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:99216e34d3f954690d8da34b55fc87f740210de0582f75f60eb50fd349076e4b", size = 532673, upload-time = "2026-10-20T21:42:23.581Z" },
+ { url = "https://files.pythonhosted.org/packages/21/8b/7c6d8b33710d1f438978b6ce8f26842a42099797f5883dd71b58d0e9a02b/radixtarget-4.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44f077f150a3c47d9aaeee7c1f971c9ded73a5473382f9ab6ccf78206d3e3b8b", size = 698252, upload-time = "2026-10-20T21:42:31.543Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/89/e24a4821c7671abebfe209b049d3af8c0bb0aac7571be2351316b960e83f/radixtarget-4.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c6ebfc7e2110d0a3ea69bdab6f8d3f485b50903e8e83c0315ac8e40a50e31db", size = 561389, upload-time = "2026-10-20T21:42:39.915Z" },
+ { url = "https://files.pythonhosted.org/packages/c5/a5/ce1decf84462b169c2791ae47ecdfe60cb36b98989cc2b531dd15ced521b/radixtarget-4.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:594f5738e3987a1b66a5f71e360677087cd7e13e5ddd67d4ab6b76450b8d94e0", size = 531300, upload-time = "2026-10-20T21:42:58.881Z" },
+ { url = "https://files.pythonhosted.org/packages/28/5c/c064b32331a48c7fb81a83dfcd87f2b9676cc4690211de9d5e0338e62ece/radixtarget-4.3.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c9bdb56696cc639ac632a460d5f080958ccdce674bfc3166c21618095e58961c", size = 557922, upload-time = "2026-10-20T21:42:47.982Z" },
+ { url = "https://files.pythonhosted.org/packages/14/72/fcd8e6bb2c099a02d7f1434e71a756a88e3ac38fb6a475ecdf279b4ef080/radixtarget-4.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f2615c6d0e53d35b0088564b49f2f078915b9e5fd92484af4126fc2c51e5b2b2", size = 702110, upload-time = "2026-10-20T21:43:24.383Z" },
+ { url = "https://files.pythonhosted.org/packages/cf/eb/f2e316b91ac5d038f426db6a6886a85b91aff344d3eb3996d54cc0c76489/radixtarget-4.3.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:fd5a81726a4f1b0e3a43f48754975afb2b0a2f2ae22cba3f8af3c883b4b8f6bf", size = 807986, upload-time = "2026-10-20T21:43:31.976Z" },
+ { url = "https://files.pythonhosted.org/packages/f7/ce/5a5bc4b82d77a0a5eedb59d5408a9ee3311150b249968ecd3f31750d8dec/radixtarget-4.3.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1812edad1503534f87be0442f0b86267d244b964e5f07ddaf63a1dbc29d0799a", size = 771407, upload-time = "2026-10-20T21:43:40.547Z" },
+ { url = "https://files.pythonhosted.org/packages/c1/d7/521a747349ce73998c19352950a9b74824b697d9b94570ddbda0f23caa71/radixtarget-4.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4ff9d0b4e747e90252c1e8e324c0f41d8a69d84e5087ca0c2f86dd3232f15124", size = 734635, upload-time = "2026-10-20T21:43:48.555Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/5e/2b413ee202821334f1a852153dbb01934271ca24aa050f49459b776f48a7/radixtarget-4.3.0-cp311-cp311-win32.whl", hash = "sha256:159af2ad78934a723d9b3a96d9838dcfa1d38d757a1cc46629aeb62b0290102d", size = 373574, upload-time = "2026-10-20T21:44:02.575Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/fa/bf4d3eac0bd70b7ae3fac1ca29e3d772f7b1a6166ac398298d93082433e9/radixtarget-4.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:fe3ce32afbeb0c2cc8508496947a9bb8251993654de2bd711e0f9c17fc355c96", size = 381243, upload-time = "2026-10-20T21:43:56.409Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/c1/4cf000e36be130fba8e56c800010a4f8ebca4f9f574317090b2a6ffd0111/radixtarget-4.3.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:0c14e35d4cc2ea42dfbe2df8ea63115555c269fea8bbaa548ca10590024ba757", size = 488792, upload-time = "2026-10-20T21:43:18.304Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/6f/533382edc61bdc45444a574f3c6b8acba1be654be22b7f3f75de0bc8d9b1/radixtarget-4.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1a107914773907c278eaf18f3cf57570726efa702d1a16bf740ffa5d2c874883", size = 485729, upload-time = "2026-10-20T21:43:10.326Z" },
+ { url = "https://files.pythonhosted.org/packages/27/46/29ce563e3a279084f32d5a585f6031060e0401b43b7261fa87b3ed74d8e6/radixtarget-4.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8287f1ceb7654dffc6a18de2c00a777c3bdc7f16de9cf065a51e97cb9dbe4d1", size = 522359, upload-time = "2026-10-20T21:42:16.313Z" },
+ { url = "https://files.pythonhosted.org/packages/42/04/d00bcd2ccbc211a2df455de261d2e70f463ea6233d83fec7e8fd4a5a3238/radixtarget-4.3.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9419092aa04dcbc8bcaf7c4d52068e314ce38dc106818d61c10496d33e40d8b2", size = 527762, upload-time = "2026-10-20T21:42:24.784Z" },
+ { url = "https://files.pythonhosted.org/packages/f6/cd/4466c4a733268e81707b1d9f4a66046d1f9d1c3070b582ef576b8e2720ad/radixtarget-4.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:da1c5f85200dbc2332068e7d86f81492fce56181c1eedc14305e356891a7853b", size = 694036, upload-time = "2026-10-20T21:42:33.048Z" },
+ { url = "https://files.pythonhosted.org/packages/85/72/81cd041f6801a1924cc9298bbf7ddc333036e0246836806e2aca31bb8823/radixtarget-4.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:64a7c85d479631e93e1d4d40f8df6cb80aba570b7110907772252f7043085f65", size = 560111, upload-time = "2026-10-20T21:42:41.141Z" },
+ { url = "https://files.pythonhosted.org/packages/05/d4/bbed629b7b8a2e8385fddf7a7e1689cce20676cf468bb6ca51f1c946048f/radixtarget-4.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0eb95293e8c2b5bbe92c61fd6f3f7328038abbe1e324f0c607aeefc80b1da5a2", size = 527829, upload-time = "2026-10-20T21:43:00.401Z" },
+ { url = "https://files.pythonhosted.org/packages/c8/6f/384cc93ddaead630fbde622127837aa49787cce032375c150505f12ac582/radixtarget-4.3.0-cp312-cp312-manylinux_2_34_x86_64.whl", hash = "sha256:1bd5d2bea813d019eab0943f4cd788042e44247a1be9f21fa6fb60e1faa76c7a", size = 478902, upload-time = "2026-10-20T21:36:43.171Z" },
+ { url = "https://files.pythonhosted.org/packages/35/c5/3230042518170d909d76ad3bc52f08ca5367386af901fe934e5daff1a777/radixtarget-4.3.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a760138f56551c3eae4ed9be2328ad2a769630ff09020f18e1882f3221f0d9eb", size = 553639, upload-time = "2026-10-20T21:42:49.071Z" },
+ { url = "https://files.pythonhosted.org/packages/15/9c/7fcc7eea5d05e0305e8716d279a15e894c4dfc115514708586579b26a5d1/radixtarget-4.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9d16ffa0e3e4e01cbea89ec8db7e3ac375b7dc229ea8f6fb1713d0d0f117248e", size = 699841, upload-time = "2026-10-20T21:43:25.874Z" },
+ { url = "https://files.pythonhosted.org/packages/4e/c4/947fccf2489e414ca9b403159961768d11b417a5894f8ef0127dd620247f/radixtarget-4.3.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:510afc1b48f5831dfe60e656c1ce727c1658a3b0fed056d9c0e34ee4c3c9a418", size = 803442, upload-time = "2026-10-20T21:43:33.586Z" },
+ { url = "https://files.pythonhosted.org/packages/2c/d0/5e4642818cce761e8e37fe242033b87c4f6c89e39c8a620bcf5032893be3/radixtarget-4.3.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0decfe35e42b13ea21f8581f50213293f88b75ab984e8b872bc5451781b6bb9c", size = 767120, upload-time = "2026-10-20T21:43:41.988Z" },
+ { url = "https://files.pythonhosted.org/packages/fb/f2/8b3f1d136468b817941fee27d944de50c12c226c8202a93082ef0cc81826/radixtarget-4.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:5619011509bd31b2758dbee97b01a69bf4f0007aaf3ed97e4094ba9c25110827", size = 732136, upload-time = "2026-10-20T21:43:49.858Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/78/4975928219f909454b3639a809b4f824c44edc5d9af39e6f6ca846f5c54b/radixtarget-4.3.0-cp312-cp312-win32.whl", hash = "sha256:0699e41269497b950f971baa187a831cd6f2d33795f6cb02845084ff308c5be3", size = 370549, upload-time = "2026-10-20T21:44:04.442Z" },
+ { url = "https://files.pythonhosted.org/packages/09/46/df393f74343438ff7ac3f48f254e9c8e2be50c2efa8859b79d33c19f96db/radixtarget-4.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:27cbd510f88d4029ac949b930ca5b4d1fa909c62aeef497c1e54fbeefe09d6c1", size = 378719, upload-time = "2026-10-20T21:43:57.693Z" },
+ { url = "https://files.pythonhosted.org/packages/46/9b/d5608c85bc55e3b86cb3adc55aaa31373acccdfe532607ec7a34270b6f24/radixtarget-4.3.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1c2990081c08acf3b3eaa4d37dba3ed61888dc944707fdd6bec75f90c3fbe690", size = 488161, upload-time = "2026-10-20T21:43:19.503Z" },
+ { url = "https://files.pythonhosted.org/packages/b1/28/f4bb9c8e0138a4aaedfaa3502241f6101530a6879cd9ad3fbcac23faae64/radixtarget-4.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:51a927026e0f08ebb1214d6c9d7385d783df2e4a04d168580dc29ea201a3c364", size = 484890, upload-time = "2026-10-20T21:43:11.511Z" },
+ { url = "https://files.pythonhosted.org/packages/03/2e/cbbfe02f15dea95d5085daed80a3820f9cab050a07ba1612715fac881231/radixtarget-4.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:680d9f5676a874cd0d4acf9d6460f7398e3cbf4af3cbc9bc4cfa8a7575654922", size = 522275, upload-time = "2026-10-20T21:42:17.513Z" },
+ { url = "https://files.pythonhosted.org/packages/5c/7a/e581acb35af6a9dba07735563e868368d95589b7e84dfb8577e52cda70fa/radixtarget-4.3.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a6c7dc5e26fd89e989e088d7be627693dfb7d3835cc3009279a6070eb9fae28f", size = 527680, upload-time = "2026-10-20T21:42:26.032Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/f6/0da562fcbb22e33d227c030fe6eaa131cbdb84862c0a989592abc0c28c54/radixtarget-4.3.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a0245dd99932ff7f67c65732250298a97a1dfca115741183b689efb4828b1570", size = 692944, upload-time = "2026-10-20T21:42:34.416Z" },
+ { url = "https://files.pythonhosted.org/packages/ec/2f/9a38093d7ad9577f697177a8ef08a044c5f00de539a9beb32354369c67d7/radixtarget-4.3.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ccb7d27790af7ba4daf2b1b3998381670d091335de35fcf96f39431971edb189", size = 559658, upload-time = "2026-10-20T21:42:42.334Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/3c/34959342ccc9280dcf14930737b7c8661d781d4806a1adda360e5b2cfc4d/radixtarget-4.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23bf5b85b86173f2a5e793bfeb805e5aa15c23c0c40b4f28041e572aa0c14ddd", size = 528214, upload-time = "2026-10-20T21:43:01.664Z" },
+ { url = "https://files.pythonhosted.org/packages/2c/92/bfcef0aadedcd6a028ef0a519abf51bd5ab16e93689fbfc09460055a0669/radixtarget-4.3.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5933e46fdc6b2e2e6416d2a88b5edc413a64f41a299874a3337503a1aad167ef", size = 553373, upload-time = "2026-10-20T21:42:50.183Z" },
+ { url = "https://files.pythonhosted.org/packages/60/f5/1d50b371073ff8b6ba85c35131292d35a96458c4709a93b0c50a5c50b359/radixtarget-4.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d29d2ac6c1425860e5d8f1edb7dab88f530add25537c30f04f7151ef8e098d95", size = 699383, upload-time = "2026-10-20T21:43:27.038Z" },
+ { url = "https://files.pythonhosted.org/packages/7f/cc/3338305bb60e47af28e88967a1c1b8c4081402fb62d5cb1e14086b49e1f5/radixtarget-4.3.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:c72da1e64608ccf4a944ff91b8f1a56d3d2422ff2a5a7c1b670979a7f118f7f4", size = 803320, upload-time = "2026-10-20T21:43:35.094Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/c2/74cb43e093aa32c6ca6ef66bc9ccf6611dad483d11c490e4333162570402/radixtarget-4.3.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:84b14718e17cc4b84b8c27fe5d0112ca9c30ea9466b7b911f008f609f0deddf3", size = 766607, upload-time = "2026-10-20T21:43:43.087Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/b0/b2432269f710fdd68250925c4d02e4623914dab769f1769c4cd3ae63d43d/radixtarget-4.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0b0581737b97fd41d5575f610fe73243d2e8c5bedffced7363537476dbeddf0c", size = 732243, upload-time = "2026-10-20T21:43:51.065Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/a2/31f882ef8383632ce23586349baf67233976239865ceceac404d05857235/radixtarget-4.3.0-cp313-cp313-win32.whl", hash = "sha256:c63e194a88ce9fb4037d45c4736a9857b4b7b23d43c8c13bc23e3eb1980e24d4", size = 370215, upload-time = "2026-10-20T21:44:05.701Z" },
+ { url = "https://files.pythonhosted.org/packages/21/82/472c3bf74b5b6a1b9f67f3e724b68768e038ef26e2b84c45febb71f10a9c/radixtarget-4.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:19845ffa9af202582b5ef151ded93d5f1a9b9624d291b0d7b4dc4a15e8f0ac49", size = 379270, upload-time = "2026-10-20T21:43:59.056Z" },
+ { url = "https://files.pythonhosted.org/packages/51/ab/33c23adc1425175bcc9d794eefa171184c7c18f12d69849167d99eda2727/radixtarget-4.3.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:6a2774d6327a79907bb3e6dc2418cb2357ae66e8bde598c0e8155ffed54549c9", size = 489850, upload-time = "2026-10-20T21:43:20.688Z" },
+ { url = "https://files.pythonhosted.org/packages/39/06/d58e88f15e882defa7c555e62a62e5aaacbf6288006de0c211df06a3d85e/radixtarget-4.3.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:9f0efd4ad55b337f0e332d94dc20d0036066165b370d3fdffe55a5772199a166", size = 486282, upload-time = "2026-10-20T21:43:12.706Z" },
+ { url = "https://files.pythonhosted.org/packages/22/99/d9283310db012121ca215ed942272c6f84f18f1043861615c3bef83a0e4f/radixtarget-4.3.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:07961511f61012732148d1c17521a804dae617bc83efa2ff12c1e8989efe0788", size = 523798, upload-time = "2026-10-20T21:42:19.532Z" },
+ { url = "https://files.pythonhosted.org/packages/27/cf/deb43fbdf54e97629890390d5d97780fcbbbca984e062f3976109ee1d5ad/radixtarget-4.3.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b2fd267c7839c1cdbb64764a9ee271dce67795454461f26afd66df46debc8fb1", size = 529467, upload-time = "2026-10-20T21:42:27.354Z" },
+ { url = "https://files.pythonhosted.org/packages/db/62/8f8defd51762d6f7c973c737f876ea4d5b3bd6f968752f1cd0d7cfd8ce40/radixtarget-4.3.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0dd4cb4a794f67e1901ef416336fb4f7a2ee917f09a225d0cad3ee9c964adf91", size = 693684, upload-time = "2026-10-20T21:42:36.011Z" },
+ { url = "https://files.pythonhosted.org/packages/8b/36/067435db8b63c9864f594e8683b2945a69dc30e74fb5977242081949f940/radixtarget-4.3.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3887ff89c29566f6398b2727df9641a7b671a7864e183d0c4465f8e99557da5b", size = 561437, upload-time = "2026-10-20T21:42:44.058Z" },
+ { url = "https://files.pythonhosted.org/packages/1b/24/104f9a01c4fdd77d2f2d8f2fcbbb983731eac400b0f002260b3118aa69c5/radixtarget-4.3.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b86a5a172a99cd709d733c8345a90179ab37c4156a7cb77e6d86c8544459722e", size = 529424, upload-time = "2026-10-20T21:43:02.962Z" },
+ { url = "https://files.pythonhosted.org/packages/03/b5/4638586d062c74940ff0568b1586bbe0379c296358801c2feb2e85165085/radixtarget-4.3.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1c637ffbadc8caa0ce396b62194f855cc23ec17e7b0ba8a3cdcf3afba1133638", size = 554472, upload-time = "2026-10-20T21:42:51.646Z" },
+ { url = "https://files.pythonhosted.org/packages/77/81/dc86208a4170fb196217527bd4b1c6933a35a1ed377ebb168fc4650817ec/radixtarget-4.3.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:2841ae8701b23f09b05a65fa1cf4aa073470104429083f065dbdcb43322f22d5", size = 700624, upload-time = "2026-10-20T21:43:28.309Z" },
+ { url = "https://files.pythonhosted.org/packages/45/85/49690c561f13316b7ba7f426f3be41752545a49c6330ed1c8f6739c9117f/radixtarget-4.3.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:986d313200c863e3411e75ecf01e8fd6ea61c8ca1846e454ffb28c24427c055c", size = 804653, upload-time = "2026-10-20T21:43:36.307Z" },
+ { url = "https://files.pythonhosted.org/packages/67/79/42717f4195f912695f0a9d2f32183d3ce94b36e834d679d9ea0747b62f61/radixtarget-4.3.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:62b0b5d6499da58bba66da818350dcb7f05097b7011609481acb3b65e4445c41", size = 767567, upload-time = "2026-10-20T21:43:44.313Z" },
+ { url = "https://files.pythonhosted.org/packages/96/8c/931db485c5a3e3d0d0d4cfefdf9ad9b7f1e5f957364a7df8edaafbbafc08/radixtarget-4.3.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:be6477b12b6ee461d799c109505687910e3716ad743740973971ce6b640d8999", size = 733244, upload-time = "2026-10-20T21:43:52.535Z" },
+ { url = "https://files.pythonhosted.org/packages/4d/98/db7862ad2e5f414602b785b741caf528f95161ea7b9a24bbadb0107c2d29/radixtarget-4.3.0-cp314-cp314-win32.whl", hash = "sha256:e94e269b26a0ea3747007dd040eb1170ea2dd976452c7bf5b40e79d1d8cf3678", size = 371342, upload-time = "2026-10-20T21:44:07.013Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/84/699bb6fe9d3f82ed6033407910fc4aaba3ce6d8357fe6001560ea2c3f2d4/radixtarget-4.3.0-cp314-cp314-win_amd64.whl", hash = "sha256:6d8ca21f4678a63827312a74c6e9c991aefd14873a058ad6520e5d97905ece53", size = 378990, upload-time = "2026-10-20T21:44:00.196Z" },
+ { url = "https://files.pythonhosted.org/packages/82/43/863eae794c6e72f3acc1343a0573e1f56cfbe2f9aa515daeec390824619c/radixtarget-4.3.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5bcd7aff6c31698ccfbb2b6c541d2455f938be6f93d3c285537af93126c77860", size = 522917, upload-time = "2026-10-20T21:42:20.883Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/11/8202b2aba67d24c7324a8afb55df6aab5551004d102fa354c1d963cd35d2/radixtarget-4.3.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:854d5acbb47d2351045cd79a59f0d6cef9fe80fcd8616ad0f60e7303df14f401", size = 531680, upload-time = "2026-10-20T21:42:28.954Z" },
+ { url = "https://files.pythonhosted.org/packages/6e/77/a0921e6625be25237042910e05811a40f2f486da1b3b15a9be5e19a67587/radixtarget-4.3.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1b61ae9b5fdb8391841eaa55e20cdb060bab8c29d1ebbbf5a9ee5dfe4ee6fb6e", size = 693582, upload-time = "2026-10-20T21:42:37.302Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/03/5fe550adcddcd2faa31b1f973e21bf43a105286f6ca0eccef81c99ff7c57/radixtarget-4.3.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4a7ee7b8321b31658db0ec76bbba0a14b4577908d47d563a6a4949c1c069a93f", size = 558975, upload-time = "2026-10-20T21:42:45.238Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/e1/8e39ae22ba1de2a2aa221cf0fa56a96ac1689a6d7dc98011bfb47fbdf5fd/radixtarget-4.3.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3821d26b68a992084b931d0b57d0417b02181de5c69b19a44a4d207e8bcf3e9", size = 529213, upload-time = "2026-10-20T21:43:04.275Z" },
+ { url = "https://files.pythonhosted.org/packages/e8/44/abad98b2a04225a33a506d41c8b75563b2b7c82801632d4fd838d75038df/radixtarget-4.3.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f57ac4944f33f913a8eceb9b7e6934d472bed2a5053cbd479dc08456c9f20a68", size = 556065, upload-time = "2026-10-20T21:42:53.23Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/f6/35e849a6ef4e0849dbbbefc77234b8d8b0f231e4ac44935d4c87af69d4ac/radixtarget-4.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:2cf0957a63a371c833a5a31cc12fb993bfa36175b2e05e5978a057b3dcf34d86", size = 700108, upload-time = "2026-10-20T21:43:29.625Z" },
+ { url = "https://files.pythonhosted.org/packages/59/f2/49cbaed10daccb025f0451d33bbf5b58115ab01c15d95885be1368fb9639/radixtarget-4.3.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:6ae7bc4b5cf27caa737016f0bce0d4a12fed78b2bc07af49ca9b71af5d576056", size = 806857, upload-time = "2026-10-20T21:43:37.553Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/22/4d5a2d7b0f715e5eff0cd854ba53a7a0325b03bf4fd1d4c98fdd9f6f469b/radixtarget-4.3.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:e90076d7d11516ccf43dcfb045b526b094cc76456db3511798c5125dbe3e539a", size = 769369, upload-time = "2026-10-20T21:43:45.7Z" },
+ { url = "https://files.pythonhosted.org/packages/73/f1/0391e6f847ef9d22e47fddfa0c0adf8c34769e4892cd736644a050522d3e/radixtarget-4.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f2dff405f68bfe7915652a38f351dcd2c5abf4c2925e83da9f0abe5107f5564e", size = 733034, upload-time = "2026-10-20T21:43:53.791Z" },
+ { url = "https://files.pythonhosted.org/packages/78/d5/f435cf3f2fc1b7f5555a96fde968d7c0c12e499647f794fc84f58e0618e8/radixtarget-4.3.0-cp315-cp315-macosx_10_12_x86_64.whl", hash = "sha256:15a9459a33dbc9b240f4d3db5232a271a93ad677852721a18c5ec14f0cce4b07", size = 489252, upload-time = "2026-10-20T21:43:21.921Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/de/ff4c5e9104a29c70e1add28f4bbb225e0cc51be3ec964e9ae5a292dc630d/radixtarget-4.3.0-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:3aca6ac08ad11a9df2e271d8ea66cd8469259e48891bce07f7fa5237d13352e6", size = 486609, upload-time = "2026-10-20T21:43:13.993Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/3c/a321979f39d0f4a4eb531900330a18e167a36c8038bf87f145c694c3f106/radixtarget-4.3.0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:57c8322cc68f7276bc3c7c0d0a81808a4eaae6cc95bcd3a941e44ad34d7eb116", size = 529808, upload-time = "2026-10-20T21:43:05.536Z" },
+ { url = "https://files.pythonhosted.org/packages/12/4a/f11dc43fc7f4a7ad685587076d0a34607f54d125ecb61c343360b2f1f47b/radixtarget-4.3.0-cp315-cp315-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:54f0f1786304b749b520f683d7bf059c385a0d2ae2b490ea4031bafbb29e1481", size = 555012, upload-time = "2026-10-20T21:42:54.564Z" },
+ { url = "https://files.pythonhosted.org/packages/34/44/fc8f6848edf71322fc016175b23717a090319aee5bc4027f0d25f7aeec6e/radixtarget-4.3.0-cp315-cp315-win32.whl", hash = "sha256:19bf3fd436c6740d61999b293cd0059b69d205fbb3903a3017fbcc4f0857839a", size = 371678, upload-time = "2026-10-20T21:44:08.172Z" },
+ { url = "https://files.pythonhosted.org/packages/89/53/259aecdca0a6716fcc6e60de1bdfc8f493eff1016aad29012abab8799056/radixtarget-4.3.0-cp315-cp315-win_amd64.whl", hash = "sha256:315760e364e0443bc41c6c071352cb4c7ebec6a80d999005b3d01526f91cb413", size = 378540, upload-time = "2026-10-20T21:44:01.353Z" },
+ { url = "https://files.pythonhosted.org/packages/78/f8/c603e1143dfb98660003ef6d165e60151725ecdda9a6bdb71f6ca7f24536/radixtarget-4.3.0-cp315-cp315t-macosx_10_12_x86_64.whl", hash = "sha256:72c2909aeaf2d13e6ded483b40982967f1d26557940d65a3d20623197a613466", size = 489324, upload-time = "2026-10-20T21:43:23.18Z" },
+ { url = "https://files.pythonhosted.org/packages/8f/f2/773537c7d607d3a77d2e6b1abc3d778fd37a7aa416e032213d8d93f16c46/radixtarget-4.3.0-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:579543a1e52316823314616a7d122f281989fca59f6a162c1d203a24e3d54ef3", size = 485139, upload-time = "2026-10-20T21:43:15.341Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/20/a1423051753e36efe6ff79597a06d4e8bda7bdc40c9c17ed5da63cb9c397/radixtarget-4.3.0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:202f149cb84726567e129d51c53132b5f9683e6ea87df780dcc5422c8f9e843f", size = 529865, upload-time = "2026-10-20T21:43:06.644Z" },
+ { url = "https://files.pythonhosted.org/packages/db/12/25c80e0bbb9b0e48a4a72932d27738e1ce8cc8ccb39978d0aab60fb027fc/radixtarget-4.3.0-cp315-cp315t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b44f2d0c19a40b3a9f8f55272fc07e16cf1cce8da825b442ad38b03529311193", size = 556882, upload-time = "2026-10-20T21:42:56.287Z" },
+ { url = "https://files.pythonhosted.org/packages/c3/b8/b49985c393f6fbcaabe3d41289bdcb49c5138bbc2f243275f636b522eaa9/radixtarget-4.3.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ee8fecffe854f371b770a38de76006d495c3623cee648f04b8c0ab52d8365dd7", size = 526711, upload-time = "2026-10-20T21:42:22.059Z" },
+ { url = "https://files.pythonhosted.org/packages/03/93/f50514946d523adb0001d9c590a07cbf5a296c1ea39d7b8b7f5f1c50cd01/radixtarget-4.3.0-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3ad530864a6afb7d2cf4f487a3515fa7ee76641409b138982f600b9801bb4179", size = 534295, upload-time = "2026-10-20T21:42:30.383Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/e6/fbe3dbc97e697726fb0783ef0eb9d6ab43fafe6ac0e7b0a15231d3b5a09e/radixtarget-4.3.0-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2933e55c977703b1ee10894c124b5ea8d4f418b431606cf99c6910c489506d24", size = 698372, upload-time = "2026-10-20T21:42:38.462Z" },
+ { url = "https://files.pythonhosted.org/packages/93/c6/3f1358f648caadc6bd7e6018865545c2ec64ed67dfd77bba706e4a6ae00c/radixtarget-4.3.0-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fc6fec868c5e5bd8824b1cd55492afa0b71c09edcaf94a1ef879a545e02b4298", size = 563312, upload-time = "2026-10-20T21:42:46.725Z" },
+ { url = "https://files.pythonhosted.org/packages/29/7c/e30958ef97e9bf05b2d8a4bc28f7dd743c667875663cc5f282b34a808b5e/radixtarget-4.3.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efed53d7883d4d9fa679cdb66d3634f0eb955b4e612ef2a25b90c58c7afca4c5", size = 533114, upload-time = "2026-10-20T21:43:07.885Z" },
+ { url = "https://files.pythonhosted.org/packages/f6/87/e8b2908d3d253a516b0562df109300b34b693581814fb482dfe3aea79fa1/radixtarget-4.3.0-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:373bb34ec192217a052246cef8b8b4b3f519d0fa802396a72c9b89c3e58b7be9", size = 559203, upload-time = "2026-10-20T21:42:57.502Z" },
+ { url = "https://files.pythonhosted.org/packages/95/4f/6be1e43a378cde61377b8d60f2a9ed55b27a1e119a0f693133f6e1a32523/radixtarget-4.3.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:9515ad765ecfbf28e6a33bf7fffe6430199d13d21347819f515b9500a45f1d76", size = 704490, upload-time = "2026-10-20T21:43:30.787Z" },
+ { url = "https://files.pythonhosted.org/packages/00/62/e7bfc68db9e6fabc404b984e8930739a550b2fe206f4970cd7d851cc6c49/radixtarget-4.3.0-pp311-pypy311_pp73-musllinux_1_2_armv7l.whl", hash = "sha256:1bcfb088e24d458d35723646b80c7676de8be409259e2049ed6045c3d94d4282", size = 809685, upload-time = "2026-10-20T21:43:39.102Z" },
+ { url = "https://files.pythonhosted.org/packages/88/ff/a45bc52c2d1345056f17573c58f6cfb1c866009a488116572d7ecdb28ddf/radixtarget-4.3.0-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:88003c9b81b00e4eda991f5836e7b4f242e4335894c225dbf9890f9b9f890dd6", size = 771816, upload-time = "2026-10-20T21:43:47.094Z" },
+ { url = "https://files.pythonhosted.org/packages/40/5f/dd2f31d946f99893f8d815ca3d6f458a1ca74b8cd81064f6a6015ef46a83/radixtarget-4.3.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:da4f39aea3c5aaba6bae079a236e1fb89d7312bcae8fb1bb6da5ad9d4684a568", size = 738225, upload-time = "2026-10-20T21:43:55.054Z" },
]
[[package]]
@@ -2822,23 +2632,6 @@ version = "2026.9.29"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/fc/f2/af1da9d3ceed77bfcdce40427d49ba0be94e4fe84245e3bfef68c10e75b6/regex-2026.9.29.tar.gz", hash = "sha256:8b5fcc4771732191b2b7d1dd68d8f0353f47f8d90b6150f6dce58bf1112442cb", size = 419199, upload-time = "2026-09-29T00:49:58.298Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/f6/37/404442e7296554792e2de4c0c8f8b95ee491a3c227d6ff90d4cebf2dbde3/regex-2026.9.29-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:9916fda742cd4eede63b286f58c06718324265d727ce0856eb1aac86d0d150d6", size = 495402, upload-time = "2026-09-29T00:45:50.322Z" },
- { url = "https://files.pythonhosted.org/packages/72/6d/116db2946888bd60db8e2033739471be6d80aa47c833afd952c9ed40654c/regex-2026.9.29-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8873c4a11c50b9989168881aeb3f08859f469d809941866aa1feefd8be5431f6", size = 295139, upload-time = "2026-09-29T00:45:51.826Z" },
- { url = "https://files.pythonhosted.org/packages/9d/1d/aefd12fb5cd62b748aa6ed28725b375c71102853fcbf15fb6481f806a2ba/regex-2026.9.29-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1d9fe8091b2e89d470df68a9331111ed008ae8aae6bf1e8e1fba4086a495c84e", size = 292130, upload-time = "2026-09-29T00:45:53.017Z" },
- { url = "https://files.pythonhosted.org/packages/7c/98/41fe60ae6ccf3e166fe7bc73495aa15e9a1a7fe3a1f9f0f95a3d64a2df0f/regex-2026.9.29-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fb00027a09a8f9f08028b40dce4c933cf73e4833240ed356583fdc9cfa721566", size = 793080, upload-time = "2026-09-29T00:45:54.331Z" },
- { url = "https://files.pythonhosted.org/packages/45/0d/944b13e8286ecba61a3baeca28b375550821a279800bdb18fac41ade6637/regex-2026.9.29-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:14e953ff3607c92d7675bf79c4d4509ef6782aa8c08509f179f9b3d6d0679e86", size = 865241, upload-time = "2026-09-29T00:45:56.065Z" },
- { url = "https://files.pythonhosted.org/packages/2a/b4/e1c32fdee0462f1373c52a73325cafbde653fac0b0cc1e9badac74154f4a/regex-2026.9.29-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0476e5bcbe6e1ba3d1c4cc7bbb1c3ba78e3b979b5c8a88d0a6a8cdd4992b8c84", size = 905496, upload-time = "2026-09-29T00:45:57.491Z" },
- { url = "https://files.pythonhosted.org/packages/ec/99/eae371ca63f7ea1f1eac025021527adb57ce3a4b67ff608b896fd31ea447/regex-2026.9.29-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4fb41211d2333eb930a51e0546a65999761cf1f572a4da56ef9b8a62966c06f2", size = 797643, upload-time = "2026-09-29T00:45:58.746Z" },
- { url = "https://files.pythonhosted.org/packages/dc/26/9e4f158459e37e41633c96f49766a465f801c5daba9507260609ed76d783/regex-2026.9.29-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:edf06545875f3efa31560d94121e95c7fd70d98b1dfedc0157097d79b13b52ea", size = 797591, upload-time = "2026-09-29T00:46:00.2Z" },
- { url = "https://files.pythonhosted.org/packages/86/60/5e1c5c6e85132e757ae77bd7693f1809046edb2c8853658c9200f4c8593c/regex-2026.9.29-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6398d5145689503412cc1748895242598d8846b8967b851133b20dc2ed1e21e8", size = 774874, upload-time = "2026-09-29T00:46:01.491Z" },
- { url = "https://files.pythonhosted.org/packages/e5/13/301b394f32a8db86ae3280533c9186229595fed766376f18e87959f92f96/regex-2026.9.29-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:45010bcfe66df41522d56c9b6114e87ecc597a08970ff6a2ced24415c141ae5f", size = 780168, upload-time = "2026-09-29T00:46:02.817Z" },
- { url = "https://files.pythonhosted.org/packages/f6/27/0c647127db32760b2dfc4c38da9ca509a3c4a8d3d93a586121a10fef2701/regex-2026.9.29-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:a5758353650079898dc1b2b0e95aa51fa23a30d020e06f62c430dd08ee56cdd8", size = 856604, upload-time = "2026-09-29T00:46:04.152Z" },
- { url = "https://files.pythonhosted.org/packages/4f/18/cac15fb2829c33218ececf76333b66869a96e4f973480ec32494921750f0/regex-2026.9.29-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:6f7121a8914ed13fcfe2099f895341bfb789f004d4c5a0bdece8fa667da10849", size = 760602, upload-time = "2026-09-29T00:46:05.794Z" },
- { url = "https://files.pythonhosted.org/packages/b8/55/967676e4089a25d5f54b9d62522f9fe09b87677d1db58f207888d4ccfbe3/regex-2026.9.29-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:b9d74e4eee9ddb64c2e92d5d61472c59c21684c059eb7b68767be9628e977859", size = 846830, upload-time = "2026-09-29T00:46:07.258Z" },
- { url = "https://files.pythonhosted.org/packages/f1/8d/bb4165d61860ed443da5fb0fafe629c1ee9202526394eead7925bdee2be4/regex-2026.9.29-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:143533cc4b6fbc5b95aca0a5b8d541088d374831593def000ec89322c220221d", size = 785445, upload-time = "2026-09-29T00:46:08.89Z" },
- { url = "https://files.pythonhosted.org/packages/86/a6/a5cfc2560e063f8e6871373d3b719f573d7e7fcaa09db43e7c8aaeb51bd5/regex-2026.9.29-cp310-cp310-win32.whl", hash = "sha256:b84f186a7f0536fe4ff9a9fa12d06d007b9b71d4b5352ddcc41f59ad6522a312", size = 268950, upload-time = "2026-09-29T00:46:10.331Z" },
- { url = "https://files.pythonhosted.org/packages/0c/f6/b127312ebc8092357f435c9e4594fd8cf50abb85f8b4b16ab8d262abab2a/regex-2026.9.29-cp310-cp310-win_amd64.whl", hash = "sha256:23ae6fdad9e63e54038f5ef78aba2933faca61e24d432786589e737bc5522ebb", size = 280629, upload-time = "2026-09-29T00:46:11.638Z" },
- { url = "https://files.pythonhosted.org/packages/c6/e4/ab36f3c26f2374d16d525dd5a7fb4997f3c6e6bb7c6722821b84f9ea35b1/regex-2026.9.29-cp310-cp310-win_arm64.whl", hash = "sha256:c0094897d7d01f184b2d7fe8c56c66d64efe01b31f4b7d34205b391387df1111", size = 279407, upload-time = "2026-09-29T00:46:13.248Z" },
{ url = "https://files.pythonhosted.org/packages/e8/6b/6dea87689c3a06a6e79d254bf824e6f3e3d724b5ba027c6112559aa6cd2c/regex-2026.9.29-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6abb75ab16bc3281714a5b99548a2225db70dba1f995f6d7f7419b76eb5a8fbe", size = 495413, upload-time = "2026-09-29T00:46:14.51Z" },
{ url = "https://files.pythonhosted.org/packages/3a/a5/0c791a0e83ad1013d262c13247c4c77e0f4a8d05bdc167df96aba6681c0d/regex-2026.9.29-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b7b893976e7fe42053da64f2aa27239c24252fd2ec6df471e1be197c0addc3b1", size = 295145, upload-time = "2026-09-29T00:46:16.292Z" },
{ url = "https://files.pythonhosted.org/packages/b1/07/9bf3607d8d13a12e436ab9d63f9791e10706827d535695b23964ad79fd79/regex-2026.9.29-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:066d0e3dbfdd739bce2bf8c2a41dd16f73e3d8adc2eb06dd803a36a307f56075", size = 292123, upload-time = "2026-09-29T00:46:17.646Z" },
@@ -2919,6 +2712,38 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/89/22/857050a86e21ce60193e02a8ef662521f2e263a645c8b1b905fc136b61a7/regex-2026.9.29-cp314-cp314t-win32.whl", hash = "sha256:65b408d8fcb273e3499e7ef2ce796810da1becd208c7fb4373692a242d79d461", size = 276758, upload-time = "2026-09-29T00:48:34.72Z" },
{ url = "https://files.pythonhosted.org/packages/4d/96/56808fe029553d7d4c703414f2a527faad2ea2bfa9ca094a2e7f8762b530/regex-2026.9.29-cp314-cp314t-win_amd64.whl", hash = "sha256:bf48516e35cf848390ea68850aba53e7c333720d2945b4d2c25b69fc5171723f", size = 286527, upload-time = "2026-09-29T00:48:36.864Z" },
{ url = "https://files.pythonhosted.org/packages/01/aa/074e2cfb3d8101a6a764aba5f7c5d1e21de087483e35bdc0c4ce2eb60364/regex-2026.9.29-cp314-cp314t-win_arm64.whl", hash = "sha256:9173db3be74a35cb6731701094b98120f7ee4876a287882a59cdea1fa7da342f", size = 285954, upload-time = "2026-09-29T00:48:38.901Z" },
+ { url = "https://files.pythonhosted.org/packages/a7/dc/d84990386c9dfdf8c377f00f371b241fdc9a2c8aea0e3d66941b2e51be0b/regex-2026.9.29-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:c3589f40749acce747510bf5d589d54e376cb0930ea58b35effac97e5312b0c1", size = 497836, upload-time = "2026-09-29T00:48:40.858Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/ab/a569ebde875fa12ff8c6c9a30e07503620f195e4be4d54c3d3ee8eecc283/regex-2026.9.29-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:32ab11df9677ca80bcbb5fe4eb1da9109a5019239a054836efc6fa1c64e683cf", size = 296244, upload-time = "2026-09-29T00:48:42.952Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/3e/7d548e82a108e7c8b2d5246650e397a2f8db599f9b2e975466939c5b4e70/regex-2026.9.29-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:7c03031610e3e6ed1768a2b7a8fc84637c1257b50c5eacaf094c6e17a84fc563", size = 293748, upload-time = "2026-09-29T00:48:44.985Z" },
+ { url = "https://files.pythonhosted.org/packages/40/34/a8e19a52f452bbb07b32a2bef70dcdf90c2737049749f74cc12d7486fb4f/regex-2026.9.29-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:42e82e578c904445d4c8a35b8f28052cf567593215fa5db06266fbc6f77aaa2e", size = 807840, upload-time = "2026-09-29T00:48:46.948Z" },
+ { url = "https://files.pythonhosted.org/packages/88/7b/11fbd4640b3bb82b72822a63c20ade4013d562d291703a9debeedc24e682/regex-2026.9.29-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0b65c72739f981377c9c22e0c5c3cd7f42da7bd8a3c9209330fac772c7d893ed", size = 879330, upload-time = "2026-09-29T00:48:49.168Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/55/de58c74f1f4e31586d83eb39c56872d686c4e0d0966d151884c833b94ced/regex-2026.9.29-cp315-cp315-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4408b2b27a95ca8cc48b7411945753773353b5c93b307754781086c99d3a576f", size = 919251, upload-time = "2026-09-29T00:48:51.322Z" },
+ { url = "https://files.pythonhosted.org/packages/81/42/a8c480f6dd5ac59fa28ddae79afd9d7ac7e596fdb61813adc65bb6e674b8/regex-2026.9.29-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a714befaacbd10092ffe4cea0d3c5f008fb9efe9bc322c715bcdfdee414b9a3d", size = 808808, upload-time = "2026-09-29T00:48:53.529Z" },
+ { url = "https://files.pythonhosted.org/packages/68/60/0bc0d1ec8b37ad64be6fa30e035251f11de9667a0fac9e82ee74517d81be/regex-2026.9.29-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:33026515aebc0e70d1c89978e53e8d695d35d9e472f8d5b34465ba3c74028650", size = 789907, upload-time = "2026-09-29T00:48:56.036Z" },
+ { url = "https://files.pythonhosted.org/packages/da/84/116a3ef19b3acfe81077f0bf2cbc7714a5e94bc8935b7243ab61cb0f1c3c/regex-2026.9.29-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:31b003f9a070335e2a8233ee9b14a3ca8e6d792012ae011f741bf0aaf11744c5", size = 795770, upload-time = "2026-09-29T00:48:58.284Z" },
+ { url = "https://files.pythonhosted.org/packages/96/ba/e38c3f203e7e7e18c957d48e6cb6dbf96c11e95a44efa4a480522afc5d6d/regex-2026.9.29-cp315-cp315-musllinux_1_2_ppc64le.whl", hash = "sha256:c03c6eb6ece86dfdcbb34799efaa339b093132e1aceed491ba5e08fe06cdf699", size = 870671, upload-time = "2026-09-29T00:49:00.506Z" },
+ { url = "https://files.pythonhosted.org/packages/2f/0f/9ee0b0cb76c55f63684bd7fff554978e8773b4fc86e2bcb2d50772dc1086/regex-2026.9.29-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:a5300757f8a68f5b6cc33f57338d72a0e3589c5cc9ad5f8504ea06f028be582a", size = 778631, upload-time = "2026-09-29T00:49:02.984Z" },
+ { url = "https://files.pythonhosted.org/packages/b6/19/e6e3eeb226af5872c4958002f6edef4e4f40ea4cc5f5665023f2019eb045/regex-2026.9.29-cp315-cp315-musllinux_1_2_s390x.whl", hash = "sha256:80c7cadd3fd2bfde5df8aa0787e315812cad0c313a753095d02f4c2b6c01677b", size = 862187, upload-time = "2026-09-29T00:49:05.264Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/62/823c102e106bb2711d6b7dfe5981552fe4467b2969c46a20c5c383cf498c/regex-2026.9.29-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:3f1e6cb402a89457582cd696f982559217d13484a193202c394015297968c86d", size = 798423, upload-time = "2026-09-29T00:49:07.644Z" },
+ { url = "https://files.pythonhosted.org/packages/37/e0/e927776258fa70b2f6feffc3be584ffc85ba4c1e20a320f0aee9a632fc7d/regex-2026.9.29-cp315-cp315-win32.whl", hash = "sha256:a64b85a4760337cfefdb27d42da6ed8b58e8cde3f2d57b6ef43e76ef6ea9ef47", size = 274757, upload-time = "2026-09-29T00:49:10.513Z" },
+ { url = "https://files.pythonhosted.org/packages/77/04/358de85d1860238e1b4fa98fc2c80c990124a25d2e14739e28cc02c25562/regex-2026.9.29-cp315-cp315-win_amd64.whl", hash = "sha256:b3e445b66c80b4eb4234e855ce94d9adc183eedbd632816228d89930b91b2c5b", size = 283824, upload-time = "2026-09-29T00:49:12.849Z" },
+ { url = "https://files.pythonhosted.org/packages/92/d3/d5c5b264784a5ab2b0f8cf620c1eeb4dbf3440d306761905e7d99345bef5/regex-2026.9.29-cp315-cp315-win_arm64.whl", hash = "sha256:8f39588af4731c8923c26810eb3b33f76f17633985e40f59c3cd45a33805a895", size = 283664, upload-time = "2026-09-29T00:49:15.331Z" },
+ { url = "https://files.pythonhosted.org/packages/02/dc/f63ec2c201445ce1150fe780f5c56f16a10124d9a9da3a93161dbb0d8892/regex-2026.9.29-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:fb99cc9d45f48895d9d67f6a0b8a57f08d39c174d9f25ad97a313e0470267b1c", size = 501549, upload-time = "2026-09-29T00:49:17.705Z" },
+ { url = "https://files.pythonhosted.org/packages/9a/5c/d2a698dc6bfc11fbce03f1cb0249c13284e93b79ed11f893edf6fac431c9/regex-2026.9.29-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:720537c7ea6f80dc61913184edb0ce2497a306b39ef19f28505b322553d52bdb", size = 298187, upload-time = "2026-09-29T00:49:20.171Z" },
+ { url = "https://files.pythonhosted.org/packages/85/b7/88dcdb38cd3935d4ee9e9ce9b8e56cb3b3518d1f020acfa7dd62ad289bf8/regex-2026.9.29-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:0fd2c901cc307a745ad4bc87f20060d7a0825a3371d1e93488af22e7a387f78f", size = 296157, upload-time = "2026-09-29T00:49:22.342Z" },
+ { url = "https://files.pythonhosted.org/packages/d3/8e/ba6c01dde33a69fc294b38b43f6677baaa5735a6248f39708031a738158a/regex-2026.9.29-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b11b589e00095ec69cf79841a76360f9b079e95b0368a25b5ebb951ab0c157ff", size = 818468, upload-time = "2026-09-29T00:49:24.612Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/f1/2586693e3a2d6b1247852593d37a6c17b42a92ee44f7cdcb9a0c1494e64a/regex-2026.9.29-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d7cab119d0df0b9413f106b4d7fc34f2872d3574ed3806fb48959c830b1537da", size = 882825, upload-time = "2026-09-29T00:49:26.996Z" },
+ { url = "https://files.pythonhosted.org/packages/30/51/084f3e7bdcd0e9c33665c938cf5d134dc3548cbb4a75f0197ec7bfd754b1/regex-2026.9.29-cp315-cp315t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b89efc38431793d28b7cd91227e2f952ad7c48df19132b17f43a5fec3c14143b", size = 923314, upload-time = "2026-09-29T00:49:29.822Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/f1/066c6fc23b7dc229789c21c880b5ba5ad689fb95fed12e078266f55a1f9b/regex-2026.9.29-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:80a5ea3b4fd9d6a5b9a44f7976a9acaaab35aa3c1f6b29e5bd857dfabaded223", size = 822222, upload-time = "2026-09-29T00:49:32.404Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/56/592cd46fdb8f2f8682a1d7fd1310e4d0bcb93fbd0e6bbe4141ac28240227/regex-2026.9.29-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:19959129885356df0e97556856f77eb2888380dac18bed075a7c05c5128c618d", size = 794882, upload-time = "2026-09-29T00:49:35.076Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/4d/d65384bb071c864b01aa8314e3a6a687845ebd57588390976edc960c218b/regex-2026.9.29-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:6a1a824fbed817e0a891103886b68f063b1e83cc51bc97192a90a60195a9291f", size = 805887, upload-time = "2026-09-29T00:49:37.395Z" },
+ { url = "https://files.pythonhosted.org/packages/65/b6/358de0d8f40d5178e4f7e7e121cfd5b961c812b77a055d11f5079e3f8fd7/regex-2026.9.29-cp315-cp315t-musllinux_1_2_ppc64le.whl", hash = "sha256:1ba8c6a416569ce0d37e83e28a254a61dc99a419084dfb6476cea02d997f74fa", size = 872901, upload-time = "2026-09-29T00:49:39.927Z" },
+ { url = "https://files.pythonhosted.org/packages/00/06/6bfded72d043240c6b52bbb5e16f639d81affbf7484b4fe2ec45f3d4afc9/regex-2026.9.29-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:446654b29bfaa30500d80947eda42cef1449dc8a87f4e3cf061cc8485d3a1f0b", size = 782970, upload-time = "2026-09-29T00:49:42.581Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/20/9f418a50baa78b3ed8308fcb0cc49e472dd000b7ef935a7295af202ea744/regex-2026.9.29-cp315-cp315t-musllinux_1_2_s390x.whl", hash = "sha256:bf3c49863c23a1ad6da9c30351aed6cff8d5ddbeb63c5c8420ae54e98c7d0138", size = 865441, upload-time = "2026-09-29T00:49:45.238Z" },
+ { url = "https://files.pythonhosted.org/packages/2c/29/817c7eacdeaf8463123e949bd394c39ad024eea1ec38ddf5ad141da2f3bd/regex-2026.9.29-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:01000ddf0e3ffef97f2413ceb514f6313040106b6d18a03ee00a4fe35c1eb1db", size = 809431, upload-time = "2026-09-29T00:49:47.878Z" },
+ { url = "https://files.pythonhosted.org/packages/63/0b/83aab3b5b739947f744135a7a3a446e25433ebc92b05e01aae197ccbfdda/regex-2026.9.29-cp315-cp315t-win32.whl", hash = "sha256:c4e38dd8f39c43a91d2410ad2b85610701b0979342c3df1d69eaf8e838c757d8", size = 276964, upload-time = "2026-09-29T00:49:50.524Z" },
+ { url = "https://files.pythonhosted.org/packages/72/f2/6314b5fc68789b5dcc38885bc6e3d6986b34fb3372b7231088ee5cecaa05/regex-2026.9.29-cp315-cp315t-win_amd64.whl", hash = "sha256:e2c89e9b762c57f59d5e99ee8b20202adb892e35f8d3485741340999ca55058e", size = 286487, upload-time = "2026-09-29T00:49:53.224Z" },
+ { url = "https://files.pythonhosted.org/packages/56/bc/97b2245c8c7b2dd01f2db74f2bea003cd33c15009b4996a2447f46b5325c/regex-2026.9.29-cp315-cp315t-win_arm64.whl", hash = "sha256:e8c65ef3862a8ad6e86492b6ed9327805dd66904c012bd3649dc67d822ed6c34", size = 285955, upload-time = "2026-09-29T00:49:55.655Z" },
]
[[package]]
@@ -2948,27 +2773,10 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/e1/d5/de8f089119205a09da657ed4784c584ede8381a0ce6821212a6d4ca47054/requests_file-3.0.1-py2.py3-none-any.whl", hash = "sha256:d0f5eb94353986d998f80ac63c7f146a307728be051d4d1cd390dbdb59c10fa2", size = 4514, upload-time = "2025-10-20T18:56:41.184Z" },
]
-[[package]]
-name = "resolvelib"
-version = "1.0.1"
-source = { registry = "https://pypi.org/simple" }
-resolution-markers = [
- "python_full_version < '3.11'",
-]
-sdist = { url = "https://files.pythonhosted.org/packages/ce/10/f699366ce577423cbc3df3280063099054c23df70856465080798c6ebad6/resolvelib-1.0.1.tar.gz", hash = "sha256:04ce76cbd63fded2078ce224785da6ecd42b9564b1390793f64ddecbe997b309", size = 21065, upload-time = "2023-03-09T05:10:38.292Z" }
-wheels = [
- { url = "https://files.pythonhosted.org/packages/d2/fc/e9ccf0521607bcd244aa0b3fbd574f71b65e9ce6a112c83af988bbbe2e23/resolvelib-1.0.1-py2.py3-none-any.whl", hash = "sha256:d2da45d1a8dfee81bdd591647783e340ef3bcb104b54c383f70d422ef5cc7dbf", size = 17194, upload-time = "2023-03-09T05:10:36.214Z" },
-]
-
[[package]]
name = "resolvelib"
version = "1.2.1"
source = { registry = "https://pypi.org/simple" }
-resolution-markers = [
- "python_full_version >= '3.12'",
- "python_full_version >= '3.11.5' and python_full_version < '3.12'",
- "python_full_version >= '3.11' and python_full_version < '3.11.5'",
-]
sdist = { url = "https://files.pythonhosted.org/packages/1d/14/4669927e06631070edb968c78fdb6ce8992e27c9ab2cde4b3993e22ac7af/resolvelib-1.2.1.tar.gz", hash = "sha256:7d08a2022f6e16ce405d60b68c390f054efcfd0477d4b9bd019cc941c28fad1c", size = 24575, upload-time = "2025-10-11T01:07:44.582Z" }
wheels = [
{ url = "https://files.pythonhosted.org/packages/e2/23/c941a0d0353681ca138489983c4309e0f5095dfd902e1357004f2357ddf2/resolvelib-1.2.1-py3-none-any.whl", hash = "sha256:fb06b66c8da04172d9e72a21d7d06186d8919e32ae5ab5cdf5b9d920be805ac2", size = 18737, upload-time = "2025-10-11T01:07:43.081Z" },
@@ -3018,18 +2826,6 @@ version = "1.3.8"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/49/b0/6b8a516c5a9e9630bd5293db78314ac012f690305fe93beadea388626efb/setproctitle-1.3.8.tar.gz", hash = "sha256:cafe209d064a6efb88cb45a03e97981ff8832802b2b5d009dde0197a3b7b41c8", size = 27214, upload-time = "2026-10-01T21:09:27.121Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/d3/4e/60631727c0302cbbc9afbc2072ebf7f346ff30edf59a5e765e1474ab1cb2/setproctitle-1.3.8-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:78cbc62de67dad0a1dbadb1b2bed1bb4b283d73b460ba5fdce16727d27396dd6", size = 18128, upload-time = "2026-10-01T20:58:13.369Z" },
- { url = "https://files.pythonhosted.org/packages/28/6d/5a362f73748f02b7c05ce8ea25c330a80b358213ddb5c9729cf5d4a09006/setproctitle-1.3.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6579e2a6fd0bf3128c06141a87a49423e145a3ad1631fa9cd43886668ce4ea8c", size = 13133, upload-time = "2026-10-01T20:58:15.229Z" },
- { url = "https://files.pythonhosted.org/packages/13/25/252257eccb5d0476b63f0fd60c3bd632f6a7f0fb5b61ee531e8582bec8d6/setproctitle-1.3.8-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:bbe67d7ac416087996e39494325d94ef9f4ac1ed33823f90de83c73925665cd2", size = 31928, upload-time = "2026-10-01T20:58:17.45Z" },
- { url = "https://files.pythonhosted.org/packages/75/d4/565f624a49e2e49b4907f3b5131cdda20027d45312ce2b538a0e3985b549/setproctitle-1.3.8-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:199c2c674af749003596d3a5ccf35112d28a7cfe95a363eae5fd042c33e0253e", size = 32788, upload-time = "2026-10-01T20:58:19.763Z" },
- { url = "https://files.pythonhosted.org/packages/15/16/9f619b2dea800c3e43a4b706ce08060ba1683e493135249e254d781e4951/setproctitle-1.3.8-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:53c92b933a47fdc9bcf5033834ebd640bdba8ddc8437e1ab2310682806c31c0e", size = 34639, upload-time = "2026-10-01T20:58:23.664Z" },
- { url = "https://files.pythonhosted.org/packages/ca/fc/96807f69eacd8c675a536c9bd63874a6ed34e5ddd85415074af322e6eb9c/setproctitle-1.3.8-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e5e6208cd0ce0562887925850d22bffd85aa6d5709f6890d3cdac8668e5aefb9", size = 31137, upload-time = "2026-10-01T20:58:25.945Z" },
- { url = "https://files.pythonhosted.org/packages/d7/bf/79402fbaccea0e8b2fa52753f31c0c81e58b92f4cf6823d7371d95b7e309/setproctitle-1.3.8-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0b15200dc328020f498b196eb59a3b3e35cb08f17bfe05b2e63e5ed47110d254", size = 32127, upload-time = "2026-10-01T20:58:28.253Z" },
- { url = "https://files.pythonhosted.org/packages/ff/60/9abaaa5ac714c5605dc75555c297d355890f21a1a58c9c60b8120f17b86e/setproctitle-1.3.8-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:3b256ac72a3855b434506a85cf5ca6e25441657d5dc56eb73df6e279193cb35b", size = 33378, upload-time = "2026-10-01T20:58:30.495Z" },
- { url = "https://files.pythonhosted.org/packages/34/7c/2b9e148c0156018266bf6384d94dfaf6367f36a329cc27f383d4bf62c31a/setproctitle-1.3.8-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:7c8a2beab229c818ae36ca3f7d769db95dd748c76b857851e0a883d947419ba5", size = 30383, upload-time = "2026-10-01T20:58:32.479Z" },
- { url = "https://files.pythonhosted.org/packages/3e/55/388d6942629b7fe58c704bea325934766e5ef1b0e59acfb2633093d0fb0f/setproctitle-1.3.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5b6372be8ff8afc56e0d50036ff618a29bfef72f52946f316e3a65fe25266800", size = 31558, upload-time = "2026-10-01T20:58:34.659Z" },
- { url = "https://files.pythonhosted.org/packages/b9/64/75c83676e826cee93692deec002c9b4ec0f9f437c0c7271c049d0c385331/setproctitle-1.3.8-cp310-cp310-win32.whl", hash = "sha256:66656b71c3eb1f7f57feb4579822bebc750c2a71e6090bc0aa7ec161cdecd30b", size = 12105, upload-time = "2026-10-01T20:58:36.441Z" },
- { url = "https://files.pythonhosted.org/packages/1e/95/a7a6d3a560f69e352dde20f3dd5f89ce2e9613a4b203a8329d5d0a019ae1/setproctitle-1.3.8-cp310-cp310-win_amd64.whl", hash = "sha256:4151e5b53f7fb6a39fac2e3db35d70761bac27c0f6b924aeb4a6f67e92ad56e3", size = 12943, upload-time = "2026-10-01T20:58:38.183Z" },
{ url = "https://files.pythonhosted.org/packages/4a/78/d065a73bef541ab5f6f094c705c016563a063a4ba9e839030a845f2087d7/setproctitle-1.3.8-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:cc711e639a3e978978ab3bbb01f8f106715f5c23bbd99ced5af2404528bbaa6c", size = 18131, upload-time = "2026-10-01T20:58:40.67Z" },
{ url = "https://files.pythonhosted.org/packages/6a/95/2981f400b09b0675225f45b105f1c99e3dfa603b12e6767fd09fd5e58209/setproctitle-1.3.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:50f9bce172b6f9ead1c8fe813d85b1dde57ab503a445f982026ac3a16c719e1e", size = 13140, upload-time = "2026-10-01T20:58:42.383Z" },
{ url = "https://files.pythonhosted.org/packages/2e/89/7a19bba7f4a354fc3499bf83614b27452232235b1d44191f46ff396051de/setproctitle-1.3.8-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:1a6f6a3b2920f4362e8d924f9e5b084f0b2692a2c140e348abd2e3a07a1def73", size = 32316, upload-time = "2026-10-01T20:58:44.544Z" },
@@ -3090,6 +2886,30 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/79/e5/68be1eed21bba3ce27c6907ddcf0559cb99e4de3aa3ee000a38994371b73/setproctitle-1.3.8-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:84003eeaf2d7460390bbff1dbd7bee5b1213e7ae47a489f0fb7aad6acd2b045c", size = 34024, upload-time = "2026-10-01T21:08:06.514Z" },
{ url = "https://files.pythonhosted.org/packages/40/7e/f275783d6915fac997dbfa3729330552c4f2ddcd4f1bba7ff522f5f05c28/setproctitle-1.3.8-cp314-cp314t-win32.whl", hash = "sha256:ac4e037d276ce27069cad0083c4611b45232278bd2fbac33f06ef9438c171a1e", size = 12259, upload-time = "2026-10-01T21:08:08.432Z" },
{ url = "https://files.pythonhosted.org/packages/86/59/3347f13aa38c81d78f5c93bc55e4355c43550f47348e5de48c5080f3a1b2/setproctitle-1.3.8-cp314-cp314t-win_amd64.whl", hash = "sha256:c284642b229ba7b7b927fb044aba03694b880ab572db3f07a10adc786db1ff7b", size = 13163, upload-time = "2026-10-01T21:08:10.087Z" },
+ { url = "https://files.pythonhosted.org/packages/92/e4/e9866831fd0cff677c67488059fab3786a843ff0bd86f4b3c44bea8dd763/setproctitle-1.3.8-cp315-cp315-macosx_10_15_universal2.whl", hash = "sha256:63348d86ae60b071a898e4241b41da1346d8c36f1a60bf3b698ae5eb35b79865", size = 18107, upload-time = "2026-10-01T21:08:16.029Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/79/5c11a8c8cf3b91e54fdf4c93d1c79d99a491e04d77d34c80a90552fe6b46/setproctitle-1.3.8-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:59239b6e5007b1bec79ef444a390b3bcd59cbcb2686c9910da5a42f1e99f738c", size = 13132, upload-time = "2026-10-01T21:08:17.756Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/6d/47dea0a33ec67a2813e40bd92deea74c3732fd598bd71b636a92897eaf17/setproctitle-1.3.8-cp315-cp315-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:38310d9cf94959e39d22fdc0154c66c8bdbadfa790c524b04cb36da6333c7507", size = 33509, upload-time = "2026-10-01T21:08:20.254Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/7c/5d6945012077e6c393d59432df42d281d213f508bcf6d83a1287ab2eb9ae/setproctitle-1.3.8-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a279b136ed97407209d2dc9c30d1e65405d1a4a06ab162cedd9c4159b51f8f20", size = 34405, upload-time = "2026-10-01T21:08:22.796Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/d9/543a4470bfd01529dc35f0014dc68c70665db8b790e3647b41d155203b87/setproctitle-1.3.8-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:26997a85aa70bb088e86f0b7899fb0c909be824d22fc025e87b0005afbe59261", size = 36167, upload-time = "2026-10-01T21:08:25.35Z" },
+ { url = "https://files.pythonhosted.org/packages/44/c7/fc55041b162833c4bbbbfe78ed417bcab7b22f9fa72aff1722ff6af46fae/setproctitle-1.3.8-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:35fc5e10fcba6df25d676ef908b44a36c17e7f167738ed016561185e24f4d274", size = 32623, upload-time = "2026-10-01T21:08:27.778Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/e2/8c73c990c338b9ca5bf4fc6167ac864a80a53a10e71fd2755ba146f1fce6/setproctitle-1.3.8-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:f5df0503093ec8c3c7e1da53920e79c62ab653b51b136c4736caa252552a8732", size = 33510, upload-time = "2026-10-01T21:08:30.431Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/61/8e10270d3a7326dc4e8a1408c631e6ae912625b91f38adaf04794a19e07b/setproctitle-1.3.8-cp315-cp315-musllinux_1_2_ppc64le.whl", hash = "sha256:0a582308ba43afa7233d28243d9d1212e11c81d3c187a43929ec0cb70c4781c5", size = 34528, upload-time = "2026-10-01T21:08:37.161Z" },
+ { url = "https://files.pythonhosted.org/packages/77/d4/00773ca8c876123348e65edfd9eec47464bbfa1a31067c6e1cd382356a0f/setproctitle-1.3.8-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:ce48dbf74e8ec618d74cbaffe1159a4c32a4428de598f0ccdb0782bae618a72a", size = 31681, upload-time = "2026-10-01T21:08:39.874Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/42/19c6b634cca492575f9d99868bc35134528fb390d683d6a0396f61df0b8d/setproctitle-1.3.8-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:dd3a8fcee7d8a23e44781144830dee97b53ca4e0380bdd2a0e05b13913ce5725", size = 32999, upload-time = "2026-10-01T21:08:42.36Z" },
+ { url = "https://files.pythonhosted.org/packages/94/34/09f653f687e4a1a6f515642519cc65f0e6bcf34631386380924fc9785b44/setproctitle-1.3.8-cp315-cp315-win32.whl", hash = "sha256:50beee618377ce6fd35767a9327f2da594b36778eb10b503ee2dc9b7c801f433", size = 12251, upload-time = "2026-10-01T21:09:17.504Z" },
+ { url = "https://files.pythonhosted.org/packages/89/69/ab9afe8c198594533ad5eed6dcea647e1743ac8196a6c6dea974724b72e6/setproctitle-1.3.8-cp315-cp315-win_amd64.whl", hash = "sha256:f5916010de8b6045d7c63d98bb3f7a1e13f8c9c1046e859f2fd8de79c4e2d865", size = 13161, upload-time = "2026-10-01T21:09:19.295Z" },
+ { url = "https://files.pythonhosted.org/packages/78/90/da93e1ae012f2515473a45fb33f5ba2ddbbfcce1381c5e41005b31ab3230/setproctitle-1.3.8-cp315-cp315t-macosx_10_15_universal2.whl", hash = "sha256:e9f643bd97374aeb7e4274e5c361277bf1428e8e55246cee6823fa3525dc2c04", size = 18119, upload-time = "2026-10-01T21:08:44.296Z" },
+ { url = "https://files.pythonhosted.org/packages/af/35/41b28fa8eb8f1bee9c5516b99262a5df413937bf186e9d50ec3ef812fc61/setproctitle-1.3.8-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:fbd9ceb8c091c125e5892757e4d16af06674dc96edd7b5bf1e627b1ae7650c66", size = 13140, upload-time = "2026-10-01T21:08:46.797Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/19/089c878e6b8a3a391ceb03e1653ad6f33f27a5f7e204cf4a54b6a053b83d/setproctitle-1.3.8-cp315-cp315t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:322b4643f98c824b17dbf2ddb07ea7a37def8cc9e18adee320befce4bdffa271", size = 35122, upload-time = "2026-10-01T21:08:49.921Z" },
+ { url = "https://files.pythonhosted.org/packages/88/a7/f419b87fcb6202ef0a94f7cd6bdecb23c2d01f2f07b38f92d3f0c5dfb518/setproctitle-1.3.8-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9e36ee7300584a53fd7ac5f3853323411bde1cf6c081921bd3754a73b4071245", size = 35944, upload-time = "2026-10-01T21:08:52.612Z" },
+ { url = "https://files.pythonhosted.org/packages/1e/16/fb181112f3c09a8c8962bd110f538c8a9d287a0c6a8bfd5b4dc39d54e0df/setproctitle-1.3.8-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5c05aff52e6eb9c4d2ea86cf0d0a60b1487ed570263a1b13bb30d9f96aa8ba97", size = 37981, upload-time = "2026-10-01T21:08:55.136Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/8f/934846cf63b5ae2e9a88dcac6ddc3ec813e6b9e0919994684f7674155b8a/setproctitle-1.3.8-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:df807e7f036c19235320b6b5137291891d660f10ccb0b50dc46bc8385be18379", size = 34229, upload-time = "2026-10-01T21:08:57.703Z" },
+ { url = "https://files.pythonhosted.org/packages/c9/04/c11f73d8aa0ebe5d63866130ad14ca3789a4dfb9fc617c3a612af9c177f9/setproctitle-1.3.8-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:bef8c5f8820c70e8761171409052056ffd247023b001a6254287a0694c3d8b1c", size = 34743, upload-time = "2026-10-01T21:09:04.088Z" },
+ { url = "https://files.pythonhosted.org/packages/38/50/8c780488db26e8f51af91465bda6ee224522248dc5220b282791dacbbe5e/setproctitle-1.3.8-cp315-cp315t-musllinux_1_2_ppc64le.whl", hash = "sha256:7855290194637a3c5a2e37c423efbf5813fde97a6b63ab99feade5e05d73dc6c", size = 36094, upload-time = "2026-10-01T21:09:06.67Z" },
+ { url = "https://files.pythonhosted.org/packages/b1/e6/13d541653607b3b7232dc9f8baae05b24112ac9a3756c3653903c624c4a9/setproctitle-1.3.8-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:8c0a7753f5ddaf0ecd1fc8df3e2106611d4290f0508e643e723cb5000b7d6c2f", size = 33148, upload-time = "2026-10-01T21:09:09.064Z" },
+ { url = "https://files.pythonhosted.org/packages/42/94/f3e16c3a7949fa28a777aa30830bf89098026e13669144b0ec1b147f17f4/setproctitle-1.3.8-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:97b35b15f81363a314baca76674c19027dce19eed1590abd51c2d285830efd50", size = 34488, upload-time = "2026-10-01T21:09:11.756Z" },
+ { url = "https://files.pythonhosted.org/packages/4c/e7/9baa826fc44c6f607a39ad35d419da7f51dec2df31ef169e7a4a34e1cc75/setproctitle-1.3.8-cp315-cp315t-win32.whl", hash = "sha256:ecf44731e351c6100885120cecf53a0f43a1bb975a92480de1f9e022ab542bc1", size = 12260, upload-time = "2026-10-01T21:09:13.6Z" },
+ { url = "https://files.pythonhosted.org/packages/71/fb/08f55fab7294d18a6b1bc6d13340706c998b4641bd5f99ed9c7a626fcbf0/setproctitle-1.3.8-cp315-cp315t-win_amd64.whl", hash = "sha256:61aac898128dade36438da9387fea570f00cd519ad5231d3b268913afc2fc329", size = 13170, upload-time = "2026-10-01T21:09:15.351Z" },
{ url = "https://files.pythonhosted.org/packages/1c/e1/61838733db1ee33c4d550e72e98891824b28f644a2fb9612f107e5bf819d/setproctitle-1.3.8-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:26da5ad9883d825b9d732fd1dcb99268a4ee545b1edd0aaa5c56f16009cccaf8", size = 12627, upload-time = "2026-10-01T21:09:21.435Z" },
{ url = "https://files.pythonhosted.org/packages/ce/cf/08599efcb67f437acc0b1b6510aa08f44873cbd416b526139c4eb38b2775/setproctitle-1.3.8-pp311-pypy311_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:15aaec002066f6dd7d920c46d3bffc3e529cb4a9fac961f2dd878aad64b0e29e", size = 14324, upload-time = "2026-10-01T21:09:23.204Z" },
{ url = "https://files.pythonhosted.org/packages/ce/a1/971a49677f247a613a2229df65af01d5a27e8793adee5b818680e90c30a9/setproctitle-1.3.8-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:6a740a6de2675da29594612eca3c962ceefc063fb62f43fc5a8f84d547ce0d7a", size = 12982, upload-time = "2026-10-01T21:09:25.006Z" },
@@ -3127,8 +2947,7 @@ name = "soupsieve"
version = "2.10"
source = { registry = "https://pypi.org/simple" }
resolution-markers = [
- "python_full_version >= '3.11' and python_full_version < '3.11.5'",
- "python_full_version < '3.11'",
+ "python_full_version < '3.11.5'",
]
sdist = { url = "https://files.pythonhosted.org/packages/71/c3/1b817965ac12dc002d7c9cd7dfffdd7d4fbf9b45763ef2ffe7b86ee94670/soupsieve-2.10.tar.gz", hash = "sha256:49e9380d7d2905463583bafe285e818c7366a9ed7b3aee221c1ac79c905d8bc0", size = 124337, upload-time = "2026-09-24T02:36:35.048Z" }
wheels = [
@@ -3140,7 +2959,8 @@ name = "soupsieve"
version = "3.0.3"
source = { registry = "https://pypi.org/simple" }
resolution-markers = [
- "python_full_version >= '3.12'",
+ "python_full_version >= '3.13'",
+ "python_full_version == '3.12.*'",
"python_full_version >= '3.11.5' and python_full_version < '3.12'",
]
sdist = { url = "https://files.pythonhosted.org/packages/5e/77/2dcfa996b01702ab8fd0763d84098f6a640d6162a328f1c04c2697579a1a/soupsieve-3.0.3.tar.gz", hash = "sha256:7dcf6022eed0399eb9934a75e020148f7a2024c37b7dfcd3cf2c5505d69c364e", size = 115923, upload-time = "2026-10-12T13:21:17.696Z" }
@@ -3175,8 +2995,7 @@ name = "tldextract"
version = "5.4.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
- { name = "filelock", version = "4.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
- { name = "filelock", version = "4.2.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
+ { name = "filelock" },
{ name = "idna" },
{ name = "requests" },
{ name = "requests-file" },
@@ -3318,7 +3137,6 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "click" },
{ name = "h11" },
- { name = "typing-extensions", marker = "python_full_version < '3.11'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/da/34/30e9280707135d2cfc589dfff3cb796bd07a3aeb1a3e415ba09dd89d7bb4/uvicorn-0.54.0.tar.gz", hash = "sha256:a2e33cbfaa0306f8e6b0c13e0cb89d7d7a2da3e62b90c66e18c33d9807b28620", size = 112283, upload-time = "2026-09-25T06:52:37.601Z" }
wheels = [
@@ -3340,12 +3158,10 @@ version = "21.14.11"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "distlib" },
- { name = "filelock", version = "4.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" },
- { name = "filelock", version = "4.2.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" },
+ { name = "filelock" },
{ name = "packaging" },
{ name = "platformdirs" },
{ name = "python-discovery" },
- { name = "typing-extensions", marker = "python_full_version < '3.11'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/7f/be/4d1d59d309db76b5808fcfd78bd5996f4e7241366691c38fc331a3136398/virtualenv-21.14.11.tar.gz", hash = "sha256:593052d8477ea8c55a842387ce111bd08c72618f0c1133c302cafe335e570a57", size = 5503091, upload-time = "2026-10-18T07:06:34.716Z" }
wheels = [
@@ -3358,9 +3174,6 @@ version = "6.0.0"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/db/7d/7f3d619e951c88ed75c6037b246ddcf2d322812ee8ea189be89511721d54/watchdog-6.0.0.tar.gz", hash = "sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282", size = 131220, upload-time = "2024-11-01T14:07:13.037Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/0c/56/90994d789c61df619bfc5ce2ecdabd5eeff564e1eb47512bd01b5e019569/watchdog-6.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d1cdb490583ebd691c012b3d6dae011000fe42edb7a82ece80965b42abd61f26", size = 96390, upload-time = "2024-11-01T14:06:24.793Z" },
- { url = "https://files.pythonhosted.org/packages/55/46/9a67ee697342ddf3c6daa97e3a587a56d6c4052f881ed926a849fcf7371c/watchdog-6.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bc64ab3bdb6a04d69d4023b29422170b74681784ffb9463ed4870cf2f3e66112", size = 88389, upload-time = "2024-11-01T14:06:27.112Z" },
- { url = "https://files.pythonhosted.org/packages/44/65/91b0985747c52064d8701e1075eb96f8c40a79df889e59a399453adfb882/watchdog-6.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c897ac1b55c5a1461e16dae288d22bb2e412ba9807df8397a635d88f671d36c3", size = 89020, upload-time = "2024-11-01T14:06:29.876Z" },
{ url = "https://files.pythonhosted.org/packages/e0/24/d9be5cd6642a6aa68352ded4b4b10fb0d7889cb7f45814fb92cecd35f101/watchdog-6.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6eb11feb5a0d452ee41f824e271ca311a09e250441c262ca2fd7ebcf2461a06c", size = 96393, upload-time = "2024-11-01T14:06:31.756Z" },
{ url = "https://files.pythonhosted.org/packages/63/7a/6013b0d8dbc56adca7fdd4f0beed381c59f6752341b12fa0886fa7afc78b/watchdog-6.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ef810fbf7b781a5a593894e4f439773830bdecb885e6880d957d5b9382a960d2", size = 88392, upload-time = "2024-11-01T14:06:32.99Z" },
{ url = "https://files.pythonhosted.org/packages/d1/40/b75381494851556de56281e053700e46bff5b37bf4c7267e858640af5a7f/watchdog-6.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:afd0fe1b2270917c5e23c2a65ce50c2a4abb63daafb0d419fde368e272a76b7c", size = 89019, upload-time = "2024-11-01T14:06:34.963Z" },
@@ -3370,8 +3183,6 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/68/98/b0345cabdce2041a01293ba483333582891a3bd5769b08eceb0d406056ef/watchdog-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c", size = 96480, upload-time = "2024-11-01T14:06:42.952Z" },
{ url = "https://files.pythonhosted.org/packages/85/83/cdf13902c626b28eedef7ec4f10745c52aad8a8fe7eb04ed7b1f111ca20e/watchdog-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134", size = 88451, upload-time = "2024-11-01T14:06:45.084Z" },
{ url = "https://files.pythonhosted.org/packages/fe/c4/225c87bae08c8b9ec99030cd48ae9c4eca050a59bf5c2255853e18c87b50/watchdog-6.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b", size = 89057, upload-time = "2024-11-01T14:06:47.324Z" },
- { url = "https://files.pythonhosted.org/packages/30/ad/d17b5d42e28a8b91f8ed01cb949da092827afb9995d4559fd448d0472763/watchdog-6.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c7ac31a19f4545dd92fc25d200694098f42c9a8e391bc00bdd362c5736dbf881", size = 87902, upload-time = "2024-11-01T14:06:53.119Z" },
- { url = "https://files.pythonhosted.org/packages/5c/ca/c3649991d140ff6ab67bfc85ab42b165ead119c9e12211e08089d763ece5/watchdog-6.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:9513f27a1a582d9808cf21a07dae516f0fab1cf2d7683a742c498b93eedabb11", size = 88380, upload-time = "2024-11-01T14:06:55.19Z" },
{ url = "https://files.pythonhosted.org/packages/a9/c7/ca4bf3e518cb57a686b2feb4f55a1892fd9a3dd13f470fca14e00f80ea36/watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13", size = 79079, upload-time = "2024-11-01T14:06:59.472Z" },
{ url = "https://files.pythonhosted.org/packages/5c/51/d46dc9332f9a647593c947b4b88e2381c8dfc0942d15b8edc0310fa4abb1/watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379", size = 79078, upload-time = "2024-11-01T14:07:01.431Z" },
{ url = "https://files.pythonhosted.org/packages/d4/57/04edbf5e169cd318d5f07b4766fee38e825d64b6913ca157ca32d1a42267/watchdog-6.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e", size = 79076, upload-time = "2024-11-01T14:07:02.568Z" },
@@ -3390,23 +3201,6 @@ version = "16.1.1"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/21/f7/bc3a25c5ec26ce62ce487690becc2f3710bbc7b33338f005ad390db0b986/websockets-16.1.1.tar.gz", hash = "sha256:db234eda965dcce15df96bb9709f587cd87d4d52aaf0e80e2f34ec04c7670c57", size = 182204, upload-time = "2026-07-17T22:51:05.858Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/08/e7/d1671fb984f9dd844e1da5288070c7c23c9eaba3082d3871aae19c3ab8b9/websockets-16.1.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:49ae99bdfcae803a885c926bf14f886196e84925395bb3f568fef5c0f0979d7d", size = 179570, upload-time = "2026-07-17T22:48:24.032Z" },
- { url = "https://files.pythonhosted.org/packages/99/f5/70df723bf571f5e0b1b845e0a4ff1c966eeb84f667599fc251caa37d15a3/websockets-16.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5bfd1ac19b1b9986a9c95a82d5e23a391ebb09e12c34d7be6094b86efcc35731", size = 177252, upload-time = "2026-07-17T22:48:25.775Z" },
- { url = "https://files.pythonhosted.org/packages/90/72/2f14b2e167170b8bf1c8bb7f9b0d78000f470d41a2085a91f33e3917b6c9/websockets-16.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9246a0d063cfcbcc85f2359dd6876d681213f4790832272aa16641b4ed5d64d4", size = 177530, upload-time = "2026-07-17T22:48:27.337Z" },
- { url = "https://files.pythonhosted.org/packages/f3/18/a17e2f0cde02dc10154c808deed7e1d8528afff93612f70d3f0a5b19b011/websockets-16.1.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:1214e673c404684b9bf7154f5cf43b45025b1a6160fac3a9e438e9c1a97e22cb", size = 186038, upload-time = "2026-07-17T22:48:28.756Z" },
- { url = "https://files.pythonhosted.org/packages/d5/b0/41de283899cf5929d637b72a508cdbc9aa40dc0f317c6b77613fd1000488/websockets-16.1.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:90001d893bc368e302ef168d82130b4e4fdd27b85fa094682df9b667c2d48838", size = 187278, upload-time = "2026-07-17T22:48:30.328Z" },
- { url = "https://files.pythonhosted.org/packages/50/61/874aab5257e027f9f61b5004cec65e592babca7942b1bc09f38e72b7f1fd/websockets-16.1.1-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:130937b167a52af203c8d58e78d67705874e82759862e3b9671a452fec4abc87", size = 189936, upload-time = "2026-07-17T22:48:31.896Z" },
- { url = "https://files.pythonhosted.org/packages/a6/1a/42173913ac5519607220849ed417c864d77384e4119f06dbba964a50f096/websockets-16.1.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9c9f23004a3d40e89c01a7955d186a6cc83418d93b749701944ce2de3e95a1f3", size = 187796, upload-time = "2026-07-17T22:48:33.344Z" },
- { url = "https://files.pythonhosted.org/packages/1b/f4/37c1840bd89b529479aec41470b97b7c683b107ca90b6399ac5afb99dedf/websockets-16.1.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f55f0b01956a094c8587146d9558c91937e78789c333860ffaf35931a6e5dbc4", size = 186481, upload-time = "2026-07-17T22:48:34.843Z" },
- { url = "https://files.pythonhosted.org/packages/9e/70/652d9b964adcfbeb056f42e0ca6bece34d108fe75534e74df20643cae199/websockets-16.1.1-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6aaface73b9c71974c6497366d8b9628357f6c9749e09c4ea3610176c63f2ae3", size = 184351, upload-time = "2026-07-17T22:48:36.307Z" },
- { url = "https://files.pythonhosted.org/packages/13/f1/af3850e5d48d482921985be72ebcb169c6180b3a77b57bd612deebcee23b/websockets-16.1.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:dc0fad4933f427acd5b1cec210f3ea6dce7089e1724e4b9ec6ef47c6c04d1b3b", size = 186791, upload-time = "2026-07-17T22:48:37.762Z" },
- { url = "https://files.pythonhosted.org/packages/1d/40/1a4e3ed4969ec378dcad337e5f1472c5e292cb3e733bc392f0dc2e230abd/websockets-16.1.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:f2769a0344a09e9ccf5b3cce538bc75a51b53eff3275d3896310c8552049195d", size = 185413, upload-time = "2026-07-17T22:48:39.127Z" },
- { url = "https://files.pythonhosted.org/packages/aa/3e/4e3fa1afe8f1a6a780434cd9ba8eb422632b044eff3dd73f6af67523c147/websockets-16.1.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f70541f3104339f59f830522d94ebadb1bf47426287381623443d8bb1cdbf33d", size = 187178, upload-time = "2026-07-17T22:48:40.676Z" },
- { url = "https://files.pythonhosted.org/packages/71/ab/dd742766aa5dda7f349be0de49e4d565b84cf6f7f7fa02e07692f0f2bdd9/websockets-16.1.1-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:dc385593a42e31cd6fb60c19f0ecb015b386603818fc2c6c274fb42bd2bb4165", size = 185051, upload-time = "2026-07-17T22:48:42.098Z" },
- { url = "https://files.pythonhosted.org/packages/ae/f5/76438c6560f416f1c0a7f587679fb97cc6e99ed336011d43ce2002dd27c1/websockets-16.1.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:387e8e4aa5df2f90b198fa3cad3478822a89cf905b6a6d6c97dc3664689640cc", size = 185846, upload-time = "2026-07-17T22:48:43.472Z" },
- { url = "https://files.pythonhosted.org/packages/62/12/5c0320f2127823d27b2d56d611d31b0b284ad4edcb41364d66bf4c92b537/websockets-16.1.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:fd46fff7eb62c24804d234f0051c7a8ea81285ad63e0337d3dcf33ca82aee58a", size = 186066, upload-time = "2026-07-17T22:48:44.884Z" },
- { url = "https://files.pythonhosted.org/packages/a2/97/875986b857b955c3f9dd192cb8a1af81254dfb2ea22cc9590f0a1e020b8b/websockets-16.1.1-cp310-cp310-win32.whl", hash = "sha256:7883388947767080f094950b342b30d35a2a06b849cd967c422fa0db72b40ea9", size = 179940, upload-time = "2026-07-17T22:48:46.481Z" },
- { url = "https://files.pythonhosted.org/packages/54/82/1013a5fe7ddae8e102bc3b4b39db81d8d28fd02100a324ce6ede8cd832b1/websockets-16.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:d57685547e0060cc6fd90ee6a28405d6bd395e525545f13c8d7cd99c78afd79f", size = 180239, upload-time = "2026-07-17T22:48:48.043Z" },
{ url = "https://files.pythonhosted.org/packages/2b/03/47debfe28e9d6d354be5d777b67fd44c359b9eb299a5d103500bd7cc3e37/websockets-16.1.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d0fcf657e9f13ff4b177960ab2200237b12994232dfb6df16f1cfe1d4339f93c", size = 179566, upload-time = "2026-07-17T22:48:49.596Z" },
{ url = "https://files.pythonhosted.org/packages/72/93/31efa1ed78c17e5cfc229fd449e3966e1b9cc15753204cd585cc8dd01f4a/websockets-16.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b852788aa51764e2d8e4cf5493d559326bcae5e38d16ba25ffa322b034df272a", size = 177250, upload-time = "2026-07-17T22:48:50.942Z" },
{ url = "https://files.pythonhosted.org/packages/01/4a/542378ab3972b0c1cf1df3df3eff9591cea0d30c58c3aa3c4ddbc244e787/websockets-16.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1427fb4cf0d72f66333e2cacc3ff5f575bf2d7008166ce991a4a470b21d51a22", size = 177528, upload-time = "2026-07-17T22:48:52.59Z" },
@@ -3545,25 +3339,6 @@ version = "4.0.2"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/39/e6/ed6c428055ffd3f9299db3ec8671fd78b70c24173c040b8faafb6348ebbb/xxhash-4.0.2.tar.gz", hash = "sha256:af3d1b3cfa5280e84d8968e9f30c9eca75781db4915eb6d6acb0dd4fc93e0f47", size = 101549, upload-time = "2026-10-19T06:00:08.459Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/3c/55/a3f49f2f44b226aa0cde7ef7f885b419c57e5b3795292f83fa86ec4bb2fd/xxhash-4.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8050eb0d892d11308f81b6980d13098ae065efa57ec68f0e9ec44b8bc6b9988f", size = 38451, upload-time = "2026-10-19T05:57:55.948Z" },
- { url = "https://files.pythonhosted.org/packages/17/5d/5dca761cb18389ba8b984c069a86b0e931a97bd1b4cd97916a49a0ddb389/xxhash-4.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5eb07be4bbf9b0b751576edc37423017e5666d37d24b993b476295ca0d2138cb", size = 36210, upload-time = "2026-10-19T05:59:42.065Z" },
- { url = "https://files.pythonhosted.org/packages/37/85/ef18810906b3bd53542732e3eb977b955eee2c042f4a6f8cc6f6314a55bd/xxhash-4.0.2-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:7bc036ceb030d468473b9e19e3d49617c48b378f92c4cc07eee83966771a2b55", size = 243148, upload-time = "2026-10-19T05:58:12.196Z" },
- { url = "https://files.pythonhosted.org/packages/94/d3/d366c098a5d1fdfac145b35300cf0cd9e97a59313911d436d738127d24d1/xxhash-4.0.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f9ffee37361effc04fc1ae120f00e5dfe2491b05d637cd45e62b8a8b35bc66fd", size = 266045, upload-time = "2026-10-19T05:59:02.146Z" },
- { url = "https://files.pythonhosted.org/packages/59/e2/3fde2bed9deb74cf5722e9f3dcde8099d21a0a21c63b62f1b097320fe993/xxhash-4.0.2-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:827580bfb04f69c6c40283cb299be15508e151af066aa012f07732e9579b3f30", size = 287381, upload-time = "2026-10-19T05:57:57.593Z" },
- { url = "https://files.pythonhosted.org/packages/64/1e/ff55b47e53d7aa9923e7cae792d72987e08e9a6bb7b1ecf0a92b4d137a1f/xxhash-4.0.2-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2c2d0dbcf64ac20300508b5a7bd763924d58f19feb13cf693922fe7188bbf431", size = 270664, upload-time = "2026-10-19T06:01:13.095Z" },
- { url = "https://files.pythonhosted.org/packages/35/f5/fa8db286293a540831df6a15badbdbea97e79344b21fcfb692048c67c3be/xxhash-4.0.2-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:603eac9723ac2becbf126cf0d237b6ac5cd645592809d697aeced51842ae09bd", size = 497783, upload-time = "2026-10-19T05:59:02.68Z" },
- { url = "https://files.pythonhosted.org/packages/f3/66/6f6fdd7fae8161edeb927b8050e90949931faadf105509d9a1c5d9ccfd00/xxhash-4.0.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f9f528029f32c081622f36a0149898929c0a89f601f1cdc6620c57cd836762db", size = 249484, upload-time = "2026-10-19T05:57:57.481Z" },
- { url = "https://files.pythonhosted.org/packages/c7/65/9f1080df32a7c9dda8edda9f1650e29b967d5b2a3a5495f2782c69bce1d4/xxhash-4.0.2-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:dc290f7366f2a31093d31aae3ebad13299d7e4de9daf4ef3e544868bb7755364", size = 333369, upload-time = "2026-10-19T05:59:43.521Z" },
- { url = "https://files.pythonhosted.org/packages/d7/e1/fe12340ec0015ad1efd4ac2f21f501b27f5f0abe8f04231feba5db1fb788/xxhash-4.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ea7b157d98bd8dd2cae312422657a122c059cbbfa67fd7b53c49d8aa2b5f4202", size = 262442, upload-time = "2026-10-19T05:58:14.748Z" },
- { url = "https://files.pythonhosted.org/packages/ff/92/fd967b9302c9b3cf1d49dc324f6316c0e4fb8452fa8bd078c4c4e6319c66/xxhash-4.0.2-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:2889ac17629a786dec7991112b1dde2de377f8035dc0bd9590bd7bc640b01ca4", size = 289386, upload-time = "2026-10-19T05:59:04.994Z" },
- { url = "https://files.pythonhosted.org/packages/00/7f/ea000af86e4ba9624b08870740a8578b7bc6d5a8fe831f3859fcf1a92fc5/xxhash-4.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:30b1798c6e6814504f32e81a0b87072f9b38628b0d610c22d53918e5059e086e", size = 247972, upload-time = "2026-10-19T05:57:59.559Z" },
- { url = "https://files.pythonhosted.org/packages/92/1c/7d3949e0413c8f448cb3bc84bb74af440338927ef96b0d80dddd9d4535d2/xxhash-4.0.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:c5d199912f885f381ac518d0bb300dc2c4d543adf8f98bc41f33d9cd503d2493", size = 267966, upload-time = "2026-10-19T06:01:14.69Z" },
- { url = "https://files.pythonhosted.org/packages/c4/50/8076ad7f01b11d6ce38a2cedbe0d4222779c5ffc9f9825b347abe6c2f468/xxhash-4.0.2-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:78219e648979877aeb1782486f598ca99c5788da388155510daf6527fee57ef6", size = 322520, upload-time = "2026-10-19T05:59:05.688Z" },
- { url = "https://files.pythonhosted.org/packages/b1/4c/f8f24c2fa64faec51f0f5ec9351fb1a49df1f5d997b2c3ac77c4a8ebc277/xxhash-4.0.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:46fb84bad2ca32eb68eb11882159d0a0af19576026946a185c957d8d306624a7", size = 466248, upload-time = "2026-10-19T05:57:58.837Z" },
- { url = "https://files.pythonhosted.org/packages/41/9e/ade1ecda72177c167586d9034c4a7de939ade2002c52d3e58e82ac0756a4/xxhash-4.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5359b14f7467972b50ee264f0a711ec0bdc7d0a3d05c11f5ed3fe462fcbba0ee", size = 246129, upload-time = "2026-10-19T05:59:46.152Z" },
- { url = "https://files.pythonhosted.org/packages/f6/be/2a072d351fb1ca7aec3f758b14618eb21d6ff8279905de35d37a1317742d/xxhash-4.0.2-cp310-cp310-win32.whl", hash = "sha256:c3f96730e700636db76860d2710147202470e3059d3d37bc018088ebc70b7573", size = 34620, upload-time = "2026-10-19T05:58:17.185Z" },
- { url = "https://files.pythonhosted.org/packages/c0/c1/dc439eae83b7c39099ad04939450a2c7b9a3aacfb58447d726d37ea30a6d/xxhash-4.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:1b0f2dc4556ed6466707b6343266d90ba6cd6707822f5d567a6f8b51f5ed70d4", size = 37048, upload-time = "2026-10-19T05:59:07.444Z" },
- { url = "https://files.pythonhosted.org/packages/33/b1/5f50977fd756a094ff586a32917b961e81aec331d05298f543ac68b4a794/xxhash-4.0.2-cp310-cp310-win_arm64.whl", hash = "sha256:d63ab508ecb528c9ede793a362411c064e8c55973e7968415bb0159144ba0583", size = 33206, upload-time = "2026-10-19T05:58:01.245Z" },
{ url = "https://files.pythonhosted.org/packages/63/fb/09726eee9268e78494cf031d6a37404f4efef2bcdf6b0c2ec6f737db089d/xxhash-4.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ec851cf4a64d98e09101a18190fd20de2928b2ae1541093236664a47fb101271", size = 38453, upload-time = "2026-10-19T06:01:15.916Z" },
{ url = "https://files.pythonhosted.org/packages/3f/28/d581b2308cb9c731644a86f25b33cba6e9e540d1d05e3c51fcc274f2df69/xxhash-4.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f2b2839a83b9a9d03ddf89f440bb43627832e77b9a4276988d8aa0bb49aed0df", size = 36206, upload-time = "2026-10-19T05:59:08.408Z" },
{ url = "https://files.pythonhosted.org/packages/cf/86/e2a23ad2eb1cf7155ec72b6af92a258c2b863c3f0337b1719d82c972a357/xxhash-4.0.2-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:4c3834e32060ab46ad9cfe4981d48c306cd1f124b8efe0aed559a765f6e1d332", size = 253273, upload-time = "2026-10-19T05:58:00.641Z" },
@@ -3672,6 +3447,50 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/c0/d6/43ed2405230cb1137c5c451151a3cfb5427423bbf6ad1b20e0de45e1804c/xxhash-4.0.2-cp314-cp314t-win32.whl", hash = "sha256:768aba59c7fb2e3e976560c91223cb01f00f83809088e451e59f05b841486fbf", size = 35463, upload-time = "2026-10-19T06:01:38.092Z" },
{ url = "https://files.pythonhosted.org/packages/ff/74/a20b6ee566d4ea3d81cbe99bc04a116f8c97246e1404f13b930b2ad9cdc4/xxhash-4.0.2-cp314-cp314t-win_amd64.whl", hash = "sha256:ca848e5edfe3aa31ea7355df790b25e55f910dbb540d587e738e1b0c644e1263", size = 37474, upload-time = "2026-10-19T05:59:38.345Z" },
{ url = "https://files.pythonhosted.org/packages/4c/9a/98b69e482b71a7c956fe7a748b118df4b268edb31b10b35e63878a467397/xxhash-4.0.2-cp314-cp314t-win_arm64.whl", hash = "sha256:04fe6c267bb6a04d8e5f56d8058eac0621359dc8fc03faa0c03cf1dd4343304e", size = 34621, upload-time = "2026-10-19T05:58:31.122Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/df/58b65a0a654bfa4da9a19168338fc89e30337f60ccb7b7d695fc2ebf7e67/xxhash-4.0.2-cp315-cp315-android_24_arm64_v8a.whl", hash = "sha256:bdee724c52954f6d3a551adc30eac1555a6ab1444dd3e02bffcc51832cbcd5da", size = 43729, upload-time = "2026-10-19T06:00:18.211Z" },
+ { url = "https://files.pythonhosted.org/packages/07/aa/d25b1a9f4f7dcd2330651a2253f6bc8aee5efdedd4839349bb734dcc2156/xxhash-4.0.2-cp315-cp315-android_24_x86_64.whl", hash = "sha256:79d832049ab43b88846a13161351887892f3d8cb0bcd3e7c91b3f125caada384", size = 40737, upload-time = "2026-10-19T05:58:55.45Z" },
+ { url = "https://files.pythonhosted.org/packages/db/77/bac055f63b9be647f28d81ec040db14ee448ebac4c3eb2066b4170b68ea9/xxhash-4.0.2-cp315-cp315-ios_13_0_arm64_iphoneos.whl", hash = "sha256:fb3dce09d52103f29a4648649df1ab217e28ccc2e9a9c08e8daab472e5cda9c9", size = 34768, upload-time = "2026-10-19T05:59:40.791Z" },
+ { url = "https://files.pythonhosted.org/packages/d9/a3/eab44082caa9fc734eac6777a705b659c8de634c2a08da51765e48ccb639/xxhash-4.0.2-cp315-cp315-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:58d8fc67453d337a8cbeed4f5543493c3792cb5f3839c17bc08ecf307592466f", size = 35722, upload-time = "2026-10-19T05:58:32.75Z" },
+ { url = "https://files.pythonhosted.org/packages/9a/0c/fd2f4090ee2466e9af1f5dd34b298f3d97463fbb537de066beb47ce961aa/xxhash-4.0.2-cp315-cp315-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:4a5955614bf744ac52faaf535ff94df3e935ec057c6242a3d8aa4e1007efa0f0", size = 38079, upload-time = "2026-10-19T06:01:39.191Z" },
+ { url = "https://files.pythonhosted.org/packages/73/77/dba9d1377dbab3c37f7302dccaf874fb7dcda0850ac6ca409aa95df39556/xxhash-4.0.2-cp315-cp315-macosx_10_15_x86_64.whl", hash = "sha256:eff48c792788e33ace8e8e3ef6a0db45741d6acdc35c9b89dc914469fa040536", size = 38228, upload-time = "2026-10-19T05:59:39.965Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/1a/d38f9b0876959b5dbb3940efd404ff7ff37297b9a494a4152f022292672d/xxhash-4.0.2-cp315-cp315-macosx_11_0_arm64.whl", hash = "sha256:b881b67c01929df867d30fed94d4221205639072a63049818732c1bae54e74f0", size = 35966, upload-time = "2026-10-19T05:58:33.361Z" },
+ { url = "https://files.pythonhosted.org/packages/f6/3c/f65cd98552eb469de81b74db65ad848a94f5259b915ead99ab84080b139d/xxhash-4.0.2-cp315-cp315-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:7016f753d9c79d2ed53a1517b3eb1bd475f05d026fa3fbc3acec393d14ddd396", size = 264586, upload-time = "2026-10-19T06:00:19.361Z" },
+ { url = "https://files.pythonhosted.org/packages/83/84/324228db6b7b0ddeb527f0936d2aeb72664e0a6ce4129abdfb0e78444460/xxhash-4.0.2-cp315-cp315-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f5a509325aea8802d2ab710a5f2fb7c4d7b1a6c90f9a148dbc9f84311a1aa15e", size = 285892, upload-time = "2026-10-19T05:58:57.311Z" },
+ { url = "https://files.pythonhosted.org/packages/2d/e4/52f06d36a699084c6743b18fdad46429a657aad83479a88f9a639041fdd7/xxhash-4.0.2-cp315-cp315-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7c1087b8dc4a08709e1ce358a79671f9aa4d029211aff537d0f821e4a6483305", size = 306548, upload-time = "2026-10-19T05:59:42.377Z" },
+ { url = "https://files.pythonhosted.org/packages/73/50/1945f2a0e39a80ac84ab40bb9fde7b83b4039077478119b504ac162d160c/xxhash-4.0.2-cp315-cp315-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:531a1056fdfae837ef56c81e62bb4a0ce3274b813a3164bb558151d913684cce", size = 287958, upload-time = "2026-10-19T05:58:34.589Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/f2/8df0a257de50f8550d047b6c03b7df336147f33163dc1c5455ab5c325b44/xxhash-4.0.2-cp315-cp315-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:fe3ae82b1c7d031da7bb300188fe31018fbc05e1e496e0edb7c930d6ecf88d1a", size = 520071, upload-time = "2026-10-19T06:01:40.79Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/26/8a5349232374825f418141292a3edda80ac7c5d818126eee5c594fffdb97/xxhash-4.0.2-cp315-cp315-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5fb7bfdd0d1136fb73e4efa9a1eaff71a72f45ff7409647f601bf714d7838922", size = 268246, upload-time = "2026-10-19T05:59:41.356Z" },
+ { url = "https://files.pythonhosted.org/packages/d0/1f/3248f97b75c221d352bd37d70d5f96384f4cfa9ee375a7ed7956f7d1657f/xxhash-4.0.2-cp315-cp315-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:9a1f6598dc8f7ccdc9bd5ac51264c71431185194e8c88042502a04c1f53b5780", size = 350146, upload-time = "2026-10-19T05:58:35.269Z" },
+ { url = "https://files.pythonhosted.org/packages/a7/65/682ffa31455530fb402947eb8956406378dc853185348750c7cd1a1724a7/xxhash-4.0.2-cp315-cp315-musllinux_1_2_aarch64.whl", hash = "sha256:329bf14bab110bf111aa7211c613a94e97e4554407d2cc964c01338278cd4213", size = 281953, upload-time = "2026-10-19T06:00:20.692Z" },
+ { url = "https://files.pythonhosted.org/packages/66/cb/57c69db6dd0b9959b9ed28a2c73a659f5c621987ab153a824ae76f331d52/xxhash-4.0.2-cp315-cp315-musllinux_1_2_armv7l.whl", hash = "sha256:fbf323d9c22c6ac25cd8c4633566393282fa22db583ef0320f82bded10d7cc2e", size = 307854, upload-time = "2026-10-19T05:58:59.316Z" },
+ { url = "https://files.pythonhosted.org/packages/ba/63/755416cb522db17097e32f4d6871a358ba977bba77849efede09bd30a230/xxhash-4.0.2-cp315-cp315-musllinux_1_2_i686.whl", hash = "sha256:1ba7e798c28e327b221270af073f7319c771daaf5974d18856c0ed3d0fa1c6de", size = 268216, upload-time = "2026-10-19T05:59:44.779Z" },
+ { url = "https://files.pythonhosted.org/packages/27/77/d10ddc5642addbdd11c7e7ee4f02d2876d00b437bfba8e49cc2eff96e4f7/xxhash-4.0.2-cp315-cp315-musllinux_1_2_ppc64le.whl", hash = "sha256:b9bff92881cfd1d4f98f27e1275f125f90ddf324571ac9a3e35d1dfcf6f42d19", size = 284949, upload-time = "2026-10-19T05:58:36.835Z" },
+ { url = "https://files.pythonhosted.org/packages/27/70/dcbd582e7f6bdac6673a93ad7eff2309ad2a06d2f5f92922389a90d8a708/xxhash-4.0.2-cp315-cp315-musllinux_1_2_riscv64.whl", hash = "sha256:bb99a2c5c35cad78284e057f8207856c911ac088ff89d0807dccf07b65775895", size = 338056, upload-time = "2026-10-19T06:01:42.241Z" },
+ { url = "https://files.pythonhosted.org/packages/55/28/3ab7cb9ec21f590cf56200facc8850260dfb96d5099919df7f93d4613983/xxhash-4.0.2-cp315-cp315-musllinux_1_2_s390x.whl", hash = "sha256:730fba89df435ac081bc2ae28e4fa0ca5009a9eb5f4947b648abc27acd96e7b3", size = 487603, upload-time = "2026-10-19T05:59:43.003Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/d1/f48e74dbb0ca9d40565965845a5a6384216e238b7aa016f8a67dfe929e32/xxhash-4.0.2-cp315-cp315-musllinux_1_2_x86_64.whl", hash = "sha256:2ca60825069a19e381f4ed03d0e036907b2b98460d33d4f8d1a93cf2d7e37c7b", size = 263834, upload-time = "2026-10-19T05:58:37.629Z" },
+ { url = "https://files.pythonhosted.org/packages/cf/72/cddec8f3243d53d2387e9529a9556e8fe820b411f87c791852ca2056c128/xxhash-4.0.2-cp315-cp315-pyemscripten_2026_5_wasm32.whl", hash = "sha256:89d02277a7d5ce8b3fe21182ce4e32cca54963768c4b9609ce29e1ac82922acf", size = 20549, upload-time = "2026-10-19T06:00:21.926Z" },
+ { url = "https://files.pythonhosted.org/packages/26/6f/50f89c9174c2b5fae56a6ec1b81f1d8065ced4792974f9575daf5ef2629b/xxhash-4.0.2-cp315-cp315-win32.whl", hash = "sha256:b4c405512c813a47cf70e47c9886b07702a38e991756216b65ac19f9cbb4f8f8", size = 35136, upload-time = "2026-10-19T05:59:01.461Z" },
+ { url = "https://files.pythonhosted.org/packages/77/a4/06a47cf94314277d27f2468888ab93d1b82e8334ad69281775d8b21a3944/xxhash-4.0.2-cp315-cp315-win_amd64.whl", hash = "sha256:30ffd0deaf0e9ea112c38656922323ae23dbaa90878cebdb243f646d121e52db", size = 37154, upload-time = "2026-10-19T05:59:47.022Z" },
+ { url = "https://files.pythonhosted.org/packages/dd/ec/9450480bef24ecb6dae89f69456b2d891c59cccf86a4756b2cbe70fdd4ad/xxhash-4.0.2-cp315-cp315-win_arm64.whl", hash = "sha256:6010eab32dd57dcb8070b81a5d459c422d09de3ffd1bf6f11f0ee381582fe5a5", size = 34365, upload-time = "2026-10-19T05:58:39.414Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/6a/89f7d7b924e82b852815b04175923d7a2a83b7b993484003b5c9a09b8468/xxhash-4.0.2-cp315-cp315t-macosx_10_15_x86_64.whl", hash = "sha256:fdc8799f1a4835b40c615cbc9ce73c8a42f51c3218726d285367dcf853f36128", size = 38589, upload-time = "2026-10-19T06:01:43.576Z" },
+ { url = "https://files.pythonhosted.org/packages/28/c8/35487956f53073b94621cf0a3e157baaf4d9ed79a4b37aae73f26e8ef617/xxhash-4.0.2-cp315-cp315t-macosx_11_0_arm64.whl", hash = "sha256:aa60df2de8dc4f59ae4faddd77237514ff88d15c2afd6d501e21dbe82a4711db", size = 36357, upload-time = "2026-10-19T05:59:45.367Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/64/30e6b89adc1b37b0c40885d73682ec5f0a939ded3628f53e6b81e735daa1/xxhash-4.0.2-cp315-cp315t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:2cf332a7b823e867cc0d8e4c69eb5c82ae96ed827677fe4d96f990a6a1fd86b8", size = 273536, upload-time = "2026-10-19T05:58:40.318Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/ce/9dd64e3c06ef7116b3a10ee78fb56276f4382191b008772bd3ceaca80c0f/xxhash-4.0.2-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5846aa6fe15c5b1cda6738ef9b1ba3cf49028b729507ce44a1e9fc2642586b06", size = 299112, upload-time = "2026-10-19T06:00:23.08Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/e2/e58e25d55f5d3d4786b50b537078c1eb57a2efe8aa079bbc55d7f785d196/xxhash-4.0.2-cp315-cp315t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:07abbc84c3b22064294e8d7f8e8d71a3c0dd3ae9aca8dfda55ad1977d3a7af61", size = 314503, upload-time = "2026-10-19T05:59:03.402Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/a6/1d8948e5ebbd7d408b7e06edb0ae4f4fcbb9ac61fcb558bc49d28231a989/xxhash-4.0.2-cp315-cp315t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0c9ce49f326c85958df18789486d4c28812b52890e74d833b121735200d04bce", size = 299177, upload-time = "2026-10-19T05:59:49.215Z" },
+ { url = "https://files.pythonhosted.org/packages/d3/a0/2b3b1c252264965ed7878d927547bf9969d553d75b92a272fba91d268cac/xxhash-4.0.2-cp315-cp315t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:da1a626793a5fde9c97466d443ae7c62f3d9bdc8658fd8363f435852952996d3", size = 531942, upload-time = "2026-10-19T05:58:41.625Z" },
+ { url = "https://files.pythonhosted.org/packages/20/18/7163affae311b049315549e3b894983289091dc62c9f72959607b5748bb1/xxhash-4.0.2-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:250048412cb196e1f705134dadbc415eca399e74d2678b935660be0b2e4fc380", size = 278740, upload-time = "2026-10-19T06:01:44.69Z" },
+ { url = "https://files.pythonhosted.org/packages/42/48/0f318837dff3b56ed434ae0939da047c280805092b07d993750175f3ba74/xxhash-4.0.2-cp315-cp315t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b5fbcdf157caa642de731565310bae6a5c3b1e15f28507feb3eddf04bd4a56a9", size = 359859, upload-time = "2026-10-19T05:59:47.605Z" },
+ { url = "https://files.pythonhosted.org/packages/99/2f/78c271392a474b5d24f3148ba111a74e36e91718c782a455b847453279af/xxhash-4.0.2-cp315-cp315t-musllinux_1_2_aarch64.whl", hash = "sha256:4d86d5aaae8312de06d25b91fbc901b891b3b5ce2f5c8359b340b4bcc3d01b8f", size = 293523, upload-time = "2026-10-19T05:58:42.495Z" },
+ { url = "https://files.pythonhosted.org/packages/11/16/839eacbb24390476e95a03f6738b30a745a6b79c117e6d02c7e3367e7907/xxhash-4.0.2-cp315-cp315t-musllinux_1_2_armv7l.whl", hash = "sha256:2bc6cfaa4a39bfca4c31878ad769986d2d039673eaf527068f668e88ff65ab99", size = 318759, upload-time = "2026-10-19T06:00:24.336Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/ba/c7750692cb427911d3aad8447ff715b9721bcc8ae1de344a9153c7982d6b/xxhash-4.0.2-cp315-cp315t-musllinux_1_2_i686.whl", hash = "sha256:d695979588da837a36d5195d10812c4118515d33e4f41a9b4d0cd92bf7c2f716", size = 277562, upload-time = "2026-10-19T05:59:06.611Z" },
+ { url = "https://files.pythonhosted.org/packages/29/65/70fefbf75329b5afb33b2bbf8035ca24eeba52f0f836e1b3d21aae153ac7/xxhash-4.0.2-cp315-cp315t-musllinux_1_2_ppc64le.whl", hash = "sha256:00329536c281e13725283421dcdf4633f5710123e06a608b910d6a6f3bc891cf", size = 295093, upload-time = "2026-10-19T05:59:51.738Z" },
+ { url = "https://files.pythonhosted.org/packages/09/3a/fbe36c6fa093c481cdc8299ba63f57c786b01a2bfbc3f2fe3d5caab56731/xxhash-4.0.2-cp315-cp315t-musllinux_1_2_riscv64.whl", hash = "sha256:8113a8cb51a5121b8017f275e9aff2cb9203d57e614c989f943f81937442896b", size = 347048, upload-time = "2026-10-19T05:58:44.217Z" },
+ { url = "https://files.pythonhosted.org/packages/45/7f/587b3d99d5948889ecaa01a9d99cc7208ab150dead683f60345a28a48ef1/xxhash-4.0.2-cp315-cp315t-musllinux_1_2_s390x.whl", hash = "sha256:438fdfda0fb1198b7e9a5b4da6b073f36cec5dd7129dd486bbe72c8ecd623adf", size = 497187, upload-time = "2026-10-19T06:01:46.21Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/87/738a71217aad9138fada7d16fc69b03325a202aebc95bb0b257d86ed9682/xxhash-4.0.2-cp315-cp315t-musllinux_1_2_x86_64.whl", hash = "sha256:2f164b788017a4a766884aa9acb3490bbc5f03a79adc7d02894393df44675c1e", size = 274316, upload-time = "2026-10-19T05:59:49.967Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/c9/4c59e7436d2d4ce0a84e58cf03cbf6fac603052d1135ed67f125d26f0562/xxhash-4.0.2-cp315-cp315t-win32.whl", hash = "sha256:3d7f484b338ddf6a8e58ffb73c4f9d13ea157f01152fdfdf9c44c9a59666f3ac", size = 35462, upload-time = "2026-10-19T05:58:44.88Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/17/78057741b329c90877b242fafffcfbb0fb4d719b7ce706fd401ee033ae73/xxhash-4.0.2-cp315-cp315t-win_amd64.whl", hash = "sha256:33f89d2a64716d7108f49b38d92ebe5344d3c50440f15f48f0f65cbcf4ffb781", size = 37478, upload-time = "2026-10-19T06:00:25.786Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/07/c785f081244dbac609607f1f7ab883db45b26cd291d937d9bd8b67326db0/xxhash-4.0.2-cp315-cp315t-win_arm64.whl", hash = "sha256:26f8343b7a5d65f704029a0ebeb7e98a47149cf76dcab0072f0874307181bfb5", size = 34617, upload-time = "2026-10-19T05:59:09.137Z" },
{ url = "https://files.pythonhosted.org/packages/4e/ab/f5e56048d06c1a42834978a4c17a004a202b092e2f72a632e68868fb9f52/xxhash-4.0.2-graalpy312-graalpy250_312_native-macosx_10_13_x86_64.whl", hash = "sha256:fe5a0d96cb339d383d3f720ffe94d8a7a51ccc8abf4d348a3ee058b5625f948e", size = 31816, upload-time = "2026-10-19T06:00:30.318Z" },
{ url = "https://files.pythonhosted.org/packages/17/b1/2351ddc0b45f983f5ea1d8b91024c932ce939a271b08d7f3bc8a54b3a81b/xxhash-4.0.2-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:86fdc2ae36f5d11446896c4456883b3740be2ec3ff56f700a7dc7aeb635e236f", size = 34431, upload-time = "2026-10-19T05:59:16.424Z" },
{ url = "https://files.pythonhosted.org/packages/7d/9f/dc3d43fa9ae82435a5fae9647925e40ca2e6198f279a044f6119542cbf33/xxhash-4.0.2-graalpy312-graalpy250_312_native-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:792e7c12ac0d300908a99f644e583f4091c3a5a0035ab7b1b76aadc908480381", size = 38470, upload-time = "2026-10-19T06:00:01.225Z" },
@@ -3681,12 +3500,6 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/95/0a/613ed5b8ded6fc2d42f54cf79f4318df1fec7d8fb0d3a9c189337220ad50/xxhash-4.0.2-graalpy313-graalpy253_313_native-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c45f489790caf482840d2c108d50b8b0d9e77f2f6d17e2b345e2ae3dc48849ff", size = 38377, upload-time = "2026-10-19T05:58:54.679Z" },
{ url = "https://files.pythonhosted.org/packages/b7/4f/2325ba05fc5470dcc0c69e8621d82fe4474271448ba9d0f7599ab492a1ad/xxhash-4.0.2-graalpy313-graalpy253_313_native-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:87255720aa1a1be35256b688c5ee4151d3273894186cda5c8a5b82f1dc05debf", size = 37784, upload-time = "2026-10-19T06:00:31.759Z" },
{ url = "https://files.pythonhosted.org/packages/db/c6/2ca65d85a105f200e60a812fb53f70a4e4a40c2263763397a367186e6c07/xxhash-4.0.2-graalpy313-graalpy253_313_native-win_amd64.whl", hash = "sha256:2a99c2d36df2d9b238a27e1fd8547311dba51c997e4c7681a383a98c0831aee0", size = 36832, upload-time = "2026-10-19T05:59:18.738Z" },
- { url = "https://files.pythonhosted.org/packages/66/78/cf5ceb84e061c7a9f2b1fe23fe77d97f89eced579b45e35460bf0f92c1d7/xxhash-4.0.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:dee8f3352ac0fce896bb0d2493221dad6d6af5b909d2c38d76827d7a6769766d", size = 36432, upload-time = "2026-10-19T06:00:03.113Z" },
- { url = "https://files.pythonhosted.org/packages/d0/be/99062775c7ce9eda27a5f889a14cc6b65ea989e2806cfaabd3802838f26c/xxhash-4.0.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:38ad1aef6d84d644b4a1afed0a7d226449f09cc2de1c9a0d0021c51f680ae2f9", size = 33449, upload-time = "2026-10-19T05:58:56.065Z" },
- { url = "https://files.pythonhosted.org/packages/b9/a5/e0075295cc70513d4ce05250fb50d479b386e0f490701463840ca9857c2f/xxhash-4.0.2-pp310-pypy310_pp73-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:45b10d7adffa2d5805279a123ad0cf5dc635b7e72542215d0e0f221cf49038e8", size = 48031, upload-time = "2026-10-19T06:01:52.78Z" },
- { url = "https://files.pythonhosted.org/packages/e5/c4/d9172aaaf44d29a06e5da346d2fe769a314606d7dcff6615a84bd83319d4/xxhash-4.0.2-pp310-pypy310_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f2a9839e13bdb0b611cbe55f6ef865dfcbeff1bb2d48de313fe94b9dc33de1ba", size = 42698, upload-time = "2026-10-19T06:00:01.776Z" },
- { url = "https://files.pythonhosted.org/packages/63/41/71b4a02d5dbcf92225f6cffbbe90c8cd5df121c8216d61cc5b689d00fe2d/xxhash-4.0.2-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3c368344f91263272aaf0fc5c1420f0ec9196466d507f8b1ba52d0e29645d1af", size = 39459, upload-time = "2026-10-19T05:58:56.701Z" },
- { url = "https://files.pythonhosted.org/packages/de/dc/91192386608cce0cc6c1f05ff06165203204c711eeb97f733092ced09242/xxhash-4.0.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:f064c47d2a281378c3d173d47ddd5b9faa4273dbcc40bffe51ff5d6817aad7ec", size = 37227, upload-time = "2026-10-19T06:00:33.062Z" },
{ url = "https://files.pythonhosted.org/packages/9a/e6/f287c5a23fca3d9d67b4dbce2f95d6bb3b71324a33562ad89b78dc44f732/xxhash-4.0.2-pp311-pypy311_pp80-macosx_10_15_x86_64.whl", hash = "sha256:fe765b3c7e7fcd14ef9b77836295847cb73229cdbe7eced958ed013d2f1c4025", size = 36314, upload-time = "2026-10-19T05:59:21.327Z" },
{ url = "https://files.pythonhosted.org/packages/a5/af/a59b29a52c89c33a3eaa422d8bab34efb54be29c16d6ed00d9f4c05bd076/xxhash-4.0.2-pp311-pypy311_pp80-macosx_11_0_arm64.whl", hash = "sha256:eff2109cbac3a8b04000d1b687331ff538d9d72d266c5aede545fd6bf90d303d", size = 33498, upload-time = "2026-10-19T06:00:05.326Z" },
{ url = "https://files.pythonhosted.org/packages/0b/c7/d45fd7535e653f9049c0bb298cdf64c1a3686c91db0e4e9be215fb9dddb5/xxhash-4.0.2-pp311-pypy311_pp80-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:ba2daf714d2c87374cfdab5ff22736b19cc12a200130b64610feb3b0b08bbe11", size = 47978, upload-time = "2026-10-19T05:58:57.911Z" },
@@ -3707,18 +3520,6 @@ version = "4.5.4"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/51/38/347d1fcde4edabd338d5872ca5759ccfb95ff1cf5207dafded981fd08c4f/yara_python-4.5.4.tar.gz", hash = "sha256:4c682170f3d5cb3a73aa1bd0dc9ab1c0957437b937b7a83ff6d7ffd366415b9c", size = 551142, upload-time = "2025-05-27T14:15:49.035Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/51/7f/5767870ecdde75b7991f67caa5d78d692d30239529b66262a33bb6ab12e3/yara_python-4.5.4-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:721d341bd2013fbada4df5aba0eb79a9e4e21c4b86441f7f111ab8c31671f125", size = 2471734, upload-time = "2025-05-27T14:14:03.034Z" },
- { url = "https://files.pythonhosted.org/packages/13/01/c7253b9cbeb9058deff46e332d98d8a76ecdc07235a41f1a3050348b035e/yara_python-4.5.4-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:c785fd16475f2a3191cd4fae0cd608b1ba6271f495ec86fa26a3c5ac53f5f2e1", size = 208858, upload-time = "2025-05-27T14:14:04.728Z" },
- { url = "https://files.pythonhosted.org/packages/02/09/cbe63e02a7b2448cd84b78918c1d765ce17038f1e7f0a6ae25e942bdca22/yara_python-4.5.4-cp310-cp310-macosx_15_0_arm64.whl", hash = "sha256:5eefa3b157cd5f4454a317907bab334036f61385324b70cb61dbc656c44168d5", size = 2478392, upload-time = "2025-05-27T14:14:06.404Z" },
- { url = "https://files.pythonhosted.org/packages/01/02/c5f2953a7dfd3055fd67581fe740c46c7b678d3760faced24674080019c8/yara_python-4.5.4-cp310-cp310-macosx_15_0_x86_64.whl", hash = "sha256:bbc0c5a2ee67e6043e4c2622093ebfc7d2c173dc643dd089742aedbdea48d6a4", size = 209306, upload-time = "2025-05-27T14:14:07.876Z" },
- { url = "https://files.pythonhosted.org/packages/be/70/a7bd03cbf1ac7e9fcfe292b3dfad181d7fb7eabf6d0ee493f7c5b2386238/yara_python-4.5.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b091f1bd6c5d2a9b5c0c682ba67ba31b87bb71b27876430775998b71c8e3f97", size = 2240111, upload-time = "2025-05-27T14:14:09.246Z" },
- { url = "https://files.pythonhosted.org/packages/0a/3d/0b0eadc8b39aa61cc04337d60b15fdebccaf662877a30604baadf760a4f5/yara_python-4.5.4-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:91276c90bb5e148e10050015fec8a1d4009a95eee9eb832d154f80355d0b4080", size = 2323286, upload-time = "2025-05-27T14:14:10.688Z" },
- { url = "https://files.pythonhosted.org/packages/c4/30/aab92c73b02bdda575f9507108c9617708f8d6812647a0654bc44447fc20/yara_python-4.5.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7e20e1f69b6239fe4f4da97e9ff361d9be25d6f1d747589ea44b8a9ec412a12d", size = 2327981, upload-time = "2025-05-27T14:14:13.044Z" },
- { url = "https://files.pythonhosted.org/packages/7a/40/461d76a5ec526679e58efca35383d3511cade8c8fc8868ad9f97bea21a1a/yara_python-4.5.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a83773b561727fc360f7a6874f7fac1409bc9c391134dc3e070f1c2515c0db98", size = 2946194, upload-time = "2025-05-27T14:14:14.717Z" },
- { url = "https://files.pythonhosted.org/packages/33/d2/656319472612d821d224ef2a79dc5b8339332aa03e4586e5fd9ec0c45f4e/yara_python-4.5.4-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:14f203bd9fb33ad591e046429560133127fa4a6201dac28c525fa7c6c7ca36a7", size = 2416600, upload-time = "2025-05-27T14:14:16.269Z" },
- { url = "https://files.pythonhosted.org/packages/5e/76/5ec476aa39e81d4dd5e26071f6b2c763c4a7d7f628dff3370fe6053ba9ac/yara_python-4.5.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e632daf9f38f8d4b433f08f798b07a45756e6c396e9e0ec54aac10045f6d241d", size = 2636555, upload-time = "2025-05-27T14:14:18.082Z" },
- { url = "https://files.pythonhosted.org/packages/f1/b5/26cdb3d13b91625dc35a68aca2db8cb62d6c6d5e7b83d97981b350163dd3/yara_python-4.5.4-cp310-cp310-win32.whl", hash = "sha256:a3866830f7f2d071f94cbce7c41d91444ac29e2cbbe279914abf518d57a2d41f", size = 1447301, upload-time = "2025-05-27T14:14:19.635Z" },
- { url = "https://files.pythonhosted.org/packages/be/21/68f211559de12eac0cb0fd8dbda279cadb0cc681cc4dc6394f9e06dfd4e2/yara_python-4.5.4-cp310-cp310-win_amd64.whl", hash = "sha256:135c1097ea0445a323038acd509162675ce6d5e21f848aa856779632d48dec42", size = 1825559, upload-time = "2025-05-27T14:14:21.508Z" },
{ url = "https://files.pythonhosted.org/packages/17/17/f0bc4a643d8c3afb485c34b70fe1d161f3fe0459361d2eb3561d23cc16e1/yara_python-4.5.4-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:e3e2a5575d61adc2b4ff2007737590783a43d16386b061ac12e6e70a82e5d1de", size = 2471737, upload-time = "2025-05-27T14:14:23.876Z" },
{ url = "https://files.pythonhosted.org/packages/3f/11/39c74fc2732b89d4a5a6ad272b2b60ec84b3aae53b120a9eccc742eec802/yara_python-4.5.4-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:f79a27dbdafb79fc2dc03c7c3ba66751551e3e0b350ab69cc499870b78a6cb95", size = 208862, upload-time = "2025-05-27T14:14:25.941Z" },
{ url = "https://files.pythonhosted.org/packages/05/ef/ff38abffe3c5126da0b4f31471bc6df2e38f4f532a65941a1a8092cddb4f/yara_python-4.5.4-cp311-cp311-macosx_15_0_arm64.whl", hash = "sha256:9d9acf6f8135bcee03f47b1096ad69f4a2788abe37dd070aab6e9dd816742ecc", size = 2478391, upload-time = "2025-05-27T14:14:27.802Z" },
@@ -3763,22 +3564,6 @@ version = "0.25.0"
source = { registry = "https://pypi.org/simple" }
sdist = { url = "https://files.pythonhosted.org/packages/fd/aa/3e0508d5a5dd96529cdc5a97011299056e14c6505b678fd58938792794b1/zstandard-0.25.0.tar.gz", hash = "sha256:7713e1179d162cf5c7906da876ec2ccb9c3a9dcbdffef0cc7f70c3667a205f0b", size = 711513, upload-time = "2025-09-14T22:15:54.002Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/56/7a/28efd1d371f1acd037ac64ed1c5e2b41514a6cc937dd6ab6a13ab9f0702f/zstandard-0.25.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e59fdc271772f6686e01e1b3b74537259800f57e24280be3f29c8a0deb1904dd", size = 795256, upload-time = "2025-09-14T22:15:56.415Z" },
- { url = "https://files.pythonhosted.org/packages/96/34/ef34ef77f1ee38fc8e4f9775217a613b452916e633c4f1d98f31db52c4a5/zstandard-0.25.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4d441506e9b372386a5271c64125f72d5df6d2a8e8a2a45a0ae09b03cb781ef7", size = 640565, upload-time = "2025-09-14T22:15:58.177Z" },
- { url = "https://files.pythonhosted.org/packages/9d/1b/4fdb2c12eb58f31f28c4d28e8dc36611dd7205df8452e63f52fb6261d13e/zstandard-0.25.0-cp310-cp310-manylinux2010_i686.manylinux2014_i686.manylinux_2_12_i686.manylinux_2_17_i686.whl", hash = "sha256:ab85470ab54c2cb96e176f40342d9ed41e58ca5733be6a893b730e7af9c40550", size = 5345306, upload-time = "2025-09-14T22:16:00.165Z" },
- { url = "https://files.pythonhosted.org/packages/73/28/a44bdece01bca027b079f0e00be3b6bd89a4df180071da59a3dd7381665b/zstandard-0.25.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:e05ab82ea7753354bb054b92e2f288afb750e6b439ff6ca78af52939ebbc476d", size = 5055561, upload-time = "2025-09-14T22:16:02.22Z" },
- { url = "https://files.pythonhosted.org/packages/e9/74/68341185a4f32b274e0fc3410d5ad0750497e1acc20bd0f5b5f64ce17785/zstandard-0.25.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:78228d8a6a1c177a96b94f7e2e8d012c55f9c760761980da16ae7546a15a8e9b", size = 5402214, upload-time = "2025-09-14T22:16:04.109Z" },
- { url = "https://files.pythonhosted.org/packages/8b/67/f92e64e748fd6aaffe01e2b75a083c0c4fd27abe1c8747fee4555fcee7dd/zstandard-0.25.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:2b6bd67528ee8b5c5f10255735abc21aa106931f0dbaf297c7be0c886353c3d0", size = 5449703, upload-time = "2025-09-14T22:16:06.312Z" },
- { url = "https://files.pythonhosted.org/packages/fd/e5/6d36f92a197c3c17729a2125e29c169f460538a7d939a27eaaa6dcfcba8e/zstandard-0.25.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4b6d83057e713ff235a12e73916b6d356e3084fd3d14ced499d84240f3eecee0", size = 5556583, upload-time = "2025-09-14T22:16:08.457Z" },
- { url = "https://files.pythonhosted.org/packages/d7/83/41939e60d8d7ebfe2b747be022d0806953799140a702b90ffe214d557638/zstandard-0.25.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:9174f4ed06f790a6869b41cba05b43eeb9a35f8993c4422ab853b705e8112bbd", size = 5045332, upload-time = "2025-09-14T22:16:10.444Z" },
- { url = "https://files.pythonhosted.org/packages/b3/87/d3ee185e3d1aa0133399893697ae91f221fda79deb61adbe998a7235c43f/zstandard-0.25.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:25f8f3cd45087d089aef5ba3848cd9efe3ad41163d3400862fb42f81a3a46701", size = 5572283, upload-time = "2025-09-14T22:16:12.128Z" },
- { url = "https://files.pythonhosted.org/packages/0a/1d/58635ae6104df96671076ac7d4ae7816838ce7debd94aecf83e30b7121b0/zstandard-0.25.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3756b3e9da9b83da1796f8809dd57cb024f838b9eeafde28f3cb472012797ac1", size = 4959754, upload-time = "2025-09-14T22:16:14.225Z" },
- { url = "https://files.pythonhosted.org/packages/75/d6/57e9cb0a9983e9a229dd8fd2e6e96593ef2aa82a3907188436f22b111ccd/zstandard-0.25.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:81dad8d145d8fd981b2962b686b2241d3a1ea07733e76a2f15435dfb7fb60150", size = 5266477, upload-time = "2025-09-14T22:16:16.343Z" },
- { url = "https://files.pythonhosted.org/packages/d1/a9/ee891e5edf33a6ebce0a028726f0bbd8567effe20fe3d5808c42323e8542/zstandard-0.25.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:a5a419712cf88862a45a23def0ae063686db3d324cec7edbe40509d1a79a0aab", size = 5440914, upload-time = "2025-09-14T22:16:18.453Z" },
- { url = "https://files.pythonhosted.org/packages/58/08/a8522c28c08031a9521f27abc6f78dbdee7312a7463dd2cfc658b813323b/zstandard-0.25.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:e7360eae90809efd19b886e59a09dad07da4ca9ba096752e61a2e03c8aca188e", size = 5819847, upload-time = "2025-09-14T22:16:20.559Z" },
- { url = "https://files.pythonhosted.org/packages/6f/11/4c91411805c3f7b6f31c60e78ce347ca48f6f16d552fc659af6ec3b73202/zstandard-0.25.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:75ffc32a569fb049499e63ce68c743155477610532da1eb38e7f24bf7cd29e74", size = 5363131, upload-time = "2025-09-14T22:16:22.206Z" },
- { url = "https://files.pythonhosted.org/packages/ef/d6/8c4bd38a3b24c4c7676a7a3d8de85d6ee7a983602a734b9f9cdefb04a5d6/zstandard-0.25.0-cp310-cp310-win32.whl", hash = "sha256:106281ae350e494f4ac8a80470e66d1fe27e497052c8d9c3b95dc4cf1ade81aa", size = 436469, upload-time = "2025-09-14T22:16:25.002Z" },
- { url = "https://files.pythonhosted.org/packages/93/90/96d50ad417a8ace5f841b3228e93d1bb13e6ad356737f42e2dde30d8bd68/zstandard-0.25.0-cp310-cp310-win_amd64.whl", hash = "sha256:ea9d54cc3d8064260114a0bbf3479fc4a98b21dffc89b3459edd506b69262f6e", size = 506100, upload-time = "2025-09-14T22:16:23.569Z" },
{ url = "https://files.pythonhosted.org/packages/2a/83/c3ca27c363d104980f1c9cee1101cc8ba724ac8c28a033ede6aab89585b1/zstandard-0.25.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:933b65d7680ea337180733cf9e87293cc5500cc0eb3fc8769f4d3c88d724ec5c", size = 795254, upload-time = "2025-09-14T22:16:26.137Z" },
{ url = "https://files.pythonhosted.org/packages/ac/4d/e66465c5411a7cf4866aeadc7d108081d8ceba9bc7abe6b14aa21c671ec3/zstandard-0.25.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a3f79487c687b1fc69f19e487cd949bf3aae653d181dfb5fde3bf6d18894706f", size = 640559, upload-time = "2025-09-14T22:16:27.973Z" },
{ url = "https://files.pythonhosted.org/packages/12/56/354fe655905f290d3b147b33fe946b0f27e791e4b50a5f004c802cb3eb7b/zstandard-0.25.0-cp311-cp311-manylinux2010_i686.manylinux2014_i686.manylinux_2_12_i686.manylinux_2_17_i686.whl", hash = "sha256:0bbc9a0c65ce0eea3c34a691e3c4b6889f5f3909ba4822ab385fab9057099431", size = 5348020, upload-time = "2025-09-14T22:16:29.523Z" },