From beb6dd925fb360a45b6077861c49bfad5610da79 Mon Sep 17 00:00:00 2001 From: Simone Date: Mon, 26 May 2025 19:25:45 +0200 Subject: [PATCH 001/113] Fix crash when casting an address and accessing its members --- slither/visitors/expression/constants_folding.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/slither/visitors/expression/constants_folding.py b/slither/visitors/expression/constants_folding.py index 65574df67a..a576b044ab 100644 --- a/slither/visitors/expression/constants_folding.py +++ b/slither/visitors/expression/constants_folding.py @@ -356,6 +356,14 @@ def _post_member_access(self, expression: expressions.MemberAccess) -> None: ): # User defined type .wrap call handled in _post_call_expression return + elif ( + isinstance(expression.expression, TypeConversion) + and expression.expression.type == ElementaryType("address") + and expression.member_name in ["balance", "code", "codehash"] + ): + # We need to raise NotConstant for these case here otherwise expression.expression.value would crash in the following condition + # because TypeConversion does not have a value. See https://github.com/crytic/slither/issues/2717 + raise NotConstant elif ( isinstance(expression.expression.value, Contract) and expression.member_name in expression.expression.value.variables_as_dict From 666e61b9ff9a75134115b2d6b02c6543fac8b3ef Mon Sep 17 00:00:00 2001 From: Simone Date: Mon, 26 May 2025 19:26:46 +0200 Subject: [PATCH 002/113] Fix crash when casting a string to byte* --- slither/visitors/expression/constants_folding.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/slither/visitors/expression/constants_folding.py b/slither/visitors/expression/constants_folding.py index a576b044ab..27c4e7501f 100644 --- a/slither/visitors/expression/constants_folding.py +++ b/slither/visitors/expression/constants_folding.py @@ -450,6 +450,8 @@ def _post_type_conversion(self, expression: expressions.TypeConversion) -> None: value = int.from_bytes(expr.value, "big") elif str(expression.type).startswith("byte") and isinstance(expr.value, int): value = int.to_bytes(expr.value, 32, "big") + elif str(expression.type).startswith("byte") and isinstance(expr.value, str): + value = expr.value else: value = convert_string_to_fraction(expr.converted_value) set_val(expression, value) From d4f53e17a1c4d59487c2ebc0ba7925bffa2c18e2 Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 3 Jun 2025 20:13:44 +0200 Subject: [PATCH 003/113] Fix try-catch parsing --- slither/solc_parsing/declarations/function.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/slither/solc_parsing/declarations/function.py b/slither/solc_parsing/declarations/function.py index 57f4b26f12..f23f5cc764 100644 --- a/slither/solc_parsing/declarations/function.py +++ b/slither/solc_parsing/declarations/function.py @@ -1288,7 +1288,9 @@ def _fix_catch(self, node: Node, end_node: Node, visited: Set[Node]) -> None: link_nodes(node, end_node) else: for son in node.sons: - if son != end_node and son not in visited: + # If the son is a TRY node it will be fixed later when _fix_try is called with that node + # otherwise we try to fix it multiple times. It can happen in the case of nested try-catch blocks. + if son != end_node and son not in visited and son.type != NodeType.TRY: visited.add(son) self._fix_catch(son, end_node, visited) From c68a76b97de5595e5e6f3a4296b43251c0dcea1c Mon Sep 17 00:00:00 2001 From: Sidarth S <38394431+sidarth16@users.noreply.github.com> Date: Thu, 10 Jul 2025 17:02:53 +0530 Subject: [PATCH 004/113] FIxed typo of solidity and variables --- slither/core/declarations/function.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/slither/core/declarations/function.py b/slither/core/declarations/function.py index 09ccef7cd8..eb772383b2 100644 --- a/slither/core/declarations/function.py +++ b/slither/core/declarations/function.py @@ -1295,7 +1295,7 @@ def all_conditional_solidity_variables_read( self, include_loop: bool = True ) -> List[SolidityVariable]: """ - Return the Soldiity variables directly used in a condtion + Return the Solidity variables directly used in a condition Use of the IR to filter index access Assumption: the solidity vars are used directly in the conditional node @@ -1337,7 +1337,7 @@ def _explore_func_nodes( def all_solidity_variables_used_as_args(self) -> List[SolidityVariable]: """ - Return the Soldiity variables directly used in a call + Return the Solidity variables directly used in a call Use of the IR to filter index access Used to catch check(msg.sender) From f732d22dc30a5c6c5d368ebee269dec7fbea1b95 Mon Sep 17 00:00:00 2001 From: bohendo Date: Mon, 4 Aug 2025 16:27:02 +0530 Subject: [PATCH 005/113] rm bugged force flag from initial mutation test run --- docs/src/tools/Mutator.md | 4 +++- slither/tools/mutator/utils/testing_generated_mutant.py | 4 ---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/docs/src/tools/Mutator.md b/docs/src/tools/Mutator.md index b33c5f4fbe..4cf5a93fd5 100644 --- a/docs/src/tools/Mutator.md +++ b/docs/src/tools/Mutator.md @@ -12,6 +12,8 @@ You can provide flags to `forge` as part of the `--test-cmd` parameter or target `slither-mutate src/core/MyContract.sol --test-cmd='forge test --match-contract="MyContract"'` +If a `timout` flag is not provided, slither-mutate will default to using a value that's double the runtime of it's initial test cmd execution. Make sure you run `forge clean` or similar beforehand to ensure cache usage doesn't cause a timeout that's too short to be used; this could lead to false-negatives. + ### CLI Interface ```shell @@ -30,7 +32,7 @@ options: --test-dir TEST_DIR Tests directory --ignore-dirs IGNORE_DIRS Directories to ignore - --timeout TIMEOUT Set timeout for test command (by default 30 seconds) + --timeout TIMEOUT Set timeout for test command (by default 2x the initial test runtime) --output-dir OUTPUT_DIR Name of output directory (by default 'mutation_campaign') -v, --verbose log mutants that are caught, uncaught, and fail to compile diff --git a/slither/tools/mutator/utils/testing_generated_mutant.py b/slither/tools/mutator/utils/testing_generated_mutant.py index 2ea3314e6d..1b055b5f12 100644 --- a/slither/tools/mutator/utils/testing_generated_mutant.py +++ b/slither/tools/mutator/utils/testing_generated_mutant.py @@ -40,10 +40,6 @@ def run_test_cmd( elif "hardhat test" in cmd or "truffle test" in cmd and "--bail" not in cmd: cmd += " --bail" - if timeout is None and "hardhat" not in cmd: # hardhat doesn't support --force flag on tests - # if no timeout, ensure all contracts are recompiled w/out using any cache - cmd += " --force" - try: result = subprocess.run( cmd, From a2f863b61f3c465c5a7ae324b41091ffef018c3e Mon Sep 17 00:00:00 2001 From: bohendo Date: Mon, 4 Aug 2025 16:27:09 +0530 Subject: [PATCH 006/113] clean up mutation output logs --- slither/tools/mutator/__main__.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/slither/tools/mutator/__main__.py b/slither/tools/mutator/__main__.py index 1eb5f3faed..bc8531eaca 100644 --- a/slither/tools/mutator/__main__.py +++ b/slither/tools/mutator/__main__.py @@ -344,7 +344,7 @@ def main() -> None: # pylint: disable=too-many-statements,too-many-branches,too if total_mutant_counts[0] > 0: logger.info( magenta( - f"Revert mutants: {uncaught_mutant_counts[0]} uncaught of {total_mutant_counts[0]} ({100 * uncaught_mutant_counts[0]/total_mutant_counts[0]}%)" + f"Revert mutants: {uncaught_mutant_counts[0]} uncaught of {total_mutant_counts[0]} ({round(100 * (total_mutant_counts[0] - uncaught_mutant_counts[0])/total_mutant_counts[0], 1)}% caught)" ) ) else: @@ -353,7 +353,7 @@ def main() -> None: # pylint: disable=too-many-statements,too-many-branches,too if total_mutant_counts[1] > 0: logger.info( magenta( - f"Comment mutants: {uncaught_mutant_counts[1]} uncaught of {total_mutant_counts[1]} ({100 * uncaught_mutant_counts[1]/total_mutant_counts[1]}%)" + f"Comment mutants: {uncaught_mutant_counts[1]} uncaught of {total_mutant_counts[1]} ({round(100 * (total_mutant_counts[1] - uncaught_mutant_counts[1])/total_mutant_counts[1], 1)}% caught)" ) ) else: @@ -362,7 +362,7 @@ def main() -> None: # pylint: disable=too-many-statements,too-many-branches,too if total_mutant_counts[2] > 0: logger.info( magenta( - f"Tweak mutants: {uncaught_mutant_counts[2]} uncaught of {total_mutant_counts[2]} ({100 * uncaught_mutant_counts[2]/total_mutant_counts[2]}%)\n" + f"Tweak mutants: {uncaught_mutant_counts[2]} uncaught of {total_mutant_counts[2]} ({round(100 * (total_mutant_counts[2] - uncaught_mutant_counts[2])/total_mutant_counts[2], 1)}% caught)\n" ) ) else: From 9b5772851707c46eb8200805b6129c9f5b2b6cdf Mon Sep 17 00:00:00 2001 From: nisedo <73041332+nisedo@users.noreply.github.com> Date: Sun, 24 Aug 2025 10:17:52 +0200 Subject: [PATCH 007/113] Enhance entry-points printer with variable information and improved functionality MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit significantly enhances the existing entry-points printer to provide comprehensive contract analysis by adding state variable information alongside function entry points. New Features: - Display full contract inheritance chain in headers (e.g., "TSwapPool is ERC20 is Context") - Show state variables table with types, storage slots, and inheritance information - Include constructors, receive, and fallback functions in addition to regular entry points - Visual distinction for special functions (purple color for constructor/receive/fallback) - Enhanced spacing and professional formatting with plural table headers - Accurate storage slot calculation using Slither's built-in storage layout analysis - Proper inheritance detection for both variables and functions Technical Improvements: - Use contract.storage_variables_ordered for accurate variable ordering - Use contract.compilation_unit.storage_layout_of() for correct storage slot calculation - Implement proper inheritance detection using variable.contract != contract - Refactored code structure with helper methods for better maintainability - Full pylint compliance (10.00/10 rating) The enhanced printer provides a complete view of contract storage layout and entry points, making it invaluable for security analysis, auditing, and contract understanding. All existing functionality is preserved while adding significant new capabilities. Files modified: - slither/printers/summary/entry_points.py: Enhanced implementation - README.md: Updated printer description Usage remains the same: slither contract.sol --print entry-points 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- README.md | 2 +- slither/printers/summary/entry_points.py | 109 +++++++++++++++++------ 2 files changed, 84 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index b76cffdd2a..b12af6b8c0 100644 --- a/README.md +++ b/README.md @@ -242,7 +242,7 @@ For more information, see * `inheritance-graph`: [Export the inheritance graph of each contract to a dot file](https://github.com/trailofbits/slither/wiki/Printer-documentation#inheritance-graph) * `contract-summary`: [Print a summary of the contracts](https://github.com/trailofbits/slither/wiki/Printer-documentation#contract-summary) * `loc`: [Count the total number lines of code (LOC), source lines of code (SLOC), and comment lines of code (CLOC) found in source files (SRC), dependencies (DEP), and test files (TEST).](https://github.com/trailofbits/slither/wiki/Printer-documentation#loc) -* `entry-points`: [Print all the state-changing entry point functions of the contracts](https://github.com/trailofbits/slither/wiki/Printer-documentation#entry-points) +* `entry-points`: [Print all the state-changing entry point functions and their variables of the contracts](https://github.com/trailofbits/slither/wiki/Printer-documentation#entry-points) ### In-Depth Review Printers diff --git a/slither/printers/summary/entry_points.py b/slither/printers/summary/entry_points.py index 2b4838d996..5050bdb167 100644 --- a/slither/printers/summary/entry_points.py +++ b/slither/printers/summary/entry_points.py @@ -1,5 +1,5 @@ """ -Module printing all the state-changing entry point functions of the contracts +Module printing all the state-changing entry point functions and their variables of the contracts """ from pathlib import Path @@ -14,7 +14,7 @@ class PrinterEntryPoints(AbstractPrinter): ARGUMENT = "entry-points" - HELP = "Print all the state-changing entry point functions of the contracts" + HELP = "Print all the state-changing entry point functions and their variables of the contracts" WIKI = "https://github.com/trailofbits/slither/wiki/Printer-documentation#entry-points" @@ -45,7 +45,6 @@ def output(self, _filename) -> Output: if ( f.visibility in ["public", "external"] and isinstance(f, FunctionContract) - and not f.is_constructor and not f.view and not f.pure and not f.is_shadowed @@ -55,36 +54,94 @@ def output(self, _filename) -> Output: if not entry_points: continue - table = MyPrettyTable(["Function", "Modifiers", "Inherited From"]) + # Build inheritance chain + inheritance_chain = self._get_inheritance_chain(contract) + inheritance_str = f" is {' is '.join(inheritance_chain)}" if inheritance_chain else "" + contract_info = [ - f"\nContract {Colors.BOLD}{Colors.YELLOW}{contract.name}{Colors.END}" + f"\n\nContract {Colors.BOLD}{Colors.YELLOW}{contract.name}{Colors.END}{inheritance_str}" f" ({contract.source_mapping})" ] - for f in sorted( - entry_points, - key=lambda x, contract=contract: ( - x.contract_declarer != contract, - x.contract_declarer.name if x.contract_declarer != contract else "", - x.source_mapping.start, - ), - ): - name_parts = f.full_name.split("(", 1) - inherited = f.contract_declarer.name if f.contract_declarer != contract else "" - modifiers = ", ".join( - [m.name for m in f.modifiers] + (["payable"] if f.payable else []) - ) + # Create variables table + variables_with_slots = self._get_variables_with_slots(contract) + if variables_with_slots: + var_table = MyPrettyTable(["Variables", "Types", "Storage Slots", "Inherited From"]) + for var_name, var_type, slot, inherited_from in variables_with_slots: + var_table.add_row( + [ + f"{Colors.BOLD}{Colors.BLUE}{var_name}{Colors.END}", + f"{Colors.GREEN}{var_type}{Colors.END}", + f"{Colors.YELLOW}{slot}{Colors.END}", + ( + f"{Colors.MAGENTA}{inherited_from}{Colors.END}" + if inherited_from + else "" + ), + ] + ) + contract_info.append(str(var_table)) - table.add_row( - [ - f"{Colors.BOLD}{Colors.RED}{name_parts[0]}{Colors.END}({name_parts[1]}", - f"{Colors.GREEN}{modifiers}{Colors.END}" if modifiers else "", - f"{Colors.MAGENTA}{inherited}{Colors.END}" if inherited else "", - ] - ) + # Create functions table + func_table = MyPrettyTable(["Functions", "Modifiers", "Inherited From"]) + + self._add_function_rows(func_table, entry_points, contract) - all_contracts.append("\n".join(contract_info + [str(table)])) + contract_info.append(str(func_table)) + all_contracts.append("\n".join(contract_info)) info = "\n".join(all_contracts) if all_contracts else "" self.info(info) return self.generate_output(info) + + def _get_inheritance_chain(self, contract): + """Get the full inheritance chain for a contract""" + inheritance_chain = [] + for base in contract.inheritance: + if not base.is_interface and not base.is_library: + inheritance_chain.append(base.name) + return inheritance_chain + + def _get_variables_with_slots(self, contract): + """Get all state variables with their storage slots, types, and inheritance info""" + variables_info = [] + + for variable in contract.storage_variables_ordered: + slot, _ = contract.compilation_unit.storage_layout_of(contract, variable) + var_type = str(variable.type) + inherited_from = variable.contract.name if variable.contract != contract else "" + variables_info.append((variable.name, var_type, str(slot), inherited_from)) + + return variables_info + + def _add_function_rows(self, func_table, entry_points, contract): + """Add function rows to the functions table""" + for f in sorted( + entry_points, + key=lambda x, contract=contract: ( + x.contract_declarer != contract, + x.contract_declarer.name if x.contract_declarer != contract else "", + x.source_mapping.start, + ), + ): + name_parts = f.full_name.split("(", 1) + inherited = f.contract_declarer.name if f.contract_declarer != contract else "" + modifiers = ", ".join( + [m.name for m in f.modifiers] + (["payable"] if f.payable else []) + ) + + # Style special functions differently + if f.is_constructor or f.name in ["receive", "fallback"]: + function_color = f"{Colors.BOLD}{Colors.MAGENTA}" + else: + function_color = f"{Colors.BOLD}{Colors.RED}" + + function_name = name_parts[0] + + func_table.add_row( + [ + f"{function_color}{function_name}{Colors.END}({name_parts[1]}", + f"{Colors.GREEN}{modifiers}{Colors.END}" if modifiers else "", + f"{Colors.MAGENTA}{inherited}{Colors.END}" if inherited else "", + ] + ) From 8c1009ada9542763cb60847da1512056982c49cf Mon Sep 17 00:00:00 2001 From: nisedo <73041332+nisedo@users.noreply.github.com> Date: Sun, 24 Aug 2025 13:39:15 +0200 Subject: [PATCH 008/113] Remove storage slots column from entry-points printer Following feedback to focus on high-level contract analysis rather than low-level storage details. The storage slots information is better suited for the variable-order printer, while entry-points should provide a clean overview of contract structure. Changes: - Removed 'Storage Slots' column from variables table - Simplified variable info collection (no longer needs storage layout calculation) - Maintains variables in correct order using storage_variables_ordered - Cleaner, more focused output differentiating from variable-order printer --- slither/printers/summary/entry_points.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/slither/printers/summary/entry_points.py b/slither/printers/summary/entry_points.py index 5050bdb167..fc11ae3384 100644 --- a/slither/printers/summary/entry_points.py +++ b/slither/printers/summary/entry_points.py @@ -64,15 +64,14 @@ def output(self, _filename) -> Output: ] # Create variables table - variables_with_slots = self._get_variables_with_slots(contract) - if variables_with_slots: - var_table = MyPrettyTable(["Variables", "Types", "Storage Slots", "Inherited From"]) - for var_name, var_type, slot, inherited_from in variables_with_slots: + variables_info = self._get_variables_info(contract) + if variables_info: + var_table = MyPrettyTable(["Variables", "Types", "Inherited From"]) + for var_name, var_type, inherited_from in variables_info: var_table.add_row( [ f"{Colors.BOLD}{Colors.BLUE}{var_name}{Colors.END}", f"{Colors.GREEN}{var_type}{Colors.END}", - f"{Colors.YELLOW}{slot}{Colors.END}", ( f"{Colors.MAGENTA}{inherited_from}{Colors.END}" if inherited_from @@ -102,15 +101,14 @@ def _get_inheritance_chain(self, contract): inheritance_chain.append(base.name) return inheritance_chain - def _get_variables_with_slots(self, contract): - """Get all state variables with their storage slots, types, and inheritance info""" + def _get_variables_info(self, contract): + """Get all state variables with their types and inheritance info""" variables_info = [] for variable in contract.storage_variables_ordered: - slot, _ = contract.compilation_unit.storage_layout_of(contract, variable) var_type = str(variable.type) inherited_from = variable.contract.name if variable.contract != contract else "" - variables_info.append((variable.name, var_type, str(slot), inherited_from)) + variables_info.append((variable.name, var_type, inherited_from)) return variables_info From c6b8582b5cac10db2fcbdf5e6ac8fc9a5b5337b3 Mon Sep 17 00:00:00 2001 From: nisedo <73041332+nisedo@users.noreply.github.com> Date: Sun, 24 Aug 2025 14:15:04 +0200 Subject: [PATCH 009/113] Clean up comments --- slither/printers/summary/entry_points.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/slither/printers/summary/entry_points.py b/slither/printers/summary/entry_points.py index fc11ae3384..73b978e156 100644 --- a/slither/printers/summary/entry_points.py +++ b/slither/printers/summary/entry_points.py @@ -54,7 +54,6 @@ def output(self, _filename) -> Output: if not entry_points: continue - # Build inheritance chain inheritance_chain = self._get_inheritance_chain(contract) inheritance_str = f" is {' is '.join(inheritance_chain)}" if inheritance_chain else "" @@ -63,7 +62,6 @@ def output(self, _filename) -> Output: f" ({contract.source_mapping})" ] - # Create variables table variables_info = self._get_variables_info(contract) if variables_info: var_table = MyPrettyTable(["Variables", "Types", "Inherited From"]) @@ -81,7 +79,6 @@ def output(self, _filename) -> Output: ) contract_info.append(str(var_table)) - # Create functions table func_table = MyPrettyTable(["Functions", "Modifiers", "Inherited From"]) self._add_function_rows(func_table, entry_points, contract) @@ -128,7 +125,6 @@ def _add_function_rows(self, func_table, entry_points, contract): [m.name for m in f.modifiers] + (["payable"] if f.payable else []) ) - # Style special functions differently if f.is_constructor or f.name in ["receive", "fallback"]: function_color = f"{Colors.BOLD}{Colors.MAGENTA}" else: From d2d72d3a8cb81da63c02b14e9c668e8a265c3891 Mon Sep 17 00:00:00 2001 From: Simone Date: Mon, 25 Aug 2025 22:09:58 +0200 Subject: [PATCH 010/113] Fix signature of fixed size arrays --- slither/utils/type.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/slither/utils/type.py b/slither/utils/type.py index a6b6402027..96057a7b6c 100644 --- a/slither/utils/type.py +++ b/slither/utils/type.py @@ -10,6 +10,8 @@ ) from slither.core.solidity_types.type import Type from slither.core.variables.variable import Variable +from slither.core.expressions.literal import Literal +from slither.core.expressions.identifier import Identifier def _convert_type_for_solidity_signature_to_string( @@ -27,7 +29,14 @@ def _convert_type_for_solidity_signature_to_string( underlying_type_str = _convert_type_for_solidity_signature_to_string( underlying_type, seen ) - return underlying_type_str + "[]" + + if types.length is None: + return underlying_type_str + "[]" + if isinstance(types.length, Literal): + return underlying_type_str + f"[{types.length}]" + # At this point it must be an Identifier and constant either a TopLevelVariable or a StateVariable + assert isinstance(types.length, Identifier) and types.length.value.is_constant + return underlying_type_str + f"[{types.length.value.expression}]" return str(types) From 289c3950be693727a58993de31a02c95744777f1 Mon Sep 17 00:00:00 2001 From: Simone Date: Mon, 25 Aug 2025 22:20:48 +0200 Subject: [PATCH 011/113] The correct fix that uses the constant folded length --- slither/utils/type.py | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/slither/utils/type.py b/slither/utils/type.py index 96057a7b6c..87751ea6c1 100644 --- a/slither/utils/type.py +++ b/slither/utils/type.py @@ -10,8 +10,6 @@ ) from slither.core.solidity_types.type import Type from slither.core.variables.variable import Variable -from slither.core.expressions.literal import Literal -from slither.core.expressions.identifier import Identifier def _convert_type_for_solidity_signature_to_string( @@ -32,11 +30,7 @@ def _convert_type_for_solidity_signature_to_string( if types.length is None: return underlying_type_str + "[]" - if isinstance(types.length, Literal): - return underlying_type_str + f"[{types.length}]" - # At this point it must be an Identifier and constant either a TopLevelVariable or a StateVariable - assert isinstance(types.length, Identifier) and types.length.value.is_constant - return underlying_type_str + f"[{types.length.value.expression}]" + return underlying_type_str + f"[{types.length_value}]" return str(types) From 464b14025cb3c6e8ed6a93749368f06ac39f133b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 29 Aug 2025 13:48:09 -0400 Subject: [PATCH 012/113] Bump actions/upload-pages-artifact from 3 to 4 (#2776) Bumps [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) from 3 to 4. - [Release notes](https://github.com/actions/upload-pages-artifact/releases) - [Commits](https://github.com/actions/upload-pages-artifact/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/upload-pages-artifact dependency-version: '4' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 8278d0861e..582b3a25b1 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -37,7 +37,7 @@ jobs: - run: pip install -e ".[doc]" - run: pdoc -o html/ slither '!slither.tools' #TODO fix import errors on pdoc run - name: Upload artifact - uses: actions/upload-pages-artifact@v3 + uses: actions/upload-pages-artifact@v4 with: # Upload the doc path: './html/' From 6b57234056fac487c0f58812008bb48e3a98df9e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 29 Aug 2025 13:48:21 -0400 Subject: [PATCH 013/113] Bump actions/download-artifact from 4 to 5 (#2765) Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4 to 5. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/publish.yml | 2 +- .github/workflows/test.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 9038306d63..6685e19b36 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -38,7 +38,7 @@ jobs: - build-release steps: - name: fetch dists - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v5 with: name: slither-dists path: dist/ diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2087bd4d83..ad2db06bc4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -109,7 +109,7 @@ jobs: - run: pip install coverage[toml] - name: download coverage data - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v5 with: pattern: coverage-data-* merge-multiple: true From 0b5e0c5503ccd5168edd3d5635cd1ddb9b9f75a0 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 29 Aug 2025 13:48:30 -0400 Subject: [PATCH 014/113] Bump actions/checkout from 4 to 5 (#2764) Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/black.yml | 2 +- .github/workflows/black_auto.yml | 2 +- .github/workflows/ci.yml | 2 +- .github/workflows/docker.yml | 2 +- .github/workflows/docs.yml | 2 +- .github/workflows/doctor.yml | 2 +- .github/workflows/linter.yml | 2 +- .github/workflows/pip-audit.yml | 2 +- .github/workflows/publish.yml | 2 +- .github/workflows/pylint.yml | 2 +- .github/workflows/test.yml | 4 ++-- 11 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/black.yml b/.github/workflows/black.yml index 082333f2fc..a1647256c5 100644 --- a/.github/workflows/black.yml +++ b/.github/workflows/black.yml @@ -26,7 +26,7 @@ jobs: steps: - name: Checkout Code - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: # Full git history is needed to get a proper list of changed files within `super-linter` fetch-depth: 0 diff --git a/.github/workflows/black_auto.yml b/.github/workflows/black_auto.yml index ad1ad2ea4b..5fbb82edda 100644 --- a/.github/workflows/black_auto.yml +++ b/.github/workflows/black_auto.yml @@ -23,7 +23,7 @@ jobs: steps: - name: Checkout Code - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set up Python 3.8 uses: actions/setup-python@v5 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 730ebdb567..baf4c5a332 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,7 +36,7 @@ jobs: - os: windows-2022 type: truffle steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up Python ${{ matrix.python }} uses: actions/setup-python@v5 with: diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index b039f69d97..7314f49a01 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set up QEMU uses: docker/setup-qemu-action@v3 diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 582b3a25b1..1038ab6b2d 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -28,7 +28,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Setup Pages uses: actions/configure-pages@v5 - uses: actions/setup-python@v5 diff --git a/.github/workflows/doctor.yml b/.github/workflows/doctor.yml index e6b7a580ba..994ab79f2b 100644 --- a/.github/workflows/doctor.yml +++ b/.github/workflows/doctor.yml @@ -29,7 +29,7 @@ jobs: - os: windows-2022 python: 3.8 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up Python ${{ matrix.python }} uses: actions/setup-python@v5 diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index f2db214f82..924dd5f243 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -25,7 +25,7 @@ jobs: steps: - name: Checkout Code - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: # Full git history is needed to get a proper list of changed files within `super-linter` fetch-depth: 0 diff --git a/.github/workflows/pip-audit.yml b/.github/workflows/pip-audit.yml index f4a028c8c6..3d64f82567 100644 --- a/.github/workflows/pip-audit.yml +++ b/.github/workflows/pip-audit.yml @@ -18,7 +18,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Install Python uses: actions/setup-python@v5 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 6685e19b36..abf514f370 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up Python uses: actions/setup-python@v5 diff --git a/.github/workflows/pylint.yml b/.github/workflows/pylint.yml index 6a3ea99ba6..8a3749fe70 100644 --- a/.github/workflows/pylint.yml +++ b/.github/workflows/pylint.yml @@ -23,7 +23,7 @@ jobs: steps: - name: Checkout Code - uses: actions/checkout@v4 + uses: actions/checkout@v5 with: # Full git history is needed to get a proper list of changed files within `super-linter` fetch-depth: 0 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ad2db06bc4..ddf5735e68 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,7 +27,7 @@ jobs: type: ["unit", "integration", "tool"] python: ${{ (github.event_name == 'pull_request' && fromJSON('["3.8", "3.12"]')) || fromJSON('["3.8", "3.9", "3.10", "3.11", "3.12"]') }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up Python ${{ matrix.python }} uses: actions/setup-python@v5 with: @@ -100,7 +100,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up Python 3.8 uses: actions/setup-python@v5 with: From 09941abd95cb17bc246d0c5c1b4ab6d627b1d101 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 29 Aug 2025 13:48:38 -0400 Subject: [PATCH 015/113] Bump sigstore/gh-action-sigstore-python from 3.0.0 to 3.0.1 (#2740) Bumps [sigstore/gh-action-sigstore-python](https://github.com/sigstore/gh-action-sigstore-python) from 3.0.0 to 3.0.1. - [Release notes](https://github.com/sigstore/gh-action-sigstore-python/releases) - [Changelog](https://github.com/sigstore/gh-action-sigstore-python/blob/main/CHANGELOG.md) - [Commits](https://github.com/sigstore/gh-action-sigstore-python/compare/v3.0.0...v3.0.1) --- updated-dependencies: - dependency-name: sigstore/gh-action-sigstore-python dependency-version: 3.0.1 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index abf514f370..4eb9443636 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -47,7 +47,7 @@ jobs: uses: pypa/gh-action-pypi-publish@v1.12.4 - name: sign - uses: sigstore/gh-action-sigstore-python@v3.0.0 + uses: sigstore/gh-action-sigstore-python@v3.0.1 with: inputs: ./dist/*.tar.gz ./dist/*.whl release-signing-artifacts: true From 3a523b20bf5f1f525bbd5ae4af4bd3016a6f5eec Mon Sep 17 00:00:00 2001 From: tzchenxixi Date: Tue, 2 Sep 2025 01:50:38 +0800 Subject: [PATCH 016/113] chore: remove redundant word Signed-off-by: tzchenxixi --- docs/src/tools/Code-Similarity-Detector.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/tools/Code-Similarity-Detector.md b/docs/src/tools/Code-Similarity-Detector.md index feb26f9cd3..f6492630c4 100644 --- a/docs/src/tools/Code-Similarity-Detector.md +++ b/docs/src/tools/Code-Similarity-Detector.md @@ -98,7 +98,7 @@ INFO:Slither-simil:Saving cache in cache.npz INFO:Slither-simil:Done! ``` -After it runs, the `slither-simil` will output the the trained model in `model.bin`, a cache of every function for use in test mode in `cache.npz`, and the SlithIR of every function for debugging in `last_data_train.txt`. +After it runs, the `slither-simil` will output the trained model in `model.bin`, a cache of every function for use in test mode in `cache.npz`, and the SlithIR of every function for debugging in `last_data_train.txt`. ### Plot mode From dcf7c866793631ac63b4b62d207b802a88447fbe Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 4 Sep 2025 15:40:46 +0000 Subject: [PATCH 017/113] Bump pypa/gh-action-pypi-publish in /.github/workflows Bumps [pypa/gh-action-pypi-publish](https://github.com/pypa/gh-action-pypi-publish) from 1.12.4 to 1.13.0. - [Release notes](https://github.com/pypa/gh-action-pypi-publish/releases) - [Commits](https://github.com/pypa/gh-action-pypi-publish/compare/v1.12.4...v1.13.0) --- updated-dependencies: - dependency-name: pypa/gh-action-pypi-publish dependency-version: 1.13.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 9038306d63..2fd4d30af7 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -44,7 +44,7 @@ jobs: path: dist/ - name: publish - uses: pypa/gh-action-pypi-publish@v1.12.4 + uses: pypa/gh-action-pypi-publish@v1.13.0 - name: sign uses: sigstore/gh-action-sigstore-python@v3.0.0 From 0fa6ecdbf421c5fa76a6e5c2f1340fb3ef4f8483 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Sep 2025 22:04:36 +0000 Subject: [PATCH 018/113] Bump actions/setup-node from 4 to 5 Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4 to 5. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/setup-node dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ddf5735e68..f5cb640057 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -40,7 +40,7 @@ jobs: pip install ".[test]" - name: Setup node - uses: actions/setup-node@v4 + uses: actions/setup-node@v5 with: node-version: '16' cache: 'npm' From 43d12884d3887941d4c042f7f9d97c500ded9afd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Sep 2025 22:04:46 +0000 Subject: [PATCH 019/113] Bump actions/setup-python from 5 to 6 Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5 to 6. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v5...v6) --- updated-dependencies: - dependency-name: actions/setup-python dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/black.yml | 2 +- .github/workflows/black_auto.yml | 2 +- .github/workflows/ci.yml | 2 +- .github/workflows/docs.yml | 2 +- .github/workflows/doctor.yml | 2 +- .github/workflows/linter.yml | 2 +- .github/workflows/pip-audit.yml | 2 +- .github/workflows/publish.yml | 2 +- .github/workflows/pylint.yml | 2 +- .github/workflows/test.yml | 4 ++-- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.github/workflows/black.yml b/.github/workflows/black.yml index a1647256c5..22ed3f7659 100644 --- a/.github/workflows/black.yml +++ b/.github/workflows/black.yml @@ -32,7 +32,7 @@ jobs: fetch-depth: 0 - name: Set up Python 3.8 - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: 3.8 diff --git a/.github/workflows/black_auto.yml b/.github/workflows/black_auto.yml index 5fbb82edda..abdc2ce645 100644 --- a/.github/workflows/black_auto.yml +++ b/.github/workflows/black_auto.yml @@ -26,7 +26,7 @@ jobs: uses: actions/checkout@v5 - name: Set up Python 3.8 - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: 3.8 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index baf4c5a332..29d9ef0a73 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -38,7 +38,7 @@ jobs: steps: - uses: actions/checkout@v5 - name: Set up Python ${{ matrix.python }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python }} - name: Install dependencies diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 1038ab6b2d..8a206f42cf 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -31,7 +31,7 @@ jobs: uses: actions/checkout@v5 - name: Setup Pages uses: actions/configure-pages@v5 - - uses: actions/setup-python@v5 + - uses: actions/setup-python@v6 with: python-version: '3.8' - run: pip install -e ".[doc]" diff --git a/.github/workflows/doctor.yml b/.github/workflows/doctor.yml index 994ab79f2b..b596ddfce9 100644 --- a/.github/workflows/doctor.yml +++ b/.github/workflows/doctor.yml @@ -32,7 +32,7 @@ jobs: - uses: actions/checkout@v5 - name: Set up Python ${{ matrix.python }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python }} diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index 924dd5f243..6434913275 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -31,7 +31,7 @@ jobs: fetch-depth: 0 - name: Set up Python 3.8 - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: 3.8 diff --git a/.github/workflows/pip-audit.yml b/.github/workflows/pip-audit.yml index 3d64f82567..6e7d04394b 100644 --- a/.github/workflows/pip-audit.yml +++ b/.github/workflows/pip-audit.yml @@ -21,7 +21,7 @@ jobs: uses: actions/checkout@v5 - name: Install Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: "3.10" diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index c7d502c585..8b10846a72 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -13,7 +13,7 @@ jobs: - uses: actions/checkout@v5 - name: Set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: '3.x' diff --git a/.github/workflows/pylint.yml b/.github/workflows/pylint.yml index 8a3749fe70..3c20cd20cf 100644 --- a/.github/workflows/pylint.yml +++ b/.github/workflows/pylint.yml @@ -29,7 +29,7 @@ jobs: fetch-depth: 0 - name: Set up Python 3.8 - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: 3.8 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ddf5735e68..ff31a6f3bc 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -29,7 +29,7 @@ jobs: steps: - uses: actions/checkout@v5 - name: Set up Python ${{ matrix.python }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python }} cache: "pip" @@ -102,7 +102,7 @@ jobs: steps: - uses: actions/checkout@v5 - name: Set up Python 3.8 - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: 3.8 From 27e4f62cb53a1b14697ccc3d1b8f38bcace4c745 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 6 Oct 2025 22:16:14 +0000 Subject: [PATCH 020/113] Bump peter-evans/create-issue-from-file from 5 to 6 Bumps [peter-evans/create-issue-from-file](https://github.com/peter-evans/create-issue-from-file) from 5 to 6. - [Release notes](https://github.com/peter-evans/create-issue-from-file/releases) - [Commits](https://github.com/peter-evans/create-issue-from-file/compare/v5...v6) --- updated-dependencies: - dependency-name: peter-evans/create-issue-from-file dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/issue-metrics.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/issue-metrics.yml b/.github/workflows/issue-metrics.yml index be97da99e5..2bf281810e 100644 --- a/.github/workflows/issue-metrics.yml +++ b/.github/workflows/issue-metrics.yml @@ -33,7 +33,7 @@ jobs: SEARCH_QUERY: 'repo:crytic/slither is:issue created:${{ env.last_month }} -reason:"not planned" -reason:"duplicate"' - name: Create issue - uses: peter-evans/create-issue-from-file@v5 + uses: peter-evans/create-issue-from-file@v6 with: title: Monthly issue metrics report token: ${{ secrets.GITHUB_TOKEN }} From ea1b557d6202e8db59f674eb07d225b00b617c35 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 20 Oct 2025 22:05:42 +0000 Subject: [PATCH 021/113] Bump actions/setup-node from 5 to 6 Bumps [actions/setup-node](https://github.com/actions/setup-node) from 5 to 6. - [Release notes](https://github.com/actions/setup-node/releases) - [Commits](https://github.com/actions/setup-node/compare/v5...v6) --- updated-dependencies: - dependency-name: actions/setup-node dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 37df75af8a..484197cacf 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -40,7 +40,7 @@ jobs: pip install ".[test]" - name: Setup node - uses: actions/setup-node@v5 + uses: actions/setup-node@v6 with: node-version: '16' cache: 'npm' From 3b65d32fd573badd37046cdfd2649245578c16d2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Oct 2025 22:44:14 +0000 Subject: [PATCH 022/113] Bump actions/upload-artifact from 4 to 5 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 8b10846a72..304408c5da 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -23,7 +23,7 @@ jobs: python -m pip install build python -m build - name: Upload distributions - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 with: name: slither-dists path: dist/ From 62a8bc8f446210bdbb2f7c0cdc9eb5a1013e8d74 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Oct 2025 23:29:47 +0000 Subject: [PATCH 023/113] Bump sigstore/gh-action-sigstore-python from 3.0.1 to 3.1.0 Bumps [sigstore/gh-action-sigstore-python](https://github.com/sigstore/gh-action-sigstore-python) from 3.0.1 to 3.1.0. - [Release notes](https://github.com/sigstore/gh-action-sigstore-python/releases) - [Changelog](https://github.com/sigstore/gh-action-sigstore-python/blob/main/CHANGELOG.md) - [Commits](https://github.com/sigstore/gh-action-sigstore-python/compare/v3.0.1...v3.1.0) --- updated-dependencies: - dependency-name: sigstore/gh-action-sigstore-python dependency-version: 3.1.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 8b10846a72..23c9317471 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -47,7 +47,7 @@ jobs: uses: pypa/gh-action-pypi-publish@v1.13.0 - name: sign - uses: sigstore/gh-action-sigstore-python@v3.0.1 + uses: sigstore/gh-action-sigstore-python@v3.1.0 with: inputs: ./dist/*.tar.gz ./dist/*.whl release-signing-artifacts: true From 9be4bab6456b790de0e4bd806d34593e8b14e8f1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 15 Nov 2025 10:43:33 +0000 Subject: [PATCH 024/113] Bump js-yaml in /tests/e2e/compilation/test_data/test_node_modules Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.0 to 4.1.1. - [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md) - [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1) --- updated-dependencies: - dependency-name: js-yaml dependency-version: 4.1.1 dependency-type: indirect ... Signed-off-by: dependabot[bot] --- .../test_data/test_node_modules/package-lock.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/e2e/compilation/test_data/test_node_modules/package-lock.json b/tests/e2e/compilation/test_data/test_node_modules/package-lock.json index 04c8b45060..32c09c4451 100644 --- a/tests/e2e/compilation/test_data/test_node_modules/package-lock.json +++ b/tests/e2e/compilation/test_data/test_node_modules/package-lock.json @@ -2360,9 +2360,9 @@ "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" }, "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dependencies": { "argparse": "^2.0.1" }, @@ -5315,9 +5315,9 @@ "integrity": "sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==" }, "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "requires": { "argparse": "^2.0.1" } From 29e07eb1c0c163b216919eb6fcd70ca78d0bb75d Mon Sep 17 00:00:00 2001 From: DaniPopes <57450786+DaniPopes@users.noreply.github.com> Date: Tue, 26 Aug 2025 21:13:12 +0200 Subject: [PATCH 025/113] Fix trimmed network string --- slither/__main__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/slither/__main__.py b/slither/__main__.py index 633ad68cf3..a1a671e262 100644 --- a/slither/__main__.py +++ b/slither/__main__.py @@ -298,7 +298,7 @@ def parse_args( usage += "\t- file.sol // a Solidity file\n" usage += "\t- project_directory // a project directory. See https://github.com/crytic/crytic-compile/#crytic-compile for the supported platforms\n" usage += "\t- 0x.. // a contract on mainnet\n" - usage += f"\t- NETWORK:0x.. // a contract on a different network. Supported networks: {','.join(x[:-1] for x in SUPPORTED_NETWORK)}\n" + usage += f"\t- NETWORK:0x.. // a contract on a different network. Supported networks: {','.join(x for x in SUPPORTED_NETWORK)}\n" parser = argparse.ArgumentParser( description="For usage information, see https://github.com/crytic/slither/wiki/Usage", From 5d97974c78a51d5563042ca1ced787db8190480d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20L=C3=B3pez?= Date: Tue, 25 Nov 2025 17:07:20 -0300 Subject: [PATCH 026/113] tests: mutator: fix test after crytic-compile update --- tests/tools/mutator/test_mutator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/tools/mutator/test_mutator.py b/tests/tools/mutator/test_mutator.py index 68b595319c..285d291dbb 100644 --- a/tests/tools/mutator/test_mutator.py +++ b/tests/tools/mutator/test_mutator.py @@ -71,7 +71,7 @@ def test_backup_source_file(solc_binary_path): solc_path = solc_binary_path("0.8.15") file_path = (TEST_DATA_DIR / "test_source_unit" / "src" / "Counter.sol").as_posix() - sl = Slither(file_path, solc=solc_path) + sl = Slither(file_path, solc=solc_path, compile_force_framework="solc") with tempfile.TemporaryDirectory() as directory: files_dict = backup_source_file(sl.source_code, Path(directory)) From 0839fafc6ffd3989d7e404a828a384e334c92e13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20L=C3=B3pez?= Date: Tue, 25 Nov 2025 17:30:40 -0300 Subject: [PATCH 027/113] tests: fix slither_config --- .github/workflows/ci.yml | 3 ++- scripts/ci_test_slither_config.sh | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 29d9ef0a73..a151b8fb34 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -44,9 +44,10 @@ jobs: - name: Install dependencies run: | pip install ".[test]" - solc-select use 0.4.25 --always-install solc-select use 0.8.0 --always-install + solc-select use 0.7.0 --always-install solc-select use 0.5.1 --always-install + solc-select use 0.4.25 --always-install - name: Set up nix if: matrix.type == 'dapp' diff --git a/scripts/ci_test_slither_config.sh b/scripts/ci_test_slither_config.sh index 525eb5f7c5..390eac1f48 100755 --- a/scripts/ci_test_slither_config.sh +++ b/scripts/ci_test_slither_config.sh @@ -2,7 +2,9 @@ ### Test -if ! slither "tests/*.json" --config "tests/config/slither.config.json"; then +solc-select use 0.7.0 + +if ! slither "tests/e2e/config/test_json_config/test.sol" --config "tests/e2e/config/test_json_config/slither.config.json"; then echo "Config failed" exit 1 fi From c870947ed2fb595235f2c5c3ef846fb2bb8249f8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Dec 2025 01:58:39 +0000 Subject: [PATCH 028/113] Bump actions/download-artifact from 5 to 6 Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 5 to 6. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v5...v6) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/publish.yml | 2 +- .github/workflows/test.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index f5e856d787..f7239def1b 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -38,7 +38,7 @@ jobs: - build-release steps: - name: fetch dists - uses: actions/download-artifact@v5 + uses: actions/download-artifact@v6 with: name: slither-dists path: dist/ diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 484197cacf..8f7419e8d2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -109,7 +109,7 @@ jobs: - run: pip install coverage[toml] - name: download coverage data - uses: actions/download-artifact@v5 + uses: actions/download-artifact@v6 with: pattern: coverage-data-* merge-multiple: true From 8a71069de128316eba1aa7caa255e0eb302636ca Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 2 Dec 2025 01:59:01 +0000 Subject: [PATCH 029/113] Bump actions/checkout from 5 to 6 Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v5...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/black.yml | 2 +- .github/workflows/black_auto.yml | 2 +- .github/workflows/ci.yml | 2 +- .github/workflows/docker.yml | 2 +- .github/workflows/docs.yml | 2 +- .github/workflows/doctor.yml | 2 +- .github/workflows/linter.yml | 2 +- .github/workflows/pip-audit.yml | 2 +- .github/workflows/publish.yml | 2 +- .github/workflows/pylint.yml | 2 +- .github/workflows/test.yml | 4 ++-- 11 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/black.yml b/.github/workflows/black.yml index 22ed3f7659..45ff3c6022 100644 --- a/.github/workflows/black.yml +++ b/.github/workflows/black.yml @@ -26,7 +26,7 @@ jobs: steps: - name: Checkout Code - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: # Full git history is needed to get a proper list of changed files within `super-linter` fetch-depth: 0 diff --git a/.github/workflows/black_auto.yml b/.github/workflows/black_auto.yml index abdc2ce645..69d8319885 100644 --- a/.github/workflows/black_auto.yml +++ b/.github/workflows/black_auto.yml @@ -23,7 +23,7 @@ jobs: steps: - name: Checkout Code - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Set up Python 3.8 uses: actions/setup-python@v6 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a151b8fb34..bac2ddeb95 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,7 +36,7 @@ jobs: - os: windows-2022 type: truffle steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python }} uses: actions/setup-python@v6 with: diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 7314f49a01..833d13e79d 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Set up QEMU uses: docker/setup-qemu-action@v3 diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 8a206f42cf..dee304e6b8 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -28,7 +28,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Setup Pages uses: actions/configure-pages@v5 - uses: actions/setup-python@v6 diff --git a/.github/workflows/doctor.yml b/.github/workflows/doctor.yml index b596ddfce9..a777fd3bf3 100644 --- a/.github/workflows/doctor.yml +++ b/.github/workflows/doctor.yml @@ -29,7 +29,7 @@ jobs: - os: windows-2022 python: 3.8 steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python }} uses: actions/setup-python@v6 diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index 6434913275..d8152ba8be 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -25,7 +25,7 @@ jobs: steps: - name: Checkout Code - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: # Full git history is needed to get a proper list of changed files within `super-linter` fetch-depth: 0 diff --git a/.github/workflows/pip-audit.yml b/.github/workflows/pip-audit.yml index 6e7d04394b..fcff8fc63d 100644 --- a/.github/workflows/pip-audit.yml +++ b/.github/workflows/pip-audit.yml @@ -18,7 +18,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v5 + uses: actions/checkout@v6 - name: Install Python uses: actions/setup-python@v6 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index f5e856d787..d8f7d7a7d7 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - name: Set up Python uses: actions/setup-python@v6 diff --git a/.github/workflows/pylint.yml b/.github/workflows/pylint.yml index 3c20cd20cf..6b99a3630d 100644 --- a/.github/workflows/pylint.yml +++ b/.github/workflows/pylint.yml @@ -23,7 +23,7 @@ jobs: steps: - name: Checkout Code - uses: actions/checkout@v5 + uses: actions/checkout@v6 with: # Full git history is needed to get a proper list of changed files within `super-linter` fetch-depth: 0 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 484197cacf..ec75fd2904 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,7 +27,7 @@ jobs: type: ["unit", "integration", "tool"] python: ${{ (github.event_name == 'pull_request' && fromJSON('["3.8", "3.12"]')) || fromJSON('["3.8", "3.9", "3.10", "3.11", "3.12"]') }} steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python }} uses: actions/setup-python@v6 with: @@ -100,7 +100,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - name: Set up Python 3.8 uses: actions/setup-python@v6 with: From f5056e4a0694df9af0b1c8e5a9ee67b69f86ec09 Mon Sep 17 00:00:00 2001 From: nisedo <73041332+nisedo@users.noreply.github.com> Date: Tue, 2 Dec 2025 09:45:03 +0100 Subject: [PATCH 030/113] fix: expand add_refers_to assertion to accept TopLevelVariable The add_refers_to method in LocalIRVariable was failing with an AssertionError during SSA generation when the rvalue was a TopLevelVariable (file-level constant/immutable). This fix expands the assertion to accept TopLevelVariable in addition to the existing SlithIRVariable and TemporaryVariable types. --- slither/slithir/variables/local_variable.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/slither/slithir/variables/local_variable.py b/slither/slithir/variables/local_variable.py index 347c9657f8..ce4a240213 100644 --- a/slither/slithir/variables/local_variable.py +++ b/slither/slithir/variables/local_variable.py @@ -1,5 +1,6 @@ from typing import Set from slither.core.variables.local_variable import LocalVariable +from slither.core.variables.top_level_variable import TopLevelVariable from slither.slithir.variables.temporary import TemporaryVariable from slither.slithir.variables.variable import SlithIRVariable from slither.slithir.variables.state_variable import StateIRVariable @@ -68,7 +69,8 @@ def non_ssa_version(self) -> LocalVariable: def add_refers_to(self, variable: StateIRVariable) -> None: # It is a temporaryVariable if its the return of a new .. # ex: string[] memory dynargs = new string[](1); - assert isinstance(variable, (SlithIRVariable, TemporaryVariable)) + # It can also be a TopLevelVariable for file-level constant/immutable references + assert isinstance(variable, (SlithIRVariable, TemporaryVariable, TopLevelVariable)) self._refers_to.add(variable) @property From a0b0f46a3213b3ef9b548cda2ea0453a3e12314e Mon Sep 17 00:00:00 2001 From: steven nevins Date: Tue, 2 Dec 2025 19:27:47 -0500 Subject: [PATCH 031/113] feat(mutator): add --target-functions flag to filter mutations by selector Add CLI flag to slither-mutate that filters mutations to specific functions by their selector. Supports both hex selectors (0xa9059cbb) and full signatures (transfer(address,uint256)). Features: - Parse comma-separated selectors with parenthesis-aware splitting - Include modifiers used by target functions - Abort with error if no functions match selector - Combine with --contract-names for precise targeting --- slither/tools/mutator/__main__.py | 99 ++++++++++++++++++- slither/tools/mutator/mutators/AOR.py | 2 + slither/tools/mutator/mutators/ASOR.py | 2 + slither/tools/mutator/mutators/BOR.py | 2 + slither/tools/mutator/mutators/CR.py | 2 + slither/tools/mutator/mutators/FHR.py | 2 + slither/tools/mutator/mutators/LIR.py | 2 + slither/tools/mutator/mutators/LOR.py | 2 + slither/tools/mutator/mutators/MIA.py | 2 + slither/tools/mutator/mutators/MVIE.py | 2 + slither/tools/mutator/mutators/MVIV.py | 2 + slither/tools/mutator/mutators/MWA.py | 2 + slither/tools/mutator/mutators/ROR.py | 2 + slither/tools/mutator/mutators/RR.py | 2 + slither/tools/mutator/mutators/SBR.py | 2 + slither/tools/mutator/mutators/UOR.py | 2 + .../mutator/mutators/abstract_mutator.py | 25 ++++- tests/tools/mutator/test_mutator.py | 39 +++++++- 18 files changed, 190 insertions(+), 3 deletions(-) diff --git a/slither/tools/mutator/__main__.py b/slither/tools/mutator/__main__.py index 1eb5f3faed..9c98977a0e 100644 --- a/slither/tools/mutator/__main__.py +++ b/slither/tools/mutator/__main__.py @@ -6,7 +6,7 @@ import sys import time from pathlib import Path -from typing import Type, List, Any, Optional, Union +from typing import Type, List, Any, Optional, Union, Set from crytic_compile import cryticparser from slither import Slither from slither.tools.mutator.utils.testing_generated_mutant import run_test_cmd @@ -89,6 +89,12 @@ def parse_args() -> argparse.Namespace: help="list of contract names you want to mutate", ) + # target specific functions by selector + parser.add_argument( + "--target-functions", + help="Comma-separated list of function selectors (hex like 0xa9059cbb or signature like transfer(address,uint256))", + ) + # flag to run full mutation based revert mutator output parser.add_argument( "--comprehensive", @@ -131,6 +137,62 @@ def __call__( parser.exit() +# endregion +################################################################################### +################################################################################### +# region Selector Parsing +################################################################################### +################################################################################### + + +def parse_target_selectors(selector_str: str) -> Set[int]: + """Parse comma-separated selectors (hex or signature format) + + Handles signatures with commas like transfer(address,uint256) by + only splitting on commas outside of parentheses. + """ + from slither.utils.function import get_function_id + + selectors: Set[int] = set() + + # Split on commas only when not inside parentheses + parts = [] + current = "" + depth = 0 + for char in selector_str: + if char == "(": + depth += 1 + current += char + elif char == ")": + depth -= 1 + current += char + elif char == "," and depth == 0: + parts.append(current.strip()) + current = "" + else: + current += char + if current.strip(): + parts.append(current.strip()) + + for s in parts: + if not s: + continue + if s.startswith("0x"): + # Hex format: 0xa9059cbb + if len(s) != 10: + logger.error(f"Invalid selector format: {s} (must be 0x + 8 hex chars)") + sys.exit(1) + try: + selectors.add(int(s, 16)) + except ValueError: + logger.error(f"Invalid hex selector: {s}") + sys.exit(1) + else: + # Signature format: transfer(address,uint256) + selectors.add(get_function_id(s)) + return selectors + + # endregion ################################################################################### ################################################################################### @@ -164,6 +226,10 @@ def main() -> None: # pylint: disable=too-many-statements,too-many-branches,too if args.contract_names: contract_names = args.contract_names.split(",") + target_selectors: Optional[Set[int]] = None + if args.target_functions: + target_selectors = parse_target_selectors(args.target_functions) + # get all the contracts as a list from given codebase sol_file_list: List[str] = get_sol_file_list(Path(args.codebase), paths_to_ignore_list) @@ -272,6 +338,35 @@ def main() -> None: # pylint: disable=too-many-statements,too-many-branches,too # Add our target to the mutation list mutated_contracts.append(target_contract.name) logger.info(blue(f"Mutating contract {target_contract}")) + + # Validate target selectors and collect target modifiers + target_modifiers: Optional[Set[str]] = None + if target_selectors: + from slither.utils.function import get_function_id + + matching_functions = [] + target_modifiers = set() + + for func in target_contract.functions_declared: + func_selector = get_function_id(func.solidity_signature) + if func_selector in target_selectors: + matching_functions.append(func) + # Collect modifiers used by this function + for mod in func.modifiers: + target_modifiers.add(mod.name) + + if not matching_functions: + logger.error( + f"No functions in {target_contract.name} match selectors: {[hex(s) for s in target_selectors]}" + ) + sys.exit(1) + + logger.info( + blue(f"Targeting functions: {[f.name for f in matching_functions]}") + ) + if target_modifiers: + logger.info(blue(f"Including modifiers: {list(target_modifiers)}")) + for M in mutators_list: m = M( compilation_unit_of_main_file, @@ -283,6 +378,8 @@ def main() -> None: # pylint: disable=too-many-statements,too-many-branches,too verbose, output_folder, dont_mutate_lines, + target_selectors=target_selectors, + target_modifiers=target_modifiers, ) (total_counts, uncaught_counts, lines_list) = m.mutate() diff --git a/slither/tools/mutator/mutators/AOR.py b/slither/tools/mutator/mutators/AOR.py index 9f17707a23..e11b26d51d 100644 --- a/slither/tools/mutator/mutators/AOR.py +++ b/slither/tools/mutator/mutators/AOR.py @@ -24,6 +24,8 @@ def _mutate(self) -> Dict: for ( # pylint: disable=too-many-nested-blocks function ) in self.contract.functions_and_modifiers_declared: + if not self.should_mutate_function(function): + continue for node in function.nodes: if not self.should_mutate_node(node): continue diff --git a/slither/tools/mutator/mutators/ASOR.py b/slither/tools/mutator/mutators/ASOR.py index 47541b154e..077996353a 100644 --- a/slither/tools/mutator/mutators/ASOR.py +++ b/slither/tools/mutator/mutators/ASOR.py @@ -31,6 +31,8 @@ def _mutate(self) -> Dict: for ( # pylint: disable=too-many-nested-blocks function ) in self.contract.functions_and_modifiers_declared: + if not self.should_mutate_function(function): + continue for node in function.nodes: if not self.should_mutate_node(node): continue diff --git a/slither/tools/mutator/mutators/BOR.py b/slither/tools/mutator/mutators/BOR.py index 4a2cc053d7..49e54ec22f 100644 --- a/slither/tools/mutator/mutators/BOR.py +++ b/slither/tools/mutator/mutators/BOR.py @@ -22,6 +22,8 @@ def _mutate(self) -> Dict: for ( # pylint: disable=too-many-nested-blocks function ) in self.contract.functions_and_modifiers_declared: + if not self.should_mutate_function(function): + continue for node in function.nodes: if not self.should_mutate_node(node): continue diff --git a/slither/tools/mutator/mutators/CR.py b/slither/tools/mutator/mutators/CR.py index 7183a4d2e7..c0e17b157c 100644 --- a/slither/tools/mutator/mutators/CR.py +++ b/slither/tools/mutator/mutators/CR.py @@ -14,6 +14,8 @@ def _mutate(self) -> Dict: for ( # pylint: disable=too-many-nested-blocks function ) in self.contract.functions_and_modifiers_declared: + if not self.should_mutate_function(function): + continue for node in function.nodes: if not self.should_mutate_node(node): continue diff --git a/slither/tools/mutator/mutators/FHR.py b/slither/tools/mutator/mutators/FHR.py index c847542cad..0c86ae34f6 100644 --- a/slither/tools/mutator/mutators/FHR.py +++ b/slither/tools/mutator/mutators/FHR.py @@ -20,6 +20,8 @@ def _mutate(self) -> Dict: result: Dict = {} for function in self.contract.functions_and_modifiers_declared: + if not self.should_mutate_function(function): + continue start = function.source_mapping.start stop = start + function.source_mapping.content.find("{") old_str = function.source_mapping.content diff --git a/slither/tools/mutator/mutators/LIR.py b/slither/tools/mutator/mutators/LIR.py index fe0d2cf5cd..95aa397359 100644 --- a/slither/tools/mutator/mutators/LIR.py +++ b/slither/tools/mutator/mutators/LIR.py @@ -56,6 +56,8 @@ def _mutate(self) -> Dict: # pylint: disable=too-many-branches for ( # pylint: disable=too-many-nested-blocks function ) in self.contract.functions_and_modifiers_declared: + if not self.should_mutate_function(function): + continue for variable in function.local_variables: if variable.initialized and isinstance(variable.expression, Literal): if isinstance(variable.type, ElementaryType): diff --git a/slither/tools/mutator/mutators/LOR.py b/slither/tools/mutator/mutators/LOR.py index 1ae9cd4859..3989e9b6a4 100644 --- a/slither/tools/mutator/mutators/LOR.py +++ b/slither/tools/mutator/mutators/LOR.py @@ -19,6 +19,8 @@ def _mutate(self) -> Dict: for ( # pylint: disable=too-many-nested-blocks function ) in self.contract.functions_and_modifiers_declared: + if not self.should_mutate_function(function): + continue for node in function.nodes: if not self.should_mutate_node(node): continue diff --git a/slither/tools/mutator/mutators/MIA.py b/slither/tools/mutator/mutators/MIA.py index 800c196daf..8e53683ae7 100644 --- a/slither/tools/mutator/mutators/MIA.py +++ b/slither/tools/mutator/mutators/MIA.py @@ -12,6 +12,8 @@ class MIA(AbstractMutator): # pylint: disable=too-few-public-methods def _mutate(self) -> Dict: result: Dict = {} for function in self.contract.functions_and_modifiers_declared: + if not self.should_mutate_function(function): + continue for node in function.nodes: if not self.should_mutate_node(node): continue diff --git a/slither/tools/mutator/mutators/MVIE.py b/slither/tools/mutator/mutators/MVIE.py index be0a80daf5..53bd5647cf 100644 --- a/slither/tools/mutator/mutators/MVIE.py +++ b/slither/tools/mutator/mutators/MVIE.py @@ -39,6 +39,8 @@ def _mutate(self) -> Dict: ) for function in self.contract.functions_and_modifiers_declared: + if not self.should_mutate_function(function): + continue for variable in function.local_variables: if variable.initialized and not isinstance(variable.expression, Literal): # Get the string diff --git a/slither/tools/mutator/mutators/MVIV.py b/slither/tools/mutator/mutators/MVIV.py index 1e14d1177c..861b576041 100644 --- a/slither/tools/mutator/mutators/MVIV.py +++ b/slither/tools/mutator/mutators/MVIV.py @@ -39,6 +39,8 @@ def _mutate(self) -> Dict: ) for function in self.contract.functions_and_modifiers_declared: + if not self.should_mutate_function(function): + continue for variable in function.local_variables: if variable.initialized and isinstance(variable.expression, Literal): start = variable.source_mapping.start diff --git a/slither/tools/mutator/mutators/MWA.py b/slither/tools/mutator/mutators/MWA.py index 655c6f500c..95e0ee9f37 100644 --- a/slither/tools/mutator/mutators/MWA.py +++ b/slither/tools/mutator/mutators/MWA.py @@ -13,6 +13,8 @@ def _mutate(self) -> Dict: result: Dict = {} for function in self.contract.functions_and_modifiers_declared: + if not self.should_mutate_function(function): + continue for node in function.nodes: if not self.should_mutate_node(node): continue diff --git a/slither/tools/mutator/mutators/ROR.py b/slither/tools/mutator/mutators/ROR.py index 2aaf4816e3..158cf9cef7 100644 --- a/slither/tools/mutator/mutators/ROR.py +++ b/slither/tools/mutator/mutators/ROR.py @@ -23,6 +23,8 @@ def _mutate(self) -> Dict: for ( # pylint: disable=too-many-nested-blocks function ) in self.contract.functions_and_modifiers_declared: + if not self.should_mutate_function(function): + continue for node in function.nodes: if not self.should_mutate_node(node): continue diff --git a/slither/tools/mutator/mutators/RR.py b/slither/tools/mutator/mutators/RR.py index 14d32f0611..4fc23e8949 100644 --- a/slither/tools/mutator/mutators/RR.py +++ b/slither/tools/mutator/mutators/RR.py @@ -12,6 +12,8 @@ def _mutate(self) -> Dict: result: Dict = {} for function in self.contract.functions_and_modifiers_declared: + if not self.should_mutate_function(function): + continue for node in function.nodes: if not self.should_mutate_node(node): continue diff --git a/slither/tools/mutator/mutators/SBR.py b/slither/tools/mutator/mutators/SBR.py index 9af81acccb..db51d76849 100644 --- a/slither/tools/mutator/mutators/SBR.py +++ b/slither/tools/mutator/mutators/SBR.py @@ -55,6 +55,8 @@ def _mutate(self) -> Dict: for ( # pylint: disable=too-many-nested-blocks function ) in self.contract.functions_and_modifiers_declared: + if not self.should_mutate_function(function): + continue for node in function.nodes: if not self.should_mutate_node(node): continue diff --git a/slither/tools/mutator/mutators/UOR.py b/slither/tools/mutator/mutators/UOR.py index 30a3422acf..1a0ead3ce9 100644 --- a/slither/tools/mutator/mutators/UOR.py +++ b/slither/tools/mutator/mutators/UOR.py @@ -22,6 +22,8 @@ def _mutate(self) -> Dict: for ( # pylint: disable=too-many-nested-blocks function ) in self.contract.functions_and_modifiers_declared: + if not self.should_mutate_function(function): + continue for node in function.nodes: if not self.should_mutate_node(node): continue diff --git a/slither/tools/mutator/mutators/abstract_mutator.py b/slither/tools/mutator/mutators/abstract_mutator.py index e91c108a92..531c97e8b6 100644 --- a/slither/tools/mutator/mutators/abstract_mutator.py +++ b/slither/tools/mutator/mutators/abstract_mutator.py @@ -1,7 +1,7 @@ import abc import logging from pathlib import Path -from typing import Optional, Dict, Tuple, List, Union +from typing import Optional, Dict, Tuple, List, Union, Set from slither.core.compilation_unit import SlitherCompilationUnit from slither.formatters.utils.patches import apply_patch, create_diff from slither.tools.mutator.utils.testing_generated_mutant import test_patch @@ -34,6 +34,8 @@ def __init__( # pylint: disable=too-many-arguments dont_mutate_line: List[int], rate: int = 10, seed: Optional[int] = None, + target_selectors: Optional[Set[int]] = None, + target_modifiers: Optional[Set[str]] = None, ) -> None: self.compilation_unit = compilation_unit self.slither = compilation_unit.core @@ -48,6 +50,8 @@ def __init__( # pylint: disable=too-many-arguments self.contract = contract_instance self.in_file = self.contract.source_mapping.filename.absolute self.dont_mutate_line = dont_mutate_line + self.target_selectors = target_selectors + self.target_modifiers = target_modifiers # total revert/comment/tweak mutants that were generated and compiled self.total_mutant_counts = [0, 0, 0] # total uncaught revert/comment/tweak mutants @@ -74,6 +78,25 @@ def should_mutate_node(self, node) -> bool: and node.source_mapping.filename.absolute == self.in_file ) + def should_mutate_function(self, function) -> bool: + """Check if function/modifier should be mutated based on target_selectors""" + if self.target_selectors is None: + return True # No filter, mutate all + + from slither.utils.function import get_function_id + from slither.core.declarations import Modifier + + if isinstance(function, Modifier): + # For modifiers, check if in target_modifiers set + return bool(self.target_modifiers and function.name in self.target_modifiers) + + # For functions, check selector + try: + func_selector = get_function_id(function.solidity_signature) + return func_selector in self.target_selectors + except Exception: # pylint: disable=broad-except + return False + @abc.abstractmethod def _mutate(self) -> Dict: """Abstract placeholder, will be overwritten by each mutator""" diff --git a/tests/tools/mutator/test_mutator.py b/tests/tools/mutator/test_mutator.py index 285d291dbb..95c93565c8 100644 --- a/tests/tools/mutator/test_mutator.py +++ b/tests/tools/mutator/test_mutator.py @@ -9,9 +9,10 @@ import pytest from slither import Slither -from slither.tools.mutator.__main__ import _get_mutators, main +from slither.tools.mutator.__main__ import _get_mutators, main, parse_target_selectors from slither.tools.mutator.utils.testing_generated_mutant import run_test_cmd from slither.tools.mutator.utils.file_handling import get_sol_file_list, backup_source_file +from slither.utils.function import get_function_id TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" @@ -131,3 +132,39 @@ def mock_run(*args, **kwargs): result = run_test_cmd("forge test", timeout=1) assert not result assert "Tests took too long" in caplog.messages[0] + + +def test_parse_target_selectors_hex(): + """Test hex selector parsing""" + selectors = parse_target_selectors("0xa9059cbb") + assert 0xA9059CBB in selectors + assert len(selectors) == 1 + + +def test_parse_target_selectors_signature(): + """Test signature to selector conversion""" + selectors = parse_target_selectors("transfer(address,uint256)") + expected = get_function_id("transfer(address,uint256)") + assert expected in selectors + assert len(selectors) == 1 + + +def test_parse_target_selectors_multiple(): + """Test multiple selectors (mixed formats)""" + selectors = parse_target_selectors("0xa9059cbb,mint(address,uint256)") + assert len(selectors) == 2 + assert 0xA9059CBB in selectors + assert get_function_id("mint(address,uint256)") in selectors + + +def test_parse_target_selectors_empty_parts(): + """Test handling of empty parts in comma-separated list""" + selectors = parse_target_selectors("0xa9059cbb,,0x40c10f19") + assert len(selectors) == 2 + + +def test_parse_target_selectors_whitespace(): + """Test handling of whitespace around selectors""" + # Note: 0xa9059cbb IS transfer(address,uint256), so deduped to 1 + selectors = parse_target_selectors(" 0xa9059cbb , mint(address,uint256) ") + assert len(selectors) == 2 From 29067fc905f624c8cb5748dd5d16a2c3c05d8850 Mon Sep 17 00:00:00 2001 From: steven nevins Date: Wed, 3 Dec 2025 10:45:27 -0500 Subject: [PATCH 032/113] test(mutator): add unit tests for should_mutate_function Add tests covering all code paths in AbstractMutator.should_mutate_function(): - No filter (target_selectors=None) returns True for all - Matching selector returns True, non-matching returns False - Modifier inclusion when used by target function Also adds onlyOwner modifier and restrictedIncrement() to test fixture. --- .../test_source_unit/src/Counter.sol | 10 ++ tests/tools/mutator/test_mutator.py | 118 ++++++++++++++++++ 2 files changed, 128 insertions(+) diff --git a/tests/tools/mutator/test_data/test_source_unit/src/Counter.sol b/tests/tools/mutator/test_data/test_source_unit/src/Counter.sol index 7a83fefc42..8ffeb9b77f 100644 --- a/tests/tools/mutator/test_data/test_source_unit/src/Counter.sol +++ b/tests/tools/mutator/test_data/test_source_unit/src/Counter.sol @@ -3,6 +3,12 @@ pragma solidity ^0.8.15; contract Counter { uint256 public number; + address public owner; + + modifier onlyOwner() { + require(msg.sender == owner, "not owner"); + _; + } function setNumber(uint256 newNumber) public { number = newNumber; @@ -11,4 +17,8 @@ contract Counter { function increment() public { number++; } + + function restrictedIncrement() public onlyOwner { + number++; + } } diff --git a/tests/tools/mutator/test_mutator.py b/tests/tools/mutator/test_mutator.py index 95c93565c8..cdec5ac56f 100644 --- a/tests/tools/mutator/test_mutator.py +++ b/tests/tools/mutator/test_mutator.py @@ -13,6 +13,7 @@ from slither.tools.mutator.utils.testing_generated_mutant import run_test_cmd from slither.tools.mutator.utils.file_handling import get_sol_file_list, backup_source_file from slither.utils.function import get_function_id +from slither.tools.mutator.mutators.RR import RR TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" @@ -168,3 +169,120 @@ def test_parse_target_selectors_whitespace(): # Note: 0xa9059cbb IS transfer(address,uint256), so deduped to 1 selectors = parse_target_selectors(" 0xa9059cbb , mint(address,uint256) ") assert len(selectors) == 2 + + +def test_should_mutate_function_no_filter(solc_binary_path): + """When target_selectors is None, all functions should be mutated""" + solc_path = solc_binary_path("0.8.15") + file_path = (TEST_DATA_DIR / "test_source_unit" / "src" / "Counter.sol").as_posix() + sl = Slither(file_path, solc=solc_path, compile_force_framework="solc") + + contract = next(c for c in sl.contracts if c.name == "Counter") + + with tempfile.TemporaryDirectory() as tmpdir: + mutator = RR( + sl.compilation_units[0], + timeout=30, + testing_command="true", + testing_directory=None, + contract_instance=contract, + solc_remappings=None, + verbose=False, + output_folder=Path(tmpdir), + dont_mutate_line=[], + target_selectors=None, + target_modifiers=None, + ) + + # All functions should be included when no filter + for func in contract.functions_declared: + assert mutator.should_mutate_function(func) is True + + +def test_should_mutate_function_matching_selector(solc_binary_path): + """Function matching target selector should be mutated""" + solc_path = solc_binary_path("0.8.15") + file_path = (TEST_DATA_DIR / "test_source_unit" / "src" / "Counter.sol").as_posix() + sl = Slither(file_path, solc=solc_path, compile_force_framework="solc") + + contract = next(c for c in sl.contracts if c.name == "Counter") + increment_selector = get_function_id("increment()") + + with tempfile.TemporaryDirectory() as tmpdir: + mutator = RR( + sl.compilation_units[0], + timeout=30, + testing_command="true", + testing_directory=None, + contract_instance=contract, + solc_remappings=None, + verbose=False, + output_folder=Path(tmpdir), + dont_mutate_line=[], + target_selectors={increment_selector}, + target_modifiers=None, + ) + + for func in contract.functions_declared: + if func.name == "increment": + assert mutator.should_mutate_function(func) is True + else: + assert mutator.should_mutate_function(func) is False + + +def test_should_mutate_function_no_match(solc_binary_path): + """Function not matching any selector should not be mutated""" + solc_path = solc_binary_path("0.8.15") + file_path = (TEST_DATA_DIR / "test_source_unit" / "src" / "Counter.sol").as_posix() + sl = Slither(file_path, solc=solc_path, compile_force_framework="solc") + + contract = next(c for c in sl.contracts if c.name == "Counter") + + with tempfile.TemporaryDirectory() as tmpdir: + mutator = RR( + sl.compilation_units[0], + timeout=30, + testing_command="true", + testing_directory=None, + contract_instance=contract, + solc_remappings=None, + verbose=False, + output_folder=Path(tmpdir), + dont_mutate_line=[], + target_selectors={0xDEADBEEF}, + target_modifiers=None, + ) + + # No functions should match bogus selector + for func in contract.functions_declared: + assert mutator.should_mutate_function(func) is False + + +def test_should_mutate_function_includes_modifier(solc_binary_path): + """Modifier used by target function should be mutated""" + solc_path = solc_binary_path("0.8.15") + file_path = (TEST_DATA_DIR / "test_source_unit" / "src" / "Counter.sol").as_posix() + sl = Slither(file_path, solc=solc_path, compile_force_framework="solc") + + contract = next(c for c in sl.contracts if c.name == "Counter") + restricted_selector = get_function_id("restrictedIncrement()") + + with tempfile.TemporaryDirectory() as tmpdir: + mutator = RR( + sl.compilation_units[0], + timeout=30, + testing_command="true", + testing_directory=None, + contract_instance=contract, + solc_remappings=None, + verbose=False, + output_folder=Path(tmpdir), + dont_mutate_line=[], + target_selectors={restricted_selector}, + target_modifiers={"onlyOwner"}, + ) + + # onlyOwner modifier should be included + for mod in contract.modifiers: + if mod.name == "onlyOwner": + assert mutator.should_mutate_function(mod) is True From 4b6b01408be4f213944f76ff6160dac63685407d Mon Sep 17 00:00:00 2001 From: steven nevins Date: Wed, 3 Dec 2025 10:55:24 -0500 Subject: [PATCH 033/113] docs(mutator): add --target-functions to CLI help Document the new flag for filtering mutations by function selector. --- docs/src/tools/Mutator.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/src/tools/Mutator.md b/docs/src/tools/Mutator.md index b33c5f4fbe..1dba8d42d1 100644 --- a/docs/src/tools/Mutator.md +++ b/docs/src/tools/Mutator.md @@ -38,5 +38,8 @@ options: mutant generators to run --contract-names CONTRACT_NAMES list of contract names you want to mutate + --target-functions TARGET_FUNCTIONS + Comma-separated list of function selectors (hex like + 0xa9059cbb or signature like transfer(address,uint256)) --comprehensive continue testing minor mutations if severe mutants are uncaught ``` From 35813d4a423d6ae8088889b2ba452f80bb481368 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 8 Dec 2025 22:04:55 +0000 Subject: [PATCH 034/113] Bump sigstore/gh-action-sigstore-python from 3.1.0 to 3.2.0 Bumps [sigstore/gh-action-sigstore-python](https://github.com/sigstore/gh-action-sigstore-python) from 3.1.0 to 3.2.0. - [Release notes](https://github.com/sigstore/gh-action-sigstore-python/releases) - [Changelog](https://github.com/sigstore/gh-action-sigstore-python/blob/main/CHANGELOG.md) - [Commits](https://github.com/sigstore/gh-action-sigstore-python/compare/v3.1.0...v3.2.0) --- updated-dependencies: - dependency-name: sigstore/gh-action-sigstore-python dependency-version: 3.2.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index f5e856d787..cbd933c2a8 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -47,7 +47,7 @@ jobs: uses: pypa/gh-action-pypi-publish@v1.13.0 - name: sign - uses: sigstore/gh-action-sigstore-python@v3.1.0 + uses: sigstore/gh-action-sigstore-python@v3.2.0 with: inputs: ./dist/*.tar.gz ./dist/*.whl release-signing-artifacts: true From 90b7fab6b2eb342ad28dbc5bf5590c1a054bbe0d Mon Sep 17 00:00:00 2001 From: Dan Guido Date: Mon, 5 Jan 2026 13:51:54 -0500 Subject: [PATCH 035/113] Clean up GitHub templates and config files MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove .coderabbit.yaml (CodeRabbit AI config) - Fix YAML formatting in issue/discussion templates - Fix indentation in dependabot.yml - Remove trailing whitespace in .gitignore and CITATION.cff - Fix trailing whitespace in docs - Remove stale files (demo README, slither_format .gitignore) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .coderabbit.yaml | 25 ------------ .github/DISCUSSION_TEMPLATE/installation.yml | 24 +++++------ .github/ISSUE_TEMPLATE/bug_report.yml | 40 +++++++++---------- .github/ISSUE_TEMPLATE/false_negative.yml | 42 ++++++++++---------- .github/ISSUE_TEMPLATE/false_positive.yml | 42 ++++++++++---------- .github/ISSUE_TEMPLATE/feature_request.yml | 2 +- .github/dependabot.yml | 10 ++--- .gitignore | 4 +- CITATION.cff | 6 +-- docs/src/tools/Code-Similarity-Detector.md | 2 +- docs/src/tutorials/README.md | 2 +- slither/tools/demo/README.md | 6 --- slither/tools/slither_format/.gitignore | 14 ------- 13 files changed, 87 insertions(+), 132 deletions(-) delete mode 100644 .coderabbit.yaml delete mode 100644 slither/tools/demo/README.md delete mode 100644 slither/tools/slither_format/.gitignore diff --git a/.coderabbit.yaml b/.coderabbit.yaml deleted file mode 100644 index c1e63d0c0e..0000000000 --- a/.coderabbit.yaml +++ /dev/null @@ -1,25 +0,0 @@ -# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json -language: "en" -early_access: false -knowledge_base: - learnings: - scope: auto - issues: - scope: global -reviews: - profile: "chill" - request_changes_workflow: false - high_level_summary: true - poem: false - review_status: true - collapse_walkthrough: true - auto_review: - enabled: true - ignore_title_keywords: - - "WIP" - - "DO NOT MERGE" - drafts: false - base_branches: - - dev -chat: - auto_reply: true \ No newline at end of file diff --git a/.github/DISCUSSION_TEMPLATE/installation.yml b/.github/DISCUSSION_TEMPLATE/installation.yml index 64ac9375e6..45b2043947 100644 --- a/.github/DISCUSSION_TEMPLATE/installation.yml +++ b/.github/DISCUSSION_TEMPLATE/installation.yml @@ -1,20 +1,20 @@ ---- -body: - - - attributes: +--- +body: + - + attributes: label: "What operating system are you using?" id: os type: textarea - validations: + validations: required: true - - - attributes: + - + attributes: label: "How did you install slither?" description: | For example, using git or python's pip. id: install-method type: textarea - validations: + validations: required: true - type: dropdown id: python @@ -25,14 +25,14 @@ body: - "Yes" - "No" - "Not sure" - - - attributes: + - + attributes: description: | - Please copy and paste any relevant log output. This + Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks. render: shell label: "Output of running `slither-doctor .`:" id: logs -labels: +labels: - installation-help title: "[Installation-Help]: " diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index f1b3a4f4f2..ab0eda84b1 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -1,54 +1,54 @@ ---- -body: - - - attributes: +--- +body: + - + attributes: value: | - Please check the issues tab to avoid duplicates, and + Please check the issues tab to avoid duplicates, and confirm that the bug exists on the latest release (upgrade by running `python3 -m pip install --upgrade slither-analyzer`). - + If you are having difficulty installing slither, please head over to the "Discussions" page. - + Thanks for taking the time to fill out this bug report! type: markdown - - - attributes: + - + attributes: label: "Describe the issue:" id: what-happened type: textarea - validations: + validations: required: true - - - attributes: + - + attributes: description: "It can be a github repo (preferred), etherscan link, or code snippet." label: "Code example to reproduce the issue:" placeholder: "`contract A {}`\n" id: reproduce type: textarea - validations: + validations: required: true - - - attributes: + - + attributes: description: | What version of slither are you running? Run `slither --version` label: "Version:" id: version type: textarea - validations: + validations: required: true - - - attributes: + - + attributes: description: | - Please copy and paste any relevant log output. This + Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks. render: shell label: "Relevant log output:" id: logs type: textarea description: "File a bug report" -labels: +labels: - bug-candidate name: "Bug Report" title: "[Bug-Candidate]: " diff --git a/.github/ISSUE_TEMPLATE/false_negative.yml b/.github/ISSUE_TEMPLATE/false_negative.yml index 38dfa62300..6cd661a957 100644 --- a/.github/ISSUE_TEMPLATE/false_negative.yml +++ b/.github/ISSUE_TEMPLATE/false_negative.yml @@ -1,61 +1,61 @@ ---- -body: - - - attributes: +--- +body: + - + attributes: value: | - Please check the issues tab to avoid duplicates. + Please check the issues tab to avoid duplicates. Thanks for helping make Slither the best it can be! type: markdown - - - attributes: + - + attributes: label: "What bug did Slither miss and which detector did you anticipate would catch it?" id: what-happened type: textarea - validations: + validations: required: true - - + - attributes: label: Frequency description: How often do you run across this false negative? options: - Very Frequently - - Occasionally + - Occasionally - Rarely - Not sure id: frequency type: dropdown validations: required: true - - - attributes: + - + attributes: description: "It can be a github repo, etherscan link, or code snippet." label: "Code example to reproduce the issue:" placeholder: "`contract A {}`\n" id: reproduce type: textarea - validations: + validations: required: true - - - attributes: + - + attributes: description: | - What version of slither are you running? + What version of slither are you running? Run `slither --version` label: "Version:" id: version type: textarea - validations: + validations: required: true - - - attributes: + - + attributes: description: | - Please copy and paste the result output. This + Please copy and paste the result output. This will be automatically formatted into code, so no need for backticks. render: shell label: "Relevant log output:" id: logs type: textarea description: "Slither missed a bug it should find." -labels: +labels: - false-negative name: False Negative title: "[False Negative]: " diff --git a/.github/ISSUE_TEMPLATE/false_positive.yml b/.github/ISSUE_TEMPLATE/false_positive.yml index 258a70dfb6..b4b1c0bed3 100644 --- a/.github/ISSUE_TEMPLATE/false_positive.yml +++ b/.github/ISSUE_TEMPLATE/false_positive.yml @@ -1,61 +1,61 @@ ---- -body: - - - attributes: +--- +body: + - + attributes: value: | - Please check the issues tab to avoid duplicates. + Please check the issues tab to avoid duplicates. Thanks for helping make Slither the best it can be! type: markdown - - - attributes: + - + attributes: label: "Describe the false alarm that Slither raise and how you know it's inaccurate:" id: what-happened type: textarea - validations: + validations: required: true - - + - attributes: label: Frequency description: How often do you run across this false positive? options: - Very Frequently - - Occasionally + - Occasionally - Rarely - Not sure id: frequency type: dropdown validations: required: true - - - attributes: + - + attributes: description: "It can be a github repo, etherscan link, or code snippet." label: "Code example to reproduce the issue:" placeholder: "`contract A {}`\n" id: reproduce type: textarea - validations: + validations: required: true - - - attributes: + - + attributes: description: | - What version of slither are you running? + What version of slither are you running? Run `slither --version` label: "Version:" id: version type: textarea - validations: + validations: required: true - - - attributes: + - + attributes: description: | - Please copy and paste the result output. This + Please copy and paste the result output. This will be automatically formatted into code, so no need for backticks. render: shell label: "Relevant log output:" id: logs type: textarea description: "Slither warned of an issue that is not legitimate and does not need to be fixed." -labels: +labels: - false-positive name: "False Positive" title: "[False-Positive]: " diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index 651f780374..1fbfdfafbf 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -14,4 +14,4 @@ body: label: Describe the desired feature description: Explain what the feature solves/ improves. validations: - required: true \ No newline at end of file + required: true diff --git a/.github/dependabot.yml b/.github/dependabot.yml index dd3015cbc2..9ff89397a5 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,8 +1,8 @@ --- version: 2 updates: - - package-ecosystem: "github-actions" - directory: "/" - target-branch: "dev" - schedule: - interval: "weekly" + - package-ecosystem: "github-actions" + directory: "/" + target-branch: "dev" + schedule: + interval: "weekly" diff --git a/.gitignore b/.gitignore index 083ddebe27..c1f483be2c 100644 --- a/.gitignore +++ b/.gitignore @@ -110,8 +110,8 @@ ENV/ # Test results test_artifacts/ -# crytic export +# crytic export crytic-export/ -# slither.db.json +# slither.db.json slither.db.json diff --git a/CITATION.cff b/CITATION.cff index 605bd60e5f..31e251c29a 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -33,14 +33,14 @@ abstract: >- SlithIR uses Static Single Assignment (SSA) form and a reduced instruction set to ease implementation of analyses while preserving semantic information that would be lost - in transforming Solidity to bytecode. + in transforming Solidity to bytecode. Slither allows for the application of commonly used program analysis techniques like dataflow and taint tracking. - Our framework has four main use cases: + Our framework has four main use cases: (1) automated detection of vulnerabilities, @@ -50,7 +50,7 @@ abstract: >- (3) improvement of the user's understanding of the contracts, and - (4) assistance with code review. + (4) assistance with code review. keywords: - Ethereum - Static Analysis diff --git a/docs/src/tools/Code-Similarity-Detector.md b/docs/src/tools/Code-Similarity-Detector.md index feb26f9cd3..f6492630c4 100644 --- a/docs/src/tools/Code-Similarity-Detector.md +++ b/docs/src/tools/Code-Similarity-Detector.md @@ -98,7 +98,7 @@ INFO:Slither-simil:Saving cache in cache.npz INFO:Slither-simil:Done! ``` -After it runs, the `slither-simil` will output the the trained model in `model.bin`, a cache of every function for use in test mode in `cache.npz`, and the SlithIR of every function for debugging in `last_data_train.txt`. +After it runs, the `slither-simil` will output the trained model in `model.bin`, a cache of every function for use in test mode in `cache.npz`, and the SlithIR of every function for debugging in `last_data_train.txt`. ### Plot mode diff --git a/docs/src/tutorials/README.md b/docs/src/tutorials/README.md index d5bff9ab2a..67ad206b71 100644 --- a/docs/src/tutorials/README.md +++ b/docs/src/tutorials/README.md @@ -17,7 +17,7 @@ Watch Slither's [code walkthrough](https://www.youtube.com/watch?v=EUl3UlYSluU), ## Installation -Slither requires Python >= 3.8. You can install it through pip or by using Docker. +Slither requires Python >= 3.9. You can install it through pip or by using Docker. Installing Slither through pip: diff --git a/slither/tools/demo/README.md b/slither/tools/demo/README.md deleted file mode 100644 index 2ed90692cd..0000000000 --- a/slither/tools/demo/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# Demo - -This directory contains an example of Slither utility. - -See the [utility documentation](https://github.com/crytic/slither/wiki/Adding-a-new-utility) - diff --git a/slither/tools/slither_format/.gitignore b/slither/tools/slither_format/.gitignore deleted file mode 100644 index cbef61e67c..0000000000 --- a/slither/tools/slither_format/.gitignore +++ /dev/null @@ -1,14 +0,0 @@ -# .format files are the output files produced by slither-format -# .patch files are the output files produced by slither-format -*.format -*.patch - -# Temporary files (Emacs backup files ending in tilde and others) -*~ -*.err -*.out - - - - - From bc010fc73e1b8e1d7c9cf25257b6a1173b474f9b Mon Sep 17 00:00:00 2001 From: Dan Guido Date: Mon, 5 Jan 2026 13:55:44 -0500 Subject: [PATCH 036/113] Build: Migrate from setuptools to hatchling with uv MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Replace setup.py with modern pyproject.toml configuration - Use hatchling as the build backend - Add uv.lock for reproducible dependency resolution - Use PEP 735 dependency-groups for development dependencies - Update Makefile to use uv for venv creation and package building - Update README with uv installation instructions - Update CONTRIBUTING with uv development setup 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- CONTRIBUTING.md | 10 + Makefile | 9 +- README.md | 33 +- pyproject.toml | 87 +- setup.py | 70 -- uv.lock | 2791 +++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 2921 insertions(+), 79 deletions(-) delete mode 100644 setup.py create mode 100644 uv.lock diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c56964399a..41a35b681d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -47,6 +47,16 @@ A code walkthrough is available [here](https://www.youtube.com/watch?v=EUl3UlYSl Instructions for installing a development version of Slither can be found in our [wiki](https://github.com/crytic/slither/wiki/Developer-installation). +For development setup, we use [uv](https://github.com/astral-sh/uv): + +```bash +# Install uv if you haven't already +curl -LsSf https://astral.sh/uv/install.sh | sh + +# Setup development environment +make dev # Creates venv and installs all dependencies +``` + To run the unit tests, you need to clone this repository and run `make test`. Run a specific test with `make test TESTS=$test_name`. The names of tests can be obtained with `pytest tests --collect-only`. ### Linters diff --git a/Makefile b/Makefile index 6c6955fa71..a4b5e1b20f 100644 --- a/Makefile +++ b/Makefile @@ -49,10 +49,9 @@ run: $(VENV)/pyvenv.cfg @. $(VENV_BIN)/activate && slither $(ARGS) $(VENV)/pyvenv.cfg: pyproject.toml - # Create our Python 3 virtual environment - python3 -m venv env - $(VENV_BIN)/python -m pip install --upgrade pip - $(VENV_BIN)/python -m pip install -e .[$(SLITHER_EXTRA)] + # Create virtual environment and install dependencies using uv + uv venv $(VENV) --python 3.11 + uv sync --python $(VENV_BIN)/python --group $(SLITHER_EXTRA) .PHONY: lint lint: $(VENV)/pyvenv.cfg @@ -81,7 +80,7 @@ doc: $(VENV)/pyvenv.cfg .PHONY: package package: $(VENV)/pyvenv.cfg . $(VENV_BIN)/activate && \ - python3 -m build + uv build .PHONY: edit edit: diff --git a/README.md b/README.md index b76cffdd2a..3b7e80e8cf 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ * [Features](#features) * [Usage](#usage) * [How to install](#how-to-install) + * [Using uv (Recommended)](#using-uv-recommended) * [Using Pip](#using-pip) * [Using Git](#using-git) * [Using Docker](#using-docker) @@ -70,6 +71,27 @@ slither tests/uninitialized.sol > Slither requires Python 3.8+. If you're **not** going to use one of the [supported compilation frameworks](https://github.com/crytic/crytic-compile), you need [solc](https://github.com/ethereum/solidity/), the Solidity compiler; we recommend using [solc-select](https://github.com/crytic/solc-select) to conveniently switch between solc versions. +### Using uv (Recommended) + +[uv](https://github.com/astral-sh/uv) is a fast Python package manager that's 10-100x faster than pip. + +```console +# Install uv if you haven't already +curl -LsSf https://astral.sh/uv/install.sh | sh + +# Install slither as a tool +uv tool install slither-analyzer + +# Or run slither without installation +uvx slither-analyzer +``` + +#### How to upgrade + +```console +uv tool upgrade slither-analyzer +``` + ### Using Pip ```console @@ -88,14 +110,19 @@ python3 -m pip install --upgrade slither-analyzer brew install slither-analyzer ``` -### Using Git +### Using Git (Development) ```bash git clone https://github.com/crytic/slither.git && cd slither -python3 -m pip install . + +# Install as editable for development +uv tool install -e . + +# Or use uv run for testing without installation +uv run slither ``` -We recommend using a Python virtual environment, as detailed in the [Developer Installation Instructions](https://github.com/crytic/slither/wiki/Developer-installation), if you prefer to install Slither via git. +The `-e` flag installs in editable mode, meaning changes to the source code are immediately reflected without reinstalling. ### Using Docker diff --git a/pyproject.toml b/pyproject.toml index e7cf3567d0..a590d4da34 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,91 @@ +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[project] +name = "slither-analyzer" +version = "0.11.3" +description = "Slither is a Solidity and Vyper static analysis framework written in Python 3." +readme = "README.md" +requires-python = ">=3.8" +license = {text = "AGPL-3.0"} +authors = [ + {name = "Trail of Bits"}, +] +maintainers = [ + {name = "Trail of Bits"}, +] +urls = {Homepage = "https://github.com/crytic/slither"} +keywords = ["solidity", "vyper", "static-analysis", "security", "ethereum", "smart-contracts"] +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "License :: OSI Approved :: GNU Affero General Public License v3", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", +] +dependencies = [ + "packaging", + "prettytable>=3.10.2", + "pycryptodome>=3.4.6", + "crytic-compile>=0.3.9,<0.4.0", + "web3>=7.10,<8", + "eth-abi>=5.0.1", + "eth-typing>=5.0.0", + "eth-utils>=5.0.0", +] + +# Development dependencies using PEP 735 dependency-groups +[dependency-groups] +dev = [ + # Linting (black/pylint for now, will migrate to ruff in separate PR) + "black==22.3.0", + "pylint==3.0.3", + "yamllint>=1.35.1", + # Testing + "pytest", + "pytest-cov", + "pytest-xdist", + "deepdiff", + "orderly-set==5.3.2", # Temporary fix for https://github.com/seperman/deepdiff/issues/539 + "numpy", + "coverage[toml]", + "filelock", + "pytest-insta", + # Documentation + "pdoc", + # Development tools + "openai", +] + +[project.scripts] +slither = "slither.__main__:main" +slither-check-upgradeability = "slither.tools.upgradeability.__main__:main" +slither-find-paths = "slither.tools.possible_paths.__main__:main" +slither-simil = "slither.tools.similarity.__main__:main" +slither-flat = "slither.tools.flattening.__main__:main" +slither-format = "slither.tools.slither_format.__main__:main" +slither-check-erc = "slither.tools.erc_conformance.__main__:main" +slither-check-kspec = "slither.tools.kspec_coverage.__main__:main" +slither-prop = "slither.tools.properties.__main__:main" +slither-mutate = "slither.tools.mutator.__main__:main" +slither-read-storage = "slither.tools.read_storage.__main__:main" +slither-doctor = "slither.tools.doctor.__main__:main" +slither-documentation = "slither.tools.documentation.__main__:main" +slither-interface = "slither.tools.interface.__main__:main" + +[tool.hatch.build.targets.wheel] +packages = ["slither"] + +# Legacy linting config (black/pylint) - will be replaced with ruff in separate PR [tool.black] -target-version = ["py36"] +target-version = ["py38"] line-length = 100 + [tool.pylint.messages_control] disable = """ missing-module-docstring, diff --git a/setup.py b/setup.py deleted file mode 100644 index 0f95e40ffe..0000000000 --- a/setup.py +++ /dev/null @@ -1,70 +0,0 @@ -from setuptools import setup, find_packages - -with open("README.md", "r", encoding="utf-8") as f: - long_description = f.read() - -setup( - name="slither-analyzer", - description="Slither is a Solidity and Vyper static analysis framework written in Python 3.", - url="https://github.com/crytic/slither", - author="Trail of Bits", - version="0.11.3", - packages=find_packages(), - python_requires=">=3.8", - install_requires=[ - "packaging", - "prettytable>=3.10.2", - "pycryptodome>=3.4.6", - "crytic-compile>=0.3.9,<0.4.0", - # "crytic-compile@git+https://github.com/crytic/crytic-compile.git@master#egg=crytic-compile", - "web3>=7.10,<8", - "eth-abi>=5.0.1", - "eth-typing>=5.0.0", - "eth-utils>=5.0.0", - ], - extras_require={ - "lint": [ - "black==22.3.0", - "pylint==3.0.3", - ], - "test": [ - "pytest", - "pytest-cov", - "pytest-xdist", - "deepdiff", - "orderly-set==5.3.2", # Temporary fix for https://github.com/seperman/deepdiff/issues/539 - "numpy", - "coverage[toml]", - "filelock", - "pytest-insta", - ], - "doc": [ - "pdoc", - ], - "dev": [ - "slither-analyzer[lint,test,doc]", - "openai", - ], - }, - license="AGPL-3.0", - long_description=long_description, - long_description_content_type="text/markdown", - entry_points={ - "console_scripts": [ - "slither = slither.__main__:main", - "slither-check-upgradeability = slither.tools.upgradeability.__main__:main", - "slither-find-paths = slither.tools.possible_paths.__main__:main", - "slither-simil = slither.tools.similarity.__main__:main", - "slither-flat = slither.tools.flattening.__main__:main", - "slither-format = slither.tools.slither_format.__main__:main", - "slither-check-erc = slither.tools.erc_conformance.__main__:main", - "slither-check-kspec = slither.tools.kspec_coverage.__main__:main", - "slither-prop = slither.tools.properties.__main__:main", - "slither-mutate = slither.tools.mutator.__main__:main", - "slither-read-storage = slither.tools.read_storage.__main__:main", - "slither-doctor = slither.tools.doctor.__main__:main", - "slither-documentation = slither.tools.documentation.__main__:main", - "slither-interface = slither.tools.interface.__main__:main", - ] - }, -) diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000000..e901cf12cf --- /dev/null +++ b/uv.lock @@ -0,0 +1,2791 @@ +version = 1 +revision = 2 +requires-python = ">=3.9" +resolution-markers = [ + "python_full_version >= '3.11'", + "python_full_version == '3.10.*'", + "python_full_version < '3.10'", +] + +[[package]] +name = "aiohappyeyeballs" +version = "2.6.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558", size = 22760, upload-time = "2025-03-12T01:42:48.764Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0f/15/5bf3b99495fb160b63f95972b81750f18f7f4e02ad051373b669d17d44f2/aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8", size = 15265, upload-time = "2025-03-12T01:42:47.083Z" }, +] + +[[package]] +name = "aiohttp" +version = "3.12.15" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "aiohappyeyeballs" }, + { name = "aiosignal" }, + { name = "async-timeout", marker = "python_full_version < '3.11'" }, + { name = "attrs" }, + { name = "frozenlist" }, + { name = "multidict" }, + { name = "propcache" }, + { name = "yarl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9b/e7/d92a237d8802ca88483906c388f7c201bbe96cd80a165ffd0ac2f6a8d59f/aiohttp-3.12.15.tar.gz", hash = "sha256:4fc61385e9c98d72fcdf47e6dd81833f47b2f77c114c29cd64a361be57a763a2", size = 7823716, upload-time = "2025-07-29T05:52:32.215Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/47/dc/ef9394bde9080128ad401ac7ede185267ed637df03b51f05d14d1c99ad67/aiohttp-3.12.15-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b6fc902bff74d9b1879ad55f5404153e2b33a82e72a95c89cec5eb6cc9e92fbc", size = 703921, upload-time = "2025-07-29T05:49:43.584Z" }, + { url = "https://files.pythonhosted.org/packages/8f/42/63fccfc3a7ed97eb6e1a71722396f409c46b60a0552d8a56d7aad74e0df5/aiohttp-3.12.15-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:098e92835b8119b54c693f2f88a1dec690e20798ca5f5fe5f0520245253ee0af", size = 480288, upload-time = "2025-07-29T05:49:47.851Z" }, + { url = "https://files.pythonhosted.org/packages/9c/a2/7b8a020549f66ea2a68129db6960a762d2393248f1994499f8ba9728bbed/aiohttp-3.12.15-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:40b3fee496a47c3b4a39a731954c06f0bd9bd3e8258c059a4beb76ac23f8e421", size = 468063, upload-time = "2025-07-29T05:49:49.789Z" }, + { url = "https://files.pythonhosted.org/packages/8f/f5/d11e088da9176e2ad8220338ae0000ed5429a15f3c9dfd983f39105399cd/aiohttp-3.12.15-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ce13fcfb0bb2f259fb42106cdc63fa5515fb85b7e87177267d89a771a660b79", size = 1650122, upload-time = "2025-07-29T05:49:51.874Z" }, + { url = "https://files.pythonhosted.org/packages/b0/6b/b60ce2757e2faed3d70ed45dafee48cee7bfb878785a9423f7e883f0639c/aiohttp-3.12.15-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3beb14f053222b391bf9cf92ae82e0171067cc9c8f52453a0f1ec7c37df12a77", size = 1624176, upload-time = "2025-07-29T05:49:53.805Z" }, + { url = "https://files.pythonhosted.org/packages/dd/de/8c9fde2072a1b72c4fadecf4f7d4be7a85b1d9a4ab333d8245694057b4c6/aiohttp-3.12.15-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c39e87afe48aa3e814cac5f535bc6199180a53e38d3f51c5e2530f5aa4ec58c", size = 1696583, upload-time = "2025-07-29T05:49:55.338Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ad/07f863ca3d895a1ad958a54006c6dafb4f9310f8c2fdb5f961b8529029d3/aiohttp-3.12.15-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5f1b4ce5bc528a6ee38dbf5f39bbf11dd127048726323b72b8e85769319ffc4", size = 1738896, upload-time = "2025-07-29T05:49:57.045Z" }, + { url = "https://files.pythonhosted.org/packages/20/43/2bd482ebe2b126533e8755a49b128ec4e58f1a3af56879a3abdb7b42c54f/aiohttp-3.12.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1004e67962efabbaf3f03b11b4c43b834081c9e3f9b32b16a7d97d4708a9abe6", size = 1643561, upload-time = "2025-07-29T05:49:58.762Z" }, + { url = "https://files.pythonhosted.org/packages/23/40/2fa9f514c4cf4cbae8d7911927f81a1901838baf5e09a8b2c299de1acfe5/aiohttp-3.12.15-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8faa08fcc2e411f7ab91d1541d9d597d3a90e9004180edb2072238c085eac8c2", size = 1583685, upload-time = "2025-07-29T05:50:00.375Z" }, + { url = "https://files.pythonhosted.org/packages/b8/c3/94dc7357bc421f4fb978ca72a201a6c604ee90148f1181790c129396ceeb/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:fe086edf38b2222328cdf89af0dde2439ee173b8ad7cb659b4e4c6f385b2be3d", size = 1627533, upload-time = "2025-07-29T05:50:02.306Z" }, + { url = "https://files.pythonhosted.org/packages/bf/3f/1f8911fe1844a07001e26593b5c255a685318943864b27b4e0267e840f95/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:79b26fe467219add81d5e47b4a4ba0f2394e8b7c7c3198ed36609f9ba161aecb", size = 1638319, upload-time = "2025-07-29T05:50:04.282Z" }, + { url = "https://files.pythonhosted.org/packages/4e/46/27bf57a99168c4e145ffee6b63d0458b9c66e58bb70687c23ad3d2f0bd17/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b761bac1192ef24e16706d761aefcb581438b34b13a2f069a6d343ec8fb693a5", size = 1613776, upload-time = "2025-07-29T05:50:05.863Z" }, + { url = "https://files.pythonhosted.org/packages/0f/7e/1d2d9061a574584bb4ad3dbdba0da90a27fdc795bc227def3a46186a8bc1/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:e153e8adacfe2af562861b72f8bc47f8a5c08e010ac94eebbe33dc21d677cd5b", size = 1693359, upload-time = "2025-07-29T05:50:07.563Z" }, + { url = "https://files.pythonhosted.org/packages/08/98/bee429b52233c4a391980a5b3b196b060872a13eadd41c3a34be9b1469ed/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:fc49c4de44977aa8601a00edbf157e9a421f227aa7eb477d9e3df48343311065", size = 1716598, upload-time = "2025-07-29T05:50:09.33Z" }, + { url = "https://files.pythonhosted.org/packages/57/39/b0314c1ea774df3392751b686104a3938c63ece2b7ce0ba1ed7c0b4a934f/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:2776c7ec89c54a47029940177e75c8c07c29c66f73464784971d6a81904ce9d1", size = 1644940, upload-time = "2025-07-29T05:50:11.334Z" }, + { url = "https://files.pythonhosted.org/packages/1b/83/3dacb8d3f8f512c8ca43e3fa8a68b20583bd25636ffa4e56ee841ffd79ae/aiohttp-3.12.15-cp310-cp310-win32.whl", hash = "sha256:2c7d81a277fa78b2203ab626ced1487420e8c11a8e373707ab72d189fcdad20a", size = 429239, upload-time = "2025-07-29T05:50:12.803Z" }, + { url = "https://files.pythonhosted.org/packages/eb/f9/470b5daba04d558c9673ca2034f28d067f3202a40e17804425f0c331c89f/aiohttp-3.12.15-cp310-cp310-win_amd64.whl", hash = "sha256:83603f881e11f0f710f8e2327817c82e79431ec976448839f3cd05d7afe8f830", size = 452297, upload-time = "2025-07-29T05:50:14.266Z" }, + { url = "https://files.pythonhosted.org/packages/20/19/9e86722ec8e835959bd97ce8c1efa78cf361fa4531fca372551abcc9cdd6/aiohttp-3.12.15-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d3ce17ce0220383a0f9ea07175eeaa6aa13ae5a41f30bc61d84df17f0e9b1117", size = 711246, upload-time = "2025-07-29T05:50:15.937Z" }, + { url = "https://files.pythonhosted.org/packages/71/f9/0a31fcb1a7d4629ac9d8f01f1cb9242e2f9943f47f5d03215af91c3c1a26/aiohttp-3.12.15-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:010cc9bbd06db80fe234d9003f67e97a10fe003bfbedb40da7d71c1008eda0fe", size = 483515, upload-time = "2025-07-29T05:50:17.442Z" }, + { url = "https://files.pythonhosted.org/packages/62/6c/94846f576f1d11df0c2e41d3001000527c0fdf63fce7e69b3927a731325d/aiohttp-3.12.15-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3f9d7c55b41ed687b9d7165b17672340187f87a773c98236c987f08c858145a9", size = 471776, upload-time = "2025-07-29T05:50:19.568Z" }, + { url = "https://files.pythonhosted.org/packages/f8/6c/f766d0aaafcee0447fad0328da780d344489c042e25cd58fde566bf40aed/aiohttp-3.12.15-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc4fbc61bb3548d3b482f9ac7ddd0f18c67e4225aaa4e8552b9f1ac7e6bda9e5", size = 1741977, upload-time = "2025-07-29T05:50:21.665Z" }, + { url = "https://files.pythonhosted.org/packages/17/e5/fb779a05ba6ff44d7bc1e9d24c644e876bfff5abe5454f7b854cace1b9cc/aiohttp-3.12.15-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7fbc8a7c410bb3ad5d595bb7118147dfbb6449d862cc1125cf8867cb337e8728", size = 1690645, upload-time = "2025-07-29T05:50:23.333Z" }, + { url = "https://files.pythonhosted.org/packages/37/4e/a22e799c2035f5d6a4ad2cf8e7c1d1bd0923192871dd6e367dafb158b14c/aiohttp-3.12.15-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:74dad41b3458dbb0511e760fb355bb0b6689e0630de8a22b1b62a98777136e16", size = 1789437, upload-time = "2025-07-29T05:50:25.007Z" }, + { url = "https://files.pythonhosted.org/packages/28/e5/55a33b991f6433569babb56018b2fb8fb9146424f8b3a0c8ecca80556762/aiohttp-3.12.15-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b6f0af863cf17e6222b1735a756d664159e58855da99cfe965134a3ff63b0b0", size = 1828482, upload-time = "2025-07-29T05:50:26.693Z" }, + { url = "https://files.pythonhosted.org/packages/c6/82/1ddf0ea4f2f3afe79dffed5e8a246737cff6cbe781887a6a170299e33204/aiohttp-3.12.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b5b7fe4972d48a4da367043b8e023fb70a04d1490aa7d68800e465d1b97e493b", size = 1730944, upload-time = "2025-07-29T05:50:28.382Z" }, + { url = "https://files.pythonhosted.org/packages/1b/96/784c785674117b4cb3877522a177ba1b5e4db9ce0fd519430b5de76eec90/aiohttp-3.12.15-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6443cca89553b7a5485331bc9bedb2342b08d073fa10b8c7d1c60579c4a7b9bd", size = 1668020, upload-time = "2025-07-29T05:50:30.032Z" }, + { url = "https://files.pythonhosted.org/packages/12/8a/8b75f203ea7e5c21c0920d84dd24a5c0e971fe1e9b9ebbf29ae7e8e39790/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6c5f40ec615e5264f44b4282ee27628cea221fcad52f27405b80abb346d9f3f8", size = 1716292, upload-time = "2025-07-29T05:50:31.983Z" }, + { url = "https://files.pythonhosted.org/packages/47/0b/a1451543475bb6b86a5cfc27861e52b14085ae232896a2654ff1231c0992/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:2abbb216a1d3a2fe86dbd2edce20cdc5e9ad0be6378455b05ec7f77361b3ab50", size = 1711451, upload-time = "2025-07-29T05:50:33.989Z" }, + { url = "https://files.pythonhosted.org/packages/55/fd/793a23a197cc2f0d29188805cfc93aa613407f07e5f9da5cd1366afd9d7c/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:db71ce547012a5420a39c1b744d485cfb823564d01d5d20805977f5ea1345676", size = 1691634, upload-time = "2025-07-29T05:50:35.846Z" }, + { url = "https://files.pythonhosted.org/packages/ca/bf/23a335a6670b5f5dfc6d268328e55a22651b440fca341a64fccf1eada0c6/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:ced339d7c9b5030abad5854aa5413a77565e5b6e6248ff927d3e174baf3badf7", size = 1785238, upload-time = "2025-07-29T05:50:37.597Z" }, + { url = "https://files.pythonhosted.org/packages/57/4f/ed60a591839a9d85d40694aba5cef86dde9ee51ce6cca0bb30d6eb1581e7/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:7c7dd29c7b5bda137464dc9bfc738d7ceea46ff70309859ffde8c022e9b08ba7", size = 1805701, upload-time = "2025-07-29T05:50:39.591Z" }, + { url = "https://files.pythonhosted.org/packages/85/e0/444747a9455c5de188c0f4a0173ee701e2e325d4b2550e9af84abb20cdba/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:421da6fd326460517873274875c6c5a18ff225b40da2616083c5a34a7570b685", size = 1718758, upload-time = "2025-07-29T05:50:41.292Z" }, + { url = "https://files.pythonhosted.org/packages/36/ab/1006278d1ffd13a698e5dd4bfa01e5878f6bddefc296c8b62649753ff249/aiohttp-3.12.15-cp311-cp311-win32.whl", hash = "sha256:4420cf9d179ec8dfe4be10e7d0fe47d6d606485512ea2265b0d8c5113372771b", size = 428868, upload-time = "2025-07-29T05:50:43.063Z" }, + { url = "https://files.pythonhosted.org/packages/10/97/ad2b18700708452400278039272032170246a1bf8ec5d832772372c71f1a/aiohttp-3.12.15-cp311-cp311-win_amd64.whl", hash = "sha256:edd533a07da85baa4b423ee8839e3e91681c7bfa19b04260a469ee94b778bf6d", size = 453273, upload-time = "2025-07-29T05:50:44.613Z" }, + { url = "https://files.pythonhosted.org/packages/63/97/77cb2450d9b35f517d6cf506256bf4f5bda3f93a66b4ad64ba7fc917899c/aiohttp-3.12.15-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:802d3868f5776e28f7bf69d349c26fc0efadb81676d0afa88ed00d98a26340b7", size = 702333, upload-time = "2025-07-29T05:50:46.507Z" }, + { url = "https://files.pythonhosted.org/packages/83/6d/0544e6b08b748682c30b9f65640d006e51f90763b41d7c546693bc22900d/aiohttp-3.12.15-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f2800614cd560287be05e33a679638e586a2d7401f4ddf99e304d98878c29444", size = 476948, upload-time = "2025-07-29T05:50:48.067Z" }, + { url = "https://files.pythonhosted.org/packages/3a/1d/c8c40e611e5094330284b1aea8a4b02ca0858f8458614fa35754cab42b9c/aiohttp-3.12.15-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8466151554b593909d30a0a125d638b4e5f3836e5aecde85b66b80ded1cb5b0d", size = 469787, upload-time = "2025-07-29T05:50:49.669Z" }, + { url = "https://files.pythonhosted.org/packages/38/7d/b76438e70319796bfff717f325d97ce2e9310f752a267bfdf5192ac6082b/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e5a495cb1be69dae4b08f35a6c4579c539e9b5706f606632102c0f855bcba7c", size = 1716590, upload-time = "2025-07-29T05:50:51.368Z" }, + { url = "https://files.pythonhosted.org/packages/79/b1/60370d70cdf8b269ee1444b390cbd72ce514f0d1cd1a715821c784d272c9/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6404dfc8cdde35c69aaa489bb3542fb86ef215fc70277c892be8af540e5e21c0", size = 1699241, upload-time = "2025-07-29T05:50:53.628Z" }, + { url = "https://files.pythonhosted.org/packages/a3/2b/4968a7b8792437ebc12186db31523f541943e99bda8f30335c482bea6879/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3ead1c00f8521a5c9070fcb88f02967b1d8a0544e6d85c253f6968b785e1a2ab", size = 1754335, upload-time = "2025-07-29T05:50:55.394Z" }, + { url = "https://files.pythonhosted.org/packages/fb/c1/49524ed553f9a0bec1a11fac09e790f49ff669bcd14164f9fab608831c4d/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6990ef617f14450bc6b34941dba4f12d5613cbf4e33805932f853fbd1cf18bfb", size = 1800491, upload-time = "2025-07-29T05:50:57.202Z" }, + { url = "https://files.pythonhosted.org/packages/de/5e/3bf5acea47a96a28c121b167f5ef659cf71208b19e52a88cdfa5c37f1fcc/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd736ed420f4db2b8148b52b46b88ed038d0354255f9a73196b7bbce3ea97545", size = 1719929, upload-time = "2025-07-29T05:50:59.192Z" }, + { url = "https://files.pythonhosted.org/packages/39/94/8ae30b806835bcd1cba799ba35347dee6961a11bd507db634516210e91d8/aiohttp-3.12.15-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c5092ce14361a73086b90c6efb3948ffa5be2f5b6fbcf52e8d8c8b8848bb97c", size = 1635733, upload-time = "2025-07-29T05:51:01.394Z" }, + { url = "https://files.pythonhosted.org/packages/7a/46/06cdef71dd03acd9da7f51ab3a9107318aee12ad38d273f654e4f981583a/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:aaa2234bb60c4dbf82893e934d8ee8dea30446f0647e024074237a56a08c01bd", size = 1696790, upload-time = "2025-07-29T05:51:03.657Z" }, + { url = "https://files.pythonhosted.org/packages/02/90/6b4cfaaf92ed98d0ec4d173e78b99b4b1a7551250be8937d9d67ecb356b4/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:6d86a2fbdd14192e2f234a92d3b494dd4457e683ba07e5905a0b3ee25389ac9f", size = 1718245, upload-time = "2025-07-29T05:51:05.911Z" }, + { url = "https://files.pythonhosted.org/packages/2e/e6/2593751670fa06f080a846f37f112cbe6f873ba510d070136a6ed46117c6/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a041e7e2612041a6ddf1c6a33b883be6a421247c7afd47e885969ee4cc58bd8d", size = 1658899, upload-time = "2025-07-29T05:51:07.753Z" }, + { url = "https://files.pythonhosted.org/packages/8f/28/c15bacbdb8b8eb5bf39b10680d129ea7410b859e379b03190f02fa104ffd/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5015082477abeafad7203757ae44299a610e89ee82a1503e3d4184e6bafdd519", size = 1738459, upload-time = "2025-07-29T05:51:09.56Z" }, + { url = "https://files.pythonhosted.org/packages/00/de/c269cbc4faa01fb10f143b1670633a8ddd5b2e1ffd0548f7aa49cb5c70e2/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:56822ff5ddfd1b745534e658faba944012346184fbfe732e0d6134b744516eea", size = 1766434, upload-time = "2025-07-29T05:51:11.423Z" }, + { url = "https://files.pythonhosted.org/packages/52/b0/4ff3abd81aa7d929b27d2e1403722a65fc87b763e3a97b3a2a494bfc63bc/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b2acbbfff69019d9014508c4ba0401822e8bae5a5fdc3b6814285b71231b60f3", size = 1726045, upload-time = "2025-07-29T05:51:13.689Z" }, + { url = "https://files.pythonhosted.org/packages/71/16/949225a6a2dd6efcbd855fbd90cf476052e648fb011aa538e3b15b89a57a/aiohttp-3.12.15-cp312-cp312-win32.whl", hash = "sha256:d849b0901b50f2185874b9a232f38e26b9b3d4810095a7572eacea939132d4e1", size = 423591, upload-time = "2025-07-29T05:51:15.452Z" }, + { url = "https://files.pythonhosted.org/packages/2b/d8/fa65d2a349fe938b76d309db1a56a75c4fb8cc7b17a398b698488a939903/aiohttp-3.12.15-cp312-cp312-win_amd64.whl", hash = "sha256:b390ef5f62bb508a9d67cb3bba9b8356e23b3996da7062f1a57ce1a79d2b3d34", size = 450266, upload-time = "2025-07-29T05:51:17.239Z" }, + { url = "https://files.pythonhosted.org/packages/f2/33/918091abcf102e39d15aba2476ad9e7bd35ddb190dcdd43a854000d3da0d/aiohttp-3.12.15-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:9f922ffd05034d439dde1c77a20461cf4a1b0831e6caa26151fe7aa8aaebc315", size = 696741, upload-time = "2025-07-29T05:51:19.021Z" }, + { url = "https://files.pythonhosted.org/packages/b5/2a/7495a81e39a998e400f3ecdd44a62107254803d1681d9189be5c2e4530cd/aiohttp-3.12.15-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2ee8a8ac39ce45f3e55663891d4b1d15598c157b4d494a4613e704c8b43112cd", size = 474407, upload-time = "2025-07-29T05:51:21.165Z" }, + { url = "https://files.pythonhosted.org/packages/49/fc/a9576ab4be2dcbd0f73ee8675d16c707cfc12d5ee80ccf4015ba543480c9/aiohttp-3.12.15-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3eae49032c29d356b94eee45a3f39fdf4b0814b397638c2f718e96cfadf4c4e4", size = 466703, upload-time = "2025-07-29T05:51:22.948Z" }, + { url = "https://files.pythonhosted.org/packages/09/2f/d4bcc8448cf536b2b54eed48f19682031ad182faa3a3fee54ebe5b156387/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b97752ff12cc12f46a9b20327104448042fce5c33a624f88c18f66f9368091c7", size = 1705532, upload-time = "2025-07-29T05:51:25.211Z" }, + { url = "https://files.pythonhosted.org/packages/f1/f3/59406396083f8b489261e3c011aa8aee9df360a96ac8fa5c2e7e1b8f0466/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:894261472691d6fe76ebb7fcf2e5870a2ac284c7406ddc95823c8598a1390f0d", size = 1686794, upload-time = "2025-07-29T05:51:27.145Z" }, + { url = "https://files.pythonhosted.org/packages/dc/71/164d194993a8d114ee5656c3b7ae9c12ceee7040d076bf7b32fb98a8c5c6/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5fa5d9eb82ce98959fc1031c28198b431b4d9396894f385cb63f1e2f3f20ca6b", size = 1738865, upload-time = "2025-07-29T05:51:29.366Z" }, + { url = "https://files.pythonhosted.org/packages/1c/00/d198461b699188a93ead39cb458554d9f0f69879b95078dce416d3209b54/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f0fa751efb11a541f57db59c1dd821bec09031e01452b2b6217319b3a1f34f3d", size = 1788238, upload-time = "2025-07-29T05:51:31.285Z" }, + { url = "https://files.pythonhosted.org/packages/85/b8/9e7175e1fa0ac8e56baa83bf3c214823ce250d0028955dfb23f43d5e61fd/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5346b93e62ab51ee2a9d68e8f73c7cf96ffb73568a23e683f931e52450e4148d", size = 1710566, upload-time = "2025-07-29T05:51:33.219Z" }, + { url = "https://files.pythonhosted.org/packages/59/e4/16a8eac9df39b48ae102ec030fa9f726d3570732e46ba0c592aeeb507b93/aiohttp-3.12.15-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:049ec0360f939cd164ecbfd2873eaa432613d5e77d6b04535e3d1fbae5a9e645", size = 1624270, upload-time = "2025-07-29T05:51:35.195Z" }, + { url = "https://files.pythonhosted.org/packages/1f/f8/cd84dee7b6ace0740908fd0af170f9fab50c2a41ccbc3806aabcb1050141/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b52dcf013b57464b6d1e51b627adfd69a8053e84b7103a7cd49c030f9ca44461", size = 1677294, upload-time = "2025-07-29T05:51:37.215Z" }, + { url = "https://files.pythonhosted.org/packages/ce/42/d0f1f85e50d401eccd12bf85c46ba84f947a84839c8a1c2c5f6e8ab1eb50/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:9b2af240143dd2765e0fb661fd0361a1b469cab235039ea57663cda087250ea9", size = 1708958, upload-time = "2025-07-29T05:51:39.328Z" }, + { url = "https://files.pythonhosted.org/packages/d5/6b/f6fa6c5790fb602538483aa5a1b86fcbad66244997e5230d88f9412ef24c/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ac77f709a2cde2cc71257ab2d8c74dd157c67a0558a0d2799d5d571b4c63d44d", size = 1651553, upload-time = "2025-07-29T05:51:41.356Z" }, + { url = "https://files.pythonhosted.org/packages/04/36/a6d36ad545fa12e61d11d1932eef273928b0495e6a576eb2af04297fdd3c/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:47f6b962246f0a774fbd3b6b7be25d59b06fdb2f164cf2513097998fc6a29693", size = 1727688, upload-time = "2025-07-29T05:51:43.452Z" }, + { url = "https://files.pythonhosted.org/packages/aa/c8/f195e5e06608a97a4e52c5d41c7927301bf757a8e8bb5bbf8cef6c314961/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:760fb7db442f284996e39cf9915a94492e1896baac44f06ae551974907922b64", size = 1761157, upload-time = "2025-07-29T05:51:45.643Z" }, + { url = "https://files.pythonhosted.org/packages/05/6a/ea199e61b67f25ba688d3ce93f63b49b0a4e3b3d380f03971b4646412fc6/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ad702e57dc385cae679c39d318def49aef754455f237499d5b99bea4ef582e51", size = 1710050, upload-time = "2025-07-29T05:51:48.203Z" }, + { url = "https://files.pythonhosted.org/packages/b4/2e/ffeb7f6256b33635c29dbed29a22a723ff2dd7401fff42ea60cf2060abfb/aiohttp-3.12.15-cp313-cp313-win32.whl", hash = "sha256:f813c3e9032331024de2eb2e32a88d86afb69291fbc37a3a3ae81cc9917fb3d0", size = 422647, upload-time = "2025-07-29T05:51:50.718Z" }, + { url = "https://files.pythonhosted.org/packages/1b/8e/78ee35774201f38d5e1ba079c9958f7629b1fd079459aea9467441dbfbf5/aiohttp-3.12.15-cp313-cp313-win_amd64.whl", hash = "sha256:1a649001580bdb37c6fdb1bebbd7e3bc688e8ec2b5c6f52edbb664662b17dc84", size = 449067, upload-time = "2025-07-29T05:51:52.549Z" }, + { url = "https://files.pythonhosted.org/packages/18/8d/da08099af8db234d1cd43163e6ffc8e9313d0e988cee1901610f2fa5c764/aiohttp-3.12.15-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:691d203c2bdf4f4637792efbbcdcd157ae11e55eaeb5e9c360c1206fb03d4d98", size = 706829, upload-time = "2025-07-29T05:51:54.434Z" }, + { url = "https://files.pythonhosted.org/packages/4e/94/8eed385cfb60cf4fdb5b8a165f6148f3bebeb365f08663d83c35a5f273ef/aiohttp-3.12.15-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8e995e1abc4ed2a454c731385bf4082be06f875822adc4c6d9eaadf96e20d406", size = 481806, upload-time = "2025-07-29T05:51:56.355Z" }, + { url = "https://files.pythonhosted.org/packages/38/68/b13e1a34584fbf263151b3a72a084e89f2102afe38df1dce5a05a15b83e9/aiohttp-3.12.15-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bd44d5936ab3193c617bfd6c9a7d8d1085a8dc8c3f44d5f1dcf554d17d04cf7d", size = 469205, upload-time = "2025-07-29T05:51:58.277Z" }, + { url = "https://files.pythonhosted.org/packages/38/14/3d7348bf53aa4af54416bc64cbef3a2ac5e8b9bfa97cc45f1cf9a94d9c8d/aiohttp-3.12.15-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:46749be6e89cd78d6068cdf7da51dbcfa4321147ab8e4116ee6678d9a056a0cf", size = 1644174, upload-time = "2025-07-29T05:52:00.23Z" }, + { url = "https://files.pythonhosted.org/packages/ba/ed/fd9b5b22b0f6ca1a85c33bb4868cbcc6ae5eae070a0f4c9c5cad003c89d7/aiohttp-3.12.15-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0c643f4d75adea39e92c0f01b3fb83d57abdec8c9279b3078b68a3a52b3933b6", size = 1618672, upload-time = "2025-07-29T05:52:02.272Z" }, + { url = "https://files.pythonhosted.org/packages/39/f7/f6530ab5f8c8c409e44a63fcad35e839c87aabecdfe5b8e96d671ed12f64/aiohttp-3.12.15-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0a23918fedc05806966a2438489dcffccbdf83e921a1170773b6178d04ade142", size = 1692295, upload-time = "2025-07-29T05:52:04.546Z" }, + { url = "https://files.pythonhosted.org/packages/cb/dc/3cf483bb0106566dc97ebaa2bb097f5e44d4bc4ab650a6f107151cd7b193/aiohttp-3.12.15-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:74bdd8c864b36c3673741023343565d95bfbd778ffe1eb4d412c135a28a8dc89", size = 1731609, upload-time = "2025-07-29T05:52:06.552Z" }, + { url = "https://files.pythonhosted.org/packages/de/a4/fd04bf807851197077d9cac9381d58f86d91c95c06cbaf9d3a776ac4467a/aiohttp-3.12.15-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a146708808c9b7a988a4af3821379e379e0f0e5e466ca31a73dbdd0325b0263", size = 1637852, upload-time = "2025-07-29T05:52:08.975Z" }, + { url = "https://files.pythonhosted.org/packages/98/03/29d626ca3bcdcafbd74b45d77ca42645a5c94d396f2ee3446880ad2405fb/aiohttp-3.12.15-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b7011a70b56facde58d6d26da4fec3280cc8e2a78c714c96b7a01a87930a9530", size = 1572852, upload-time = "2025-07-29T05:52:11.508Z" }, + { url = "https://files.pythonhosted.org/packages/5f/cd/b4777a9e204f4e01091091027e5d1e2fa86decd0fee5067bc168e4fa1e76/aiohttp-3.12.15-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:3bdd6e17e16e1dbd3db74d7f989e8af29c4d2e025f9828e6ef45fbdee158ec75", size = 1620813, upload-time = "2025-07-29T05:52:13.891Z" }, + { url = "https://files.pythonhosted.org/packages/ae/26/1a44a6e8417e84057beaf8c462529b9e05d4b53b8605784f1eb571f0ff68/aiohttp-3.12.15-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:57d16590a351dfc914670bd72530fd78344b885a00b250e992faea565b7fdc05", size = 1630951, upload-time = "2025-07-29T05:52:15.955Z" }, + { url = "https://files.pythonhosted.org/packages/dd/7f/10c605dbd01c40e2b27df7ef9004bec75d156f0705141e11047ecdfe264d/aiohttp-3.12.15-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:bc9a0f6569ff990e0bbd75506c8d8fe7214c8f6579cca32f0546e54372a3bb54", size = 1607595, upload-time = "2025-07-29T05:52:18.089Z" }, + { url = "https://files.pythonhosted.org/packages/66/f6/2560dcb01731c1d7df1d34b64de95bc4b3ed02bb78830fd82299c1eb314e/aiohttp-3.12.15-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:536ad7234747a37e50e7b6794ea868833d5220b49c92806ae2d7e8a9d6b5de02", size = 1695194, upload-time = "2025-07-29T05:52:20.255Z" }, + { url = "https://files.pythonhosted.org/packages/e7/02/ee105ae82dc2b981039fd25b0cf6eaa52b493731960f9bc861375a72b463/aiohttp-3.12.15-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:f0adb4177fa748072546fb650d9bd7398caaf0e15b370ed3317280b13f4083b0", size = 1710872, upload-time = "2025-07-29T05:52:22.769Z" }, + { url = "https://files.pythonhosted.org/packages/88/16/70c4e42ed6a04f78fb58d1a46500a6ce560741d13afde2a5f33840746a5f/aiohttp-3.12.15-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:14954a2988feae3987f1eb49c706bff39947605f4b6fa4027c1d75743723eb09", size = 1640539, upload-time = "2025-07-29T05:52:25.733Z" }, + { url = "https://files.pythonhosted.org/packages/fe/1d/a7eb5fa8a6967117c5c0ad5ab4b1dec0d21e178c89aa08bc442a0b836392/aiohttp-3.12.15-cp39-cp39-win32.whl", hash = "sha256:b784d6ed757f27574dca1c336f968f4e81130b27595e458e69457e6878251f5d", size = 430164, upload-time = "2025-07-29T05:52:27.905Z" }, + { url = "https://files.pythonhosted.org/packages/14/25/e0cf8793aedc41c6d7f2aad646a27e27bdacafe3b402bb373d7651c94d73/aiohttp-3.12.15-cp39-cp39-win_amd64.whl", hash = "sha256:86ceded4e78a992f835209e236617bffae649371c4a50d5e5a3987f237db84b8", size = 453370, upload-time = "2025-07-29T05:52:29.936Z" }, +] + +[[package]] +name = "aiosignal" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "frozenlist" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz", hash = "sha256:f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7", size = 25007, upload-time = "2025-07-03T22:54:43.528Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fb/76/641ae371508676492379f16e2fa48f4e2c11741bd63c48be4b12a6b09cba/aiosignal-1.4.0-py3-none-any.whl", hash = "sha256:053243f8b92b990551949e63930a839ff0cf0b0ebbe0597b0f3fb19e1a0fe82e", size = 7490, upload-time = "2025-07-03T22:54:42.156Z" }, +] + +[[package]] +name = "annotated-types" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, +] + +[[package]] +name = "anyio" +version = "4.10.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "idna" }, + { name = "sniffio" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f1/b4/636b3b65173d3ce9a38ef5f0522789614e590dab6a8d505340a4efe4c567/anyio-4.10.0.tar.gz", hash = "sha256:3f3fae35c96039744587aa5b8371e7e8e603c0702999535961dd336026973ba6", size = 213252, upload-time = "2025-08-04T08:54:26.451Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6f/12/e5e0282d673bb9746bacfb6e2dba8719989d3660cdb2ea79aee9a9651afb/anyio-4.10.0-py3-none-any.whl", hash = "sha256:60e474ac86736bbfd6f210f7a61218939c318f43f9972497381f1c5e930ed3d1", size = 107213, upload-time = "2025-08-04T08:54:24.882Z" }, +] + +[[package]] +name = "async-timeout" +version = "5.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a5/ae/136395dfbfe00dfc94da3f3e136d0b13f394cba8f4841120e34226265780/async_timeout-5.0.1.tar.gz", hash = "sha256:d9321a7a3d5a6a5e187e824d2fa0793ce379a202935782d555d6e9d2735677d3", size = 9274, upload-time = "2024-11-06T16:41:39.6Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl", hash = "sha256:39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c", size = 6233, upload-time = "2024-11-06T16:41:37.9Z" }, +] + +[[package]] +name = "attrs" +version = "25.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032, upload-time = "2025-03-13T11:10:22.779Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815, upload-time = "2025-03-13T11:10:21.14Z" }, +] + +[[package]] +name = "bitarray" +version = "3.7.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/99/b6/282f5f0331b3877d4e79a8aa1cf63b5113a10f035a39bef1fa1dfe9e9e09/bitarray-3.7.1.tar.gz", hash = "sha256:795b1760418ab750826420ae24f06f392c08e21dc234f0a369a69cc00444f8ec", size = 150474, upload-time = "2025-08-28T22:18:15.346Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/42/98/bafe556fe4d97a975fa5c31965aaa282388cc91073aca57a2de206745b11/bitarray-3.7.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a05982bb49c73463cb0f0f4bed2d8da82631708a2c2d1926107ba99651b419ec", size = 147651, upload-time = "2025-08-28T22:14:53.043Z" }, + { url = "https://files.pythonhosted.org/packages/03/87/639c1e4d869ecd7c23d517c326bfee7ab43ade5d5bd0f6ad3373edc861a8/bitarray-3.7.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d30e7daaf228e3d69cdd8b02c0dd4199cec034c4b93c80109f56f4675a6db957", size = 143967, upload-time = "2025-08-28T22:14:55.333Z" }, + { url = "https://files.pythonhosted.org/packages/24/e9/8248a05b35f3e3667ceb103febb0d687d3f7314e4692b2048d21ed943a4e/bitarray-3.7.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:160f449bb91686f8fc9984200e78b8d793b79e382decf7eb1dc9948d7c21b36f", size = 319901, upload-time = "2025-08-28T22:14:56.742Z" }, + { url = "https://files.pythonhosted.org/packages/de/e8/47f9d8eebb793b6828baf76027b9eefc4e5e09f32b84a25821c4bc19c3c4/bitarray-3.7.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6542e1cfe060badd160cd383ad93a84871595c14bb05fb8129f963248affd946", size = 339005, upload-time = "2025-08-28T22:14:58.291Z" }, + { url = "https://files.pythonhosted.org/packages/61/73/2c4695e5acd89d9904c5b3bea7b5b06df86dea15653eee6008881d18a632/bitarray-3.7.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b723f9d10f7d8259f010b87fa66e924bb4d67927d9dcff4526a755e9ee84fef4", size = 329495, upload-time = "2025-08-28T22:14:59.722Z" }, + { url = "https://files.pythonhosted.org/packages/0f/d9/dc17b9f5b7b750dc9183db0520e197f1ca635dedd48e37ad00ca450d2fab/bitarray-3.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca4b6298c89b92d6b0a67dfc5f98d68ae92b08101d227263ef2033b9c9a03a72", size = 322141, upload-time = "2025-08-28T22:15:00.829Z" }, + { url = "https://files.pythonhosted.org/packages/a7/45/8fb00265c1b0313070e0a4b09a2f585fd3ee174aaa5352d971069983c983/bitarray-3.7.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:567d6891cb1ddbfd0051fcff3cb1bb86efc82ec818d9c5f98c37d59c1d23cc96", size = 310422, upload-time = "2025-08-28T22:15:01.964Z" }, + { url = "https://files.pythonhosted.org/packages/f6/77/04cb016694ae16ffe1a146f1a764b79e71f3ddbc7b9d78069594507c9762/bitarray-3.7.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:37a6a8382864a1defb5b370b66a635e04358c7334054457bbbb8645610cd95b2", size = 314796, upload-time = "2025-08-28T22:15:04.468Z" }, + { url = "https://files.pythonhosted.org/packages/b5/4f/8e15934995c5362e645ea27d9521e6b29953dc9f8df59e74525c8022e347/bitarray-3.7.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:01e3ba46c2dee6d47a4ab22561a01d8ee6772f681defc9fcb357097a055e48cf", size = 311222, upload-time = "2025-08-28T22:15:05.846Z" }, + { url = "https://files.pythonhosted.org/packages/f4/d2/9cc6df1ab5b9d10904bf78820e2427cf9b373376ca82af64a0b31eff7b31/bitarray-3.7.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:477b9456eb7d70f385dc8f097a1d66ee40771b62e47b3b3e33406dcfbc1c6a3b", size = 339685, upload-time = "2025-08-28T22:15:06.992Z" }, + { url = "https://files.pythonhosted.org/packages/ed/6d/b79e5e545a928270445c6916cf2d7613a8a8434eee8de023c900a0a08e15/bitarray-3.7.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2965fd8ba31b04c42e4b696fad509dc5ab50663efca6eb06bb3b6d08587f3a09", size = 339660, upload-time = "2025-08-28T22:15:08.068Z" }, + { url = "https://files.pythonhosted.org/packages/e9/33/8b836518ba16a85c75c177aa0d6658e843b4b0c1ec5994fb9f1b28e9440d/bitarray-3.7.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cc76ad7453816318d794248fba4032967eaffd992d76e5d1af10ef9d46589770", size = 320079, upload-time = "2025-08-28T22:15:09.276Z" }, + { url = "https://files.pythonhosted.org/packages/7b/8e/87603ccf798c99296fdb26b9297350f44f87cb2aced76d3b8b0446ac8cd2/bitarray-3.7.1-cp310-cp310-win32.whl", hash = "sha256:d3f38373d9b2629dedc559e647010541cc4ec4ad9bea560e2eb1017e6a00d9ef", size = 141228, upload-time = "2025-08-28T22:15:10.383Z" }, + { url = "https://files.pythonhosted.org/packages/50/06/7003c5520d2bb36edb68b016b1a83ddd5946da67b9d9982b12a8ef68d706/bitarray-3.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:e39f5e85e1e3d7d84ac2217cd095b3678306c979e991532df47012880e02215d", size = 147988, upload-time = "2025-08-28T22:15:11.718Z" }, + { url = "https://files.pythonhosted.org/packages/c6/0b/6fc7221d6d6508b2648f2b99dda9188dc46640023e6c2d3fb78070013901/bitarray-3.7.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ac39319e6322c2c093a660c02cea6bb3b1ae53d049b573d4781df8896e443e04", size = 147645, upload-time = "2025-08-28T22:15:12.966Z" }, + { url = "https://files.pythonhosted.org/packages/43/96/122ef83579cde311e77d5da284b71dfb5ab1c38250b6a97a4f4adae4ef5a/bitarray-3.7.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a43f4631ecb87bedc510568fef67db53f2a20c4a5953a9d1e07457e7b1d14911", size = 143971, upload-time = "2025-08-28T22:15:14.374Z" }, + { url = "https://files.pythonhosted.org/packages/f6/f9/cd0e27f8399b930fcea8b87b36de0ba8c88e8f953dbc98e81ca322352d24/bitarray-3.7.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffd112646486a31ea5a45aa1eca0e2cd90b6a12f67e848e50349e324c24cc2e7", size = 327521, upload-time = "2025-08-28T22:15:15.381Z" }, + { url = "https://files.pythonhosted.org/packages/35/ad/f64f4be628536404c9576a0a40b10f5304bb37a69fb6cb37987e9ae92782/bitarray-3.7.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db0441e80773d747a1ed9edfb9f75e7acb68ce8627583bbb6f770b7ec49f0064", size = 347583, upload-time = "2025-08-28T22:15:16.708Z" }, + { url = "https://files.pythonhosted.org/packages/e6/82/98774e33b3286fd83c6e48f5fb4e362d39b531011b4e1dd5aeba9dfdd3b8/bitarray-3.7.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef5a99a8d1a5c47b4cf85925d1420fc4ee584c98be8efc548651447b3047242f", size = 338572, upload-time = "2025-08-28T22:15:20.235Z" }, + { url = "https://files.pythonhosted.org/packages/02/cc/aadc3bf1382d9660f755d74b3275c866a20e01ad2062cc777b2378423e97/bitarray-3.7.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fdb7af369df317527d697c5bb37ab944bb9a17ea1a5e82e47d5c7c638f3ccdd6", size = 329984, upload-time = "2025-08-28T22:15:21.684Z" }, + { url = "https://files.pythonhosted.org/packages/42/ba/f9db45b9d6d01793afe62190c3f58bfe1969bd5798612663225560c24d94/bitarray-3.7.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eda67136343db96752e58ef36ac37116f36cba40961e79fd0e9bd858f5a09b38", size = 318777, upload-time = "2025-08-28T22:15:22.816Z" }, + { url = "https://files.pythonhosted.org/packages/5e/1b/18d11fe8f3192be5c2986d0faada5b3c9c0e43082ba031c12c75ebc64fd2/bitarray-3.7.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:79038bf1a7b13d243e51f4b6909c6997c2ba2bffc45bcae264704308a2d17198", size = 322772, upload-time = "2025-08-28T22:15:24.063Z" }, + { url = "https://files.pythonhosted.org/packages/dc/20/3aaf1c21af0f8dca623d06f12ce44fb45f94c10c6550e8d2e57d811b1881/bitarray-3.7.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d12c45da97b2f31d0233e15f8d68731cfa86264c9f04b2669b9fdf46aaf68e1f", size = 318773, upload-time = "2025-08-28T22:15:25.536Z" }, + { url = "https://files.pythonhosted.org/packages/b0/80/2d066264b1f3b3c495e12c55a9d0955733e890388d63ba75c408bb936fb7/bitarray-3.7.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:64d1143e90299ba8c967324840912a63a903494b1870a52f6675bda53dc332f7", size = 347391, upload-time = "2025-08-28T22:15:26.646Z" }, + { url = "https://files.pythonhosted.org/packages/e6/4b/819d5614433881ae779a6b23dd74d399c790777e3f084a270851059a77b2/bitarray-3.7.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:c4e04c12f507942f1ddf215cb3a08c244d24051cdd2ba571060166ce8a92be16", size = 347719, upload-time = "2025-08-28T22:15:27.851Z" }, + { url = "https://files.pythonhosted.org/packages/52/63/a278c08f1e47711f71e396135c0d6d38811f551613b84af8ac7901bfaea9/bitarray-3.7.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ddc646cec4899a137c134b13818469e4178a251d77f9f4b23229267e3da78cfb", size = 328197, upload-time = "2025-08-28T22:15:29.392Z" }, + { url = "https://files.pythonhosted.org/packages/aa/73/6a74193cf565b01747ebd7979752060128e6c1423378471b04d8ed28b6f0/bitarray-3.7.1-cp311-cp311-win32.whl", hash = "sha256:a23b5f13f9b292004e94b0b13fead4dae79c7512db04dc817ff2c2478298e04a", size = 141377, upload-time = "2025-08-28T22:15:30.471Z" }, + { url = "https://files.pythonhosted.org/packages/13/03/7bbaadf90b282c7f1bc21c3c4855ce869d3ecd444071b1dab55baaec9328/bitarray-3.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:acc56700963f63307ac096689d4547e8061028a66bb78b90e42c5da2898898fb", size = 148203, upload-time = "2025-08-28T22:15:31.525Z" }, + { url = "https://files.pythonhosted.org/packages/89/27/46b5b4dabecf84f750587cded3640658448d27c59f4dd2cbaa589085f43a/bitarray-3.7.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b99a0347bc6131046c19e056a113daa34d7df99f1f45510161bc78bc8461a470", size = 147349, upload-time = "2025-08-28T22:15:32.729Z" }, + { url = "https://files.pythonhosted.org/packages/f9/1e/7f61150577127a1540136ba8a63ba17c661a17e721e03404fcd5833a4a05/bitarray-3.7.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d7e274ac1975e55ebfb8166cce27e13dc99120c1d6ce9e490d7a716b9be9abb5", size = 143922, upload-time = "2025-08-28T22:15:33.963Z" }, + { url = "https://files.pythonhosted.org/packages/ca/b2/7c852472df8c644d05530bc0ad586fead5f23a9d176873c2c54f57e16b4e/bitarray-3.7.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3b9a2eb7d2e0e9c2f25256d2663c0a2a4798fe3110e3ddbbb1a7b71740b4de08", size = 330277, upload-time = "2025-08-28T22:15:34.997Z" }, + { url = "https://files.pythonhosted.org/packages/7b/38/681340eea0997c48ef2dbf1acb0786090518704ca32f9a2c3c669bdea08e/bitarray-3.7.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e15e70a3cf5bb519e2448524d689c02ff6bcd4750587a517e2bffee06065bf27", size = 349562, upload-time = "2025-08-28T22:15:36.554Z" }, + { url = "https://files.pythonhosted.org/packages/c4/f4/6fc43f896af85c5b10a74b1d8a87c05915464869594131a2d7731707a108/bitarray-3.7.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c65257899bb8faf6a111297b4ff0066324a6b901318582c0453a01422c3bcd5a", size = 341249, upload-time = "2025-08-28T22:15:37.774Z" }, + { url = "https://files.pythonhosted.org/packages/89/c7/1f71164799cacd44964ead87e1fc7e2f0ddec6d0519515a82d54eb8c8a13/bitarray-3.7.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38b0261483c59bb39ae9300ad46bf0bbf431ab604266382d986a349c96171b36", size = 332874, upload-time = "2025-08-28T22:15:38.935Z" }, + { url = "https://files.pythonhosted.org/packages/95/cd/4d7c19064fa7fe94c2818712695fa186a1d0bb9c5cb0cf34693df81d3202/bitarray-3.7.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d2b1ed363a4ef5622dccbf7822f01b51195062c4f382b28c9bd125d046d0324c", size = 321107, upload-time = "2025-08-28T22:15:40.071Z" }, + { url = "https://files.pythonhosted.org/packages/1e/d2/7d5ffe491c70614c0eb4a0186666efe925a02e25ed80ebd19c5fcb1c62e8/bitarray-3.7.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:dfde50ae55e075dcd5801e2c3ea0e749c849ed2cbbee991af0f97f1bdbadb2a6", size = 324999, upload-time = "2025-08-28T22:15:41.241Z" }, + { url = "https://files.pythonhosted.org/packages/11/d9/95fb87ec72c01169dad574baf7bc9e0d2bb73975d7ea29a83920a38646f4/bitarray-3.7.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:45660e2fabcdc1bab9699a468b312f47956300d41d6a2ea91c8f067572aaf38a", size = 321816, upload-time = "2025-08-28T22:15:42.417Z" }, + { url = "https://files.pythonhosted.org/packages/6b/3d/57ac96bbd125df75219c59afa297242054c09f22548aff028a8cefa8f120/bitarray-3.7.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7b4a41dc183d7d16750634f65566205990f94144755a39f33da44c0350c3e1a8", size = 349342, upload-time = "2025-08-28T22:15:43.997Z" }, + { url = "https://files.pythonhosted.org/packages/a9/14/d28f7456d2c3b3f7898186498b6d7fd3eecab267c300fb333fc2a8d55965/bitarray-3.7.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:8b8e07374d60040b24d1a158895d9758424db13be63d4b2fe1870e37f9dec009", size = 350501, upload-time = "2025-08-28T22:15:45.377Z" }, + { url = "https://files.pythonhosted.org/packages/bb/a4/0f803dc446e602b21e61315f5fa2cdec02a65340147b08f7efadba559f38/bitarray-3.7.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f31d8c2168bf2a52e4539232392352832c2296e07e0e14b6e06a44da574099ba", size = 331362, upload-time = "2025-08-28T22:15:46.577Z" }, + { url = "https://files.pythonhosted.org/packages/c9/03/25e4c4b91a33f1eae0a9e9b2b11f1eaed14e37499abbde154ff33888f5f5/bitarray-3.7.1-cp312-cp312-win32.whl", hash = "sha256:fe1f1f4010244cb07f6a079854a12e1627e4fb9ea99d672f2ceccaf6653ca514", size = 141474, upload-time = "2025-08-28T22:15:48.185Z" }, + { url = "https://files.pythonhosted.org/packages/25/53/98efa8ee389e4cbd91fc7c87bfebd4e11d6f8a027eb3f9be42d1addf1f51/bitarray-3.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:f41a4b57cbc128a699e9d716a56c90c7fc76554e680fe2962f49cc4d8688b051", size = 148458, upload-time = "2025-08-28T22:15:49.256Z" }, + { url = "https://files.pythonhosted.org/packages/97/7f/16d59c041b0208bc1003fcfbf466f1936b797440e6119ce0adca7318af48/bitarray-3.7.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e62892645f6a214eefb58a42c3ed2501af2e40a797844e0e09ec1e400ce75f3d", size = 147343, upload-time = "2025-08-28T22:15:50.617Z" }, + { url = "https://files.pythonhosted.org/packages/1a/fb/5add457d3faa0e17fde5e220bb33c0084355b9567ff9bcba2fe70fef3626/bitarray-3.7.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3092f6bbf4a75b1e6f14a5b1030e27c435f341afeb23987115e45a25cc68ba91", size = 143904, upload-time = "2025-08-28T22:15:52.06Z" }, + { url = "https://files.pythonhosted.org/packages/95/b9/c5ab584bb8d0ba1ec72eaac7fc1e712294db77a6230c033c9b15a2de33ae/bitarray-3.7.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:851398428f5604c53371b72c5e0a28163274264ada4a08cd1eafe65fde1f68d0", size = 330206, upload-time = "2025-08-28T22:15:53.492Z" }, + { url = "https://files.pythonhosted.org/packages/f0/cd/a4d95232a2374ce55e740fbb052a1e3a9aa52e96c7597d9152b1c9d79ecc/bitarray-3.7.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fa05460dc4f57358680b977b4a254d331b24c8beb501319b998625fd6a22654b", size = 349372, upload-time = "2025-08-28T22:15:55.043Z" }, + { url = "https://files.pythonhosted.org/packages/69/6c/8fb54cea100bd9358a7478d392042845800e809ab3a00873f2f0ae3d0306/bitarray-3.7.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9ad0df7886cb9d6d2ff75e87d323108a0e32bdca5c9918071681864129ce8ea8", size = 341120, upload-time = "2025-08-28T22:15:56.372Z" }, + { url = "https://files.pythonhosted.org/packages/bd/eb/dcbb1782bf93afa2baccbc1206bb1053f61fe999443e9180e7d9be322565/bitarray-3.7.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:55c31bc3d2c9e48741c812ee5ce4607c6f33e33f339831c214d923ffc7777d21", size = 332759, upload-time = "2025-08-28T22:15:57.984Z" }, + { url = "https://files.pythonhosted.org/packages/e2/f2/164aed832c5ece367d5347610cb7e50e5706ca1a882b9f172cb84669f591/bitarray-3.7.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44f468fb4857fff86c65bec5e2fb67067789e40dad69258e9bb78fc6a6df49e7", size = 320992, upload-time = "2025-08-28T22:16:01.039Z" }, + { url = "https://files.pythonhosted.org/packages/35/35/fd51da63ad364d5c03690bb895e34b20c9bedce10c6d0b4d7ed7677c4b09/bitarray-3.7.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:340c524c7c934b61d1985d805bffe7609180fb5d16ece6ce89b51aa535b936f2", size = 324987, upload-time = "2025-08-28T22:16:02.327Z" }, + { url = "https://files.pythonhosted.org/packages/a3/f3/3f4f31a80f343c6c3360ca4eac04f471bf009b6346de745016f8b4990bad/bitarray-3.7.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:0751596f60f33df66245b2dafa3f7fbe13cb7ac91dd14ead87d8c2eec57cb3ed", size = 321816, upload-time = "2025-08-28T22:16:03.751Z" }, + { url = "https://files.pythonhosted.org/packages/f5/60/26ce8cff96255198581cb88f9566820d6b3c262db4c185995cc5537b3d07/bitarray-3.7.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:e501bd27c795105aaba02b5212ecd1bb552ca2ee2ede53e5a8cb74deee0e2052", size = 349354, upload-time = "2025-08-28T22:16:04.966Z" }, + { url = "https://files.pythonhosted.org/packages/dc/f8/e2edda9c37ba9be5349beb145dcad14d8d339f7de293b4b2bd770227c5a7/bitarray-3.7.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:fe2493d3f49e314e573022ead4d8c845c9748979b7eb95e815429fe947c4bde2", size = 350491, upload-time = "2025-08-28T22:16:06.778Z" }, + { url = "https://files.pythonhosted.org/packages/c0/c5/b82dd6bd8699ad818c13ae02b6acfc6c38c9278af1f71005b5d0c5f29338/bitarray-3.7.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1f1575cc0f66aa70a0bb5cb57c8d9d1b7d541d920455169c6266919bf804dc20", size = 331367, upload-time = "2025-08-28T22:16:08.53Z" }, + { url = "https://files.pythonhosted.org/packages/51/82/03613ad262d6e2a76b906dd279de26694910a95e4ed8ebde57c9fd3f3aa7/bitarray-3.7.1-cp313-cp313-win32.whl", hash = "sha256:da3dfd2776226e15d3288a3a24c7975f9ee160ba198f2efa66bc28c5ba76d792", size = 141481, upload-time = "2025-08-28T22:16:09.727Z" }, + { url = "https://files.pythonhosted.org/packages/f1/7e/1730701a865fd1e4353900d5821c96e68695aed88d121f8783aea14c4e74/bitarray-3.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:33f604bffd06b170637f8a48ddcf42074ed1e1980366ac46058e065ce04bfe2a", size = 148450, upload-time = "2025-08-28T22:16:10.959Z" }, + { url = "https://files.pythonhosted.org/packages/44/30/cf50d7b142f096cf466021d117d8a0dc58244338541efa8cc88ead7a2931/bitarray-3.7.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3bb3cf22c3c03ae698647e6766314149c9cf04aa2018d9f48d5efddc3ced2764", size = 147721, upload-time = "2025-08-28T22:17:14.57Z" }, + { url = "https://files.pythonhosted.org/packages/6d/e2/5da73cb77b029519d680157296be90388dfa720d011167e30a069e1e8a72/bitarray-3.7.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:30a2fc37698820cbf9b51d5f801219ef4bed828a04f3307072b8f983dc422a0e", size = 144113, upload-time = "2025-08-28T22:17:15.931Z" }, + { url = "https://files.pythonhosted.org/packages/31/dc/b5481e83c7b65d162de39b7e349c6644f73712e237b9b9799b344cf1fbd9/bitarray-3.7.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:11fcfdf272549a3d876f10d8422bcd5f675750aa746ce04ff04937ec3bb2329e", size = 317399, upload-time = "2025-08-28T22:17:17.352Z" }, + { url = "https://files.pythonhosted.org/packages/04/26/88ff333b1fa944013ed9378e605576398f44f909fc91ce6512c0ba586857/bitarray-3.7.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8d4aa56782368269eb9402caf7378b2a5ada6f05eb9c7edc2362be258973fd7e", size = 336973, upload-time = "2025-08-28T22:17:18.855Z" }, + { url = "https://files.pythonhosted.org/packages/4f/4d/eab140db5dfa720f9be9e6b738524f924b61d5ded7a62b8c41dc97e5fa04/bitarray-3.7.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e3572889fcb87e5ca94add412d8b365dbb7b59773a4362e52caa556e5fd98643", size = 327290, upload-time = "2025-08-28T22:17:20.516Z" }, + { url = "https://files.pythonhosted.org/packages/a8/f3/9139cba1ca009f6e37155be72e339d0672ec279b9c60b6338fb2d9a68565/bitarray-3.7.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a393b0f881eff94440f72846a6f0f95b983594a0a50af81c41ed18107420d6a7", size = 319955, upload-time = "2025-08-28T22:17:22.26Z" }, + { url = "https://files.pythonhosted.org/packages/03/46/719f366003c2369b245322f9b504636443976a7e454bcb291343e5dedff2/bitarray-3.7.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7fdf059d4e3acec44f512ebe247718ae511fde632e2b06992022df8e637385a6", size = 308917, upload-time = "2025-08-28T22:17:24.405Z" }, + { url = "https://files.pythonhosted.org/packages/6c/96/21eca4b37004ab1a3efae31be6e61bc5cd835cb24c76ce2cdf69ea8e8685/bitarray-3.7.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a569c993942ac26c6c590639ed6712c6c9c3f0c8d287a067bf2a60eb615f3c6b", size = 312482, upload-time = "2025-08-28T22:17:25.884Z" }, + { url = "https://files.pythonhosted.org/packages/0b/b2/55400b9f27552b5edff03aff1f4f0088a98eca1c571279d634d89a6ba72c/bitarray-3.7.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:dbbaa147cf28b3e87738c624d390a3a9e2a5dfef4316f4c38b4ecaf3155a3eab", size = 310046, upload-time = "2025-08-28T22:17:27.392Z" }, + { url = "https://files.pythonhosted.org/packages/7b/a0/0e55c32038e734861e94ffee7d0b41344829d39c5940b59f0a9d8385ff9e/bitarray-3.7.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:d877759842ff9eb16d9c2b8b497953a7d994d4b231c171515f0bf3a2ae185c0c", size = 337953, upload-time = "2025-08-28T22:17:29.219Z" }, + { url = "https://files.pythonhosted.org/packages/1a/9e/e95c93a4c1b8d8f6b327d03485a0562d84a70966ef7f5c420ac5cc918f02/bitarray-3.7.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:c3e014f7295b9327fa6f0b3e55a3fd485abac98be145b9597e0cdbb05c44ad07", size = 337809, upload-time = "2025-08-28T22:17:30.852Z" }, + { url = "https://files.pythonhosted.org/packages/dc/75/e7cfe1d2b300d38963a6fe1697f15cd43acba2d7b523d22dda5e9596421a/bitarray-3.7.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:57b9df5d38ab49c13eaa9e0152fdfa8501fc23987f6dcf421b73484bfe573918", size = 318219, upload-time = "2025-08-28T22:17:32.896Z" }, + { url = "https://files.pythonhosted.org/packages/0a/a8/96dc69a656908ded3b0cf64d571b3c733bca33edb481c330dd74e3d6551b/bitarray-3.7.1-cp39-cp39-win32.whl", hash = "sha256:08c114cf02a63e13ce6d70bc5b9e7bdcfa8d5db17cece207cfa085c4bc4a7a0c", size = 141205, upload-time = "2025-08-28T22:17:34.744Z" }, + { url = "https://files.pythonhosted.org/packages/09/b2/d36d0af7dc5b860288b590e9348bcda32e6bc4bf0118f133371745023089/bitarray-3.7.1-cp39-cp39-win_amd64.whl", hash = "sha256:c427dfcce13a8c814556dfe7c110b8ef61b8fab5fca0d856d4890856807321dc", size = 147948, upload-time = "2025-08-28T22:17:36.466Z" }, + { url = "https://files.pythonhosted.org/packages/58/1f/80316ba4ed605d005efeb0b09c97cecde2c66ac4deae9d1d698670e1525f/bitarray-3.7.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c9bf2bf29854f165a47917b8782b6cf3a7d602971bf454806208d0cbb96f797a", size = 143423, upload-time = "2025-08-28T22:17:37.879Z" }, + { url = "https://files.pythonhosted.org/packages/9e/c3/52a491e18ba41911455f145906b20898fe8e7955d0bcc5b20207bf2aba09/bitarray-3.7.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:002b73bf4a9f7b3ecb02260bd4dd332a6ee4d7f74ee9779a1ef342a36244d0cf", size = 139870, upload-time = "2025-08-28T22:17:39.266Z" }, + { url = "https://files.pythonhosted.org/packages/46/df/4674d16f39841fc71db6ecc6298390cbb91a7dd8c4eccd55248a4ddced06/bitarray-3.7.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:481239cd0966f965c2b8fa78b88614be5f12a64e7773bb5feecc567d39bb2dd5", size = 148773, upload-time = "2025-08-28T22:17:40.81Z" }, + { url = "https://files.pythonhosted.org/packages/9b/85/9cd8bc811ab446491a5bdc47a70d6d51adb21e3b005b549d2fd5e04f5c7f/bitarray-3.7.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f583a1fb180a123c00064fab1a3bfb9d43e574b6474be1be3f6469e0331e3e2e", size = 149609, upload-time = "2025-08-28T22:17:42.308Z" }, + { url = "https://files.pythonhosted.org/packages/ea/84/e413c51313a4093ed67f657d21519c5fc592bdb9129c0ab8c7bad226e2b8/bitarray-3.7.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3db0648536f3e08afa7ceb928153c39913f98fd50a5c3adf92a4d0d4268f213e", size = 151343, upload-time = "2025-08-28T22:17:43.749Z" }, + { url = "https://files.pythonhosted.org/packages/a5/4f/921176e539866a8f7428d92962861bbfa6104f2cea0cbdd578abe5768a83/bitarray-3.7.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:3875578748b484638f6ea776f534e9088cfb15eee131aac051036cba40fd5d05", size = 146847, upload-time = "2025-08-28T22:17:45.209Z" }, + { url = "https://files.pythonhosted.org/packages/23/56/4262e805be32cca2b80541e69cb3e9e1cab28a4e564a0bcc3a3399de0b25/bitarray-3.7.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:eccc6829035c8b7b391a0aa124fade54932bb937dd1079f2740b9f1bde829226", size = 143490, upload-time = "2025-08-28T22:18:04.752Z" }, + { url = "https://files.pythonhosted.org/packages/9e/39/c12f91d529e3bafd86f2459ae810e44c60813714bb22119a753eec1f279c/bitarray-3.7.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:05ee46a734b5110c5ac483815da4379f7622f4316362872ec7c0ed16db4b0148", size = 140076, upload-time = "2025-08-28T22:18:06.266Z" }, + { url = "https://files.pythonhosted.org/packages/2e/ed/687e8c6202870e01bf43f42643b2c4727cdbad150c59a8af234e257fc934/bitarray-3.7.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cd7f6bfa2a36fb91b7dec9ddf905716f2ed0c3675d2b63c69b7530c9d211e715", size = 148788, upload-time = "2025-08-28T22:18:08.298Z" }, + { url = "https://files.pythonhosted.org/packages/36/2f/95fecde4cef4281a929d85db6bbaa653c0a350c31b8addc3f6f219bbce6a/bitarray-3.7.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99124e39658b2f72d296819ec03418609dd4f1b275b00289c2f278a19da6f9c0", size = 149737, upload-time = "2025-08-28T22:18:09.845Z" }, + { url = "https://files.pythonhosted.org/packages/cb/46/177e434292de5f0fac73582a51183fa5cc84e99a6e4723a41354ffe9d331/bitarray-3.7.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:16426a843b1bc9c552a7c97d6d7555e69730c2de1e2f560503d3fc0e7f6d8005", size = 151423, upload-time = "2025-08-28T22:18:11.733Z" }, + { url = "https://files.pythonhosted.org/packages/b3/47/b2655e19e4dd456a62fd2d5c1c6868aa173e437cad71d36f5ee06b5eea35/bitarray-3.7.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:6f7e1cdf0abb11718e655bb258920453b1e89c2315e9019f60f0775704b12a8c", size = 146932, upload-time = "2025-08-28T22:18:13.841Z" }, +] + +[[package]] +name = "cbor2" +version = "5.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/3a/89/01df16cdc9c60c07956756c90fe92c684021003079e358a78e213bce45a2/cbor2-5.7.0.tar.gz", hash = "sha256:3f6d843f4db4d0ec501c46453c22a4fbebb1abfb5b740e1bcab34c615cd7406b", size = 102374, upload-time = "2025-08-14T08:59:47.294Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0d/94/92870469f92b53f7d18a6a6def540ecd9deec0cc25448b0d28b1847a7820/cbor2-5.7.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:305edac16524df843d53ba086bc194c0975388e755ed177eb84e0324e3d705ec", size = 67903, upload-time = "2025-08-14T08:58:37.343Z" }, + { url = "https://files.pythonhosted.org/packages/ea/cd/c6bbf2c11f48f08cbbd31647ce2b6b081f25e4723d5260fde0a6520a6e2f/cbor2-5.7.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e00d7250e528a9a1bfd3b294799bdae96c158f72d95be58a3fbf97dab2467bbe", size = 68780, upload-time = "2025-08-14T08:58:39.004Z" }, + { url = "https://files.pythonhosted.org/packages/7f/b7/17fe6e502b9884f3a7bdf6e9331688e290a546110dd14575aa09527b238f/cbor2-5.7.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:36b6e229b36147051ea1063ba0cd6225bfe6b5398ca0ac7b33fa91407ca75081", size = 254198, upload-time = "2025-08-14T08:58:40.293Z" }, + { url = "https://files.pythonhosted.org/packages/fd/fb/6cc1dd51beb35f899f9f6621fd0df9ec733e1f4c27f334212107f7a05822/cbor2-5.7.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:06f8e9d8fa6d0ed7b8a81f4613a60e740be9bd5087de620e3b64007832dfd815", size = 247202, upload-time = "2025-08-14T08:58:42.101Z" }, + { url = "https://files.pythonhosted.org/packages/34/2d/e51cd823cb918eed3180bbe0169955ccefa03817c0e4788024e9e56d3657/cbor2-5.7.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:90c1236e5bfad19493183f9a9ecd3705e3ad3eb02fce6d6381c12ece86147b15", size = 250001, upload-time = "2025-08-14T08:58:43.82Z" }, + { url = "https://files.pythonhosted.org/packages/de/45/79a0320a4562537df3e589526d636963a06a95a66d7b6c366bdc8d9b3755/cbor2-5.7.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:afc6c6611b7529136ea4a04cf8711786640b687859c9688ae172726c305a83a1", size = 243743, upload-time = "2025-08-14T08:58:45.618Z" }, + { url = "https://files.pythonhosted.org/packages/9b/6f/73baf2ba006fb297c7d022858352ae393ee3837be2d7cfa01b6d2519492b/cbor2-5.7.0-cp310-cp310-win_amd64.whl", hash = "sha256:be635795908d59f46303ab266fc6f3aa6543c742fa112fd1cd2e5307b91c6de4", size = 68045, upload-time = "2025-08-14T08:58:48.447Z" }, + { url = "https://files.pythonhosted.org/packages/40/87/0c7c8d27738e8d7dca49dfb4092ef7fdfdec7ca64f27e344b79d8a80bd92/cbor2-5.7.0-cp310-cp310-win_arm64.whl", hash = "sha256:16a21233f11874b7067b136cb2910333b36c1dee455a42a7c8473a104753cf4a", size = 63963, upload-time = "2025-08-14T08:58:49.563Z" }, + { url = "https://files.pythonhosted.org/packages/45/a4/97c1b5eaf28129543ae6f90b9afc244241f5bb1701a2cf9368a2de9eb258/cbor2-5.7.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:73532e725501915f95d589500e0a11813c9a3fd735d3cdb6c4dd320e6a2f12e1", size = 67895, upload-time = "2025-08-14T08:58:50.949Z" }, + { url = "https://files.pythonhosted.org/packages/91/60/cb2fa00871e94e75d9b84f4edd173b6644af080333c00712e8e31bd201fe/cbor2-5.7.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b785d954879e3800a074efa45c882a1cc6459476ab0d354c74e1dca92b17ede3", size = 68783, upload-time = "2025-08-14T08:58:52.456Z" }, + { url = "https://files.pythonhosted.org/packages/6d/52/6092e45a6b164d22bc2828aa14f422fbcf5af4bd9201a3e27b62b512f828/cbor2-5.7.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5fc1005b412ace94bbf905a8c4214e639557568551d9b5474645789e976e91e4", size = 261081, upload-time = "2025-08-14T08:58:53.747Z" }, + { url = "https://files.pythonhosted.org/packages/0f/12/9eef73bcfcdd110df7e585f8034399d1cf2006dc7576487e0509ba50e4f8/cbor2-5.7.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d981d691dd721dd712fc824d04a01347955a206107fbee1d75803fa58de172c7", size = 254132, upload-time = "2025-08-14T08:58:55.465Z" }, + { url = "https://files.pythonhosted.org/packages/8c/e1/00bc92353ecacef0b8eaba285168ca517c18539c12ddebe06a9bbab03e47/cbor2-5.7.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b3b9730928163d02e7f1267e48a39ed75560ff3e56cdc6768d670d3e96028623", size = 256825, upload-time = "2025-08-14T08:58:57.239Z" }, + { url = "https://files.pythonhosted.org/packages/25/01/454c93f360c404a3e6531ce0e2e4cc5818c5746a10b1cb295b6abd3057cd/cbor2-5.7.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:01cc4d840943b4c2e468b8560830235d044a8cb45e5d66ba3ae933c3e21b8d49", size = 250639, upload-time = "2025-08-14T08:58:58.594Z" }, + { url = "https://files.pythonhosted.org/packages/94/1a/87be8d39d934810b095024bd22017c679abd51d89cb62d179b89327f491e/cbor2-5.7.0-cp311-cp311-win_amd64.whl", hash = "sha256:6abe31e742ccf966778d77ce99d7c6136ca0f8424446dfdabcc3491f015e84d4", size = 68085, upload-time = "2025-08-14T08:59:00.045Z" }, + { url = "https://files.pythonhosted.org/packages/52/00/dce08a1549e2a4008cecb0069e8d8de45779f60852aca12a5e7d0039ce41/cbor2-5.7.0-cp311-cp311-win_arm64.whl", hash = "sha256:c48dff8f6aacd76fc0680c48ef35e5912e3d758a9f41305a35e847f382b60eea", size = 63969, upload-time = "2025-08-14T08:59:01.187Z" }, + { url = "https://files.pythonhosted.org/packages/b1/b1/d54c41b1bc71b8dea0bad3409d2a497df35f7b5ae5db70c1cc9ebc8d556d/cbor2-5.7.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7ad36f0537b75c1aa2c7a462cbdbeec5e8ba02802ea985e0b9fe5deee3b946f4", size = 69020, upload-time = "2025-08-14T08:59:02.276Z" }, + { url = "https://files.pythonhosted.org/packages/f4/e0/45368d5d78b520caaa9ca5a09f55365bc9933d43bce978a528922654ca9f/cbor2-5.7.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5fc9b335cf28e63d9eed4ae03d1e8f90f1a6b287cabc8d29bfddf73fa70643e9", size = 68950, upload-time = "2025-08-14T08:59:03.882Z" }, + { url = "https://files.pythonhosted.org/packages/1e/6a/9aed5b716407c1d48425ba55c6022a01a9abdbf58a691f50416461fa371d/cbor2-5.7.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:16bea83598a1eeedbd50c2e9fdf3685bae78ca9d9ec8cd8010777db14a315578", size = 285685, upload-time = "2025-08-14T08:59:05.165Z" }, + { url = "https://files.pythonhosted.org/packages/a8/6e/3499eaa2b858c7695a447b6311303f06ffc90fc2c45851337121661f1f5c/cbor2-5.7.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8e837825a16e60ace6e284095aa9fbe504bf87a8f4494bf7d95931e37fb01a70", size = 284948, upload-time = "2025-08-14T08:59:06.64Z" }, + { url = "https://files.pythonhosted.org/packages/d1/3e/ae67866ef65717665e0acf2873d466c5d4a1d965b0d0348f2269b73f28fb/cbor2-5.7.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:27396c5e275ff7c7cd87fe8aaadf781e6194903921f250934af7c86d5efec82e", size = 276375, upload-time = "2025-08-14T08:59:08.845Z" }, + { url = "https://files.pythonhosted.org/packages/b6/3d/2f8e9671111661dd571de206344ecd7706f6d458aab191e06834c89aa58e/cbor2-5.7.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c84bfef78c4e9c81eb0a10cec340222ba4e39498a63fc2e3d5f982a3f4efa4a7", size = 277680, upload-time = "2025-08-14T08:59:10.292Z" }, + { url = "https://files.pythonhosted.org/packages/85/03/27a9fefa4e084c1129d7180727791a166629fdae39e0609508401d322626/cbor2-5.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:f64270a24aaadb15dd31cbd64a98d99fca8e0398a65b1570ba07f3c259eb5516", size = 68354, upload-time = "2025-08-14T08:59:11.561Z" }, + { url = "https://files.pythonhosted.org/packages/25/d9/b856d078696542a0d7486d1ece5c936e937bebe5b114674db18d76feb131/cbor2-5.7.0-cp312-cp312-win_arm64.whl", hash = "sha256:73ef321d7b580f08c9fadc41c3d2a218aa3f01e163be9793c6969aadee07f57a", size = 63896, upload-time = "2025-08-14T08:59:12.977Z" }, + { url = "https://files.pythonhosted.org/packages/5c/2f/25da2b08f7a3d7b3f72e678a373092619821ab706f3f720d29e567a426df/cbor2-5.7.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7654e77b7f6be029fb37a074b175483a4a8ae3fe5e2a91008926625aa91aef2c", size = 69046, upload-time = "2025-08-14T08:59:14.123Z" }, + { url = "https://files.pythonhosted.org/packages/4b/b5/d324166a5a1feed61aeb32fed70182306796b67cedaf65c91671c8674ea2/cbor2-5.7.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9bd76624b090faa6900739025d798a4e3130da80dbae15391b42b3d4672a4022", size = 69061, upload-time = "2025-08-14T08:59:15.228Z" }, + { url = "https://files.pythonhosted.org/packages/1f/f9/180e953da537602d8530910f5a5f76c3d7215829d145d93f97fa43324dd7/cbor2-5.7.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:428d58b54a7b32ede869e79c294d686f826dcfdab9de7f92135dd3ce12e313b8", size = 284642, upload-time = "2025-08-14T08:59:16.511Z" }, + { url = "https://files.pythonhosted.org/packages/17/eb/7d79831a5081d25002e36a1b2685210ae8783582d1a99fae350b2b1b899c/cbor2-5.7.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a91b6912e2ff64f33464f67ec6528cf2e26c06a5f3cc3fb1954f94aa58d68670", size = 283690, upload-time = "2025-08-14T08:59:17.989Z" }, + { url = "https://files.pythonhosted.org/packages/38/43/1403610711ea6b9b957d86bd15fd0585a3917a3d9f8bafbb2cb1ad016361/cbor2-5.7.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9faeec4525fe3103a71f0fd3d6fe9a49ea6ff4ade8cb7cf1c395001b906a01e5", size = 276305, upload-time = "2025-08-14T08:59:19.43Z" }, + { url = "https://files.pythonhosted.org/packages/77/06/df4a5c7c16df3b604bd560234aff686da443bf70a124c5e3f80dff954e5a/cbor2-5.7.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:361315ccd8022c44bb501877fd9b236479c975f1a7aed69c8541bd609c0a8908", size = 277416, upload-time = "2025-08-14T08:59:20.798Z" }, + { url = "https://files.pythonhosted.org/packages/84/aa/62288bac4e501e25d04d50bb79ac46d4a6678ff9545941436a702c654eba/cbor2-5.7.0-cp313-cp313-win_amd64.whl", hash = "sha256:293c4a5d6a9a69fcecf595a47430dc3b11f4a3355089b1fe300d0ac48c5776c5", size = 68378, upload-time = "2025-08-14T08:59:22.227Z" }, + { url = "https://files.pythonhosted.org/packages/b6/d6/8358c144767731ffa03c16bb1222b59cb3be632833c70a2132cbe2ed8300/cbor2-5.7.0-cp313-cp313-win_arm64.whl", hash = "sha256:52d6e1a9b2f4475540063d7b966b1b2e93ac497e08ab9a1514fd6330f8db5b4c", size = 63966, upload-time = "2025-08-14T08:59:23.369Z" }, + { url = "https://files.pythonhosted.org/packages/99/32/b653a2a3cfb283bdf0539dbd79d3bafa528aaa26fbe44796897d167e733d/cbor2-5.7.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:f4f0464425ff809b1dd737db8c65a937516aba5eb3794cb1433f7eb8eb7a6535", size = 68993, upload-time = "2025-08-14T08:59:24.497Z" }, + { url = "https://files.pythonhosted.org/packages/c9/90/79d38f7f645a33e44b87f9333f74c04d01006a11f5291d2e8686815fe731/cbor2-5.7.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:866d993ebc9c4e4018ab001503dafc4145bb6ec91e1eddf12b8d7b6898021201", size = 69248, upload-time = "2025-08-14T08:59:25.63Z" }, + { url = "https://files.pythonhosted.org/packages/46/ca/59d65f12ef14c54c564f0e4363d9dd049a90d5b0e2a0dab0183062268a36/cbor2-5.7.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bc7a11433ea1c45b6d47484bef99e822fd8a40b4cfbcdc1e00378a7e8704e317", size = 283739, upload-time = "2025-08-14T08:59:26.856Z" }, + { url = "https://files.pythonhosted.org/packages/19/51/5da8661b1aa7a4b7afe06724994b23eca6f7912d2cca705721dbd4aa764a/cbor2-5.7.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e33242570cb4542302dcb6cf429cc9abe315ff7ebb370de2828eed22a8b00fe8", size = 281246, upload-time = "2025-08-14T08:59:28.261Z" }, + { url = "https://files.pythonhosted.org/packages/d4/2f/565f5f215a9d4211c23e94c5b1761d697d248603ae11ecf83a9a70e99382/cbor2-5.7.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:855fe80517071028a5804a29b607864b8d90bbb2223331ab2d8cae94b979d61f", size = 275442, upload-time = "2025-08-14T08:59:29.794Z" }, + { url = "https://files.pythonhosted.org/packages/84/11/307a558f6ddc3bd0fc539ac65696acb0253554c88bab5da7d459706eb20e/cbor2-5.7.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:87170260845c2ea3d74288f667e0bc81c8a6bbc72ff60265d19c59b3e76be266", size = 275372, upload-time = "2025-08-14T08:59:31.589Z" }, + { url = "https://files.pythonhosted.org/packages/92/f0/960b7050a53b8d60f92e6e4c1ce670f9c50ab2ff48468e83b2bef0399b38/cbor2-5.7.0-cp314-cp314-win_amd64.whl", hash = "sha256:a2b591904555e51843c95776df2d6b161226af045e655f464c101d8ad8708e99", size = 70188, upload-time = "2025-08-14T08:59:32.827Z" }, + { url = "https://files.pythonhosted.org/packages/a7/83/51805084b6208529f82e5a52261468a56b758728153ee2400c421fa845f4/cbor2-5.7.0-cp314-cp314-win_arm64.whl", hash = "sha256:4460164ffd0ceaf8cc3f5597e73dd99fd781541c7bba0ea64ac93043bf08bb6a", size = 66162, upload-time = "2025-08-14T08:59:34.35Z" }, + { url = "https://files.pythonhosted.org/packages/17/f1/308af71be956e1cdb8800bd49b045c45683178ca8058becceeae3bc22b7f/cbor2-5.7.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b20eb9b3b4c593cf8135e5c98b49d085e2d052ba714448583359c4b1f5cd0cd4", size = 67906, upload-time = "2025-08-14T08:59:35.861Z" }, + { url = "https://files.pythonhosted.org/packages/a5/89/157029abc1cae39f0a736c701b65725fc7dabc25861f36253bc8877cad9f/cbor2-5.7.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:69503de8d937d7764cac127f32d94474b07c593ce0c4323f4ad7ff78adbfb776", size = 68777, upload-time = "2025-08-14T08:59:36.995Z" }, + { url = "https://files.pythonhosted.org/packages/cd/40/dd8123fef6b18220f78e64a4bb4f8e4255c516db390ae8e8db0084474503/cbor2-5.7.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f94dbfd77ae591010429d645e4e7fd4f387183193f14c4f645dd7ba03668f9a9", size = 252958, upload-time = "2025-08-14T08:59:38.279Z" }, + { url = "https://files.pythonhosted.org/packages/df/1a/644bf42929915875212744100131200bc17cf526235c28747c78b30588db/cbor2-5.7.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cd36c935adf56ccf83c6b85949cb2ac8b991672d241ec1f645b557ae4730221b", size = 246023, upload-time = "2025-08-14T08:59:39.645Z" }, + { url = "https://files.pythonhosted.org/packages/9e/c1/32ad36a8e036b10a49412c0e55a3f96ecf1bbfc7b640ee80cca011731eb2/cbor2-5.7.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1198cbfa5194410b35b7fb5c0e58a0ee22c20b44197605e26f14e320e1750c5e", size = 248762, upload-time = "2025-08-14T08:59:41.048Z" }, + { url = "https://files.pythonhosted.org/packages/ef/db/847c604f876bb5990707b42e52c00960bdb81df800e4dfa81050d5f4ef5c/cbor2-5.7.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:78dca93abdbea701caa068e412e54923f3b4d117f5b46b39f44456e01b047534", size = 242520, upload-time = "2025-08-14T08:59:42.406Z" }, + { url = "https://files.pythonhosted.org/packages/2f/92/7e711ca1ac983d45c28afcc3628a2357fda0ea5ff75c9c38bb596756d92e/cbor2-5.7.0-cp39-cp39-win_amd64.whl", hash = "sha256:f56d5af41da9b1ef13ceec297411bd472c30d70bca29a25cb3a27ad7309d9974", size = 68206, upload-time = "2025-08-14T08:59:43.979Z" }, + { url = "https://files.pythonhosted.org/packages/ec/c5/90a70df5c6a6b5bc51654878589b504243d3635f11e9c9b32bdd44beb40a/cbor2-5.7.0-cp39-cp39-win_arm64.whl", hash = "sha256:b6e8f09664f799150ce6275c5487a35ca5773e5c6eb44209f187102b94ebd2d0", size = 63968, upload-time = "2025-08-14T08:59:45.088Z" }, + { url = "https://files.pythonhosted.org/packages/41/cc/0ce73676d2a0c9e5a9330c301940c50eb325dacf5f6d9690fd43a8817fe9/cbor2-5.7.0-py3-none-any.whl", hash = "sha256:a871e7a6f7cba1ddb02503ea974f15f6524c95078fbfe0b860fd4193d7c8f27a", size = 23828, upload-time = "2025-08-14T08:59:46.129Z" }, +] + +[[package]] +name = "certifi" +version = "2025.8.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/dc/67/960ebe6bf230a96cda2e0abcf73af550ec4f090005363542f0765df162e0/certifi-2025.8.3.tar.gz", hash = "sha256:e564105f78ded564e3ae7c923924435e1daa7463faeab5bb932bc53ffae63407", size = 162386, upload-time = "2025-08-03T03:07:47.08Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/48/1549795ba7742c948d2ad169c1c8cdbae65bc450d6cd753d124b17c8cd32/certifi-2025.8.3-py3-none-any.whl", hash = "sha256:f6c12493cfb1b06ba2ff328595af9350c65d6644968e5d3a2ffd78699af217a5", size = 161216, upload-time = "2025-08-03T03:07:45.777Z" }, +] + +[[package]] +name = "cfgv" +version = "3.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/11/74/539e56497d9bd1d484fd863dd69cbbfa653cd2aa27abfe35653494d85e94/cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560", size = 7114, upload-time = "2023-08-12T20:38:17.776Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c5/55/51844dd50c4fc7a33b653bfaba4c2456f06955289ca770a5dbd5fd267374/cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9", size = 7249, upload-time = "2023-08-12T20:38:16.269Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/83/2d/5fd176ceb9b2fc619e63405525573493ca23441330fcdaee6bef9460e924/charset_normalizer-3.4.3.tar.gz", hash = "sha256:6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14", size = 122371, upload-time = "2025-08-09T07:57:28.46Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d6/98/f3b8013223728a99b908c9344da3aa04ee6e3fa235f19409033eda92fb78/charset_normalizer-3.4.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:fb7f67a1bfa6e40b438170ebdc8158b78dc465a5a67b6dde178a46987b244a72", size = 207695, upload-time = "2025-08-09T07:55:36.452Z" }, + { url = "https://files.pythonhosted.org/packages/21/40/5188be1e3118c82dcb7c2a5ba101b783822cfb413a0268ed3be0468532de/charset_normalizer-3.4.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cc9370a2da1ac13f0153780040f465839e6cccb4a1e44810124b4e22483c93fe", size = 147153, upload-time = "2025-08-09T07:55:38.467Z" }, + { url = "https://files.pythonhosted.org/packages/37/60/5d0d74bc1e1380f0b72c327948d9c2aca14b46a9efd87604e724260f384c/charset_normalizer-3.4.3-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:07a0eae9e2787b586e129fdcbe1af6997f8d0e5abaa0bc98c0e20e124d67e601", size = 160428, upload-time = "2025-08-09T07:55:40.072Z" }, + { url = "https://files.pythonhosted.org/packages/85/9a/d891f63722d9158688de58d050c59dc3da560ea7f04f4c53e769de5140f5/charset_normalizer-3.4.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:74d77e25adda8581ffc1c720f1c81ca082921329452eba58b16233ab1842141c", size = 157627, upload-time = "2025-08-09T07:55:41.706Z" }, + { url = "https://files.pythonhosted.org/packages/65/1a/7425c952944a6521a9cfa7e675343f83fd82085b8af2b1373a2409c683dc/charset_normalizer-3.4.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d0e909868420b7049dafd3a31d45125b31143eec59235311fc4c57ea26a4acd2", size = 152388, upload-time = "2025-08-09T07:55:43.262Z" }, + { url = "https://files.pythonhosted.org/packages/f0/c9/a2c9c2a355a8594ce2446085e2ec97fd44d323c684ff32042e2a6b718e1d/charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c6f162aabe9a91a309510d74eeb6507fab5fff92337a15acbe77753d88d9dcf0", size = 150077, upload-time = "2025-08-09T07:55:44.903Z" }, + { url = "https://files.pythonhosted.org/packages/3b/38/20a1f44e4851aa1c9105d6e7110c9d020e093dfa5836d712a5f074a12bf7/charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4ca4c094de7771a98d7fbd67d9e5dbf1eb73efa4f744a730437d8a3a5cf994f0", size = 161631, upload-time = "2025-08-09T07:55:46.346Z" }, + { url = "https://files.pythonhosted.org/packages/a4/fa/384d2c0f57edad03d7bec3ebefb462090d8905b4ff5a2d2525f3bb711fac/charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:02425242e96bcf29a49711b0ca9f37e451da7c70562bc10e8ed992a5a7a25cc0", size = 159210, upload-time = "2025-08-09T07:55:47.539Z" }, + { url = "https://files.pythonhosted.org/packages/33/9e/eca49d35867ca2db336b6ca27617deed4653b97ebf45dfc21311ce473c37/charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:78deba4d8f9590fe4dae384aeff04082510a709957e968753ff3c48399f6f92a", size = 153739, upload-time = "2025-08-09T07:55:48.744Z" }, + { url = "https://files.pythonhosted.org/packages/2a/91/26c3036e62dfe8de8061182d33be5025e2424002125c9500faff74a6735e/charset_normalizer-3.4.3-cp310-cp310-win32.whl", hash = "sha256:d79c198e27580c8e958906f803e63cddb77653731be08851c7df0b1a14a8fc0f", size = 99825, upload-time = "2025-08-09T07:55:50.305Z" }, + { url = "https://files.pythonhosted.org/packages/e2/c6/f05db471f81af1fa01839d44ae2a8bfeec8d2a8b4590f16c4e7393afd323/charset_normalizer-3.4.3-cp310-cp310-win_amd64.whl", hash = "sha256:c6e490913a46fa054e03699c70019ab869e990270597018cef1d8562132c2669", size = 107452, upload-time = "2025-08-09T07:55:51.461Z" }, + { url = "https://files.pythonhosted.org/packages/7f/b5/991245018615474a60965a7c9cd2b4efbaabd16d582a5547c47ee1c7730b/charset_normalizer-3.4.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b256ee2e749283ef3ddcff51a675ff43798d92d746d1a6e4631bf8c707d22d0b", size = 204483, upload-time = "2025-08-09T07:55:53.12Z" }, + { url = "https://files.pythonhosted.org/packages/c7/2a/ae245c41c06299ec18262825c1569c5d3298fc920e4ddf56ab011b417efd/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:13faeacfe61784e2559e690fc53fa4c5ae97c6fcedb8eb6fb8d0a15b475d2c64", size = 145520, upload-time = "2025-08-09T07:55:54.712Z" }, + { url = "https://files.pythonhosted.org/packages/3a/a4/b3b6c76e7a635748c4421d2b92c7b8f90a432f98bda5082049af37ffc8e3/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:00237675befef519d9af72169d8604a067d92755e84fe76492fef5441db05b91", size = 158876, upload-time = "2025-08-09T07:55:56.024Z" }, + { url = "https://files.pythonhosted.org/packages/e2/e6/63bb0e10f90a8243c5def74b5b105b3bbbfb3e7bb753915fe333fb0c11ea/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:585f3b2a80fbd26b048a0be90c5aae8f06605d3c92615911c3a2b03a8a3b796f", size = 156083, upload-time = "2025-08-09T07:55:57.582Z" }, + { url = "https://files.pythonhosted.org/packages/87/df/b7737ff046c974b183ea9aa111b74185ac8c3a326c6262d413bd5a1b8c69/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0e78314bdc32fa80696f72fa16dc61168fda4d6a0c014e0380f9d02f0e5d8a07", size = 150295, upload-time = "2025-08-09T07:55:59.147Z" }, + { url = "https://files.pythonhosted.org/packages/61/f1/190d9977e0084d3f1dc169acd060d479bbbc71b90bf3e7bf7b9927dec3eb/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:96b2b3d1a83ad55310de8c7b4a2d04d9277d5591f40761274856635acc5fcb30", size = 148379, upload-time = "2025-08-09T07:56:00.364Z" }, + { url = "https://files.pythonhosted.org/packages/4c/92/27dbe365d34c68cfe0ca76f1edd70e8705d82b378cb54ebbaeabc2e3029d/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:939578d9d8fd4299220161fdd76e86c6a251987476f5243e8864a7844476ba14", size = 160018, upload-time = "2025-08-09T07:56:01.678Z" }, + { url = "https://files.pythonhosted.org/packages/99/04/baae2a1ea1893a01635d475b9261c889a18fd48393634b6270827869fa34/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:fd10de089bcdcd1be95a2f73dbe6254798ec1bda9f450d5828c96f93e2536b9c", size = 157430, upload-time = "2025-08-09T07:56:02.87Z" }, + { url = "https://files.pythonhosted.org/packages/2f/36/77da9c6a328c54d17b960c89eccacfab8271fdaaa228305330915b88afa9/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1e8ac75d72fa3775e0b7cb7e4629cec13b7514d928d15ef8ea06bca03ef01cae", size = 151600, upload-time = "2025-08-09T07:56:04.089Z" }, + { url = "https://files.pythonhosted.org/packages/64/d4/9eb4ff2c167edbbf08cdd28e19078bf195762e9bd63371689cab5ecd3d0d/charset_normalizer-3.4.3-cp311-cp311-win32.whl", hash = "sha256:6cf8fd4c04756b6b60146d98cd8a77d0cdae0e1ca20329da2ac85eed779b6849", size = 99616, upload-time = "2025-08-09T07:56:05.658Z" }, + { url = "https://files.pythonhosted.org/packages/f4/9c/996a4a028222e7761a96634d1820de8a744ff4327a00ada9c8942033089b/charset_normalizer-3.4.3-cp311-cp311-win_amd64.whl", hash = "sha256:31a9a6f775f9bcd865d88ee350f0ffb0e25936a7f930ca98995c05abf1faf21c", size = 107108, upload-time = "2025-08-09T07:56:07.176Z" }, + { url = "https://files.pythonhosted.org/packages/e9/5e/14c94999e418d9b87682734589404a25854d5f5d0408df68bc15b6ff54bb/charset_normalizer-3.4.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e28e334d3ff134e88989d90ba04b47d84382a828c061d0d1027b1b12a62b39b1", size = 205655, upload-time = "2025-08-09T07:56:08.475Z" }, + { url = "https://files.pythonhosted.org/packages/7d/a8/c6ec5d389672521f644505a257f50544c074cf5fc292d5390331cd6fc9c3/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0cacf8f7297b0c4fcb74227692ca46b4a5852f8f4f24b3c766dd94a1075c4884", size = 146223, upload-time = "2025-08-09T07:56:09.708Z" }, + { url = "https://files.pythonhosted.org/packages/fc/eb/a2ffb08547f4e1e5415fb69eb7db25932c52a52bed371429648db4d84fb1/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c6fd51128a41297f5409deab284fecbe5305ebd7e5a1f959bee1c054622b7018", size = 159366, upload-time = "2025-08-09T07:56:11.326Z" }, + { url = "https://files.pythonhosted.org/packages/82/10/0fd19f20c624b278dddaf83b8464dcddc2456cb4b02bb902a6da126b87a1/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3cfb2aad70f2c6debfbcb717f23b7eb55febc0bb23dcffc0f076009da10c6392", size = 157104, upload-time = "2025-08-09T07:56:13.014Z" }, + { url = "https://files.pythonhosted.org/packages/16/ab/0233c3231af734f5dfcf0844aa9582d5a1466c985bbed6cedab85af9bfe3/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1606f4a55c0fd363d754049cdf400175ee96c992b1f8018b993941f221221c5f", size = 151830, upload-time = "2025-08-09T07:56:14.428Z" }, + { url = "https://files.pythonhosted.org/packages/ae/02/e29e22b4e02839a0e4a06557b1999d0a47db3567e82989b5bb21f3fbbd9f/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:027b776c26d38b7f15b26a5da1044f376455fb3766df8fc38563b4efbc515154", size = 148854, upload-time = "2025-08-09T07:56:16.051Z" }, + { url = "https://files.pythonhosted.org/packages/05/6b/e2539a0a4be302b481e8cafb5af8792da8093b486885a1ae4d15d452bcec/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:42e5088973e56e31e4fa58eb6bd709e42fc03799c11c42929592889a2e54c491", size = 160670, upload-time = "2025-08-09T07:56:17.314Z" }, + { url = "https://files.pythonhosted.org/packages/31/e7/883ee5676a2ef217a40ce0bffcc3d0dfbf9e64cbcfbdf822c52981c3304b/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:cc34f233c9e71701040d772aa7490318673aa7164a0efe3172b2981218c26d93", size = 158501, upload-time = "2025-08-09T07:56:18.641Z" }, + { url = "https://files.pythonhosted.org/packages/c1/35/6525b21aa0db614cf8b5792d232021dca3df7f90a1944db934efa5d20bb1/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:320e8e66157cc4e247d9ddca8e21f427efc7a04bbd0ac8a9faf56583fa543f9f", size = 153173, upload-time = "2025-08-09T07:56:20.289Z" }, + { url = "https://files.pythonhosted.org/packages/50/ee/f4704bad8201de513fdc8aac1cabc87e38c5818c93857140e06e772b5892/charset_normalizer-3.4.3-cp312-cp312-win32.whl", hash = "sha256:fb6fecfd65564f208cbf0fba07f107fb661bcd1a7c389edbced3f7a493f70e37", size = 99822, upload-time = "2025-08-09T07:56:21.551Z" }, + { url = "https://files.pythonhosted.org/packages/39/f5/3b3836ca6064d0992c58c7561c6b6eee1b3892e9665d650c803bd5614522/charset_normalizer-3.4.3-cp312-cp312-win_amd64.whl", hash = "sha256:86df271bf921c2ee3818f0522e9a5b8092ca2ad8b065ece5d7d9d0e9f4849bcc", size = 107543, upload-time = "2025-08-09T07:56:23.115Z" }, + { url = "https://files.pythonhosted.org/packages/65/ca/2135ac97709b400c7654b4b764daf5c5567c2da45a30cdd20f9eefe2d658/charset_normalizer-3.4.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:14c2a87c65b351109f6abfc424cab3927b3bdece6f706e4d12faaf3d52ee5efe", size = 205326, upload-time = "2025-08-09T07:56:24.721Z" }, + { url = "https://files.pythonhosted.org/packages/71/11/98a04c3c97dd34e49c7d247083af03645ca3730809a5509443f3c37f7c99/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:41d1fc408ff5fdfb910200ec0e74abc40387bccb3252f3f27c0676731df2b2c8", size = 146008, upload-time = "2025-08-09T07:56:26.004Z" }, + { url = "https://files.pythonhosted.org/packages/60/f5/4659a4cb3c4ec146bec80c32d8bb16033752574c20b1252ee842a95d1a1e/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1bb60174149316da1c35fa5233681f7c0f9f514509b8e399ab70fea5f17e45c9", size = 159196, upload-time = "2025-08-09T07:56:27.25Z" }, + { url = "https://files.pythonhosted.org/packages/86/9e/f552f7a00611f168b9a5865a1414179b2c6de8235a4fa40189f6f79a1753/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:30d006f98569de3459c2fc1f2acde170b7b2bd265dc1943e87e1a4efe1b67c31", size = 156819, upload-time = "2025-08-09T07:56:28.515Z" }, + { url = "https://files.pythonhosted.org/packages/7e/95/42aa2156235cbc8fa61208aded06ef46111c4d3f0de233107b3f38631803/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:416175faf02e4b0810f1f38bcb54682878a4af94059a1cd63b8747244420801f", size = 151350, upload-time = "2025-08-09T07:56:29.716Z" }, + { url = "https://files.pythonhosted.org/packages/c2/a9/3865b02c56f300a6f94fc631ef54f0a8a29da74fb45a773dfd3dcd380af7/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6aab0f181c486f973bc7262a97f5aca3ee7e1437011ef0c2ec04b5a11d16c927", size = 148644, upload-time = "2025-08-09T07:56:30.984Z" }, + { url = "https://files.pythonhosted.org/packages/77/d9/cbcf1a2a5c7d7856f11e7ac2d782aec12bdfea60d104e60e0aa1c97849dc/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabf8315679312cfa71302f9bd509ded4f2f263fb5b765cf1433b39106c3cc9", size = 160468, upload-time = "2025-08-09T07:56:32.252Z" }, + { url = "https://files.pythonhosted.org/packages/f6/42/6f45efee8697b89fda4d50580f292b8f7f9306cb2971d4b53f8914e4d890/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:bd28b817ea8c70215401f657edef3a8aa83c29d447fb0b622c35403780ba11d5", size = 158187, upload-time = "2025-08-09T07:56:33.481Z" }, + { url = "https://files.pythonhosted.org/packages/70/99/f1c3bdcfaa9c45b3ce96f70b14f070411366fa19549c1d4832c935d8e2c3/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:18343b2d246dc6761a249ba1fb13f9ee9a2bcd95decc767319506056ea4ad4dc", size = 152699, upload-time = "2025-08-09T07:56:34.739Z" }, + { url = "https://files.pythonhosted.org/packages/a3/ad/b0081f2f99a4b194bcbb1934ef3b12aa4d9702ced80a37026b7607c72e58/charset_normalizer-3.4.3-cp313-cp313-win32.whl", hash = "sha256:6fb70de56f1859a3f71261cbe41005f56a7842cc348d3aeb26237560bfa5e0ce", size = 99580, upload-time = "2025-08-09T07:56:35.981Z" }, + { url = "https://files.pythonhosted.org/packages/9a/8f/ae790790c7b64f925e5c953b924aaa42a243fb778fed9e41f147b2a5715a/charset_normalizer-3.4.3-cp313-cp313-win_amd64.whl", hash = "sha256:cf1ebb7d78e1ad8ec2a8c4732c7be2e736f6e5123a4146c5b89c9d1f585f8cef", size = 107366, upload-time = "2025-08-09T07:56:37.339Z" }, + { url = "https://files.pythonhosted.org/packages/8e/91/b5a06ad970ddc7a0e513112d40113e834638f4ca1120eb727a249fb2715e/charset_normalizer-3.4.3-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3cd35b7e8aedeb9e34c41385fda4f73ba609e561faedfae0a9e75e44ac558a15", size = 204342, upload-time = "2025-08-09T07:56:38.687Z" }, + { url = "https://files.pythonhosted.org/packages/ce/ec/1edc30a377f0a02689342f214455c3f6c2fbedd896a1d2f856c002fc3062/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b89bc04de1d83006373429975f8ef9e7932534b8cc9ca582e4db7d20d91816db", size = 145995, upload-time = "2025-08-09T07:56:40.048Z" }, + { url = "https://files.pythonhosted.org/packages/17/e5/5e67ab85e6d22b04641acb5399c8684f4d37caf7558a53859f0283a650e9/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2001a39612b241dae17b4687898843f254f8748b796a2e16f1051a17078d991d", size = 158640, upload-time = "2025-08-09T07:56:41.311Z" }, + { url = "https://files.pythonhosted.org/packages/f1/e5/38421987f6c697ee3722981289d554957c4be652f963d71c5e46a262e135/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8dcfc373f888e4fb39a7bc57e93e3b845e7f462dacc008d9749568b1c4ece096", size = 156636, upload-time = "2025-08-09T07:56:43.195Z" }, + { url = "https://files.pythonhosted.org/packages/a0/e4/5a075de8daa3ec0745a9a3b54467e0c2967daaaf2cec04c845f73493e9a1/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:18b97b8404387b96cdbd30ad660f6407799126d26a39ca65729162fd810a99aa", size = 150939, upload-time = "2025-08-09T07:56:44.819Z" }, + { url = "https://files.pythonhosted.org/packages/02/f7/3611b32318b30974131db62b4043f335861d4d9b49adc6d57c1149cc49d4/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ccf600859c183d70eb47e05a44cd80a4ce77394d1ac0f79dbd2dd90a69a3a049", size = 148580, upload-time = "2025-08-09T07:56:46.684Z" }, + { url = "https://files.pythonhosted.org/packages/7e/61/19b36f4bd67f2793ab6a99b979b4e4f3d8fc754cbdffb805335df4337126/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:53cd68b185d98dde4ad8990e56a58dea83a4162161b1ea9272e5c9182ce415e0", size = 159870, upload-time = "2025-08-09T07:56:47.941Z" }, + { url = "https://files.pythonhosted.org/packages/06/57/84722eefdd338c04cf3030ada66889298eaedf3e7a30a624201e0cbe424a/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:30a96e1e1f865f78b030d65241c1ee850cdf422d869e9028e2fc1d5e4db73b92", size = 157797, upload-time = "2025-08-09T07:56:49.756Z" }, + { url = "https://files.pythonhosted.org/packages/72/2a/aff5dd112b2f14bcc3462c312dce5445806bfc8ab3a7328555da95330e4b/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d716a916938e03231e86e43782ca7878fb602a125a91e7acb8b5112e2e96ac16", size = 152224, upload-time = "2025-08-09T07:56:51.369Z" }, + { url = "https://files.pythonhosted.org/packages/b7/8c/9839225320046ed279c6e839d51f028342eb77c91c89b8ef2549f951f3ec/charset_normalizer-3.4.3-cp314-cp314-win32.whl", hash = "sha256:c6dbd0ccdda3a2ba7c2ecd9d77b37f3b5831687d8dc1b6ca5f56a4880cc7b7ce", size = 100086, upload-time = "2025-08-09T07:56:52.722Z" }, + { url = "https://files.pythonhosted.org/packages/ee/7a/36fbcf646e41f710ce0a563c1c9a343c6edf9be80786edeb15b6f62e17db/charset_normalizer-3.4.3-cp314-cp314-win_amd64.whl", hash = "sha256:73dc19b562516fc9bcf6e5d6e596df0b4eb98d87e4f79f3ae71840e6ed21361c", size = 107400, upload-time = "2025-08-09T07:56:55.172Z" }, + { url = "https://files.pythonhosted.org/packages/c2/ca/9a0983dd5c8e9733565cf3db4df2b0a2e9a82659fd8aa2a868ac6e4a991f/charset_normalizer-3.4.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:70bfc5f2c318afece2f5838ea5e4c3febada0be750fcf4775641052bbba14d05", size = 207520, upload-time = "2025-08-09T07:57:11.026Z" }, + { url = "https://files.pythonhosted.org/packages/39/c6/99271dc37243a4f925b09090493fb96c9333d7992c6187f5cfe5312008d2/charset_normalizer-3.4.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:23b6b24d74478dc833444cbd927c338349d6ae852ba53a0d02a2de1fce45b96e", size = 147307, upload-time = "2025-08-09T07:57:12.4Z" }, + { url = "https://files.pythonhosted.org/packages/e4/69/132eab043356bba06eb333cc2cc60c6340857d0a2e4ca6dc2b51312886b3/charset_normalizer-3.4.3-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:34a7f768e3f985abdb42841e20e17b330ad3aaf4bb7e7aeeb73db2e70f077b99", size = 160448, upload-time = "2025-08-09T07:57:13.712Z" }, + { url = "https://files.pythonhosted.org/packages/04/9a/914d294daa4809c57667b77470533e65def9c0be1ef8b4c1183a99170e9d/charset_normalizer-3.4.3-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:fb731e5deb0c7ef82d698b0f4c5bb724633ee2a489401594c5c88b02e6cb15f7", size = 157758, upload-time = "2025-08-09T07:57:14.979Z" }, + { url = "https://files.pythonhosted.org/packages/b0/a8/6f5bcf1bcf63cb45625f7c5cadca026121ff8a6c8a3256d8d8cd59302663/charset_normalizer-3.4.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:257f26fed7d7ff59921b78244f3cd93ed2af1800ff048c33f624c87475819dd7", size = 152487, upload-time = "2025-08-09T07:57:16.332Z" }, + { url = "https://files.pythonhosted.org/packages/c4/72/d3d0e9592f4e504f9dea08b8db270821c909558c353dc3b457ed2509f2fb/charset_normalizer-3.4.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1ef99f0456d3d46a50945c98de1774da86f8e992ab5c77865ea8b8195341fc19", size = 150054, upload-time = "2025-08-09T07:57:17.576Z" }, + { url = "https://files.pythonhosted.org/packages/20/30/5f64fe3981677fe63fa987b80e6c01042eb5ff653ff7cec1b7bd9268e54e/charset_normalizer-3.4.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:2c322db9c8c89009a990ef07c3bcc9f011a3269bc06782f916cd3d9eed7c9312", size = 161703, upload-time = "2025-08-09T07:57:20.012Z" }, + { url = "https://files.pythonhosted.org/packages/e1/ef/dd08b2cac9284fd59e70f7d97382c33a3d0a926e45b15fc21b3308324ffd/charset_normalizer-3.4.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:511729f456829ef86ac41ca78c63a5cb55240ed23b4b737faca0eb1abb1c41bc", size = 159096, upload-time = "2025-08-09T07:57:21.329Z" }, + { url = "https://files.pythonhosted.org/packages/45/8c/dcef87cfc2b3f002a6478f38906f9040302c68aebe21468090e39cde1445/charset_normalizer-3.4.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:88ab34806dea0671532d3f82d82b85e8fc23d7b2dd12fa837978dad9bb392a34", size = 153852, upload-time = "2025-08-09T07:57:22.608Z" }, + { url = "https://files.pythonhosted.org/packages/63/86/9cbd533bd37883d467fcd1bd491b3547a3532d0fbb46de2b99feeebf185e/charset_normalizer-3.4.3-cp39-cp39-win32.whl", hash = "sha256:16a8770207946ac75703458e2c743631c79c59c5890c80011d536248f8eaa432", size = 99840, upload-time = "2025-08-09T07:57:23.883Z" }, + { url = "https://files.pythonhosted.org/packages/ce/d6/7e805c8e5c46ff9729c49950acc4ee0aeb55efb8b3a56687658ad10c3216/charset_normalizer-3.4.3-cp39-cp39-win_amd64.whl", hash = "sha256:d22dbedd33326a4a5190dd4fe9e9e693ef12160c77382d9e87919bce54f3d4ca", size = 107438, upload-time = "2025-08-09T07:57:25.287Z" }, + { url = "https://files.pythonhosted.org/packages/8a/1f/f041989e93b001bc4e44bb1669ccdcf54d3f00e628229a85b08d330615c5/charset_normalizer-3.4.3-py3-none-any.whl", hash = "sha256:ce571ab16d890d23b5c278547ba694193a45011ff86a9162a71307ed9f86759a", size = 53175, upload-time = "2025-08-09T07:57:26.864Z" }, +] + +[[package]] +name = "ckzg" +version = "2.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/55/df/f6db8e83bd4594c1ea685cd37fb81d5399e55765aae16d1a8a9502598f4e/ckzg-2.1.1.tar.gz", hash = "sha256:d6b306b7ec93a24e4346aa53d07f7f75053bc0afc7398e35fa649e5f9d48fcc4", size = 1120500, upload-time = "2025-03-31T21:24:12.324Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/33/4b/cd25e857cdf46a752e97c530fe2582fae77c4d16c29fff5a15b7a998e2fd/ckzg-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4b9825a1458219e8b4b023012b8ef027ef1f47e903f9541cbca4615f80132730", size = 116377, upload-time = "2025-03-31T21:22:26.952Z" }, + { url = "https://files.pythonhosted.org/packages/7e/bc/5dfef36589545f797245ecacb54ed2acfa75507f63cfe12182d1277a88f1/ckzg-2.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e2a40a3ba65cca4b52825d26829e6f7eb464aa27a9e9efb6b8b2ce183442c741", size = 100208, upload-time = "2025-03-31T21:22:28.04Z" }, + { url = "https://files.pythonhosted.org/packages/b7/52/96f0e3affbed321dc52b9b4ca13e0fb594da572d1f8edc47378fe48d8e9a/ckzg-2.1.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a1d753fbe85be7c21602eddc2d40e0915e25fce10329f4f801a0002a4f886cc7", size = 174800, upload-time = "2025-03-31T21:22:29.719Z" }, + { url = "https://files.pythonhosted.org/packages/dc/21/b1bc07cc8e5ed32817e89b054e2399d38775d92ff2d55e24bf233f537c02/ckzg-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9d76b50527f1d12430bf118aff6fa4051e9860eada43f29177258b8d399448ea", size = 160847, upload-time = "2025-03-31T21:22:30.973Z" }, + { url = "https://files.pythonhosted.org/packages/c9/5a/97b173d4ff9bce798031beb12b340c4f1729eaaddd07f69f368f843db28e/ckzg-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44c8603e43c021d100f355f50189183135d1df3cbbddb8881552d57fbf421dde", size = 169712, upload-time = "2025-03-31T21:22:31.881Z" }, + { url = "https://files.pythonhosted.org/packages/7b/52/48be78c07f362438e189e2fbea7df8543290c3ee99845442549c8dc5405b/ckzg-2.1.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:38707a638c9d715b3c30b29352b969f78d8fc10faed7db5faf517f04359895c0", size = 172942, upload-time = "2025-03-31T21:22:32.8Z" }, + { url = "https://files.pythonhosted.org/packages/13/42/3cfcd6cbdfb9030b9071d5e413a458f93883e47ad4a7d8d4c1d57608e57d/ckzg-2.1.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:52c4d257bdcbe822d20c5cd24c8154ec5aac33c49a8f5a19e716d9107a1c8785", size = 187707, upload-time = "2025-03-31T21:22:33.673Z" }, + { url = "https://files.pythonhosted.org/packages/eb/54/d43bc3a2de486fb8be29ffedc3ec80f5726765ee4fa78beabe2ab2440f93/ckzg-2.1.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1507f7bfb9bcf51d816db5d8d0f0ed53c8289605137820d437b69daea8333e16", size = 182505, upload-time = "2025-03-31T21:22:34.563Z" }, + { url = "https://files.pythonhosted.org/packages/21/43/5bcd2b7630732b532006572fbb8d64a29f69530c630ae4811167a2a0dc3b/ckzg-2.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:d02eaaf4f841910133552b3a051dea53bcfe60cd98199fc4cf80b27609d8baa2", size = 98822, upload-time = "2025-03-31T21:22:35.786Z" }, + { url = "https://files.pythonhosted.org/packages/95/2c/44120b2d9dcb0246d67a1f28b9eaa625c499014d4d42561467e28eedd285/ckzg-2.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:465e2b71cf9dc383f66f1979269420a0da9274a3a9e98b1a4455e84927dfe491", size = 116378, upload-time = "2025-03-31T21:22:36.96Z" }, + { url = "https://files.pythonhosted.org/packages/23/88/c5b89ba9a730fee5e089be9e0c7048fb6707c1a0e4b6c30fcf725c3eef44/ckzg-2.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ee2f26f17a64ad0aab833d637b276f28486b82a29e34f32cf54b237b8f8ab72d", size = 100202, upload-time = "2025-03-31T21:22:37.799Z" }, + { url = "https://files.pythonhosted.org/packages/ee/11/b0a473e80346db52ad9a629bc9fd8f773c718ed78932ea3a70392306ffc3/ckzg-2.1.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99cc2c4e9fb8c62e3e0862c7f4df9142f07ba640da17fded5f6e0fd09f75909f", size = 175595, upload-time = "2025-03-31T21:22:39.013Z" }, + { url = "https://files.pythonhosted.org/packages/52/fa/17a7e125d07a96dd6dce4db7262231f7583856b2be5d5b7df59e04bfa188/ckzg-2.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:773dd016693d74aca1f5d7982db2bad7dde2e147563aeb16a783f7e5f69c01fe", size = 161681, upload-time = "2025-03-31T21:22:40.257Z" }, + { url = "https://files.pythonhosted.org/packages/57/bd/46d6b90bf53da732f9adab7593d132a0834ed4f2f7659b4c7414d8f78d39/ckzg-2.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af2b2144f87ba218d8db01382a961b3ecbdde5ede4fa0d9428d35f8c8a595ba", size = 170471, upload-time = "2025-03-31T21:22:41.513Z" }, + { url = "https://files.pythonhosted.org/packages/9d/98/113c7704749d037d75f23240ffc5c46dfe8416de574b946438587835715f/ckzg-2.1.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8f55e63d3f7c934a2cb53728ed1d815479e177aca8c84efe991c2920977cff6", size = 173595, upload-time = "2025-03-31T21:22:42.534Z" }, + { url = "https://files.pythonhosted.org/packages/2f/d5/05fca6dcb5a19327be491157794eafc3d7498daf615c2ff5a5b745852945/ckzg-2.1.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ecb42aaa0ffa427ff14a9dde9356ba69e5ae6014650b397af55b31bdae7a9b6e", size = 188417, upload-time = "2025-03-31T21:22:43.466Z" }, + { url = "https://files.pythonhosted.org/packages/72/36/131ae2dfc82d0fdc98fae8e3bbfe71ff14265bb434b23bd07b585afc6d61/ckzg-2.1.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:5a01514239f12fb1a7ad9009c20062a4496e13b09541c1a65f97e295da648c70", size = 183286, upload-time = "2025-03-31T21:22:44.732Z" }, + { url = "https://files.pythonhosted.org/packages/c5/6a/d371b27024422b25228fc11fa57b1ba7756a94cc9fb0c75da292c235fdaa/ckzg-2.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:6516b9684aae262c85cf7fddd8b585b8139ad20e08ec03994e219663abbb0916", size = 98819, upload-time = "2025-03-31T21:22:45.57Z" }, + { url = "https://files.pythonhosted.org/packages/93/a1/9c07513dd0ea01e5db727e67bd2660f3b300a4511281cdb8d5e04afa1cfd/ckzg-2.1.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c60e8903344ce98ce036f0fabacce952abb714cad4607198b2f0961c28b8aa72", size = 116421, upload-time = "2025-03-31T21:22:46.434Z" }, + { url = "https://files.pythonhosted.org/packages/27/04/b69a0dfbb2722a14c98a52973f276679151ec56a14178cb48e6f2e1697bc/ckzg-2.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a4299149dd72448e5a8d2d1cc6cc7472c92fc9d9f00b1377f5b017c089d9cd92", size = 100216, upload-time = "2025-03-31T21:22:47.633Z" }, + { url = "https://files.pythonhosted.org/packages/2e/24/9cc850d0b8ead395ad5064de67c7c91adacaf31b6b35292ab53fbd93270b/ckzg-2.1.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:025dd31ffdcc799f3ff842570a2a6683b6c5b01567da0109c0c05d11768729c4", size = 175764, upload-time = "2025-03-31T21:22:48.768Z" }, + { url = "https://files.pythonhosted.org/packages/c0/c1/eb13ba399082a98b932f10b230ec08e6456051c0ce3886b3f6d8548d11ab/ckzg-2.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b42ab8385c273f40a693657c09d2bba40cb4f4666141e263906ba2e519e80bd", size = 161885, upload-time = "2025-03-31T21:22:50.05Z" }, + { url = "https://files.pythonhosted.org/packages/57/c7/58baa64199781950c5a8c6139a46e1acff0f057a36e56769817400eb87fb/ckzg-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1be3890fc1543f4fcfc0063e4baf5c036eb14bcf736dabdc6171ab017e0f1671", size = 170757, upload-time = "2025-03-31T21:22:51.282Z" }, + { url = "https://files.pythonhosted.org/packages/65/bd/4b8e1c70972c98829371b7004dc750a45268c5d3442d602e1b62f13ca867/ckzg-2.1.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b754210ded172968b201e2d7252573af6bf52d6ad127ddd13d0b9a45a51dae7b", size = 173761, upload-time = "2025-03-31T21:22:52.6Z" }, + { url = "https://files.pythonhosted.org/packages/1f/32/c3fd1002f97ba3e0c5b1d9ab2c8fb7a6f475fa9b80ed9c4fa55975501a54/ckzg-2.1.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b2f8fda87865897a269c4e951e3826c2e814427a6cdfed6731cccfe548f12b36", size = 188666, upload-time = "2025-03-31T21:22:53.47Z" }, + { url = "https://files.pythonhosted.org/packages/e2/d9/91cf5a8169ee60c9397c975163cbca34432571f94facec5f8c0086bb47d8/ckzg-2.1.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:98e70b5923d77c7359432490145e9d1ab0bf873eb5de56ec53f4a551d7eaec79", size = 183652, upload-time = "2025-03-31T21:22:54.351Z" }, + { url = "https://files.pythonhosted.org/packages/25/d4/8c9f6b852f99926862344b29f0c59681916ccfec2ac60a85952a369e0bca/ckzg-2.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:42af7bde4ca45469cd93a96c3d15d69d51d40e7f0d30e3a20711ebd639465fcb", size = 98816, upload-time = "2025-03-31T21:22:55.23Z" }, + { url = "https://files.pythonhosted.org/packages/b7/9a/fa698b12e97452d11dd314e0335aae759725284ef6e1c1665aed56b1cd3e/ckzg-2.1.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7e4edfdaf87825ff43b9885fabfdea408737a714f4ce5467100d9d1d0a03b673", size = 116426, upload-time = "2025-03-31T21:22:56.108Z" }, + { url = "https://files.pythonhosted.org/packages/a1/a6/8cccd308bd11b49b40eecad6900b5769da117951cac33e880dd25e851ef7/ckzg-2.1.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:815fd2a87d6d6c57d669fda30c150bc9bf387d47e67d84535aa42b909fdc28ea", size = 100219, upload-time = "2025-03-31T21:22:56.982Z" }, + { url = "https://files.pythonhosted.org/packages/30/0e/63573d816c1292b9a4d70eb6a7366b3593d29a977794039e926805a76ca0/ckzg-2.1.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c32466e809b1ab3ff01d3b0bb0b9912f61dcf72957885615595f75e3f7cc10e5", size = 175725, upload-time = "2025-03-31T21:22:58.213Z" }, + { url = "https://files.pythonhosted.org/packages/86/f6/a279609516695ad3fb8b201098c669ba3b2844cbf4fa0d83a0f02b9bb29b/ckzg-2.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f11b73ccf37b12993f39a7dbace159c6d580aacacde6ee17282848476550ddbc", size = 161835, upload-time = "2025-03-31T21:22:59.448Z" }, + { url = "https://files.pythonhosted.org/packages/39/e4/8cf7aef7dc05a777cb221e94046f947c6fe5317159a8dae2cd7090d52ef2/ckzg-2.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de3b9433a1f2604bd9ac1646d3c83ad84a850d454d3ac589fe8e70c94b38a6b0", size = 170759, upload-time = "2025-03-31T21:23:01.022Z" }, + { url = "https://files.pythonhosted.org/packages/0b/17/b34e3c08eb36bc67e338b114f289b2595e581b8bdc09a8f12299a1db5d2f/ckzg-2.1.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b7d7e1b5ea06234558cd95c483666fd785a629b720a7f1622b3cbffebdc62033", size = 173787, upload-time = "2025-03-31T21:23:01.974Z" }, + { url = "https://files.pythonhosted.org/packages/2e/f0/aff87c3ed80713453cb6c84fe6fbb7582d86a7a5e4460fda2a497d47f489/ckzg-2.1.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:9f5556e6675866040cc4335907be6c537051e7f668da289fa660fdd8a30c9ddb", size = 188722, upload-time = "2025-03-31T21:23:02.966Z" }, + { url = "https://files.pythonhosted.org/packages/44/d9/1f08bfb8fd1cbb8c7513e7ad3fb76bbb5c3fb446238c1eba582276e4d905/ckzg-2.1.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:55b2ba30c5c9daac0c55f1aac851f1b7bf1f7aa0028c2db4440e963dd5b866d6", size = 183686, upload-time = "2025-03-31T21:23:03.905Z" }, + { url = "https://files.pythonhosted.org/packages/a3/ff/434f6d2893cbdfad00c20d17e9a52d426ca042f5e980d5c3db96bc6b6e15/ckzg-2.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:10d201601fc8f28c0e8cec3406676797024dd374c367bbeec5a7a9eac9147237", size = 98817, upload-time = "2025-03-31T21:23:05.2Z" }, + { url = "https://files.pythonhosted.org/packages/1b/5c/348df69b5ad6e80818333d485db1bc64338d36c3f8e07be23df2e6108da5/ckzg-2.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a6239d3d2e30cb894ca4e7765b1097eb6a70c0ecbe5f8e0b023fbf059472d4ac", size = 116376, upload-time = "2025-03-31T21:23:31.67Z" }, + { url = "https://files.pythonhosted.org/packages/20/db/940ad5d88ea647ba18c83dc3bb403e4df0f20699efcb833d3d899e9c8ad5/ckzg-2.1.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:909ebabc253a98d9dc1d51f93dc75990134bfe296c947e1ecf3b7142aba5108e", size = 100206, upload-time = "2025-03-31T21:23:32.674Z" }, + { url = "https://files.pythonhosted.org/packages/14/99/db2b546a7392e4007c6395aa0bfaf4a8eed88797ce6706ad9f05391af734/ckzg-2.1.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0700dace6559b288b42ca8622be89c2a43509881ed6f4f0bfb6312bcceed0cb9", size = 174513, upload-time = "2025-03-31T21:23:33.642Z" }, + { url = "https://files.pythonhosted.org/packages/37/58/b5cc822b8fb52819498211a6e0e03a294ad73d589f620f10e998e998c1f8/ckzg-2.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a36aeabd243e906314694b4a107de99b0c4473ff1825fcb06acd147ffb1951a", size = 160543, upload-time = "2025-03-31T21:23:34.603Z" }, + { url = "https://files.pythonhosted.org/packages/41/ac/fd07ed3ed65f640f1f43203fe3798d8d6e5099535bcd60d14d8c52569253/ckzg-2.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d884e8f9c7d7839f1a95561f4479096dce21d45b0c5dd013dc0842550cea1cad", size = 169482, upload-time = "2025-03-31T21:23:35.649Z" }, + { url = "https://files.pythonhosted.org/packages/e3/18/c1afdf65ce6ef1de2556dacad9286ec9af4c2bbf3037aaac3f4428d65486/ckzg-2.1.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:338fdf4a0b463973fc7b7e4dc289739db929e61d7cb9ba984ebbe9c49d3aa6f9", size = 172712, upload-time = "2025-03-31T21:23:36.75Z" }, + { url = "https://files.pythonhosted.org/packages/ac/a4/d24f1bf48889dbfd3c5a8aad54956971592cebb5d782fb0597cd4226de7c/ckzg-2.1.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:c594036d3408eebdcd8ab2c7aab7308239ed4df3d94f3211b7cf253f228fb0b7", size = 187476, upload-time = "2025-03-31T21:23:37.71Z" }, + { url = "https://files.pythonhosted.org/packages/33/cb/46770cf49665154a88dfc17e9e904270279153d1e28addf04a1d9e73047a/ckzg-2.1.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b0912ebb328ced510250a2325b095917db19c1a014792a0bf4c389f0493e39de", size = 182266, upload-time = "2025-03-31T21:23:38.694Z" }, + { url = "https://files.pythonhosted.org/packages/29/36/13d59af38f4f316b1824131d3b88c85deacbb89304a247b4a7da39d1b592/ckzg-2.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:5046aceb03482ddf7200f2f5c643787b100e6fb96919852faf1c79f8870c80a1", size = 98812, upload-time = "2025-03-31T21:23:39.714Z" }, + { url = "https://files.pythonhosted.org/packages/30/b3/a0c7d7ba6e669cf04605dc0329173db62fc1fe3c488761755cc01e5e1b4d/ckzg-2.1.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:375918e25eafb9bafe5215ab91698504cba3fe51b4fe92f5896af6c5663f50c6", size = 113191, upload-time = "2025-03-31T21:23:40.646Z" }, + { url = "https://files.pythonhosted.org/packages/f2/b9/a6cf403b8528d18d7d9154e28381a397bf466c86aa8e0b3327cffdde5749/ckzg-2.1.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:38b3b7802c76d4ad015db2b7a79a49c193babae50ee5f77e9ac2865c9e9ddb09", size = 96207, upload-time = "2025-03-31T21:23:41.596Z" }, + { url = "https://files.pythonhosted.org/packages/63/6b/5ddd713d97886becb8450e3e13db891199125f722366d30d087ad5438390/ckzg-2.1.1-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:438a5009fd254ace0bc1ad974d524547f1a41e6aa5e778c5cd41f4ee3106bcd6", size = 126160, upload-time = "2025-03-31T21:23:42.553Z" }, + { url = "https://files.pythonhosted.org/packages/c7/dd/e05aecc01e62108a7579f8df5e5d38536841f50e12172f8a84677edac0fa/ckzg-2.1.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ce11cc163a2e0dab3af7455aca7053f9d5bb8d157f231acc7665fd230565d48", size = 102811, upload-time = "2025-03-31T21:23:43.494Z" }, + { url = "https://files.pythonhosted.org/packages/c6/81/6cdadd8626ac11290af3f58ae5dcffe38bd2c8f8c798dacee7475e244aac/ckzg-2.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b53964c07f6a076e97eaa1ef35045e935d7040aff14f80bae7e9105717702d05", size = 111328, upload-time = "2025-03-31T21:23:44.449Z" }, + { url = "https://files.pythonhosted.org/packages/36/b7/b129ff6955cd264c6ab3dbd52dd1b2759d1b121c09c03f9991e4c722c72f/ckzg-2.1.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:cf085f15ae52ab2599c9b5a3d5842794bcf5613b7f58661fbfb0c5d9eac988b9", size = 98846, upload-time = "2025-03-31T21:23:45.407Z" }, + { url = "https://files.pythonhosted.org/packages/7f/ba/7d9c1f9cec7e0e382653c72165896194a05743e589b1dae2aa80236aa87f/ckzg-2.1.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:4b0c850bd6cad22ac79b2a2ab884e0e7cd2b54a67d643cd616c145ebdb535a11", size = 113188, upload-time = "2025-03-31T21:23:46.337Z" }, + { url = "https://files.pythonhosted.org/packages/2f/92/9728f5ccc1c5e87c6c5ae7941250a447b61fd5a63aadbc15249e29c21bcf/ckzg-2.1.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:26951f36bb60c9150bbd38110f5e1625596f9779dad54d1d492d8ec38bc84e3a", size = 96208, upload-time = "2025-03-31T21:23:47.255Z" }, + { url = "https://files.pythonhosted.org/packages/39/63/5e27d587bd224fee70cb66b022e7c4ef95d0e091e08ee76c25ec12094b0d/ckzg-2.1.1-pp311-pypy311_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bbe12445e49c4bee67746b7b958e90a973b0de116d0390749b0df351d94e9a8c", size = 126158, upload-time = "2025-03-31T21:23:48.195Z" }, + { url = "https://files.pythonhosted.org/packages/43/98/e0a45946575a7b823d8ee0b47afb104b6017e54e1208f07da2529bc01900/ckzg-2.1.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71c5d4f66f09de4a99271acac74d2acb3559a77de77a366b34a91e99e8822667", size = 102812, upload-time = "2025-03-31T21:23:49.16Z" }, + { url = "https://files.pythonhosted.org/packages/cb/50/718ca7b03e4b89b18cdf99cc3038050105b0acbf9b612c23cd513093c6de/ckzg-2.1.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42673c1d007372a4e8b48f6ef8f0ce31a9688a463317a98539757d1e2fb1ecc7", size = 111327, upload-time = "2025-03-31T21:23:50.126Z" }, + { url = "https://files.pythonhosted.org/packages/29/c5/80e5a0c6967d02d801150104320484a258e5a49bd191e198643e74039320/ckzg-2.1.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:57a7dc41ec6b69c1d9117eb61cf001295e6b4f67a736020442e71fb4367fb1a5", size = 98847, upload-time = "2025-03-31T21:23:51.084Z" }, + { url = "https://files.pythonhosted.org/packages/b9/2d/7dc4c2b8e18d3bb103d7d4c1b2ff00ec29136f54a08e18bf50378c4b44a3/ckzg-2.1.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fa419b92a0e8766deb7157fb28b6542c1c3f8dde35d2a69d1f91ec8e41047d35", size = 113189, upload-time = "2025-03-31T21:24:03.881Z" }, + { url = "https://files.pythonhosted.org/packages/50/86/e335697434ac138286dedf88f3b3fe7aee81bcb849b7498377913e24cfe0/ckzg-2.1.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:95cd6c8eb3ab5148cd97ab5bf44b84fd7f01adf4b36ffd070340ad2d9309b3f9", size = 96204, upload-time = "2025-03-31T21:24:05.247Z" }, + { url = "https://files.pythonhosted.org/packages/0b/87/3794355e4ccb617896b10ac81349913bc086b9c18c9cc94f1f6493f5c98f/ckzg-2.1.1-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:848191201052b48bdde18680ebb77bf8da99989270e5aea8b0290051f5ac9468", size = 126154, upload-time = "2025-03-31T21:24:06.585Z" }, + { url = "https://files.pythonhosted.org/packages/aa/d6/46f3d1c423b5a0ca6e31a2ca4a052407254bd7173ab32c7c4485d3febb61/ckzg-2.1.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4716c0564131b0d609fb8856966e83892b9809cf6719c7edd6495b960451f8b", size = 102810, upload-time = "2025-03-31T21:24:07.796Z" }, + { url = "https://files.pythonhosted.org/packages/84/22/6ab6886275615340b2e0c7bbce6b81fc127995e373d86956b73775c9209e/ckzg-2.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c399168ba199827dee3104b00cdc7418d4dbdf47a5fcbe7cf938fc928037534", size = 111322, upload-time = "2025-03-31T21:24:09.439Z" }, + { url = "https://files.pythonhosted.org/packages/c2/0d/24a434f52c38b2050b693f247657424325de7cc686d152a2208ba3949721/ckzg-2.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:724f29f9f110d9ef42a6a1a1a7439548c61070604055ef96b2ab7a884cad4192", size = 98844, upload-time = "2025-03-31T21:24:10.846Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "coverage" +version = "7.10.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/14/70/025b179c993f019105b79575ac6edb5e084fb0f0e63f15cdebef4e454fb5/coverage-7.10.6.tar.gz", hash = "sha256:f644a3ae5933a552a29dbb9aa2f90c677a875f80ebea028e5a52a4f429044b90", size = 823736, upload-time = "2025-08-29T15:35:16.668Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a8/1d/2e64b43d978b5bd184e0756a41415597dfef30fcbd90b747474bd749d45f/coverage-7.10.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:70e7bfbd57126b5554aa482691145f798d7df77489a177a6bef80de78860a356", size = 217025, upload-time = "2025-08-29T15:32:57.169Z" }, + { url = "https://files.pythonhosted.org/packages/23/62/b1e0f513417c02cc10ef735c3ee5186df55f190f70498b3702d516aad06f/coverage-7.10.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e41be6f0f19da64af13403e52f2dec38bbc2937af54df8ecef10850ff8d35301", size = 217419, upload-time = "2025-08-29T15:32:59.908Z" }, + { url = "https://files.pythonhosted.org/packages/e7/16/b800640b7a43e7c538429e4d7223e0a94fd72453a1a048f70bf766f12e96/coverage-7.10.6-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:c61fc91ab80b23f5fddbee342d19662f3d3328173229caded831aa0bd7595460", size = 244180, upload-time = "2025-08-29T15:33:01.608Z" }, + { url = "https://files.pythonhosted.org/packages/fb/6f/5e03631c3305cad187eaf76af0b559fff88af9a0b0c180d006fb02413d7a/coverage-7.10.6-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:10356fdd33a7cc06e8051413140bbdc6f972137508a3572e3f59f805cd2832fd", size = 245992, upload-time = "2025-08-29T15:33:03.239Z" }, + { url = "https://files.pythonhosted.org/packages/eb/a1/f30ea0fb400b080730125b490771ec62b3375789f90af0bb68bfb8a921d7/coverage-7.10.6-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:80b1695cf7c5ebe7b44bf2521221b9bb8cdf69b1f24231149a7e3eb1ae5fa2fb", size = 247851, upload-time = "2025-08-29T15:33:04.603Z" }, + { url = "https://files.pythonhosted.org/packages/02/8e/cfa8fee8e8ef9a6bb76c7bef039f3302f44e615d2194161a21d3d83ac2e9/coverage-7.10.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:2e4c33e6378b9d52d3454bd08847a8651f4ed23ddbb4a0520227bd346382bbc6", size = 245891, upload-time = "2025-08-29T15:33:06.176Z" }, + { url = "https://files.pythonhosted.org/packages/93/a9/51be09b75c55c4f6c16d8d73a6a1d46ad764acca0eab48fa2ffaef5958fe/coverage-7.10.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:c8a3ec16e34ef980a46f60dc6ad86ec60f763c3f2fa0db6d261e6e754f72e945", size = 243909, upload-time = "2025-08-29T15:33:07.74Z" }, + { url = "https://files.pythonhosted.org/packages/e9/a6/ba188b376529ce36483b2d585ca7bdac64aacbe5aa10da5978029a9c94db/coverage-7.10.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7d79dabc0a56f5af990cc6da9ad1e40766e82773c075f09cc571e2076fef882e", size = 244786, upload-time = "2025-08-29T15:33:08.965Z" }, + { url = "https://files.pythonhosted.org/packages/d0/4c/37ed872374a21813e0d3215256180c9a382c3f5ced6f2e5da0102fc2fd3e/coverage-7.10.6-cp310-cp310-win32.whl", hash = "sha256:86b9b59f2b16e981906e9d6383eb6446d5b46c278460ae2c36487667717eccf1", size = 219521, upload-time = "2025-08-29T15:33:10.599Z" }, + { url = "https://files.pythonhosted.org/packages/8e/36/9311352fdc551dec5b973b61f4e453227ce482985a9368305880af4f85dd/coverage-7.10.6-cp310-cp310-win_amd64.whl", hash = "sha256:e132b9152749bd33534e5bd8565c7576f135f157b4029b975e15ee184325f528", size = 220417, upload-time = "2025-08-29T15:33:11.907Z" }, + { url = "https://files.pythonhosted.org/packages/d4/16/2bea27e212c4980753d6d563a0803c150edeaaddb0771a50d2afc410a261/coverage-7.10.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c706db3cabb7ceef779de68270150665e710b46d56372455cd741184f3868d8f", size = 217129, upload-time = "2025-08-29T15:33:13.575Z" }, + { url = "https://files.pythonhosted.org/packages/2a/51/e7159e068831ab37e31aac0969d47b8c5ee25b7d307b51e310ec34869315/coverage-7.10.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8e0c38dc289e0508ef68ec95834cb5d2e96fdbe792eaccaa1bccac3966bbadcc", size = 217532, upload-time = "2025-08-29T15:33:14.872Z" }, + { url = "https://files.pythonhosted.org/packages/e7/c0/246ccbea53d6099325d25cd208df94ea435cd55f0db38099dd721efc7a1f/coverage-7.10.6-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:752a3005a1ded28f2f3a6e8787e24f28d6abe176ca64677bcd8d53d6fe2ec08a", size = 247931, upload-time = "2025-08-29T15:33:16.142Z" }, + { url = "https://files.pythonhosted.org/packages/7d/fb/7435ef8ab9b2594a6e3f58505cc30e98ae8b33265d844007737946c59389/coverage-7.10.6-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:689920ecfd60f992cafca4f5477d55720466ad2c7fa29bb56ac8d44a1ac2b47a", size = 249864, upload-time = "2025-08-29T15:33:17.434Z" }, + { url = "https://files.pythonhosted.org/packages/51/f8/d9d64e8da7bcddb094d511154824038833c81e3a039020a9d6539bf303e9/coverage-7.10.6-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ec98435796d2624d6905820a42f82149ee9fc4f2d45c2c5bc5a44481cc50db62", size = 251969, upload-time = "2025-08-29T15:33:18.822Z" }, + { url = "https://files.pythonhosted.org/packages/43/28/c43ba0ef19f446d6463c751315140d8f2a521e04c3e79e5c5fe211bfa430/coverage-7.10.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b37201ce4a458c7a758ecc4efa92fa8ed783c66e0fa3c42ae19fc454a0792153", size = 249659, upload-time = "2025-08-29T15:33:20.407Z" }, + { url = "https://files.pythonhosted.org/packages/79/3e/53635bd0b72beaacf265784508a0b386defc9ab7fad99ff95f79ce9db555/coverage-7.10.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:2904271c80898663c810a6b067920a61dd8d38341244a3605bd31ab55250dad5", size = 247714, upload-time = "2025-08-29T15:33:21.751Z" }, + { url = "https://files.pythonhosted.org/packages/4c/55/0964aa87126624e8c159e32b0bc4e84edef78c89a1a4b924d28dd8265625/coverage-7.10.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:5aea98383463d6e1fa4e95416d8de66f2d0cb588774ee20ae1b28df826bcb619", size = 248351, upload-time = "2025-08-29T15:33:23.105Z" }, + { url = "https://files.pythonhosted.org/packages/eb/ab/6cfa9dc518c6c8e14a691c54e53a9433ba67336c760607e299bfcf520cb1/coverage-7.10.6-cp311-cp311-win32.whl", hash = "sha256:e3fb1fa01d3598002777dd259c0c2e6d9d5e10e7222976fc8e03992f972a2cba", size = 219562, upload-time = "2025-08-29T15:33:24.717Z" }, + { url = "https://files.pythonhosted.org/packages/5b/18/99b25346690cbc55922e7cfef06d755d4abee803ef335baff0014268eff4/coverage-7.10.6-cp311-cp311-win_amd64.whl", hash = "sha256:f35ed9d945bece26553d5b4c8630453169672bea0050a564456eb88bdffd927e", size = 220453, upload-time = "2025-08-29T15:33:26.482Z" }, + { url = "https://files.pythonhosted.org/packages/d8/ed/81d86648a07ccb124a5cf1f1a7788712b8d7216b593562683cd5c9b0d2c1/coverage-7.10.6-cp311-cp311-win_arm64.whl", hash = "sha256:99e1a305c7765631d74b98bf7dbf54eeea931f975e80f115437d23848ee8c27c", size = 219127, upload-time = "2025-08-29T15:33:27.777Z" }, + { url = "https://files.pythonhosted.org/packages/26/06/263f3305c97ad78aab066d116b52250dd316e74fcc20c197b61e07eb391a/coverage-7.10.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:5b2dd6059938063a2c9fee1af729d4f2af28fd1a545e9b7652861f0d752ebcea", size = 217324, upload-time = "2025-08-29T15:33:29.06Z" }, + { url = "https://files.pythonhosted.org/packages/e9/60/1e1ded9a4fe80d843d7d53b3e395c1db3ff32d6c301e501f393b2e6c1c1f/coverage-7.10.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:388d80e56191bf846c485c14ae2bc8898aa3124d9d35903fef7d907780477634", size = 217560, upload-time = "2025-08-29T15:33:30.748Z" }, + { url = "https://files.pythonhosted.org/packages/b8/25/52136173c14e26dfed8b106ed725811bb53c30b896d04d28d74cb64318b3/coverage-7.10.6-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:90cb5b1a4670662719591aa92d0095bb41714970c0b065b02a2610172dbf0af6", size = 249053, upload-time = "2025-08-29T15:33:32.041Z" }, + { url = "https://files.pythonhosted.org/packages/cb/1d/ae25a7dc58fcce8b172d42ffe5313fc267afe61c97fa872b80ee72d9515a/coverage-7.10.6-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:961834e2f2b863a0e14260a9a273aff07ff7818ab6e66d2addf5628590c628f9", size = 251802, upload-time = "2025-08-29T15:33:33.625Z" }, + { url = "https://files.pythonhosted.org/packages/f5/7a/1f561d47743710fe996957ed7c124b421320f150f1d38523d8d9102d3e2a/coverage-7.10.6-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bf9a19f5012dab774628491659646335b1928cfc931bf8d97b0d5918dd58033c", size = 252935, upload-time = "2025-08-29T15:33:34.909Z" }, + { url = "https://files.pythonhosted.org/packages/6c/ad/8b97cd5d28aecdfde792dcbf646bac141167a5cacae2cd775998b45fabb5/coverage-7.10.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:99c4283e2a0e147b9c9cc6bc9c96124de9419d6044837e9799763a0e29a7321a", size = 250855, upload-time = "2025-08-29T15:33:36.922Z" }, + { url = "https://files.pythonhosted.org/packages/33/6a/95c32b558d9a61858ff9d79580d3877df3eb5bc9eed0941b1f187c89e143/coverage-7.10.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:282b1b20f45df57cc508c1e033403f02283adfb67d4c9c35a90281d81e5c52c5", size = 248974, upload-time = "2025-08-29T15:33:38.175Z" }, + { url = "https://files.pythonhosted.org/packages/0d/9c/8ce95dee640a38e760d5b747c10913e7a06554704d60b41e73fdea6a1ffd/coverage-7.10.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8cdbe264f11afd69841bd8c0d83ca10b5b32853263ee62e6ac6a0ab63895f972", size = 250409, upload-time = "2025-08-29T15:33:39.447Z" }, + { url = "https://files.pythonhosted.org/packages/04/12/7a55b0bdde78a98e2eb2356771fd2dcddb96579e8342bb52aa5bc52e96f0/coverage-7.10.6-cp312-cp312-win32.whl", hash = "sha256:a517feaf3a0a3eca1ee985d8373135cfdedfbba3882a5eab4362bda7c7cf518d", size = 219724, upload-time = "2025-08-29T15:33:41.172Z" }, + { url = "https://files.pythonhosted.org/packages/36/4a/32b185b8b8e327802c9efce3d3108d2fe2d9d31f153a0f7ecfd59c773705/coverage-7.10.6-cp312-cp312-win_amd64.whl", hash = "sha256:856986eadf41f52b214176d894a7de05331117f6035a28ac0016c0f63d887629", size = 220536, upload-time = "2025-08-29T15:33:42.524Z" }, + { url = "https://files.pythonhosted.org/packages/08/3a/d5d8dc703e4998038c3099eaf77adddb00536a3cec08c8dcd556a36a3eb4/coverage-7.10.6-cp312-cp312-win_arm64.whl", hash = "sha256:acf36b8268785aad739443fa2780c16260ee3fa09d12b3a70f772ef100939d80", size = 219171, upload-time = "2025-08-29T15:33:43.974Z" }, + { url = "https://files.pythonhosted.org/packages/bd/e7/917e5953ea29a28c1057729c1d5af9084ab6d9c66217523fd0e10f14d8f6/coverage-7.10.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ffea0575345e9ee0144dfe5701aa17f3ba546f8c3bb48db62ae101afb740e7d6", size = 217351, upload-time = "2025-08-29T15:33:45.438Z" }, + { url = "https://files.pythonhosted.org/packages/eb/86/2e161b93a4f11d0ea93f9bebb6a53f113d5d6e416d7561ca41bb0a29996b/coverage-7.10.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:95d91d7317cde40a1c249d6b7382750b7e6d86fad9d8eaf4fa3f8f44cf171e80", size = 217600, upload-time = "2025-08-29T15:33:47.269Z" }, + { url = "https://files.pythonhosted.org/packages/0e/66/d03348fdd8df262b3a7fb4ee5727e6e4936e39e2f3a842e803196946f200/coverage-7.10.6-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3e23dd5408fe71a356b41baa82892772a4cefcf758f2ca3383d2aa39e1b7a003", size = 248600, upload-time = "2025-08-29T15:33:48.953Z" }, + { url = "https://files.pythonhosted.org/packages/73/dd/508420fb47d09d904d962f123221bc249f64b5e56aa93d5f5f7603be475f/coverage-7.10.6-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:0f3f56e4cb573755e96a16501a98bf211f100463d70275759e73f3cbc00d4f27", size = 251206, upload-time = "2025-08-29T15:33:50.697Z" }, + { url = "https://files.pythonhosted.org/packages/e9/1f/9020135734184f439da85c70ea78194c2730e56c2d18aee6e8ff1719d50d/coverage-7.10.6-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:db4a1d897bbbe7339946ffa2fe60c10cc81c43fab8b062d3fcb84188688174a4", size = 252478, upload-time = "2025-08-29T15:33:52.303Z" }, + { url = "https://files.pythonhosted.org/packages/a4/a4/3d228f3942bb5a2051fde28c136eea23a761177dc4ff4ef54533164ce255/coverage-7.10.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d8fd7879082953c156d5b13c74aa6cca37f6a6f4747b39538504c3f9c63d043d", size = 250637, upload-time = "2025-08-29T15:33:53.67Z" }, + { url = "https://files.pythonhosted.org/packages/36/e3/293dce8cdb9a83de971637afc59b7190faad60603b40e32635cbd15fbf61/coverage-7.10.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:28395ca3f71cd103b8c116333fa9db867f3a3e1ad6a084aa3725ae002b6583bc", size = 248529, upload-time = "2025-08-29T15:33:55.022Z" }, + { url = "https://files.pythonhosted.org/packages/90/26/64eecfa214e80dd1d101e420cab2901827de0e49631d666543d0e53cf597/coverage-7.10.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:61c950fc33d29c91b9e18540e1aed7d9f6787cc870a3e4032493bbbe641d12fc", size = 250143, upload-time = "2025-08-29T15:33:56.386Z" }, + { url = "https://files.pythonhosted.org/packages/3e/70/bd80588338f65ea5b0d97e424b820fb4068b9cfb9597fbd91963086e004b/coverage-7.10.6-cp313-cp313-win32.whl", hash = "sha256:160c00a5e6b6bdf4e5984b0ef21fc860bc94416c41b7df4d63f536d17c38902e", size = 219770, upload-time = "2025-08-29T15:33:58.063Z" }, + { url = "https://files.pythonhosted.org/packages/a7/14/0b831122305abcc1060c008f6c97bbdc0a913ab47d65070a01dc50293c2b/coverage-7.10.6-cp313-cp313-win_amd64.whl", hash = "sha256:628055297f3e2aa181464c3808402887643405573eb3d9de060d81531fa79d32", size = 220566, upload-time = "2025-08-29T15:33:59.766Z" }, + { url = "https://files.pythonhosted.org/packages/83/c6/81a83778c1f83f1a4a168ed6673eeedc205afb562d8500175292ca64b94e/coverage-7.10.6-cp313-cp313-win_arm64.whl", hash = "sha256:df4ec1f8540b0bcbe26ca7dd0f541847cc8a108b35596f9f91f59f0c060bfdd2", size = 219195, upload-time = "2025-08-29T15:34:01.191Z" }, + { url = "https://files.pythonhosted.org/packages/d7/1c/ccccf4bf116f9517275fa85047495515add43e41dfe8e0bef6e333c6b344/coverage-7.10.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:c9a8b7a34a4de3ed987f636f71881cd3b8339f61118b1aa311fbda12741bff0b", size = 218059, upload-time = "2025-08-29T15:34:02.91Z" }, + { url = "https://files.pythonhosted.org/packages/92/97/8a3ceff833d27c7492af4f39d5da6761e9ff624831db9e9f25b3886ddbca/coverage-7.10.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:8dd5af36092430c2b075cee966719898f2ae87b636cefb85a653f1d0ba5d5393", size = 218287, upload-time = "2025-08-29T15:34:05.106Z" }, + { url = "https://files.pythonhosted.org/packages/92/d8/50b4a32580cf41ff0423777a2791aaf3269ab60c840b62009aec12d3970d/coverage-7.10.6-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:b0353b0f0850d49ada66fdd7d0c7cdb0f86b900bb9e367024fd14a60cecc1e27", size = 259625, upload-time = "2025-08-29T15:34:06.575Z" }, + { url = "https://files.pythonhosted.org/packages/7e/7e/6a7df5a6fb440a0179d94a348eb6616ed4745e7df26bf2a02bc4db72c421/coverage-7.10.6-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:d6b9ae13d5d3e8aeca9ca94198aa7b3ebbc5acfada557d724f2a1f03d2c0b0df", size = 261801, upload-time = "2025-08-29T15:34:08.006Z" }, + { url = "https://files.pythonhosted.org/packages/3a/4c/a270a414f4ed5d196b9d3d67922968e768cd971d1b251e1b4f75e9362f75/coverage-7.10.6-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:675824a363cc05781b1527b39dc2587b8984965834a748177ee3c37b64ffeafb", size = 264027, upload-time = "2025-08-29T15:34:09.806Z" }, + { url = "https://files.pythonhosted.org/packages/9c/8b/3210d663d594926c12f373c5370bf1e7c5c3a427519a8afa65b561b9a55c/coverage-7.10.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:692d70ea725f471a547c305f0d0fc6a73480c62fb0da726370c088ab21aed282", size = 261576, upload-time = "2025-08-29T15:34:11.585Z" }, + { url = "https://files.pythonhosted.org/packages/72/d0/e1961eff67e9e1dba3fc5eb7a4caf726b35a5b03776892da8d79ec895775/coverage-7.10.6-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:851430a9a361c7a8484a36126d1d0ff8d529d97385eacc8dfdc9bfc8c2d2cbe4", size = 259341, upload-time = "2025-08-29T15:34:13.159Z" }, + { url = "https://files.pythonhosted.org/packages/3a/06/d6478d152cd189b33eac691cba27a40704990ba95de49771285f34a5861e/coverage-7.10.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d9369a23186d189b2fc95cc08b8160ba242057e887d766864f7adf3c46b2df21", size = 260468, upload-time = "2025-08-29T15:34:14.571Z" }, + { url = "https://files.pythonhosted.org/packages/ed/73/737440247c914a332f0b47f7598535b29965bf305e19bbc22d4c39615d2b/coverage-7.10.6-cp313-cp313t-win32.whl", hash = "sha256:92be86fcb125e9bda0da7806afd29a3fd33fdf58fba5d60318399adf40bf37d0", size = 220429, upload-time = "2025-08-29T15:34:16.394Z" }, + { url = "https://files.pythonhosted.org/packages/bd/76/b92d3214740f2357ef4a27c75a526eb6c28f79c402e9f20a922c295c05e2/coverage-7.10.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6b3039e2ca459a70c79523d39347d83b73f2f06af5624905eba7ec34d64d80b5", size = 221493, upload-time = "2025-08-29T15:34:17.835Z" }, + { url = "https://files.pythonhosted.org/packages/fc/8e/6dcb29c599c8a1f654ec6cb68d76644fe635513af16e932d2d4ad1e5ac6e/coverage-7.10.6-cp313-cp313t-win_arm64.whl", hash = "sha256:3fb99d0786fe17b228eab663d16bee2288e8724d26a199c29325aac4b0319b9b", size = 219757, upload-time = "2025-08-29T15:34:19.248Z" }, + { url = "https://files.pythonhosted.org/packages/d3/aa/76cf0b5ec00619ef208da4689281d48b57f2c7fde883d14bf9441b74d59f/coverage-7.10.6-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:6008a021907be8c4c02f37cdc3ffb258493bdebfeaf9a839f9e71dfdc47b018e", size = 217331, upload-time = "2025-08-29T15:34:20.846Z" }, + { url = "https://files.pythonhosted.org/packages/65/91/8e41b8c7c505d398d7730206f3cbb4a875a35ca1041efc518051bfce0f6b/coverage-7.10.6-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:5e75e37f23eb144e78940b40395b42f2321951206a4f50e23cfd6e8a198d3ceb", size = 217607, upload-time = "2025-08-29T15:34:22.433Z" }, + { url = "https://files.pythonhosted.org/packages/87/7f/f718e732a423d442e6616580a951b8d1ec3575ea48bcd0e2228386805e79/coverage-7.10.6-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:0f7cb359a448e043c576f0da00aa8bfd796a01b06aa610ca453d4dde09cc1034", size = 248663, upload-time = "2025-08-29T15:34:24.425Z" }, + { url = "https://files.pythonhosted.org/packages/e6/52/c1106120e6d801ac03e12b5285e971e758e925b6f82ee9b86db3aa10045d/coverage-7.10.6-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:c68018e4fc4e14b5668f1353b41ccf4bc83ba355f0e1b3836861c6f042d89ac1", size = 251197, upload-time = "2025-08-29T15:34:25.906Z" }, + { url = "https://files.pythonhosted.org/packages/3d/ec/3a8645b1bb40e36acde9c0609f08942852a4af91a937fe2c129a38f2d3f5/coverage-7.10.6-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cd4b2b0707fc55afa160cd5fc33b27ccbf75ca11d81f4ec9863d5793fc6df56a", size = 252551, upload-time = "2025-08-29T15:34:27.337Z" }, + { url = "https://files.pythonhosted.org/packages/a1/70/09ecb68eeb1155b28a1d16525fd3a9b65fbe75337311a99830df935d62b6/coverage-7.10.6-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:4cec13817a651f8804a86e4f79d815b3b28472c910e099e4d5a0e8a3b6a1d4cb", size = 250553, upload-time = "2025-08-29T15:34:29.065Z" }, + { url = "https://files.pythonhosted.org/packages/c6/80/47df374b893fa812e953b5bc93dcb1427a7b3d7a1a7d2db33043d17f74b9/coverage-7.10.6-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:f2a6a8e06bbda06f78739f40bfb56c45d14eb8249d0f0ea6d4b3d48e1f7c695d", size = 248486, upload-time = "2025-08-29T15:34:30.897Z" }, + { url = "https://files.pythonhosted.org/packages/4a/65/9f98640979ecee1b0d1a7164b589de720ddf8100d1747d9bbdb84be0c0fb/coverage-7.10.6-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:081b98395ced0d9bcf60ada7661a0b75f36b78b9d7e39ea0790bb4ed8da14747", size = 249981, upload-time = "2025-08-29T15:34:32.365Z" }, + { url = "https://files.pythonhosted.org/packages/1f/55/eeb6603371e6629037f47bd25bef300387257ed53a3c5fdb159b7ac8c651/coverage-7.10.6-cp314-cp314-win32.whl", hash = "sha256:6937347c5d7d069ee776b2bf4e1212f912a9f1f141a429c475e6089462fcecc5", size = 220054, upload-time = "2025-08-29T15:34:34.124Z" }, + { url = "https://files.pythonhosted.org/packages/15/d1/a0912b7611bc35412e919a2cd59ae98e7ea3b475e562668040a43fb27897/coverage-7.10.6-cp314-cp314-win_amd64.whl", hash = "sha256:adec1d980fa07e60b6ef865f9e5410ba760e4e1d26f60f7e5772c73b9a5b0713", size = 220851, upload-time = "2025-08-29T15:34:35.651Z" }, + { url = "https://files.pythonhosted.org/packages/ef/2d/11880bb8ef80a45338e0b3e0725e4c2d73ffbb4822c29d987078224fd6a5/coverage-7.10.6-cp314-cp314-win_arm64.whl", hash = "sha256:a80f7aef9535442bdcf562e5a0d5a5538ce8abe6bb209cfbf170c462ac2c2a32", size = 219429, upload-time = "2025-08-29T15:34:37.16Z" }, + { url = "https://files.pythonhosted.org/packages/83/c0/1f00caad775c03a700146f55536ecd097a881ff08d310a58b353a1421be0/coverage-7.10.6-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:0de434f4fbbe5af4fa7989521c655c8c779afb61c53ab561b64dcee6149e4c65", size = 218080, upload-time = "2025-08-29T15:34:38.919Z" }, + { url = "https://files.pythonhosted.org/packages/a9/c4/b1c5d2bd7cc412cbeb035e257fd06ed4e3e139ac871d16a07434e145d18d/coverage-7.10.6-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6e31b8155150c57e5ac43ccd289d079eb3f825187d7c66e755a055d2c85794c6", size = 218293, upload-time = "2025-08-29T15:34:40.425Z" }, + { url = "https://files.pythonhosted.org/packages/3f/07/4468d37c94724bf6ec354e4ec2f205fda194343e3e85fd2e59cec57e6a54/coverage-7.10.6-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:98cede73eb83c31e2118ae8d379c12e3e42736903a8afcca92a7218e1f2903b0", size = 259800, upload-time = "2025-08-29T15:34:41.996Z" }, + { url = "https://files.pythonhosted.org/packages/82/d8/f8fb351be5fee31690cd8da768fd62f1cfab33c31d9f7baba6cd8960f6b8/coverage-7.10.6-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f863c08f4ff6b64fa8045b1e3da480f5374779ef187f07b82e0538c68cb4ff8e", size = 261965, upload-time = "2025-08-29T15:34:43.61Z" }, + { url = "https://files.pythonhosted.org/packages/e8/70/65d4d7cfc75c5c6eb2fed3ee5cdf420fd8ae09c4808723a89a81d5b1b9c3/coverage-7.10.6-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2b38261034fda87be356f2c3f42221fdb4171c3ce7658066ae449241485390d5", size = 264220, upload-time = "2025-08-29T15:34:45.387Z" }, + { url = "https://files.pythonhosted.org/packages/98/3c/069df106d19024324cde10e4ec379fe2fb978017d25e97ebee23002fbadf/coverage-7.10.6-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:0e93b1476b79eae849dc3872faeb0bf7948fd9ea34869590bc16a2a00b9c82a7", size = 261660, upload-time = "2025-08-29T15:34:47.288Z" }, + { url = "https://files.pythonhosted.org/packages/fc/8a/2974d53904080c5dc91af798b3a54a4ccb99a45595cc0dcec6eb9616a57d/coverage-7.10.6-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:ff8a991f70f4c0cf53088abf1e3886edcc87d53004c7bb94e78650b4d3dac3b5", size = 259417, upload-time = "2025-08-29T15:34:48.779Z" }, + { url = "https://files.pythonhosted.org/packages/30/38/9616a6b49c686394b318974d7f6e08f38b8af2270ce7488e879888d1e5db/coverage-7.10.6-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ac765b026c9f33044419cbba1da913cfb82cca1b60598ac1c7a5ed6aac4621a0", size = 260567, upload-time = "2025-08-29T15:34:50.718Z" }, + { url = "https://files.pythonhosted.org/packages/76/16/3ed2d6312b371a8cf804abf4e14895b70e4c3491c6e53536d63fd0958a8d/coverage-7.10.6-cp314-cp314t-win32.whl", hash = "sha256:441c357d55f4936875636ef2cfb3bee36e466dcf50df9afbd398ce79dba1ebb7", size = 220831, upload-time = "2025-08-29T15:34:52.653Z" }, + { url = "https://files.pythonhosted.org/packages/d5/e5/d38d0cb830abede2adb8b147770d2a3d0e7fecc7228245b9b1ae6c24930a/coverage-7.10.6-cp314-cp314t-win_amd64.whl", hash = "sha256:073711de3181b2e204e4870ac83a7c4853115b42e9cd4d145f2231e12d670930", size = 221950, upload-time = "2025-08-29T15:34:54.212Z" }, + { url = "https://files.pythonhosted.org/packages/f4/51/e48e550f6279349895b0ffcd6d2a690e3131ba3a7f4eafccc141966d4dea/coverage-7.10.6-cp314-cp314t-win_arm64.whl", hash = "sha256:137921f2bac5559334ba66122b753db6dc5d1cf01eb7b64eb412bb0d064ef35b", size = 219969, upload-time = "2025-08-29T15:34:55.83Z" }, + { url = "https://files.pythonhosted.org/packages/91/70/f73ad83b1d2fd2d5825ac58c8f551193433a7deaf9b0d00a8b69ef61cd9a/coverage-7.10.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:90558c35af64971d65fbd935c32010f9a2f52776103a259f1dee865fe8259352", size = 217009, upload-time = "2025-08-29T15:34:57.381Z" }, + { url = "https://files.pythonhosted.org/packages/01/e8/099b55cd48922abbd4b01ddd9ffa352408614413ebfc965501e981aced6b/coverage-7.10.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8953746d371e5695405806c46d705a3cd170b9cc2b9f93953ad838f6c1e58612", size = 217400, upload-time = "2025-08-29T15:34:58.985Z" }, + { url = "https://files.pythonhosted.org/packages/ee/d1/c6bac7c9e1003110a318636fef3b5c039df57ab44abcc41d43262a163c28/coverage-7.10.6-cp39-cp39-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:c83f6afb480eae0313114297d29d7c295670a41c11b274e6bca0c64540c1ce7b", size = 243835, upload-time = "2025-08-29T15:35:00.541Z" }, + { url = "https://files.pythonhosted.org/packages/01/f9/82c6c061838afbd2172e773156c0aa84a901d59211b4975a4e93accf5c89/coverage-7.10.6-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:7eb68d356ba0cc158ca535ce1381dbf2037fa8cb5b1ae5ddfc302e7317d04144", size = 245658, upload-time = "2025-08-29T15:35:02.135Z" }, + { url = "https://files.pythonhosted.org/packages/81/6a/35674445b1d38161148558a3ff51b0aa7f0b54b1def3abe3fbd34efe05bc/coverage-7.10.6-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5b15a87265e96307482746d86995f4bff282f14b027db75469c446da6127433b", size = 247433, upload-time = "2025-08-29T15:35:03.777Z" }, + { url = "https://files.pythonhosted.org/packages/18/27/98c99e7cafb288730a93535092eb433b5503d529869791681c4f2e2012a8/coverage-7.10.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:fc53ba868875bfbb66ee447d64d6413c2db91fddcfca57025a0e7ab5b07d5862", size = 245315, upload-time = "2025-08-29T15:35:05.629Z" }, + { url = "https://files.pythonhosted.org/packages/09/05/123e0dba812408c719c319dea05782433246f7aa7b67e60402d90e847545/coverage-7.10.6-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:efeda443000aa23f276f4df973cb82beca682fd800bb119d19e80504ffe53ec2", size = 243385, upload-time = "2025-08-29T15:35:07.494Z" }, + { url = "https://files.pythonhosted.org/packages/67/52/d57a42502aef05c6325f28e2e81216c2d9b489040132c18725b7a04d1448/coverage-7.10.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:9702b59d582ff1e184945d8b501ffdd08d2cee38d93a2206aa5f1365ce0b8d78", size = 244343, upload-time = "2025-08-29T15:35:09.55Z" }, + { url = "https://files.pythonhosted.org/packages/6b/22/7f6fad7dbb37cf99b542c5e157d463bd96b797078b1ec506691bc836f476/coverage-7.10.6-cp39-cp39-win32.whl", hash = "sha256:2195f8e16ba1a44651ca684db2ea2b2d4b5345da12f07d9c22a395202a05b23c", size = 219530, upload-time = "2025-08-29T15:35:11.167Z" }, + { url = "https://files.pythonhosted.org/packages/62/30/e2fda29bfe335026027e11e6a5e57a764c9df13127b5cf42af4c3e99b937/coverage-7.10.6-cp39-cp39-win_amd64.whl", hash = "sha256:f32ff80e7ef6a5b5b606ea69a36e97b219cd9dc799bcf2963018a4d8f788cfbf", size = 220432, upload-time = "2025-08-29T15:35:12.902Z" }, + { url = "https://files.pythonhosted.org/packages/44/0c/50db5379b615854b5cf89146f8f5bd1d5a9693d7f3a987e269693521c404/coverage-7.10.6-py3-none-any.whl", hash = "sha256:92c4ecf6bf11b2e85fd4d8204814dc26e6a19f0c9d938c207c5cb0eadfcabbe3", size = 208986, upload-time = "2025-08-29T15:35:14.506Z" }, +] + +[package.optional-dependencies] +toml = [ + { name = "tomli", marker = "python_full_version <= '3.11'" }, +] + +[[package]] +name = "crytic-compile" +version = "0.3.10" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cbor2" }, + { name = "pycryptodome" }, + { name = "solc-select" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/78/9b/6834afa2cc6fb3d958027e4c9c24c09735f9c6caeef4e205c22838f772bf/crytic_compile-0.3.10.tar.gz", hash = "sha256:0d7e03b4109709dd175a4550345369548f99fc1c96183c34ccc4dd21a7c41601", size = 78818, upload-time = "2025-05-02T17:08:37.134Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b8/8e/c0d4e5be2f58e8582a533a8cca69375ee5c0b78e506b658adc99ff3184d5/crytic_compile-0.3.10-py3-none-any.whl", hash = "sha256:52d8338850d7a90a757bc24bb29f72ff1553028d7417bed805fa5e176785c5ff", size = 98637, upload-time = "2025-05-02T17:08:35.672Z" }, +] + +[[package]] +name = "cytoolz" +version = "1.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "toolz" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a7/f9/3243eed3a6545c2a33a21f74f655e3fcb5d2192613cd3db81a93369eb339/cytoolz-1.0.1.tar.gz", hash = "sha256:89cc3161b89e1bb3ed7636f74ed2e55984fd35516904fc878cae216e42b2c7d6", size = 626652, upload-time = "2024-12-13T05:47:36.672Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/d9/f13d66c16cff1fa1cb6c234698029877c456f35f577ef274aba3b86e7c51/cytoolz-1.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cec9af61f71fc3853eb5dca3d42eb07d1f48a4599fa502cbe92adde85f74b042", size = 403515, upload-time = "2024-12-13T05:44:27.845Z" }, + { url = "https://files.pythonhosted.org/packages/4b/2d/4cdf848a69300c7d44984f2ebbebb3b8576e5449c8dea157298f3bdc4da3/cytoolz-1.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:140bbd649dbda01e91add7642149a5987a7c3ccc251f2263de894b89f50b6608", size = 383936, upload-time = "2024-12-13T05:44:29.5Z" }, + { url = "https://files.pythonhosted.org/packages/72/a4/ccfdd3f0ed9cc818f734b424261f6018fc61e3ec833bf85225a9aca0d994/cytoolz-1.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e90124bdc42ff58b88cdea1d24a6bc5f776414a314cc4d94f25c88badb3a16d1", size = 1934569, upload-time = "2024-12-13T05:44:30.799Z" }, + { url = "https://files.pythonhosted.org/packages/50/fc/38d5344fa595683ad10dc819cfc1d8b9d2b3391ccf3e8cb7bab4899a01f5/cytoolz-1.0.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e74801b751e28f7c5cc3ad264c123954a051f546f2fdfe089f5aa7a12ccfa6da", size = 2015129, upload-time = "2024-12-13T05:44:32.297Z" }, + { url = "https://files.pythonhosted.org/packages/28/29/75261748dc54a20a927f33641f4e9aac674cfc6d3fbd4f332e10d0b37639/cytoolz-1.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:582dad4545ddfb5127494ef23f3fa4855f1673a35d50c66f7638e9fb49805089", size = 2000506, upload-time = "2024-12-13T05:44:34.403Z" }, + { url = "https://files.pythonhosted.org/packages/00/ae/e4ead004cc2698281d153c4a5388638d67cdb5544d6d6cc1e5b3db2bd2a3/cytoolz-1.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd7bd0618e16efe03bd12f19c2a26a27e6e6b75d7105adb7be1cd2a53fa755d8", size = 1957537, upload-time = "2024-12-13T05:44:39.499Z" }, + { url = "https://files.pythonhosted.org/packages/4a/ff/4f3aa07f4f47701f7f63df60ce0a5669fa09c256c3d4a33503a9414ea5cc/cytoolz-1.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d74cca6acf1c4af58b2e4a89cc565ed61c5e201de2e434748c93e5a0f5c541a5", size = 1863331, upload-time = "2024-12-13T05:44:42.61Z" }, + { url = "https://files.pythonhosted.org/packages/a2/29/654f57f2a9b8e9765a4ab876765f64f94530b61fc6471a07feea42ece6d4/cytoolz-1.0.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:823a3763828d8d457f542b2a45d75d6b4ced5e470b5c7cf2ed66a02f508ed442", size = 1849938, upload-time = "2024-12-13T05:44:45.324Z" }, + { url = "https://files.pythonhosted.org/packages/bc/7b/11f457db6b291060a98315ab2c7198077d8bddeeebe5f7126d9dad98cc54/cytoolz-1.0.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:51633a14e6844c61db1d68c1ffd077cf949f5c99c60ed5f1e265b9e2966f1b52", size = 1852345, upload-time = "2024-12-13T05:44:47.994Z" }, + { url = "https://files.pythonhosted.org/packages/6b/92/0dccc96ce0323be236d404f5084479b79b747fa0e74e43a270e95868b5f9/cytoolz-1.0.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f3ec9b01c45348f1d0d712507d54c2bfd69c62fbd7c9ef555c9d8298693c2432", size = 1989877, upload-time = "2024-12-13T05:44:51.514Z" }, + { url = "https://files.pythonhosted.org/packages/a3/c8/1c5203a81200bae51aa8f7b5fad613f695bf1afa03f16251ca23ecb2ef9f/cytoolz-1.0.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1855022b712a9c7a5bce354517ab4727a38095f81e2d23d3eabaf1daeb6a3b3c", size = 1994492, upload-time = "2024-12-13T05:44:52.922Z" }, + { url = "https://files.pythonhosted.org/packages/e2/8a/04bc193c4d7ced8ef6bb62cdcd0bf40b5e5eb26586ed2cfb4433ec7dfd0a/cytoolz-1.0.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9930f7288c4866a1dc1cc87174f0c6ff4cad1671eb1f6306808aa6c445857d78", size = 1896077, upload-time = "2024-12-13T05:44:56.118Z" }, + { url = "https://files.pythonhosted.org/packages/21/a5/bee63a58f51d2c74856db66e6119a014464ff8cb1c9387fa4bd2d94e49b0/cytoolz-1.0.1-cp310-cp310-win32.whl", hash = "sha256:a9baad795d72fadc3445ccd0f122abfdbdf94269157e6d6d4835636dad318804", size = 322135, upload-time = "2024-12-13T05:44:57.695Z" }, + { url = "https://files.pythonhosted.org/packages/e8/16/7abfb1685e8b7f2838264551ee33651748994813f566ac4c3d737dfe90e5/cytoolz-1.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:ad95b386a84e18e1f6136f6d343d2509d4c3aae9f5a536f3dc96808fcc56a8cf", size = 363599, upload-time = "2024-12-13T05:44:58.875Z" }, + { url = "https://files.pythonhosted.org/packages/dc/ea/8131ae39119820b8867cddc23716fa9f681f2b3bbce6f693e68dfb36b55b/cytoolz-1.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2d958d4f04d9d7018e5c1850790d9d8e68b31c9a2deebca74b903706fdddd2b6", size = 406162, upload-time = "2024-12-13T05:45:01.196Z" }, + { url = "https://files.pythonhosted.org/packages/26/18/3d9bd4c146f6ea6e51300c242b20cb416966b21d481dac230e1304f1e54b/cytoolz-1.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0f445b8b731fc0ecb1865b8e68a070084eb95d735d04f5b6c851db2daf3048ab", size = 384961, upload-time = "2024-12-13T05:45:02.387Z" }, + { url = "https://files.pythonhosted.org/packages/e4/73/9034827907c7f85c7c484c9494e905d022fb8174526004e9ef332570349e/cytoolz-1.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f546a96460a7e28eb2ec439f4664fa646c9b3e51c6ebad9a59d3922bbe65e30", size = 2091698, upload-time = "2024-12-13T05:45:04.353Z" }, + { url = "https://files.pythonhosted.org/packages/74/af/d5c2733b0fde1a08254ff1a8a8d567874040c9eb1606363cfebc0713c73f/cytoolz-1.0.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0317681dd065532d21836f860b0563b199ee716f55d0c1f10de3ce7100c78a3b", size = 2188452, upload-time = "2024-12-13T05:45:05.748Z" }, + { url = "https://files.pythonhosted.org/packages/6a/bb/77c71fa9c217260b4056a732d754748903423c2cdd82a673d6064741e375/cytoolz-1.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c0ef52febd5a7821a3fd8d10f21d460d1a3d2992f724ba9c91fbd7a96745d41", size = 2174203, upload-time = "2024-12-13T05:45:07.777Z" }, + { url = "https://files.pythonhosted.org/packages/fc/a9/a5b4a3ff5d22faa1b60293bfe97362e2caf4a830c26d37ab5557f60d04b2/cytoolz-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5ebaf419acf2de73b643cf96108702b8aef8e825cf4f63209ceb078d5fbbbfd", size = 2099831, upload-time = "2024-12-13T05:45:11.477Z" }, + { url = "https://files.pythonhosted.org/packages/35/08/7f6869ea1ff31ce5289a7d58d0e7090acfe7058baa2764473048ff61ea3c/cytoolz-1.0.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5f7f04eeb4088947585c92d6185a618b25ad4a0f8f66ea30c8db83cf94a425e3", size = 1996744, upload-time = "2024-12-13T05:45:14.172Z" }, + { url = "https://files.pythonhosted.org/packages/46/b4/9ac424c994b51763fd1bbed62d95f8fba8fa0e45c8c3c583904fdaf8f51d/cytoolz-1.0.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f61928803bb501c17914b82d457c6f50fe838b173fb40d39c38d5961185bd6c7", size = 2013733, upload-time = "2024-12-13T05:45:16.912Z" }, + { url = "https://files.pythonhosted.org/packages/3e/99/03009765c4b87d742d5b5a8670abb56a8c7ede033c2cdaa4be8662d3b001/cytoolz-1.0.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d2960cb4fa01ccb985ad1280db41f90dc97a80b397af970a15d5a5de403c8c61", size = 1994850, upload-time = "2024-12-13T05:45:18.414Z" }, + { url = "https://files.pythonhosted.org/packages/40/9a/8458af9a5557e177ea42f8cf7e477bede518b0bbef564e28c4151feaa52c/cytoolz-1.0.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b2b407cc3e9defa8df5eb46644f6f136586f70ba49eba96f43de67b9a0984fd3", size = 2155352, upload-time = "2024-12-13T05:45:19.763Z" }, + { url = "https://files.pythonhosted.org/packages/5e/5c/2a701423e001fcbec288b4f3fc2bf67557d114c2388237fc1ae67e1e2686/cytoolz-1.0.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:8245f929144d4d3bd7b972c9593300195c6cea246b81b4c46053c48b3f044580", size = 2163515, upload-time = "2024-12-13T05:45:21.08Z" }, + { url = "https://files.pythonhosted.org/packages/36/16/ee2e06e65d9d533bc05cd52a0b355ba9072fc8f60d77289e529c6d2e3750/cytoolz-1.0.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e37385db03af65763933befe89fa70faf25301effc3b0485fec1c15d4ce4f052", size = 2054431, upload-time = "2024-12-13T05:45:22.521Z" }, + { url = "https://files.pythonhosted.org/packages/d8/d5/2fac8315f210fa1bc7106e27c19e1211580aa25bb7fa17dfd79505e5baf2/cytoolz-1.0.1-cp311-cp311-win32.whl", hash = "sha256:50f9c530f83e3e574fc95c264c3350adde8145f4f8fc8099f65f00cc595e5ead", size = 322004, upload-time = "2024-12-13T05:45:24.048Z" }, + { url = "https://files.pythonhosted.org/packages/a9/9e/0b70b641850a95f9ff90adde9d094a4b1d81ec54dadfd97fec0a2aaf440e/cytoolz-1.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:b7f6b617454b4326af7bd3c7c49b0fc80767f134eb9fd6449917a058d17a0e3c", size = 365358, upload-time = "2024-12-13T05:45:25.383Z" }, + { url = "https://files.pythonhosted.org/packages/d8/e8/218098344ed2cb5f8441fade9b2428e435e7073962374a9c71e59ac141a7/cytoolz-1.0.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fcb8f7d0d65db1269022e7e0428471edee8c937bc288ebdcb72f13eaa67c2fe4", size = 414121, upload-time = "2024-12-13T05:45:26.588Z" }, + { url = "https://files.pythonhosted.org/packages/de/27/4d729a5653718109262b758fec1a959aa9facb74c15460d9074dc76d6635/cytoolz-1.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:207d4e4b445e087e65556196ff472ff134370d9a275d591724142e255f384662", size = 390904, upload-time = "2024-12-13T05:45:27.718Z" }, + { url = "https://files.pythonhosted.org/packages/72/c0/cbabfa788bab9c6038953bf9478adaec06e88903a726946ea7c88092f5c4/cytoolz-1.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21cdf6bac6fd843f3b20280a66fd8df20dea4c58eb7214a2cd8957ec176f0bb3", size = 2090734, upload-time = "2024-12-13T05:45:30.515Z" }, + { url = "https://files.pythonhosted.org/packages/c3/66/369262c60f9423c2da82a60864a259c852f1aa122aced4acd2c679af58c0/cytoolz-1.0.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4a55ec098036c0dea9f3bdc021f8acd9d105a945227d0811589f0573f21c9ce1", size = 2155933, upload-time = "2024-12-13T05:45:32.721Z" }, + { url = "https://files.pythonhosted.org/packages/aa/4e/ee55186802f8d24b5fbf9a11405ccd1203b30eded07cc17750618219b94e/cytoolz-1.0.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a13ab79ff4ce202e03ab646a2134696988b554b6dc4b71451e948403db1331d8", size = 2171903, upload-time = "2024-12-13T05:45:34.205Z" }, + { url = "https://files.pythonhosted.org/packages/a1/96/bd1a9f3396e9b7f618db8cd08d15630769ce3c8b7d0534f92cd639c977ae/cytoolz-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e2d944799026e1ff08a83241f1027a2d9276c41f7a74224cd98b7df6e03957d", size = 2125270, upload-time = "2024-12-13T05:45:36.982Z" }, + { url = "https://files.pythonhosted.org/packages/28/48/2a3762873091c88a69e161111cfbc6c222ff145d57ff011a642b169f04f1/cytoolz-1.0.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88ba85834cd523b91fdf10325e1e6d71c798de36ea9bdc187ca7bd146420de6f", size = 1973967, upload-time = "2024-12-13T05:45:39.505Z" }, + { url = "https://files.pythonhosted.org/packages/e4/50/500bd69774bdc49a4d78ec8779eb6ac7c1a9d706bfd91cf2a1dba604373a/cytoolz-1.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5a750b1af7e8bf6727f588940b690d69e25dc47cce5ce467925a76561317eaf7", size = 2021695, upload-time = "2024-12-13T05:45:40.911Z" }, + { url = "https://files.pythonhosted.org/packages/e4/4e/ba5a0ce34869495eb50653de8d676847490cf13a2cac1760fc4d313e78de/cytoolz-1.0.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:44a71870f7eae31d263d08b87da7c2bf1176f78892ed8bdade2c2850478cb126", size = 2010177, upload-time = "2024-12-13T05:45:42.48Z" }, + { url = "https://files.pythonhosted.org/packages/87/57/615c630b3089a13adb15351d958d227430cf624f03b1dd39eb52c34c1f59/cytoolz-1.0.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c8231b9abbd8e368e036f4cc2e16902c9482d4cf9e02a6147ed0e9a3cd4a9ab0", size = 2154321, upload-time = "2024-12-13T05:45:43.979Z" }, + { url = "https://files.pythonhosted.org/packages/7f/0f/fe1aa2d931e3b35ecc05215bd75da945ea7346095b3b6f6027164e602d5a/cytoolz-1.0.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:aa87599ccc755de5a096a4d6c34984de6cd9dc928a0c5eaa7607457317aeaf9b", size = 2188374, upload-time = "2024-12-13T05:45:46.783Z" }, + { url = "https://files.pythonhosted.org/packages/de/fa/fd363d97a641b6d0e2fd1d5c35b8fd41d9ccaeb4df56302f53bf23a58e3a/cytoolz-1.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:67cd16537df51baabde3baa770ab7b8d16839c4d21219d5b96ac59fb012ebd2d", size = 2077911, upload-time = "2024-12-13T05:45:48.219Z" }, + { url = "https://files.pythonhosted.org/packages/d9/68/0a22946b98ae5201b54ccb4e651295285c0fb79406022b6ee8b2f791940c/cytoolz-1.0.1-cp312-cp312-win32.whl", hash = "sha256:fb988c333f05ee30ad4693fe4da55d95ec0bb05775d2b60191236493ea2e01f9", size = 321903, upload-time = "2024-12-13T05:45:50.3Z" }, + { url = "https://files.pythonhosted.org/packages/62/1a/f3903197956055032f8cb297342e2dff07e50f83991aebfe5b4c4fcb55e4/cytoolz-1.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:8f89c48d8e5aec55ffd566a8ec858706d70ed0c6a50228eca30986bfa5b4da8b", size = 364490, upload-time = "2024-12-13T05:45:51.494Z" }, + { url = "https://files.pythonhosted.org/packages/aa/2e/a9f069db0107749e9e72baf6c21abe3f006841a3bcfdc9b8420e22ef31eb/cytoolz-1.0.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6944bb93b287032a4c5ca6879b69bcd07df46f3079cf8393958cf0b0454f50c0", size = 407365, upload-time = "2024-12-13T05:45:52.803Z" }, + { url = "https://files.pythonhosted.org/packages/a9/9b/5e87dd0e31f54c778b4f9f34cc14c1162d3096c8d746b0f8be97d70dd73c/cytoolz-1.0.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e027260fd2fc5cb041277158ac294fc13dca640714527219f702fb459a59823a", size = 385233, upload-time = "2024-12-13T05:45:53.994Z" }, + { url = "https://files.pythonhosted.org/packages/63/00/2fd32b16284cdb97cfe092822179bc0c3bcdd5e927dd39f986169a517642/cytoolz-1.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88662c0e07250d26f5af9bc95911e6137e124a5c1ec2ce4a5d74de96718ab242", size = 2062903, upload-time = "2024-12-13T05:45:55.202Z" }, + { url = "https://files.pythonhosted.org/packages/85/39/b3cbb5a9847ba59584a263772ad4f8ca2dbfd2a0e11efd09211d1219804c/cytoolz-1.0.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:309dffa78b0961b4c0cf55674b828fbbc793cf2d816277a5c8293c0c16155296", size = 2139517, upload-time = "2024-12-13T05:45:56.804Z" }, + { url = "https://files.pythonhosted.org/packages/ea/39/bfcab4a46d50c467e36fe704f19d8904efead417787806ee210327f68390/cytoolz-1.0.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:edb34246e6eb40343c5860fc51b24937698e4fa1ee415917a73ad772a9a1746b", size = 2154849, upload-time = "2024-12-13T05:45:58.814Z" }, + { url = "https://files.pythonhosted.org/packages/fd/42/3bc6ee61b0aa47e1cb40819adc1a456d7efa809f0dea9faddacb43fdde8f/cytoolz-1.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a54da7a8e4348a18d45d4d5bc84af6c716d7f131113a4f1cc45569d37edff1b", size = 2102302, upload-time = "2024-12-13T05:46:00.181Z" }, + { url = "https://files.pythonhosted.org/packages/00/66/3f636c6ddea7b18026b90a8c238af472e423b86e427b11df02213689b012/cytoolz-1.0.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:241c679c3b1913c0f7259cf1d9639bed5084c86d0051641d537a0980548aa266", size = 1960872, upload-time = "2024-12-13T05:46:01.612Z" }, + { url = "https://files.pythonhosted.org/packages/40/36/cb3b7cdd651007b69f9c48e9d104cec7cb8dc53afa1d6a720e5ad08022fa/cytoolz-1.0.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5bfc860251a8f280ac79696fc3343cfc3a7c30b94199e0240b6c9e5b6b01a2a5", size = 2014430, upload-time = "2024-12-13T05:46:03.022Z" }, + { url = "https://files.pythonhosted.org/packages/88/3f/2e9bd2a16cfd269808922147551dcb2d8b68ba54a2c4deca2fa6a6cd0d5f/cytoolz-1.0.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:c8edd1547014050c1bdad3ff85d25c82bd1c2a3c96830c6181521eb78b9a42b3", size = 2003127, upload-time = "2024-12-13T05:46:04.401Z" }, + { url = "https://files.pythonhosted.org/packages/c4/7d/08604ff940aa784df8343c387fdf2489b948b714a6afb587775ae94da912/cytoolz-1.0.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b349bf6162e8de215403d7f35f8a9b4b1853dc2a48e6e1a609a5b1a16868b296", size = 2142369, upload-time = "2024-12-13T05:46:06.004Z" }, + { url = "https://files.pythonhosted.org/packages/d2/c6/39919a0645bdbdf720e97cae107f959ea9d1267fbc3b0d94fc6e1d12ac8f/cytoolz-1.0.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:1b18b35256219b6c3dd0fa037741b85d0bea39c552eab0775816e85a52834140", size = 2180427, upload-time = "2024-12-13T05:46:07.526Z" }, + { url = "https://files.pythonhosted.org/packages/d8/03/dbb9d47556ee54337e7e0ac209d17ceff2d2a197c34de08005abc7a7449b/cytoolz-1.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:738b2350f340ff8af883eb301054eb724997f795d20d90daec7911c389d61581", size = 2069785, upload-time = "2024-12-13T05:46:10.122Z" }, + { url = "https://files.pythonhosted.org/packages/ea/f8/11bb7b8947002231faae3ec2342df5896afbc19eb783a332cce6d219ff79/cytoolz-1.0.1-cp313-cp313-win32.whl", hash = "sha256:9cbd9c103df54fcca42be55ef40e7baea624ac30ee0b8bf1149f21146d1078d9", size = 320685, upload-time = "2024-12-13T05:46:11.553Z" }, + { url = "https://files.pythonhosted.org/packages/40/eb/dde173cf2357084ca9423950be1f2f11ab11d65d8bd30165bfb8fd4213e9/cytoolz-1.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:90e577e08d3a4308186d9e1ec06876d4756b1e8164b92971c69739ea17e15297", size = 362898, upload-time = "2024-12-13T05:46:12.771Z" }, + { url = "https://files.pythonhosted.org/packages/79/bc/16442ead0b86f64c75602d47c158ef22d5c82a004fcff3b3954b9102d255/cytoolz-1.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:980c323e626ba298b77ae62871b2de7c50b9d7219e2ddf706f52dd34b8be7349", size = 405818, upload-time = "2024-12-13T05:46:41.324Z" }, + { url = "https://files.pythonhosted.org/packages/77/33/e660a734fcda5f83336cab7ce20d6011dfdc67f6e0e6d833badedf2a3b21/cytoolz-1.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:45f6fa1b512bc2a0f2de5123db932df06c7f69d12874fe06d67772b2828e2c8b", size = 386289, upload-time = "2024-12-13T05:46:42.69Z" }, + { url = "https://files.pythonhosted.org/packages/fa/06/d776935b9f5753ee84630857b95e6f77656266e3ad456c97ae78829fc983/cytoolz-1.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f93f42d9100c415155ad1f71b0de362541afd4ac95e3153467c4c79972521b6b", size = 1946297, upload-time = "2024-12-13T05:46:44.118Z" }, + { url = "https://files.pythonhosted.org/packages/bc/4e/d0babe9f3b81b248c92be2c6eb1b3d8bf4f663817a518910348a5fac1f12/cytoolz-1.0.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a76d20dec9c090cdf4746255bbf06a762e8cc29b5c9c1d138c380bbdb3122ade", size = 2028082, upload-time = "2024-12-13T05:46:47.021Z" }, + { url = "https://files.pythonhosted.org/packages/70/79/280c26569953e61e490f8ebc0928f8dc5ec8e455144e425887aece6278e5/cytoolz-1.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:239039585487c69aa50c5b78f6a422016297e9dea39755761202fb9f0530fe87", size = 2012925, upload-time = "2024-12-13T05:46:49.452Z" }, + { url = "https://files.pythonhosted.org/packages/9a/b1/8efbd06ba3dcfe0c5e44e68d098781e73535abcc7a49dd6ea88d5be4c98f/cytoolz-1.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c28307640ca2ab57b9fbf0a834b9bf563958cd9e038378c3a559f45f13c3c541", size = 1969409, upload-time = "2024-12-13T05:46:52.244Z" }, + { url = "https://files.pythonhosted.org/packages/6c/ee/8064953c28a6eccb97267285da816b691f524e2d2265b559d95dbe741340/cytoolz-1.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:454880477bb901cee3a60f6324ec48c95d45acc7fecbaa9d49a5af737ded0595", size = 1873884, upload-time = "2024-12-13T05:46:53.775Z" }, + { url = "https://files.pythonhosted.org/packages/05/81/761acff24d29dd2abf867ae2b2ec4c3bed5863492c997d9936d29117e52b/cytoolz-1.0.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:902115d1b1f360fd81e44def30ac309b8641661150fcbdde18ead446982ada6a", size = 1861041, upload-time = "2024-12-13T05:46:55.743Z" }, + { url = "https://files.pythonhosted.org/packages/08/73/48fc7de900664bdc1a59fb1da9bfa22afc5178bb2590fe5a4c6ddaec8f95/cytoolz-1.0.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:e68e6b38473a3a79cee431baa22be31cac39f7df1bf23eaa737eaff42e213883", size = 1864089, upload-time = "2024-12-13T05:46:59.168Z" }, + { url = "https://files.pythonhosted.org/packages/a2/8e/f53bf881bfd226f1ea75446360c9feeb97045bdfa0b75338c0919a93a83f/cytoolz-1.0.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:32fba3f63fcb76095b0a22f4bdcc22bc62a2bd2d28d58bf02fd21754c155a3ec", size = 2002961, upload-time = "2024-12-13T05:47:00.679Z" }, + { url = "https://files.pythonhosted.org/packages/fa/fd/3583907d14c0828bed0758111a44dce38dea87186f19b96ba8bea58fce9f/cytoolz-1.0.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:0724ba4cf41eb40b6cf75250820ab069e44bdf4183ff78857aaf4f0061551075", size = 2008125, upload-time = "2024-12-13T05:47:02.149Z" }, + { url = "https://files.pythonhosted.org/packages/f3/18/e27368ac982e813dae1ed737d52e9b896f2499c2150586f46b111119db99/cytoolz-1.0.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c42420e0686f887040d5230420ed44f0e960ccbfa29a0d65a3acd9ca52459209", size = 1908772, upload-time = "2024-12-13T05:47:04.75Z" }, + { url = "https://files.pythonhosted.org/packages/2e/c5/6626c4df2a710cd772fb349d48de5435b8907c24838c8a605f286e794dd6/cytoolz-1.0.1-cp39-cp39-win32.whl", hash = "sha256:4ba8b16358ea56b1fe8e637ec421e36580866f2e787910bac1cf0a6997424a34", size = 324277, upload-time = "2024-12-13T05:47:06.109Z" }, + { url = "https://files.pythonhosted.org/packages/8e/4f/34a4cfe7344d33624780fe299f3c441a94d56bf4313033d24f9d45adc6f6/cytoolz-1.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:92d27f84bf44586853d9562bfa3610ecec000149d030f793b4cb614fd9da1813", size = 365849, upload-time = "2024-12-13T05:47:07.37Z" }, + { url = "https://files.pythonhosted.org/packages/d9/f7/ef2a10daaec5c0f7d781d50758c6187eee484256e356ae8ef178d6c48497/cytoolz-1.0.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:83d19d55738ad9c60763b94f3f6d3c6e4de979aeb8d76841c1401081e0e58d96", size = 345702, upload-time = "2024-12-13T05:47:09.266Z" }, + { url = "https://files.pythonhosted.org/packages/c8/14/53c84adddedb67ff1546abb86fea04d26e24298c3ceab8436d20122ed0b9/cytoolz-1.0.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f112a71fad6ea824578e6393765ce5c054603afe1471a5c753ff6c67fd872d10", size = 385695, upload-time = "2024-12-13T05:47:11.011Z" }, + { url = "https://files.pythonhosted.org/packages/bd/80/3ae356c5e7b8d7dc7d1adb52f6932fee85cd748ed4e1217c269d2dfd610f/cytoolz-1.0.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5a515df8f8aa6e1eaaf397761a6e4aff2eef73b5f920aedf271416d5471ae5ee", size = 406261, upload-time = "2024-12-13T05:47:12.24Z" }, + { url = "https://files.pythonhosted.org/packages/0c/31/8e43761ffc82d90bf9cab7e0959712eedcd1e33c211397e143dd42d7af57/cytoolz-1.0.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92c398e7b7023460bea2edffe5fcd0a76029580f06c3f6938ac3d198b47156f3", size = 397207, upload-time = "2024-12-13T05:47:13.561Z" }, + { url = "https://files.pythonhosted.org/packages/d1/b9/fe9da37090b6444c65f848a83e390f87d8cb43d6a4df46de1556ad7e5ceb/cytoolz-1.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:3237e56211e03b13df47435b2369f5df281e02b04ad80a948ebd199b7bc10a47", size = 343358, upload-time = "2024-12-13T05:47:16.291Z" }, + { url = "https://files.pythonhosted.org/packages/99/cf/fcea9849eeedc569d0d00bcab8d0ad07d0d0aa79664e6ff9e8745ccfd9a3/cytoolz-1.0.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a5ca923d1fa632f7a4fb33c0766c6fba7f87141a055c305c3e47e256fb99c413", size = 344869, upload-time = "2024-12-13T05:47:28.994Z" }, + { url = "https://files.pythonhosted.org/packages/9c/38/106e0bd8610ebe1a8717c686e0663227a61cc03ed869b1610e1d8455f746/cytoolz-1.0.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:058bf996bcae9aad3acaeeb937d42e0c77c081081e67e24e9578a6a353cb7fb2", size = 384769, upload-time = "2024-12-13T05:47:30.309Z" }, + { url = "https://files.pythonhosted.org/packages/1c/a9/ac8a43c3adb93e9ccc42aa01c3fc86a0142f8265e3b869794e6fc471b976/cytoolz-1.0.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:69e2a1f41a3dad94a17aef4a5cc003323359b9f0a9d63d4cc867cb5690a2551d", size = 404914, upload-time = "2024-12-13T05:47:32.395Z" }, + { url = "https://files.pythonhosted.org/packages/e5/ae/516ffeba7d0b6fe75f99a2a9ab74a5344c4b5b236cd1719bd5e4721f9bbc/cytoolz-1.0.1-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67daeeeadb012ec2b59d63cb29c4f2a2023b0c4957c3342d354b8bb44b209e9a", size = 396288, upload-time = "2024-12-13T05:47:33.708Z" }, + { url = "https://files.pythonhosted.org/packages/b4/90/93e056d7554601619cf1f171c00f83b8a8f75beed680f35b413433f251c5/cytoolz-1.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:54d3d36bbf0d4344d1afa22c58725d1668e30ff9de3a8f56b03db1a6da0acb11", size = 342845, upload-time = "2024-12-13T05:47:35.08Z" }, +] + +[[package]] +name = "deepdiff" +version = "8.4.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "orderly-set" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7f/2f/232a9f6d88a59526347cb483ec601d878ad41ab30ee4f2fba4aca1d5a10e/deepdiff-8.4.2.tar.gz", hash = "sha256:5c741c0867ebc7fcb83950ad5ed958369c17f424e14dee32a11c56073f4ee92a", size = 515380, upload-time = "2025-03-17T21:35:57.388Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0b/03/810d2e70a6944eddc826deb7b68879d8de109369040b25eeb58cdd64d94c/deepdiff-8.4.2-py3-none-any.whl", hash = "sha256:7e39e5b26f3747c54f9d0e8b9b29daab670c3100166b77cc0185d5793121b099", size = 87610, upload-time = "2025-03-17T21:35:54.953Z" }, +] + +[[package]] +name = "distlib" +version = "0.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/96/8e/709914eb2b5749865801041647dc7f4e6d00b549cfe88b65ca192995f07c/distlib-0.4.0.tar.gz", hash = "sha256:feec40075be03a04501a973d81f633735b4b69f98b05450592310c0f401a4e0d", size = 614605, upload-time = "2025-07-17T16:52:00.465Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/33/6b/e0547afaf41bf2c42e52430072fa5658766e3d65bd4b03a563d1b6336f57/distlib-0.4.0-py2.py3-none-any.whl", hash = "sha256:9659f7d87e46584a30b5780e43ac7a2143098441670ff0a49d5f9034c54a6c16", size = 469047, upload-time = "2025-07-17T16:51:58.613Z" }, +] + +[[package]] +name = "distro" +version = "1.9.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed", size = 60722, upload-time = "2023-12-24T09:54:32.31Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2", size = 20277, upload-time = "2023-12-24T09:54:30.421Z" }, +] + +[[package]] +name = "eth-abi" +version = "5.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "eth-typing" }, + { name = "eth-utils" }, + { name = "parsimonious" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/00/71/d9e1380bd77fd22f98b534699af564f189b56d539cc2b9dab908d4e4c242/eth_abi-5.2.0.tar.gz", hash = "sha256:178703fa98c07d8eecd5ae569e7e8d159e493ebb6eeb534a8fe973fbc4e40ef0", size = 49797, upload-time = "2025-01-14T16:29:34.629Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7a/b4/2f3982c4cbcbf5eeb6aec62df1533c0e63c653b3021ff338d44944405676/eth_abi-5.2.0-py3-none-any.whl", hash = "sha256:17abe47560ad753f18054f5b3089fcb588f3e3a092136a416b6c1502cb7e8877", size = 28511, upload-time = "2025-01-14T16:29:31.862Z" }, +] + +[[package]] +name = "eth-account" +version = "0.13.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "bitarray" }, + { name = "ckzg" }, + { name = "eth-abi" }, + { name = "eth-keyfile" }, + { name = "eth-keys" }, + { name = "eth-rlp" }, + { name = "eth-utils" }, + { name = "hexbytes" }, + { name = "pydantic" }, + { name = "rlp" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/74/cf/20f76a29be97339c969fd765f1237154286a565a1d61be98e76bb7af946a/eth_account-0.13.7.tar.gz", hash = "sha256:5853ecbcbb22e65411176f121f5f24b8afeeaf13492359d254b16d8b18c77a46", size = 935998, upload-time = "2025-04-21T21:11:21.204Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/46/18/088fb250018cbe665bc2111974301b2d59f294a565aff7564c4df6878da2/eth_account-0.13.7-py3-none-any.whl", hash = "sha256:39727de8c94d004ff61d10da7587509c04d2dc7eac71e04830135300bdfc6d24", size = 587452, upload-time = "2025-04-21T21:11:18.346Z" }, +] + +[[package]] +name = "eth-hash" +version = "0.7.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/38/577b7bc9380ef9dff0f1dffefe0c9a1ded2385e7a06c306fd95afb6f9451/eth_hash-0.7.1.tar.gz", hash = "sha256:d2411a403a0b0a62e8247b4117932d900ffb4c8c64b15f92620547ca5ce46be5", size = 12227, upload-time = "2025-01-13T21:29:21.765Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/eb/db/f8775490669d28aca24871c67dd56b3e72105cb3bcae9a4ec65dd70859b3/eth_hash-0.7.1-py3-none-any.whl", hash = "sha256:0fb1add2adf99ef28883fd6228eb447ef519ea72933535ad1a0b28c6f65f868a", size = 8028, upload-time = "2025-01-13T21:29:19.365Z" }, +] + +[package.optional-dependencies] +pycryptodome = [ + { name = "pycryptodome" }, +] + +[[package]] +name = "eth-keyfile" +version = "0.8.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "eth-keys" }, + { name = "eth-utils" }, + { name = "pycryptodome" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/35/66/dd823b1537befefbbff602e2ada88f1477c5b40ec3731e3d9bc676c5f716/eth_keyfile-0.8.1.tar.gz", hash = "sha256:9708bc31f386b52cca0969238ff35b1ac72bd7a7186f2a84b86110d3c973bec1", size = 12267, upload-time = "2024-04-23T20:28:53.862Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/fc/48a586175f847dd9e05e5b8994d2fe8336098781ec2e9836a2ad94280281/eth_keyfile-0.8.1-py3-none-any.whl", hash = "sha256:65387378b82fe7e86d7cb9f8d98e6d639142661b2f6f490629da09fddbef6d64", size = 7510, upload-time = "2024-04-23T20:28:51.063Z" }, +] + +[[package]] +name = "eth-keys" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "eth-typing" }, + { name = "eth-utils" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/58/11/1ed831c50bd74f57829aa06e58bd82a809c37e070ee501c953b9ac1f1552/eth_keys-0.7.0.tar.gz", hash = "sha256:79d24fd876201df67741de3e3fefb3f4dbcbb6ace66e47e6fe662851a4547814", size = 30166, upload-time = "2025-04-07T17:40:21.697Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4d/25/0ae00f2b0095e559d61ad3dc32171bd5a29dfd95ab04b4edd641f7c75f72/eth_keys-0.7.0-py3-none-any.whl", hash = "sha256:b0cdda8ffe8e5ba69c7c5ca33f153828edcace844f67aabd4542d7de38b159cf", size = 20656, upload-time = "2025-04-07T17:40:20.441Z" }, +] + +[[package]] +name = "eth-rlp" +version = "2.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "eth-utils" }, + { name = "hexbytes" }, + { name = "rlp" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7f/ea/ad39d001fa9fed07fad66edb00af701e29b48be0ed44a3bcf58cb3adf130/eth_rlp-2.2.0.tar.gz", hash = "sha256:5e4b2eb1b8213e303d6a232dfe35ab8c29e2d3051b86e8d359def80cd21db83d", size = 7720, upload-time = "2025-02-04T21:51:08.134Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/99/3b/57efe2bc2df0980680d57c01a36516cd3171d2319ceb30e675de19fc2cc5/eth_rlp-2.2.0-py3-none-any.whl", hash = "sha256:5692d595a741fbaef1203db6a2fedffbd2506d31455a6ad378c8449ee5985c47", size = 4446, upload-time = "2025-02-04T21:51:05.823Z" }, +] + +[[package]] +name = "eth-typing" +version = "5.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/60/54/62aa24b9cc708f06316167ee71c362779c8ed21fc8234a5cd94a8f53b623/eth_typing-5.2.1.tar.gz", hash = "sha256:7557300dbf02a93c70fa44af352b5c4a58f94e997a0fd6797fb7d1c29d9538ee", size = 21806, upload-time = "2025-04-14T20:39:28.217Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/30/72/c370bbe4c53da7bf998d3523f5a0f38867654923a82192df88d0705013d3/eth_typing-5.2.1-py3-none-any.whl", hash = "sha256:b0c2812ff978267563b80e9d701f487dd926f1d376d674f3b535cfe28b665d3d", size = 19163, upload-time = "2025-04-14T20:39:26.571Z" }, +] + +[[package]] +name = "eth-utils" +version = "5.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cytoolz", marker = "implementation_name == 'cpython'" }, + { name = "eth-hash" }, + { name = "eth-typing" }, + { name = "pydantic" }, + { name = "toolz", marker = "implementation_name == 'pypy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e6/e1/ee3a8728227c3558853e63ff35bd4c449abdf5022a19601369400deacd39/eth_utils-5.3.1.tar.gz", hash = "sha256:c94e2d2abd024a9a42023b4ddc1c645814ff3d6a737b33d5cfd890ebf159c2d1", size = 123506, upload-time = "2025-08-27T16:37:17.378Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bf/4d/257cdc01ada430b8e84b9f2385c2553f33218f5b47da9adf0a616308d4b7/eth_utils-5.3.1-py3-none-any.whl", hash = "sha256:1f5476d8f29588d25b8ae4987e1ffdfae6d4c09026e476c4aad13b32dda3ead0", size = 102529, upload-time = "2025-08-27T16:37:15.449Z" }, +] + +[[package]] +name = "exceptiongroup" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88", size = 29749, upload-time = "2025-05-10T17:42:51.123Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/36/f4/c6e662dade71f56cd2f3735141b265c3c79293c109549c1e6933b0651ffc/exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10", size = 16674, upload-time = "2025-05-10T17:42:49.33Z" }, +] + +[[package]] +name = "execnet" +version = "2.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/bb/ff/b4c0dc78fbe20c3e59c0c7334de0c27eb4001a2b2017999af398bf730817/execnet-2.1.1.tar.gz", hash = "sha256:5189b52c6121c24feae288166ab41b32549c7e2348652736540b9e6e7d4e72e3", size = 166524, upload-time = "2024-04-08T09:04:19.245Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/43/09/2aea36ff60d16dd8879bdb2f5b3ee0ba8d08cbbdcdfe870e695ce3784385/execnet-2.1.1-py3-none-any.whl", hash = "sha256:26dee51f1b80cebd6d0ca8e74dd8745419761d3bef34163928cbebbdc4749fdc", size = 40612, upload-time = "2024-04-08T09:04:17.414Z" }, +] + +[[package]] +name = "filelock" +version = "3.19.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/40/bb/0ab3e58d22305b6f5440629d20683af28959bf793d98d11950e305c1c326/filelock-3.19.1.tar.gz", hash = "sha256:66eda1888b0171c998b35be2bcc0f6d75c388a7ce20c3f3f37aa8e96c2dddf58", size = 17687, upload-time = "2025-08-14T16:56:03.016Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/42/14/42b2651a2f46b022ccd948bca9f2d5af0fd8929c4eec235b8d6d844fbe67/filelock-3.19.1-py3-none-any.whl", hash = "sha256:d38e30481def20772f5baf097c122c3babc4fcdb7e14e57049eb9d88c6dc017d", size = 15988, upload-time = "2025-08-14T16:56:01.633Z" }, +] + +[[package]] +name = "frozenlist" +version = "1.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/79/b1/b64018016eeb087db503b038296fd782586432b9c077fc5c7839e9cb6ef6/frozenlist-1.7.0.tar.gz", hash = "sha256:2e310d81923c2437ea8670467121cc3e9b0f76d3043cc1d2331d56c7fb7a3a8f", size = 45078, upload-time = "2025-06-09T23:02:35.538Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/af/36/0da0a49409f6b47cc2d060dc8c9040b897b5902a8a4e37d9bc1deb11f680/frozenlist-1.7.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cc4df77d638aa2ed703b878dd093725b72a824c3c546c076e8fdf276f78ee84a", size = 81304, upload-time = "2025-06-09T22:59:46.226Z" }, + { url = "https://files.pythonhosted.org/packages/77/f0/77c11d13d39513b298e267b22eb6cb559c103d56f155aa9a49097221f0b6/frozenlist-1.7.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:716a9973a2cc963160394f701964fe25012600f3d311f60c790400b00e568b61", size = 47735, upload-time = "2025-06-09T22:59:48.133Z" }, + { url = "https://files.pythonhosted.org/packages/37/12/9d07fa18971a44150593de56b2f2947c46604819976784bcf6ea0d5db43b/frozenlist-1.7.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a0fd1bad056a3600047fb9462cff4c5322cebc59ebf5d0a3725e0ee78955001d", size = 46775, upload-time = "2025-06-09T22:59:49.564Z" }, + { url = "https://files.pythonhosted.org/packages/70/34/f73539227e06288fcd1f8a76853e755b2b48bca6747e99e283111c18bcd4/frozenlist-1.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3789ebc19cb811163e70fe2bd354cea097254ce6e707ae42e56f45e31e96cb8e", size = 224644, upload-time = "2025-06-09T22:59:51.35Z" }, + { url = "https://files.pythonhosted.org/packages/fb/68/c1d9c2f4a6e438e14613bad0f2973567586610cc22dcb1e1241da71de9d3/frozenlist-1.7.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:af369aa35ee34f132fcfad5be45fbfcde0e3a5f6a1ec0712857f286b7d20cca9", size = 222125, upload-time = "2025-06-09T22:59:52.884Z" }, + { url = "https://files.pythonhosted.org/packages/b9/d0/98e8f9a515228d708344d7c6986752be3e3192d1795f748c24bcf154ad99/frozenlist-1.7.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac64b6478722eeb7a3313d494f8342ef3478dff539d17002f849101b212ef97c", size = 233455, upload-time = "2025-06-09T22:59:54.74Z" }, + { url = "https://files.pythonhosted.org/packages/79/df/8a11bcec5600557f40338407d3e5bea80376ed1c01a6c0910fcfdc4b8993/frozenlist-1.7.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f89f65d85774f1797239693cef07ad4c97fdd0639544bad9ac4b869782eb1981", size = 227339, upload-time = "2025-06-09T22:59:56.187Z" }, + { url = "https://files.pythonhosted.org/packages/50/82/41cb97d9c9a5ff94438c63cc343eb7980dac4187eb625a51bdfdb7707314/frozenlist-1.7.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1073557c941395fdfcfac13eb2456cb8aad89f9de27bae29fabca8e563b12615", size = 212969, upload-time = "2025-06-09T22:59:57.604Z" }, + { url = "https://files.pythonhosted.org/packages/13/47/f9179ee5ee4f55629e4f28c660b3fdf2775c8bfde8f9c53f2de2d93f52a9/frozenlist-1.7.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ed8d2fa095aae4bdc7fdd80351009a48d286635edffee66bf865e37a9125c50", size = 222862, upload-time = "2025-06-09T22:59:59.498Z" }, + { url = "https://files.pythonhosted.org/packages/1a/52/df81e41ec6b953902c8b7e3a83bee48b195cb0e5ec2eabae5d8330c78038/frozenlist-1.7.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:24c34bea555fe42d9f928ba0a740c553088500377448febecaa82cc3e88aa1fa", size = 222492, upload-time = "2025-06-09T23:00:01.026Z" }, + { url = "https://files.pythonhosted.org/packages/84/17/30d6ea87fa95a9408245a948604b82c1a4b8b3e153cea596421a2aef2754/frozenlist-1.7.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:69cac419ac6a6baad202c85aaf467b65ac860ac2e7f2ac1686dc40dbb52f6577", size = 238250, upload-time = "2025-06-09T23:00:03.401Z" }, + { url = "https://files.pythonhosted.org/packages/8f/00/ecbeb51669e3c3df76cf2ddd66ae3e48345ec213a55e3887d216eb4fbab3/frozenlist-1.7.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:960d67d0611f4c87da7e2ae2eacf7ea81a5be967861e0c63cf205215afbfac59", size = 218720, upload-time = "2025-06-09T23:00:05.282Z" }, + { url = "https://files.pythonhosted.org/packages/1a/c0/c224ce0e0eb31cc57f67742071bb470ba8246623c1823a7530be0e76164c/frozenlist-1.7.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:41be2964bd4b15bf575e5daee5a5ce7ed3115320fb3c2b71fca05582ffa4dc9e", size = 232585, upload-time = "2025-06-09T23:00:07.962Z" }, + { url = "https://files.pythonhosted.org/packages/55/3c/34cb694abf532f31f365106deebdeac9e45c19304d83cf7d51ebbb4ca4d1/frozenlist-1.7.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:46d84d49e00c9429238a7ce02dc0be8f6d7cd0cd405abd1bebdc991bf27c15bd", size = 234248, upload-time = "2025-06-09T23:00:09.428Z" }, + { url = "https://files.pythonhosted.org/packages/98/c0/2052d8b6cecda2e70bd81299e3512fa332abb6dcd2969b9c80dfcdddbf75/frozenlist-1.7.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:15900082e886edb37480335d9d518cec978afc69ccbc30bd18610b7c1b22a718", size = 221621, upload-time = "2025-06-09T23:00:11.32Z" }, + { url = "https://files.pythonhosted.org/packages/c5/bf/7dcebae315436903b1d98ffb791a09d674c88480c158aa171958a3ac07f0/frozenlist-1.7.0-cp310-cp310-win32.whl", hash = "sha256:400ddd24ab4e55014bba442d917203c73b2846391dd42ca5e38ff52bb18c3c5e", size = 39578, upload-time = "2025-06-09T23:00:13.526Z" }, + { url = "https://files.pythonhosted.org/packages/8f/5f/f69818f017fa9a3d24d1ae39763e29b7f60a59e46d5f91b9c6b21622f4cd/frozenlist-1.7.0-cp310-cp310-win_amd64.whl", hash = "sha256:6eb93efb8101ef39d32d50bce242c84bcbddb4f7e9febfa7b524532a239b4464", size = 43830, upload-time = "2025-06-09T23:00:14.98Z" }, + { url = "https://files.pythonhosted.org/packages/34/7e/803dde33760128acd393a27eb002f2020ddb8d99d30a44bfbaab31c5f08a/frozenlist-1.7.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:aa51e147a66b2d74de1e6e2cf5921890de6b0f4820b257465101d7f37b49fb5a", size = 82251, upload-time = "2025-06-09T23:00:16.279Z" }, + { url = "https://files.pythonhosted.org/packages/75/a9/9c2c5760b6ba45eae11334db454c189d43d34a4c0b489feb2175e5e64277/frozenlist-1.7.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9b35db7ce1cd71d36ba24f80f0c9e7cff73a28d7a74e91fe83e23d27c7828750", size = 48183, upload-time = "2025-06-09T23:00:17.698Z" }, + { url = "https://files.pythonhosted.org/packages/47/be/4038e2d869f8a2da165f35a6befb9158c259819be22eeaf9c9a8f6a87771/frozenlist-1.7.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:34a69a85e34ff37791e94542065c8416c1afbf820b68f720452f636d5fb990cd", size = 47107, upload-time = "2025-06-09T23:00:18.952Z" }, + { url = "https://files.pythonhosted.org/packages/79/26/85314b8a83187c76a37183ceed886381a5f992975786f883472fcb6dc5f2/frozenlist-1.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a646531fa8d82c87fe4bb2e596f23173caec9185bfbca5d583b4ccfb95183e2", size = 237333, upload-time = "2025-06-09T23:00:20.275Z" }, + { url = "https://files.pythonhosted.org/packages/1f/fd/e5b64f7d2c92a41639ffb2ad44a6a82f347787abc0c7df5f49057cf11770/frozenlist-1.7.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:79b2ffbba483f4ed36a0f236ccb85fbb16e670c9238313709638167670ba235f", size = 231724, upload-time = "2025-06-09T23:00:21.705Z" }, + { url = "https://files.pythonhosted.org/packages/20/fb/03395c0a43a5976af4bf7534759d214405fbbb4c114683f434dfdd3128ef/frozenlist-1.7.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a26f205c9ca5829cbf82bb2a84b5c36f7184c4316617d7ef1b271a56720d6b30", size = 245842, upload-time = "2025-06-09T23:00:23.148Z" }, + { url = "https://files.pythonhosted.org/packages/d0/15/c01c8e1dffdac5d9803507d824f27aed2ba76b6ed0026fab4d9866e82f1f/frozenlist-1.7.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bcacfad3185a623fa11ea0e0634aac7b691aa925d50a440f39b458e41c561d98", size = 239767, upload-time = "2025-06-09T23:00:25.103Z" }, + { url = "https://files.pythonhosted.org/packages/14/99/3f4c6fe882c1f5514b6848aa0a69b20cb5e5d8e8f51a339d48c0e9305ed0/frozenlist-1.7.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:72c1b0fe8fe451b34f12dce46445ddf14bd2a5bcad7e324987194dc8e3a74c86", size = 224130, upload-time = "2025-06-09T23:00:27.061Z" }, + { url = "https://files.pythonhosted.org/packages/4d/83/220a374bd7b2aeba9d0725130665afe11de347d95c3620b9b82cc2fcab97/frozenlist-1.7.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61d1a5baeaac6c0798ff6edfaeaa00e0e412d49946c53fae8d4b8e8b3566c4ae", size = 235301, upload-time = "2025-06-09T23:00:29.02Z" }, + { url = "https://files.pythonhosted.org/packages/03/3c/3e3390d75334a063181625343e8daab61b77e1b8214802cc4e8a1bb678fc/frozenlist-1.7.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7edf5c043c062462f09b6820de9854bf28cc6cc5b6714b383149745e287181a8", size = 234606, upload-time = "2025-06-09T23:00:30.514Z" }, + { url = "https://files.pythonhosted.org/packages/23/1e/58232c19608b7a549d72d9903005e2d82488f12554a32de2d5fb59b9b1ba/frozenlist-1.7.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:d50ac7627b3a1bd2dcef6f9da89a772694ec04d9a61b66cf87f7d9446b4a0c31", size = 248372, upload-time = "2025-06-09T23:00:31.966Z" }, + { url = "https://files.pythonhosted.org/packages/c0/a4/e4a567e01702a88a74ce8a324691e62a629bf47d4f8607f24bf1c7216e7f/frozenlist-1.7.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ce48b2fece5aeb45265bb7a58259f45027db0abff478e3077e12b05b17fb9da7", size = 229860, upload-time = "2025-06-09T23:00:33.375Z" }, + { url = "https://files.pythonhosted.org/packages/73/a6/63b3374f7d22268b41a9db73d68a8233afa30ed164c46107b33c4d18ecdd/frozenlist-1.7.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:fe2365ae915a1fafd982c146754e1de6ab3478def8a59c86e1f7242d794f97d5", size = 245893, upload-time = "2025-06-09T23:00:35.002Z" }, + { url = "https://files.pythonhosted.org/packages/6d/eb/d18b3f6e64799a79673c4ba0b45e4cfbe49c240edfd03a68be20002eaeaa/frozenlist-1.7.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:45a6f2fdbd10e074e8814eb98b05292f27bad7d1883afbe009d96abdcf3bc898", size = 246323, upload-time = "2025-06-09T23:00:36.468Z" }, + { url = "https://files.pythonhosted.org/packages/5a/f5/720f3812e3d06cd89a1d5db9ff6450088b8f5c449dae8ffb2971a44da506/frozenlist-1.7.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:21884e23cffabb157a9dd7e353779077bf5b8f9a58e9b262c6caad2ef5f80a56", size = 233149, upload-time = "2025-06-09T23:00:37.963Z" }, + { url = "https://files.pythonhosted.org/packages/69/68/03efbf545e217d5db8446acfd4c447c15b7c8cf4dbd4a58403111df9322d/frozenlist-1.7.0-cp311-cp311-win32.whl", hash = "sha256:284d233a8953d7b24f9159b8a3496fc1ddc00f4db99c324bd5fb5f22d8698ea7", size = 39565, upload-time = "2025-06-09T23:00:39.753Z" }, + { url = "https://files.pythonhosted.org/packages/58/17/fe61124c5c333ae87f09bb67186d65038834a47d974fc10a5fadb4cc5ae1/frozenlist-1.7.0-cp311-cp311-win_amd64.whl", hash = "sha256:387cbfdcde2f2353f19c2f66bbb52406d06ed77519ac7ee21be0232147c2592d", size = 44019, upload-time = "2025-06-09T23:00:40.988Z" }, + { url = "https://files.pythonhosted.org/packages/ef/a2/c8131383f1e66adad5f6ecfcce383d584ca94055a34d683bbb24ac5f2f1c/frozenlist-1.7.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:3dbf9952c4bb0e90e98aec1bd992b3318685005702656bc6f67c1a32b76787f2", size = 81424, upload-time = "2025-06-09T23:00:42.24Z" }, + { url = "https://files.pythonhosted.org/packages/4c/9d/02754159955088cb52567337d1113f945b9e444c4960771ea90eb73de8db/frozenlist-1.7.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:1f5906d3359300b8a9bb194239491122e6cf1444c2efb88865426f170c262cdb", size = 47952, upload-time = "2025-06-09T23:00:43.481Z" }, + { url = "https://files.pythonhosted.org/packages/01/7a/0046ef1bd6699b40acd2067ed6d6670b4db2f425c56980fa21c982c2a9db/frozenlist-1.7.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3dabd5a8f84573c8d10d8859a50ea2dec01eea372031929871368c09fa103478", size = 46688, upload-time = "2025-06-09T23:00:44.793Z" }, + { url = "https://files.pythonhosted.org/packages/d6/a2/a910bafe29c86997363fb4c02069df4ff0b5bc39d33c5198b4e9dd42d8f8/frozenlist-1.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa57daa5917f1738064f302bf2626281a1cb01920c32f711fbc7bc36111058a8", size = 243084, upload-time = "2025-06-09T23:00:46.125Z" }, + { url = "https://files.pythonhosted.org/packages/64/3e/5036af9d5031374c64c387469bfcc3af537fc0f5b1187d83a1cf6fab1639/frozenlist-1.7.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c193dda2b6d49f4c4398962810fa7d7c78f032bf45572b3e04dd5249dff27e08", size = 233524, upload-time = "2025-06-09T23:00:47.73Z" }, + { url = "https://files.pythonhosted.org/packages/06/39/6a17b7c107a2887e781a48ecf20ad20f1c39d94b2a548c83615b5b879f28/frozenlist-1.7.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bfe2b675cf0aaa6d61bf8fbffd3c274b3c9b7b1623beb3809df8a81399a4a9c4", size = 248493, upload-time = "2025-06-09T23:00:49.742Z" }, + { url = "https://files.pythonhosted.org/packages/be/00/711d1337c7327d88c44d91dd0f556a1c47fb99afc060ae0ef66b4d24793d/frozenlist-1.7.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8fc5d5cda37f62b262405cf9652cf0856839c4be8ee41be0afe8858f17f4c94b", size = 244116, upload-time = "2025-06-09T23:00:51.352Z" }, + { url = "https://files.pythonhosted.org/packages/24/fe/74e6ec0639c115df13d5850e75722750adabdc7de24e37e05a40527ca539/frozenlist-1.7.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b0d5ce521d1dd7d620198829b87ea002956e4319002ef0bc8d3e6d045cb4646e", size = 224557, upload-time = "2025-06-09T23:00:52.855Z" }, + { url = "https://files.pythonhosted.org/packages/8d/db/48421f62a6f77c553575201e89048e97198046b793f4a089c79a6e3268bd/frozenlist-1.7.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:488d0a7d6a0008ca0db273c542098a0fa9e7dfaa7e57f70acef43f32b3f69dca", size = 241820, upload-time = "2025-06-09T23:00:54.43Z" }, + { url = "https://files.pythonhosted.org/packages/1d/fa/cb4a76bea23047c8462976ea7b7a2bf53997a0ca171302deae9d6dd12096/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:15a7eaba63983d22c54d255b854e8108e7e5f3e89f647fc854bd77a237e767df", size = 236542, upload-time = "2025-06-09T23:00:56.409Z" }, + { url = "https://files.pythonhosted.org/packages/5d/32/476a4b5cfaa0ec94d3f808f193301debff2ea42288a099afe60757ef6282/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:1eaa7e9c6d15df825bf255649e05bd8a74b04a4d2baa1ae46d9c2d00b2ca2cb5", size = 249350, upload-time = "2025-06-09T23:00:58.468Z" }, + { url = "https://files.pythonhosted.org/packages/8d/ba/9a28042f84a6bf8ea5dbc81cfff8eaef18d78b2a1ad9d51c7bc5b029ad16/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e4389e06714cfa9d47ab87f784a7c5be91d3934cd6e9a7b85beef808297cc025", size = 225093, upload-time = "2025-06-09T23:01:00.015Z" }, + { url = "https://files.pythonhosted.org/packages/bc/29/3a32959e68f9cf000b04e79ba574527c17e8842e38c91d68214a37455786/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:73bd45e1488c40b63fe5a7df892baf9e2a4d4bb6409a2b3b78ac1c6236178e01", size = 245482, upload-time = "2025-06-09T23:01:01.474Z" }, + { url = "https://files.pythonhosted.org/packages/80/e8/edf2f9e00da553f07f5fa165325cfc302dead715cab6ac8336a5f3d0adc2/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:99886d98e1643269760e5fe0df31e5ae7050788dd288947f7f007209b8c33f08", size = 249590, upload-time = "2025-06-09T23:01:02.961Z" }, + { url = "https://files.pythonhosted.org/packages/1c/80/9a0eb48b944050f94cc51ee1c413eb14a39543cc4f760ed12657a5a3c45a/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:290a172aae5a4c278c6da8a96222e6337744cd9c77313efe33d5670b9f65fc43", size = 237785, upload-time = "2025-06-09T23:01:05.095Z" }, + { url = "https://files.pythonhosted.org/packages/f3/74/87601e0fb0369b7a2baf404ea921769c53b7ae00dee7dcfe5162c8c6dbf0/frozenlist-1.7.0-cp312-cp312-win32.whl", hash = "sha256:426c7bc70e07cfebc178bc4c2bf2d861d720c4fff172181eeb4a4c41d4ca2ad3", size = 39487, upload-time = "2025-06-09T23:01:06.54Z" }, + { url = "https://files.pythonhosted.org/packages/0b/15/c026e9a9fc17585a9d461f65d8593d281fedf55fbf7eb53f16c6df2392f9/frozenlist-1.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:563b72efe5da92e02eb68c59cb37205457c977aa7a449ed1b37e6939e5c47c6a", size = 43874, upload-time = "2025-06-09T23:01:07.752Z" }, + { url = "https://files.pythonhosted.org/packages/24/90/6b2cebdabdbd50367273c20ff6b57a3dfa89bd0762de02c3a1eb42cb6462/frozenlist-1.7.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ee80eeda5e2a4e660651370ebffd1286542b67e268aa1ac8d6dbe973120ef7ee", size = 79791, upload-time = "2025-06-09T23:01:09.368Z" }, + { url = "https://files.pythonhosted.org/packages/83/2e/5b70b6a3325363293fe5fc3ae74cdcbc3e996c2a11dde2fd9f1fb0776d19/frozenlist-1.7.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d1a81c85417b914139e3a9b995d4a1c84559afc839a93cf2cb7f15e6e5f6ed2d", size = 47165, upload-time = "2025-06-09T23:01:10.653Z" }, + { url = "https://files.pythonhosted.org/packages/f4/25/a0895c99270ca6966110f4ad98e87e5662eab416a17e7fd53c364bf8b954/frozenlist-1.7.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cbb65198a9132ebc334f237d7b0df163e4de83fb4f2bdfe46c1e654bdb0c5d43", size = 45881, upload-time = "2025-06-09T23:01:12.296Z" }, + { url = "https://files.pythonhosted.org/packages/19/7c/71bb0bbe0832793c601fff68cd0cf6143753d0c667f9aec93d3c323f4b55/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dab46c723eeb2c255a64f9dc05b8dd601fde66d6b19cdb82b2e09cc6ff8d8b5d", size = 232409, upload-time = "2025-06-09T23:01:13.641Z" }, + { url = "https://files.pythonhosted.org/packages/c0/45/ed2798718910fe6eb3ba574082aaceff4528e6323f9a8570be0f7028d8e9/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6aeac207a759d0dedd2e40745575ae32ab30926ff4fa49b1635def65806fddee", size = 225132, upload-time = "2025-06-09T23:01:15.264Z" }, + { url = "https://files.pythonhosted.org/packages/ba/e2/8417ae0f8eacb1d071d4950f32f229aa6bf68ab69aab797b72a07ea68d4f/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bd8c4e58ad14b4fa7802b8be49d47993182fdd4023393899632c88fd8cd994eb", size = 237638, upload-time = "2025-06-09T23:01:16.752Z" }, + { url = "https://files.pythonhosted.org/packages/f8/b7/2ace5450ce85f2af05a871b8c8719b341294775a0a6c5585d5e6170f2ce7/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:04fb24d104f425da3540ed83cbfc31388a586a7696142004c577fa61c6298c3f", size = 233539, upload-time = "2025-06-09T23:01:18.202Z" }, + { url = "https://files.pythonhosted.org/packages/46/b9/6989292c5539553dba63f3c83dc4598186ab2888f67c0dc1d917e6887db6/frozenlist-1.7.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6a5c505156368e4ea6b53b5ac23c92d7edc864537ff911d2fb24c140bb175e60", size = 215646, upload-time = "2025-06-09T23:01:19.649Z" }, + { url = "https://files.pythonhosted.org/packages/72/31/bc8c5c99c7818293458fe745dab4fd5730ff49697ccc82b554eb69f16a24/frozenlist-1.7.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8bd7eb96a675f18aa5c553eb7ddc24a43c8c18f22e1f9925528128c052cdbe00", size = 232233, upload-time = "2025-06-09T23:01:21.175Z" }, + { url = "https://files.pythonhosted.org/packages/59/52/460db4d7ba0811b9ccb85af996019f5d70831f2f5f255f7cc61f86199795/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:05579bf020096fe05a764f1f84cd104a12f78eaab68842d036772dc6d4870b4b", size = 227996, upload-time = "2025-06-09T23:01:23.098Z" }, + { url = "https://files.pythonhosted.org/packages/ba/c9/f4b39e904c03927b7ecf891804fd3b4df3db29b9e487c6418e37988d6e9d/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:376b6222d114e97eeec13d46c486facd41d4f43bab626b7c3f6a8b4e81a5192c", size = 242280, upload-time = "2025-06-09T23:01:24.808Z" }, + { url = "https://files.pythonhosted.org/packages/b8/33/3f8d6ced42f162d743e3517781566b8481322be321b486d9d262adf70bfb/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:0aa7e176ebe115379b5b1c95b4096fb1c17cce0847402e227e712c27bdb5a949", size = 217717, upload-time = "2025-06-09T23:01:26.28Z" }, + { url = "https://files.pythonhosted.org/packages/3e/e8/ad683e75da6ccef50d0ab0c2b2324b32f84fc88ceee778ed79b8e2d2fe2e/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3fbba20e662b9c2130dc771e332a99eff5da078b2b2648153a40669a6d0e36ca", size = 236644, upload-time = "2025-06-09T23:01:27.887Z" }, + { url = "https://files.pythonhosted.org/packages/b2/14/8d19ccdd3799310722195a72ac94ddc677541fb4bef4091d8e7775752360/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:f3f4410a0a601d349dd406b5713fec59b4cee7e71678d5b17edda7f4655a940b", size = 238879, upload-time = "2025-06-09T23:01:29.524Z" }, + { url = "https://files.pythonhosted.org/packages/ce/13/c12bf657494c2fd1079a48b2db49fa4196325909249a52d8f09bc9123fd7/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e2cdfaaec6a2f9327bf43c933c0319a7c429058e8537c508964a133dffee412e", size = 232502, upload-time = "2025-06-09T23:01:31.287Z" }, + { url = "https://files.pythonhosted.org/packages/d7/8b/e7f9dfde869825489382bc0d512c15e96d3964180c9499efcec72e85db7e/frozenlist-1.7.0-cp313-cp313-win32.whl", hash = "sha256:5fc4df05a6591c7768459caba1b342d9ec23fa16195e744939ba5914596ae3e1", size = 39169, upload-time = "2025-06-09T23:01:35.503Z" }, + { url = "https://files.pythonhosted.org/packages/35/89/a487a98d94205d85745080a37860ff5744b9820a2c9acbcdd9440bfddf98/frozenlist-1.7.0-cp313-cp313-win_amd64.whl", hash = "sha256:52109052b9791a3e6b5d1b65f4b909703984b770694d3eb64fad124c835d7cba", size = 43219, upload-time = "2025-06-09T23:01:36.784Z" }, + { url = "https://files.pythonhosted.org/packages/56/d5/5c4cf2319a49eddd9dd7145e66c4866bdc6f3dbc67ca3d59685149c11e0d/frozenlist-1.7.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:a6f86e4193bb0e235ef6ce3dde5cbabed887e0b11f516ce8a0f4d3b33078ec2d", size = 84345, upload-time = "2025-06-09T23:01:38.295Z" }, + { url = "https://files.pythonhosted.org/packages/a4/7d/ec2c1e1dc16b85bc9d526009961953df9cec8481b6886debb36ec9107799/frozenlist-1.7.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:82d664628865abeb32d90ae497fb93df398a69bb3434463d172b80fc25b0dd7d", size = 48880, upload-time = "2025-06-09T23:01:39.887Z" }, + { url = "https://files.pythonhosted.org/packages/69/86/f9596807b03de126e11e7d42ac91e3d0b19a6599c714a1989a4e85eeefc4/frozenlist-1.7.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:912a7e8375a1c9a68325a902f3953191b7b292aa3c3fb0d71a216221deca460b", size = 48498, upload-time = "2025-06-09T23:01:41.318Z" }, + { url = "https://files.pythonhosted.org/packages/5e/cb/df6de220f5036001005f2d726b789b2c0b65f2363b104bbc16f5be8084f8/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9537c2777167488d539bc5de2ad262efc44388230e5118868e172dd4a552b146", size = 292296, upload-time = "2025-06-09T23:01:42.685Z" }, + { url = "https://files.pythonhosted.org/packages/83/1f/de84c642f17c8f851a2905cee2dae401e5e0daca9b5ef121e120e19aa825/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:f34560fb1b4c3e30ba35fa9a13894ba39e5acfc5f60f57d8accde65f46cc5e74", size = 273103, upload-time = "2025-06-09T23:01:44.166Z" }, + { url = "https://files.pythonhosted.org/packages/88/3c/c840bfa474ba3fa13c772b93070893c6e9d5c0350885760376cbe3b6c1b3/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:acd03d224b0175f5a850edc104ac19040d35419eddad04e7cf2d5986d98427f1", size = 292869, upload-time = "2025-06-09T23:01:45.681Z" }, + { url = "https://files.pythonhosted.org/packages/a6/1c/3efa6e7d5a39a1d5ef0abeb51c48fb657765794a46cf124e5aca2c7a592c/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2038310bc582f3d6a09b3816ab01737d60bf7b1ec70f5356b09e84fb7408ab1", size = 291467, upload-time = "2025-06-09T23:01:47.234Z" }, + { url = "https://files.pythonhosted.org/packages/4f/00/d5c5e09d4922c395e2f2f6b79b9a20dab4b67daaf78ab92e7729341f61f6/frozenlist-1.7.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b8c05e4c8e5f36e5e088caa1bf78a687528f83c043706640a92cb76cd6999384", size = 266028, upload-time = "2025-06-09T23:01:48.819Z" }, + { url = "https://files.pythonhosted.org/packages/4e/27/72765be905619dfde25a7f33813ac0341eb6b076abede17a2e3fbfade0cb/frozenlist-1.7.0-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:765bb588c86e47d0b68f23c1bee323d4b703218037765dcf3f25c838c6fecceb", size = 284294, upload-time = "2025-06-09T23:01:50.394Z" }, + { url = "https://files.pythonhosted.org/packages/88/67/c94103a23001b17808eb7dd1200c156bb69fb68e63fcf0693dde4cd6228c/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:32dc2e08c67d86d0969714dd484fd60ff08ff81d1a1e40a77dd34a387e6ebc0c", size = 281898, upload-time = "2025-06-09T23:01:52.234Z" }, + { url = "https://files.pythonhosted.org/packages/42/34/a3e2c00c00f9e2a9db5653bca3fec306349e71aff14ae45ecc6d0951dd24/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:c0303e597eb5a5321b4de9c68e9845ac8f290d2ab3f3e2c864437d3c5a30cd65", size = 290465, upload-time = "2025-06-09T23:01:53.788Z" }, + { url = "https://files.pythonhosted.org/packages/bb/73/f89b7fbce8b0b0c095d82b008afd0590f71ccb3dee6eee41791cf8cd25fd/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:a47f2abb4e29b3a8d0b530f7c3598badc6b134562b1a5caee867f7c62fee51e3", size = 266385, upload-time = "2025-06-09T23:01:55.769Z" }, + { url = "https://files.pythonhosted.org/packages/cd/45/e365fdb554159462ca12df54bc59bfa7a9a273ecc21e99e72e597564d1ae/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:3d688126c242a6fabbd92e02633414d40f50bb6002fa4cf995a1d18051525657", size = 288771, upload-time = "2025-06-09T23:01:57.4Z" }, + { url = "https://files.pythonhosted.org/packages/00/11/47b6117002a0e904f004d70ec5194fe9144f117c33c851e3d51c765962d0/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:4e7e9652b3d367c7bd449a727dc79d5043f48b88d0cbfd4f9f1060cf2b414104", size = 288206, upload-time = "2025-06-09T23:01:58.936Z" }, + { url = "https://files.pythonhosted.org/packages/40/37/5f9f3c3fd7f7746082ec67bcdc204db72dad081f4f83a503d33220a92973/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:1a85e345b4c43db8b842cab1feb41be5cc0b10a1830e6295b69d7310f99becaf", size = 282620, upload-time = "2025-06-09T23:02:00.493Z" }, + { url = "https://files.pythonhosted.org/packages/0b/31/8fbc5af2d183bff20f21aa743b4088eac4445d2bb1cdece449ae80e4e2d1/frozenlist-1.7.0-cp313-cp313t-win32.whl", hash = "sha256:3a14027124ddb70dfcee5148979998066897e79f89f64b13328595c4bdf77c81", size = 43059, upload-time = "2025-06-09T23:02:02.072Z" }, + { url = "https://files.pythonhosted.org/packages/bb/ed/41956f52105b8dbc26e457c5705340c67c8cc2b79f394b79bffc09d0e938/frozenlist-1.7.0-cp313-cp313t-win_amd64.whl", hash = "sha256:3bf8010d71d4507775f658e9823210b7427be36625b387221642725b515dcf3e", size = 47516, upload-time = "2025-06-09T23:02:03.779Z" }, + { url = "https://files.pythonhosted.org/packages/dd/b1/ee59496f51cd244039330015d60f13ce5a54a0f2bd8d79e4a4a375ab7469/frozenlist-1.7.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:cea3dbd15aea1341ea2de490574a4a37ca080b2ae24e4b4f4b51b9057b4c3630", size = 82434, upload-time = "2025-06-09T23:02:05.195Z" }, + { url = "https://files.pythonhosted.org/packages/75/e1/d518391ce36a6279b3fa5bc14327dde80bcb646bb50d059c6ca0756b8d05/frozenlist-1.7.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7d536ee086b23fecc36c2073c371572374ff50ef4db515e4e503925361c24f71", size = 48232, upload-time = "2025-06-09T23:02:07.728Z" }, + { url = "https://files.pythonhosted.org/packages/b7/8d/a0d04f28b6e821a9685c22e67b5fb798a5a7b68752f104bfbc2dccf080c4/frozenlist-1.7.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:dfcebf56f703cb2e346315431699f00db126d158455e513bd14089d992101e44", size = 47186, upload-time = "2025-06-09T23:02:09.243Z" }, + { url = "https://files.pythonhosted.org/packages/93/3a/a5334c0535c8b7c78eeabda1579179e44fe3d644e07118e59a2276dedaf1/frozenlist-1.7.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:974c5336e61d6e7eb1ea5b929cb645e882aadab0095c5a6974a111e6479f8878", size = 226617, upload-time = "2025-06-09T23:02:10.949Z" }, + { url = "https://files.pythonhosted.org/packages/0a/67/8258d971f519dc3f278c55069a775096cda6610a267b53f6248152b72b2f/frozenlist-1.7.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c70db4a0ab5ab20878432c40563573229a7ed9241506181bba12f6b7d0dc41cb", size = 224179, upload-time = "2025-06-09T23:02:12.603Z" }, + { url = "https://files.pythonhosted.org/packages/fc/89/8225905bf889b97c6d935dd3aeb45668461e59d415cb019619383a8a7c3b/frozenlist-1.7.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1137b78384eebaf70560a36b7b229f752fb64d463d38d1304939984d5cb887b6", size = 235783, upload-time = "2025-06-09T23:02:14.678Z" }, + { url = "https://files.pythonhosted.org/packages/54/6e/ef52375aa93d4bc510d061df06205fa6dcfd94cd631dd22956b09128f0d4/frozenlist-1.7.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e793a9f01b3e8b5c0bc646fb59140ce0efcc580d22a3468d70766091beb81b35", size = 229210, upload-time = "2025-06-09T23:02:16.313Z" }, + { url = "https://files.pythonhosted.org/packages/ee/55/62c87d1a6547bfbcd645df10432c129100c5bd0fd92a384de6e3378b07c1/frozenlist-1.7.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:74739ba8e4e38221d2c5c03d90a7e542cb8ad681915f4ca8f68d04f810ee0a87", size = 215994, upload-time = "2025-06-09T23:02:17.9Z" }, + { url = "https://files.pythonhosted.org/packages/45/d2/263fea1f658b8ad648c7d94d18a87bca7e8c67bd6a1bbf5445b1bd5b158c/frozenlist-1.7.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e63344c4e929b1a01e29bc184bbb5fd82954869033765bfe8d65d09e336a677", size = 225122, upload-time = "2025-06-09T23:02:19.479Z" }, + { url = "https://files.pythonhosted.org/packages/7b/22/7145e35d12fb368d92124f679bea87309495e2e9ddf14c6533990cb69218/frozenlist-1.7.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2ea2a7369eb76de2217a842f22087913cdf75f63cf1307b9024ab82dfb525938", size = 224019, upload-time = "2025-06-09T23:02:20.969Z" }, + { url = "https://files.pythonhosted.org/packages/44/1e/7dae8c54301beb87bcafc6144b9a103bfd2c8f38078c7902984c9a0c4e5b/frozenlist-1.7.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:836b42f472a0e006e02499cef9352ce8097f33df43baaba3e0a28a964c26c7d2", size = 239925, upload-time = "2025-06-09T23:02:22.466Z" }, + { url = "https://files.pythonhosted.org/packages/4b/1e/99c93e54aa382e949a98976a73b9b20c3aae6d9d893f31bbe4991f64e3a8/frozenlist-1.7.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:e22b9a99741294b2571667c07d9f8cceec07cb92aae5ccda39ea1b6052ed4319", size = 220881, upload-time = "2025-06-09T23:02:24.521Z" }, + { url = "https://files.pythonhosted.org/packages/5e/9c/ca5105fa7fb5abdfa8837581be790447ae051da75d32f25c8f81082ffc45/frozenlist-1.7.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:9a19e85cc503d958abe5218953df722748d87172f71b73cf3c9257a91b999890", size = 234046, upload-time = "2025-06-09T23:02:26.206Z" }, + { url = "https://files.pythonhosted.org/packages/8d/4d/e99014756093b4ddbb67fb8f0df11fe7a415760d69ace98e2ac6d5d43402/frozenlist-1.7.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:f22dac33bb3ee8fe3e013aa7b91dc12f60d61d05b7fe32191ffa84c3aafe77bd", size = 235756, upload-time = "2025-06-09T23:02:27.79Z" }, + { url = "https://files.pythonhosted.org/packages/8b/72/a19a40bcdaa28a51add2aaa3a1a294ec357f36f27bd836a012e070c5e8a5/frozenlist-1.7.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:9ccec739a99e4ccf664ea0775149f2749b8a6418eb5b8384b4dc0a7d15d304cb", size = 222894, upload-time = "2025-06-09T23:02:29.848Z" }, + { url = "https://files.pythonhosted.org/packages/08/49/0042469993e023a758af81db68c76907cd29e847d772334d4d201cbe9a42/frozenlist-1.7.0-cp39-cp39-win32.whl", hash = "sha256:b3950f11058310008a87757f3eee16a8e1ca97979833239439586857bc25482e", size = 39848, upload-time = "2025-06-09T23:02:31.413Z" }, + { url = "https://files.pythonhosted.org/packages/5a/45/827d86ee475c877f5f766fbc23fb6acb6fada9e52f1c9720e2ba3eae32da/frozenlist-1.7.0-cp39-cp39-win_amd64.whl", hash = "sha256:43a82fce6769c70f2f5a06248b614a7d268080a9d20f7457ef10ecee5af82b63", size = 44102, upload-time = "2025-06-09T23:02:32.808Z" }, + { url = "https://files.pythonhosted.org/packages/ee/45/b82e3c16be2182bff01179db177fe144d58b5dc787a7d4492c6ed8b9317f/frozenlist-1.7.0-py3-none-any.whl", hash = "sha256:9a5af342e34f7e97caf8c995864c7a396418ae2859cc6fdf1b1073020d516a7e", size = 13106, upload-time = "2025-06-09T23:02:34.204Z" }, +] + +[[package]] +name = "h11" +version = "0.16.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250, upload-time = "2025-04-24T03:35:25.427Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload-time = "2025-04-24T03:35:24.344Z" }, +] + +[[package]] +name = "hexbytes" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7f/87/adf4635b4b8c050283d74e6db9a81496063229c9263e6acc1903ab79fbec/hexbytes-1.3.1.tar.gz", hash = "sha256:a657eebebdfe27254336f98d8af6e2236f3f83aed164b87466b6cf6c5f5a4765", size = 8633, upload-time = "2025-05-14T16:45:17.5Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8d/e0/3b31492b1c89da3c5a846680517871455b30c54738486fc57ac79a5761bd/hexbytes-1.3.1-py3-none-any.whl", hash = "sha256:da01ff24a1a9a2b1881c4b85f0e9f9b0f51b526b379ffa23832ae7899d29c2c7", size = 5074, upload-time = "2025-05-14T16:45:16.179Z" }, +] + +[[package]] +name = "httpcore" +version = "1.0.9" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "h11" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 85484, upload-time = "2025-04-24T22:06:22.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 78784, upload-time = "2025-04-24T22:06:20.566Z" }, +] + +[[package]] +name = "httpx" +version = "0.28.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "certifi" }, + { name = "httpcore" }, + { name = "idna" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload-time = "2024-12-06T15:37:23.222Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload-time = "2024-12-06T15:37:21.509Z" }, +] + +[[package]] +name = "identify" +version = "2.6.13" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/82/ca/ffbabe3635bb839aa36b3a893c91a9b0d368cb4d8073e03a12896970af82/identify-2.6.13.tar.gz", hash = "sha256:da8d6c828e773620e13bfa86ea601c5a5310ba4bcd65edf378198b56a1f9fb32", size = 99243, upload-time = "2025-08-09T19:35:00.6Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/ce/461b60a3ee109518c055953729bf9ed089a04db895d47e95444071dcdef2/identify-2.6.13-py2.py3-none-any.whl", hash = "sha256:60381139b3ae39447482ecc406944190f690d4a2997f2584062089848361b33b", size = 99153, upload-time = "2025-08-09T19:34:59.1Z" }, +] + +[[package]] +name = "idna" +version = "3.10" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" }, +] + +[[package]] +name = "iniconfig" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793, upload-time = "2025-03-19T20:09:59.721Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050, upload-time = "2025-03-19T20:10:01.071Z" }, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, +] + +[[package]] +name = "jiter" +version = "0.10.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/9d/ae7ddb4b8ab3fb1b51faf4deb36cb48a4fbbd7cb36bad6a5fca4741306f7/jiter-0.10.0.tar.gz", hash = "sha256:07a7142c38aacc85194391108dc91b5b57093c978a9932bd86a36862759d9500", size = 162759, upload-time = "2025-05-18T19:04:59.73Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/be/7e/4011b5c77bec97cb2b572f566220364e3e21b51c48c5bd9c4a9c26b41b67/jiter-0.10.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:cd2fb72b02478f06a900a5782de2ef47e0396b3e1f7d5aba30daeb1fce66f303", size = 317215, upload-time = "2025-05-18T19:03:04.303Z" }, + { url = "https://files.pythonhosted.org/packages/8a/4f/144c1b57c39692efc7ea7d8e247acf28e47d0912800b34d0ad815f6b2824/jiter-0.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:32bb468e3af278f095d3fa5b90314728a6916d89ba3d0ffb726dd9bf7367285e", size = 322814, upload-time = "2025-05-18T19:03:06.433Z" }, + { url = "https://files.pythonhosted.org/packages/63/1f/db977336d332a9406c0b1f0b82be6f71f72526a806cbb2281baf201d38e3/jiter-0.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa8b3e0068c26ddedc7abc6fac37da2d0af16b921e288a5a613f4b86f050354f", size = 345237, upload-time = "2025-05-18T19:03:07.833Z" }, + { url = "https://files.pythonhosted.org/packages/d7/1c/aa30a4a775e8a672ad7f21532bdbfb269f0706b39c6ff14e1f86bdd9e5ff/jiter-0.10.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:286299b74cc49e25cd42eea19b72aa82c515d2f2ee12d11392c56d8701f52224", size = 370999, upload-time = "2025-05-18T19:03:09.338Z" }, + { url = "https://files.pythonhosted.org/packages/35/df/f8257abc4207830cb18880781b5f5b716bad5b2a22fb4330cfd357407c5b/jiter-0.10.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6ed5649ceeaeffc28d87fb012d25a4cd356dcd53eff5acff1f0466b831dda2a7", size = 491109, upload-time = "2025-05-18T19:03:11.13Z" }, + { url = "https://files.pythonhosted.org/packages/06/76/9e1516fd7b4278aa13a2cc7f159e56befbea9aa65c71586305e7afa8b0b3/jiter-0.10.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2ab0051160cb758a70716448908ef14ad476c3774bd03ddce075f3c1f90a3d6", size = 388608, upload-time = "2025-05-18T19:03:12.911Z" }, + { url = "https://files.pythonhosted.org/packages/6d/64/67750672b4354ca20ca18d3d1ccf2c62a072e8a2d452ac3cf8ced73571ef/jiter-0.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03997d2f37f6b67d2f5c475da4412be584e1cec273c1cfc03d642c46db43f8cf", size = 352454, upload-time = "2025-05-18T19:03:14.741Z" }, + { url = "https://files.pythonhosted.org/packages/96/4d/5c4e36d48f169a54b53a305114be3efa2bbffd33b648cd1478a688f639c1/jiter-0.10.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c404a99352d839fed80d6afd6c1d66071f3bacaaa5c4268983fc10f769112e90", size = 391833, upload-time = "2025-05-18T19:03:16.426Z" }, + { url = "https://files.pythonhosted.org/packages/0b/de/ce4a6166a78810bd83763d2fa13f85f73cbd3743a325469a4a9289af6dae/jiter-0.10.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:66e989410b6666d3ddb27a74c7e50d0829704ede652fd4c858e91f8d64b403d0", size = 523646, upload-time = "2025-05-18T19:03:17.704Z" }, + { url = "https://files.pythonhosted.org/packages/a2/a6/3bc9acce53466972964cf4ad85efecb94f9244539ab6da1107f7aed82934/jiter-0.10.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b532d3af9ef4f6374609a3bcb5e05a1951d3bf6190dc6b176fdb277c9bbf15ee", size = 514735, upload-time = "2025-05-18T19:03:19.44Z" }, + { url = "https://files.pythonhosted.org/packages/b4/d8/243c2ab8426a2a4dea85ba2a2ba43df379ccece2145320dfd4799b9633c5/jiter-0.10.0-cp310-cp310-win32.whl", hash = "sha256:da9be20b333970e28b72edc4dff63d4fec3398e05770fb3205f7fb460eb48dd4", size = 210747, upload-time = "2025-05-18T19:03:21.184Z" }, + { url = "https://files.pythonhosted.org/packages/37/7a/8021bd615ef7788b98fc76ff533eaac846322c170e93cbffa01979197a45/jiter-0.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:f59e533afed0c5b0ac3eba20d2548c4a550336d8282ee69eb07b37ea526ee4e5", size = 207484, upload-time = "2025-05-18T19:03:23.046Z" }, + { url = "https://files.pythonhosted.org/packages/1b/dd/6cefc6bd68b1c3c979cecfa7029ab582b57690a31cd2f346c4d0ce7951b6/jiter-0.10.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:3bebe0c558e19902c96e99217e0b8e8b17d570906e72ed8a87170bc290b1e978", size = 317473, upload-time = "2025-05-18T19:03:25.942Z" }, + { url = "https://files.pythonhosted.org/packages/be/cf/fc33f5159ce132be1d8dd57251a1ec7a631c7df4bd11e1cd198308c6ae32/jiter-0.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:558cc7e44fd8e507a236bee6a02fa17199ba752874400a0ca6cd6e2196cdb7dc", size = 321971, upload-time = "2025-05-18T19:03:27.255Z" }, + { url = "https://files.pythonhosted.org/packages/68/a4/da3f150cf1d51f6c472616fb7650429c7ce053e0c962b41b68557fdf6379/jiter-0.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d613e4b379a07d7c8453c5712ce7014e86c6ac93d990a0b8e7377e18505e98d", size = 345574, upload-time = "2025-05-18T19:03:28.63Z" }, + { url = "https://files.pythonhosted.org/packages/84/34/6e8d412e60ff06b186040e77da5f83bc158e9735759fcae65b37d681f28b/jiter-0.10.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f62cf8ba0618eda841b9bf61797f21c5ebd15a7a1e19daab76e4e4b498d515b2", size = 371028, upload-time = "2025-05-18T19:03:30.292Z" }, + { url = "https://files.pythonhosted.org/packages/fb/d9/9ee86173aae4576c35a2f50ae930d2ccb4c4c236f6cb9353267aa1d626b7/jiter-0.10.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:919d139cdfa8ae8945112398511cb7fca58a77382617d279556b344867a37e61", size = 491083, upload-time = "2025-05-18T19:03:31.654Z" }, + { url = "https://files.pythonhosted.org/packages/d9/2c/f955de55e74771493ac9e188b0f731524c6a995dffdcb8c255b89c6fb74b/jiter-0.10.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:13ddbc6ae311175a3b03bd8994881bc4635c923754932918e18da841632349db", size = 388821, upload-time = "2025-05-18T19:03:33.184Z" }, + { url = "https://files.pythonhosted.org/packages/81/5a/0e73541b6edd3f4aada586c24e50626c7815c561a7ba337d6a7eb0a915b4/jiter-0.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c440ea003ad10927a30521a9062ce10b5479592e8a70da27f21eeb457b4a9c5", size = 352174, upload-time = "2025-05-18T19:03:34.965Z" }, + { url = "https://files.pythonhosted.org/packages/1c/c0/61eeec33b8c75b31cae42be14d44f9e6fe3ac15a4e58010256ac3abf3638/jiter-0.10.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:dc347c87944983481e138dea467c0551080c86b9d21de6ea9306efb12ca8f606", size = 391869, upload-time = "2025-05-18T19:03:36.436Z" }, + { url = "https://files.pythonhosted.org/packages/41/22/5beb5ee4ad4ef7d86f5ea5b4509f680a20706c4a7659e74344777efb7739/jiter-0.10.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:13252b58c1f4d8c5b63ab103c03d909e8e1e7842d302473f482915d95fefd605", size = 523741, upload-time = "2025-05-18T19:03:38.168Z" }, + { url = "https://files.pythonhosted.org/packages/ea/10/768e8818538e5817c637b0df52e54366ec4cebc3346108a4457ea7a98f32/jiter-0.10.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7d1bbf3c465de4a24ab12fb7766a0003f6f9bce48b8b6a886158c4d569452dc5", size = 514527, upload-time = "2025-05-18T19:03:39.577Z" }, + { url = "https://files.pythonhosted.org/packages/73/6d/29b7c2dc76ce93cbedabfd842fc9096d01a0550c52692dfc33d3cc889815/jiter-0.10.0-cp311-cp311-win32.whl", hash = "sha256:db16e4848b7e826edca4ccdd5b145939758dadf0dc06e7007ad0e9cfb5928ae7", size = 210765, upload-time = "2025-05-18T19:03:41.271Z" }, + { url = "https://files.pythonhosted.org/packages/c2/c9/d394706deb4c660137caf13e33d05a031d734eb99c051142e039d8ceb794/jiter-0.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:9c9c1d5f10e18909e993f9641f12fe1c77b3e9b533ee94ffa970acc14ded3812", size = 209234, upload-time = "2025-05-18T19:03:42.918Z" }, + { url = "https://files.pythonhosted.org/packages/6d/b5/348b3313c58f5fbfb2194eb4d07e46a35748ba6e5b3b3046143f3040bafa/jiter-0.10.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1e274728e4a5345a6dde2d343c8da018b9d4bd4350f5a472fa91f66fda44911b", size = 312262, upload-time = "2025-05-18T19:03:44.637Z" }, + { url = "https://files.pythonhosted.org/packages/9c/4a/6a2397096162b21645162825f058d1709a02965606e537e3304b02742e9b/jiter-0.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7202ae396446c988cb2a5feb33a543ab2165b786ac97f53b59aafb803fef0744", size = 320124, upload-time = "2025-05-18T19:03:46.341Z" }, + { url = "https://files.pythonhosted.org/packages/2a/85/1ce02cade7516b726dd88f59a4ee46914bf79d1676d1228ef2002ed2f1c9/jiter-0.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23ba7722d6748b6920ed02a8f1726fb4b33e0fd2f3f621816a8b486c66410ab2", size = 345330, upload-time = "2025-05-18T19:03:47.596Z" }, + { url = "https://files.pythonhosted.org/packages/75/d0/bb6b4f209a77190ce10ea8d7e50bf3725fc16d3372d0a9f11985a2b23eff/jiter-0.10.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:371eab43c0a288537d30e1f0b193bc4eca90439fc08a022dd83e5e07500ed026", size = 369670, upload-time = "2025-05-18T19:03:49.334Z" }, + { url = "https://files.pythonhosted.org/packages/a0/f5/a61787da9b8847a601e6827fbc42ecb12be2c925ced3252c8ffcb56afcaf/jiter-0.10.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c675736059020365cebc845a820214765162728b51ab1e03a1b7b3abb70f74c", size = 489057, upload-time = "2025-05-18T19:03:50.66Z" }, + { url = "https://files.pythonhosted.org/packages/12/e4/6f906272810a7b21406c760a53aadbe52e99ee070fc5c0cb191e316de30b/jiter-0.10.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c5867d40ab716e4684858e4887489685968a47e3ba222e44cde6e4a2154f959", size = 389372, upload-time = "2025-05-18T19:03:51.98Z" }, + { url = "https://files.pythonhosted.org/packages/e2/ba/77013b0b8ba904bf3762f11e0129b8928bff7f978a81838dfcc958ad5728/jiter-0.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:395bb9a26111b60141757d874d27fdea01b17e8fac958b91c20128ba8f4acc8a", size = 352038, upload-time = "2025-05-18T19:03:53.703Z" }, + { url = "https://files.pythonhosted.org/packages/67/27/c62568e3ccb03368dbcc44a1ef3a423cb86778a4389e995125d3d1aaa0a4/jiter-0.10.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6842184aed5cdb07e0c7e20e5bdcfafe33515ee1741a6835353bb45fe5d1bd95", size = 391538, upload-time = "2025-05-18T19:03:55.046Z" }, + { url = "https://files.pythonhosted.org/packages/c0/72/0d6b7e31fc17a8fdce76164884edef0698ba556b8eb0af9546ae1a06b91d/jiter-0.10.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:62755d1bcea9876770d4df713d82606c8c1a3dca88ff39046b85a048566d56ea", size = 523557, upload-time = "2025-05-18T19:03:56.386Z" }, + { url = "https://files.pythonhosted.org/packages/2f/09/bc1661fbbcbeb6244bd2904ff3a06f340aa77a2b94e5a7373fd165960ea3/jiter-0.10.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:533efbce2cacec78d5ba73a41756beff8431dfa1694b6346ce7af3a12c42202b", size = 514202, upload-time = "2025-05-18T19:03:57.675Z" }, + { url = "https://files.pythonhosted.org/packages/1b/84/5a5d5400e9d4d54b8004c9673bbe4403928a00d28529ff35b19e9d176b19/jiter-0.10.0-cp312-cp312-win32.whl", hash = "sha256:8be921f0cadd245e981b964dfbcd6fd4bc4e254cdc069490416dd7a2632ecc01", size = 211781, upload-time = "2025-05-18T19:03:59.025Z" }, + { url = "https://files.pythonhosted.org/packages/9b/52/7ec47455e26f2d6e5f2ea4951a0652c06e5b995c291f723973ae9e724a65/jiter-0.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:a7c7d785ae9dda68c2678532a5a1581347e9c15362ae9f6e68f3fdbfb64f2e49", size = 206176, upload-time = "2025-05-18T19:04:00.305Z" }, + { url = "https://files.pythonhosted.org/packages/2e/b0/279597e7a270e8d22623fea6c5d4eeac328e7d95c236ed51a2b884c54f70/jiter-0.10.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:e0588107ec8e11b6f5ef0e0d656fb2803ac6cf94a96b2b9fc675c0e3ab5e8644", size = 311617, upload-time = "2025-05-18T19:04:02.078Z" }, + { url = "https://files.pythonhosted.org/packages/91/e3/0916334936f356d605f54cc164af4060e3e7094364add445a3bc79335d46/jiter-0.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cafc4628b616dc32530c20ee53d71589816cf385dd9449633e910d596b1f5c8a", size = 318947, upload-time = "2025-05-18T19:04:03.347Z" }, + { url = "https://files.pythonhosted.org/packages/6a/8e/fd94e8c02d0e94539b7d669a7ebbd2776e51f329bb2c84d4385e8063a2ad/jiter-0.10.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:520ef6d981172693786a49ff5b09eda72a42e539f14788124a07530f785c3ad6", size = 344618, upload-time = "2025-05-18T19:04:04.709Z" }, + { url = "https://files.pythonhosted.org/packages/6f/b0/f9f0a2ec42c6e9c2e61c327824687f1e2415b767e1089c1d9135f43816bd/jiter-0.10.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:554dedfd05937f8fc45d17ebdf298fe7e0c77458232bcb73d9fbbf4c6455f5b3", size = 368829, upload-time = "2025-05-18T19:04:06.912Z" }, + { url = "https://files.pythonhosted.org/packages/e8/57/5bbcd5331910595ad53b9fd0c610392ac68692176f05ae48d6ce5c852967/jiter-0.10.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5bc299da7789deacf95f64052d97f75c16d4fc8c4c214a22bf8d859a4288a1c2", size = 491034, upload-time = "2025-05-18T19:04:08.222Z" }, + { url = "https://files.pythonhosted.org/packages/9b/be/c393df00e6e6e9e623a73551774449f2f23b6ec6a502a3297aeeece2c65a/jiter-0.10.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5161e201172de298a8a1baad95eb85db4fb90e902353b1f6a41d64ea64644e25", size = 388529, upload-time = "2025-05-18T19:04:09.566Z" }, + { url = "https://files.pythonhosted.org/packages/42/3e/df2235c54d365434c7f150b986a6e35f41ebdc2f95acea3036d99613025d/jiter-0.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2e2227db6ba93cb3e2bf67c87e594adde0609f146344e8207e8730364db27041", size = 350671, upload-time = "2025-05-18T19:04:10.98Z" }, + { url = "https://files.pythonhosted.org/packages/c6/77/71b0b24cbcc28f55ab4dbfe029f9a5b73aeadaba677843fc6dc9ed2b1d0a/jiter-0.10.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:15acb267ea5e2c64515574b06a8bf393fbfee6a50eb1673614aa45f4613c0cca", size = 390864, upload-time = "2025-05-18T19:04:12.722Z" }, + { url = "https://files.pythonhosted.org/packages/6a/d3/ef774b6969b9b6178e1d1e7a89a3bd37d241f3d3ec5f8deb37bbd203714a/jiter-0.10.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:901b92f2e2947dc6dfcb52fd624453862e16665ea909a08398dde19c0731b7f4", size = 522989, upload-time = "2025-05-18T19:04:14.261Z" }, + { url = "https://files.pythonhosted.org/packages/0c/41/9becdb1d8dd5d854142f45a9d71949ed7e87a8e312b0bede2de849388cb9/jiter-0.10.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:d0cb9a125d5a3ec971a094a845eadde2db0de85b33c9f13eb94a0c63d463879e", size = 513495, upload-time = "2025-05-18T19:04:15.603Z" }, + { url = "https://files.pythonhosted.org/packages/9c/36/3468e5a18238bdedae7c4d19461265b5e9b8e288d3f86cd89d00cbb48686/jiter-0.10.0-cp313-cp313-win32.whl", hash = "sha256:48a403277ad1ee208fb930bdf91745e4d2d6e47253eedc96e2559d1e6527006d", size = 211289, upload-time = "2025-05-18T19:04:17.541Z" }, + { url = "https://files.pythonhosted.org/packages/7e/07/1c96b623128bcb913706e294adb5f768fb7baf8db5e1338ce7b4ee8c78ef/jiter-0.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:75f9eb72ecb640619c29bf714e78c9c46c9c4eaafd644bf78577ede459f330d4", size = 205074, upload-time = "2025-05-18T19:04:19.21Z" }, + { url = "https://files.pythonhosted.org/packages/54/46/caa2c1342655f57d8f0f2519774c6d67132205909c65e9aa8255e1d7b4f4/jiter-0.10.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:28ed2a4c05a1f32ef0e1d24c2611330219fed727dae01789f4a335617634b1ca", size = 318225, upload-time = "2025-05-18T19:04:20.583Z" }, + { url = "https://files.pythonhosted.org/packages/43/84/c7d44c75767e18946219ba2d703a5a32ab37b0bc21886a97bc6062e4da42/jiter-0.10.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14a4c418b1ec86a195f1ca69da8b23e8926c752b685af665ce30777233dfe070", size = 350235, upload-time = "2025-05-18T19:04:22.363Z" }, + { url = "https://files.pythonhosted.org/packages/01/16/f5a0135ccd968b480daad0e6ab34b0c7c5ba3bc447e5088152696140dcb3/jiter-0.10.0-cp313-cp313t-win_amd64.whl", hash = "sha256:d7bfed2fe1fe0e4dda6ef682cee888ba444b21e7a6553e03252e4feb6cf0adca", size = 207278, upload-time = "2025-05-18T19:04:23.627Z" }, + { url = "https://files.pythonhosted.org/packages/1c/9b/1d646da42c3de6c2188fdaa15bce8ecb22b635904fc68be025e21249ba44/jiter-0.10.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:5e9251a5e83fab8d87799d3e1a46cb4b7f2919b895c6f4483629ed2446f66522", size = 310866, upload-time = "2025-05-18T19:04:24.891Z" }, + { url = "https://files.pythonhosted.org/packages/ad/0e/26538b158e8a7c7987e94e7aeb2999e2e82b1f9d2e1f6e9874ddf71ebda0/jiter-0.10.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:023aa0204126fe5b87ccbcd75c8a0d0261b9abdbbf46d55e7ae9f8e22424eeb8", size = 318772, upload-time = "2025-05-18T19:04:26.161Z" }, + { url = "https://files.pythonhosted.org/packages/7b/fb/d302893151caa1c2636d6574d213e4b34e31fd077af6050a9c5cbb42f6fb/jiter-0.10.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c189c4f1779c05f75fc17c0c1267594ed918996a231593a21a5ca5438445216", size = 344534, upload-time = "2025-05-18T19:04:27.495Z" }, + { url = "https://files.pythonhosted.org/packages/01/d8/5780b64a149d74e347c5128d82176eb1e3241b1391ac07935693466d6219/jiter-0.10.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:15720084d90d1098ca0229352607cd68256c76991f6b374af96f36920eae13c4", size = 369087, upload-time = "2025-05-18T19:04:28.896Z" }, + { url = "https://files.pythonhosted.org/packages/e8/5b/f235a1437445160e777544f3ade57544daf96ba7e96c1a5b24a6f7ac7004/jiter-0.10.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e4f2fb68e5f1cfee30e2b2a09549a00683e0fde4c6a2ab88c94072fc33cb7426", size = 490694, upload-time = "2025-05-18T19:04:30.183Z" }, + { url = "https://files.pythonhosted.org/packages/85/a9/9c3d4617caa2ff89cf61b41e83820c27ebb3f7b5fae8a72901e8cd6ff9be/jiter-0.10.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ce541693355fc6da424c08b7edf39a2895f58d6ea17d92cc2b168d20907dee12", size = 388992, upload-time = "2025-05-18T19:04:32.028Z" }, + { url = "https://files.pythonhosted.org/packages/68/b1/344fd14049ba5c94526540af7eb661871f9c54d5f5601ff41a959b9a0bbd/jiter-0.10.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31c50c40272e189d50006ad5c73883caabb73d4e9748a688b216e85a9a9ca3b9", size = 351723, upload-time = "2025-05-18T19:04:33.467Z" }, + { url = "https://files.pythonhosted.org/packages/41/89/4c0e345041186f82a31aee7b9d4219a910df672b9fef26f129f0cda07a29/jiter-0.10.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fa3402a2ff9815960e0372a47b75c76979d74402448509ccd49a275fa983ef8a", size = 392215, upload-time = "2025-05-18T19:04:34.827Z" }, + { url = "https://files.pythonhosted.org/packages/55/58/ee607863e18d3f895feb802154a2177d7e823a7103f000df182e0f718b38/jiter-0.10.0-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:1956f934dca32d7bb647ea21d06d93ca40868b505c228556d3373cbd255ce853", size = 522762, upload-time = "2025-05-18T19:04:36.19Z" }, + { url = "https://files.pythonhosted.org/packages/15/d0/9123fb41825490d16929e73c212de9a42913d68324a8ce3c8476cae7ac9d/jiter-0.10.0-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:fcedb049bdfc555e261d6f65a6abe1d5ad68825b7202ccb9692636c70fcced86", size = 513427, upload-time = "2025-05-18T19:04:37.544Z" }, + { url = "https://files.pythonhosted.org/packages/d8/b3/2bd02071c5a2430d0b70403a34411fc519c2f227da7b03da9ba6a956f931/jiter-0.10.0-cp314-cp314-win32.whl", hash = "sha256:ac509f7eccca54b2a29daeb516fb95b6f0bd0d0d8084efaf8ed5dfc7b9f0b357", size = 210127, upload-time = "2025-05-18T19:04:38.837Z" }, + { url = "https://files.pythonhosted.org/packages/03/0c/5fe86614ea050c3ecd728ab4035534387cd41e7c1855ef6c031f1ca93e3f/jiter-0.10.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5ed975b83a2b8639356151cef5c0d597c68376fc4922b45d0eb384ac058cfa00", size = 318527, upload-time = "2025-05-18T19:04:40.612Z" }, + { url = "https://files.pythonhosted.org/packages/b3/4a/4175a563579e884192ba6e81725fc0448b042024419be8d83aa8a80a3f44/jiter-0.10.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3aa96f2abba33dc77f79b4cf791840230375f9534e5fac927ccceb58c5e604a5", size = 354213, upload-time = "2025-05-18T19:04:41.894Z" }, + { url = "https://files.pythonhosted.org/packages/98/fd/aced428e2bd3c6c1132f67c5a708f9e7fd161d0ca8f8c5862b17b93cdf0a/jiter-0.10.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:bd6292a43c0fc09ce7c154ec0fa646a536b877d1e8f2f96c19707f65355b5a4d", size = 317665, upload-time = "2025-05-18T19:04:43.417Z" }, + { url = "https://files.pythonhosted.org/packages/b6/2e/47d42f15d53ed382aef8212a737101ae2720e3697a954f9b95af06d34e89/jiter-0.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:39de429dcaeb6808d75ffe9effefe96a4903c6a4b376b2f6d08d77c1aaee2f18", size = 312152, upload-time = "2025-05-18T19:04:44.797Z" }, + { url = "https://files.pythonhosted.org/packages/7b/02/aae834228ef4834fc18718724017995ace8da5f70aa1ec225b9bc2b2d7aa/jiter-0.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52ce124f13a7a616fad3bb723f2bfb537d78239d1f7f219566dc52b6f2a9e48d", size = 346708, upload-time = "2025-05-18T19:04:46.127Z" }, + { url = "https://files.pythonhosted.org/packages/35/d4/6ff39dee2d0a9abd69d8a3832ce48a3aa644eed75e8515b5ff86c526ca9a/jiter-0.10.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:166f3606f11920f9a1746b2eea84fa2c0a5d50fd313c38bdea4edc072000b0af", size = 371360, upload-time = "2025-05-18T19:04:47.448Z" }, + { url = "https://files.pythonhosted.org/packages/a9/67/c749d962b4eb62445867ae4e64a543cbb5d63cc7d78ada274ac515500a7f/jiter-0.10.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:28dcecbb4ba402916034fc14eba7709f250c4d24b0c43fc94d187ee0580af181", size = 492105, upload-time = "2025-05-18T19:04:48.792Z" }, + { url = "https://files.pythonhosted.org/packages/f6/d3/8fe1b1bae5161f27b1891c256668f598fa4c30c0a7dacd668046a6215fca/jiter-0.10.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86c5aa6910f9bebcc7bc4f8bc461aff68504388b43bfe5e5c0bd21efa33b52f4", size = 389577, upload-time = "2025-05-18T19:04:50.13Z" }, + { url = "https://files.pythonhosted.org/packages/ef/28/ecb19d789b4777898a4252bfaac35e3f8caf16c93becd58dcbaac0dc24ad/jiter-0.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ceeb52d242b315d7f1f74b441b6a167f78cea801ad7c11c36da77ff2d42e8a28", size = 353849, upload-time = "2025-05-18T19:04:51.443Z" }, + { url = "https://files.pythonhosted.org/packages/77/69/261f798f84790da6482ebd8c87ec976192b8c846e79444d0a2e0d33ebed8/jiter-0.10.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ff76d8887c8c8ee1e772274fcf8cc1071c2c58590d13e33bd12d02dc9a560397", size = 392029, upload-time = "2025-05-18T19:04:52.792Z" }, + { url = "https://files.pythonhosted.org/packages/cb/08/b8d15140d4d91f16faa2f5d416c1a71ab1bbe2b66c57197b692d04c0335f/jiter-0.10.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a9be4d0fa2b79f7222a88aa488bd89e2ae0a0a5b189462a12def6ece2faa45f1", size = 524386, upload-time = "2025-05-18T19:04:54.203Z" }, + { url = "https://files.pythonhosted.org/packages/9b/1d/23c41765cc95c0e23ac492a88450d34bf0fd87a37218d1b97000bffe0f53/jiter-0.10.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9ab7fd8738094139b6c1ab1822d6f2000ebe41515c537235fd45dabe13ec9324", size = 515234, upload-time = "2025-05-18T19:04:55.838Z" }, + { url = "https://files.pythonhosted.org/packages/9f/14/381d8b151132e79790579819c3775be32820569f23806769658535fe467f/jiter-0.10.0-cp39-cp39-win32.whl", hash = "sha256:5f51e048540dd27f204ff4a87f5d79294ea0aa3aa552aca34934588cf27023cf", size = 211436, upload-time = "2025-05-18T19:04:57.183Z" }, + { url = "https://files.pythonhosted.org/packages/59/66/f23ae51dea8ee8ce429027b60008ca895d0fa0704f0c7fe5f09014a6cffb/jiter-0.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:1b28302349dc65703a9e4ead16f163b1c339efffbe1049c30a44b001a2a4fff9", size = 208777, upload-time = "2025-05-18T19:04:58.454Z" }, +] + +[[package]] +name = "markupsafe" +version = "3.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537, upload-time = "2024-10-18T15:21:54.129Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/90/d08277ce111dd22f77149fd1a5d4653eeb3b3eaacbdfcbae5afb2600eebd/MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8", size = 14357, upload-time = "2024-10-18T15:20:51.44Z" }, + { url = "https://files.pythonhosted.org/packages/04/e1/6e2194baeae0bca1fae6629dc0cbbb968d4d941469cbab11a3872edff374/MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158", size = 12393, upload-time = "2024-10-18T15:20:52.426Z" }, + { url = "https://files.pythonhosted.org/packages/1d/69/35fa85a8ece0a437493dc61ce0bb6d459dcba482c34197e3efc829aa357f/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579", size = 21732, upload-time = "2024-10-18T15:20:53.578Z" }, + { url = "https://files.pythonhosted.org/packages/22/35/137da042dfb4720b638d2937c38a9c2df83fe32d20e8c8f3185dbfef05f7/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d", size = 20866, upload-time = "2024-10-18T15:20:55.06Z" }, + { url = "https://files.pythonhosted.org/packages/29/28/6d029a903727a1b62edb51863232152fd335d602def598dade38996887f0/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb", size = 20964, upload-time = "2024-10-18T15:20:55.906Z" }, + { url = "https://files.pythonhosted.org/packages/cc/cd/07438f95f83e8bc028279909d9c9bd39e24149b0d60053a97b2bc4f8aa51/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b", size = 21977, upload-time = "2024-10-18T15:20:57.189Z" }, + { url = "https://files.pythonhosted.org/packages/29/01/84b57395b4cc062f9c4c55ce0df7d3108ca32397299d9df00fedd9117d3d/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c", size = 21366, upload-time = "2024-10-18T15:20:58.235Z" }, + { url = "https://files.pythonhosted.org/packages/bd/6e/61ebf08d8940553afff20d1fb1ba7294b6f8d279df9fd0c0db911b4bbcfd/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171", size = 21091, upload-time = "2024-10-18T15:20:59.235Z" }, + { url = "https://files.pythonhosted.org/packages/11/23/ffbf53694e8c94ebd1e7e491de185124277964344733c45481f32ede2499/MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50", size = 15065, upload-time = "2024-10-18T15:21:00.307Z" }, + { url = "https://files.pythonhosted.org/packages/44/06/e7175d06dd6e9172d4a69a72592cb3f7a996a9c396eee29082826449bbc3/MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a", size = 15514, upload-time = "2024-10-18T15:21:01.122Z" }, + { url = "https://files.pythonhosted.org/packages/6b/28/bbf83e3f76936960b850435576dd5e67034e200469571be53f69174a2dfd/MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d", size = 14353, upload-time = "2024-10-18T15:21:02.187Z" }, + { url = "https://files.pythonhosted.org/packages/6c/30/316d194b093cde57d448a4c3209f22e3046c5bb2fb0820b118292b334be7/MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93", size = 12392, upload-time = "2024-10-18T15:21:02.941Z" }, + { url = "https://files.pythonhosted.org/packages/f2/96/9cdafba8445d3a53cae530aaf83c38ec64c4d5427d975c974084af5bc5d2/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832", size = 23984, upload-time = "2024-10-18T15:21:03.953Z" }, + { url = "https://files.pythonhosted.org/packages/f1/a4/aefb044a2cd8d7334c8a47d3fb2c9f328ac48cb349468cc31c20b539305f/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84", size = 23120, upload-time = "2024-10-18T15:21:06.495Z" }, + { url = "https://files.pythonhosted.org/packages/8d/21/5e4851379f88f3fad1de30361db501300d4f07bcad047d3cb0449fc51f8c/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca", size = 23032, upload-time = "2024-10-18T15:21:07.295Z" }, + { url = "https://files.pythonhosted.org/packages/00/7b/e92c64e079b2d0d7ddf69899c98842f3f9a60a1ae72657c89ce2655c999d/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798", size = 24057, upload-time = "2024-10-18T15:21:08.073Z" }, + { url = "https://files.pythonhosted.org/packages/f9/ac/46f960ca323037caa0a10662ef97d0a4728e890334fc156b9f9e52bcc4ca/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e", size = 23359, upload-time = "2024-10-18T15:21:09.318Z" }, + { url = "https://files.pythonhosted.org/packages/69/84/83439e16197337b8b14b6a5b9c2105fff81d42c2a7c5b58ac7b62ee2c3b1/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4", size = 23306, upload-time = "2024-10-18T15:21:10.185Z" }, + { url = "https://files.pythonhosted.org/packages/9a/34/a15aa69f01e2181ed8d2b685c0d2f6655d5cca2c4db0ddea775e631918cd/MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", size = 15094, upload-time = "2024-10-18T15:21:11.005Z" }, + { url = "https://files.pythonhosted.org/packages/da/b8/3a3bd761922d416f3dc5d00bfbed11f66b1ab89a0c2b6e887240a30b0f6b/MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", size = 15521, upload-time = "2024-10-18T15:21:12.911Z" }, + { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274, upload-time = "2024-10-18T15:21:13.777Z" }, + { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348, upload-time = "2024-10-18T15:21:14.822Z" }, + { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149, upload-time = "2024-10-18T15:21:15.642Z" }, + { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118, upload-time = "2024-10-18T15:21:17.133Z" }, + { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993, upload-time = "2024-10-18T15:21:18.064Z" }, + { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178, upload-time = "2024-10-18T15:21:18.859Z" }, + { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319, upload-time = "2024-10-18T15:21:19.671Z" }, + { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352, upload-time = "2024-10-18T15:21:20.971Z" }, + { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097, upload-time = "2024-10-18T15:21:22.646Z" }, + { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601, upload-time = "2024-10-18T15:21:23.499Z" }, + { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274, upload-time = "2024-10-18T15:21:24.577Z" }, + { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352, upload-time = "2024-10-18T15:21:25.382Z" }, + { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122, upload-time = "2024-10-18T15:21:26.199Z" }, + { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085, upload-time = "2024-10-18T15:21:27.029Z" }, + { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978, upload-time = "2024-10-18T15:21:27.846Z" }, + { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208, upload-time = "2024-10-18T15:21:28.744Z" }, + { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357, upload-time = "2024-10-18T15:21:29.545Z" }, + { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344, upload-time = "2024-10-18T15:21:30.366Z" }, + { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101, upload-time = "2024-10-18T15:21:31.207Z" }, + { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603, upload-time = "2024-10-18T15:21:32.032Z" }, + { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510, upload-time = "2024-10-18T15:21:33.625Z" }, + { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486, upload-time = "2024-10-18T15:21:34.611Z" }, + { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480, upload-time = "2024-10-18T15:21:35.398Z" }, + { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914, upload-time = "2024-10-18T15:21:36.231Z" }, + { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796, upload-time = "2024-10-18T15:21:37.073Z" }, + { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473, upload-time = "2024-10-18T15:21:37.932Z" }, + { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114, upload-time = "2024-10-18T15:21:39.799Z" }, + { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098, upload-time = "2024-10-18T15:21:40.813Z" }, + { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208, upload-time = "2024-10-18T15:21:41.814Z" }, + { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739, upload-time = "2024-10-18T15:21:42.784Z" }, + { url = "https://files.pythonhosted.org/packages/a7/ea/9b1530c3fdeeca613faeb0fb5cbcf2389d816072fab72a71b45749ef6062/MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a", size = 14344, upload-time = "2024-10-18T15:21:43.721Z" }, + { url = "https://files.pythonhosted.org/packages/4b/c2/fbdbfe48848e7112ab05e627e718e854d20192b674952d9042ebd8c9e5de/MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff", size = 12389, upload-time = "2024-10-18T15:21:44.666Z" }, + { url = "https://files.pythonhosted.org/packages/f0/25/7a7c6e4dbd4f867d95d94ca15449e91e52856f6ed1905d58ef1de5e211d0/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13", size = 21607, upload-time = "2024-10-18T15:21:45.452Z" }, + { url = "https://files.pythonhosted.org/packages/53/8f/f339c98a178f3c1e545622206b40986a4c3307fe39f70ccd3d9df9a9e425/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144", size = 20728, upload-time = "2024-10-18T15:21:46.295Z" }, + { url = "https://files.pythonhosted.org/packages/1a/03/8496a1a78308456dbd50b23a385c69b41f2e9661c67ea1329849a598a8f9/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29", size = 20826, upload-time = "2024-10-18T15:21:47.134Z" }, + { url = "https://files.pythonhosted.org/packages/e6/cf/0a490a4bd363048c3022f2f475c8c05582179bb179defcee4766fb3dcc18/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0", size = 21843, upload-time = "2024-10-18T15:21:48.334Z" }, + { url = "https://files.pythonhosted.org/packages/19/a3/34187a78613920dfd3cdf68ef6ce5e99c4f3417f035694074beb8848cd77/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0", size = 21219, upload-time = "2024-10-18T15:21:49.587Z" }, + { url = "https://files.pythonhosted.org/packages/17/d8/5811082f85bb88410ad7e452263af048d685669bbbfb7b595e8689152498/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178", size = 20946, upload-time = "2024-10-18T15:21:50.441Z" }, + { url = "https://files.pythonhosted.org/packages/7c/31/bd635fb5989440d9365c5e3c47556cfea121c7803f5034ac843e8f37c2f2/MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f", size = 15063, upload-time = "2024-10-18T15:21:51.385Z" }, + { url = "https://files.pythonhosted.org/packages/b3/73/085399401383ce949f727afec55ec3abd76648d04b9f22e1c0e99cb4bec3/MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a", size = 15506, upload-time = "2024-10-18T15:21:52.974Z" }, +] + +[[package]] +name = "multidict" +version = "6.6.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/69/7f/0652e6ed47ab288e3756ea9c0df8b14950781184d4bd7883f4d87dd41245/multidict-6.6.4.tar.gz", hash = "sha256:d2d4e4787672911b48350df02ed3fa3fffdc2f2e8ca06dd6afdf34189b76a9dd", size = 101843, upload-time = "2025-08-11T12:08:48.217Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/eb/6b/86f353088c1358e76fd30b0146947fddecee812703b604ee901e85cd2a80/multidict-6.6.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b8aa6f0bd8125ddd04a6593437bad6a7e70f300ff4180a531654aa2ab3f6d58f", size = 77054, upload-time = "2025-08-11T12:06:02.99Z" }, + { url = "https://files.pythonhosted.org/packages/19/5d/c01dc3d3788bb877bd7f5753ea6eb23c1beeca8044902a8f5bfb54430f63/multidict-6.6.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b9e5853bbd7264baca42ffc53391b490d65fe62849bf2c690fa3f6273dbcd0cb", size = 44914, upload-time = "2025-08-11T12:06:05.264Z" }, + { url = "https://files.pythonhosted.org/packages/46/44/964dae19ea42f7d3e166474d8205f14bb811020e28bc423d46123ddda763/multidict-6.6.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0af5f9dee472371e36d6ae38bde009bd8ce65ac7335f55dcc240379d7bed1495", size = 44601, upload-time = "2025-08-11T12:06:06.627Z" }, + { url = "https://files.pythonhosted.org/packages/31/20/0616348a1dfb36cb2ab33fc9521de1f27235a397bf3f59338e583afadd17/multidict-6.6.4-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:d24f351e4d759f5054b641c81e8291e5d122af0fca5c72454ff77f7cbe492de8", size = 224821, upload-time = "2025-08-11T12:06:08.06Z" }, + { url = "https://files.pythonhosted.org/packages/14/26/5d8923c69c110ff51861af05bd27ca6783011b96725d59ccae6d9daeb627/multidict-6.6.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:db6a3810eec08280a172a6cd541ff4a5f6a97b161d93ec94e6c4018917deb6b7", size = 242608, upload-time = "2025-08-11T12:06:09.697Z" }, + { url = "https://files.pythonhosted.org/packages/5c/cc/e2ad3ba9459aa34fa65cf1f82a5c4a820a2ce615aacfb5143b8817f76504/multidict-6.6.4-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a1b20a9d56b2d81e2ff52ecc0670d583eaabaa55f402e8d16dd062373dbbe796", size = 222324, upload-time = "2025-08-11T12:06:10.905Z" }, + { url = "https://files.pythonhosted.org/packages/19/db/4ed0f65701afbc2cb0c140d2d02928bb0fe38dd044af76e58ad7c54fd21f/multidict-6.6.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8c9854df0eaa610a23494c32a6f44a3a550fb398b6b51a56e8c6b9b3689578db", size = 253234, upload-time = "2025-08-11T12:06:12.658Z" }, + { url = "https://files.pythonhosted.org/packages/94/c1/5160c9813269e39ae14b73debb907bfaaa1beee1762da8c4fb95df4764ed/multidict-6.6.4-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4bb7627fd7a968f41905a4d6343b0d63244a0623f006e9ed989fa2b78f4438a0", size = 251613, upload-time = "2025-08-11T12:06:13.97Z" }, + { url = "https://files.pythonhosted.org/packages/05/a9/48d1bd111fc2f8fb98b2ed7f9a115c55a9355358432a19f53c0b74d8425d/multidict-6.6.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:caebafea30ed049c57c673d0b36238b1748683be2593965614d7b0e99125c877", size = 241649, upload-time = "2025-08-11T12:06:15.204Z" }, + { url = "https://files.pythonhosted.org/packages/85/2a/f7d743df0019408768af8a70d2037546a2be7b81fbb65f040d76caafd4c5/multidict-6.6.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ad887a8250eb47d3ab083d2f98db7f48098d13d42eb7a3b67d8a5c795f224ace", size = 239238, upload-time = "2025-08-11T12:06:16.467Z" }, + { url = "https://files.pythonhosted.org/packages/cb/b8/4f4bb13323c2d647323f7919201493cf48ebe7ded971717bfb0f1a79b6bf/multidict-6.6.4-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:ed8358ae7d94ffb7c397cecb62cbac9578a83ecefc1eba27b9090ee910e2efb6", size = 233517, upload-time = "2025-08-11T12:06:18.107Z" }, + { url = "https://files.pythonhosted.org/packages/33/29/4293c26029ebfbba4f574febd2ed01b6f619cfa0d2e344217d53eef34192/multidict-6.6.4-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:ecab51ad2462197a4c000b6d5701fc8585b80eecb90583635d7e327b7b6923eb", size = 243122, upload-time = "2025-08-11T12:06:19.361Z" }, + { url = "https://files.pythonhosted.org/packages/20/60/a1c53628168aa22447bfde3a8730096ac28086704a0d8c590f3b63388d0c/multidict-6.6.4-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:c5c97aa666cf70e667dfa5af945424ba1329af5dd988a437efeb3a09430389fb", size = 248992, upload-time = "2025-08-11T12:06:20.661Z" }, + { url = "https://files.pythonhosted.org/packages/a3/3b/55443a0c372f33cae5d9ec37a6a973802884fa0ab3586659b197cf8cc5e9/multidict-6.6.4-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:9a950b7cf54099c1209f455ac5970b1ea81410f2af60ed9eb3c3f14f0bfcf987", size = 243708, upload-time = "2025-08-11T12:06:21.891Z" }, + { url = "https://files.pythonhosted.org/packages/7c/60/a18c6900086769312560b2626b18e8cca22d9e85b1186ba77f4755b11266/multidict-6.6.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:163c7ea522ea9365a8a57832dea7618e6cbdc3cd75f8c627663587459a4e328f", size = 237498, upload-time = "2025-08-11T12:06:23.206Z" }, + { url = "https://files.pythonhosted.org/packages/11/3d/8bdd8bcaff2951ce2affccca107a404925a2beafedd5aef0b5e4a71120a6/multidict-6.6.4-cp310-cp310-win32.whl", hash = "sha256:17d2cbbfa6ff20821396b25890f155f40c986f9cfbce5667759696d83504954f", size = 41415, upload-time = "2025-08-11T12:06:24.77Z" }, + { url = "https://files.pythonhosted.org/packages/c0/53/cab1ad80356a4cd1b685a254b680167059b433b573e53872fab245e9fc95/multidict-6.6.4-cp310-cp310-win_amd64.whl", hash = "sha256:ce9a40fbe52e57e7edf20113a4eaddfacac0561a0879734e636aa6d4bb5e3fb0", size = 46046, upload-time = "2025-08-11T12:06:25.893Z" }, + { url = "https://files.pythonhosted.org/packages/cf/9a/874212b6f5c1c2d870d0a7adc5bb4cfe9b0624fa15cdf5cf757c0f5087ae/multidict-6.6.4-cp310-cp310-win_arm64.whl", hash = "sha256:01d0959807a451fe9fdd4da3e139cb5b77f7328baf2140feeaf233e1d777b729", size = 43147, upload-time = "2025-08-11T12:06:27.534Z" }, + { url = "https://files.pythonhosted.org/packages/6b/7f/90a7f01e2d005d6653c689039977f6856718c75c5579445effb7e60923d1/multidict-6.6.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c7a0e9b561e6460484318a7612e725df1145d46b0ef57c6b9866441bf6e27e0c", size = 76472, upload-time = "2025-08-11T12:06:29.006Z" }, + { url = "https://files.pythonhosted.org/packages/54/a3/bed07bc9e2bb302ce752f1dabc69e884cd6a676da44fb0e501b246031fdd/multidict-6.6.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6bf2f10f70acc7a2446965ffbc726e5fc0b272c97a90b485857e5c70022213eb", size = 44634, upload-time = "2025-08-11T12:06:30.374Z" }, + { url = "https://files.pythonhosted.org/packages/a7/4b/ceeb4f8f33cf81277da464307afeaf164fb0297947642585884f5cad4f28/multidict-6.6.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:66247d72ed62d5dd29752ffc1d3b88f135c6a8de8b5f63b7c14e973ef5bda19e", size = 44282, upload-time = "2025-08-11T12:06:31.958Z" }, + { url = "https://files.pythonhosted.org/packages/03/35/436a5da8702b06866189b69f655ffdb8f70796252a8772a77815f1812679/multidict-6.6.4-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:105245cc6b76f51e408451a844a54e6823bbd5a490ebfe5bdfc79798511ceded", size = 229696, upload-time = "2025-08-11T12:06:33.087Z" }, + { url = "https://files.pythonhosted.org/packages/b6/0e/915160be8fecf1fca35f790c08fb74ca684d752fcba62c11daaf3d92c216/multidict-6.6.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cbbc54e58b34c3bae389ef00046be0961f30fef7cb0dd9c7756aee376a4f7683", size = 246665, upload-time = "2025-08-11T12:06:34.448Z" }, + { url = "https://files.pythonhosted.org/packages/08/ee/2f464330acd83f77dcc346f0b1a0eaae10230291450887f96b204b8ac4d3/multidict-6.6.4-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:56c6b3652f945c9bc3ac6c8178cd93132b8d82dd581fcbc3a00676c51302bc1a", size = 225485, upload-time = "2025-08-11T12:06:35.672Z" }, + { url = "https://files.pythonhosted.org/packages/71/cc/9a117f828b4d7fbaec6adeed2204f211e9caf0a012692a1ee32169f846ae/multidict-6.6.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b95494daf857602eccf4c18ca33337dd2be705bccdb6dddbfc9d513e6addb9d9", size = 257318, upload-time = "2025-08-11T12:06:36.98Z" }, + { url = "https://files.pythonhosted.org/packages/25/77/62752d3dbd70e27fdd68e86626c1ae6bccfebe2bb1f84ae226363e112f5a/multidict-6.6.4-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e5b1413361cef15340ab9dc61523e653d25723e82d488ef7d60a12878227ed50", size = 254689, upload-time = "2025-08-11T12:06:38.233Z" }, + { url = "https://files.pythonhosted.org/packages/00/6e/fac58b1072a6fc59af5e7acb245e8754d3e1f97f4f808a6559951f72a0d4/multidict-6.6.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e167bf899c3d724f9662ef00b4f7fef87a19c22b2fead198a6f68b263618df52", size = 246709, upload-time = "2025-08-11T12:06:39.517Z" }, + { url = "https://files.pythonhosted.org/packages/01/ef/4698d6842ef5e797c6db7744b0081e36fb5de3d00002cc4c58071097fac3/multidict-6.6.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:aaea28ba20a9026dfa77f4b80369e51cb767c61e33a2d4043399c67bd95fb7c6", size = 243185, upload-time = "2025-08-11T12:06:40.796Z" }, + { url = "https://files.pythonhosted.org/packages/aa/c9/d82e95ae1d6e4ef396934e9b0e942dfc428775f9554acf04393cce66b157/multidict-6.6.4-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:8c91cdb30809a96d9ecf442ec9bc45e8cfaa0f7f8bdf534e082c2443a196727e", size = 237838, upload-time = "2025-08-11T12:06:42.595Z" }, + { url = "https://files.pythonhosted.org/packages/57/cf/f94af5c36baaa75d44fab9f02e2a6bcfa0cd90acb44d4976a80960759dbc/multidict-6.6.4-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1a0ccbfe93ca114c5d65a2471d52d8829e56d467c97b0e341cf5ee45410033b3", size = 246368, upload-time = "2025-08-11T12:06:44.304Z" }, + { url = "https://files.pythonhosted.org/packages/4a/fe/29f23460c3d995f6a4b678cb2e9730e7277231b981f0b234702f0177818a/multidict-6.6.4-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:55624b3f321d84c403cb7d8e6e982f41ae233d85f85db54ba6286f7295dc8a9c", size = 253339, upload-time = "2025-08-11T12:06:45.597Z" }, + { url = "https://files.pythonhosted.org/packages/29/b6/fd59449204426187b82bf8a75f629310f68c6adc9559dc922d5abe34797b/multidict-6.6.4-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:4a1fb393a2c9d202cb766c76208bd7945bc194eba8ac920ce98c6e458f0b524b", size = 246933, upload-time = "2025-08-11T12:06:46.841Z" }, + { url = "https://files.pythonhosted.org/packages/19/52/d5d6b344f176a5ac3606f7a61fb44dc746e04550e1a13834dff722b8d7d6/multidict-6.6.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:43868297a5759a845fa3a483fb4392973a95fb1de891605a3728130c52b8f40f", size = 242225, upload-time = "2025-08-11T12:06:48.588Z" }, + { url = "https://files.pythonhosted.org/packages/ec/d3/5b2281ed89ff4d5318d82478a2a2450fcdfc3300da48ff15c1778280ad26/multidict-6.6.4-cp311-cp311-win32.whl", hash = "sha256:ed3b94c5e362a8a84d69642dbeac615452e8af9b8eb825b7bc9f31a53a1051e2", size = 41306, upload-time = "2025-08-11T12:06:49.95Z" }, + { url = "https://files.pythonhosted.org/packages/74/7d/36b045c23a1ab98507aefd44fd8b264ee1dd5e5010543c6fccf82141ccef/multidict-6.6.4-cp311-cp311-win_amd64.whl", hash = "sha256:d8c112f7a90d8ca5d20213aa41eac690bb50a76da153e3afb3886418e61cb22e", size = 46029, upload-time = "2025-08-11T12:06:51.082Z" }, + { url = "https://files.pythonhosted.org/packages/0f/5e/553d67d24432c5cd52b49047f2d248821843743ee6d29a704594f656d182/multidict-6.6.4-cp311-cp311-win_arm64.whl", hash = "sha256:3bb0eae408fa1996d87247ca0d6a57b7fc1dcf83e8a5c47ab82c558c250d4adf", size = 43017, upload-time = "2025-08-11T12:06:52.243Z" }, + { url = "https://files.pythonhosted.org/packages/05/f6/512ffd8fd8b37fb2680e5ac35d788f1d71bbaf37789d21a820bdc441e565/multidict-6.6.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0ffb87be160942d56d7b87b0fdf098e81ed565add09eaa1294268c7f3caac4c8", size = 76516, upload-time = "2025-08-11T12:06:53.393Z" }, + { url = "https://files.pythonhosted.org/packages/99/58/45c3e75deb8855c36bd66cc1658007589662ba584dbf423d01df478dd1c5/multidict-6.6.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d191de6cbab2aff5de6c5723101705fd044b3e4c7cfd587a1929b5028b9714b3", size = 45394, upload-time = "2025-08-11T12:06:54.555Z" }, + { url = "https://files.pythonhosted.org/packages/fd/ca/e8c4472a93a26e4507c0b8e1f0762c0d8a32de1328ef72fd704ef9cc5447/multidict-6.6.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:38a0956dd92d918ad5feff3db8fcb4a5eb7dba114da917e1a88475619781b57b", size = 43591, upload-time = "2025-08-11T12:06:55.672Z" }, + { url = "https://files.pythonhosted.org/packages/05/51/edf414f4df058574a7265034d04c935aa84a89e79ce90fcf4df211f47b16/multidict-6.6.4-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:6865f6d3b7900ae020b495d599fcf3765653bc927951c1abb959017f81ae8287", size = 237215, upload-time = "2025-08-11T12:06:57.213Z" }, + { url = "https://files.pythonhosted.org/packages/c8/45/8b3d6dbad8cf3252553cc41abea09ad527b33ce47a5e199072620b296902/multidict-6.6.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0a2088c126b6f72db6c9212ad827d0ba088c01d951cee25e758c450da732c138", size = 258299, upload-time = "2025-08-11T12:06:58.946Z" }, + { url = "https://files.pythonhosted.org/packages/3c/e8/8ca2e9a9f5a435fc6db40438a55730a4bf4956b554e487fa1b9ae920f825/multidict-6.6.4-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0f37bed7319b848097085d7d48116f545985db988e2256b2e6f00563a3416ee6", size = 242357, upload-time = "2025-08-11T12:07:00.301Z" }, + { url = "https://files.pythonhosted.org/packages/0f/84/80c77c99df05a75c28490b2af8f7cba2a12621186e0a8b0865d8e745c104/multidict-6.6.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:01368e3c94032ba6ca0b78e7ccb099643466cf24f8dc8eefcfdc0571d56e58f9", size = 268369, upload-time = "2025-08-11T12:07:01.638Z" }, + { url = "https://files.pythonhosted.org/packages/0d/e9/920bfa46c27b05fb3e1ad85121fd49f441492dca2449c5bcfe42e4565d8a/multidict-6.6.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8fe323540c255db0bffee79ad7f048c909f2ab0edb87a597e1c17da6a54e493c", size = 269341, upload-time = "2025-08-11T12:07:02.943Z" }, + { url = "https://files.pythonhosted.org/packages/af/65/753a2d8b05daf496f4a9c367fe844e90a1b2cac78e2be2c844200d10cc4c/multidict-6.6.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8eb3025f17b0a4c3cd08cda49acf312a19ad6e8a4edd9dbd591e6506d999402", size = 256100, upload-time = "2025-08-11T12:07:04.564Z" }, + { url = "https://files.pythonhosted.org/packages/09/54/655be13ae324212bf0bc15d665a4e34844f34c206f78801be42f7a0a8aaa/multidict-6.6.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:bbc14f0365534d35a06970d6a83478b249752e922d662dc24d489af1aa0d1be7", size = 253584, upload-time = "2025-08-11T12:07:05.914Z" }, + { url = "https://files.pythonhosted.org/packages/5c/74/ab2039ecc05264b5cec73eb018ce417af3ebb384ae9c0e9ed42cb33f8151/multidict-6.6.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:75aa52fba2d96bf972e85451b99d8e19cc37ce26fd016f6d4aa60da9ab2b005f", size = 251018, upload-time = "2025-08-11T12:07:08.301Z" }, + { url = "https://files.pythonhosted.org/packages/af/0a/ccbb244ac848e56c6427f2392741c06302bbfba49c0042f1eb3c5b606497/multidict-6.6.4-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4fefd4a815e362d4f011919d97d7b4a1e566f1dde83dc4ad8cfb5b41de1df68d", size = 251477, upload-time = "2025-08-11T12:07:10.248Z" }, + { url = "https://files.pythonhosted.org/packages/0e/b0/0ed49bba775b135937f52fe13922bc64a7eaf0a3ead84a36e8e4e446e096/multidict-6.6.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:db9801fe021f59a5b375ab778973127ca0ac52429a26e2fd86aa9508f4d26eb7", size = 263575, upload-time = "2025-08-11T12:07:11.928Z" }, + { url = "https://files.pythonhosted.org/packages/3e/d9/7fb85a85e14de2e44dfb6a24f03c41e2af8697a6df83daddb0e9b7569f73/multidict-6.6.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:a650629970fa21ac1fb06ba25dabfc5b8a2054fcbf6ae97c758aa956b8dba802", size = 259649, upload-time = "2025-08-11T12:07:13.244Z" }, + { url = "https://files.pythonhosted.org/packages/03/9e/b3a459bcf9b6e74fa461a5222a10ff9b544cb1cd52fd482fb1b75ecda2a2/multidict-6.6.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:452ff5da78d4720d7516a3a2abd804957532dd69296cb77319c193e3ffb87e24", size = 251505, upload-time = "2025-08-11T12:07:14.57Z" }, + { url = "https://files.pythonhosted.org/packages/86/a2/8022f78f041dfe6d71e364001a5cf987c30edfc83c8a5fb7a3f0974cff39/multidict-6.6.4-cp312-cp312-win32.whl", hash = "sha256:8c2fcb12136530ed19572bbba61b407f655e3953ba669b96a35036a11a485793", size = 41888, upload-time = "2025-08-11T12:07:15.904Z" }, + { url = "https://files.pythonhosted.org/packages/c7/eb/d88b1780d43a56db2cba24289fa744a9d216c1a8546a0dc3956563fd53ea/multidict-6.6.4-cp312-cp312-win_amd64.whl", hash = "sha256:047d9425860a8c9544fed1b9584f0c8bcd31bcde9568b047c5e567a1025ecd6e", size = 46072, upload-time = "2025-08-11T12:07:17.045Z" }, + { url = "https://files.pythonhosted.org/packages/9f/16/b929320bf5750e2d9d4931835a4c638a19d2494a5b519caaaa7492ebe105/multidict-6.6.4-cp312-cp312-win_arm64.whl", hash = "sha256:14754eb72feaa1e8ae528468f24250dd997b8e2188c3d2f593f9eba259e4b364", size = 43222, upload-time = "2025-08-11T12:07:18.328Z" }, + { url = "https://files.pythonhosted.org/packages/3a/5d/e1db626f64f60008320aab00fbe4f23fc3300d75892a3381275b3d284580/multidict-6.6.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f46a6e8597f9bd71b31cc708195d42b634c8527fecbcf93febf1052cacc1f16e", size = 75848, upload-time = "2025-08-11T12:07:19.912Z" }, + { url = "https://files.pythonhosted.org/packages/4c/aa/8b6f548d839b6c13887253af4e29c939af22a18591bfb5d0ee6f1931dae8/multidict-6.6.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:22e38b2bc176c5eb9c0a0e379f9d188ae4cd8b28c0f53b52bce7ab0a9e534657", size = 45060, upload-time = "2025-08-11T12:07:21.163Z" }, + { url = "https://files.pythonhosted.org/packages/eb/c6/f5e97e5d99a729bc2aa58eb3ebfa9f1e56a9b517cc38c60537c81834a73f/multidict-6.6.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5df8afd26f162da59e218ac0eefaa01b01b2e6cd606cffa46608f699539246da", size = 43269, upload-time = "2025-08-11T12:07:22.392Z" }, + { url = "https://files.pythonhosted.org/packages/dc/31/d54eb0c62516776f36fe67f84a732f97e0b0e12f98d5685bebcc6d396910/multidict-6.6.4-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:49517449b58d043023720aa58e62b2f74ce9b28f740a0b5d33971149553d72aa", size = 237158, upload-time = "2025-08-11T12:07:23.636Z" }, + { url = "https://files.pythonhosted.org/packages/c4/1c/8a10c1c25b23156e63b12165a929d8eb49a6ed769fdbefb06e6f07c1e50d/multidict-6.6.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ae9408439537c5afdca05edd128a63f56a62680f4b3c234301055d7a2000220f", size = 257076, upload-time = "2025-08-11T12:07:25.049Z" }, + { url = "https://files.pythonhosted.org/packages/ad/86/90e20b5771d6805a119e483fd3d1e8393e745a11511aebca41f0da38c3e2/multidict-6.6.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:87a32d20759dc52a9e850fe1061b6e41ab28e2998d44168a8a341b99ded1dba0", size = 240694, upload-time = "2025-08-11T12:07:26.458Z" }, + { url = "https://files.pythonhosted.org/packages/e7/49/484d3e6b535bc0555b52a0a26ba86e4d8d03fd5587d4936dc59ba7583221/multidict-6.6.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:52e3c8d43cdfff587ceedce9deb25e6ae77daba560b626e97a56ddcad3756879", size = 266350, upload-time = "2025-08-11T12:07:27.94Z" }, + { url = "https://files.pythonhosted.org/packages/bf/b4/aa4c5c379b11895083d50021e229e90c408d7d875471cb3abf721e4670d6/multidict-6.6.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ad8850921d3a8d8ff6fbef790e773cecfc260bbfa0566998980d3fa8f520bc4a", size = 267250, upload-time = "2025-08-11T12:07:29.303Z" }, + { url = "https://files.pythonhosted.org/packages/80/e5/5e22c5bf96a64bdd43518b1834c6d95a4922cc2066b7d8e467dae9b6cee6/multidict-6.6.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:497a2954adc25c08daff36f795077f63ad33e13f19bfff7736e72c785391534f", size = 254900, upload-time = "2025-08-11T12:07:30.764Z" }, + { url = "https://files.pythonhosted.org/packages/17/38/58b27fed927c07035abc02befacab42491e7388ca105e087e6e0215ead64/multidict-6.6.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:024ce601f92d780ca1617ad4be5ac15b501cc2414970ffa2bb2bbc2bd5a68fa5", size = 252355, upload-time = "2025-08-11T12:07:32.205Z" }, + { url = "https://files.pythonhosted.org/packages/d0/a1/dad75d23a90c29c02b5d6f3d7c10ab36c3197613be5d07ec49c7791e186c/multidict-6.6.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:a693fc5ed9bdd1c9e898013e0da4dcc640de7963a371c0bd458e50e046bf6438", size = 250061, upload-time = "2025-08-11T12:07:33.623Z" }, + { url = "https://files.pythonhosted.org/packages/b8/1a/ac2216b61c7f116edab6dc3378cca6c70dc019c9a457ff0d754067c58b20/multidict-6.6.4-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:190766dac95aab54cae5b152a56520fd99298f32a1266d66d27fdd1b5ac00f4e", size = 249675, upload-time = "2025-08-11T12:07:34.958Z" }, + { url = "https://files.pythonhosted.org/packages/d4/79/1916af833b800d13883e452e8e0977c065c4ee3ab7a26941fbfdebc11895/multidict-6.6.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:34d8f2a5ffdceab9dcd97c7a016deb2308531d5f0fced2bb0c9e1df45b3363d7", size = 261247, upload-time = "2025-08-11T12:07:36.588Z" }, + { url = "https://files.pythonhosted.org/packages/c5/65/d1f84fe08ac44a5fc7391cbc20a7cedc433ea616b266284413fd86062f8c/multidict-6.6.4-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:59e8d40ab1f5a8597abcef00d04845155a5693b5da00d2c93dbe88f2050f2812", size = 257960, upload-time = "2025-08-11T12:07:39.735Z" }, + { url = "https://files.pythonhosted.org/packages/13/b5/29ec78057d377b195ac2c5248c773703a6b602e132a763e20ec0457e7440/multidict-6.6.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:467fe64138cfac771f0e949b938c2e1ada2b5af22f39692aa9258715e9ea613a", size = 250078, upload-time = "2025-08-11T12:07:41.525Z" }, + { url = "https://files.pythonhosted.org/packages/c4/0e/7e79d38f70a872cae32e29b0d77024bef7834b0afb406ddae6558d9e2414/multidict-6.6.4-cp313-cp313-win32.whl", hash = "sha256:14616a30fe6d0a48d0a48d1a633ab3b8bec4cf293aac65f32ed116f620adfd69", size = 41708, upload-time = "2025-08-11T12:07:43.405Z" }, + { url = "https://files.pythonhosted.org/packages/9d/34/746696dffff742e97cd6a23da953e55d0ea51fa601fa2ff387b3edcfaa2c/multidict-6.6.4-cp313-cp313-win_amd64.whl", hash = "sha256:40cd05eaeb39e2bc8939451f033e57feaa2ac99e07dbca8afe2be450a4a3b6cf", size = 45912, upload-time = "2025-08-11T12:07:45.082Z" }, + { url = "https://files.pythonhosted.org/packages/c7/87/3bac136181e271e29170d8d71929cdeddeb77f3e8b6a0c08da3a8e9da114/multidict-6.6.4-cp313-cp313-win_arm64.whl", hash = "sha256:f6eb37d511bfae9e13e82cb4d1af36b91150466f24d9b2b8a9785816deb16605", size = 43076, upload-time = "2025-08-11T12:07:46.746Z" }, + { url = "https://files.pythonhosted.org/packages/64/94/0a8e63e36c049b571c9ae41ee301ada29c3fee9643d9c2548d7d558a1d99/multidict-6.6.4-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:6c84378acd4f37d1b507dfa0d459b449e2321b3ba5f2338f9b085cf7a7ba95eb", size = 82812, upload-time = "2025-08-11T12:07:48.402Z" }, + { url = "https://files.pythonhosted.org/packages/25/1a/be8e369dfcd260d2070a67e65dd3990dd635cbd735b98da31e00ea84cd4e/multidict-6.6.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0e0558693063c75f3d952abf645c78f3c5dfdd825a41d8c4d8156fc0b0da6e7e", size = 48313, upload-time = "2025-08-11T12:07:49.679Z" }, + { url = "https://files.pythonhosted.org/packages/26/5a/dd4ade298674b2f9a7b06a32c94ffbc0497354df8285f27317c66433ce3b/multidict-6.6.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3f8e2384cb83ebd23fd07e9eada8ba64afc4c759cd94817433ab8c81ee4b403f", size = 46777, upload-time = "2025-08-11T12:07:51.318Z" }, + { url = "https://files.pythonhosted.org/packages/89/db/98aa28bc7e071bfba611ac2ae803c24e96dd3a452b4118c587d3d872c64c/multidict-6.6.4-cp313-cp313t-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:f996b87b420995a9174b2a7c1a8daf7db4750be6848b03eb5e639674f7963773", size = 229321, upload-time = "2025-08-11T12:07:52.965Z" }, + { url = "https://files.pythonhosted.org/packages/c7/bc/01ddda2a73dd9d167bd85d0e8ef4293836a8f82b786c63fb1a429bc3e678/multidict-6.6.4-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cc356250cffd6e78416cf5b40dc6a74f1edf3be8e834cf8862d9ed5265cf9b0e", size = 249954, upload-time = "2025-08-11T12:07:54.423Z" }, + { url = "https://files.pythonhosted.org/packages/06/78/6b7c0f020f9aa0acf66d0ab4eb9f08375bac9a50ff5e3edb1c4ccd59eafc/multidict-6.6.4-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:dadf95aa862714ea468a49ad1e09fe00fcc9ec67d122f6596a8d40caf6cec7d0", size = 228612, upload-time = "2025-08-11T12:07:55.914Z" }, + { url = "https://files.pythonhosted.org/packages/00/44/3faa416f89b2d5d76e9d447296a81521e1c832ad6e40b92f990697b43192/multidict-6.6.4-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7dd57515bebffd8ebd714d101d4c434063322e4fe24042e90ced41f18b6d3395", size = 257528, upload-time = "2025-08-11T12:07:57.371Z" }, + { url = "https://files.pythonhosted.org/packages/05/5f/77c03b89af0fcb16f018f668207768191fb9dcfb5e3361a5e706a11db2c9/multidict-6.6.4-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:967af5f238ebc2eb1da4e77af5492219fbd9b4b812347da39a7b5f5c72c0fa45", size = 256329, upload-time = "2025-08-11T12:07:58.844Z" }, + { url = "https://files.pythonhosted.org/packages/cf/e9/ed750a2a9afb4f8dc6f13dc5b67b514832101b95714f1211cd42e0aafc26/multidict-6.6.4-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2a4c6875c37aae9794308ec43e3530e4aa0d36579ce38d89979bbf89582002bb", size = 247928, upload-time = "2025-08-11T12:08:01.037Z" }, + { url = "https://files.pythonhosted.org/packages/1f/b5/e0571bc13cda277db7e6e8a532791d4403dacc9850006cb66d2556e649c0/multidict-6.6.4-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:7f683a551e92bdb7fac545b9c6f9fa2aebdeefa61d607510b3533286fcab67f5", size = 245228, upload-time = "2025-08-11T12:08:02.96Z" }, + { url = "https://files.pythonhosted.org/packages/f3/a3/69a84b0eccb9824491f06368f5b86e72e4af54c3067c37c39099b6687109/multidict-6.6.4-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:3ba5aaf600edaf2a868a391779f7a85d93bed147854925f34edd24cc70a3e141", size = 235869, upload-time = "2025-08-11T12:08:04.746Z" }, + { url = "https://files.pythonhosted.org/packages/a9/9d/28802e8f9121a6a0804fa009debf4e753d0a59969ea9f70be5f5fdfcb18f/multidict-6.6.4-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:580b643b7fd2c295d83cad90d78419081f53fd532d1f1eb67ceb7060f61cff0d", size = 243446, upload-time = "2025-08-11T12:08:06.332Z" }, + { url = "https://files.pythonhosted.org/packages/38/ea/6c98add069b4878c1d66428a5f5149ddb6d32b1f9836a826ac764b9940be/multidict-6.6.4-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:37b7187197da6af3ee0b044dbc9625afd0c885f2800815b228a0e70f9a7f473d", size = 252299, upload-time = "2025-08-11T12:08:07.931Z" }, + { url = "https://files.pythonhosted.org/packages/3a/09/8fe02d204473e14c0af3affd50af9078839dfca1742f025cca765435d6b4/multidict-6.6.4-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e1b93790ed0bc26feb72e2f08299691ceb6da5e9e14a0d13cc74f1869af327a0", size = 246926, upload-time = "2025-08-11T12:08:09.467Z" }, + { url = "https://files.pythonhosted.org/packages/37/3d/7b1e10d774a6df5175ecd3c92bff069e77bed9ec2a927fdd4ff5fe182f67/multidict-6.6.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a506a77ddee1efcca81ecbeae27ade3e09cdf21a8ae854d766c2bb4f14053f92", size = 243383, upload-time = "2025-08-11T12:08:10.981Z" }, + { url = "https://files.pythonhosted.org/packages/50/b0/a6fae46071b645ae98786ab738447de1ef53742eaad949f27e960864bb49/multidict-6.6.4-cp313-cp313t-win32.whl", hash = "sha256:f93b2b2279883d1d0a9e1bd01f312d6fc315c5e4c1f09e112e4736e2f650bc4e", size = 47775, upload-time = "2025-08-11T12:08:12.439Z" }, + { url = "https://files.pythonhosted.org/packages/b2/0a/2436550b1520091af0600dff547913cb2d66fbac27a8c33bc1b1bccd8d98/multidict-6.6.4-cp313-cp313t-win_amd64.whl", hash = "sha256:6d46a180acdf6e87cc41dc15d8f5c2986e1e8739dc25dbb7dac826731ef381a4", size = 53100, upload-time = "2025-08-11T12:08:13.823Z" }, + { url = "https://files.pythonhosted.org/packages/97/ea/43ac51faff934086db9c072a94d327d71b7d8b40cd5dcb47311330929ef0/multidict-6.6.4-cp313-cp313t-win_arm64.whl", hash = "sha256:756989334015e3335d087a27331659820d53ba432befdef6a718398b0a8493ad", size = 45501, upload-time = "2025-08-11T12:08:15.173Z" }, + { url = "https://files.pythonhosted.org/packages/d4/d3/f04c5db316caee9b5b2cbba66270b358c922a959855995bedde87134287c/multidict-6.6.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:af7618b591bae552b40dbb6f93f5518328a949dac626ee75927bba1ecdeea9f4", size = 76977, upload-time = "2025-08-11T12:08:16.667Z" }, + { url = "https://files.pythonhosted.org/packages/70/39/a6200417d883e510728ab3caec02d3b66ff09e1c85e0aab2ba311abfdf06/multidict-6.6.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b6819f83aef06f560cb15482d619d0e623ce9bf155115150a85ab11b8342a665", size = 44878, upload-time = "2025-08-11T12:08:18.157Z" }, + { url = "https://files.pythonhosted.org/packages/6f/7e/815be31ed35571b137d65232816f61513fcd97b2717d6a9d7800b5a0c6e0/multidict-6.6.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4d09384e75788861e046330308e7af54dd306aaf20eb760eb1d0de26b2bea2cb", size = 44546, upload-time = "2025-08-11T12:08:19.694Z" }, + { url = "https://files.pythonhosted.org/packages/e2/f1/21b5bff6a8c3e2aff56956c241941ace6b8820e1abe6b12d3c52868a773d/multidict-6.6.4-cp39-cp39-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:a59c63061f1a07b861c004e53869eb1211ffd1a4acbca330e3322efa6dd02978", size = 223020, upload-time = "2025-08-11T12:08:21.554Z" }, + { url = "https://files.pythonhosted.org/packages/15/59/37083f1dd3439979a0ffeb1906818d978d88b4cc7f4600a9f89b1cb6713c/multidict-6.6.4-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:350f6b0fe1ced61e778037fdc7613f4051c8baf64b1ee19371b42a3acdb016a0", size = 240528, upload-time = "2025-08-11T12:08:23.45Z" }, + { url = "https://files.pythonhosted.org/packages/d1/f0/f054d123c87784307a27324c829eb55bcfd2e261eb785fcabbd832c8dc4a/multidict-6.6.4-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0c5cbac6b55ad69cb6aa17ee9343dfbba903118fd530348c330211dc7aa756d1", size = 219540, upload-time = "2025-08-11T12:08:24.965Z" }, + { url = "https://files.pythonhosted.org/packages/e8/26/8f78ce17b7118149c17f238f28fba2a850b660b860f9b024a34d0191030f/multidict-6.6.4-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:630f70c32b8066ddfd920350bc236225814ad94dfa493fe1910ee17fe4365cbb", size = 251182, upload-time = "2025-08-11T12:08:26.511Z" }, + { url = "https://files.pythonhosted.org/packages/00/c3/a21466322d69f6594fe22d9379200f99194d21c12a5bbf8c2a39a46b83b6/multidict-6.6.4-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f8d4916a81697faec6cb724a273bd5457e4c6c43d82b29f9dc02c5542fd21fc9", size = 249371, upload-time = "2025-08-11T12:08:28.075Z" }, + { url = "https://files.pythonhosted.org/packages/c2/8e/2e673124eb05cf8dc82e9265eccde01a36bcbd3193e27799b8377123c976/multidict-6.6.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8e42332cf8276bb7645d310cdecca93a16920256a5b01bebf747365f86a1675b", size = 239235, upload-time = "2025-08-11T12:08:29.937Z" }, + { url = "https://files.pythonhosted.org/packages/2b/2d/bdd9f05e7c89e30a4b0e4faf0681a30748f8d1310f68cfdc0e3571e75bd5/multidict-6.6.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f3be27440f7644ab9a13a6fc86f09cdd90b347c3c5e30c6d6d860de822d7cb53", size = 237410, upload-time = "2025-08-11T12:08:31.872Z" }, + { url = "https://files.pythonhosted.org/packages/46/4c/3237b83f8ca9a2673bb08fc340c15da005a80f5cc49748b587c8ae83823b/multidict-6.6.4-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:21f216669109e02ef3e2415ede07f4f8987f00de8cdfa0cc0b3440d42534f9f0", size = 232979, upload-time = "2025-08-11T12:08:33.399Z" }, + { url = "https://files.pythonhosted.org/packages/55/a6/a765decff625ae9bc581aed303cd1837955177dafc558859a69f56f56ba8/multidict-6.6.4-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:d9890d68c45d1aeac5178ded1d1cccf3bc8d7accf1f976f79bf63099fb16e4bd", size = 240979, upload-time = "2025-08-11T12:08:35.02Z" }, + { url = "https://files.pythonhosted.org/packages/6b/2d/9c75975cb0c66ea33cae1443bb265b2b3cd689bffcbc68872565f401da23/multidict-6.6.4-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:edfdcae97cdc5d1a89477c436b61f472c4d40971774ac4729c613b4b133163cb", size = 246849, upload-time = "2025-08-11T12:08:37.038Z" }, + { url = "https://files.pythonhosted.org/packages/3e/71/d21ac0843c1d8751fb5dcf8a1f436625d39d4577bc27829799d09b419af7/multidict-6.6.4-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:0b2e886624be5773e69cf32bcb8534aecdeb38943520b240fed3d5596a430f2f", size = 241798, upload-time = "2025-08-11T12:08:38.669Z" }, + { url = "https://files.pythonhosted.org/packages/94/3d/1d8911e53092837bd11b1c99d71de3e2a9a26f8911f864554677663242aa/multidict-6.6.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:be5bf4b3224948032a845d12ab0f69f208293742df96dc14c4ff9b09e508fc17", size = 235315, upload-time = "2025-08-11T12:08:40.266Z" }, + { url = "https://files.pythonhosted.org/packages/86/c5/4b758df96376f73e936b1942c6c2dfc17e37ed9d5ff3b01a811496966ca0/multidict-6.6.4-cp39-cp39-win32.whl", hash = "sha256:10a68a9191f284fe9d501fef4efe93226e74df92ce7a24e301371293bd4918ae", size = 41434, upload-time = "2025-08-11T12:08:41.965Z" }, + { url = "https://files.pythonhosted.org/packages/58/16/f1dfa2a0f25f2717a5e9e5fe8fd30613f7fe95e3530cec8d11f5de0b709c/multidict-6.6.4-cp39-cp39-win_amd64.whl", hash = "sha256:ee25f82f53262f9ac93bd7e58e47ea1bdcc3393cef815847e397cba17e284210", size = 46186, upload-time = "2025-08-11T12:08:43.367Z" }, + { url = "https://files.pythonhosted.org/packages/88/7d/a0568bac65438c494cb6950b29f394d875a796a237536ac724879cf710c9/multidict-6.6.4-cp39-cp39-win_arm64.whl", hash = "sha256:f9867e55590e0855bcec60d4f9a092b69476db64573c9fe17e92b0c50614c16a", size = 43115, upload-time = "2025-08-11T12:08:45.126Z" }, + { url = "https://files.pythonhosted.org/packages/fd/69/b547032297c7e63ba2af494edba695d781af8a0c6e89e4d06cf848b21d80/multidict-6.6.4-py3-none-any.whl", hash = "sha256:27d8f8e125c07cb954e54d75d04905a9bba8a439c1d84aca94949d4d03d8601c", size = 12313, upload-time = "2025-08-11T12:08:46.891Z" }, +] + +[[package]] +name = "nodeenv" +version = "1.9.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/16/fc88b08840de0e0a72a2f9d8c6bae36be573e475a6326ae854bcc549fc45/nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f", size = 47437, upload-time = "2024-06-04T18:44:11.171Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9", size = 22314, upload-time = "2024-06-04T18:44:08.352Z" }, +] + +[[package]] +name = "numpy" +version = "2.0.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +sdist = { url = "https://files.pythonhosted.org/packages/a9/75/10dd1f8116a8b796cb2c737b674e02d02e80454bda953fa7e65d8c12b016/numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78", size = 18902015, upload-time = "2024-08-26T20:19:40.945Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/21/91/3495b3237510f79f5d81f2508f9f13fea78ebfdf07538fc7444badda173d/numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece", size = 21165245, upload-time = "2024-08-26T20:04:14.625Z" }, + { url = "https://files.pythonhosted.org/packages/05/33/26178c7d437a87082d11019292dce6d3fe6f0e9026b7b2309cbf3e489b1d/numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f15975dfec0cf2239224d80e32c3170b1d168335eaedee69da84fbe9f1f9cd04", size = 13738540, upload-time = "2024-08-26T20:04:36.784Z" }, + { url = "https://files.pythonhosted.org/packages/ec/31/cc46e13bf07644efc7a4bf68df2df5fb2a1a88d0cd0da9ddc84dc0033e51/numpy-2.0.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8c5713284ce4e282544c68d1c3b2c7161d38c256d2eefc93c1d683cf47683e66", size = 5300623, upload-time = "2024-08-26T20:04:46.491Z" }, + { url = "https://files.pythonhosted.org/packages/6e/16/7bfcebf27bb4f9d7ec67332ffebee4d1bf085c84246552d52dbb548600e7/numpy-2.0.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:becfae3ddd30736fe1889a37f1f580e245ba79a5855bff5f2a29cb3ccc22dd7b", size = 6901774, upload-time = "2024-08-26T20:04:58.173Z" }, + { url = "https://files.pythonhosted.org/packages/f9/a3/561c531c0e8bf082c5bef509d00d56f82e0ea7e1e3e3a7fc8fa78742a6e5/numpy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2da5960c3cf0df7eafefd806d4e612c5e19358de82cb3c343631188991566ccd", size = 13907081, upload-time = "2024-08-26T20:05:19.098Z" }, + { url = "https://files.pythonhosted.org/packages/fa/66/f7177ab331876200ac7563a580140643d1179c8b4b6a6b0fc9838de2a9b8/numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:496f71341824ed9f3d2fd36cf3ac57ae2e0165c143b55c3a035ee219413f3318", size = 19523451, upload-time = "2024-08-26T20:05:47.479Z" }, + { url = "https://files.pythonhosted.org/packages/25/7f/0b209498009ad6453e4efc2c65bcdf0ae08a182b2b7877d7ab38a92dc542/numpy-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a61ec659f68ae254e4d237816e33171497e978140353c0c2038d46e63282d0c8", size = 19927572, upload-time = "2024-08-26T20:06:17.137Z" }, + { url = "https://files.pythonhosted.org/packages/3e/df/2619393b1e1b565cd2d4c4403bdd979621e2c4dea1f8532754b2598ed63b/numpy-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d731a1c6116ba289c1e9ee714b08a8ff882944d4ad631fd411106a30f083c326", size = 14400722, upload-time = "2024-08-26T20:06:39.16Z" }, + { url = "https://files.pythonhosted.org/packages/22/ad/77e921b9f256d5da36424ffb711ae79ca3f451ff8489eeca544d0701d74a/numpy-2.0.2-cp310-cp310-win32.whl", hash = "sha256:984d96121c9f9616cd33fbd0618b7f08e0cfc9600a7ee1d6fd9b239186d19d97", size = 6472170, upload-time = "2024-08-26T20:06:50.361Z" }, + { url = "https://files.pythonhosted.org/packages/10/05/3442317535028bc29cf0c0dd4c191a4481e8376e9f0db6bcf29703cadae6/numpy-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:c7b0be4ef08607dd04da4092faee0b86607f111d5ae68036f16cc787e250a131", size = 15905558, upload-time = "2024-08-26T20:07:13.881Z" }, + { url = "https://files.pythonhosted.org/packages/8b/cf/034500fb83041aa0286e0fb16e7c76e5c8b67c0711bb6e9e9737a717d5fe/numpy-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:49ca4decb342d66018b01932139c0961a8f9ddc7589611158cb3c27cbcf76448", size = 21169137, upload-time = "2024-08-26T20:07:45.345Z" }, + { url = "https://files.pythonhosted.org/packages/4a/d9/32de45561811a4b87fbdee23b5797394e3d1504b4a7cf40c10199848893e/numpy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:11a76c372d1d37437857280aa142086476136a8c0f373b2e648ab2c8f18fb195", size = 13703552, upload-time = "2024-08-26T20:08:06.666Z" }, + { url = "https://files.pythonhosted.org/packages/c1/ca/2f384720020c7b244d22508cb7ab23d95f179fcfff33c31a6eeba8d6c512/numpy-2.0.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:807ec44583fd708a21d4a11d94aedf2f4f3c3719035c76a2bbe1fe8e217bdc57", size = 5298957, upload-time = "2024-08-26T20:08:15.83Z" }, + { url = "https://files.pythonhosted.org/packages/0e/78/a3e4f9fb6aa4e6fdca0c5428e8ba039408514388cf62d89651aade838269/numpy-2.0.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8cafab480740e22f8d833acefed5cc87ce276f4ece12fdaa2e8903db2f82897a", size = 6905573, upload-time = "2024-08-26T20:08:27.185Z" }, + { url = "https://files.pythonhosted.org/packages/a0/72/cfc3a1beb2caf4efc9d0b38a15fe34025230da27e1c08cc2eb9bfb1c7231/numpy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a15f476a45e6e5a3a79d8a14e62161d27ad897381fecfa4a09ed5322f2085669", size = 13914330, upload-time = "2024-08-26T20:08:48.058Z" }, + { url = "https://files.pythonhosted.org/packages/ba/a8/c17acf65a931ce551fee11b72e8de63bf7e8a6f0e21add4c937c83563538/numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13e689d772146140a252c3a28501da66dfecd77490b498b168b501835041f951", size = 19534895, upload-time = "2024-08-26T20:09:16.536Z" }, + { url = "https://files.pythonhosted.org/packages/ba/86/8767f3d54f6ae0165749f84648da9dcc8cd78ab65d415494962c86fac80f/numpy-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9ea91dfb7c3d1c56a0e55657c0afb38cf1eeae4544c208dc465c3c9f3a7c09f9", size = 19937253, upload-time = "2024-08-26T20:09:46.263Z" }, + { url = "https://files.pythonhosted.org/packages/df/87/f76450e6e1c14e5bb1eae6836478b1028e096fd02e85c1c37674606ab752/numpy-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c1c9307701fec8f3f7a1e6711f9089c06e6284b3afbbcd259f7791282d660a15", size = 14414074, upload-time = "2024-08-26T20:10:08.483Z" }, + { url = "https://files.pythonhosted.org/packages/5c/ca/0f0f328e1e59f73754f06e1adfb909de43726d4f24c6a3f8805f34f2b0fa/numpy-2.0.2-cp311-cp311-win32.whl", hash = "sha256:a392a68bd329eafac5817e5aefeb39038c48b671afd242710b451e76090e81f4", size = 6470640, upload-time = "2024-08-26T20:10:19.732Z" }, + { url = "https://files.pythonhosted.org/packages/eb/57/3a3f14d3a759dcf9bf6e9eda905794726b758819df4663f217d658a58695/numpy-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:286cd40ce2b7d652a6f22efdfc6d1edf879440e53e76a75955bc0c826c7e64dc", size = 15910230, upload-time = "2024-08-26T20:10:43.413Z" }, + { url = "https://files.pythonhosted.org/packages/45/40/2e117be60ec50d98fa08c2f8c48e09b3edea93cfcabd5a9ff6925d54b1c2/numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:df55d490dea7934f330006d0f81e8551ba6010a5bf035a249ef61a94f21c500b", size = 20895803, upload-time = "2024-08-26T20:11:13.916Z" }, + { url = "https://files.pythonhosted.org/packages/46/92/1b8b8dee833f53cef3e0a3f69b2374467789e0bb7399689582314df02651/numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8df823f570d9adf0978347d1f926b2a867d5608f434a7cff7f7908c6570dcf5e", size = 13471835, upload-time = "2024-08-26T20:11:34.779Z" }, + { url = "https://files.pythonhosted.org/packages/7f/19/e2793bde475f1edaea6945be141aef6c8b4c669b90c90a300a8954d08f0a/numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:9a92ae5c14811e390f3767053ff54eaee3bf84576d99a2456391401323f4ec2c", size = 5038499, upload-time = "2024-08-26T20:11:43.902Z" }, + { url = "https://files.pythonhosted.org/packages/e3/ff/ddf6dac2ff0dd50a7327bcdba45cb0264d0e96bb44d33324853f781a8f3c/numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:a842d573724391493a97a62ebbb8e731f8a5dcc5d285dfc99141ca15a3302d0c", size = 6633497, upload-time = "2024-08-26T20:11:55.09Z" }, + { url = "https://files.pythonhosted.org/packages/72/21/67f36eac8e2d2cd652a2e69595a54128297cdcb1ff3931cfc87838874bd4/numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05e238064fc0610c840d1cf6a13bf63d7e391717d247f1bf0318172e759e692", size = 13621158, upload-time = "2024-08-26T20:12:14.95Z" }, + { url = "https://files.pythonhosted.org/packages/39/68/e9f1126d757653496dbc096cb429014347a36b228f5a991dae2c6b6cfd40/numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a", size = 19236173, upload-time = "2024-08-26T20:12:44.049Z" }, + { url = "https://files.pythonhosted.org/packages/d1/e9/1f5333281e4ebf483ba1c888b1d61ba7e78d7e910fdd8e6499667041cc35/numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:96a55f64139912d61de9137f11bf39a55ec8faec288c75a54f93dfd39f7eb40c", size = 19634174, upload-time = "2024-08-26T20:13:13.634Z" }, + { url = "https://files.pythonhosted.org/packages/71/af/a469674070c8d8408384e3012e064299f7a2de540738a8e414dcfd639996/numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec9852fb39354b5a45a80bdab5ac02dd02b15f44b3804e9f00c556bf24b4bded", size = 14099701, upload-time = "2024-08-26T20:13:34.851Z" }, + { url = "https://files.pythonhosted.org/packages/d0/3d/08ea9f239d0e0e939b6ca52ad403c84a2bce1bde301a8eb4888c1c1543f1/numpy-2.0.2-cp312-cp312-win32.whl", hash = "sha256:671bec6496f83202ed2d3c8fdc486a8fc86942f2e69ff0e986140339a63bcbe5", size = 6174313, upload-time = "2024-08-26T20:13:45.653Z" }, + { url = "https://files.pythonhosted.org/packages/b2/b5/4ac39baebf1fdb2e72585c8352c56d063b6126be9fc95bd2bb5ef5770c20/numpy-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a", size = 15606179, upload-time = "2024-08-26T20:14:08.786Z" }, + { url = "https://files.pythonhosted.org/packages/43/c1/41c8f6df3162b0c6ffd4437d729115704bd43363de0090c7f913cfbc2d89/numpy-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9059e10581ce4093f735ed23f3b9d283b9d517ff46009ddd485f1747eb22653c", size = 21169942, upload-time = "2024-08-26T20:14:40.108Z" }, + { url = "https://files.pythonhosted.org/packages/39/bc/fd298f308dcd232b56a4031fd6ddf11c43f9917fbc937e53762f7b5a3bb1/numpy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:423e89b23490805d2a5a96fe40ec507407b8ee786d66f7328be214f9679df6dd", size = 13711512, upload-time = "2024-08-26T20:15:00.985Z" }, + { url = "https://files.pythonhosted.org/packages/96/ff/06d1aa3eeb1c614eda245c1ba4fb88c483bee6520d361641331872ac4b82/numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:2b2955fa6f11907cf7a70dab0d0755159bca87755e831e47932367fc8f2f2d0b", size = 5306976, upload-time = "2024-08-26T20:15:10.876Z" }, + { url = "https://files.pythonhosted.org/packages/2d/98/121996dcfb10a6087a05e54453e28e58694a7db62c5a5a29cee14c6e047b/numpy-2.0.2-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:97032a27bd9d8988b9a97a8c4d2c9f2c15a81f61e2f21404d7e8ef00cb5be729", size = 6906494, upload-time = "2024-08-26T20:15:22.055Z" }, + { url = "https://files.pythonhosted.org/packages/15/31/9dffc70da6b9bbf7968f6551967fc21156207366272c2a40b4ed6008dc9b/numpy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e795a8be3ddbac43274f18588329c72939870a16cae810c2b73461c40718ab1", size = 13912596, upload-time = "2024-08-26T20:15:42.452Z" }, + { url = "https://files.pythonhosted.org/packages/b9/14/78635daab4b07c0930c919d451b8bf8c164774e6a3413aed04a6d95758ce/numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b258c385842546006213344c50655ff1555a9338e2e5e02a0756dc3e803dd", size = 19526099, upload-time = "2024-08-26T20:16:11.048Z" }, + { url = "https://files.pythonhosted.org/packages/26/4c/0eeca4614003077f68bfe7aac8b7496f04221865b3a5e7cb230c9d055afd/numpy-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fec9451a7789926bcf7c2b8d187292c9f93ea30284802a0ab3f5be8ab36865d", size = 19932823, upload-time = "2024-08-26T20:16:40.171Z" }, + { url = "https://files.pythonhosted.org/packages/f1/46/ea25b98b13dccaebddf1a803f8c748680d972e00507cd9bc6dcdb5aa2ac1/numpy-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9189427407d88ff25ecf8f12469d4d39d35bee1db5d39fc5c168c6f088a6956d", size = 14404424, upload-time = "2024-08-26T20:17:02.604Z" }, + { url = "https://files.pythonhosted.org/packages/c8/a6/177dd88d95ecf07e722d21008b1b40e681a929eb9e329684d449c36586b2/numpy-2.0.2-cp39-cp39-win32.whl", hash = "sha256:905d16e0c60200656500c95b6b8dca5d109e23cb24abc701d41c02d74c6b3afa", size = 6476809, upload-time = "2024-08-26T20:17:13.553Z" }, + { url = "https://files.pythonhosted.org/packages/ea/2b/7fc9f4e7ae5b507c1a3a21f0f15ed03e794c1242ea8a242ac158beb56034/numpy-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:a3f4ab0caa7f053f6797fcd4e1e25caee367db3112ef2b6ef82d749530768c73", size = 15911314, upload-time = "2024-08-26T20:17:36.72Z" }, + { url = "https://files.pythonhosted.org/packages/8f/3b/df5a870ac6a3be3a86856ce195ef42eec7ae50d2a202be1f5a4b3b340e14/numpy-2.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7f0a0c6f12e07fa94133c8a67404322845220c06a9e80e85999afe727f7438b8", size = 21025288, upload-time = "2024-08-26T20:18:07.732Z" }, + { url = "https://files.pythonhosted.org/packages/2c/97/51af92f18d6f6f2d9ad8b482a99fb74e142d71372da5d834b3a2747a446e/numpy-2.0.2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl", hash = "sha256:312950fdd060354350ed123c0e25a71327d3711584beaef30cdaa93320c392d4", size = 6762793, upload-time = "2024-08-26T20:18:19.125Z" }, + { url = "https://files.pythonhosted.org/packages/12/46/de1fbd0c1b5ccaa7f9a005b66761533e2f6a3e560096682683a223631fe9/numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26df23238872200f63518dd2aa984cfca675d82469535dc7162dc2ee52d9dd5c", size = 19334885, upload-time = "2024-08-26T20:18:47.237Z" }, + { url = "https://files.pythonhosted.org/packages/cc/dc/d330a6faefd92b446ec0f0dfea4c3207bb1fef3c4771d19cf4543efd2c78/numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a46288ec55ebbd58947d31d72be2c63cbf839f0a63b49cb755022310792a3385", size = 15828784, upload-time = "2024-08-26T20:19:11.19Z" }, +] + +[[package]] +name = "numpy" +version = "2.2.6" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/76/21/7d2a95e4bba9dc13d043ee156a356c0a8f0c6309dff6b21b4d71a073b8a8/numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", size = 20276440, upload-time = "2025-05-17T22:38:04.611Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9a/3e/ed6db5be21ce87955c0cbd3009f2803f59fa08df21b5df06862e2d8e2bdd/numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb", size = 21165245, upload-time = "2025-05-17T21:27:58.555Z" }, + { url = "https://files.pythonhosted.org/packages/22/c2/4b9221495b2a132cc9d2eb862e21d42a009f5a60e45fc44b00118c174bff/numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90", size = 14360048, upload-time = "2025-05-17T21:28:21.406Z" }, + { url = "https://files.pythonhosted.org/packages/fd/77/dc2fcfc66943c6410e2bf598062f5959372735ffda175b39906d54f02349/numpy-2.2.6-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:37e990a01ae6ec7fe7fa1c26c55ecb672dd98b19c3d0e1d1f326fa13cb38d163", size = 5340542, upload-time = "2025-05-17T21:28:30.931Z" }, + { url = "https://files.pythonhosted.org/packages/7a/4f/1cb5fdc353a5f5cc7feb692db9b8ec2c3d6405453f982435efc52561df58/numpy-2.2.6-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:5a6429d4be8ca66d889b7cf70f536a397dc45ba6faeb5f8c5427935d9592e9cf", size = 6878301, upload-time = "2025-05-17T21:28:41.613Z" }, + { url = "https://files.pythonhosted.org/packages/eb/17/96a3acd228cec142fcb8723bd3cc39c2a474f7dcf0a5d16731980bcafa95/numpy-2.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:efd28d4e9cd7d7a8d39074a4d44c63eda73401580c5c76acda2ce969e0a38e83", size = 14297320, upload-time = "2025-05-17T21:29:02.78Z" }, + { url = "https://files.pythonhosted.org/packages/b4/63/3de6a34ad7ad6646ac7d2f55ebc6ad439dbbf9c4370017c50cf403fb19b5/numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915", size = 16801050, upload-time = "2025-05-17T21:29:27.675Z" }, + { url = "https://files.pythonhosted.org/packages/07/b6/89d837eddef52b3d0cec5c6ba0456c1bf1b9ef6a6672fc2b7873c3ec4e2e/numpy-2.2.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:74d4531beb257d2c3f4b261bfb0fc09e0f9ebb8842d82a7b4209415896adc680", size = 15807034, upload-time = "2025-05-17T21:29:51.102Z" }, + { url = "https://files.pythonhosted.org/packages/01/c8/dc6ae86e3c61cfec1f178e5c9f7858584049b6093f843bca541f94120920/numpy-2.2.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8fc377d995680230e83241d8a96def29f204b5782f371c532579b4f20607a289", size = 18614185, upload-time = "2025-05-17T21:30:18.703Z" }, + { url = "https://files.pythonhosted.org/packages/5b/c5/0064b1b7e7c89137b471ccec1fd2282fceaae0ab3a9550f2568782d80357/numpy-2.2.6-cp310-cp310-win32.whl", hash = "sha256:b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d", size = 6527149, upload-time = "2025-05-17T21:30:29.788Z" }, + { url = "https://files.pythonhosted.org/packages/a3/dd/4b822569d6b96c39d1215dbae0582fd99954dcbcf0c1a13c61783feaca3f/numpy-2.2.6-cp310-cp310-win_amd64.whl", hash = "sha256:f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3", size = 12904620, upload-time = "2025-05-17T21:30:48.994Z" }, + { url = "https://files.pythonhosted.org/packages/da/a8/4f83e2aa666a9fbf56d6118faaaf5f1974d456b1823fda0a176eff722839/numpy-2.2.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f9f1adb22318e121c5c69a09142811a201ef17ab257a1e66ca3025065b7f53ae", size = 21176963, upload-time = "2025-05-17T21:31:19.36Z" }, + { url = "https://files.pythonhosted.org/packages/b3/2b/64e1affc7972decb74c9e29e5649fac940514910960ba25cd9af4488b66c/numpy-2.2.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c820a93b0255bc360f53eca31a0e676fd1101f673dda8da93454a12e23fc5f7a", size = 14406743, upload-time = "2025-05-17T21:31:41.087Z" }, + { url = "https://files.pythonhosted.org/packages/4a/9f/0121e375000b5e50ffdd8b25bf78d8e1a5aa4cca3f185d41265198c7b834/numpy-2.2.6-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3d70692235e759f260c3d837193090014aebdf026dfd167834bcba43e30c2a42", size = 5352616, upload-time = "2025-05-17T21:31:50.072Z" }, + { url = "https://files.pythonhosted.org/packages/31/0d/b48c405c91693635fbe2dcd7bc84a33a602add5f63286e024d3b6741411c/numpy-2.2.6-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:481b49095335f8eed42e39e8041327c05b0f6f4780488f61286ed3c01368d491", size = 6889579, upload-time = "2025-05-17T21:32:01.712Z" }, + { url = "https://files.pythonhosted.org/packages/52/b8/7f0554d49b565d0171eab6e99001846882000883998e7b7d9f0d98b1f934/numpy-2.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b64d8d4d17135e00c8e346e0a738deb17e754230d7e0810ac5012750bbd85a5a", size = 14312005, upload-time = "2025-05-17T21:32:23.332Z" }, + { url = "https://files.pythonhosted.org/packages/b3/dd/2238b898e51bd6d389b7389ffb20d7f4c10066d80351187ec8e303a5a475/numpy-2.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba10f8411898fc418a521833e014a77d3ca01c15b0c6cdcce6a0d2897e6dbbdf", size = 16821570, upload-time = "2025-05-17T21:32:47.991Z" }, + { url = "https://files.pythonhosted.org/packages/83/6c/44d0325722cf644f191042bf47eedad61c1e6df2432ed65cbe28509d404e/numpy-2.2.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bd48227a919f1bafbdda0583705e547892342c26fb127219d60a5c36882609d1", size = 15818548, upload-time = "2025-05-17T21:33:11.728Z" }, + { url = "https://files.pythonhosted.org/packages/ae/9d/81e8216030ce66be25279098789b665d49ff19eef08bfa8cb96d4957f422/numpy-2.2.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9551a499bf125c1d4f9e250377c1ee2eddd02e01eac6644c080162c0c51778ab", size = 18620521, upload-time = "2025-05-17T21:33:39.139Z" }, + { url = "https://files.pythonhosted.org/packages/6a/fd/e19617b9530b031db51b0926eed5345ce8ddc669bb3bc0044b23e275ebe8/numpy-2.2.6-cp311-cp311-win32.whl", hash = "sha256:0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47", size = 6525866, upload-time = "2025-05-17T21:33:50.273Z" }, + { url = "https://files.pythonhosted.org/packages/31/0a/f354fb7176b81747d870f7991dc763e157a934c717b67b58456bc63da3df/numpy-2.2.6-cp311-cp311-win_amd64.whl", hash = "sha256:e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303", size = 12907455, upload-time = "2025-05-17T21:34:09.135Z" }, + { url = "https://files.pythonhosted.org/packages/82/5d/c00588b6cf18e1da539b45d3598d3557084990dcc4331960c15ee776ee41/numpy-2.2.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff", size = 20875348, upload-time = "2025-05-17T21:34:39.648Z" }, + { url = "https://files.pythonhosted.org/packages/66/ee/560deadcdde6c2f90200450d5938f63a34b37e27ebff162810f716f6a230/numpy-2.2.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c", size = 14119362, upload-time = "2025-05-17T21:35:01.241Z" }, + { url = "https://files.pythonhosted.org/packages/3c/65/4baa99f1c53b30adf0acd9a5519078871ddde8d2339dc5a7fde80d9d87da/numpy-2.2.6-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3", size = 5084103, upload-time = "2025-05-17T21:35:10.622Z" }, + { url = "https://files.pythonhosted.org/packages/cc/89/e5a34c071a0570cc40c9a54eb472d113eea6d002e9ae12bb3a8407fb912e/numpy-2.2.6-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282", size = 6625382, upload-time = "2025-05-17T21:35:21.414Z" }, + { url = "https://files.pythonhosted.org/packages/f8/35/8c80729f1ff76b3921d5c9487c7ac3de9b2a103b1cd05e905b3090513510/numpy-2.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87", size = 14018462, upload-time = "2025-05-17T21:35:42.174Z" }, + { url = "https://files.pythonhosted.org/packages/8c/3d/1e1db36cfd41f895d266b103df00ca5b3cbe965184df824dec5c08c6b803/numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249", size = 16527618, upload-time = "2025-05-17T21:36:06.711Z" }, + { url = "https://files.pythonhosted.org/packages/61/c6/03ed30992602c85aa3cd95b9070a514f8b3c33e31124694438d88809ae36/numpy-2.2.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49", size = 15505511, upload-time = "2025-05-17T21:36:29.965Z" }, + { url = "https://files.pythonhosted.org/packages/b7/25/5761d832a81df431e260719ec45de696414266613c9ee268394dd5ad8236/numpy-2.2.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de", size = 18313783, upload-time = "2025-05-17T21:36:56.883Z" }, + { url = "https://files.pythonhosted.org/packages/57/0a/72d5a3527c5ebffcd47bde9162c39fae1f90138c961e5296491ce778e682/numpy-2.2.6-cp312-cp312-win32.whl", hash = "sha256:4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4", size = 6246506, upload-time = "2025-05-17T21:37:07.368Z" }, + { url = "https://files.pythonhosted.org/packages/36/fa/8c9210162ca1b88529ab76b41ba02d433fd54fecaf6feb70ef9f124683f1/numpy-2.2.6-cp312-cp312-win_amd64.whl", hash = "sha256:c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2", size = 12614190, upload-time = "2025-05-17T21:37:26.213Z" }, + { url = "https://files.pythonhosted.org/packages/f9/5c/6657823f4f594f72b5471f1db1ab12e26e890bb2e41897522d134d2a3e81/numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84", size = 20867828, upload-time = "2025-05-17T21:37:56.699Z" }, + { url = "https://files.pythonhosted.org/packages/dc/9e/14520dc3dadf3c803473bd07e9b2bd1b69bc583cb2497b47000fed2fa92f/numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b", size = 14143006, upload-time = "2025-05-17T21:38:18.291Z" }, + { url = "https://files.pythonhosted.org/packages/4f/06/7e96c57d90bebdce9918412087fc22ca9851cceaf5567a45c1f404480e9e/numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d", size = 5076765, upload-time = "2025-05-17T21:38:27.319Z" }, + { url = "https://files.pythonhosted.org/packages/73/ed/63d920c23b4289fdac96ddbdd6132e9427790977d5457cd132f18e76eae0/numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566", size = 6617736, upload-time = "2025-05-17T21:38:38.141Z" }, + { url = "https://files.pythonhosted.org/packages/85/c5/e19c8f99d83fd377ec8c7e0cf627a8049746da54afc24ef0a0cb73d5dfb5/numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f", size = 14010719, upload-time = "2025-05-17T21:38:58.433Z" }, + { url = "https://files.pythonhosted.org/packages/19/49/4df9123aafa7b539317bf6d342cb6d227e49f7a35b99c287a6109b13dd93/numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f", size = 16526072, upload-time = "2025-05-17T21:39:22.638Z" }, + { url = "https://files.pythonhosted.org/packages/b2/6c/04b5f47f4f32f7c2b0e7260442a8cbcf8168b0e1a41ff1495da42f42a14f/numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868", size = 15503213, upload-time = "2025-05-17T21:39:45.865Z" }, + { url = "https://files.pythonhosted.org/packages/17/0a/5cd92e352c1307640d5b6fec1b2ffb06cd0dabe7d7b8227f97933d378422/numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d", size = 18316632, upload-time = "2025-05-17T21:40:13.331Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3b/5cba2b1d88760ef86596ad0f3d484b1cbff7c115ae2429678465057c5155/numpy-2.2.6-cp313-cp313-win32.whl", hash = "sha256:5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd", size = 6244532, upload-time = "2025-05-17T21:43:46.099Z" }, + { url = "https://files.pythonhosted.org/packages/cb/3b/d58c12eafcb298d4e6d0d40216866ab15f59e55d148a5658bb3132311fcf/numpy-2.2.6-cp313-cp313-win_amd64.whl", hash = "sha256:b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c", size = 12610885, upload-time = "2025-05-17T21:44:05.145Z" }, + { url = "https://files.pythonhosted.org/packages/6b/9e/4bf918b818e516322db999ac25d00c75788ddfd2d2ade4fa66f1f38097e1/numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6", size = 20963467, upload-time = "2025-05-17T21:40:44Z" }, + { url = "https://files.pythonhosted.org/packages/61/66/d2de6b291507517ff2e438e13ff7b1e2cdbdb7cb40b3ed475377aece69f9/numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda", size = 14225144, upload-time = "2025-05-17T21:41:05.695Z" }, + { url = "https://files.pythonhosted.org/packages/e4/25/480387655407ead912e28ba3a820bc69af9adf13bcbe40b299d454ec011f/numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40", size = 5200217, upload-time = "2025-05-17T21:41:15.903Z" }, + { url = "https://files.pythonhosted.org/packages/aa/4a/6e313b5108f53dcbf3aca0c0f3e9c92f4c10ce57a0a721851f9785872895/numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8", size = 6712014, upload-time = "2025-05-17T21:41:27.321Z" }, + { url = "https://files.pythonhosted.org/packages/b7/30/172c2d5c4be71fdf476e9de553443cf8e25feddbe185e0bd88b096915bcc/numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f", size = 14077935, upload-time = "2025-05-17T21:41:49.738Z" }, + { url = "https://files.pythonhosted.org/packages/12/fb/9e743f8d4e4d3c710902cf87af3512082ae3d43b945d5d16563f26ec251d/numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa", size = 16600122, upload-time = "2025-05-17T21:42:14.046Z" }, + { url = "https://files.pythonhosted.org/packages/12/75/ee20da0e58d3a66f204f38916757e01e33a9737d0b22373b3eb5a27358f9/numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571", size = 15586143, upload-time = "2025-05-17T21:42:37.464Z" }, + { url = "https://files.pythonhosted.org/packages/76/95/bef5b37f29fc5e739947e9ce5179ad402875633308504a52d188302319c8/numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1", size = 18385260, upload-time = "2025-05-17T21:43:05.189Z" }, + { url = "https://files.pythonhosted.org/packages/09/04/f2f83279d287407cf36a7a8053a5abe7be3622a4363337338f2585e4afda/numpy-2.2.6-cp313-cp313t-win32.whl", hash = "sha256:038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff", size = 6377225, upload-time = "2025-05-17T21:43:16.254Z" }, + { url = "https://files.pythonhosted.org/packages/67/0e/35082d13c09c02c011cf21570543d202ad929d961c02a147493cb0c2bdf5/numpy-2.2.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06", size = 12771374, upload-time = "2025-05-17T21:43:35.479Z" }, + { url = "https://files.pythonhosted.org/packages/9e/3b/d94a75f4dbf1ef5d321523ecac21ef23a3cd2ac8b78ae2aac40873590229/numpy-2.2.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0b605b275d7bd0c640cad4e5d30fa701a8d59302e127e5f79138ad62762c3e3d", size = 21040391, upload-time = "2025-05-17T21:44:35.948Z" }, + { url = "https://files.pythonhosted.org/packages/17/f4/09b2fa1b58f0fb4f7c7963a1649c64c4d315752240377ed74d9cd878f7b5/numpy-2.2.6-pp310-pypy310_pp73-macosx_14_0_x86_64.whl", hash = "sha256:7befc596a7dc9da8a337f79802ee8adb30a552a94f792b9c9d18c840055907db", size = 6786754, upload-time = "2025-05-17T21:44:47.446Z" }, + { url = "https://files.pythonhosted.org/packages/af/30/feba75f143bdc868a1cc3f44ccfa6c4b9ec522b36458e738cd00f67b573f/numpy-2.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce47521a4754c8f4593837384bd3424880629f718d87c5d44f8ed763edd63543", size = 16643476, upload-time = "2025-05-17T21:45:11.871Z" }, + { url = "https://files.pythonhosted.org/packages/37/48/ac2a9584402fb6c0cd5b5d1a91dcf176b15760130dd386bbafdbfe3640bf/numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00", size = 12812666, upload-time = "2025-05-17T21:45:31.426Z" }, +] + +[[package]] +name = "numpy" +version = "2.3.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11'", +] +sdist = { url = "https://files.pythonhosted.org/packages/37/7d/3fec4199c5ffb892bed55cff901e4f39a58c81df9c44c280499e92cad264/numpy-2.3.2.tar.gz", hash = "sha256:e0486a11ec30cdecb53f184d496d1c6a20786c81e55e41640270130056f8ee48", size = 20489306, upload-time = "2025-07-24T21:32:07.553Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/96/26/1320083986108998bd487e2931eed2aeedf914b6e8905431487543ec911d/numpy-2.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:852ae5bed3478b92f093e30f785c98e0cb62fa0a939ed057c31716e18a7a22b9", size = 21259016, upload-time = "2025-07-24T20:24:35.214Z" }, + { url = "https://files.pythonhosted.org/packages/c4/2b/792b341463fa93fc7e55abbdbe87dac316c5b8cb5e94fb7a59fb6fa0cda5/numpy-2.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7a0e27186e781a69959d0230dd9909b5e26024f8da10683bd6344baea1885168", size = 14451158, upload-time = "2025-07-24T20:24:58.397Z" }, + { url = "https://files.pythonhosted.org/packages/b7/13/e792d7209261afb0c9f4759ffef6135b35c77c6349a151f488f531d13595/numpy-2.3.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:f0a1a8476ad77a228e41619af2fa9505cf69df928e9aaa165746584ea17fed2b", size = 5379817, upload-time = "2025-07-24T20:25:07.746Z" }, + { url = "https://files.pythonhosted.org/packages/49/ce/055274fcba4107c022b2113a213c7287346563f48d62e8d2a5176ad93217/numpy-2.3.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:cbc95b3813920145032412f7e33d12080f11dc776262df1712e1638207dde9e8", size = 6913606, upload-time = "2025-07-24T20:25:18.84Z" }, + { url = "https://files.pythonhosted.org/packages/17/f2/e4d72e6bc5ff01e2ab613dc198d560714971900c03674b41947e38606502/numpy-2.3.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f75018be4980a7324edc5930fe39aa391d5734531b1926968605416ff58c332d", size = 14589652, upload-time = "2025-07-24T20:25:40.356Z" }, + { url = "https://files.pythonhosted.org/packages/c8/b0/fbeee3000a51ebf7222016e2939b5c5ecf8000a19555d04a18f1e02521b8/numpy-2.3.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:20b8200721840f5621b7bd03f8dcd78de33ec522fc40dc2641aa09537df010c3", size = 16938816, upload-time = "2025-07-24T20:26:05.721Z" }, + { url = "https://files.pythonhosted.org/packages/a9/ec/2f6c45c3484cc159621ea8fc000ac5a86f1575f090cac78ac27193ce82cd/numpy-2.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1f91e5c028504660d606340a084db4b216567ded1056ea2b4be4f9d10b67197f", size = 16370512, upload-time = "2025-07-24T20:26:30.545Z" }, + { url = "https://files.pythonhosted.org/packages/b5/01/dd67cf511850bd7aefd6347aaae0956ed415abea741ae107834aae7d6d4e/numpy-2.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:fb1752a3bb9a3ad2d6b090b88a9a0ae1cd6f004ef95f75825e2f382c183b2097", size = 18884947, upload-time = "2025-07-24T20:26:58.24Z" }, + { url = "https://files.pythonhosted.org/packages/a7/17/2cf60fd3e6a61d006778735edf67a222787a8c1a7842aed43ef96d777446/numpy-2.3.2-cp311-cp311-win32.whl", hash = "sha256:4ae6863868aaee2f57503c7a5052b3a2807cf7a3914475e637a0ecd366ced220", size = 6599494, upload-time = "2025-07-24T20:27:09.786Z" }, + { url = "https://files.pythonhosted.org/packages/d5/03/0eade211c504bda872a594f045f98ddcc6caef2b7c63610946845e304d3f/numpy-2.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:240259d6564f1c65424bcd10f435145a7644a65a6811cfc3201c4a429ba79170", size = 13087889, upload-time = "2025-07-24T20:27:29.558Z" }, + { url = "https://files.pythonhosted.org/packages/13/32/2c7979d39dafb2a25087e12310fc7f3b9d3c7d960df4f4bc97955ae0ce1d/numpy-2.3.2-cp311-cp311-win_arm64.whl", hash = "sha256:4209f874d45f921bde2cff1ffcd8a3695f545ad2ffbef6d3d3c6768162efab89", size = 10459560, upload-time = "2025-07-24T20:27:46.803Z" }, + { url = "https://files.pythonhosted.org/packages/00/6d/745dd1c1c5c284d17725e5c802ca4d45cfc6803519d777f087b71c9f4069/numpy-2.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:bc3186bea41fae9d8e90c2b4fb5f0a1f5a690682da79b92574d63f56b529080b", size = 20956420, upload-time = "2025-07-24T20:28:18.002Z" }, + { url = "https://files.pythonhosted.org/packages/bc/96/e7b533ea5740641dd62b07a790af5d9d8fec36000b8e2d0472bd7574105f/numpy-2.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2f4f0215edb189048a3c03bd5b19345bdfa7b45a7a6f72ae5945d2a28272727f", size = 14184660, upload-time = "2025-07-24T20:28:39.522Z" }, + { url = "https://files.pythonhosted.org/packages/2b/53/102c6122db45a62aa20d1b18c9986f67e6b97e0d6fbc1ae13e3e4c84430c/numpy-2.3.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:8b1224a734cd509f70816455c3cffe13a4f599b1bf7130f913ba0e2c0b2006c0", size = 5113382, upload-time = "2025-07-24T20:28:48.544Z" }, + { url = "https://files.pythonhosted.org/packages/2b/21/376257efcbf63e624250717e82b4fae93d60178f09eb03ed766dbb48ec9c/numpy-2.3.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:3dcf02866b977a38ba3ec10215220609ab9667378a9e2150615673f3ffd6c73b", size = 6647258, upload-time = "2025-07-24T20:28:59.104Z" }, + { url = "https://files.pythonhosted.org/packages/91/ba/f4ebf257f08affa464fe6036e13f2bf9d4642a40228781dc1235da81be9f/numpy-2.3.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:572d5512df5470f50ada8d1972c5f1082d9a0b7aa5944db8084077570cf98370", size = 14281409, upload-time = "2025-07-24T20:40:30.298Z" }, + { url = "https://files.pythonhosted.org/packages/59/ef/f96536f1df42c668cbacb727a8c6da7afc9c05ece6d558927fb1722693e1/numpy-2.3.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8145dd6d10df13c559d1e4314df29695613575183fa2e2d11fac4c208c8a1f73", size = 16641317, upload-time = "2025-07-24T20:40:56.625Z" }, + { url = "https://files.pythonhosted.org/packages/f6/a7/af813a7b4f9a42f498dde8a4c6fcbff8100eed00182cc91dbaf095645f38/numpy-2.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:103ea7063fa624af04a791c39f97070bf93b96d7af7eb23530cd087dc8dbe9dc", size = 16056262, upload-time = "2025-07-24T20:41:20.797Z" }, + { url = "https://files.pythonhosted.org/packages/8b/5d/41c4ef8404caaa7f05ed1cfb06afe16a25895260eacbd29b4d84dff2920b/numpy-2.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fc927d7f289d14f5e037be917539620603294454130b6de200091e23d27dc9be", size = 18579342, upload-time = "2025-07-24T20:41:50.753Z" }, + { url = "https://files.pythonhosted.org/packages/a1/4f/9950e44c5a11636f4a3af6e825ec23003475cc9a466edb7a759ed3ea63bd/numpy-2.3.2-cp312-cp312-win32.whl", hash = "sha256:d95f59afe7f808c103be692175008bab926b59309ade3e6d25009e9a171f7036", size = 6320610, upload-time = "2025-07-24T20:42:01.551Z" }, + { url = "https://files.pythonhosted.org/packages/7c/2f/244643a5ce54a94f0a9a2ab578189c061e4a87c002e037b0829dd77293b6/numpy-2.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:9e196ade2400c0c737d93465327d1ae7c06c7cb8a1756121ebf54b06ca183c7f", size = 12786292, upload-time = "2025-07-24T20:42:20.738Z" }, + { url = "https://files.pythonhosted.org/packages/54/cd/7b5f49d5d78db7badab22d8323c1b6ae458fbf86c4fdfa194ab3cd4eb39b/numpy-2.3.2-cp312-cp312-win_arm64.whl", hash = "sha256:ee807923782faaf60d0d7331f5e86da7d5e3079e28b291973c545476c2b00d07", size = 10194071, upload-time = "2025-07-24T20:42:36.657Z" }, + { url = "https://files.pythonhosted.org/packages/1c/c0/c6bb172c916b00700ed3bf71cb56175fd1f7dbecebf8353545d0b5519f6c/numpy-2.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c8d9727f5316a256425892b043736d63e89ed15bbfe6556c5ff4d9d4448ff3b3", size = 20949074, upload-time = "2025-07-24T20:43:07.813Z" }, + { url = "https://files.pythonhosted.org/packages/20/4e/c116466d22acaf4573e58421c956c6076dc526e24a6be0903219775d862e/numpy-2.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:efc81393f25f14d11c9d161e46e6ee348637c0a1e8a54bf9dedc472a3fae993b", size = 14177311, upload-time = "2025-07-24T20:43:29.335Z" }, + { url = "https://files.pythonhosted.org/packages/78/45/d4698c182895af189c463fc91d70805d455a227261d950e4e0f1310c2550/numpy-2.3.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:dd937f088a2df683cbb79dda9a772b62a3e5a8a7e76690612c2737f38c6ef1b6", size = 5106022, upload-time = "2025-07-24T20:43:37.999Z" }, + { url = "https://files.pythonhosted.org/packages/9f/76/3e6880fef4420179309dba72a8c11f6166c431cf6dee54c577af8906f914/numpy-2.3.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:11e58218c0c46c80509186e460d79fbdc9ca1eb8d8aee39d8f2dc768eb781089", size = 6640135, upload-time = "2025-07-24T20:43:49.28Z" }, + { url = "https://files.pythonhosted.org/packages/34/fa/87ff7f25b3c4ce9085a62554460b7db686fef1e0207e8977795c7b7d7ba1/numpy-2.3.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5ad4ebcb683a1f99f4f392cc522ee20a18b2bb12a2c1c42c3d48d5a1adc9d3d2", size = 14278147, upload-time = "2025-07-24T20:44:10.328Z" }, + { url = "https://files.pythonhosted.org/packages/1d/0f/571b2c7a3833ae419fe69ff7b479a78d313581785203cc70a8db90121b9a/numpy-2.3.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:938065908d1d869c7d75d8ec45f735a034771c6ea07088867f713d1cd3bbbe4f", size = 16635989, upload-time = "2025-07-24T20:44:34.88Z" }, + { url = "https://files.pythonhosted.org/packages/24/5a/84ae8dca9c9a4c592fe11340b36a86ffa9fd3e40513198daf8a97839345c/numpy-2.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:66459dccc65d8ec98cc7df61307b64bf9e08101f9598755d42d8ae65d9a7a6ee", size = 16053052, upload-time = "2025-07-24T20:44:58.872Z" }, + { url = "https://files.pythonhosted.org/packages/57/7c/e5725d99a9133b9813fcf148d3f858df98511686e853169dbaf63aec6097/numpy-2.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a7af9ed2aa9ec5950daf05bb11abc4076a108bd3c7db9aa7251d5f107079b6a6", size = 18577955, upload-time = "2025-07-24T20:45:26.714Z" }, + { url = "https://files.pythonhosted.org/packages/ae/11/7c546fcf42145f29b71e4d6f429e96d8d68e5a7ba1830b2e68d7418f0bbd/numpy-2.3.2-cp313-cp313-win32.whl", hash = "sha256:906a30249315f9c8e17b085cc5f87d3f369b35fedd0051d4a84686967bdbbd0b", size = 6311843, upload-time = "2025-07-24T20:49:24.444Z" }, + { url = "https://files.pythonhosted.org/packages/aa/6f/a428fd1cb7ed39b4280d057720fed5121b0d7754fd2a9768640160f5517b/numpy-2.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:c63d95dc9d67b676e9108fe0d2182987ccb0f11933c1e8959f42fa0da8d4fa56", size = 12782876, upload-time = "2025-07-24T20:49:43.227Z" }, + { url = "https://files.pythonhosted.org/packages/65/85/4ea455c9040a12595fb6c43f2c217257c7b52dd0ba332c6a6c1d28b289fe/numpy-2.3.2-cp313-cp313-win_arm64.whl", hash = "sha256:b05a89f2fb84d21235f93de47129dd4f11c16f64c87c33f5e284e6a3a54e43f2", size = 10192786, upload-time = "2025-07-24T20:49:59.443Z" }, + { url = "https://files.pythonhosted.org/packages/80/23/8278f40282d10c3f258ec3ff1b103d4994bcad78b0cba9208317f6bb73da/numpy-2.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4e6ecfeddfa83b02318f4d84acf15fbdbf9ded18e46989a15a8b6995dfbf85ab", size = 21047395, upload-time = "2025-07-24T20:45:58.821Z" }, + { url = "https://files.pythonhosted.org/packages/1f/2d/624f2ce4a5df52628b4ccd16a4f9437b37c35f4f8a50d00e962aae6efd7a/numpy-2.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:508b0eada3eded10a3b55725b40806a4b855961040180028f52580c4729916a2", size = 14300374, upload-time = "2025-07-24T20:46:20.207Z" }, + { url = "https://files.pythonhosted.org/packages/f6/62/ff1e512cdbb829b80a6bd08318a58698867bca0ca2499d101b4af063ee97/numpy-2.3.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:754d6755d9a7588bdc6ac47dc4ee97867271b17cee39cb87aef079574366db0a", size = 5228864, upload-time = "2025-07-24T20:46:30.58Z" }, + { url = "https://files.pythonhosted.org/packages/7d/8e/74bc18078fff03192d4032cfa99d5a5ca937807136d6f5790ce07ca53515/numpy-2.3.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:a9f66e7d2b2d7712410d3bc5684149040ef5f19856f20277cd17ea83e5006286", size = 6737533, upload-time = "2025-07-24T20:46:46.111Z" }, + { url = "https://files.pythonhosted.org/packages/19/ea/0731efe2c9073ccca5698ef6a8c3667c4cf4eea53fcdcd0b50140aba03bc/numpy-2.3.2-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:de6ea4e5a65d5a90c7d286ddff2b87f3f4ad61faa3db8dabe936b34c2275b6f8", size = 14352007, upload-time = "2025-07-24T20:47:07.1Z" }, + { url = "https://files.pythonhosted.org/packages/cf/90/36be0865f16dfed20f4bc7f75235b963d5939707d4b591f086777412ff7b/numpy-2.3.2-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a3ef07ec8cbc8fc9e369c8dcd52019510c12da4de81367d8b20bc692aa07573a", size = 16701914, upload-time = "2025-07-24T20:47:32.459Z" }, + { url = "https://files.pythonhosted.org/packages/94/30/06cd055e24cb6c38e5989a9e747042b4e723535758e6153f11afea88c01b/numpy-2.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:27c9f90e7481275c7800dc9c24b7cc40ace3fdb970ae4d21eaff983a32f70c91", size = 16132708, upload-time = "2025-07-24T20:47:58.129Z" }, + { url = "https://files.pythonhosted.org/packages/9a/14/ecede608ea73e58267fd7cb78f42341b3b37ba576e778a1a06baffbe585c/numpy-2.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:07b62978075b67eee4065b166d000d457c82a1efe726cce608b9db9dd66a73a5", size = 18651678, upload-time = "2025-07-24T20:48:25.402Z" }, + { url = "https://files.pythonhosted.org/packages/40/f3/2fe6066b8d07c3685509bc24d56386534c008b462a488b7f503ba82b8923/numpy-2.3.2-cp313-cp313t-win32.whl", hash = "sha256:c771cfac34a4f2c0de8e8c97312d07d64fd8f8ed45bc9f5726a7e947270152b5", size = 6441832, upload-time = "2025-07-24T20:48:37.181Z" }, + { url = "https://files.pythonhosted.org/packages/0b/ba/0937d66d05204d8f28630c9c60bc3eda68824abde4cf756c4d6aad03b0c6/numpy-2.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:72dbebb2dcc8305c431b2836bcc66af967df91be793d63a24e3d9b741374c450", size = 12927049, upload-time = "2025-07-24T20:48:56.24Z" }, + { url = "https://files.pythonhosted.org/packages/e9/ed/13542dd59c104d5e654dfa2ac282c199ba64846a74c2c4bcdbc3a0f75df1/numpy-2.3.2-cp313-cp313t-win_arm64.whl", hash = "sha256:72c6df2267e926a6d5286b0a6d556ebe49eae261062059317837fda12ddf0c1a", size = 10262935, upload-time = "2025-07-24T20:49:13.136Z" }, + { url = "https://files.pythonhosted.org/packages/c9/7c/7659048aaf498f7611b783e000c7268fcc4dcf0ce21cd10aad7b2e8f9591/numpy-2.3.2-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:448a66d052d0cf14ce9865d159bfc403282c9bc7bb2a31b03cc18b651eca8b1a", size = 20950906, upload-time = "2025-07-24T20:50:30.346Z" }, + { url = "https://files.pythonhosted.org/packages/80/db/984bea9d4ddf7112a04cfdfb22b1050af5757864cfffe8e09e44b7f11a10/numpy-2.3.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:546aaf78e81b4081b2eba1d105c3b34064783027a06b3ab20b6eba21fb64132b", size = 14185607, upload-time = "2025-07-24T20:50:51.923Z" }, + { url = "https://files.pythonhosted.org/packages/e4/76/b3d6f414f4eca568f469ac112a3b510938d892bc5a6c190cb883af080b77/numpy-2.3.2-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:87c930d52f45df092f7578889711a0768094debf73cfcde105e2d66954358125", size = 5114110, upload-time = "2025-07-24T20:51:01.041Z" }, + { url = "https://files.pythonhosted.org/packages/9e/d2/6f5e6826abd6bca52392ed88fe44a4b52aacb60567ac3bc86c67834c3a56/numpy-2.3.2-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:8dc082ea901a62edb8f59713c6a7e28a85daddcb67454c839de57656478f5b19", size = 6642050, upload-time = "2025-07-24T20:51:11.64Z" }, + { url = "https://files.pythonhosted.org/packages/c4/43/f12b2ade99199e39c73ad182f103f9d9791f48d885c600c8e05927865baf/numpy-2.3.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:af58de8745f7fa9ca1c0c7c943616c6fe28e75d0c81f5c295810e3c83b5be92f", size = 14296292, upload-time = "2025-07-24T20:51:33.488Z" }, + { url = "https://files.pythonhosted.org/packages/5d/f9/77c07d94bf110a916b17210fac38680ed8734c236bfed9982fd8524a7b47/numpy-2.3.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed5527c4cf10f16c6d0b6bee1f89958bccb0ad2522c8cadc2efd318bcd545f5", size = 16638913, upload-time = "2025-07-24T20:51:58.517Z" }, + { url = "https://files.pythonhosted.org/packages/9b/d1/9d9f2c8ea399cc05cfff8a7437453bd4e7d894373a93cdc46361bbb49a7d/numpy-2.3.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:095737ed986e00393ec18ec0b21b47c22889ae4b0cd2d5e88342e08b01141f58", size = 16071180, upload-time = "2025-07-24T20:52:22.827Z" }, + { url = "https://files.pythonhosted.org/packages/4c/41/82e2c68aff2a0c9bf315e47d61951099fed65d8cb2c8d9dc388cb87e947e/numpy-2.3.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b5e40e80299607f597e1a8a247ff8d71d79c5b52baa11cc1cce30aa92d2da6e0", size = 18576809, upload-time = "2025-07-24T20:52:51.015Z" }, + { url = "https://files.pythonhosted.org/packages/14/14/4b4fd3efb0837ed252d0f583c5c35a75121038a8c4e065f2c259be06d2d8/numpy-2.3.2-cp314-cp314-win32.whl", hash = "sha256:7d6e390423cc1f76e1b8108c9b6889d20a7a1f59d9a60cac4a050fa734d6c1e2", size = 6366410, upload-time = "2025-07-24T20:56:44.949Z" }, + { url = "https://files.pythonhosted.org/packages/11/9e/b4c24a6b8467b61aced5c8dc7dcfce23621baa2e17f661edb2444a418040/numpy-2.3.2-cp314-cp314-win_amd64.whl", hash = "sha256:b9d0878b21e3918d76d2209c924ebb272340da1fb51abc00f986c258cd5e957b", size = 12918821, upload-time = "2025-07-24T20:57:06.479Z" }, + { url = "https://files.pythonhosted.org/packages/0e/0f/0dc44007c70b1007c1cef86b06986a3812dd7106d8f946c09cfa75782556/numpy-2.3.2-cp314-cp314-win_arm64.whl", hash = "sha256:2738534837c6a1d0c39340a190177d7d66fdf432894f469728da901f8f6dc910", size = 10477303, upload-time = "2025-07-24T20:57:22.879Z" }, + { url = "https://files.pythonhosted.org/packages/8b/3e/075752b79140b78ddfc9c0a1634d234cfdbc6f9bbbfa6b7504e445ad7d19/numpy-2.3.2-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:4d002ecf7c9b53240be3bb69d80f86ddbd34078bae04d87be81c1f58466f264e", size = 21047524, upload-time = "2025-07-24T20:53:22.086Z" }, + { url = "https://files.pythonhosted.org/packages/fe/6d/60e8247564a72426570d0e0ea1151b95ce5bd2f1597bb878a18d32aec855/numpy-2.3.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:293b2192c6bcce487dbc6326de5853787f870aeb6c43f8f9c6496db5b1781e45", size = 14300519, upload-time = "2025-07-24T20:53:44.053Z" }, + { url = "https://files.pythonhosted.org/packages/4d/73/d8326c442cd428d47a067070c3ac6cc3b651a6e53613a1668342a12d4479/numpy-2.3.2-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:0a4f2021a6da53a0d580d6ef5db29947025ae8b35b3250141805ea9a32bbe86b", size = 5228972, upload-time = "2025-07-24T20:53:53.81Z" }, + { url = "https://files.pythonhosted.org/packages/34/2e/e71b2d6dad075271e7079db776196829019b90ce3ece5c69639e4f6fdc44/numpy-2.3.2-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:9c144440db4bf3bb6372d2c3e49834cc0ff7bb4c24975ab33e01199e645416f2", size = 6737439, upload-time = "2025-07-24T20:54:04.742Z" }, + { url = "https://files.pythonhosted.org/packages/15/b0/d004bcd56c2c5e0500ffc65385eb6d569ffd3363cb5e593ae742749b2daa/numpy-2.3.2-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f92d6c2a8535dc4fe4419562294ff957f83a16ebdec66df0805e473ffaad8bd0", size = 14352479, upload-time = "2025-07-24T20:54:25.819Z" }, + { url = "https://files.pythonhosted.org/packages/11/e3/285142fcff8721e0c99b51686426165059874c150ea9ab898e12a492e291/numpy-2.3.2-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cefc2219baa48e468e3db7e706305fcd0c095534a192a08f31e98d83a7d45fb0", size = 16702805, upload-time = "2025-07-24T20:54:50.814Z" }, + { url = "https://files.pythonhosted.org/packages/33/c3/33b56b0e47e604af2c7cd065edca892d180f5899599b76830652875249a3/numpy-2.3.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:76c3e9501ceb50b2ff3824c3589d5d1ab4ac857b0ee3f8f49629d0de55ecf7c2", size = 16133830, upload-time = "2025-07-24T20:55:17.306Z" }, + { url = "https://files.pythonhosted.org/packages/6e/ae/7b1476a1f4d6a48bc669b8deb09939c56dd2a439db1ab03017844374fb67/numpy-2.3.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:122bf5ed9a0221b3419672493878ba4967121514b1d7d4656a7580cd11dddcbf", size = 18652665, upload-time = "2025-07-24T20:55:46.665Z" }, + { url = "https://files.pythonhosted.org/packages/14/ba/5b5c9978c4bb161034148ade2de9db44ec316fab89ce8c400db0e0c81f86/numpy-2.3.2-cp314-cp314t-win32.whl", hash = "sha256:6f1ae3dcb840edccc45af496f312528c15b1f79ac318169d094e85e4bb35fdf1", size = 6514777, upload-time = "2025-07-24T20:55:57.66Z" }, + { url = "https://files.pythonhosted.org/packages/eb/46/3dbaf0ae7c17cdc46b9f662c56da2054887b8d9e737c1476f335c83d33db/numpy-2.3.2-cp314-cp314t-win_amd64.whl", hash = "sha256:087ffc25890d89a43536f75c5fe8770922008758e8eeeef61733957041ed2f9b", size = 13111856, upload-time = "2025-07-24T20:56:17.318Z" }, + { url = "https://files.pythonhosted.org/packages/c1/9e/1652778bce745a67b5fe05adde60ed362d38eb17d919a540e813d30f6874/numpy-2.3.2-cp314-cp314t-win_arm64.whl", hash = "sha256:092aeb3449833ea9c0bf0089d70c29ae480685dd2377ec9cdbbb620257f84631", size = 10544226, upload-time = "2025-07-24T20:56:34.509Z" }, + { url = "https://files.pythonhosted.org/packages/cf/ea/50ebc91d28b275b23b7128ef25c3d08152bc4068f42742867e07a870a42a/numpy-2.3.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:14a91ebac98813a49bc6aa1a0dfc09513dcec1d97eaf31ca21a87221a1cdcb15", size = 21130338, upload-time = "2025-07-24T20:57:54.37Z" }, + { url = "https://files.pythonhosted.org/packages/9f/57/cdd5eac00dd5f137277355c318a955c0d8fb8aa486020c22afd305f8b88f/numpy-2.3.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:71669b5daae692189540cffc4c439468d35a3f84f0c88b078ecd94337f6cb0ec", size = 14375776, upload-time = "2025-07-24T20:58:16.303Z" }, + { url = "https://files.pythonhosted.org/packages/83/85/27280c7f34fcd305c2209c0cdca4d70775e4859a9eaa92f850087f8dea50/numpy-2.3.2-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:69779198d9caee6e547adb933941ed7520f896fd9656834c300bdf4dd8642712", size = 5304882, upload-time = "2025-07-24T20:58:26.199Z" }, + { url = "https://files.pythonhosted.org/packages/48/b4/6500b24d278e15dd796f43824e69939d00981d37d9779e32499e823aa0aa/numpy-2.3.2-pp311-pypy311_pp73-macosx_14_0_x86_64.whl", hash = "sha256:2c3271cc4097beb5a60f010bcc1cc204b300bb3eafb4399376418a83a1c6373c", size = 6818405, upload-time = "2025-07-24T20:58:37.341Z" }, + { url = "https://files.pythonhosted.org/packages/9b/c9/142c1e03f199d202da8e980c2496213509291b6024fd2735ad28ae7065c7/numpy-2.3.2-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8446acd11fe3dc1830568c941d44449fd5cb83068e5c70bd5a470d323d448296", size = 14419651, upload-time = "2025-07-24T20:58:59.048Z" }, + { url = "https://files.pythonhosted.org/packages/8b/95/8023e87cbea31a750a6c00ff9427d65ebc5fef104a136bfa69f76266d614/numpy-2.3.2-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:aa098a5ab53fa407fded5870865c6275a5cd4101cfdef8d6fafc48286a96e981", size = 16760166, upload-time = "2025-07-24T21:28:56.38Z" }, + { url = "https://files.pythonhosted.org/packages/78/e3/6690b3f85a05506733c7e90b577e4762517404ea78bab2ca3a5cb1aeb78d/numpy-2.3.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:6936aff90dda378c09bea075af0d9c675fe3a977a9d2402f95a87f440f59f619", size = 12977811, upload-time = "2025-07-24T21:29:18.234Z" }, +] + +[[package]] +name = "openai" +version = "1.102.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "distro" }, + { name = "httpx" }, + { name = "jiter" }, + { name = "pydantic" }, + { name = "sniffio" }, + { name = "tqdm" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/07/55/da5598ed5c6bdd9939633854049cddc5cbac0da938dfcfcb3c6b119c16c0/openai-1.102.0.tar.gz", hash = "sha256:2e0153bcd64a6523071e90211cbfca1f2bbc5ceedd0993ba932a5869f93b7fc9", size = 519027, upload-time = "2025-08-26T20:50:29.397Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bd/0d/c9e7016d82c53c5b5e23e2bad36daebb8921ed44f69c0a985c6529a35106/openai-1.102.0-py3-none-any.whl", hash = "sha256:d751a7e95e222b5325306362ad02a7aa96e1fab3ed05b5888ce1c7ca63451345", size = 812015, upload-time = "2025-08-26T20:50:27.219Z" }, +] + +[[package]] +name = "orderly-set" +version = "5.3.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/51/14/b2c6d6f9b95054b0b0c0afe54dc613285d2a8ab5d74080c2cc9d6500caa6/orderly_set-5.3.2.tar.gz", hash = "sha256:5fd6d917788d0e2196582f38a1c4b74591963d4df9be24ae5a51ba4cea2c987f", size = 20937, upload-time = "2025-04-09T23:58:43.653Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e2/26/53b6ff62f27d0b449aebf9a05a569d9ee2ca6b9bf089aeda0c6813ba239d/orderly_set-5.3.2-py3-none-any.whl", hash = "sha256:81250ce092333db454a70e5d7ef1409ec4d3002e0d2c7546d710f4639f20f19d", size = 12338, upload-time = "2025-04-09T23:58:42.342Z" }, +] + +[[package]] +name = "packaging" +version = "25.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" }, +] + +[[package]] +name = "parsimonious" +version = "0.10.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "regex" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7b/91/abdc50c4ef06fdf8d047f60ee777ca9b2a7885e1a9cea81343fbecda52d7/parsimonious-0.10.0.tar.gz", hash = "sha256:8281600da180ec8ae35427a4ab4f7b82bfec1e3d1e52f80cb60ea82b9512501c", size = 52172, upload-time = "2022-09-03T17:01:17.004Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/aa/0f/c8b64d9b54ea631fcad4e9e3c8dbe8c11bb32a623be94f22974c88e71eaf/parsimonious-0.10.0-py3-none-any.whl", hash = "sha256:982ab435fabe86519b57f6b35610aa4e4e977e9f02a14353edf4bbc75369fc0f", size = 48427, upload-time = "2022-09-03T17:01:13.814Z" }, +] + +[[package]] +name = "pathspec" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", size = 51043, upload-time = "2023-12-10T22:30:45Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191, upload-time = "2023-12-10T22:30:43.14Z" }, +] + +[[package]] +name = "pdoc" +version = "15.0.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jinja2" }, + { name = "markupsafe" }, + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/91/5c/e94c1ab4aa2f8a9cc29d81e1c513c6216946cb3a90957ef7115b12e9363d/pdoc-15.0.4.tar.gz", hash = "sha256:cf9680f10f5b4863381f44ef084b1903f8f356acb0d4cc6b64576ba9fb712c82", size = 155678, upload-time = "2025-06-04T17:05:49.639Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fd/2c/87250ac73ca8730b2c4e0185b573585f0b42e09562132e6c29d00b3a9bb9/pdoc-15.0.4-py3-none-any.whl", hash = "sha256:f9028e85e7bb8475b054e69bde1f6d26fc4693d25d9fa1b1ce9009bec7f7a5c4", size = 145978, upload-time = "2025-06-04T17:05:48.473Z" }, +] + +[[package]] +name = "platformdirs" +version = "4.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/23/e8/21db9c9987b0e728855bd57bff6984f67952bea55d6f75e055c46b5383e8/platformdirs-4.4.0.tar.gz", hash = "sha256:ca753cf4d81dc309bc67b0ea38fd15dc97bc30ce419a7f58d13eb3bf14c4febf", size = 21634, upload-time = "2025-08-26T14:32:04.268Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/40/4b/2028861e724d3bd36227adfa20d3fd24c3fc6d52032f4a93c133be5d17ce/platformdirs-4.4.0-py3-none-any.whl", hash = "sha256:abd01743f24e5287cd7a5db3752faf1a2d65353f38ec26d98e25a6db65958c85", size = 18654, upload-time = "2025-08-26T14:32:02.735Z" }, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, +] + +[[package]] +name = "pre-commit" +version = "4.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cfgv" }, + { name = "identify" }, + { name = "nodeenv" }, + { name = "pyyaml" }, + { name = "virtualenv" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ff/29/7cf5bbc236333876e4b41f56e06857a87937ce4bf91e117a6991a2dbb02a/pre_commit-4.3.0.tar.gz", hash = "sha256:499fe450cc9d42e9d58e606262795ecb64dd05438943c62b66f6a8673da30b16", size = 193792, upload-time = "2025-08-09T18:56:14.651Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5b/a5/987a405322d78a73b66e39e4a90e4ef156fd7141bf71df987e50717c321b/pre_commit-4.3.0-py2.py3-none-any.whl", hash = "sha256:2b0747ad7e6e967169136edffee14c16e148a778a54e4f967921aa1ebf2308d8", size = 220965, upload-time = "2025-08-09T18:56:13.192Z" }, +] + +[[package]] +name = "prettytable" +version = "3.16.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wcwidth" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/99/b1/85e18ac92afd08c533603e3393977b6bc1443043115a47bb094f3b98f94f/prettytable-3.16.0.tar.gz", hash = "sha256:3c64b31719d961bf69c9a7e03d0c1e477320906a98da63952bc6698d6164ff57", size = 66276, upload-time = "2025-03-24T19:39:04.008Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/02/c7/5613524e606ea1688b3bdbf48aa64bafb6d0a4ac3750274c43b6158a390f/prettytable-3.16.0-py3-none-any.whl", hash = "sha256:b5eccfabb82222f5aa46b798ff02a8452cf530a352c31bddfa29be41242863aa", size = 33863, upload-time = "2025-03-24T19:39:02.359Z" }, +] + +[[package]] +name = "propcache" +version = "0.3.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a6/16/43264e4a779dd8588c21a70f0709665ee8f611211bdd2c87d952cfa7c776/propcache-0.3.2.tar.gz", hash = "sha256:20d7d62e4e7ef05f221e0db2856b979540686342e7dd9973b815599c7057e168", size = 44139, upload-time = "2025-06-09T22:56:06.081Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ab/14/510deed325e262afeb8b360043c5d7c960da7d3ecd6d6f9496c9c56dc7f4/propcache-0.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:22d9962a358aedbb7a2e36187ff273adeaab9743373a272976d2e348d08c7770", size = 73178, upload-time = "2025-06-09T22:53:40.126Z" }, + { url = "https://files.pythonhosted.org/packages/cd/4e/ad52a7925ff01c1325653a730c7ec3175a23f948f08626a534133427dcff/propcache-0.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0d0fda578d1dc3f77b6b5a5dce3b9ad69a8250a891760a548df850a5e8da87f3", size = 43133, upload-time = "2025-06-09T22:53:41.965Z" }, + { url = "https://files.pythonhosted.org/packages/63/7c/e9399ba5da7780871db4eac178e9c2e204c23dd3e7d32df202092a1ed400/propcache-0.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3def3da3ac3ce41562d85db655d18ebac740cb3fa4367f11a52b3da9d03a5cc3", size = 43039, upload-time = "2025-06-09T22:53:43.268Z" }, + { url = "https://files.pythonhosted.org/packages/22/e1/58da211eb8fdc6fc854002387d38f415a6ca5f5c67c1315b204a5d3e9d7a/propcache-0.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9bec58347a5a6cebf239daba9bda37dffec5b8d2ce004d9fe4edef3d2815137e", size = 201903, upload-time = "2025-06-09T22:53:44.872Z" }, + { url = "https://files.pythonhosted.org/packages/c4/0a/550ea0f52aac455cb90111c8bab995208443e46d925e51e2f6ebdf869525/propcache-0.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:55ffda449a507e9fbd4aca1a7d9aa6753b07d6166140e5a18d2ac9bc49eac220", size = 213362, upload-time = "2025-06-09T22:53:46.707Z" }, + { url = "https://files.pythonhosted.org/packages/5a/af/9893b7d878deda9bb69fcf54600b247fba7317761b7db11fede6e0f28bd0/propcache-0.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:64a67fb39229a8a8491dd42f864e5e263155e729c2e7ff723d6e25f596b1e8cb", size = 210525, upload-time = "2025-06-09T22:53:48.547Z" }, + { url = "https://files.pythonhosted.org/packages/7c/bb/38fd08b278ca85cde36d848091ad2b45954bc5f15cce494bb300b9285831/propcache-0.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9da1cf97b92b51253d5b68cf5a2b9e0dafca095e36b7f2da335e27dc6172a614", size = 198283, upload-time = "2025-06-09T22:53:50.067Z" }, + { url = "https://files.pythonhosted.org/packages/78/8c/9fe55bd01d362bafb413dfe508c48753111a1e269737fa143ba85693592c/propcache-0.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5f559e127134b07425134b4065be45b166183fdcb433cb6c24c8e4149056ad50", size = 191872, upload-time = "2025-06-09T22:53:51.438Z" }, + { url = "https://files.pythonhosted.org/packages/54/14/4701c33852937a22584e08abb531d654c8bcf7948a8f87ad0a4822394147/propcache-0.3.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:aff2e4e06435d61f11a428360a932138d0ec288b0a31dd9bd78d200bd4a2b339", size = 199452, upload-time = "2025-06-09T22:53:53.229Z" }, + { url = "https://files.pythonhosted.org/packages/16/44/447f2253d859602095356007657ee535e0093215ea0b3d1d6a41d16e5201/propcache-0.3.2-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:4927842833830942a5d0a56e6f4839bc484785b8e1ce8d287359794818633ba0", size = 191567, upload-time = "2025-06-09T22:53:54.541Z" }, + { url = "https://files.pythonhosted.org/packages/f2/b3/e4756258749bb2d3b46defcff606a2f47410bab82be5824a67e84015b267/propcache-0.3.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:6107ddd08b02654a30fb8ad7a132021759d750a82578b94cd55ee2772b6ebea2", size = 193015, upload-time = "2025-06-09T22:53:56.44Z" }, + { url = "https://files.pythonhosted.org/packages/1e/df/e6d3c7574233164b6330b9fd697beeac402afd367280e6dc377bb99b43d9/propcache-0.3.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:70bd8b9cd6b519e12859c99f3fc9a93f375ebd22a50296c3a295028bea73b9e7", size = 204660, upload-time = "2025-06-09T22:53:57.839Z" }, + { url = "https://files.pythonhosted.org/packages/b2/53/e4d31dd5170b4a0e2e6b730f2385a96410633b4833dc25fe5dffd1f73294/propcache-0.3.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2183111651d710d3097338dd1893fcf09c9f54e27ff1a8795495a16a469cc90b", size = 206105, upload-time = "2025-06-09T22:53:59.638Z" }, + { url = "https://files.pythonhosted.org/packages/7f/fe/74d54cf9fbe2a20ff786e5f7afcfde446588f0cf15fb2daacfbc267b866c/propcache-0.3.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:fb075ad271405dcad8e2a7ffc9a750a3bf70e533bd86e89f0603e607b93aa64c", size = 196980, upload-time = "2025-06-09T22:54:01.071Z" }, + { url = "https://files.pythonhosted.org/packages/22/ec/c469c9d59dada8a7679625e0440b544fe72e99311a4679c279562051f6fc/propcache-0.3.2-cp310-cp310-win32.whl", hash = "sha256:404d70768080d3d3bdb41d0771037da19d8340d50b08e104ca0e7f9ce55fce70", size = 37679, upload-time = "2025-06-09T22:54:03.003Z" }, + { url = "https://files.pythonhosted.org/packages/38/35/07a471371ac89d418f8d0b699c75ea6dca2041fbda360823de21f6a9ce0a/propcache-0.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:7435d766f978b4ede777002e6b3b6641dd229cd1da8d3d3106a45770365f9ad9", size = 41459, upload-time = "2025-06-09T22:54:04.134Z" }, + { url = "https://files.pythonhosted.org/packages/80/8d/e8b436717ab9c2cfc23b116d2c297305aa4cd8339172a456d61ebf5669b8/propcache-0.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0b8d2f607bd8f80ddc04088bc2a037fdd17884a6fcadc47a96e334d72f3717be", size = 74207, upload-time = "2025-06-09T22:54:05.399Z" }, + { url = "https://files.pythonhosted.org/packages/d6/29/1e34000e9766d112171764b9fa3226fa0153ab565d0c242c70e9945318a7/propcache-0.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:06766d8f34733416e2e34f46fea488ad5d60726bb9481d3cddf89a6fa2d9603f", size = 43648, upload-time = "2025-06-09T22:54:08.023Z" }, + { url = "https://files.pythonhosted.org/packages/46/92/1ad5af0df781e76988897da39b5f086c2bf0f028b7f9bd1f409bb05b6874/propcache-0.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a2dc1f4a1df4fecf4e6f68013575ff4af84ef6f478fe5344317a65d38a8e6dc9", size = 43496, upload-time = "2025-06-09T22:54:09.228Z" }, + { url = "https://files.pythonhosted.org/packages/b3/ce/e96392460f9fb68461fabab3e095cb00c8ddf901205be4eae5ce246e5b7e/propcache-0.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be29c4f4810c5789cf10ddf6af80b041c724e629fa51e308a7a0fb19ed1ef7bf", size = 217288, upload-time = "2025-06-09T22:54:10.466Z" }, + { url = "https://files.pythonhosted.org/packages/c5/2a/866726ea345299f7ceefc861a5e782b045545ae6940851930a6adaf1fca6/propcache-0.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59d61f6970ecbd8ff2e9360304d5c8876a6abd4530cb752c06586849ac8a9dc9", size = 227456, upload-time = "2025-06-09T22:54:11.828Z" }, + { url = "https://files.pythonhosted.org/packages/de/03/07d992ccb6d930398689187e1b3c718339a1c06b8b145a8d9650e4726166/propcache-0.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:62180e0b8dbb6b004baec00a7983e4cc52f5ada9cd11f48c3528d8cfa7b96a66", size = 225429, upload-time = "2025-06-09T22:54:13.823Z" }, + { url = "https://files.pythonhosted.org/packages/5d/e6/116ba39448753b1330f48ab8ba927dcd6cf0baea8a0ccbc512dfb49ba670/propcache-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c144ca294a204c470f18cf4c9d78887810d04a3e2fbb30eea903575a779159df", size = 213472, upload-time = "2025-06-09T22:54:15.232Z" }, + { url = "https://files.pythonhosted.org/packages/a6/85/f01f5d97e54e428885a5497ccf7f54404cbb4f906688a1690cd51bf597dc/propcache-0.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c5c2a784234c28854878d68978265617aa6dc0780e53d44b4d67f3651a17a9a2", size = 204480, upload-time = "2025-06-09T22:54:17.104Z" }, + { url = "https://files.pythonhosted.org/packages/e3/79/7bf5ab9033b8b8194cc3f7cf1aaa0e9c3256320726f64a3e1f113a812dce/propcache-0.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5745bc7acdafa978ca1642891b82c19238eadc78ba2aaa293c6863b304e552d7", size = 214530, upload-time = "2025-06-09T22:54:18.512Z" }, + { url = "https://files.pythonhosted.org/packages/31/0b/bd3e0c00509b609317df4a18e6b05a450ef2d9a963e1d8bc9c9415d86f30/propcache-0.3.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:c0075bf773d66fa8c9d41f66cc132ecc75e5bb9dd7cce3cfd14adc5ca184cb95", size = 205230, upload-time = "2025-06-09T22:54:19.947Z" }, + { url = "https://files.pythonhosted.org/packages/7a/23/fae0ff9b54b0de4e819bbe559508da132d5683c32d84d0dc2ccce3563ed4/propcache-0.3.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5f57aa0847730daceff0497f417c9de353c575d8da3579162cc74ac294c5369e", size = 206754, upload-time = "2025-06-09T22:54:21.716Z" }, + { url = "https://files.pythonhosted.org/packages/b7/7f/ad6a3c22630aaa5f618b4dc3c3598974a72abb4c18e45a50b3cdd091eb2f/propcache-0.3.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:eef914c014bf72d18efb55619447e0aecd5fb7c2e3fa7441e2e5d6099bddff7e", size = 218430, upload-time = "2025-06-09T22:54:23.17Z" }, + { url = "https://files.pythonhosted.org/packages/5b/2c/ba4f1c0e8a4b4c75910742f0d333759d441f65a1c7f34683b4a74c0ee015/propcache-0.3.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:2a4092e8549031e82facf3decdbc0883755d5bbcc62d3aea9d9e185549936dcf", size = 223884, upload-time = "2025-06-09T22:54:25.539Z" }, + { url = "https://files.pythonhosted.org/packages/88/e4/ebe30fc399e98572019eee82ad0caf512401661985cbd3da5e3140ffa1b0/propcache-0.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:85871b050f174bc0bfb437efbdb68aaf860611953ed12418e4361bc9c392749e", size = 211480, upload-time = "2025-06-09T22:54:26.892Z" }, + { url = "https://files.pythonhosted.org/packages/96/0a/7d5260b914e01d1d0906f7f38af101f8d8ed0dc47426219eeaf05e8ea7c2/propcache-0.3.2-cp311-cp311-win32.whl", hash = "sha256:36c8d9b673ec57900c3554264e630d45980fd302458e4ac801802a7fd2ef7897", size = 37757, upload-time = "2025-06-09T22:54:28.241Z" }, + { url = "https://files.pythonhosted.org/packages/e1/2d/89fe4489a884bc0da0c3278c552bd4ffe06a1ace559db5ef02ef24ab446b/propcache-0.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:e53af8cb6a781b02d2ea079b5b853ba9430fcbe18a8e3ce647d5982a3ff69f39", size = 41500, upload-time = "2025-06-09T22:54:29.4Z" }, + { url = "https://files.pythonhosted.org/packages/a8/42/9ca01b0a6f48e81615dca4765a8f1dd2c057e0540f6116a27dc5ee01dfb6/propcache-0.3.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:8de106b6c84506b31c27168582cd3cb3000a6412c16df14a8628e5871ff83c10", size = 73674, upload-time = "2025-06-09T22:54:30.551Z" }, + { url = "https://files.pythonhosted.org/packages/af/6e/21293133beb550f9c901bbece755d582bfaf2176bee4774000bd4dd41884/propcache-0.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:28710b0d3975117239c76600ea351934ac7b5ff56e60953474342608dbbb6154", size = 43570, upload-time = "2025-06-09T22:54:32.296Z" }, + { url = "https://files.pythonhosted.org/packages/0c/c8/0393a0a3a2b8760eb3bde3c147f62b20044f0ddac81e9d6ed7318ec0d852/propcache-0.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce26862344bdf836650ed2487c3d724b00fbfec4233a1013f597b78c1cb73615", size = 43094, upload-time = "2025-06-09T22:54:33.929Z" }, + { url = "https://files.pythonhosted.org/packages/37/2c/489afe311a690399d04a3e03b069225670c1d489eb7b044a566511c1c498/propcache-0.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bca54bd347a253af2cf4544bbec232ab982f4868de0dd684246b67a51bc6b1db", size = 226958, upload-time = "2025-06-09T22:54:35.186Z" }, + { url = "https://files.pythonhosted.org/packages/9d/ca/63b520d2f3d418c968bf596839ae26cf7f87bead026b6192d4da6a08c467/propcache-0.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:55780d5e9a2ddc59711d727226bb1ba83a22dd32f64ee15594b9392b1f544eb1", size = 234894, upload-time = "2025-06-09T22:54:36.708Z" }, + { url = "https://files.pythonhosted.org/packages/11/60/1d0ed6fff455a028d678df30cc28dcee7af77fa2b0e6962ce1df95c9a2a9/propcache-0.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:035e631be25d6975ed87ab23153db6a73426a48db688070d925aa27e996fe93c", size = 233672, upload-time = "2025-06-09T22:54:38.062Z" }, + { url = "https://files.pythonhosted.org/packages/37/7c/54fd5301ef38505ab235d98827207176a5c9b2aa61939b10a460ca53e123/propcache-0.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee6f22b6eaa39297c751d0e80c0d3a454f112f5c6481214fcf4c092074cecd67", size = 224395, upload-time = "2025-06-09T22:54:39.634Z" }, + { url = "https://files.pythonhosted.org/packages/ee/1a/89a40e0846f5de05fdc6779883bf46ba980e6df4d2ff8fb02643de126592/propcache-0.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ca3aee1aa955438c4dba34fc20a9f390e4c79967257d830f137bd5a8a32ed3b", size = 212510, upload-time = "2025-06-09T22:54:41.565Z" }, + { url = "https://files.pythonhosted.org/packages/5e/33/ca98368586c9566a6b8d5ef66e30484f8da84c0aac3f2d9aec6d31a11bd5/propcache-0.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7a4f30862869fa2b68380d677cc1c5fcf1e0f2b9ea0cf665812895c75d0ca3b8", size = 222949, upload-time = "2025-06-09T22:54:43.038Z" }, + { url = "https://files.pythonhosted.org/packages/ba/11/ace870d0aafe443b33b2f0b7efdb872b7c3abd505bfb4890716ad7865e9d/propcache-0.3.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:b77ec3c257d7816d9f3700013639db7491a434644c906a2578a11daf13176251", size = 217258, upload-time = "2025-06-09T22:54:44.376Z" }, + { url = "https://files.pythonhosted.org/packages/5b/d2/86fd6f7adffcfc74b42c10a6b7db721d1d9ca1055c45d39a1a8f2a740a21/propcache-0.3.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:cab90ac9d3f14b2d5050928483d3d3b8fb6b4018893fc75710e6aa361ecb2474", size = 213036, upload-time = "2025-06-09T22:54:46.243Z" }, + { url = "https://files.pythonhosted.org/packages/07/94/2d7d1e328f45ff34a0a284cf5a2847013701e24c2a53117e7c280a4316b3/propcache-0.3.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:0b504d29f3c47cf6b9e936c1852246c83d450e8e063d50562115a6be6d3a2535", size = 227684, upload-time = "2025-06-09T22:54:47.63Z" }, + { url = "https://files.pythonhosted.org/packages/b7/05/37ae63a0087677e90b1d14710e532ff104d44bc1efa3b3970fff99b891dc/propcache-0.3.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:ce2ac2675a6aa41ddb2a0c9cbff53780a617ac3d43e620f8fd77ba1c84dcfc06", size = 234562, upload-time = "2025-06-09T22:54:48.982Z" }, + { url = "https://files.pythonhosted.org/packages/a4/7c/3f539fcae630408d0bd8bf3208b9a647ccad10976eda62402a80adf8fc34/propcache-0.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:62b4239611205294cc433845b914131b2a1f03500ff3c1ed093ed216b82621e1", size = 222142, upload-time = "2025-06-09T22:54:50.424Z" }, + { url = "https://files.pythonhosted.org/packages/7c/d2/34b9eac8c35f79f8a962546b3e97e9d4b990c420ee66ac8255d5d9611648/propcache-0.3.2-cp312-cp312-win32.whl", hash = "sha256:df4a81b9b53449ebc90cc4deefb052c1dd934ba85012aa912c7ea7b7e38b60c1", size = 37711, upload-time = "2025-06-09T22:54:52.072Z" }, + { url = "https://files.pythonhosted.org/packages/19/61/d582be5d226cf79071681d1b46b848d6cb03d7b70af7063e33a2787eaa03/propcache-0.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:7046e79b989d7fe457bb755844019e10f693752d169076138abf17f31380800c", size = 41479, upload-time = "2025-06-09T22:54:53.234Z" }, + { url = "https://files.pythonhosted.org/packages/dc/d1/8c747fafa558c603c4ca19d8e20b288aa0c7cda74e9402f50f31eb65267e/propcache-0.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ca592ed634a73ca002967458187109265e980422116c0a107cf93d81f95af945", size = 71286, upload-time = "2025-06-09T22:54:54.369Z" }, + { url = "https://files.pythonhosted.org/packages/61/99/d606cb7986b60d89c36de8a85d58764323b3a5ff07770a99d8e993b3fa73/propcache-0.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9ecb0aad4020e275652ba3975740f241bd12a61f1a784df044cf7477a02bc252", size = 42425, upload-time = "2025-06-09T22:54:55.642Z" }, + { url = "https://files.pythonhosted.org/packages/8c/96/ef98f91bbb42b79e9bb82bdd348b255eb9d65f14dbbe3b1594644c4073f7/propcache-0.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7f08f1cc28bd2eade7a8a3d2954ccc673bb02062e3e7da09bc75d843386b342f", size = 41846, upload-time = "2025-06-09T22:54:57.246Z" }, + { url = "https://files.pythonhosted.org/packages/5b/ad/3f0f9a705fb630d175146cd7b1d2bf5555c9beaed54e94132b21aac098a6/propcache-0.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1a342c834734edb4be5ecb1e9fb48cb64b1e2320fccbd8c54bf8da8f2a84c33", size = 208871, upload-time = "2025-06-09T22:54:58.975Z" }, + { url = "https://files.pythonhosted.org/packages/3a/38/2085cda93d2c8b6ec3e92af2c89489a36a5886b712a34ab25de9fbca7992/propcache-0.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a544caaae1ac73f1fecfae70ded3e93728831affebd017d53449e3ac052ac1e", size = 215720, upload-time = "2025-06-09T22:55:00.471Z" }, + { url = "https://files.pythonhosted.org/packages/61/c1/d72ea2dc83ac7f2c8e182786ab0fc2c7bd123a1ff9b7975bee671866fe5f/propcache-0.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:310d11aa44635298397db47a3ebce7db99a4cc4b9bbdfcf6c98a60c8d5261cf1", size = 215203, upload-time = "2025-06-09T22:55:01.834Z" }, + { url = "https://files.pythonhosted.org/packages/af/81/b324c44ae60c56ef12007105f1460d5c304b0626ab0cc6b07c8f2a9aa0b8/propcache-0.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c1396592321ac83157ac03a2023aa6cc4a3cc3cfdecb71090054c09e5a7cce3", size = 206365, upload-time = "2025-06-09T22:55:03.199Z" }, + { url = "https://files.pythonhosted.org/packages/09/73/88549128bb89e66d2aff242488f62869014ae092db63ccea53c1cc75a81d/propcache-0.3.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8cabf5b5902272565e78197edb682017d21cf3b550ba0460ee473753f28d23c1", size = 196016, upload-time = "2025-06-09T22:55:04.518Z" }, + { url = "https://files.pythonhosted.org/packages/b9/3f/3bdd14e737d145114a5eb83cb172903afba7242f67c5877f9909a20d948d/propcache-0.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0a2f2235ac46a7aa25bdeb03a9e7060f6ecbd213b1f9101c43b3090ffb971ef6", size = 205596, upload-time = "2025-06-09T22:55:05.942Z" }, + { url = "https://files.pythonhosted.org/packages/0f/ca/2f4aa819c357d3107c3763d7ef42c03980f9ed5c48c82e01e25945d437c1/propcache-0.3.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:92b69e12e34869a6970fd2f3da91669899994b47c98f5d430b781c26f1d9f387", size = 200977, upload-time = "2025-06-09T22:55:07.792Z" }, + { url = "https://files.pythonhosted.org/packages/cd/4a/e65276c7477533c59085251ae88505caf6831c0e85ff8b2e31ebcbb949b1/propcache-0.3.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:54e02207c79968ebbdffc169591009f4474dde3b4679e16634d34c9363ff56b4", size = 197220, upload-time = "2025-06-09T22:55:09.173Z" }, + { url = "https://files.pythonhosted.org/packages/7c/54/fc7152e517cf5578278b242396ce4d4b36795423988ef39bb8cd5bf274c8/propcache-0.3.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4adfb44cb588001f68c5466579d3f1157ca07f7504fc91ec87862e2b8e556b88", size = 210642, upload-time = "2025-06-09T22:55:10.62Z" }, + { url = "https://files.pythonhosted.org/packages/b9/80/abeb4a896d2767bf5f1ea7b92eb7be6a5330645bd7fb844049c0e4045d9d/propcache-0.3.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:fd3e6019dc1261cd0291ee8919dd91fbab7b169bb76aeef6c716833a3f65d206", size = 212789, upload-time = "2025-06-09T22:55:12.029Z" }, + { url = "https://files.pythonhosted.org/packages/b3/db/ea12a49aa7b2b6d68a5da8293dcf50068d48d088100ac016ad92a6a780e6/propcache-0.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4c181cad81158d71c41a2bce88edce078458e2dd5ffee7eddd6b05da85079f43", size = 205880, upload-time = "2025-06-09T22:55:13.45Z" }, + { url = "https://files.pythonhosted.org/packages/d1/e5/9076a0bbbfb65d1198007059c65639dfd56266cf8e477a9707e4b1999ff4/propcache-0.3.2-cp313-cp313-win32.whl", hash = "sha256:8a08154613f2249519e549de2330cf8e2071c2887309a7b07fb56098f5170a02", size = 37220, upload-time = "2025-06-09T22:55:15.284Z" }, + { url = "https://files.pythonhosted.org/packages/d3/f5/b369e026b09a26cd77aa88d8fffd69141d2ae00a2abaaf5380d2603f4b7f/propcache-0.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:e41671f1594fc4ab0a6dec1351864713cb3a279910ae8b58f884a88a0a632c05", size = 40678, upload-time = "2025-06-09T22:55:16.445Z" }, + { url = "https://files.pythonhosted.org/packages/a4/3a/6ece377b55544941a08d03581c7bc400a3c8cd3c2865900a68d5de79e21f/propcache-0.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:9a3cf035bbaf035f109987d9d55dc90e4b0e36e04bbbb95af3055ef17194057b", size = 76560, upload-time = "2025-06-09T22:55:17.598Z" }, + { url = "https://files.pythonhosted.org/packages/0c/da/64a2bb16418740fa634b0e9c3d29edff1db07f56d3546ca2d86ddf0305e1/propcache-0.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:156c03d07dc1323d8dacaa221fbe028c5c70d16709cdd63502778e6c3ccca1b0", size = 44676, upload-time = "2025-06-09T22:55:18.922Z" }, + { url = "https://files.pythonhosted.org/packages/36/7b/f025e06ea51cb72c52fb87e9b395cced02786610b60a3ed51da8af017170/propcache-0.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:74413c0ba02ba86f55cf60d18daab219f7e531620c15f1e23d95563f505efe7e", size = 44701, upload-time = "2025-06-09T22:55:20.106Z" }, + { url = "https://files.pythonhosted.org/packages/a4/00/faa1b1b7c3b74fc277f8642f32a4c72ba1d7b2de36d7cdfb676db7f4303e/propcache-0.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f066b437bb3fa39c58ff97ab2ca351db465157d68ed0440abecb21715eb24b28", size = 276934, upload-time = "2025-06-09T22:55:21.5Z" }, + { url = "https://files.pythonhosted.org/packages/74/ab/935beb6f1756e0476a4d5938ff44bf0d13a055fed880caf93859b4f1baf4/propcache-0.3.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1304b085c83067914721e7e9d9917d41ad87696bf70f0bc7dee450e9c71ad0a", size = 278316, upload-time = "2025-06-09T22:55:22.918Z" }, + { url = "https://files.pythonhosted.org/packages/f8/9d/994a5c1ce4389610838d1caec74bdf0e98b306c70314d46dbe4fcf21a3e2/propcache-0.3.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ab50cef01b372763a13333b4e54021bdcb291fc9a8e2ccb9c2df98be51bcde6c", size = 282619, upload-time = "2025-06-09T22:55:24.651Z" }, + { url = "https://files.pythonhosted.org/packages/2b/00/a10afce3d1ed0287cef2e09506d3be9822513f2c1e96457ee369adb9a6cd/propcache-0.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fad3b2a085ec259ad2c2842666b2a0a49dea8463579c606426128925af1ed725", size = 265896, upload-time = "2025-06-09T22:55:26.049Z" }, + { url = "https://files.pythonhosted.org/packages/2e/a8/2aa6716ffa566ca57c749edb909ad27884680887d68517e4be41b02299f3/propcache-0.3.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:261fa020c1c14deafd54c76b014956e2f86991af198c51139faf41c4d5e83892", size = 252111, upload-time = "2025-06-09T22:55:27.381Z" }, + { url = "https://files.pythonhosted.org/packages/36/4f/345ca9183b85ac29c8694b0941f7484bf419c7f0fea2d1e386b4f7893eed/propcache-0.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:46d7f8aa79c927e5f987ee3a80205c987717d3659f035c85cf0c3680526bdb44", size = 268334, upload-time = "2025-06-09T22:55:28.747Z" }, + { url = "https://files.pythonhosted.org/packages/3e/ca/fcd54f78b59e3f97b3b9715501e3147f5340167733d27db423aa321e7148/propcache-0.3.2-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:6d8f3f0eebf73e3c0ff0e7853f68be638b4043c65a70517bb575eff54edd8dbe", size = 255026, upload-time = "2025-06-09T22:55:30.184Z" }, + { url = "https://files.pythonhosted.org/packages/8b/95/8e6a6bbbd78ac89c30c225210a5c687790e532ba4088afb8c0445b77ef37/propcache-0.3.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:03c89c1b14a5452cf15403e291c0ccd7751d5b9736ecb2c5bab977ad6c5bcd81", size = 250724, upload-time = "2025-06-09T22:55:31.646Z" }, + { url = "https://files.pythonhosted.org/packages/ee/b0/0dd03616142baba28e8b2d14ce5df6631b4673850a3d4f9c0f9dd714a404/propcache-0.3.2-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:0cc17efde71e12bbaad086d679ce575268d70bc123a5a71ea7ad76f70ba30bba", size = 268868, upload-time = "2025-06-09T22:55:33.209Z" }, + { url = "https://files.pythonhosted.org/packages/c5/98/2c12407a7e4fbacd94ddd32f3b1e3d5231e77c30ef7162b12a60e2dd5ce3/propcache-0.3.2-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:acdf05d00696bc0447e278bb53cb04ca72354e562cf88ea6f9107df8e7fd9770", size = 271322, upload-time = "2025-06-09T22:55:35.065Z" }, + { url = "https://files.pythonhosted.org/packages/35/91/9cb56efbb428b006bb85db28591e40b7736847b8331d43fe335acf95f6c8/propcache-0.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4445542398bd0b5d32df908031cb1b30d43ac848e20470a878b770ec2dcc6330", size = 265778, upload-time = "2025-06-09T22:55:36.45Z" }, + { url = "https://files.pythonhosted.org/packages/9a/4c/b0fe775a2bdd01e176b14b574be679d84fc83958335790f7c9a686c1f468/propcache-0.3.2-cp313-cp313t-win32.whl", hash = "sha256:f86e5d7cd03afb3a1db8e9f9f6eff15794e79e791350ac48a8c924e6f439f394", size = 41175, upload-time = "2025-06-09T22:55:38.436Z" }, + { url = "https://files.pythonhosted.org/packages/a4/ff/47f08595e3d9b5e149c150f88d9714574f1a7cbd89fe2817158a952674bf/propcache-0.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:9704bedf6e7cbe3c65eca4379a9b53ee6a83749f047808cbb5044d40d7d72198", size = 44857, upload-time = "2025-06-09T22:55:39.687Z" }, + { url = "https://files.pythonhosted.org/packages/6c/39/8ea9bcfaaff16fd0b0fc901ee522e24c9ec44b4ca0229cfffb8066a06959/propcache-0.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a7fad897f14d92086d6b03fdd2eb844777b0c4d7ec5e3bac0fbae2ab0602bbe5", size = 74678, upload-time = "2025-06-09T22:55:41.227Z" }, + { url = "https://files.pythonhosted.org/packages/d3/85/cab84c86966e1d354cf90cdc4ba52f32f99a5bca92a1529d666d957d7686/propcache-0.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1f43837d4ca000243fd7fd6301947d7cb93360d03cd08369969450cc6b2ce3b4", size = 43829, upload-time = "2025-06-09T22:55:42.417Z" }, + { url = "https://files.pythonhosted.org/packages/23/f7/9cb719749152d8b26d63801b3220ce2d3931312b2744d2b3a088b0ee9947/propcache-0.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:261df2e9474a5949c46e962065d88eb9b96ce0f2bd30e9d3136bcde84befd8f2", size = 43729, upload-time = "2025-06-09T22:55:43.651Z" }, + { url = "https://files.pythonhosted.org/packages/a2/a2/0b2b5a210ff311260002a315f6f9531b65a36064dfb804655432b2f7d3e3/propcache-0.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e514326b79e51f0a177daab1052bc164d9d9e54133797a3a58d24c9c87a3fe6d", size = 204483, upload-time = "2025-06-09T22:55:45.327Z" }, + { url = "https://files.pythonhosted.org/packages/3f/e0/7aff5de0c535f783b0c8be5bdb750c305c1961d69fbb136939926e155d98/propcache-0.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d4a996adb6904f85894570301939afeee65f072b4fd265ed7e569e8d9058e4ec", size = 217425, upload-time = "2025-06-09T22:55:46.729Z" }, + { url = "https://files.pythonhosted.org/packages/92/1d/65fa889eb3b2a7d6e4ed3c2b568a9cb8817547a1450b572de7bf24872800/propcache-0.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:76cace5d6b2a54e55b137669b30f31aa15977eeed390c7cbfb1dafa8dfe9a701", size = 214723, upload-time = "2025-06-09T22:55:48.342Z" }, + { url = "https://files.pythonhosted.org/packages/9a/e2/eecf6989870988dfd731de408a6fa366e853d361a06c2133b5878ce821ad/propcache-0.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31248e44b81d59d6addbb182c4720f90b44e1efdc19f58112a3c3a1615fb47ef", size = 200166, upload-time = "2025-06-09T22:55:49.775Z" }, + { url = "https://files.pythonhosted.org/packages/12/06/c32be4950967f18f77489268488c7cdc78cbfc65a8ba8101b15e526b83dc/propcache-0.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abb7fa19dbf88d3857363e0493b999b8011eea856b846305d8c0512dfdf8fbb1", size = 194004, upload-time = "2025-06-09T22:55:51.335Z" }, + { url = "https://files.pythonhosted.org/packages/46/6c/17b521a6b3b7cbe277a4064ff0aa9129dd8c89f425a5a9b6b4dd51cc3ff4/propcache-0.3.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:d81ac3ae39d38588ad0549e321e6f773a4e7cc68e7751524a22885d5bbadf886", size = 203075, upload-time = "2025-06-09T22:55:52.681Z" }, + { url = "https://files.pythonhosted.org/packages/62/cb/3bdba2b736b3e45bc0e40f4370f745b3e711d439ffbffe3ae416393eece9/propcache-0.3.2-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:cc2782eb0f7a16462285b6f8394bbbd0e1ee5f928034e941ffc444012224171b", size = 195407, upload-time = "2025-06-09T22:55:54.048Z" }, + { url = "https://files.pythonhosted.org/packages/29/bd/760c5c6a60a4a2c55a421bc34a25ba3919d49dee411ddb9d1493bb51d46e/propcache-0.3.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:db429c19a6c7e8a1c320e6a13c99799450f411b02251fb1b75e6217cf4a14fcb", size = 196045, upload-time = "2025-06-09T22:55:55.485Z" }, + { url = "https://files.pythonhosted.org/packages/76/58/ced2757a46f55b8c84358d6ab8de4faf57cba831c51e823654da7144b13a/propcache-0.3.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:21d8759141a9e00a681d35a1f160892a36fb6caa715ba0b832f7747da48fb6ea", size = 208432, upload-time = "2025-06-09T22:55:56.884Z" }, + { url = "https://files.pythonhosted.org/packages/bb/ec/d98ea8d5a4d8fe0e372033f5254eddf3254344c0c5dc6c49ab84349e4733/propcache-0.3.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:2ca6d378f09adb13837614ad2754fa8afaee330254f404299611bce41a8438cb", size = 210100, upload-time = "2025-06-09T22:55:58.498Z" }, + { url = "https://files.pythonhosted.org/packages/56/84/b6d8a7ecf3f62d7dd09d9d10bbf89fad6837970ef868b35b5ffa0d24d9de/propcache-0.3.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:34a624af06c048946709f4278b4176470073deda88d91342665d95f7c6270fbe", size = 200712, upload-time = "2025-06-09T22:55:59.906Z" }, + { url = "https://files.pythonhosted.org/packages/bf/32/889f4903ddfe4a9dc61da71ee58b763758cf2d608fe1decede06e6467f8d/propcache-0.3.2-cp39-cp39-win32.whl", hash = "sha256:4ba3fef1c30f306b1c274ce0b8baaa2c3cdd91f645c48f06394068f37d3837a1", size = 38187, upload-time = "2025-06-09T22:56:01.212Z" }, + { url = "https://files.pythonhosted.org/packages/67/74/d666795fb9ba1dc139d30de64f3b6fd1ff9c9d3d96ccfdb992cd715ce5d2/propcache-0.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:7a2368eed65fc69a7a7a40b27f22e85e7627b74216f0846b04ba5c116e191ec9", size = 42025, upload-time = "2025-06-09T22:56:02.875Z" }, + { url = "https://files.pythonhosted.org/packages/cc/35/cc0aaecf278bb4575b8555f2b137de5ab821595ddae9da9d3cd1da4072c7/propcache-0.3.2-py3-none-any.whl", hash = "sha256:98f1ec44fb675f5052cccc8e609c46ed23a35a1cfd18545ad4e29002d858a43f", size = 12663, upload-time = "2025-06-09T22:56:04.484Z" }, +] + +[[package]] +name = "pycryptodome" +version = "3.23.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8e/a6/8452177684d5e906854776276ddd34eca30d1b1e15aa1ee9cefc289a33f5/pycryptodome-3.23.0.tar.gz", hash = "sha256:447700a657182d60338bab09fdb27518f8856aecd80ae4c6bdddb67ff5da44ef", size = 4921276, upload-time = "2025-05-17T17:21:45.242Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/5d/bdb09489b63cd34a976cc9e2a8d938114f7a53a74d3dd4f125ffa49dce82/pycryptodome-3.23.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:0011f7f00cdb74879142011f95133274741778abba114ceca229adbf8e62c3e4", size = 2495152, upload-time = "2025-05-17T17:20:20.833Z" }, + { url = "https://files.pythonhosted.org/packages/a7/ce/7840250ed4cc0039c433cd41715536f926d6e86ce84e904068eb3244b6a6/pycryptodome-3.23.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:90460fc9e088ce095f9ee8356722d4f10f86e5be06e2354230a9880b9c549aae", size = 1639348, upload-time = "2025-05-17T17:20:23.171Z" }, + { url = "https://files.pythonhosted.org/packages/ee/f0/991da24c55c1f688d6a3b5a11940567353f74590734ee4a64294834ae472/pycryptodome-3.23.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4764e64b269fc83b00f682c47443c2e6e85b18273712b98aa43bcb77f8570477", size = 2184033, upload-time = "2025-05-17T17:20:25.424Z" }, + { url = "https://files.pythonhosted.org/packages/54/16/0e11882deddf00f68b68dd4e8e442ddc30641f31afeb2bc25588124ac8de/pycryptodome-3.23.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eb8f24adb74984aa0e5d07a2368ad95276cf38051fe2dc6605cbcf482e04f2a7", size = 2270142, upload-time = "2025-05-17T17:20:27.808Z" }, + { url = "https://files.pythonhosted.org/packages/d5/fc/4347fea23a3f95ffb931f383ff28b3f7b1fe868739182cb76718c0da86a1/pycryptodome-3.23.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d97618c9c6684a97ef7637ba43bdf6663a2e2e77efe0f863cce97a76af396446", size = 2309384, upload-time = "2025-05-17T17:20:30.765Z" }, + { url = "https://files.pythonhosted.org/packages/6e/d9/c5261780b69ce66d8cfab25d2797bd6e82ba0241804694cd48be41add5eb/pycryptodome-3.23.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9a53a4fe5cb075075d515797d6ce2f56772ea7e6a1e5e4b96cf78a14bac3d265", size = 2183237, upload-time = "2025-05-17T17:20:33.736Z" }, + { url = "https://files.pythonhosted.org/packages/5a/6f/3af2ffedd5cfa08c631f89452c6648c4d779e7772dfc388c77c920ca6bbf/pycryptodome-3.23.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:763d1d74f56f031788e5d307029caef067febf890cd1f8bf61183ae142f1a77b", size = 2343898, upload-time = "2025-05-17T17:20:36.086Z" }, + { url = "https://files.pythonhosted.org/packages/9a/dc/9060d807039ee5de6e2f260f72f3d70ac213993a804f5e67e0a73a56dd2f/pycryptodome-3.23.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:954af0e2bd7cea83ce72243b14e4fb518b18f0c1649b576d114973e2073b273d", size = 2269197, upload-time = "2025-05-17T17:20:38.414Z" }, + { url = "https://files.pythonhosted.org/packages/f9/34/e6c8ca177cb29dcc4967fef73f5de445912f93bd0343c9c33c8e5bf8cde8/pycryptodome-3.23.0-cp313-cp313t-win32.whl", hash = "sha256:257bb3572c63ad8ba40b89f6fc9d63a2a628e9f9708d31ee26560925ebe0210a", size = 1768600, upload-time = "2025-05-17T17:20:40.688Z" }, + { url = "https://files.pythonhosted.org/packages/e4/1d/89756b8d7ff623ad0160f4539da571d1f594d21ee6d68be130a6eccb39a4/pycryptodome-3.23.0-cp313-cp313t-win_amd64.whl", hash = "sha256:6501790c5b62a29fcb227bd6b62012181d886a767ce9ed03b303d1f22eb5c625", size = 1799740, upload-time = "2025-05-17T17:20:42.413Z" }, + { url = "https://files.pythonhosted.org/packages/5d/61/35a64f0feaea9fd07f0d91209e7be91726eb48c0f1bfc6720647194071e4/pycryptodome-3.23.0-cp313-cp313t-win_arm64.whl", hash = "sha256:9a77627a330ab23ca43b48b130e202582e91cc69619947840ea4d2d1be21eb39", size = 1703685, upload-time = "2025-05-17T17:20:44.388Z" }, + { url = "https://files.pythonhosted.org/packages/db/6c/a1f71542c969912bb0e106f64f60a56cc1f0fabecf9396f45accbe63fa68/pycryptodome-3.23.0-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:187058ab80b3281b1de11c2e6842a357a1f71b42cb1e15bce373f3d238135c27", size = 2495627, upload-time = "2025-05-17T17:20:47.139Z" }, + { url = "https://files.pythonhosted.org/packages/6e/4e/a066527e079fc5002390c8acdd3aca431e6ea0a50ffd7201551175b47323/pycryptodome-3.23.0-cp37-abi3-macosx_10_9_x86_64.whl", hash = "sha256:cfb5cd445280c5b0a4e6187a7ce8de5a07b5f3f897f235caa11f1f435f182843", size = 1640362, upload-time = "2025-05-17T17:20:50.392Z" }, + { url = "https://files.pythonhosted.org/packages/50/52/adaf4c8c100a8c49d2bd058e5b551f73dfd8cb89eb4911e25a0c469b6b4e/pycryptodome-3.23.0-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:67bd81fcbe34f43ad9422ee8fd4843c8e7198dd88dd3d40e6de42ee65fbe1490", size = 2182625, upload-time = "2025-05-17T17:20:52.866Z" }, + { url = "https://files.pythonhosted.org/packages/5f/e9/a09476d436d0ff1402ac3867d933c61805ec2326c6ea557aeeac3825604e/pycryptodome-3.23.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c8987bd3307a39bc03df5c8e0e3d8be0c4c3518b7f044b0f4c15d1aa78f52575", size = 2268954, upload-time = "2025-05-17T17:20:55.027Z" }, + { url = "https://files.pythonhosted.org/packages/f9/c5/ffe6474e0c551d54cab931918127c46d70cab8f114e0c2b5a3c071c2f484/pycryptodome-3.23.0-cp37-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aa0698f65e5b570426fc31b8162ed4603b0c2841cbb9088e2b01641e3065915b", size = 2308534, upload-time = "2025-05-17T17:20:57.279Z" }, + { url = "https://files.pythonhosted.org/packages/18/28/e199677fc15ecf43010f2463fde4c1a53015d1fe95fb03bca2890836603a/pycryptodome-3.23.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:53ecbafc2b55353edcebd64bf5da94a2a2cdf5090a6915bcca6eca6cc452585a", size = 2181853, upload-time = "2025-05-17T17:20:59.322Z" }, + { url = "https://files.pythonhosted.org/packages/ce/ea/4fdb09f2165ce1365c9eaefef36625583371ee514db58dc9b65d3a255c4c/pycryptodome-3.23.0-cp37-abi3-musllinux_1_2_i686.whl", hash = "sha256:156df9667ad9f2ad26255926524e1c136d6664b741547deb0a86a9acf5ea631f", size = 2342465, upload-time = "2025-05-17T17:21:03.83Z" }, + { url = "https://files.pythonhosted.org/packages/22/82/6edc3fc42fe9284aead511394bac167693fb2b0e0395b28b8bedaa07ef04/pycryptodome-3.23.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:dea827b4d55ee390dc89b2afe5927d4308a8b538ae91d9c6f7a5090f397af1aa", size = 2267414, upload-time = "2025-05-17T17:21:06.72Z" }, + { url = "https://files.pythonhosted.org/packages/59/fe/aae679b64363eb78326c7fdc9d06ec3de18bac68be4b612fc1fe8902693c/pycryptodome-3.23.0-cp37-abi3-win32.whl", hash = "sha256:507dbead45474b62b2bbe318eb1c4c8ee641077532067fec9c1aa82c31f84886", size = 1768484, upload-time = "2025-05-17T17:21:08.535Z" }, + { url = "https://files.pythonhosted.org/packages/54/2f/e97a1b8294db0daaa87012c24a7bb714147c7ade7656973fd6c736b484ff/pycryptodome-3.23.0-cp37-abi3-win_amd64.whl", hash = "sha256:c75b52aacc6c0c260f204cbdd834f76edc9fb0d8e0da9fbf8352ef58202564e2", size = 1799636, upload-time = "2025-05-17T17:21:10.393Z" }, + { url = "https://files.pythonhosted.org/packages/18/3d/f9441a0d798bf2b1e645adc3265e55706aead1255ccdad3856dbdcffec14/pycryptodome-3.23.0-cp37-abi3-win_arm64.whl", hash = "sha256:11eeeb6917903876f134b56ba11abe95c0b0fd5e3330def218083c7d98bbcb3c", size = 1703675, upload-time = "2025-05-17T17:21:13.146Z" }, + { url = "https://files.pythonhosted.org/packages/d9/12/e33935a0709c07de084d7d58d330ec3f4daf7910a18e77937affdb728452/pycryptodome-3.23.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ddb95b49df036ddd264a0ad246d1be5b672000f12d6961ea2c267083a5e19379", size = 1623886, upload-time = "2025-05-17T17:21:20.614Z" }, + { url = "https://files.pythonhosted.org/packages/22/0b/aa8f9419f25870889bebf0b26b223c6986652bdf071f000623df11212c90/pycryptodome-3.23.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e95564beb8782abfd9e431c974e14563a794a4944c29d6d3b7b5ea042110b4", size = 1672151, upload-time = "2025-05-17T17:21:22.666Z" }, + { url = "https://files.pythonhosted.org/packages/d4/5e/63f5cbde2342b7f70a39e591dbe75d9809d6338ce0b07c10406f1a140cdc/pycryptodome-3.23.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14e15c081e912c4b0d75632acd8382dfce45b258667aa3c67caf7a4d4c13f630", size = 1664461, upload-time = "2025-05-17T17:21:25.225Z" }, + { url = "https://files.pythonhosted.org/packages/d6/92/608fbdad566ebe499297a86aae5f2a5263818ceeecd16733006f1600403c/pycryptodome-3.23.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a7fc76bf273353dc7e5207d172b83f569540fc9a28d63171061c42e361d22353", size = 1702440, upload-time = "2025-05-17T17:21:27.991Z" }, + { url = "https://files.pythonhosted.org/packages/d1/92/2eadd1341abd2989cce2e2740b4423608ee2014acb8110438244ee97d7ff/pycryptodome-3.23.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:45c69ad715ca1a94f778215a11e66b7ff989d792a4d63b68dc586a1da1392ff5", size = 1803005, upload-time = "2025-05-17T17:21:31.37Z" }, + { url = "https://files.pythonhosted.org/packages/dc/c4/6925ad41576d3e84f03aaf9a0411667af861f9fa2c87553c7dd5bde01518/pycryptodome-3.23.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:865d83c906b0fc6a59b510deceee656b6bc1c4fa0d82176e2b77e97a420a996a", size = 1623768, upload-time = "2025-05-17T17:21:33.418Z" }, + { url = "https://files.pythonhosted.org/packages/a8/14/d6c6a3098ddf2624068f041c5639be5092ad4ae1a411842369fd56765994/pycryptodome-3.23.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:89d4d56153efc4d81defe8b65fd0821ef8b2d5ddf8ed19df31ba2f00872b8002", size = 1672070, upload-time = "2025-05-17T17:21:35.565Z" }, + { url = "https://files.pythonhosted.org/packages/20/89/5d29c8f178fea7c92fd20d22f9ddd532a5e3ac71c574d555d2362aaa832a/pycryptodome-3.23.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3f2d0aaf8080bda0587d58fc9fe4766e012441e2eed4269a77de6aea981c8be", size = 1664359, upload-time = "2025-05-17T17:21:37.551Z" }, + { url = "https://files.pythonhosted.org/packages/38/bc/a287d41b4421ad50eafb02313137d0276d6aeffab90a91e2b08f64140852/pycryptodome-3.23.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:64093fc334c1eccfd3933c134c4457c34eaca235eeae49d69449dc4728079339", size = 1702359, upload-time = "2025-05-17T17:21:39.827Z" }, + { url = "https://files.pythonhosted.org/packages/2b/62/2392b7879f4d2c1bfa20815720b89d464687877851716936b9609959c201/pycryptodome-3.23.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ce64e84a962b63a47a592690bdc16a7eaf709d2c2697ababf24a0def566899a6", size = 1802461, upload-time = "2025-05-17T17:21:41.722Z" }, +] + +[[package]] +name = "pydantic" +version = "2.11.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/00/dd/4325abf92c39ba8623b5af936ddb36ffcfe0beae70405d456ab1fb2f5b8c/pydantic-2.11.7.tar.gz", hash = "sha256:d989c3c6cb79469287b1569f7447a17848c998458d49ebe294e975b9baf0f0db", size = 788350, upload-time = "2025-06-14T08:33:17.137Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6a/c0/ec2b1c8712ca690e5d61979dee872603e92b8a32f94cc1b72d53beab008a/pydantic-2.11.7-py3-none-any.whl", hash = "sha256:dde5df002701f6de26248661f6835bbe296a47bf73990135c7d07ce741b9623b", size = 444782, upload-time = "2025-06-14T08:33:14.905Z" }, +] + +[[package]] +name = "pydantic-core" +version = "2.33.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz", hash = "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", size = 435195, upload-time = "2025-04-23T18:33:52.104Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/92/b31726561b5dae176c2d2c2dc43a9c5bfba5d32f96f8b4c0a600dd492447/pydantic_core-2.33.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2b3d326aaef0c0399d9afffeb6367d5e26ddc24d351dbc9c636840ac355dc5d8", size = 2028817, upload-time = "2025-04-23T18:30:43.919Z" }, + { url = "https://files.pythonhosted.org/packages/a3/44/3f0b95fafdaca04a483c4e685fe437c6891001bf3ce8b2fded82b9ea3aa1/pydantic_core-2.33.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e5b2671f05ba48b94cb90ce55d8bdcaaedb8ba00cc5359f6810fc918713983d", size = 1861357, upload-time = "2025-04-23T18:30:46.372Z" }, + { url = "https://files.pythonhosted.org/packages/30/97/e8f13b55766234caae05372826e8e4b3b96e7b248be3157f53237682e43c/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0069c9acc3f3981b9ff4cdfaf088e98d83440a4c7ea1bc07460af3d4dc22e72d", size = 1898011, upload-time = "2025-04-23T18:30:47.591Z" }, + { url = "https://files.pythonhosted.org/packages/9b/a3/99c48cf7bafc991cc3ee66fd544c0aae8dc907b752f1dad2d79b1b5a471f/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d53b22f2032c42eaaf025f7c40c2e3b94568ae077a606f006d206a463bc69572", size = 1982730, upload-time = "2025-04-23T18:30:49.328Z" }, + { url = "https://files.pythonhosted.org/packages/de/8e/a5b882ec4307010a840fb8b58bd9bf65d1840c92eae7534c7441709bf54b/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0405262705a123b7ce9f0b92f123334d67b70fd1f20a9372b907ce1080c7ba02", size = 2136178, upload-time = "2025-04-23T18:30:50.907Z" }, + { url = "https://files.pythonhosted.org/packages/e4/bb/71e35fc3ed05af6834e890edb75968e2802fe98778971ab5cba20a162315/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4b25d91e288e2c4e0662b8038a28c6a07eaac3e196cfc4ff69de4ea3db992a1b", size = 2736462, upload-time = "2025-04-23T18:30:52.083Z" }, + { url = "https://files.pythonhosted.org/packages/31/0d/c8f7593e6bc7066289bbc366f2235701dcbebcd1ff0ef8e64f6f239fb47d/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bdfe4b3789761f3bcb4b1ddf33355a71079858958e3a552f16d5af19768fef2", size = 2005652, upload-time = "2025-04-23T18:30:53.389Z" }, + { url = "https://files.pythonhosted.org/packages/d2/7a/996d8bd75f3eda405e3dd219ff5ff0a283cd8e34add39d8ef9157e722867/pydantic_core-2.33.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:efec8db3266b76ef9607c2c4c419bdb06bf335ae433b80816089ea7585816f6a", size = 2113306, upload-time = "2025-04-23T18:30:54.661Z" }, + { url = "https://files.pythonhosted.org/packages/ff/84/daf2a6fb2db40ffda6578a7e8c5a6e9c8affb251a05c233ae37098118788/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:031c57d67ca86902726e0fae2214ce6770bbe2f710dc33063187a68744a5ecac", size = 2073720, upload-time = "2025-04-23T18:30:56.11Z" }, + { url = "https://files.pythonhosted.org/packages/77/fb/2258da019f4825128445ae79456a5499c032b55849dbd5bed78c95ccf163/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:f8de619080e944347f5f20de29a975c2d815d9ddd8be9b9b7268e2e3ef68605a", size = 2244915, upload-time = "2025-04-23T18:30:57.501Z" }, + { url = "https://files.pythonhosted.org/packages/d8/7a/925ff73756031289468326e355b6fa8316960d0d65f8b5d6b3a3e7866de7/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:73662edf539e72a9440129f231ed3757faab89630d291b784ca99237fb94db2b", size = 2241884, upload-time = "2025-04-23T18:30:58.867Z" }, + { url = "https://files.pythonhosted.org/packages/0b/b0/249ee6d2646f1cdadcb813805fe76265745c4010cf20a8eba7b0e639d9b2/pydantic_core-2.33.2-cp310-cp310-win32.whl", hash = "sha256:0a39979dcbb70998b0e505fb1556a1d550a0781463ce84ebf915ba293ccb7e22", size = 1910496, upload-time = "2025-04-23T18:31:00.078Z" }, + { url = "https://files.pythonhosted.org/packages/66/ff/172ba8f12a42d4b552917aa65d1f2328990d3ccfc01d5b7c943ec084299f/pydantic_core-2.33.2-cp310-cp310-win_amd64.whl", hash = "sha256:b0379a2b24882fef529ec3b4987cb5d003b9cda32256024e6fe1586ac45fc640", size = 1955019, upload-time = "2025-04-23T18:31:01.335Z" }, + { url = "https://files.pythonhosted.org/packages/3f/8d/71db63483d518cbbf290261a1fc2839d17ff89fce7089e08cad07ccfce67/pydantic_core-2.33.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4c5b0a576fb381edd6d27f0a85915c6daf2f8138dc5c267a57c08a62900758c7", size = 2028584, upload-time = "2025-04-23T18:31:03.106Z" }, + { url = "https://files.pythonhosted.org/packages/24/2f/3cfa7244ae292dd850989f328722d2aef313f74ffc471184dc509e1e4e5a/pydantic_core-2.33.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e799c050df38a639db758c617ec771fd8fb7a5f8eaaa4b27b101f266b216a246", size = 1855071, upload-time = "2025-04-23T18:31:04.621Z" }, + { url = "https://files.pythonhosted.org/packages/b3/d3/4ae42d33f5e3f50dd467761304be2fa0a9417fbf09735bc2cce003480f2a/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dc46a01bf8d62f227d5ecee74178ffc448ff4e5197c756331f71efcc66dc980f", size = 1897823, upload-time = "2025-04-23T18:31:06.377Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f3/aa5976e8352b7695ff808599794b1fba2a9ae2ee954a3426855935799488/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a144d4f717285c6d9234a66778059f33a89096dfb9b39117663fd8413d582dcc", size = 1983792, upload-time = "2025-04-23T18:31:07.93Z" }, + { url = "https://files.pythonhosted.org/packages/d5/7a/cda9b5a23c552037717f2b2a5257e9b2bfe45e687386df9591eff7b46d28/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:73cf6373c21bc80b2e0dc88444f41ae60b2f070ed02095754eb5a01df12256de", size = 2136338, upload-time = "2025-04-23T18:31:09.283Z" }, + { url = "https://files.pythonhosted.org/packages/2b/9f/b8f9ec8dd1417eb9da784e91e1667d58a2a4a7b7b34cf4af765ef663a7e5/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3dc625f4aa79713512d1976fe9f0bc99f706a9dee21dfd1810b4bbbf228d0e8a", size = 2730998, upload-time = "2025-04-23T18:31:11.7Z" }, + { url = "https://files.pythonhosted.org/packages/47/bc/cd720e078576bdb8255d5032c5d63ee5c0bf4b7173dd955185a1d658c456/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b21b5549499972441da4758d662aeea93f1923f953e9cbaff14b8b9565aef", size = 2003200, upload-time = "2025-04-23T18:31:13.536Z" }, + { url = "https://files.pythonhosted.org/packages/ca/22/3602b895ee2cd29d11a2b349372446ae9727c32e78a94b3d588a40fdf187/pydantic_core-2.33.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bdc25f3681f7b78572699569514036afe3c243bc3059d3942624e936ec93450e", size = 2113890, upload-time = "2025-04-23T18:31:15.011Z" }, + { url = "https://files.pythonhosted.org/packages/ff/e6/e3c5908c03cf00d629eb38393a98fccc38ee0ce8ecce32f69fc7d7b558a7/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:fe5b32187cbc0c862ee201ad66c30cf218e5ed468ec8dc1cf49dec66e160cc4d", size = 2073359, upload-time = "2025-04-23T18:31:16.393Z" }, + { url = "https://files.pythonhosted.org/packages/12/e7/6a36a07c59ebefc8777d1ffdaf5ae71b06b21952582e4b07eba88a421c79/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:bc7aee6f634a6f4a95676fcb5d6559a2c2a390330098dba5e5a5f28a2e4ada30", size = 2245883, upload-time = "2025-04-23T18:31:17.892Z" }, + { url = "https://files.pythonhosted.org/packages/16/3f/59b3187aaa6cc0c1e6616e8045b284de2b6a87b027cce2ffcea073adf1d2/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:235f45e5dbcccf6bd99f9f472858849f73d11120d76ea8707115415f8e5ebebf", size = 2241074, upload-time = "2025-04-23T18:31:19.205Z" }, + { url = "https://files.pythonhosted.org/packages/e0/ed/55532bb88f674d5d8f67ab121a2a13c385df382de2a1677f30ad385f7438/pydantic_core-2.33.2-cp311-cp311-win32.whl", hash = "sha256:6368900c2d3ef09b69cb0b913f9f8263b03786e5b2a387706c5afb66800efd51", size = 1910538, upload-time = "2025-04-23T18:31:20.541Z" }, + { url = "https://files.pythonhosted.org/packages/fe/1b/25b7cccd4519c0b23c2dd636ad39d381abf113085ce4f7bec2b0dc755eb1/pydantic_core-2.33.2-cp311-cp311-win_amd64.whl", hash = "sha256:1e063337ef9e9820c77acc768546325ebe04ee38b08703244c1309cccc4f1bab", size = 1952909, upload-time = "2025-04-23T18:31:22.371Z" }, + { url = "https://files.pythonhosted.org/packages/49/a9/d809358e49126438055884c4366a1f6227f0f84f635a9014e2deb9b9de54/pydantic_core-2.33.2-cp311-cp311-win_arm64.whl", hash = "sha256:6b99022f1d19bc32a4c2a0d544fc9a76e3be90f0b3f4af413f87d38749300e65", size = 1897786, upload-time = "2025-04-23T18:31:24.161Z" }, + { url = "https://files.pythonhosted.org/packages/18/8a/2b41c97f554ec8c71f2a8a5f85cb56a8b0956addfe8b0efb5b3d77e8bdc3/pydantic_core-2.33.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a7ec89dc587667f22b6a0b6579c249fca9026ce7c333fc142ba42411fa243cdc", size = 2009000, upload-time = "2025-04-23T18:31:25.863Z" }, + { url = "https://files.pythonhosted.org/packages/a1/02/6224312aacb3c8ecbaa959897af57181fb6cf3a3d7917fd44d0f2917e6f2/pydantic_core-2.33.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3c6db6e52c6d70aa0d00d45cdb9b40f0433b96380071ea80b09277dba021ddf7", size = 1847996, upload-time = "2025-04-23T18:31:27.341Z" }, + { url = "https://files.pythonhosted.org/packages/d6/46/6dcdf084a523dbe0a0be59d054734b86a981726f221f4562aed313dbcb49/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e61206137cbc65e6d5256e1166f88331d3b6238e082d9f74613b9b765fb9025", size = 1880957, upload-time = "2025-04-23T18:31:28.956Z" }, + { url = "https://files.pythonhosted.org/packages/ec/6b/1ec2c03837ac00886ba8160ce041ce4e325b41d06a034adbef11339ae422/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb8c529b2819c37140eb51b914153063d27ed88e3bdc31b71198a198e921e011", size = 1964199, upload-time = "2025-04-23T18:31:31.025Z" }, + { url = "https://files.pythonhosted.org/packages/2d/1d/6bf34d6adb9debd9136bd197ca72642203ce9aaaa85cfcbfcf20f9696e83/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c52b02ad8b4e2cf14ca7b3d918f3eb0ee91e63b3167c32591e57c4317e134f8f", size = 2120296, upload-time = "2025-04-23T18:31:32.514Z" }, + { url = "https://files.pythonhosted.org/packages/e0/94/2bd0aaf5a591e974b32a9f7123f16637776c304471a0ab33cf263cf5591a/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:96081f1605125ba0855dfda83f6f3df5ec90c61195421ba72223de35ccfb2f88", size = 2676109, upload-time = "2025-04-23T18:31:33.958Z" }, + { url = "https://files.pythonhosted.org/packages/f9/41/4b043778cf9c4285d59742281a769eac371b9e47e35f98ad321349cc5d61/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f57a69461af2a5fa6e6bbd7a5f60d3b7e6cebb687f55106933188e79ad155c1", size = 2002028, upload-time = "2025-04-23T18:31:39.095Z" }, + { url = "https://files.pythonhosted.org/packages/cb/d5/7bb781bf2748ce3d03af04d5c969fa1308880e1dca35a9bd94e1a96a922e/pydantic_core-2.33.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:572c7e6c8bb4774d2ac88929e3d1f12bc45714ae5ee6d9a788a9fb35e60bb04b", size = 2100044, upload-time = "2025-04-23T18:31:41.034Z" }, + { url = "https://files.pythonhosted.org/packages/fe/36/def5e53e1eb0ad896785702a5bbfd25eed546cdcf4087ad285021a90ed53/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:db4b41f9bd95fbe5acd76d89920336ba96f03e149097365afe1cb092fceb89a1", size = 2058881, upload-time = "2025-04-23T18:31:42.757Z" }, + { url = "https://files.pythonhosted.org/packages/01/6c/57f8d70b2ee57fc3dc8b9610315949837fa8c11d86927b9bb044f8705419/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:fa854f5cf7e33842a892e5c73f45327760bc7bc516339fda888c75ae60edaeb6", size = 2227034, upload-time = "2025-04-23T18:31:44.304Z" }, + { url = "https://files.pythonhosted.org/packages/27/b9/9c17f0396a82b3d5cbea4c24d742083422639e7bb1d5bf600e12cb176a13/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5f483cfb75ff703095c59e365360cb73e00185e01aaea067cd19acffd2ab20ea", size = 2234187, upload-time = "2025-04-23T18:31:45.891Z" }, + { url = "https://files.pythonhosted.org/packages/b0/6a/adf5734ffd52bf86d865093ad70b2ce543415e0e356f6cacabbc0d9ad910/pydantic_core-2.33.2-cp312-cp312-win32.whl", hash = "sha256:9cb1da0f5a471435a7bc7e439b8a728e8b61e59784b2af70d7c169f8dd8ae290", size = 1892628, upload-time = "2025-04-23T18:31:47.819Z" }, + { url = "https://files.pythonhosted.org/packages/43/e4/5479fecb3606c1368d496a825d8411e126133c41224c1e7238be58b87d7e/pydantic_core-2.33.2-cp312-cp312-win_amd64.whl", hash = "sha256:f941635f2a3d96b2973e867144fde513665c87f13fe0e193c158ac51bfaaa7b2", size = 1955866, upload-time = "2025-04-23T18:31:49.635Z" }, + { url = "https://files.pythonhosted.org/packages/0d/24/8b11e8b3e2be9dd82df4b11408a67c61bb4dc4f8e11b5b0fc888b38118b5/pydantic_core-2.33.2-cp312-cp312-win_arm64.whl", hash = "sha256:cca3868ddfaccfbc4bfb1d608e2ccaaebe0ae628e1416aeb9c4d88c001bb45ab", size = 1888894, upload-time = "2025-04-23T18:31:51.609Z" }, + { url = "https://files.pythonhosted.org/packages/46/8c/99040727b41f56616573a28771b1bfa08a3d3fe74d3d513f01251f79f172/pydantic_core-2.33.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1082dd3e2d7109ad8b7da48e1d4710c8d06c253cbc4a27c1cff4fbcaa97a9e3f", size = 2015688, upload-time = "2025-04-23T18:31:53.175Z" }, + { url = "https://files.pythonhosted.org/packages/3a/cc/5999d1eb705a6cefc31f0b4a90e9f7fc400539b1a1030529700cc1b51838/pydantic_core-2.33.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f517ca031dfc037a9c07e748cefd8d96235088b83b4f4ba8939105d20fa1dcd6", size = 1844808, upload-time = "2025-04-23T18:31:54.79Z" }, + { url = "https://files.pythonhosted.org/packages/6f/5e/a0a7b8885c98889a18b6e376f344da1ef323d270b44edf8174d6bce4d622/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a9f2c9dd19656823cb8250b0724ee9c60a82f3cdf68a080979d13092a3b0fef", size = 1885580, upload-time = "2025-04-23T18:31:57.393Z" }, + { url = "https://files.pythonhosted.org/packages/3b/2a/953581f343c7d11a304581156618c3f592435523dd9d79865903272c256a/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2b0a451c263b01acebe51895bfb0e1cc842a5c666efe06cdf13846c7418caa9a", size = 1973859, upload-time = "2025-04-23T18:31:59.065Z" }, + { url = "https://files.pythonhosted.org/packages/e6/55/f1a813904771c03a3f97f676c62cca0c0a4138654107c1b61f19c644868b/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ea40a64d23faa25e62a70ad163571c0b342b8bf66d5fa612ac0dec4f069d916", size = 2120810, upload-time = "2025-04-23T18:32:00.78Z" }, + { url = "https://files.pythonhosted.org/packages/aa/c3/053389835a996e18853ba107a63caae0b9deb4a276c6b472931ea9ae6e48/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb2d542b4d66f9470e8065c5469ec676978d625a8b7a363f07d9a501a9cb36a", size = 2676498, upload-time = "2025-04-23T18:32:02.418Z" }, + { url = "https://files.pythonhosted.org/packages/eb/3c/f4abd740877a35abade05e437245b192f9d0ffb48bbbbd708df33d3cda37/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdac5d6ffa1b5a83bca06ffe7583f5576555e6c8b3a91fbd25ea7780f825f7d", size = 2000611, upload-time = "2025-04-23T18:32:04.152Z" }, + { url = "https://files.pythonhosted.org/packages/59/a7/63ef2fed1837d1121a894d0ce88439fe3e3b3e48c7543b2a4479eb99c2bd/pydantic_core-2.33.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04a1a413977ab517154eebb2d326da71638271477d6ad87a769102f7c2488c56", size = 2107924, upload-time = "2025-04-23T18:32:06.129Z" }, + { url = "https://files.pythonhosted.org/packages/04/8f/2551964ef045669801675f1cfc3b0d74147f4901c3ffa42be2ddb1f0efc4/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c8e7af2f4e0194c22b5b37205bfb293d166a7344a5b0d0eaccebc376546d77d5", size = 2063196, upload-time = "2025-04-23T18:32:08.178Z" }, + { url = "https://files.pythonhosted.org/packages/26/bd/d9602777e77fc6dbb0c7db9ad356e9a985825547dce5ad1d30ee04903918/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:5c92edd15cd58b3c2d34873597a1e20f13094f59cf88068adb18947df5455b4e", size = 2236389, upload-time = "2025-04-23T18:32:10.242Z" }, + { url = "https://files.pythonhosted.org/packages/42/db/0e950daa7e2230423ab342ae918a794964b053bec24ba8af013fc7c94846/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:65132b7b4a1c0beded5e057324b7e16e10910c106d43675d9bd87d4f38dde162", size = 2239223, upload-time = "2025-04-23T18:32:12.382Z" }, + { url = "https://files.pythonhosted.org/packages/58/4d/4f937099c545a8a17eb52cb67fe0447fd9a373b348ccfa9a87f141eeb00f/pydantic_core-2.33.2-cp313-cp313-win32.whl", hash = "sha256:52fb90784e0a242bb96ec53f42196a17278855b0f31ac7c3cc6f5c1ec4811849", size = 1900473, upload-time = "2025-04-23T18:32:14.034Z" }, + { url = "https://files.pythonhosted.org/packages/a0/75/4a0a9bac998d78d889def5e4ef2b065acba8cae8c93696906c3a91f310ca/pydantic_core-2.33.2-cp313-cp313-win_amd64.whl", hash = "sha256:c083a3bdd5a93dfe480f1125926afcdbf2917ae714bdb80b36d34318b2bec5d9", size = 1955269, upload-time = "2025-04-23T18:32:15.783Z" }, + { url = "https://files.pythonhosted.org/packages/f9/86/1beda0576969592f1497b4ce8e7bc8cbdf614c352426271b1b10d5f0aa64/pydantic_core-2.33.2-cp313-cp313-win_arm64.whl", hash = "sha256:e80b087132752f6b3d714f041ccf74403799d3b23a72722ea2e6ba2e892555b9", size = 1893921, upload-time = "2025-04-23T18:32:18.473Z" }, + { url = "https://files.pythonhosted.org/packages/a4/7d/e09391c2eebeab681df2b74bfe6c43422fffede8dc74187b2b0bf6fd7571/pydantic_core-2.33.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", size = 1806162, upload-time = "2025-04-23T18:32:20.188Z" }, + { url = "https://files.pythonhosted.org/packages/f1/3d/847b6b1fed9f8ed3bb95a9ad04fbd0b212e832d4f0f50ff4d9ee5a9f15cf/pydantic_core-2.33.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5", size = 1981560, upload-time = "2025-04-23T18:32:22.354Z" }, + { url = "https://files.pythonhosted.org/packages/6f/9a/e73262f6c6656262b5fdd723ad90f518f579b7bc8622e43a942eec53c938/pydantic_core-2.33.2-cp313-cp313t-win_amd64.whl", hash = "sha256:c2fc0a768ef76c15ab9238afa6da7f69895bb5d1ee83aeea2e3509af4472d0b9", size = 1935777, upload-time = "2025-04-23T18:32:25.088Z" }, + { url = "https://files.pythonhosted.org/packages/53/ea/bbe9095cdd771987d13c82d104a9c8559ae9aec1e29f139e286fd2e9256e/pydantic_core-2.33.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:a2b911a5b90e0374d03813674bf0a5fbbb7741570dcd4b4e85a2e48d17def29d", size = 2028677, upload-time = "2025-04-23T18:32:27.227Z" }, + { url = "https://files.pythonhosted.org/packages/49/1d/4ac5ed228078737d457a609013e8f7edc64adc37b91d619ea965758369e5/pydantic_core-2.33.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6fa6dfc3e4d1f734a34710f391ae822e0a8eb8559a85c6979e14e65ee6ba2954", size = 1864735, upload-time = "2025-04-23T18:32:29.019Z" }, + { url = "https://files.pythonhosted.org/packages/23/9a/2e70d6388d7cda488ae38f57bc2f7b03ee442fbcf0d75d848304ac7e405b/pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c54c939ee22dc8e2d545da79fc5381f1c020d6d3141d3bd747eab59164dc89fb", size = 1898467, upload-time = "2025-04-23T18:32:31.119Z" }, + { url = "https://files.pythonhosted.org/packages/ff/2e/1568934feb43370c1ffb78a77f0baaa5a8b6897513e7a91051af707ffdc4/pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:53a57d2ed685940a504248187d5685e49eb5eef0f696853647bf37c418c538f7", size = 1983041, upload-time = "2025-04-23T18:32:33.655Z" }, + { url = "https://files.pythonhosted.org/packages/01/1a/1a1118f38ab64eac2f6269eb8c120ab915be30e387bb561e3af904b12499/pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09fb9dd6571aacd023fe6aaca316bd01cf60ab27240d7eb39ebd66a3a15293b4", size = 2136503, upload-time = "2025-04-23T18:32:35.519Z" }, + { url = "https://files.pythonhosted.org/packages/5c/da/44754d1d7ae0f22d6d3ce6c6b1486fc07ac2c524ed8f6eca636e2e1ee49b/pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0e6116757f7959a712db11f3e9c0a99ade00a5bbedae83cb801985aa154f071b", size = 2736079, upload-time = "2025-04-23T18:32:37.659Z" }, + { url = "https://files.pythonhosted.org/packages/4d/98/f43cd89172220ec5aa86654967b22d862146bc4d736b1350b4c41e7c9c03/pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d55ab81c57b8ff8548c3e4947f119551253f4e3787a7bbc0b6b3ca47498a9d3", size = 2006508, upload-time = "2025-04-23T18:32:39.637Z" }, + { url = "https://files.pythonhosted.org/packages/2b/cc/f77e8e242171d2158309f830f7d5d07e0531b756106f36bc18712dc439df/pydantic_core-2.33.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c20c462aa4434b33a2661701b861604913f912254e441ab8d78d30485736115a", size = 2113693, upload-time = "2025-04-23T18:32:41.818Z" }, + { url = "https://files.pythonhosted.org/packages/54/7a/7be6a7bd43e0a47c147ba7fbf124fe8aaf1200bc587da925509641113b2d/pydantic_core-2.33.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:44857c3227d3fb5e753d5fe4a3420d6376fa594b07b621e220cd93703fe21782", size = 2074224, upload-time = "2025-04-23T18:32:44.033Z" }, + { url = "https://files.pythonhosted.org/packages/2a/07/31cf8fadffbb03be1cb520850e00a8490c0927ec456e8293cafda0726184/pydantic_core-2.33.2-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:eb9b459ca4df0e5c87deb59d37377461a538852765293f9e6ee834f0435a93b9", size = 2245403, upload-time = "2025-04-23T18:32:45.836Z" }, + { url = "https://files.pythonhosted.org/packages/b6/8d/bbaf4c6721b668d44f01861f297eb01c9b35f612f6b8e14173cb204e6240/pydantic_core-2.33.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9fcd347d2cc5c23b06de6d3b7b8275be558a0c90549495c699e379a80bf8379e", size = 2242331, upload-time = "2025-04-23T18:32:47.618Z" }, + { url = "https://files.pythonhosted.org/packages/bb/93/3cc157026bca8f5006250e74515119fcaa6d6858aceee8f67ab6dc548c16/pydantic_core-2.33.2-cp39-cp39-win32.whl", hash = "sha256:83aa99b1285bc8f038941ddf598501a86f1536789740991d7d8756e34f1e74d9", size = 1910571, upload-time = "2025-04-23T18:32:49.401Z" }, + { url = "https://files.pythonhosted.org/packages/5b/90/7edc3b2a0d9f0dda8806c04e511a67b0b7a41d2187e2003673a996fb4310/pydantic_core-2.33.2-cp39-cp39-win_amd64.whl", hash = "sha256:f481959862f57f29601ccced557cc2e817bce7533ab8e01a797a48b49c9692b3", size = 1956504, upload-time = "2025-04-23T18:32:51.287Z" }, + { url = "https://files.pythonhosted.org/packages/30/68/373d55e58b7e83ce371691f6eaa7175e3a24b956c44628eb25d7da007917/pydantic_core-2.33.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5c4aa4e82353f65e548c476b37e64189783aa5384903bfea4f41580f255fddfa", size = 2023982, upload-time = "2025-04-23T18:32:53.14Z" }, + { url = "https://files.pythonhosted.org/packages/a4/16/145f54ac08c96a63d8ed6442f9dec17b2773d19920b627b18d4f10a061ea/pydantic_core-2.33.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d946c8bf0d5c24bf4fe333af284c59a19358aa3ec18cb3dc4370080da1e8ad29", size = 1858412, upload-time = "2025-04-23T18:32:55.52Z" }, + { url = "https://files.pythonhosted.org/packages/41/b1/c6dc6c3e2de4516c0bb2c46f6a373b91b5660312342a0cf5826e38ad82fa/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87b31b6846e361ef83fedb187bb5b4372d0da3f7e28d85415efa92d6125d6e6d", size = 1892749, upload-time = "2025-04-23T18:32:57.546Z" }, + { url = "https://files.pythonhosted.org/packages/12/73/8cd57e20afba760b21b742106f9dbdfa6697f1570b189c7457a1af4cd8a0/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa9d91b338f2df0508606f7009fde642391425189bba6d8c653afd80fd6bb64e", size = 2067527, upload-time = "2025-04-23T18:32:59.771Z" }, + { url = "https://files.pythonhosted.org/packages/e3/d5/0bb5d988cc019b3cba4a78f2d4b3854427fc47ee8ec8e9eaabf787da239c/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2058a32994f1fde4ca0480ab9d1e75a0e8c87c22b53a3ae66554f9af78f2fe8c", size = 2108225, upload-time = "2025-04-23T18:33:04.51Z" }, + { url = "https://files.pythonhosted.org/packages/f1/c5/00c02d1571913d496aabf146106ad8239dc132485ee22efe08085084ff7c/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:0e03262ab796d986f978f79c943fc5f620381be7287148b8010b4097f79a39ec", size = 2069490, upload-time = "2025-04-23T18:33:06.391Z" }, + { url = "https://files.pythonhosted.org/packages/22/a8/dccc38768274d3ed3a59b5d06f59ccb845778687652daa71df0cab4040d7/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:1a8695a8d00c73e50bff9dfda4d540b7dee29ff9b8053e38380426a85ef10052", size = 2237525, upload-time = "2025-04-23T18:33:08.44Z" }, + { url = "https://files.pythonhosted.org/packages/d4/e7/4f98c0b125dda7cf7ccd14ba936218397b44f50a56dd8c16a3091df116c3/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:fa754d1850735a0b0e03bcffd9d4b4343eb417e47196e4485d9cca326073a42c", size = 2238446, upload-time = "2025-04-23T18:33:10.313Z" }, + { url = "https://files.pythonhosted.org/packages/ce/91/2ec36480fdb0b783cd9ef6795753c1dea13882f2e68e73bce76ae8c21e6a/pydantic_core-2.33.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a11c8d26a50bfab49002947d3d237abe4d9e4b5bdc8846a63537b6488e197808", size = 2066678, upload-time = "2025-04-23T18:33:12.224Z" }, + { url = "https://files.pythonhosted.org/packages/7b/27/d4ae6487d73948d6f20dddcd94be4ea43e74349b56eba82e9bdee2d7494c/pydantic_core-2.33.2-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:dd14041875d09cc0f9308e37a6f8b65f5585cf2598a53aa0123df8b129d481f8", size = 2025200, upload-time = "2025-04-23T18:33:14.199Z" }, + { url = "https://files.pythonhosted.org/packages/f1/b8/b3cb95375f05d33801024079b9392a5ab45267a63400bf1866e7ce0f0de4/pydantic_core-2.33.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:d87c561733f66531dced0da6e864f44ebf89a8fba55f31407b00c2f7f9449593", size = 1859123, upload-time = "2025-04-23T18:33:16.555Z" }, + { url = "https://files.pythonhosted.org/packages/05/bc/0d0b5adeda59a261cd30a1235a445bf55c7e46ae44aea28f7bd6ed46e091/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f82865531efd18d6e07a04a17331af02cb7a651583c418df8266f17a63c6612", size = 1892852, upload-time = "2025-04-23T18:33:18.513Z" }, + { url = "https://files.pythonhosted.org/packages/3e/11/d37bdebbda2e449cb3f519f6ce950927b56d62f0b84fd9cb9e372a26a3d5/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bfb5112df54209d820d7bf9317c7a6c9025ea52e49f46b6a2060104bba37de7", size = 2067484, upload-time = "2025-04-23T18:33:20.475Z" }, + { url = "https://files.pythonhosted.org/packages/8c/55/1f95f0a05ce72ecb02a8a8a1c3be0579bbc29b1d5ab68f1378b7bebc5057/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:64632ff9d614e5eecfb495796ad51b0ed98c453e447a76bcbeeb69615079fc7e", size = 2108896, upload-time = "2025-04-23T18:33:22.501Z" }, + { url = "https://files.pythonhosted.org/packages/53/89/2b2de6c81fa131f423246a9109d7b2a375e83968ad0800d6e57d0574629b/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:f889f7a40498cc077332c7ab6b4608d296d852182211787d4f3ee377aaae66e8", size = 2069475, upload-time = "2025-04-23T18:33:24.528Z" }, + { url = "https://files.pythonhosted.org/packages/b8/e9/1f7efbe20d0b2b10f6718944b5d8ece9152390904f29a78e68d4e7961159/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:de4b83bb311557e439b9e186f733f6c645b9417c84e2eb8203f3f820a4b988bf", size = 2239013, upload-time = "2025-04-23T18:33:26.621Z" }, + { url = "https://files.pythonhosted.org/packages/3c/b2/5309c905a93811524a49b4e031e9851a6b00ff0fb668794472ea7746b448/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:82f68293f055f51b51ea42fafc74b6aad03e70e191799430b90c13d643059ebb", size = 2238715, upload-time = "2025-04-23T18:33:28.656Z" }, + { url = "https://files.pythonhosted.org/packages/32/56/8a7ca5d2cd2cda1d245d34b1c9a942920a718082ae8e54e5f3e5a58b7add/pydantic_core-2.33.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:329467cecfb529c925cf2bbd4d60d2c509bc2fb52a20c1045bf09bb70971a9c1", size = 2066757, upload-time = "2025-04-23T18:33:30.645Z" }, + { url = "https://files.pythonhosted.org/packages/08/98/dbf3fdfabaf81cda5622154fda78ea9965ac467e3239078e0dcd6df159e7/pydantic_core-2.33.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:87acbfcf8e90ca885206e98359d7dca4bcbb35abdc0ff66672a293e1d7a19101", size = 2024034, upload-time = "2025-04-23T18:33:32.843Z" }, + { url = "https://files.pythonhosted.org/packages/8d/99/7810aa9256e7f2ccd492590f86b79d370df1e9292f1f80b000b6a75bd2fb/pydantic_core-2.33.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:7f92c15cd1e97d4b12acd1cc9004fa092578acfa57b67ad5e43a197175d01a64", size = 1858578, upload-time = "2025-04-23T18:33:34.912Z" }, + { url = "https://files.pythonhosted.org/packages/d8/60/bc06fa9027c7006cc6dd21e48dbf39076dc39d9abbaf718a1604973a9670/pydantic_core-2.33.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3f26877a748dc4251cfcfda9dfb5f13fcb034f5308388066bcfe9031b63ae7d", size = 1892858, upload-time = "2025-04-23T18:33:36.933Z" }, + { url = "https://files.pythonhosted.org/packages/f2/40/9d03997d9518816c68b4dfccb88969756b9146031b61cd37f781c74c9b6a/pydantic_core-2.33.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dac89aea9af8cd672fa7b510e7b8c33b0bba9a43186680550ccf23020f32d535", size = 2068498, upload-time = "2025-04-23T18:33:38.997Z" }, + { url = "https://files.pythonhosted.org/packages/d8/62/d490198d05d2d86672dc269f52579cad7261ced64c2df213d5c16e0aecb1/pydantic_core-2.33.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:970919794d126ba8645f3837ab6046fb4e72bbc057b3709144066204c19a455d", size = 2108428, upload-time = "2025-04-23T18:33:41.18Z" }, + { url = "https://files.pythonhosted.org/packages/9a/ec/4cd215534fd10b8549015f12ea650a1a973da20ce46430b68fc3185573e8/pydantic_core-2.33.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:3eb3fe62804e8f859c49ed20a8451342de53ed764150cb14ca71357c765dc2a6", size = 2069854, upload-time = "2025-04-23T18:33:43.446Z" }, + { url = "https://files.pythonhosted.org/packages/1a/1a/abbd63d47e1d9b0d632fee6bb15785d0889c8a6e0a6c3b5a8e28ac1ec5d2/pydantic_core-2.33.2-pp39-pypy39_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:3abcd9392a36025e3bd55f9bd38d908bd17962cc49bc6da8e7e96285336e2bca", size = 2237859, upload-time = "2025-04-23T18:33:45.56Z" }, + { url = "https://files.pythonhosted.org/packages/80/1c/fa883643429908b1c90598fd2642af8839efd1d835b65af1f75fba4d94fe/pydantic_core-2.33.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:3a1c81334778f9e3af2f8aeb7a960736e5cab1dfebfb26aabca09afd2906c039", size = 2239059, upload-time = "2025-04-23T18:33:47.735Z" }, + { url = "https://files.pythonhosted.org/packages/d4/29/3cade8a924a61f60ccfa10842f75eb12787e1440e2b8660ceffeb26685e7/pydantic_core-2.33.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2807668ba86cb38c6817ad9bc66215ab8584d1d304030ce4f0887336f28a5e27", size = 2066661, upload-time = "2025-04-23T18:33:49.995Z" }, +] + +[[package]] +name = "pygments" +version = "2.19.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" }, +] + +[[package]] +name = "pytest" +version = "8.4.1" +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/08/ba/45911d754e8eba3d5a841a5ce61a65a685ff1798421ac054f85aa8747dfb/pytest-8.4.1.tar.gz", hash = "sha256:7c67fd69174877359ed9371ec3af8a3d2b04741818c51e5e99cc1742251fa93c", size = 1517714, upload-time = "2025-06-18T05:48:06.109Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/29/16/c8a903f4c4dffe7a12843191437d7cd8e32751d5de349d45d3fe69544e87/pytest-8.4.1-py3-none-any.whl", hash = "sha256:539c70ba6fcead8e78eebbf1115e8b589e7565830d7d006a8723f19ac8a0afb7", size = 365474, upload-time = "2025-06-18T05:48:03.955Z" }, +] + +[[package]] +name = "pytest-cov" +version = "6.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "coverage", extra = ["toml"] }, + { name = "pluggy" }, + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/18/99/668cade231f434aaa59bbfbf49469068d2ddd945000621d3d165d2e7dd7b/pytest_cov-6.2.1.tar.gz", hash = "sha256:25cc6cc0a5358204b8108ecedc51a9b57b34cc6b8c967cc2c01a4e00d8a67da2", size = 69432, upload-time = "2025-06-12T10:47:47.684Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bc/16/4ea354101abb1287856baa4af2732be351c7bee728065aed451b678153fd/pytest_cov-6.2.1-py3-none-any.whl", hash = "sha256:f5bc4c23f42f1cdd23c70b1dab1bbaef4fc505ba950d53e0081d0730dd7e86d5", size = 24644, upload-time = "2025-06-12T10:47:45.932Z" }, +] + +[[package]] +name = "pytest-insta" +version = "0.1.11" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.10'", +] +dependencies = [ + { name = "pytest", marker = "python_full_version < '3.10'" }, + { name = "wrapt", marker = "python_full_version < '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/01/c3/1502b3848c9111210b0a6c947958397eb07c5f5f218a6c91b1a59a270c9a/pytest-insta-0.1.11.tar.gz", hash = "sha256:cc0f338a8ac215dbf3b690198dc24a1c5987e2bef269f85170d415039cce06e5", size = 16256, upload-time = "2022-02-28T21:48:34.59Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/e0/2cf4cea0084f55f25db206c136958e563cf0a12e41731d30b7d6f52fae05/pytest_insta-0.1.11-py3-none-any.whl", hash = "sha256:c31af45255a8da234a73eff7649e297a053ffa22ba21806457f0fae66fc85f8a", size = 13587, upload-time = "2022-02-28T21:48:32.985Z" }, +] + +[[package]] +name = "pytest-insta" +version = "0.3.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11'", + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "pytest", marker = "python_full_version >= '3.10'" }, + { name = "wrapt", marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d0/5b/6ca4baca60c3f8361415501668cde3abd94dbad44293325833fd89d1a7c1/pytest_insta-0.3.0.tar.gz", hash = "sha256:9e6e1c70a021f68ccc4643360b2c2f8326cf3befba85f942c1da17b9caf713f7", size = 14960, upload-time = "2024-02-19T23:00:22.014Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/d5/1459b2861cf703cf49d96b6f29731ee74f4ac7e34b0c60b0ff75bdd318bc/pytest_insta-0.3.0-py3-none-any.whl", hash = "sha256:93a105e3850f2887b120a581923b10bb313d722e00d369377a1d91aa535df704", size = 13660, upload-time = "2024-02-19T23:00:20.054Z" }, +] + +[[package]] +name = "pytest-xdist" +version = "3.8.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "execnet" }, + { name = "pytest" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/78/b4/439b179d1ff526791eb921115fca8e44e596a13efeda518b9d845a619450/pytest_xdist-3.8.0.tar.gz", hash = "sha256:7e578125ec9bc6050861aa93f2d59f1d8d085595d6551c2c90b6f4fad8d3a9f1", size = 88069, upload-time = "2025-07-01T13:30:59.346Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ca/31/d4e37e9e550c2b92a9cbc2e4d0b7420a27224968580b5a447f420847c975/pytest_xdist-3.8.0-py3-none-any.whl", hash = "sha256:202ca578cfeb7370784a8c33d6d05bc6e13b4f25b5053c30a152269fd10f0b88", size = 46396, upload-time = "2025-07-01T13:30:56.632Z" }, +] + +[[package]] +name = "pyunormalize" +version = "16.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b3/08/568036c725dac746ecb267bb749ef930fb7907454fe69fce83c8557287fb/pyunormalize-16.0.0.tar.gz", hash = "sha256:2e1dfbb4a118154ae26f70710426a52a364b926c9191f764601f5a8cb12761f7", size = 49968, upload-time = "2024-09-17T17:08:18.245Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/39/f9/9d86e56f716e0651194a5ad58be9c146fcaf1de6901ac6f3cd3affeeb74e/pyunormalize-16.0.0-py3-none-any.whl", hash = "sha256:c647d95e5d1e2ea9a2f448d1d95d8518348df24eab5c3fd32d2b5c3300a49152", size = 49173, upload-time = "2024-09-17T17:08:17.078Z" }, +] + +[[package]] +name = "pywin32" +version = "311" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/40/44efbb0dfbd33aca6a6483191dae0716070ed99e2ecb0c53683f400a0b4f/pywin32-311-cp310-cp310-win32.whl", hash = "sha256:d03ff496d2a0cd4a5893504789d4a15399133fe82517455e78bad62efbb7f0a3", size = 8760432, upload-time = "2025-07-14T20:13:05.9Z" }, + { url = "https://files.pythonhosted.org/packages/5e/bf/360243b1e953bd254a82f12653974be395ba880e7ec23e3731d9f73921cc/pywin32-311-cp310-cp310-win_amd64.whl", hash = "sha256:797c2772017851984b97180b0bebe4b620bb86328e8a884bb626156295a63b3b", size = 9590103, upload-time = "2025-07-14T20:13:07.698Z" }, + { url = "https://files.pythonhosted.org/packages/57/38/d290720e6f138086fb3d5ffe0b6caa019a791dd57866940c82e4eeaf2012/pywin32-311-cp310-cp310-win_arm64.whl", hash = "sha256:0502d1facf1fed4839a9a51ccbcc63d952cf318f78ffc00a7e78528ac27d7a2b", size = 8778557, upload-time = "2025-07-14T20:13:11.11Z" }, + { url = "https://files.pythonhosted.org/packages/7c/af/449a6a91e5d6db51420875c54f6aff7c97a86a3b13a0b4f1a5c13b988de3/pywin32-311-cp311-cp311-win32.whl", hash = "sha256:184eb5e436dea364dcd3d2316d577d625c0351bf237c4e9a5fabbcfa5a58b151", size = 8697031, upload-time = "2025-07-14T20:13:13.266Z" }, + { url = "https://files.pythonhosted.org/packages/51/8f/9bb81dd5bb77d22243d33c8397f09377056d5c687aa6d4042bea7fbf8364/pywin32-311-cp311-cp311-win_amd64.whl", hash = "sha256:3ce80b34b22b17ccbd937a6e78e7225d80c52f5ab9940fe0506a1a16f3dab503", size = 9508308, upload-time = "2025-07-14T20:13:15.147Z" }, + { url = "https://files.pythonhosted.org/packages/44/7b/9c2ab54f74a138c491aba1b1cd0795ba61f144c711daea84a88b63dc0f6c/pywin32-311-cp311-cp311-win_arm64.whl", hash = "sha256:a733f1388e1a842abb67ffa8e7aad0e70ac519e09b0f6a784e65a136ec7cefd2", size = 8703930, upload-time = "2025-07-14T20:13:16.945Z" }, + { url = "https://files.pythonhosted.org/packages/e7/ab/01ea1943d4eba0f850c3c61e78e8dd59757ff815ff3ccd0a84de5f541f42/pywin32-311-cp312-cp312-win32.whl", hash = "sha256:750ec6e621af2b948540032557b10a2d43b0cee2ae9758c54154d711cc852d31", size = 8706543, upload-time = "2025-07-14T20:13:20.765Z" }, + { url = "https://files.pythonhosted.org/packages/d1/a8/a0e8d07d4d051ec7502cd58b291ec98dcc0c3fff027caad0470b72cfcc2f/pywin32-311-cp312-cp312-win_amd64.whl", hash = "sha256:b8c095edad5c211ff31c05223658e71bf7116daa0ecf3ad85f3201ea3190d067", size = 9495040, upload-time = "2025-07-14T20:13:22.543Z" }, + { url = "https://files.pythonhosted.org/packages/ba/3a/2ae996277b4b50f17d61f0603efd8253cb2d79cc7ae159468007b586396d/pywin32-311-cp312-cp312-win_arm64.whl", hash = "sha256:e286f46a9a39c4a18b319c28f59b61de793654af2f395c102b4f819e584b5852", size = 8710102, upload-time = "2025-07-14T20:13:24.682Z" }, + { url = "https://files.pythonhosted.org/packages/a5/be/3fd5de0979fcb3994bfee0d65ed8ca9506a8a1260651b86174f6a86f52b3/pywin32-311-cp313-cp313-win32.whl", hash = "sha256:f95ba5a847cba10dd8c4d8fefa9f2a6cf283b8b88ed6178fa8a6c1ab16054d0d", size = 8705700, upload-time = "2025-07-14T20:13:26.471Z" }, + { url = "https://files.pythonhosted.org/packages/e3/28/e0a1909523c6890208295a29e05c2adb2126364e289826c0a8bc7297bd5c/pywin32-311-cp313-cp313-win_amd64.whl", hash = "sha256:718a38f7e5b058e76aee1c56ddd06908116d35147e133427e59a3983f703a20d", size = 9494700, upload-time = "2025-07-14T20:13:28.243Z" }, + { url = "https://files.pythonhosted.org/packages/04/bf/90339ac0f55726dce7d794e6d79a18a91265bdf3aa70b6b9ca52f35e022a/pywin32-311-cp313-cp313-win_arm64.whl", hash = "sha256:7b4075d959648406202d92a2310cb990fea19b535c7f4a78d3f5e10b926eeb8a", size = 8709318, upload-time = "2025-07-14T20:13:30.348Z" }, + { url = "https://files.pythonhosted.org/packages/c9/31/097f2e132c4f16d99a22bfb777e0fd88bd8e1c634304e102f313af69ace5/pywin32-311-cp314-cp314-win32.whl", hash = "sha256:b7a2c10b93f8986666d0c803ee19b5990885872a7de910fc460f9b0c2fbf92ee", size = 8840714, upload-time = "2025-07-14T20:13:32.449Z" }, + { url = "https://files.pythonhosted.org/packages/90/4b/07c77d8ba0e01349358082713400435347df8426208171ce297da32c313d/pywin32-311-cp314-cp314-win_amd64.whl", hash = "sha256:3aca44c046bd2ed8c90de9cb8427f581c479e594e99b5c0bb19b29c10fd6cb87", size = 9656800, upload-time = "2025-07-14T20:13:34.312Z" }, + { url = "https://files.pythonhosted.org/packages/c0/d2/21af5c535501a7233e734b8af901574572da66fcc254cb35d0609c9080dd/pywin32-311-cp314-cp314-win_arm64.whl", hash = "sha256:a508e2d9025764a8270f93111a970e1d0fbfc33f4153b388bb649b7eec4f9b42", size = 8932540, upload-time = "2025-07-14T20:13:36.379Z" }, + { url = "https://files.pythonhosted.org/packages/59/42/b86689aac0cdaee7ae1c58d464b0ff04ca909c19bb6502d4973cdd9f9544/pywin32-311-cp39-cp39-win32.whl", hash = "sha256:aba8f82d551a942cb20d4a83413ccbac30790b50efb89a75e4f586ac0bb8056b", size = 8760837, upload-time = "2025-07-14T20:12:59.59Z" }, + { url = "https://files.pythonhosted.org/packages/9f/8a/1403d0353f8c5a2f0829d2b1c4becbf9da2f0a4d040886404fc4a5431e4d/pywin32-311-cp39-cp39-win_amd64.whl", hash = "sha256:e0c4cfb0621281fe40387df582097fd796e80430597cb9944f0ae70447bacd91", size = 9590187, upload-time = "2025-07-14T20:13:01.419Z" }, + { url = "https://files.pythonhosted.org/packages/60/22/e0e8d802f124772cec9c75430b01a212f86f9de7546bda715e54140d5aeb/pywin32-311-cp39-cp39-win_arm64.whl", hash = "sha256:62ea666235135fee79bb154e695f3ff67370afefd71bd7fea7512fc70ef31e3d", size = 8778162, upload-time = "2025-07-14T20:13:03.544Z" }, +] + +[[package]] +name = "pyyaml" +version = "6.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631, upload-time = "2024-08-06T20:33:50.674Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9b/95/a3fac87cb7158e231b5a6012e438c647e1a87f09f8e0d123acec8ab8bf71/PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", size = 184199, upload-time = "2024-08-06T20:31:40.178Z" }, + { url = "https://files.pythonhosted.org/packages/c7/7a/68bd47624dab8fd4afbfd3c48e3b79efe09098ae941de5b58abcbadff5cb/PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", size = 171758, upload-time = "2024-08-06T20:31:42.173Z" }, + { url = "https://files.pythonhosted.org/packages/49/ee/14c54df452143b9ee9f0f29074d7ca5516a36edb0b4cc40c3f280131656f/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", size = 718463, upload-time = "2024-08-06T20:31:44.263Z" }, + { url = "https://files.pythonhosted.org/packages/4d/61/de363a97476e766574650d742205be468921a7b532aa2499fcd886b62530/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", size = 719280, upload-time = "2024-08-06T20:31:50.199Z" }, + { url = "https://files.pythonhosted.org/packages/6b/4e/1523cb902fd98355e2e9ea5e5eb237cbc5f3ad5f3075fa65087aa0ecb669/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", size = 751239, upload-time = "2024-08-06T20:31:52.292Z" }, + { url = "https://files.pythonhosted.org/packages/b7/33/5504b3a9a4464893c32f118a9cc045190a91637b119a9c881da1cf6b7a72/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", size = 695802, upload-time = "2024-08-06T20:31:53.836Z" }, + { url = "https://files.pythonhosted.org/packages/5c/20/8347dcabd41ef3a3cdc4f7b7a2aff3d06598c8779faa189cdbf878b626a4/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", size = 720527, upload-time = "2024-08-06T20:31:55.565Z" }, + { url = "https://files.pythonhosted.org/packages/be/aa/5afe99233fb360d0ff37377145a949ae258aaab831bde4792b32650a4378/PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", size = 144052, upload-time = "2024-08-06T20:31:56.914Z" }, + { url = "https://files.pythonhosted.org/packages/b5/84/0fa4b06f6d6c958d207620fc60005e241ecedceee58931bb20138e1e5776/PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", size = 161774, upload-time = "2024-08-06T20:31:58.304Z" }, + { url = "https://files.pythonhosted.org/packages/f8/aa/7af4e81f7acba21a4c6be026da38fd2b872ca46226673c89a758ebdc4fd2/PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", size = 184612, upload-time = "2024-08-06T20:32:03.408Z" }, + { url = "https://files.pythonhosted.org/packages/8b/62/b9faa998fd185f65c1371643678e4d58254add437edb764a08c5a98fb986/PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", size = 172040, upload-time = "2024-08-06T20:32:04.926Z" }, + { url = "https://files.pythonhosted.org/packages/ad/0c/c804f5f922a9a6563bab712d8dcc70251e8af811fce4524d57c2c0fd49a4/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", size = 736829, upload-time = "2024-08-06T20:32:06.459Z" }, + { url = "https://files.pythonhosted.org/packages/51/16/6af8d6a6b210c8e54f1406a6b9481febf9c64a3109c541567e35a49aa2e7/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", size = 764167, upload-time = "2024-08-06T20:32:08.338Z" }, + { url = "https://files.pythonhosted.org/packages/75/e4/2c27590dfc9992f73aabbeb9241ae20220bd9452df27483b6e56d3975cc5/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", size = 762952, upload-time = "2024-08-06T20:32:14.124Z" }, + { url = "https://files.pythonhosted.org/packages/9b/97/ecc1abf4a823f5ac61941a9c00fe501b02ac3ab0e373c3857f7d4b83e2b6/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4", size = 735301, upload-time = "2024-08-06T20:32:16.17Z" }, + { url = "https://files.pythonhosted.org/packages/45/73/0f49dacd6e82c9430e46f4a027baa4ca205e8b0a9dce1397f44edc23559d/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", size = 756638, upload-time = "2024-08-06T20:32:18.555Z" }, + { url = "https://files.pythonhosted.org/packages/22/5f/956f0f9fc65223a58fbc14459bf34b4cc48dec52e00535c79b8db361aabd/PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", size = 143850, upload-time = "2024-08-06T20:32:19.889Z" }, + { url = "https://files.pythonhosted.org/packages/ed/23/8da0bbe2ab9dcdd11f4f4557ccaf95c10b9811b13ecced089d43ce59c3c8/PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", size = 161980, upload-time = "2024-08-06T20:32:21.273Z" }, + { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873, upload-time = "2024-08-06T20:32:25.131Z" }, + { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302, upload-time = "2024-08-06T20:32:26.511Z" }, + { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154, upload-time = "2024-08-06T20:32:28.363Z" }, + { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223, upload-time = "2024-08-06T20:32:30.058Z" }, + { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542, upload-time = "2024-08-06T20:32:31.881Z" }, + { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164, upload-time = "2024-08-06T20:32:37.083Z" }, + { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611, upload-time = "2024-08-06T20:32:38.898Z" }, + { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591, upload-time = "2024-08-06T20:32:40.241Z" }, + { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338, upload-time = "2024-08-06T20:32:41.93Z" }, + { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309, upload-time = "2024-08-06T20:32:43.4Z" }, + { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679, upload-time = "2024-08-06T20:32:44.801Z" }, + { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428, upload-time = "2024-08-06T20:32:46.432Z" }, + { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361, upload-time = "2024-08-06T20:32:51.188Z" }, + { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523, upload-time = "2024-08-06T20:32:53.019Z" }, + { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660, upload-time = "2024-08-06T20:32:54.708Z" }, + { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597, upload-time = "2024-08-06T20:32:56.985Z" }, + { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527, upload-time = "2024-08-06T20:33:03.001Z" }, + { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446, upload-time = "2024-08-06T20:33:04.33Z" }, + { url = "https://files.pythonhosted.org/packages/65/d8/b7a1db13636d7fb7d4ff431593c510c8b8fca920ade06ca8ef20015493c5/PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", size = 184777, upload-time = "2024-08-06T20:33:25.896Z" }, + { url = "https://files.pythonhosted.org/packages/0a/02/6ec546cd45143fdf9840b2c6be8d875116a64076218b61d68e12548e5839/PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f", size = 172318, upload-time = "2024-08-06T20:33:27.212Z" }, + { url = "https://files.pythonhosted.org/packages/0e/9a/8cc68be846c972bda34f6c2a93abb644fb2476f4dcc924d52175786932c9/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290", size = 720891, upload-time = "2024-08-06T20:33:28.974Z" }, + { url = "https://files.pythonhosted.org/packages/e9/6c/6e1b7f40181bc4805e2e07f4abc10a88ce4648e7e95ff1abe4ae4014a9b2/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12", size = 722614, upload-time = "2024-08-06T20:33:34.157Z" }, + { url = "https://files.pythonhosted.org/packages/3d/32/e7bd8535d22ea2874cef6a81021ba019474ace0d13a4819c2a4bce79bd6a/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19", size = 737360, upload-time = "2024-08-06T20:33:35.84Z" }, + { url = "https://files.pythonhosted.org/packages/d7/12/7322c1e30b9be969670b672573d45479edef72c9a0deac3bb2868f5d7469/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e", size = 699006, upload-time = "2024-08-06T20:33:37.501Z" }, + { url = "https://files.pythonhosted.org/packages/82/72/04fcad41ca56491995076630c3ec1e834be241664c0c09a64c9a2589b507/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725", size = 723577, upload-time = "2024-08-06T20:33:39.389Z" }, + { url = "https://files.pythonhosted.org/packages/ed/5e/46168b1f2757f1fcd442bc3029cd8767d88a98c9c05770d8b420948743bb/PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631", size = 144593, upload-time = "2024-08-06T20:33:46.63Z" }, + { url = "https://files.pythonhosted.org/packages/19/87/5124b1c1f2412bb95c59ec481eaf936cd32f0fe2a7b16b97b81c4c017a6a/PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", size = 162312, upload-time = "2024-08-06T20:33:49.073Z" }, +] + +[[package]] +name = "regex" +version = "2025.9.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b2/5a/4c63457fbcaf19d138d72b2e9b39405954f98c0349b31c601bfcb151582c/regex-2025.9.1.tar.gz", hash = "sha256:88ac07b38d20b54d79e704e38aa3bd2c0f8027432164226bdee201a1c0c9c9ff", size = 400852, upload-time = "2025-09-01T22:10:10.479Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/46/c1/ed9ef923156105a78aa004f9390e5dd87eadc29f5ca8840f172cadb638de/regex-2025.9.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c5aa2a6a73bf218515484b36a0d20c6ad9dc63f6339ff6224147b0e2c095ee55", size = 484813, upload-time = "2025-09-01T22:07:45.528Z" }, + { url = "https://files.pythonhosted.org/packages/05/de/97957618a774c67f892609eee2fafe3e30703fbbba66de5e6b79d7196dbc/regex-2025.9.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8c2ff5c01d5e47ad5fc9d31bcd61e78c2fa0068ed00cab86b7320214446da766", size = 288981, upload-time = "2025-09-01T22:07:48.464Z" }, + { url = "https://files.pythonhosted.org/packages/3c/b0/441afadd0a6ffccbd58a9663e5bdd182daa237893e5f8ceec6ff9df4418a/regex-2025.9.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d49dc84e796b666181de8a9973284cad6616335f01b52bf099643253094920fc", size = 286608, upload-time = "2025-09-01T22:07:50.484Z" }, + { url = "https://files.pythonhosted.org/packages/6e/cf/d89aecaf17e999ab11a3ef73fc9ab8b64f4e156f121250ef84340b35338d/regex-2025.9.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d9914fe1040874f83c15fcea86d94ea54091b0666eab330aaab69e30d106aabe", size = 780459, upload-time = "2025-09-01T22:07:52.34Z" }, + { url = "https://files.pythonhosted.org/packages/f6/05/05884594a9975a29597917bbdd6837f7b97e8ac23faf22d628aa781e58f7/regex-2025.9.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e71bceb3947362ec5eabd2ca0870bb78eae4edfc60c6c21495133c01b6cd2df4", size = 849276, upload-time = "2025-09-01T22:07:54.591Z" }, + { url = "https://files.pythonhosted.org/packages/8c/8d/2b3067506838d02096bf107beb129b2ce328cdf776d6474b7f542c0a7bfd/regex-2025.9.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:67a74456f410fe5e869239ee7a5423510fe5121549af133809d9591a8075893f", size = 897320, upload-time = "2025-09-01T22:07:56.129Z" }, + { url = "https://files.pythonhosted.org/packages/9e/b3/0f9f7766e980b900df0ba9901b52871a2e4203698fb35cdebd219240d5f7/regex-2025.9.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5c3b96ed0223b32dbdc53a83149b6de7ca3acd5acd9c8e64b42a166228abe29c", size = 789931, upload-time = "2025-09-01T22:07:57.834Z" }, + { url = "https://files.pythonhosted.org/packages/47/9f/7b2f29c8f8b698eb44be5fc68e8b9c8d32e99635eac5defc98de114e9f35/regex-2025.9.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:113d5aa950f428faf46fd77d452df62ebb4cc6531cb619f6cc30a369d326bfbd", size = 780764, upload-time = "2025-09-01T22:07:59.413Z" }, + { url = "https://files.pythonhosted.org/packages/ac/ac/56176caa86155c14462531eb0a4ddc450d17ba8875001122b3b7c0cb01bf/regex-2025.9.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:fcdeb38de4f7f3d69d798f4f371189061446792a84e7c92b50054c87aae9c07c", size = 773610, upload-time = "2025-09-01T22:08:01.042Z" }, + { url = "https://files.pythonhosted.org/packages/39/e8/9d6b9bd43998268a9de2f35602077519cacc9cb149f7381758cf8f502ba7/regex-2025.9.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4bcdff370509164b67a6c8ec23c9fb40797b72a014766fdc159bb809bd74f7d8", size = 844090, upload-time = "2025-09-01T22:08:02.94Z" }, + { url = "https://files.pythonhosted.org/packages/fd/92/d89743b089005cae4cb81cc2fe177e180b7452e60f29de53af34349640f8/regex-2025.9.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:7383efdf6e8e8c61d85e00cfb2e2e18da1a621b8bfb4b0f1c2747db57b942b8f", size = 834775, upload-time = "2025-09-01T22:08:04.781Z" }, + { url = "https://files.pythonhosted.org/packages/01/8f/86a3e0aaa89295d2a3445bb238e56369963ef6b02a5b4aa3362f4e687413/regex-2025.9.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1ec2bd3bdf0f73f7e9f48dca550ba7d973692d5e5e9a90ac42cc5f16c4432d8b", size = 778521, upload-time = "2025-09-01T22:08:06.596Z" }, + { url = "https://files.pythonhosted.org/packages/3e/df/72072acb370ee8577c255717f8a58264f1d0de40aa3c9e6ebd5271cac633/regex-2025.9.1-cp310-cp310-win32.whl", hash = "sha256:9627e887116c4e9c0986d5c3b4f52bcfe3df09850b704f62ec3cbf177a0ae374", size = 264105, upload-time = "2025-09-01T22:08:08.708Z" }, + { url = "https://files.pythonhosted.org/packages/97/73/fb82faaf0375aeaa1bb675008246c79b6779fa5688585a35327610ea0e2e/regex-2025.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:94533e32dc0065eca43912ee6649c90ea0681d59f56d43c45b5bcda9a740b3dd", size = 276131, upload-time = "2025-09-01T22:08:10.156Z" }, + { url = "https://files.pythonhosted.org/packages/d3/3a/77d7718a2493e54725494f44da1a1e55704743dc4b8fabe5b0596f7b8014/regex-2025.9.1-cp310-cp310-win_arm64.whl", hash = "sha256:a874a61bb580d48642ffd338570ee24ab13fa023779190513fcacad104a6e251", size = 268462, upload-time = "2025-09-01T22:08:11.651Z" }, + { url = "https://files.pythonhosted.org/packages/06/4d/f741543c0c59f96c6625bc6c11fea1da2e378b7d293ffff6f318edc0ce14/regex-2025.9.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e5bcf112b09bfd3646e4db6bf2e598534a17d502b0c01ea6550ba4eca780c5e6", size = 484811, upload-time = "2025-09-01T22:08:12.834Z" }, + { url = "https://files.pythonhosted.org/packages/c2/bd/27e73e92635b6fbd51afc26a414a3133243c662949cd1cda677fe7bb09bd/regex-2025.9.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:67a0295a3c31d675a9ee0238d20238ff10a9a2fdb7a1323c798fc7029578b15c", size = 288977, upload-time = "2025-09-01T22:08:14.499Z" }, + { url = "https://files.pythonhosted.org/packages/eb/7d/7dc0c6efc8bc93cd6e9b947581f5fde8a5dbaa0af7c4ec818c5729fdc807/regex-2025.9.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ea8267fbadc7d4bd7c1301a50e85c2ff0de293ff9452a1a9f8d82c6cafe38179", size = 286606, upload-time = "2025-09-01T22:08:15.881Z" }, + { url = "https://files.pythonhosted.org/packages/d1/01/9b5c6dd394f97c8f2c12f6e8f96879c9ac27292a718903faf2e27a0c09f6/regex-2025.9.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6aeff21de7214d15e928fb5ce757f9495214367ba62875100d4c18d293750cc1", size = 792436, upload-time = "2025-09-01T22:08:17.38Z" }, + { url = "https://files.pythonhosted.org/packages/fc/24/b7430cfc6ee34bbb3db6ff933beb5e7692e5cc81e8f6f4da63d353566fb0/regex-2025.9.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d89f1bbbbbc0885e1c230f7770d5e98f4f00b0ee85688c871d10df8b184a6323", size = 858705, upload-time = "2025-09-01T22:08:19.037Z" }, + { url = "https://files.pythonhosted.org/packages/d6/98/155f914b4ea6ae012663188545c4f5216c11926d09b817127639d618b003/regex-2025.9.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ca3affe8ddea498ba9d294ab05f5f2d3b5ad5d515bc0d4a9016dd592a03afe52", size = 905881, upload-time = "2025-09-01T22:08:20.377Z" }, + { url = "https://files.pythonhosted.org/packages/8a/a7/a470e7bc8259c40429afb6d6a517b40c03f2f3e455c44a01abc483a1c512/regex-2025.9.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:91892a7a9f0a980e4c2c85dd19bc14de2b219a3a8867c4b5664b9f972dcc0c78", size = 798968, upload-time = "2025-09-01T22:08:22.081Z" }, + { url = "https://files.pythonhosted.org/packages/1d/fa/33f6fec4d41449fea5f62fdf5e46d668a1c046730a7f4ed9f478331a8e3a/regex-2025.9.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e1cb40406f4ae862710615f9f636c1e030fd6e6abe0e0f65f6a695a2721440c6", size = 781884, upload-time = "2025-09-01T22:08:23.832Z" }, + { url = "https://files.pythonhosted.org/packages/42/de/2b45f36ab20da14eedddf5009d370625bc5942d9953fa7e5037a32d66843/regex-2025.9.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:94f6cff6f7e2149c7e6499a6ecd4695379eeda8ccbccb9726e8149f2fe382e92", size = 852935, upload-time = "2025-09-01T22:08:25.536Z" }, + { url = "https://files.pythonhosted.org/packages/1e/f9/878f4fc92c87e125e27aed0f8ee0d1eced9b541f404b048f66f79914475a/regex-2025.9.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:6c0226fb322b82709e78c49cc33484206647f8a39954d7e9de1567f5399becd0", size = 844340, upload-time = "2025-09-01T22:08:27.141Z" }, + { url = "https://files.pythonhosted.org/packages/90/c2/5b6f2bce6ece5f8427c718c085eca0de4bbb4db59f54db77aa6557aef3e9/regex-2025.9.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a12f59c7c380b4fcf7516e9cbb126f95b7a9518902bcf4a852423ff1dcd03e6a", size = 787238, upload-time = "2025-09-01T22:08:28.75Z" }, + { url = "https://files.pythonhosted.org/packages/47/66/1ef1081c831c5b611f6f55f6302166cfa1bc9574017410ba5595353f846a/regex-2025.9.1-cp311-cp311-win32.whl", hash = "sha256:49865e78d147a7a4f143064488da5d549be6bfc3f2579e5044cac61f5c92edd4", size = 264118, upload-time = "2025-09-01T22:08:30.388Z" }, + { url = "https://files.pythonhosted.org/packages/ad/e0/8adc550d7169df1d6b9be8ff6019cda5291054a0107760c2f30788b6195f/regex-2025.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:d34b901f6f2f02ef60f4ad3855d3a02378c65b094efc4b80388a3aeb700a5de7", size = 276151, upload-time = "2025-09-01T22:08:32.073Z" }, + { url = "https://files.pythonhosted.org/packages/cb/bd/46fef29341396d955066e55384fb93b0be7d64693842bf4a9a398db6e555/regex-2025.9.1-cp311-cp311-win_arm64.whl", hash = "sha256:47d7c2dab7e0b95b95fd580087b6ae196039d62306a592fa4e162e49004b6299", size = 268460, upload-time = "2025-09-01T22:08:33.281Z" }, + { url = "https://files.pythonhosted.org/packages/39/ef/a0372febc5a1d44c1be75f35d7e5aff40c659ecde864d7fa10e138f75e74/regex-2025.9.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:84a25164bd8dcfa9f11c53f561ae9766e506e580b70279d05a7946510bdd6f6a", size = 486317, upload-time = "2025-09-01T22:08:34.529Z" }, + { url = "https://files.pythonhosted.org/packages/b5/25/d64543fb7eb41a1024786d518cc57faf1ce64aa6e9ddba097675a0c2f1d2/regex-2025.9.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:645e88a73861c64c1af558dd12294fb4e67b5c1eae0096a60d7d8a2143a611c7", size = 289698, upload-time = "2025-09-01T22:08:36.162Z" }, + { url = "https://files.pythonhosted.org/packages/d8/dc/fbf31fc60be317bd9f6f87daa40a8a9669b3b392aa8fe4313df0a39d0722/regex-2025.9.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:10a450cba5cd5409526ee1d4449f42aad38dd83ac6948cbd6d7f71ca7018f7db", size = 287242, upload-time = "2025-09-01T22:08:37.794Z" }, + { url = "https://files.pythonhosted.org/packages/0f/74/f933a607a538f785da5021acf5323961b4620972e2c2f1f39b6af4b71db7/regex-2025.9.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e9dc5991592933a4192c166eeb67b29d9234f9c86344481173d1bc52f73a7104", size = 797441, upload-time = "2025-09-01T22:08:39.108Z" }, + { url = "https://files.pythonhosted.org/packages/89/d0/71fc49b4f20e31e97f199348b8c4d6e613e7b6a54a90eb1b090c2b8496d7/regex-2025.9.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a32291add816961aab472f4fad344c92871a2ee33c6c219b6598e98c1f0108f2", size = 862654, upload-time = "2025-09-01T22:08:40.586Z" }, + { url = "https://files.pythonhosted.org/packages/59/05/984edce1411a5685ba9abbe10d42cdd9450aab4a022271f9585539788150/regex-2025.9.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:588c161a68a383478e27442a678e3b197b13c5ba51dbba40c1ccb8c4c7bee9e9", size = 910862, upload-time = "2025-09-01T22:08:42.416Z" }, + { url = "https://files.pythonhosted.org/packages/b2/02/5c891bb5fe0691cc1bad336e3a94b9097fbcf9707ec8ddc1dce9f0397289/regex-2025.9.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:47829ffaf652f30d579534da9085fe30c171fa2a6744a93d52ef7195dc38218b", size = 801991, upload-time = "2025-09-01T22:08:44.072Z" }, + { url = "https://files.pythonhosted.org/packages/f1/ae/fd10d6ad179910f7a1b3e0a7fde1ef8bb65e738e8ac4fd6ecff3f52252e4/regex-2025.9.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e978e5a35b293ea43f140c92a3269b6ab13fe0a2bf8a881f7ac740f5a6ade85", size = 786651, upload-time = "2025-09-01T22:08:46.079Z" }, + { url = "https://files.pythonhosted.org/packages/30/cf/9d686b07bbc5bf94c879cc168db92542d6bc9fb67088d03479fef09ba9d3/regex-2025.9.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4cf09903e72411f4bf3ac1eddd624ecfd423f14b2e4bf1c8b547b72f248b7bf7", size = 856556, upload-time = "2025-09-01T22:08:48.376Z" }, + { url = "https://files.pythonhosted.org/packages/91/9d/302f8a29bb8a49528abbab2d357a793e2a59b645c54deae0050f8474785b/regex-2025.9.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:d016b0f77be63e49613c9e26aaf4a242f196cd3d7a4f15898f5f0ab55c9b24d2", size = 849001, upload-time = "2025-09-01T22:08:50.067Z" }, + { url = "https://files.pythonhosted.org/packages/93/fa/b4c6dbdedc85ef4caec54c817cd5f4418dbfa2453214119f2538082bf666/regex-2025.9.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:656563e620de6908cd1c9d4f7b9e0777e3341ca7db9d4383bcaa44709c90281e", size = 788138, upload-time = "2025-09-01T22:08:51.933Z" }, + { url = "https://files.pythonhosted.org/packages/4a/1b/91ee17a3cbf87f81e8c110399279d0e57f33405468f6e70809100f2ff7d8/regex-2025.9.1-cp312-cp312-win32.whl", hash = "sha256:df33f4ef07b68f7ab637b1dbd70accbf42ef0021c201660656601e8a9835de45", size = 264524, upload-time = "2025-09-01T22:08:53.75Z" }, + { url = "https://files.pythonhosted.org/packages/92/28/6ba31cce05b0f1ec6b787921903f83bd0acf8efde55219435572af83c350/regex-2025.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:5aba22dfbc60cda7c0853516104724dc904caa2db55f2c3e6e984eb858d3edf3", size = 275489, upload-time = "2025-09-01T22:08:55.037Z" }, + { url = "https://files.pythonhosted.org/packages/bd/ed/ea49f324db00196e9ef7fe00dd13c6164d5173dd0f1bbe495e61bb1fb09d/regex-2025.9.1-cp312-cp312-win_arm64.whl", hash = "sha256:ec1efb4c25e1849c2685fa95da44bfde1b28c62d356f9c8d861d4dad89ed56e9", size = 268589, upload-time = "2025-09-01T22:08:56.369Z" }, + { url = "https://files.pythonhosted.org/packages/98/25/b2959ce90c6138c5142fe5264ee1f9b71a0c502ca4c7959302a749407c79/regex-2025.9.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:bc6834727d1b98d710a63e6c823edf6ffbf5792eba35d3fa119531349d4142ef", size = 485932, upload-time = "2025-09-01T22:08:57.913Z" }, + { url = "https://files.pythonhosted.org/packages/49/2e/6507a2a85f3f2be6643438b7bd976e67ad73223692d6988eb1ff444106d3/regex-2025.9.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c3dc05b6d579875719bccc5f3037b4dc80433d64e94681a0061845bd8863c025", size = 289568, upload-time = "2025-09-01T22:08:59.258Z" }, + { url = "https://files.pythonhosted.org/packages/c7/d8/de4a4b57215d99868f1640e062a7907e185ec7476b4b689e2345487c1ff4/regex-2025.9.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:22213527df4c985ec4a729b055a8306272d41d2f45908d7bacb79be0fa7a75ad", size = 286984, upload-time = "2025-09-01T22:09:00.835Z" }, + { url = "https://files.pythonhosted.org/packages/03/15/e8cb403403a57ed316e80661db0e54d7aa2efcd85cb6156f33cc18746922/regex-2025.9.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8e3f6e3c5a5a1adc3f7ea1b5aec89abfc2f4fbfba55dafb4343cd1d084f715b2", size = 797514, upload-time = "2025-09-01T22:09:02.538Z" }, + { url = "https://files.pythonhosted.org/packages/e4/26/2446f2b9585fed61faaa7e2bbce3aca7dd8df6554c32addee4c4caecf24a/regex-2025.9.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:bcb89c02a0d6c2bec9b0bb2d8c78782699afe8434493bfa6b4021cc51503f249", size = 862586, upload-time = "2025-09-01T22:09:04.322Z" }, + { url = "https://files.pythonhosted.org/packages/fd/b8/82ffbe9c0992c31bbe6ae1c4b4e21269a5df2559102b90543c9b56724c3c/regex-2025.9.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b0e2f95413eb0c651cd1516a670036315b91b71767af83bc8525350d4375ccba", size = 910815, upload-time = "2025-09-01T22:09:05.978Z" }, + { url = "https://files.pythonhosted.org/packages/2f/d8/7303ea38911759c1ee30cc5bc623ee85d3196b733c51fd6703c34290a8d9/regex-2025.9.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:09a41dc039e1c97d3c2ed3e26523f748e58c4de3ea7a31f95e1cf9ff973fff5a", size = 802042, upload-time = "2025-09-01T22:09:07.865Z" }, + { url = "https://files.pythonhosted.org/packages/fc/0e/6ad51a55ed4b5af512bb3299a05d33309bda1c1d1e1808fa869a0bed31bc/regex-2025.9.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4f0b4258b161094f66857a26ee938d3fe7b8a5063861e44571215c44fbf0e5df", size = 786764, upload-time = "2025-09-01T22:09:09.362Z" }, + { url = "https://files.pythonhosted.org/packages/8d/d5/394e3ffae6baa5a9217bbd14d96e0e5da47bb069d0dbb8278e2681a2b938/regex-2025.9.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:bf70e18ac390e6977ea7e56f921768002cb0fa359c4199606c7219854ae332e0", size = 856557, upload-time = "2025-09-01T22:09:11.129Z" }, + { url = "https://files.pythonhosted.org/packages/cd/80/b288d3910c41194ad081b9fb4b371b76b0bbfdce93e7709fc98df27b37dc/regex-2025.9.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b84036511e1d2bb0a4ff1aec26951caa2dea8772b223c9e8a19ed8885b32dbac", size = 849108, upload-time = "2025-09-01T22:09:12.877Z" }, + { url = "https://files.pythonhosted.org/packages/d1/cd/5ec76bf626d0d5abdc277b7a1734696f5f3d14fbb4a3e2540665bc305d85/regex-2025.9.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c2e05dcdfe224047f2a59e70408274c325d019aad96227ab959403ba7d58d2d7", size = 788201, upload-time = "2025-09-01T22:09:14.561Z" }, + { url = "https://files.pythonhosted.org/packages/b5/36/674672f3fdead107565a2499f3007788b878188acec6d42bc141c5366c2c/regex-2025.9.1-cp313-cp313-win32.whl", hash = "sha256:3b9a62107a7441b81ca98261808fed30ae36ba06c8b7ee435308806bd53c1ed8", size = 264508, upload-time = "2025-09-01T22:09:16.193Z" }, + { url = "https://files.pythonhosted.org/packages/83/ad/931134539515eb64ce36c24457a98b83c1b2e2d45adf3254b94df3735a76/regex-2025.9.1-cp313-cp313-win_amd64.whl", hash = "sha256:b38afecc10c177eb34cfae68d669d5161880849ba70c05cbfbe409f08cc939d7", size = 275469, upload-time = "2025-09-01T22:09:17.462Z" }, + { url = "https://files.pythonhosted.org/packages/24/8c/96d34e61c0e4e9248836bf86d69cb224fd222f270fa9045b24e218b65604/regex-2025.9.1-cp313-cp313-win_arm64.whl", hash = "sha256:ec329890ad5e7ed9fc292858554d28d58d56bf62cf964faf0aa57964b21155a0", size = 268586, upload-time = "2025-09-01T22:09:18.948Z" }, + { url = "https://files.pythonhosted.org/packages/21/b1/453cbea5323b049181ec6344a803777914074b9726c9c5dc76749966d12d/regex-2025.9.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:72fb7a016467d364546f22b5ae86c45680a4e0de6b2a6f67441d22172ff641f1", size = 486111, upload-time = "2025-09-01T22:09:20.734Z" }, + { url = "https://files.pythonhosted.org/packages/f6/0e/92577f197bd2f7652c5e2857f399936c1876978474ecc5b068c6d8a79c86/regex-2025.9.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:c9527fa74eba53f98ad86be2ba003b3ebe97e94b6eb2b916b31b5f055622ef03", size = 289520, upload-time = "2025-09-01T22:09:22.249Z" }, + { url = "https://files.pythonhosted.org/packages/af/c6/b472398116cca7ea5a6c4d5ccd0fc543f7fd2492cb0c48d2852a11972f73/regex-2025.9.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c905d925d194c83a63f92422af7544ec188301451b292c8b487f0543726107ca", size = 287215, upload-time = "2025-09-01T22:09:23.657Z" }, + { url = "https://files.pythonhosted.org/packages/cf/11/f12ecb0cf9ca792a32bb92f758589a84149017467a544f2f6bfb45c0356d/regex-2025.9.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:74df7c74a63adcad314426b1f4ea6054a5ab25d05b0244f0c07ff9ce640fa597", size = 797855, upload-time = "2025-09-01T22:09:25.197Z" }, + { url = "https://files.pythonhosted.org/packages/46/88/bbb848f719a540fb5997e71310f16f0b33a92c5d4b4d72d4311487fff2a3/regex-2025.9.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4f6e935e98ea48c7a2e8be44494de337b57a204470e7f9c9c42f912c414cd6f5", size = 863363, upload-time = "2025-09-01T22:09:26.705Z" }, + { url = "https://files.pythonhosted.org/packages/54/a9/2321eb3e2838f575a78d48e03c1e83ea61bd08b74b7ebbdeca8abc50fc25/regex-2025.9.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4a62d033cd9ebefc7c5e466731a508dfabee827d80b13f455de68a50d3c2543d", size = 910202, upload-time = "2025-09-01T22:09:28.906Z" }, + { url = "https://files.pythonhosted.org/packages/33/07/d1d70835d7d11b7e126181f316f7213c4572ecf5c5c97bdbb969fb1f38a2/regex-2025.9.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ef971ebf2b93bdc88d8337238be4dfb851cc97ed6808eb04870ef67589415171", size = 801808, upload-time = "2025-09-01T22:09:30.733Z" }, + { url = "https://files.pythonhosted.org/packages/13/d1/29e4d1bed514ef2bf3a4ead3cb8bb88ca8af94130239a4e68aa765c35b1c/regex-2025.9.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:d936a1db208bdca0eca1f2bb2c1ba1d8370b226785c1e6db76e32a228ffd0ad5", size = 786824, upload-time = "2025-09-01T22:09:32.61Z" }, + { url = "https://files.pythonhosted.org/packages/33/27/20d8ccb1bee460faaa851e6e7cc4cfe852a42b70caa1dca22721ba19f02f/regex-2025.9.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:7e786d9e4469698fc63815b8de08a89165a0aa851720eb99f5e0ea9d51dd2b6a", size = 857406, upload-time = "2025-09-01T22:09:34.117Z" }, + { url = "https://files.pythonhosted.org/packages/74/fe/60c6132262dc36430d51e0c46c49927d113d3a38c1aba6a26c7744c84cf3/regex-2025.9.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:6b81d7dbc5466ad2c57ce3a0ddb717858fe1a29535c8866f8514d785fdb9fc5b", size = 848593, upload-time = "2025-09-01T22:09:35.598Z" }, + { url = "https://files.pythonhosted.org/packages/cc/ae/2d4ff915622fabbef1af28387bf71e7f2f4944a348b8460d061e85e29bf0/regex-2025.9.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:cd4890e184a6feb0ef195338a6ce68906a8903a0f2eb7e0ab727dbc0a3156273", size = 787951, upload-time = "2025-09-01T22:09:37.139Z" }, + { url = "https://files.pythonhosted.org/packages/85/37/dc127703a9e715a284cc2f7dbdd8a9776fd813c85c126eddbcbdd1ca5fec/regex-2025.9.1-cp314-cp314-win32.whl", hash = "sha256:34679a86230e46164c9e0396b56cab13c0505972343880b9e705083cc5b8ec86", size = 269833, upload-time = "2025-09-01T22:09:39.245Z" }, + { url = "https://files.pythonhosted.org/packages/83/bf/4bed4d3d0570e16771defd5f8f15f7ea2311edcbe91077436d6908956c4a/regex-2025.9.1-cp314-cp314-win_amd64.whl", hash = "sha256:a1196e530a6bfa5f4bde029ac5b0295a6ecfaaffbfffede4bbaf4061d9455b70", size = 278742, upload-time = "2025-09-01T22:09:40.651Z" }, + { url = "https://files.pythonhosted.org/packages/cf/3e/7d7ac6fd085023312421e0d69dfabdfb28e116e513fadbe9afe710c01893/regex-2025.9.1-cp314-cp314-win_arm64.whl", hash = "sha256:f46d525934871ea772930e997d577d48c6983e50f206ff7b66d4ac5f8941e993", size = 271860, upload-time = "2025-09-01T22:09:42.413Z" }, + { url = "https://files.pythonhosted.org/packages/ae/28/3f2b211686160f15ccf2ecd770e25c588fb776332956006e02ab93982a5f/regex-2025.9.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a13d20007dce3c4b00af5d84f6c191ed1c0f70928c6d9b6cd7b8d2f125df7f46", size = 484825, upload-time = "2025-09-01T22:09:44.502Z" }, + { url = "https://files.pythonhosted.org/packages/be/8d/88539f6ca5967022942ab64f2038a037b344db636c80852d2b4b147f6b1a/regex-2025.9.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d6b046b0a01cb713fd53ef36cb59db4b0062b343db28e83b52ac6aa01ee5b368", size = 288972, upload-time = "2025-09-01T22:09:46.415Z" }, + { url = "https://files.pythonhosted.org/packages/88/ad/0b9316cfe91d8a2917fbcd8cb7c990051745b5852f9f3088b93b4267fe68/regex-2025.9.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0fa9a7477288717f42dbd02ff5d13057549e9a8cdb81f224c313154cc10bab52", size = 286624, upload-time = "2025-09-01T22:09:47.823Z" }, + { url = "https://files.pythonhosted.org/packages/e9/6e/199003d956dac19ddaebb2ef3c068379918539a497dd4d4eb5561a1c5e3f/regex-2025.9.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b2b3ad150c6bc01a8cd5030040675060e2adbe6cbc50aadc4da42c6d32ec266e", size = 779882, upload-time = "2025-09-01T22:09:49.601Z" }, + { url = "https://files.pythonhosted.org/packages/69/0a/a4bed3424beefbf8322b8b581aa2e2a65cbfe358d968f58a2ab910d62927/regex-2025.9.1-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:aa88d5a82dfe80deaf04e8c39c8b0ad166d5d527097eb9431cb932c44bf88715", size = 848938, upload-time = "2025-09-01T22:09:51.155Z" }, + { url = "https://files.pythonhosted.org/packages/d2/01/c6c2bc65e97387523742c54daec1384a50d2575d1189e844e4e320e145e9/regex-2025.9.1-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6f1dae2cf6c2dbc6fd2526653692c144721b3cf3f769d2a3c3aa44d0f38b9a58", size = 896747, upload-time = "2025-09-01T22:09:52.965Z" }, + { url = "https://files.pythonhosted.org/packages/4a/56/25480407a452198414a68d6d1f4f9920652810ba9f2c7f6279e5bd9b15ef/regex-2025.9.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ff62a3022914fc19adaa76b65e03cf62bc67ea16326cbbeb170d280710a7d719", size = 789466, upload-time = "2025-09-01T22:09:54.564Z" }, + { url = "https://files.pythonhosted.org/packages/82/5c/207422b3a2c3923eb09a1e807435effcbd8b756cd8ece24c153d525463d6/regex-2025.9.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a34ef82216189d823bc82f614d1031cb0b919abef27cecfd7b07d1e9a8bdeeb4", size = 780130, upload-time = "2025-09-01T22:09:56.413Z" }, + { url = "https://files.pythonhosted.org/packages/2c/e3/74a9da339f043006a1c0e0daae143c2d8b70e8987da3c967dbb8b6e8c9d2/regex-2025.9.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:6d40e6b49daae9ebbd7fa4e600697372cba85b826592408600068e83a3c47211", size = 773140, upload-time = "2025-09-01T22:09:57.99Z" }, + { url = "https://files.pythonhosted.org/packages/45/11/d2ca4dccec797f9325cfae0cfff8ee2977e1d5db43296ed949f8c63b6db0/regex-2025.9.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:0aeb0fe80331059c152a002142699a89bf3e44352aee28261315df0c9874759b", size = 843538, upload-time = "2025-09-01T22:09:59.74Z" }, + { url = "https://files.pythonhosted.org/packages/d5/9a/652095a5df5a8cd6b550280dc4b885f06beb68e2dc8728b380639b40446d/regex-2025.9.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:a90014d29cb3098403d82a879105d1418edbbdf948540297435ea6e377023ea7", size = 834151, upload-time = "2025-09-01T22:10:01.658Z" }, + { url = "https://files.pythonhosted.org/packages/17/27/f1ca20401df0544a627188fede42ef723b7d88fed8364b0d80fa9833bb84/regex-2025.9.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6ff623271e0b0cc5a95b802666bbd70f17ddd641582d65b10fb260cc0c003529", size = 778009, upload-time = "2025-09-01T22:10:03.609Z" }, + { url = "https://files.pythonhosted.org/packages/20/28/c6c94f642c115e72142e8404464835f03dee55266a158455aeb8216d6d4d/regex-2025.9.1-cp39-cp39-win32.whl", hash = "sha256:d161bfdeabe236290adfd8c7588da7f835d67e9e7bf2945f1e9e120622839ba6", size = 264141, upload-time = "2025-09-01T22:10:05.457Z" }, + { url = "https://files.pythonhosted.org/packages/ff/7e/4ef3cf970b4c7ef9abee4c5a42f3405a452e5abe21095ee36f9a3a83af9d/regex-2025.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:43ebc77a7dfe36661192afd8d7df5e8be81ec32d2ad0c65b536f66ebfec3dece", size = 276219, upload-time = "2025-09-01T22:10:07.106Z" }, + { url = "https://files.pythonhosted.org/packages/60/42/86a45b36b0d8f37388485a2c93d0f3c571732ac4e17b92d8ccd5da53b792/regex-2025.9.1-cp39-cp39-win_arm64.whl", hash = "sha256:5d74b557cf5554001a869cda60b9a619be307df4d10155894aeaad3ee67c9899", size = 268497, upload-time = "2025-09-01T22:10:08.595Z" }, +] + +[[package]] +name = "requests" +version = "2.32.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517, upload-time = "2025-08-18T20:46:02.573Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738, upload-time = "2025-08-18T20:46:00.542Z" }, +] + +[[package]] +name = "rlp" +version = "4.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "eth-utils" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/1b/2d/439b0728a92964a04d9c88ea1ca9ebb128893fbbd5834faa31f987f2fd4c/rlp-4.1.0.tar.gz", hash = "sha256:be07564270a96f3e225e2c107db263de96b5bc1f27722d2855bd3459a08e95a9", size = 33429, upload-time = "2025-02-04T22:05:59.089Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/99/fb/e4c0ced9893b84ac95b7181d69a9786ce5879aeb3bbbcbba80a164f85d6a/rlp-4.1.0-py3-none-any.whl", hash = "sha256:8eca394c579bad34ee0b937aecb96a57052ff3716e19c7a578883e767bc5da6f", size = 19973, upload-time = "2025-02-04T22:05:57.05Z" }, +] + +[[package]] +name = "ruff" +version = "0.12.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/de/55/16ab6a7d88d93001e1ae4c34cbdcfb376652d761799459ff27c1dc20f6fa/ruff-0.12.11.tar.gz", hash = "sha256:c6b09ae8426a65bbee5425b9d0b82796dbb07cb1af045743c79bfb163001165d", size = 5347103, upload-time = "2025-08-28T13:59:08.87Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d6/a2/3b3573e474de39a7a475f3fbaf36a25600bfeb238e1a90392799163b64a0/ruff-0.12.11-py3-none-linux_armv6l.whl", hash = "sha256:93fce71e1cac3a8bf9200e63a38ac5c078f3b6baebffb74ba5274fb2ab276065", size = 11979885, upload-time = "2025-08-28T13:58:26.654Z" }, + { url = "https://files.pythonhosted.org/packages/76/e4/235ad6d1785a2012d3ded2350fd9bc5c5af8c6f56820e696b0118dfe7d24/ruff-0.12.11-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:b8e33ac7b28c772440afa80cebb972ffd823621ded90404f29e5ab6d1e2d4b93", size = 12742364, upload-time = "2025-08-28T13:58:30.256Z" }, + { url = "https://files.pythonhosted.org/packages/2c/0d/15b72c5fe6b1e402a543aa9d8960e0a7e19dfb079f5b0b424db48b7febab/ruff-0.12.11-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d69fb9d4937aa19adb2e9f058bc4fbfe986c2040acb1a4a9747734834eaa0bfd", size = 11920111, upload-time = "2025-08-28T13:58:33.677Z" }, + { url = "https://files.pythonhosted.org/packages/3e/c0/f66339d7893798ad3e17fa5a1e587d6fd9806f7c1c062b63f8b09dda6702/ruff-0.12.11-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:411954eca8464595077a93e580e2918d0a01a19317af0a72132283e28ae21bee", size = 12160060, upload-time = "2025-08-28T13:58:35.74Z" }, + { url = "https://files.pythonhosted.org/packages/03/69/9870368326db26f20c946205fb2d0008988aea552dbaec35fbacbb46efaa/ruff-0.12.11-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6a2c0a2e1a450f387bf2c6237c727dd22191ae8c00e448e0672d624b2bbd7fb0", size = 11799848, upload-time = "2025-08-28T13:58:38.051Z" }, + { url = "https://files.pythonhosted.org/packages/25/8c/dd2c7f990e9b3a8a55eee09d4e675027d31727ce33cdb29eab32d025bdc9/ruff-0.12.11-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8ca4c3a7f937725fd2413c0e884b5248a19369ab9bdd850b5781348ba283f644", size = 13536288, upload-time = "2025-08-28T13:58:40.046Z" }, + { url = "https://files.pythonhosted.org/packages/7a/30/d5496fa09aba59b5e01ea76775a4c8897b13055884f56f1c35a4194c2297/ruff-0.12.11-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:4d1df0098124006f6a66ecf3581a7f7e754c4df7644b2e6704cd7ca80ff95211", size = 14490633, upload-time = "2025-08-28T13:58:42.285Z" }, + { url = "https://files.pythonhosted.org/packages/9b/2f/81f998180ad53445d403c386549d6946d0748e536d58fce5b5e173511183/ruff-0.12.11-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5a8dd5f230efc99a24ace3b77e3555d3fbc0343aeed3fc84c8d89e75ab2ff793", size = 13888430, upload-time = "2025-08-28T13:58:44.641Z" }, + { url = "https://files.pythonhosted.org/packages/87/71/23a0d1d5892a377478c61dbbcffe82a3476b050f38b5162171942a029ef3/ruff-0.12.11-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4dc75533039d0ed04cd33fb8ca9ac9620b99672fe7ff1533b6402206901c34ee", size = 12913133, upload-time = "2025-08-28T13:58:47.039Z" }, + { url = "https://files.pythonhosted.org/packages/80/22/3c6cef96627f89b344c933781ed38329bfb87737aa438f15da95907cbfd5/ruff-0.12.11-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4fc58f9266d62c6eccc75261a665f26b4ef64840887fc6cbc552ce5b29f96cc8", size = 13169082, upload-time = "2025-08-28T13:58:49.157Z" }, + { url = "https://files.pythonhosted.org/packages/05/b5/68b3ff96160d8b49e8dd10785ff3186be18fd650d356036a3770386e6c7f/ruff-0.12.11-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:5a0113bd6eafd545146440225fe60b4e9489f59eb5f5f107acd715ba5f0b3d2f", size = 13139490, upload-time = "2025-08-28T13:58:51.593Z" }, + { url = "https://files.pythonhosted.org/packages/59/b9/050a3278ecd558f74f7ee016fbdf10591d50119df8d5f5da45a22c6afafc/ruff-0.12.11-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:0d737b4059d66295c3ea5720e6efc152623bb83fde5444209b69cd33a53e2000", size = 11958928, upload-time = "2025-08-28T13:58:53.943Z" }, + { url = "https://files.pythonhosted.org/packages/f9/bc/93be37347db854806904a43b0493af8d6873472dfb4b4b8cbb27786eb651/ruff-0.12.11-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:916fc5defee32dbc1fc1650b576a8fed68f5e8256e2180d4d9855aea43d6aab2", size = 11764513, upload-time = "2025-08-28T13:58:55.976Z" }, + { url = "https://files.pythonhosted.org/packages/7a/a1/1471751e2015a81fd8e166cd311456c11df74c7e8769d4aabfbc7584c7ac/ruff-0.12.11-py3-none-musllinux_1_2_i686.whl", hash = "sha256:c984f07d7adb42d3ded5be894fb4007f30f82c87559438b4879fe7aa08c62b39", size = 12745154, upload-time = "2025-08-28T13:58:58.16Z" }, + { url = "https://files.pythonhosted.org/packages/68/ab/2542b14890d0f4872dd81b7b2a6aed3ac1786fae1ce9b17e11e6df9e31e3/ruff-0.12.11-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:e07fbb89f2e9249f219d88331c833860489b49cdf4b032b8e4432e9b13e8a4b9", size = 13227653, upload-time = "2025-08-28T13:59:00.276Z" }, + { url = "https://files.pythonhosted.org/packages/22/16/2fbfc61047dbfd009c58a28369a693a1484ad15441723be1cd7fe69bb679/ruff-0.12.11-py3-none-win32.whl", hash = "sha256:c792e8f597c9c756e9bcd4d87cf407a00b60af77078c96f7b6366ea2ce9ba9d3", size = 11944270, upload-time = "2025-08-28T13:59:02.347Z" }, + { url = "https://files.pythonhosted.org/packages/08/a5/34276984705bfe069cd383101c45077ee029c3fe3b28225bf67aa35f0647/ruff-0.12.11-py3-none-win_amd64.whl", hash = "sha256:a3283325960307915b6deb3576b96919ee89432ebd9c48771ca12ee8afe4a0fd", size = 13046600, upload-time = "2025-08-28T13:59:04.751Z" }, + { url = "https://files.pythonhosted.org/packages/84/a8/001d4a7c2b37623a3fd7463208267fb906df40ff31db496157549cfd6e72/ruff-0.12.11-py3-none-win_arm64.whl", hash = "sha256:bae4d6e6a2676f8fb0f98b74594a048bae1b944aab17e9f5d504062303c6dbea", size = 12135290, upload-time = "2025-08-28T13:59:06.933Z" }, +] + +[[package]] +name = "slither-analyzer" +version = "0.11.3" +source = { editable = "." } +dependencies = [ + { name = "crytic-compile" }, + { name = "eth-abi" }, + { name = "eth-typing" }, + { name = "eth-utils" }, + { name = "packaging" }, + { name = "prettytable" }, + { name = "pycryptodome" }, + { name = "web3" }, +] + +[package.dev-dependencies] +dev = [ + { name = "coverage", extra = ["toml"] }, + { name = "deepdiff" }, + { name = "filelock" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "numpy", version = "2.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "openai" }, + { name = "orderly-set" }, + { name = "pdoc" }, + { name = "pre-commit" }, + { name = "pytest" }, + { name = "pytest-cov" }, + { name = "pytest-insta", version = "0.1.11", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "pytest-insta", version = "0.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "pytest-xdist" }, + { name = "ruff" }, + { name = "yamllint" }, +] + +[package.metadata] +requires-dist = [ + { name = "crytic-compile", specifier = ">=0.3.9,<0.4.0" }, + { name = "eth-abi", specifier = ">=5.0.1" }, + { name = "eth-typing", specifier = ">=5.0.0" }, + { name = "eth-utils", specifier = ">=5.0.0" }, + { name = "packaging" }, + { name = "prettytable", specifier = ">=3.10.2" }, + { name = "pycryptodome", specifier = ">=3.4.6" }, + { name = "web3", specifier = ">=7.10,<8" }, +] + +[package.metadata.requires-dev] +dev = [ + { name = "coverage", extras = ["toml"] }, + { name = "deepdiff" }, + { name = "filelock" }, + { name = "numpy" }, + { name = "openai" }, + { name = "orderly-set", specifier = "==5.3.2" }, + { name = "pdoc" }, + { name = "pre-commit", specifier = ">=3.5.0" }, + { name = "pytest" }, + { name = "pytest-cov" }, + { name = "pytest-insta" }, + { name = "pytest-xdist" }, + { name = "ruff", specifier = ">=0.12.0,<1.0" }, + { name = "yamllint", specifier = ">=1.35.1" }, +] + +[[package]] +name = "sniffio" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372, upload-time = "2024-02-25T23:20:04.057Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235, upload-time = "2024-02-25T23:20:01.196Z" }, +] + +[[package]] +name = "solc-select" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "packaging" }, + { name = "pycryptodome" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e0/55/55b19b5f6625e7f1a8398e9f19e61843e4c651164cac10673edd412c0678/solc_select-1.1.0.tar.gz", hash = "sha256:94fb6f976ab50ffccc5757d5beaf76417b27cbe15436cfe2b30cdb838f5c7516", size = 46445, upload-time = "2025-04-18T18:51:46.737Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8e/1f/86baaf154964018ee9766e7655f6f80e7fd491a93a3f1bb1020b29ecd0da/solc_select-1.1.0-py3-none-any.whl", hash = "sha256:3bee7c9df024d5517d2cdcae6ce92e622bd387629a52b8e3ff015c58e2db7f80", size = 33756, upload-time = "2025-04-18T18:51:45.124Z" }, +] + +[[package]] +name = "tomli" +version = "2.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/18/87/302344fed471e44a87289cf4967697d07e532f2421fdaf868a303cbae4ff/tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff", size = 17175, upload-time = "2024-11-27T22:38:36.873Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/43/ca/75707e6efa2b37c77dadb324ae7d9571cb424e61ea73fad7c56c2d14527f/tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249", size = 131077, upload-time = "2024-11-27T22:37:54.956Z" }, + { url = "https://files.pythonhosted.org/packages/c7/16/51ae563a8615d472fdbffc43a3f3d46588c264ac4f024f63f01283becfbb/tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6", size = 123429, upload-time = "2024-11-27T22:37:56.698Z" }, + { url = "https://files.pythonhosted.org/packages/f1/dd/4f6cd1e7b160041db83c694abc78e100473c15d54620083dbd5aae7b990e/tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a", size = 226067, upload-time = "2024-11-27T22:37:57.63Z" }, + { url = "https://files.pythonhosted.org/packages/a9/6b/c54ede5dc70d648cc6361eaf429304b02f2871a345bbdd51e993d6cdf550/tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee", size = 236030, upload-time = "2024-11-27T22:37:59.344Z" }, + { url = "https://files.pythonhosted.org/packages/1f/47/999514fa49cfaf7a92c805a86c3c43f4215621855d151b61c602abb38091/tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e", size = 240898, upload-time = "2024-11-27T22:38:00.429Z" }, + { url = "https://files.pythonhosted.org/packages/73/41/0a01279a7ae09ee1573b423318e7934674ce06eb33f50936655071d81a24/tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4", size = 229894, upload-time = "2024-11-27T22:38:02.094Z" }, + { url = "https://files.pythonhosted.org/packages/55/18/5d8bc5b0a0362311ce4d18830a5d28943667599a60d20118074ea1b01bb7/tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106", size = 245319, upload-time = "2024-11-27T22:38:03.206Z" }, + { url = "https://files.pythonhosted.org/packages/92/a3/7ade0576d17f3cdf5ff44d61390d4b3febb8a9fc2b480c75c47ea048c646/tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8", size = 238273, upload-time = "2024-11-27T22:38:04.217Z" }, + { url = "https://files.pythonhosted.org/packages/72/6f/fa64ef058ac1446a1e51110c375339b3ec6be245af9d14c87c4a6412dd32/tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", size = 98310, upload-time = "2024-11-27T22:38:05.908Z" }, + { url = "https://files.pythonhosted.org/packages/6a/1c/4a2dcde4a51b81be3530565e92eda625d94dafb46dbeb15069df4caffc34/tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", size = 108309, upload-time = "2024-11-27T22:38:06.812Z" }, + { url = "https://files.pythonhosted.org/packages/52/e1/f8af4c2fcde17500422858155aeb0d7e93477a0d59a98e56cbfe75070fd0/tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea", size = 132762, upload-time = "2024-11-27T22:38:07.731Z" }, + { url = "https://files.pythonhosted.org/packages/03/b8/152c68bb84fc00396b83e7bbddd5ec0bd3dd409db4195e2a9b3e398ad2e3/tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8", size = 123453, upload-time = "2024-11-27T22:38:09.384Z" }, + { url = "https://files.pythonhosted.org/packages/c8/d6/fc9267af9166f79ac528ff7e8c55c8181ded34eb4b0e93daa767b8841573/tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192", size = 233486, upload-time = "2024-11-27T22:38:10.329Z" }, + { url = "https://files.pythonhosted.org/packages/5c/51/51c3f2884d7bab89af25f678447ea7d297b53b5a3b5730a7cb2ef6069f07/tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222", size = 242349, upload-time = "2024-11-27T22:38:11.443Z" }, + { url = "https://files.pythonhosted.org/packages/ab/df/bfa89627d13a5cc22402e441e8a931ef2108403db390ff3345c05253935e/tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77", size = 252159, upload-time = "2024-11-27T22:38:13.099Z" }, + { url = "https://files.pythonhosted.org/packages/9e/6e/fa2b916dced65763a5168c6ccb91066f7639bdc88b48adda990db10c8c0b/tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6", size = 237243, upload-time = "2024-11-27T22:38:14.766Z" }, + { url = "https://files.pythonhosted.org/packages/b4/04/885d3b1f650e1153cbb93a6a9782c58a972b94ea4483ae4ac5cedd5e4a09/tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd", size = 259645, upload-time = "2024-11-27T22:38:15.843Z" }, + { url = "https://files.pythonhosted.org/packages/9c/de/6b432d66e986e501586da298e28ebeefd3edc2c780f3ad73d22566034239/tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e", size = 244584, upload-time = "2024-11-27T22:38:17.645Z" }, + { url = "https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size = 98875, upload-time = "2024-11-27T22:38:19.159Z" }, + { url = "https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size = 109418, upload-time = "2024-11-27T22:38:20.064Z" }, + { url = "https://files.pythonhosted.org/packages/04/90/2ee5f2e0362cb8a0b6499dc44f4d7d48f8fff06d28ba46e6f1eaa61a1388/tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7", size = 132708, upload-time = "2024-11-27T22:38:21.659Z" }, + { url = "https://files.pythonhosted.org/packages/c0/ec/46b4108816de6b385141f082ba99e315501ccd0a2ea23db4a100dd3990ea/tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c", size = 123582, upload-time = "2024-11-27T22:38:22.693Z" }, + { url = "https://files.pythonhosted.org/packages/a0/bd/b470466d0137b37b68d24556c38a0cc819e8febe392d5b199dcd7f578365/tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13", size = 232543, upload-time = "2024-11-27T22:38:24.367Z" }, + { url = "https://files.pythonhosted.org/packages/d9/e5/82e80ff3b751373f7cead2815bcbe2d51c895b3c990686741a8e56ec42ab/tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281", size = 241691, upload-time = "2024-11-27T22:38:26.081Z" }, + { url = "https://files.pythonhosted.org/packages/05/7e/2a110bc2713557d6a1bfb06af23dd01e7dde52b6ee7dadc589868f9abfac/tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272", size = 251170, upload-time = "2024-11-27T22:38:27.921Z" }, + { url = "https://files.pythonhosted.org/packages/64/7b/22d713946efe00e0adbcdfd6d1aa119ae03fd0b60ebed51ebb3fa9f5a2e5/tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140", size = 236530, upload-time = "2024-11-27T22:38:29.591Z" }, + { url = "https://files.pythonhosted.org/packages/38/31/3a76f67da4b0cf37b742ca76beaf819dca0ebef26d78fc794a576e08accf/tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2", size = 258666, upload-time = "2024-11-27T22:38:30.639Z" }, + { url = "https://files.pythonhosted.org/packages/07/10/5af1293da642aded87e8a988753945d0cf7e00a9452d3911dd3bb354c9e2/tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744", size = 243954, upload-time = "2024-11-27T22:38:31.702Z" }, + { url = "https://files.pythonhosted.org/packages/5b/b9/1ed31d167be802da0fc95020d04cd27b7d7065cc6fbefdd2f9186f60d7bd/tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec", size = 98724, upload-time = "2024-11-27T22:38:32.837Z" }, + { url = "https://files.pythonhosted.org/packages/c7/32/b0963458706accd9afcfeb867c0f9175a741bf7b19cd424230714d722198/tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69", size = 109383, upload-time = "2024-11-27T22:38:34.455Z" }, + { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257, upload-time = "2024-11-27T22:38:35.385Z" }, +] + +[[package]] +name = "toolz" +version = "1.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8a/0b/d80dfa675bf592f636d1ea0b835eab4ec8df6e9415d8cfd766df54456123/toolz-1.0.0.tar.gz", hash = "sha256:2c86e3d9a04798ac556793bced838816296a2f085017664e4995cb40a1047a02", size = 66790, upload-time = "2024-10-04T16:17:04.001Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/03/98/eb27cc78ad3af8e302c9d8ff4977f5026676e130d28dd7578132a457170c/toolz-1.0.0-py3-none-any.whl", hash = "sha256:292c8f1c4e7516bf9086f8850935c799a874039c8bcf959d47b600e4c44a6236", size = 56383, upload-time = "2024-10-04T16:17:01.533Z" }, +] + +[[package]] +name = "tqdm" +version = "4.67.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737, upload-time = "2024-11-24T20:12:22.481Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540, upload-time = "2024-11-24T20:12:19.698Z" }, +] + +[[package]] +name = "types-requests" +version = "2.32.4.20250809" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ed/b0/9355adb86ec84d057fea765e4c49cce592aaf3d5117ce5609a95a7fc3dac/types_requests-2.32.4.20250809.tar.gz", hash = "sha256:d8060de1c8ee599311f56ff58010fb4902f462a1470802cf9f6ed27bc46c4df3", size = 23027, upload-time = "2025-08-09T03:17:10.664Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2b/6f/ec0012be842b1d888d46884ac5558fd62aeae1f0ec4f7a581433d890d4b5/types_requests-2.32.4.20250809-py3-none-any.whl", hash = "sha256:f73d1832fb519ece02c85b1f09d5f0dd3108938e7d47e7f94bbfa18a6782b163", size = 20644, upload-time = "2025-08-09T03:17:09.716Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, +] + +[[package]] +name = "typing-inspection" +version = "0.4.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz", hash = "sha256:6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28", size = 75726, upload-time = "2025-05-21T18:55:23.885Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/17/69/cd203477f944c353c31bade965f880aa1061fd6bf05ded0726ca845b6ff7/typing_inspection-0.4.1-py3-none-any.whl", hash = "sha256:389055682238f53b04f7badcb49b989835495a96700ced5dab2d8feae4b26f51", size = 14552, upload-time = "2025-05-21T18:55:22.152Z" }, +] + +[[package]] +name = "urllib3" +version = "2.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" }, +] + +[[package]] +name = "virtualenv" +version = "20.34.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "distlib" }, + { name = "filelock" }, + { name = "platformdirs" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/1c/14/37fcdba2808a6c615681cd216fecae00413c9dab44fb2e57805ecf3eaee3/virtualenv-20.34.0.tar.gz", hash = "sha256:44815b2c9dee7ed86e387b842a84f20b93f7f417f95886ca1996a72a4138eb1a", size = 6003808, upload-time = "2025-08-13T14:24:07.464Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/06/04c8e804f813cf972e3262f3f8584c232de64f0cde9f703b46cf53a45090/virtualenv-20.34.0-py3-none-any.whl", hash = "sha256:341f5afa7eee943e4984a9207c025feedd768baff6753cd660c857ceb3e36026", size = 5983279, upload-time = "2025-08-13T14:24:05.111Z" }, +] + +[[package]] +name = "wcwidth" +version = "0.2.13" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", size = 101301, upload-time = "2024-01-06T02:10:57.829Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166, upload-time = "2024-01-06T02:10:55.763Z" }, +] + +[[package]] +name = "web3" +version = "7.13.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "aiohttp" }, + { name = "eth-abi" }, + { name = "eth-account" }, + { name = "eth-hash", extra = ["pycryptodome"] }, + { name = "eth-typing" }, + { name = "eth-utils" }, + { name = "hexbytes" }, + { name = "pydantic" }, + { name = "pyunormalize" }, + { name = "pywin32", marker = "sys_platform == 'win32'" }, + { name = "requests" }, + { name = "types-requests" }, + { name = "typing-extensions" }, + { name = "websockets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8a/b4/1f026b025c51ce092a7a573b9308a2526b92a4044f94d9af78e7bb820a1c/web3-7.13.0.tar.gz", hash = "sha256:281795e0f5d404c1374e1771f6710bb43e0c975f3141366eb1680763edfb4806", size = 2194483, upload-time = "2025-08-04T16:57:19.442Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/95/a2/fc390ac63c8008318769eba2de071e95b7ba59b5fdc099529db73e5f1356/web3-7.13.0-py3-none-any.whl", hash = "sha256:4da7e953300577b7dadbaf430e5fd4479b127b1ad4910234b230fdcb8a49f735", size = 1369941, upload-time = "2025-08-04T16:57:17.587Z" }, +] + +[[package]] +name = "websockets" +version = "15.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/21/e6/26d09fab466b7ca9c7737474c52be4f76a40301b08362eb2dbc19dcc16c1/websockets-15.0.1.tar.gz", hash = "sha256:82544de02076bafba038ce055ee6412d68da13ab47f0c60cab827346de828dee", size = 177016, upload-time = "2025-03-05T20:03:41.606Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/da/6462a9f510c0c49837bbc9345aca92d767a56c1fb2939e1579df1e1cdcf7/websockets-15.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d63efaa0cd96cf0c5fe4d581521d9fa87744540d4bc999ae6e08595a1014b45b", size = 175423, upload-time = "2025-03-05T20:01:35.363Z" }, + { url = "https://files.pythonhosted.org/packages/1c/9f/9d11c1a4eb046a9e106483b9ff69bce7ac880443f00e5ce64261b47b07e7/websockets-15.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ac60e3b188ec7574cb761b08d50fcedf9d77f1530352db4eef1707fe9dee7205", size = 173080, upload-time = "2025-03-05T20:01:37.304Z" }, + { url = "https://files.pythonhosted.org/packages/d5/4f/b462242432d93ea45f297b6179c7333dd0402b855a912a04e7fc61c0d71f/websockets-15.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5756779642579d902eed757b21b0164cd6fe338506a8083eb58af5c372e39d9a", size = 173329, upload-time = "2025-03-05T20:01:39.668Z" }, + { url = "https://files.pythonhosted.org/packages/6e/0c/6afa1f4644d7ed50284ac59cc70ef8abd44ccf7d45850d989ea7310538d0/websockets-15.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fdfe3e2a29e4db3659dbd5bbf04560cea53dd9610273917799f1cde46aa725e", size = 182312, upload-time = "2025-03-05T20:01:41.815Z" }, + { url = "https://files.pythonhosted.org/packages/dd/d4/ffc8bd1350b229ca7a4db2a3e1c482cf87cea1baccd0ef3e72bc720caeec/websockets-15.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c2529b320eb9e35af0fa3016c187dffb84a3ecc572bcee7c3ce302bfeba52bf", size = 181319, upload-time = "2025-03-05T20:01:43.967Z" }, + { url = "https://files.pythonhosted.org/packages/97/3a/5323a6bb94917af13bbb34009fac01e55c51dfde354f63692bf2533ffbc2/websockets-15.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac1e5c9054fe23226fb11e05a6e630837f074174c4c2f0fe442996112a6de4fb", size = 181631, upload-time = "2025-03-05T20:01:46.104Z" }, + { url = "https://files.pythonhosted.org/packages/a6/cc/1aeb0f7cee59ef065724041bb7ed667b6ab1eeffe5141696cccec2687b66/websockets-15.0.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5df592cd503496351d6dc14f7cdad49f268d8e618f80dce0cd5a36b93c3fc08d", size = 182016, upload-time = "2025-03-05T20:01:47.603Z" }, + { url = "https://files.pythonhosted.org/packages/79/f9/c86f8f7af208e4161a7f7e02774e9d0a81c632ae76db2ff22549e1718a51/websockets-15.0.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0a34631031a8f05657e8e90903e656959234f3a04552259458aac0b0f9ae6fd9", size = 181426, upload-time = "2025-03-05T20:01:48.949Z" }, + { url = "https://files.pythonhosted.org/packages/c7/b9/828b0bc6753db905b91df6ae477c0b14a141090df64fb17f8a9d7e3516cf/websockets-15.0.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3d00075aa65772e7ce9e990cab3ff1de702aa09be3940d1dc88d5abf1ab8a09c", size = 181360, upload-time = "2025-03-05T20:01:50.938Z" }, + { url = "https://files.pythonhosted.org/packages/89/fb/250f5533ec468ba6327055b7d98b9df056fb1ce623b8b6aaafb30b55d02e/websockets-15.0.1-cp310-cp310-win32.whl", hash = "sha256:1234d4ef35db82f5446dca8e35a7da7964d02c127b095e172e54397fb6a6c256", size = 176388, upload-time = "2025-03-05T20:01:52.213Z" }, + { url = "https://files.pythonhosted.org/packages/1c/46/aca7082012768bb98e5608f01658ff3ac8437e563eca41cf068bd5849a5e/websockets-15.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:39c1fec2c11dc8d89bba6b2bf1556af381611a173ac2b511cf7231622058af41", size = 176830, upload-time = "2025-03-05T20:01:53.922Z" }, + { url = "https://files.pythonhosted.org/packages/9f/32/18fcd5919c293a398db67443acd33fde142f283853076049824fc58e6f75/websockets-15.0.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:823c248b690b2fd9303ba00c4f66cd5e2d8c3ba4aa968b2779be9532a4dad431", size = 175423, upload-time = "2025-03-05T20:01:56.276Z" }, + { url = "https://files.pythonhosted.org/packages/76/70/ba1ad96b07869275ef42e2ce21f07a5b0148936688c2baf7e4a1f60d5058/websockets-15.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678999709e68425ae2593acf2e3ebcbcf2e69885a5ee78f9eb80e6e371f1bf57", size = 173082, upload-time = "2025-03-05T20:01:57.563Z" }, + { url = "https://files.pythonhosted.org/packages/86/f2/10b55821dd40eb696ce4704a87d57774696f9451108cff0d2824c97e0f97/websockets-15.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d50fd1ee42388dcfb2b3676132c78116490976f1300da28eb629272d5d93e905", size = 173330, upload-time = "2025-03-05T20:01:59.063Z" }, + { url = "https://files.pythonhosted.org/packages/a5/90/1c37ae8b8a113d3daf1065222b6af61cc44102da95388ac0018fcb7d93d9/websockets-15.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d99e5546bf73dbad5bf3547174cd6cb8ba7273062a23808ffea025ecb1cf8562", size = 182878, upload-time = "2025-03-05T20:02:00.305Z" }, + { url = "https://files.pythonhosted.org/packages/8e/8d/96e8e288b2a41dffafb78e8904ea7367ee4f891dafc2ab8d87e2124cb3d3/websockets-15.0.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:66dd88c918e3287efc22409d426c8f729688d89a0c587c88971a0faa2c2f3792", size = 181883, upload-time = "2025-03-05T20:02:03.148Z" }, + { url = "https://files.pythonhosted.org/packages/93/1f/5d6dbf551766308f6f50f8baf8e9860be6182911e8106da7a7f73785f4c4/websockets-15.0.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8dd8327c795b3e3f219760fa603dcae1dcc148172290a8ab15158cf85a953413", size = 182252, upload-time = "2025-03-05T20:02:05.29Z" }, + { url = "https://files.pythonhosted.org/packages/d4/78/2d4fed9123e6620cbf1706c0de8a1632e1a28e7774d94346d7de1bba2ca3/websockets-15.0.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8fdc51055e6ff4adeb88d58a11042ec9a5eae317a0a53d12c062c8a8865909e8", size = 182521, upload-time = "2025-03-05T20:02:07.458Z" }, + { url = "https://files.pythonhosted.org/packages/e7/3b/66d4c1b444dd1a9823c4a81f50231b921bab54eee2f69e70319b4e21f1ca/websockets-15.0.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:693f0192126df6c2327cce3baa7c06f2a117575e32ab2308f7f8216c29d9e2e3", size = 181958, upload-time = "2025-03-05T20:02:09.842Z" }, + { url = "https://files.pythonhosted.org/packages/08/ff/e9eed2ee5fed6f76fdd6032ca5cd38c57ca9661430bb3d5fb2872dc8703c/websockets-15.0.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:54479983bd5fb469c38f2f5c7e3a24f9a4e70594cd68cd1fa6b9340dadaff7cf", size = 181918, upload-time = "2025-03-05T20:02:11.968Z" }, + { url = "https://files.pythonhosted.org/packages/d8/75/994634a49b7e12532be6a42103597b71098fd25900f7437d6055ed39930a/websockets-15.0.1-cp311-cp311-win32.whl", hash = "sha256:16b6c1b3e57799b9d38427dda63edcbe4926352c47cf88588c0be4ace18dac85", size = 176388, upload-time = "2025-03-05T20:02:13.32Z" }, + { url = "https://files.pythonhosted.org/packages/98/93/e36c73f78400a65f5e236cd376713c34182e6663f6889cd45a4a04d8f203/websockets-15.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:27ccee0071a0e75d22cb35849b1db43f2ecd3e161041ac1ee9d2352ddf72f065", size = 176828, upload-time = "2025-03-05T20:02:14.585Z" }, + { url = "https://files.pythonhosted.org/packages/51/6b/4545a0d843594f5d0771e86463606a3988b5a09ca5123136f8a76580dd63/websockets-15.0.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:3e90baa811a5d73f3ca0bcbf32064d663ed81318ab225ee4f427ad4e26e5aff3", size = 175437, upload-time = "2025-03-05T20:02:16.706Z" }, + { url = "https://files.pythonhosted.org/packages/f4/71/809a0f5f6a06522af902e0f2ea2757f71ead94610010cf570ab5c98e99ed/websockets-15.0.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:592f1a9fe869c778694f0aa806ba0374e97648ab57936f092fd9d87f8bc03665", size = 173096, upload-time = "2025-03-05T20:02:18.832Z" }, + { url = "https://files.pythonhosted.org/packages/3d/69/1a681dd6f02180916f116894181eab8b2e25b31e484c5d0eae637ec01f7c/websockets-15.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0701bc3cfcb9164d04a14b149fd74be7347a530ad3bbf15ab2c678a2cd3dd9a2", size = 173332, upload-time = "2025-03-05T20:02:20.187Z" }, + { url = "https://files.pythonhosted.org/packages/a6/02/0073b3952f5bce97eafbb35757f8d0d54812b6174ed8dd952aa08429bcc3/websockets-15.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8b56bdcdb4505c8078cb6c7157d9811a85790f2f2b3632c7d1462ab5783d215", size = 183152, upload-time = "2025-03-05T20:02:22.286Z" }, + { url = "https://files.pythonhosted.org/packages/74/45/c205c8480eafd114b428284840da0b1be9ffd0e4f87338dc95dc6ff961a1/websockets-15.0.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0af68c55afbd5f07986df82831c7bff04846928ea8d1fd7f30052638788bc9b5", size = 182096, upload-time = "2025-03-05T20:02:24.368Z" }, + { url = "https://files.pythonhosted.org/packages/14/8f/aa61f528fba38578ec553c145857a181384c72b98156f858ca5c8e82d9d3/websockets-15.0.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64dee438fed052b52e4f98f76c5790513235efaa1ef7f3f2192c392cd7c91b65", size = 182523, upload-time = "2025-03-05T20:02:25.669Z" }, + { url = "https://files.pythonhosted.org/packages/ec/6d/0267396610add5bc0d0d3e77f546d4cd287200804fe02323797de77dbce9/websockets-15.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d5f6b181bb38171a8ad1d6aa58a67a6aa9d4b38d0f8c5f496b9e42561dfc62fe", size = 182790, upload-time = "2025-03-05T20:02:26.99Z" }, + { url = "https://files.pythonhosted.org/packages/02/05/c68c5adbf679cf610ae2f74a9b871ae84564462955d991178f95a1ddb7dd/websockets-15.0.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:5d54b09eba2bada6011aea5375542a157637b91029687eb4fdb2dab11059c1b4", size = 182165, upload-time = "2025-03-05T20:02:30.291Z" }, + { url = "https://files.pythonhosted.org/packages/29/93/bb672df7b2f5faac89761cb5fa34f5cec45a4026c383a4b5761c6cea5c16/websockets-15.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3be571a8b5afed347da347bfcf27ba12b069d9d7f42cb8c7028b5e98bbb12597", size = 182160, upload-time = "2025-03-05T20:02:31.634Z" }, + { url = "https://files.pythonhosted.org/packages/ff/83/de1f7709376dc3ca9b7eeb4b9a07b4526b14876b6d372a4dc62312bebee0/websockets-15.0.1-cp312-cp312-win32.whl", hash = "sha256:c338ffa0520bdb12fbc527265235639fb76e7bc7faafbb93f6ba80d9c06578a9", size = 176395, upload-time = "2025-03-05T20:02:33.017Z" }, + { url = "https://files.pythonhosted.org/packages/7d/71/abf2ebc3bbfa40f391ce1428c7168fb20582d0ff57019b69ea20fa698043/websockets-15.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:fcd5cf9e305d7b8338754470cf69cf81f420459dbae8a3b40cee57417f4614a7", size = 176841, upload-time = "2025-03-05T20:02:34.498Z" }, + { url = "https://files.pythonhosted.org/packages/cb/9f/51f0cf64471a9d2b4d0fc6c534f323b664e7095640c34562f5182e5a7195/websockets-15.0.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ee443ef070bb3b6ed74514f5efaa37a252af57c90eb33b956d35c8e9c10a1931", size = 175440, upload-time = "2025-03-05T20:02:36.695Z" }, + { url = "https://files.pythonhosted.org/packages/8a/05/aa116ec9943c718905997412c5989f7ed671bc0188ee2ba89520e8765d7b/websockets-15.0.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5a939de6b7b4e18ca683218320fc67ea886038265fd1ed30173f5ce3f8e85675", size = 173098, upload-time = "2025-03-05T20:02:37.985Z" }, + { url = "https://files.pythonhosted.org/packages/ff/0b/33cef55ff24f2d92924923c99926dcce78e7bd922d649467f0eda8368923/websockets-15.0.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:746ee8dba912cd6fc889a8147168991d50ed70447bf18bcda7039f7d2e3d9151", size = 173329, upload-time = "2025-03-05T20:02:39.298Z" }, + { url = "https://files.pythonhosted.org/packages/31/1d/063b25dcc01faa8fada1469bdf769de3768b7044eac9d41f734fd7b6ad6d/websockets-15.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:595b6c3969023ecf9041b2936ac3827e4623bfa3ccf007575f04c5a6aa318c22", size = 183111, upload-time = "2025-03-05T20:02:40.595Z" }, + { url = "https://files.pythonhosted.org/packages/93/53/9a87ee494a51bf63e4ec9241c1ccc4f7c2f45fff85d5bde2ff74fcb68b9e/websockets-15.0.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c714d2fc58b5ca3e285461a4cc0c9a66bd0e24c5da9911e30158286c9b5be7f", size = 182054, upload-time = "2025-03-05T20:02:41.926Z" }, + { url = "https://files.pythonhosted.org/packages/ff/b2/83a6ddf56cdcbad4e3d841fcc55d6ba7d19aeb89c50f24dd7e859ec0805f/websockets-15.0.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f3c1e2ab208db911594ae5b4f79addeb3501604a165019dd221c0bdcabe4db8", size = 182496, upload-time = "2025-03-05T20:02:43.304Z" }, + { url = "https://files.pythonhosted.org/packages/98/41/e7038944ed0abf34c45aa4635ba28136f06052e08fc2168520bb8b25149f/websockets-15.0.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:229cf1d3ca6c1804400b0a9790dc66528e08a6a1feec0d5040e8b9eb14422375", size = 182829, upload-time = "2025-03-05T20:02:48.812Z" }, + { url = "https://files.pythonhosted.org/packages/e0/17/de15b6158680c7623c6ef0db361da965ab25d813ae54fcfeae2e5b9ef910/websockets-15.0.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:756c56e867a90fb00177d530dca4b097dd753cde348448a1012ed6c5131f8b7d", size = 182217, upload-time = "2025-03-05T20:02:50.14Z" }, + { url = "https://files.pythonhosted.org/packages/33/2b/1f168cb6041853eef0362fb9554c3824367c5560cbdaad89ac40f8c2edfc/websockets-15.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:558d023b3df0bffe50a04e710bc87742de35060580a293c2a984299ed83bc4e4", size = 182195, upload-time = "2025-03-05T20:02:51.561Z" }, + { url = "https://files.pythonhosted.org/packages/86/eb/20b6cdf273913d0ad05a6a14aed4b9a85591c18a987a3d47f20fa13dcc47/websockets-15.0.1-cp313-cp313-win32.whl", hash = "sha256:ba9e56e8ceeeedb2e080147ba85ffcd5cd0711b89576b83784d8605a7df455fa", size = 176393, upload-time = "2025-03-05T20:02:53.814Z" }, + { url = "https://files.pythonhosted.org/packages/1b/6c/c65773d6cab416a64d191d6ee8a8b1c68a09970ea6909d16965d26bfed1e/websockets-15.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:e09473f095a819042ecb2ab9465aee615bd9c2028e4ef7d933600a8401c79561", size = 176837, upload-time = "2025-03-05T20:02:55.237Z" }, + { url = "https://files.pythonhosted.org/packages/36/db/3fff0bcbe339a6fa6a3b9e3fbc2bfb321ec2f4cd233692272c5a8d6cf801/websockets-15.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5f4c04ead5aed67c8a1a20491d54cdfba5884507a48dd798ecaf13c74c4489f5", size = 175424, upload-time = "2025-03-05T20:02:56.505Z" }, + { url = "https://files.pythonhosted.org/packages/46/e6/519054c2f477def4165b0ec060ad664ed174e140b0d1cbb9fafa4a54f6db/websockets-15.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:abdc0c6c8c648b4805c5eacd131910d2a7f6455dfd3becab248ef108e89ab16a", size = 173077, upload-time = "2025-03-05T20:02:58.37Z" }, + { url = "https://files.pythonhosted.org/packages/1a/21/c0712e382df64c93a0d16449ecbf87b647163485ca1cc3f6cbadb36d2b03/websockets-15.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a625e06551975f4b7ea7102bc43895b90742746797e2e14b70ed61c43a90f09b", size = 173324, upload-time = "2025-03-05T20:02:59.773Z" }, + { url = "https://files.pythonhosted.org/packages/1c/cb/51ba82e59b3a664df54beed8ad95517c1b4dc1a913730e7a7db778f21291/websockets-15.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d591f8de75824cbb7acad4e05d2d710484f15f29d4a915092675ad3456f11770", size = 182094, upload-time = "2025-03-05T20:03:01.827Z" }, + { url = "https://files.pythonhosted.org/packages/fb/0f/bf3788c03fec679bcdaef787518dbe60d12fe5615a544a6d4cf82f045193/websockets-15.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:47819cea040f31d670cc8d324bb6435c6f133b8c7a19ec3d61634e62f8d8f9eb", size = 181094, upload-time = "2025-03-05T20:03:03.123Z" }, + { url = "https://files.pythonhosted.org/packages/5e/da/9fb8c21edbc719b66763a571afbaf206cb6d3736d28255a46fc2fe20f902/websockets-15.0.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac017dd64572e5c3bd01939121e4d16cf30e5d7e110a119399cf3133b63ad054", size = 181397, upload-time = "2025-03-05T20:03:04.443Z" }, + { url = "https://files.pythonhosted.org/packages/2e/65/65f379525a2719e91d9d90c38fe8b8bc62bd3c702ac651b7278609b696c4/websockets-15.0.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4a9fac8e469d04ce6c25bb2610dc535235bd4aa14996b4e6dbebf5e007eba5ee", size = 181794, upload-time = "2025-03-05T20:03:06.708Z" }, + { url = "https://files.pythonhosted.org/packages/d9/26/31ac2d08f8e9304d81a1a7ed2851c0300f636019a57cbaa91342015c72cc/websockets-15.0.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363c6f671b761efcb30608d24925a382497c12c506b51661883c3e22337265ed", size = 181194, upload-time = "2025-03-05T20:03:08.844Z" }, + { url = "https://files.pythonhosted.org/packages/98/72/1090de20d6c91994cd4b357c3f75a4f25ee231b63e03adea89671cc12a3f/websockets-15.0.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2034693ad3097d5355bfdacfffcbd3ef5694f9718ab7f29c29689a9eae841880", size = 181164, upload-time = "2025-03-05T20:03:10.242Z" }, + { url = "https://files.pythonhosted.org/packages/2d/37/098f2e1c103ae8ed79b0e77f08d83b0ec0b241cf4b7f2f10edd0126472e1/websockets-15.0.1-cp39-cp39-win32.whl", hash = "sha256:3b1ac0d3e594bf121308112697cf4b32be538fb1444468fb0a6ae4feebc83411", size = 176381, upload-time = "2025-03-05T20:03:12.77Z" }, + { url = "https://files.pythonhosted.org/packages/75/8b/a32978a3ab42cebb2ebdd5b05df0696a09f4d436ce69def11893afa301f0/websockets-15.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:b7643a03db5c95c799b89b31c036d5f27eeb4d259c798e878d6937d71832b1e4", size = 176841, upload-time = "2025-03-05T20:03:14.367Z" }, + { url = "https://files.pythonhosted.org/packages/02/9e/d40f779fa16f74d3468357197af8d6ad07e7c5a27ea1ca74ceb38986f77a/websockets-15.0.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0c9e74d766f2818bb95f84c25be4dea09841ac0f734d1966f415e4edfc4ef1c3", size = 173109, upload-time = "2025-03-05T20:03:17.769Z" }, + { url = "https://files.pythonhosted.org/packages/bc/cd/5b887b8585a593073fd92f7c23ecd3985cd2c3175025a91b0d69b0551372/websockets-15.0.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1009ee0c7739c08a0cd59de430d6de452a55e42d6b522de7aa15e6f67db0b8e1", size = 173343, upload-time = "2025-03-05T20:03:19.094Z" }, + { url = "https://files.pythonhosted.org/packages/fe/ae/d34f7556890341e900a95acf4886833646306269f899d58ad62f588bf410/websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76d1f20b1c7a2fa82367e04982e708723ba0e7b8d43aa643d3dcd404d74f1475", size = 174599, upload-time = "2025-03-05T20:03:21.1Z" }, + { url = "https://files.pythonhosted.org/packages/71/e6/5fd43993a87db364ec60fc1d608273a1a465c0caba69176dd160e197ce42/websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f29d80eb9a9263b8d109135351caf568cc3f80b9928bccde535c235de55c22d9", size = 174207, upload-time = "2025-03-05T20:03:23.221Z" }, + { url = "https://files.pythonhosted.org/packages/2b/fb/c492d6daa5ec067c2988ac80c61359ace5c4c674c532985ac5a123436cec/websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b359ed09954d7c18bbc1680f380c7301f92c60bf924171629c5db97febb12f04", size = 174155, upload-time = "2025-03-05T20:03:25.321Z" }, + { url = "https://files.pythonhosted.org/packages/68/a1/dcb68430b1d00b698ae7a7e0194433bce4f07ded185f0ee5fb21e2a2e91e/websockets-15.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:cad21560da69f4ce7658ca2cb83138fb4cf695a2ba3e475e0559e05991aa8122", size = 176884, upload-time = "2025-03-05T20:03:27.934Z" }, + { url = "https://files.pythonhosted.org/packages/b7/48/4b67623bac4d79beb3a6bb27b803ba75c1bdedc06bd827e465803690a4b2/websockets-15.0.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7f493881579c90fc262d9cdbaa05a6b54b3811c2f300766748db79f098db9940", size = 173106, upload-time = "2025-03-05T20:03:29.404Z" }, + { url = "https://files.pythonhosted.org/packages/ed/f0/adb07514a49fe5728192764e04295be78859e4a537ab8fcc518a3dbb3281/websockets-15.0.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:47b099e1f4fbc95b701b6e85768e1fcdaf1630f3cbe4765fa216596f12310e2e", size = 173339, upload-time = "2025-03-05T20:03:30.755Z" }, + { url = "https://files.pythonhosted.org/packages/87/28/bd23c6344b18fb43df40d0700f6d3fffcd7cef14a6995b4f976978b52e62/websockets-15.0.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:67f2b6de947f8c757db2db9c71527933ad0019737ec374a8a6be9a956786aaf9", size = 174597, upload-time = "2025-03-05T20:03:32.247Z" }, + { url = "https://files.pythonhosted.org/packages/6d/79/ca288495863d0f23a60f546f0905ae8f3ed467ad87f8b6aceb65f4c013e4/websockets-15.0.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d08eb4c2b7d6c41da6ca0600c077e93f5adcfd979cd777d747e9ee624556da4b", size = 174205, upload-time = "2025-03-05T20:03:33.731Z" }, + { url = "https://files.pythonhosted.org/packages/04/e4/120ff3180b0872b1fe6637f6f995bcb009fb5c87d597c1fc21456f50c848/websockets-15.0.1-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b826973a4a2ae47ba357e4e82fa44a463b8f168e1ca775ac64521442b19e87f", size = 174150, upload-time = "2025-03-05T20:03:35.757Z" }, + { url = "https://files.pythonhosted.org/packages/cb/c3/30e2f9c539b8da8b1d76f64012f3b19253271a63413b2d3adb94b143407f/websockets-15.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:21c1fa28a6a7e3cbdc171c694398b6df4744613ce9b36b1a498e816787e28123", size = 176877, upload-time = "2025-03-05T20:03:37.199Z" }, + { url = "https://files.pythonhosted.org/packages/fa/a8/5b41e0da817d64113292ab1f8247140aac61cbf6cfd085d6a0fa77f4984f/websockets-15.0.1-py3-none-any.whl", hash = "sha256:f7a866fbc1e97b5c617ee4116daaa09b722101d4a3c170c787450ba409f9736f", size = 169743, upload-time = "2025-03-05T20:03:39.41Z" }, +] + +[[package]] +name = "wrapt" +version = "1.17.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/95/8f/aeb76c5b46e273670962298c23e7ddde79916cb74db802131d49a85e4b7d/wrapt-1.17.3.tar.gz", hash = "sha256:f66eb08feaa410fe4eebd17f2a2c8e2e46d3476e9f8c783daa8e09e0faa666d0", size = 55547, upload-time = "2025-08-12T05:53:21.714Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3f/23/bb82321b86411eb51e5a5db3fb8f8032fd30bd7c2d74bfe936136b2fa1d6/wrapt-1.17.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88bbae4d40d5a46142e70d58bf664a89b6b4befaea7b2ecc14e03cedb8e06c04", size = 53482, upload-time = "2025-08-12T05:51:44.467Z" }, + { url = "https://files.pythonhosted.org/packages/45/69/f3c47642b79485a30a59c63f6d739ed779fb4cc8323205d047d741d55220/wrapt-1.17.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e6b13af258d6a9ad602d57d889f83b9d5543acd471eee12eb51f5b01f8eb1bc2", size = 38676, upload-time = "2025-08-12T05:51:32.636Z" }, + { url = "https://files.pythonhosted.org/packages/d1/71/e7e7f5670c1eafd9e990438e69d8fb46fa91a50785332e06b560c869454f/wrapt-1.17.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd341868a4b6714a5962c1af0bd44f7c404ef78720c7de4892901e540417111c", size = 38957, upload-time = "2025-08-12T05:51:54.655Z" }, + { url = "https://files.pythonhosted.org/packages/de/17/9f8f86755c191d6779d7ddead1a53c7a8aa18bccb7cea8e7e72dfa6a8a09/wrapt-1.17.3-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f9b2601381be482f70e5d1051a5965c25fb3625455a2bf520b5a077b22afb775", size = 81975, upload-time = "2025-08-12T05:52:30.109Z" }, + { url = "https://files.pythonhosted.org/packages/f2/15/dd576273491f9f43dd09fce517f6c2ce6eb4fe21681726068db0d0467096/wrapt-1.17.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:343e44b2a8e60e06a7e0d29c1671a0d9951f59174f3709962b5143f60a2a98bd", size = 83149, upload-time = "2025-08-12T05:52:09.316Z" }, + { url = "https://files.pythonhosted.org/packages/0c/c4/5eb4ce0d4814521fee7aa806264bf7a114e748ad05110441cd5b8a5c744b/wrapt-1.17.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:33486899acd2d7d3066156b03465b949da3fd41a5da6e394ec49d271baefcf05", size = 82209, upload-time = "2025-08-12T05:52:10.331Z" }, + { url = "https://files.pythonhosted.org/packages/31/4b/819e9e0eb5c8dc86f60dfc42aa4e2c0d6c3db8732bce93cc752e604bb5f5/wrapt-1.17.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e6f40a8aa5a92f150bdb3e1c44b7e98fb7113955b2e5394122fa5532fec4b418", size = 81551, upload-time = "2025-08-12T05:52:31.137Z" }, + { url = "https://files.pythonhosted.org/packages/f8/83/ed6baf89ba3a56694700139698cf703aac9f0f9eb03dab92f57551bd5385/wrapt-1.17.3-cp310-cp310-win32.whl", hash = "sha256:a36692b8491d30a8c75f1dfee65bef119d6f39ea84ee04d9f9311f83c5ad9390", size = 36464, upload-time = "2025-08-12T05:53:01.204Z" }, + { url = "https://files.pythonhosted.org/packages/2f/90/ee61d36862340ad7e9d15a02529df6b948676b9a5829fd5e16640156627d/wrapt-1.17.3-cp310-cp310-win_amd64.whl", hash = "sha256:afd964fd43b10c12213574db492cb8f73b2f0826c8df07a68288f8f19af2ebe6", size = 38748, upload-time = "2025-08-12T05:53:00.209Z" }, + { url = "https://files.pythonhosted.org/packages/bd/c3/cefe0bd330d389c9983ced15d326f45373f4073c9f4a8c2f99b50bfea329/wrapt-1.17.3-cp310-cp310-win_arm64.whl", hash = "sha256:af338aa93554be859173c39c85243970dc6a289fa907402289eeae7543e1ae18", size = 36810, upload-time = "2025-08-12T05:52:51.906Z" }, + { url = "https://files.pythonhosted.org/packages/52/db/00e2a219213856074a213503fdac0511203dceefff26e1daa15250cc01a0/wrapt-1.17.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:273a736c4645e63ac582c60a56b0acb529ef07f78e08dc6bfadf6a46b19c0da7", size = 53482, upload-time = "2025-08-12T05:51:45.79Z" }, + { url = "https://files.pythonhosted.org/packages/5e/30/ca3c4a5eba478408572096fe9ce36e6e915994dd26a4e9e98b4f729c06d9/wrapt-1.17.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5531d911795e3f935a9c23eb1c8c03c211661a5060aab167065896bbf62a5f85", size = 38674, upload-time = "2025-08-12T05:51:34.629Z" }, + { url = "https://files.pythonhosted.org/packages/31/25/3e8cc2c46b5329c5957cec959cb76a10718e1a513309c31399a4dad07eb3/wrapt-1.17.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0610b46293c59a3adbae3dee552b648b984176f8562ee0dba099a56cfbe4df1f", size = 38959, upload-time = "2025-08-12T05:51:56.074Z" }, + { url = "https://files.pythonhosted.org/packages/5d/8f/a32a99fc03e4b37e31b57cb9cefc65050ea08147a8ce12f288616b05ef54/wrapt-1.17.3-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b32888aad8b6e68f83a8fdccbf3165f5469702a7544472bdf41f582970ed3311", size = 82376, upload-time = "2025-08-12T05:52:32.134Z" }, + { url = "https://files.pythonhosted.org/packages/31/57/4930cb8d9d70d59c27ee1332a318c20291749b4fba31f113c2f8ac49a72e/wrapt-1.17.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8cccf4f81371f257440c88faed6b74f1053eef90807b77e31ca057b2db74edb1", size = 83604, upload-time = "2025-08-12T05:52:11.663Z" }, + { url = "https://files.pythonhosted.org/packages/a8/f3/1afd48de81d63dd66e01b263a6fbb86e1b5053b419b9b33d13e1f6d0f7d0/wrapt-1.17.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8a210b158a34164de8bb68b0e7780041a903d7b00c87e906fb69928bf7890d5", size = 82782, upload-time = "2025-08-12T05:52:12.626Z" }, + { url = "https://files.pythonhosted.org/packages/1e/d7/4ad5327612173b144998232f98a85bb24b60c352afb73bc48e3e0d2bdc4e/wrapt-1.17.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:79573c24a46ce11aab457b472efd8d125e5a51da2d1d24387666cd85f54c05b2", size = 82076, upload-time = "2025-08-12T05:52:33.168Z" }, + { url = "https://files.pythonhosted.org/packages/bb/59/e0adfc831674a65694f18ea6dc821f9fcb9ec82c2ce7e3d73a88ba2e8718/wrapt-1.17.3-cp311-cp311-win32.whl", hash = "sha256:c31eebe420a9a5d2887b13000b043ff6ca27c452a9a22fa71f35f118e8d4bf89", size = 36457, upload-time = "2025-08-12T05:53:03.936Z" }, + { url = "https://files.pythonhosted.org/packages/83/88/16b7231ba49861b6f75fc309b11012ede4d6b0a9c90969d9e0db8d991aeb/wrapt-1.17.3-cp311-cp311-win_amd64.whl", hash = "sha256:0b1831115c97f0663cb77aa27d381237e73ad4f721391a9bfb2fe8bc25fa6e77", size = 38745, upload-time = "2025-08-12T05:53:02.885Z" }, + { url = "https://files.pythonhosted.org/packages/9a/1e/c4d4f3398ec073012c51d1c8d87f715f56765444e1a4b11e5180577b7e6e/wrapt-1.17.3-cp311-cp311-win_arm64.whl", hash = "sha256:5a7b3c1ee8265eb4c8f1b7d29943f195c00673f5ab60c192eba2d4a7eae5f46a", size = 36806, upload-time = "2025-08-12T05:52:53.368Z" }, + { url = "https://files.pythonhosted.org/packages/9f/41/cad1aba93e752f1f9268c77270da3c469883d56e2798e7df6240dcb2287b/wrapt-1.17.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ab232e7fdb44cdfbf55fc3afa31bcdb0d8980b9b95c38b6405df2acb672af0e0", size = 53998, upload-time = "2025-08-12T05:51:47.138Z" }, + { url = "https://files.pythonhosted.org/packages/60/f8/096a7cc13097a1869fe44efe68dace40d2a16ecb853141394047f0780b96/wrapt-1.17.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:9baa544e6acc91130e926e8c802a17f3b16fbea0fd441b5a60f5cf2cc5c3deba", size = 39020, upload-time = "2025-08-12T05:51:35.906Z" }, + { url = "https://files.pythonhosted.org/packages/33/df/bdf864b8997aab4febb96a9ae5c124f700a5abd9b5e13d2a3214ec4be705/wrapt-1.17.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6b538e31eca1a7ea4605e44f81a48aa24c4632a277431a6ed3f328835901f4fd", size = 39098, upload-time = "2025-08-12T05:51:57.474Z" }, + { url = "https://files.pythonhosted.org/packages/9f/81/5d931d78d0eb732b95dc3ddaeeb71c8bb572fb01356e9133916cd729ecdd/wrapt-1.17.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:042ec3bb8f319c147b1301f2393bc19dba6e176b7da446853406d041c36c7828", size = 88036, upload-time = "2025-08-12T05:52:34.784Z" }, + { url = "https://files.pythonhosted.org/packages/ca/38/2e1785df03b3d72d34fc6252d91d9d12dc27a5c89caef3335a1bbb8908ca/wrapt-1.17.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3af60380ba0b7b5aeb329bc4e402acd25bd877e98b3727b0135cb5c2efdaefe9", size = 88156, upload-time = "2025-08-12T05:52:13.599Z" }, + { url = "https://files.pythonhosted.org/packages/b3/8b/48cdb60fe0603e34e05cffda0b2a4adab81fd43718e11111a4b0100fd7c1/wrapt-1.17.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0b02e424deef65c9f7326d8c19220a2c9040c51dc165cddb732f16198c168396", size = 87102, upload-time = "2025-08-12T05:52:14.56Z" }, + { url = "https://files.pythonhosted.org/packages/3c/51/d81abca783b58f40a154f1b2c56db1d2d9e0d04fa2d4224e357529f57a57/wrapt-1.17.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:74afa28374a3c3a11b3b5e5fca0ae03bef8450d6aa3ab3a1e2c30e3a75d023dc", size = 87732, upload-time = "2025-08-12T05:52:36.165Z" }, + { url = "https://files.pythonhosted.org/packages/9e/b1/43b286ca1392a006d5336412d41663eeef1ad57485f3e52c767376ba7e5a/wrapt-1.17.3-cp312-cp312-win32.whl", hash = "sha256:4da9f45279fff3543c371d5ababc57a0384f70be244de7759c85a7f989cb4ebe", size = 36705, upload-time = "2025-08-12T05:53:07.123Z" }, + { url = "https://files.pythonhosted.org/packages/28/de/49493f962bd3c586ab4b88066e967aa2e0703d6ef2c43aa28cb83bf7b507/wrapt-1.17.3-cp312-cp312-win_amd64.whl", hash = "sha256:e71d5c6ebac14875668a1e90baf2ea0ef5b7ac7918355850c0908ae82bcb297c", size = 38877, upload-time = "2025-08-12T05:53:05.436Z" }, + { url = "https://files.pythonhosted.org/packages/f1/48/0f7102fe9cb1e8a5a77f80d4f0956d62d97034bbe88d33e94699f99d181d/wrapt-1.17.3-cp312-cp312-win_arm64.whl", hash = "sha256:604d076c55e2fdd4c1c03d06dc1a31b95130010517b5019db15365ec4a405fc6", size = 36885, upload-time = "2025-08-12T05:52:54.367Z" }, + { url = "https://files.pythonhosted.org/packages/fc/f6/759ece88472157acb55fc195e5b116e06730f1b651b5b314c66291729193/wrapt-1.17.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a47681378a0439215912ef542c45a783484d4dd82bac412b71e59cf9c0e1cea0", size = 54003, upload-time = "2025-08-12T05:51:48.627Z" }, + { url = "https://files.pythonhosted.org/packages/4f/a9/49940b9dc6d47027dc850c116d79b4155f15c08547d04db0f07121499347/wrapt-1.17.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:54a30837587c6ee3cd1a4d1c2ec5d24e77984d44e2f34547e2323ddb4e22eb77", size = 39025, upload-time = "2025-08-12T05:51:37.156Z" }, + { url = "https://files.pythonhosted.org/packages/45/35/6a08de0f2c96dcdd7fe464d7420ddb9a7655a6561150e5fc4da9356aeaab/wrapt-1.17.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:16ecf15d6af39246fe33e507105d67e4b81d8f8d2c6598ff7e3ca1b8a37213f7", size = 39108, upload-time = "2025-08-12T05:51:58.425Z" }, + { url = "https://files.pythonhosted.org/packages/0c/37/6faf15cfa41bf1f3dba80cd3f5ccc6622dfccb660ab26ed79f0178c7497f/wrapt-1.17.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:6fd1ad24dc235e4ab88cda009e19bf347aabb975e44fd5c2fb22a3f6e4141277", size = 88072, upload-time = "2025-08-12T05:52:37.53Z" }, + { url = "https://files.pythonhosted.org/packages/78/f2/efe19ada4a38e4e15b6dff39c3e3f3f73f5decf901f66e6f72fe79623a06/wrapt-1.17.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ed61b7c2d49cee3c027372df5809a59d60cf1b6c2f81ee980a091f3afed6a2d", size = 88214, upload-time = "2025-08-12T05:52:15.886Z" }, + { url = "https://files.pythonhosted.org/packages/40/90/ca86701e9de1622b16e09689fc24b76f69b06bb0150990f6f4e8b0eeb576/wrapt-1.17.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:423ed5420ad5f5529db9ce89eac09c8a2f97da18eb1c870237e84c5a5c2d60aa", size = 87105, upload-time = "2025-08-12T05:52:17.914Z" }, + { url = "https://files.pythonhosted.org/packages/fd/e0/d10bd257c9a3e15cbf5523025252cc14d77468e8ed644aafb2d6f54cb95d/wrapt-1.17.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e01375f275f010fcbf7f643b4279896d04e571889b8a5b3f848423d91bf07050", size = 87766, upload-time = "2025-08-12T05:52:39.243Z" }, + { url = "https://files.pythonhosted.org/packages/e8/cf/7d848740203c7b4b27eb55dbfede11aca974a51c3d894f6cc4b865f42f58/wrapt-1.17.3-cp313-cp313-win32.whl", hash = "sha256:53e5e39ff71b3fc484df8a522c933ea2b7cdd0d5d15ae82e5b23fde87d44cbd8", size = 36711, upload-time = "2025-08-12T05:53:10.074Z" }, + { url = "https://files.pythonhosted.org/packages/57/54/35a84d0a4d23ea675994104e667ceff49227ce473ba6a59ba2c84f250b74/wrapt-1.17.3-cp313-cp313-win_amd64.whl", hash = "sha256:1f0b2f40cf341ee8cc1a97d51ff50dddb9fcc73241b9143ec74b30fc4f44f6cb", size = 38885, upload-time = "2025-08-12T05:53:08.695Z" }, + { url = "https://files.pythonhosted.org/packages/01/77/66e54407c59d7b02a3c4e0af3783168fff8e5d61def52cda8728439d86bc/wrapt-1.17.3-cp313-cp313-win_arm64.whl", hash = "sha256:7425ac3c54430f5fc5e7b6f41d41e704db073309acfc09305816bc6a0b26bb16", size = 36896, upload-time = "2025-08-12T05:52:55.34Z" }, + { url = "https://files.pythonhosted.org/packages/02/a2/cd864b2a14f20d14f4c496fab97802001560f9f41554eef6df201cd7f76c/wrapt-1.17.3-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:cf30f6e3c077c8e6a9a7809c94551203c8843e74ba0c960f4a98cd80d4665d39", size = 54132, upload-time = "2025-08-12T05:51:49.864Z" }, + { url = "https://files.pythonhosted.org/packages/d5/46/d011725b0c89e853dc44cceb738a307cde5d240d023d6d40a82d1b4e1182/wrapt-1.17.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:e228514a06843cae89621384cfe3a80418f3c04aadf8a3b14e46a7be704e4235", size = 39091, upload-time = "2025-08-12T05:51:38.935Z" }, + { url = "https://files.pythonhosted.org/packages/2e/9e/3ad852d77c35aae7ddebdbc3b6d35ec8013af7d7dddad0ad911f3d891dae/wrapt-1.17.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:5ea5eb3c0c071862997d6f3e02af1d055f381b1d25b286b9d6644b79db77657c", size = 39172, upload-time = "2025-08-12T05:51:59.365Z" }, + { url = "https://files.pythonhosted.org/packages/c3/f7/c983d2762bcce2326c317c26a6a1e7016f7eb039c27cdf5c4e30f4160f31/wrapt-1.17.3-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:281262213373b6d5e4bb4353bc36d1ba4084e6d6b5d242863721ef2bf2c2930b", size = 87163, upload-time = "2025-08-12T05:52:40.965Z" }, + { url = "https://files.pythonhosted.org/packages/e4/0f/f673f75d489c7f22d17fe0193e84b41540d962f75fce579cf6873167c29b/wrapt-1.17.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dc4a8d2b25efb6681ecacad42fca8859f88092d8732b170de6a5dddd80a1c8fa", size = 87963, upload-time = "2025-08-12T05:52:20.326Z" }, + { url = "https://files.pythonhosted.org/packages/df/61/515ad6caca68995da2fac7a6af97faab8f78ebe3bf4f761e1b77efbc47b5/wrapt-1.17.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:373342dd05b1d07d752cecbec0c41817231f29f3a89aa8b8843f7b95992ed0c7", size = 86945, upload-time = "2025-08-12T05:52:21.581Z" }, + { url = "https://files.pythonhosted.org/packages/d3/bd/4e70162ce398462a467bc09e768bee112f1412e563620adc353de9055d33/wrapt-1.17.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d40770d7c0fd5cbed9d84b2c3f2e156431a12c9a37dc6284060fb4bec0b7ffd4", size = 86857, upload-time = "2025-08-12T05:52:43.043Z" }, + { url = "https://files.pythonhosted.org/packages/2b/b8/da8560695e9284810b8d3df8a19396a6e40e7518059584a1a394a2b35e0a/wrapt-1.17.3-cp314-cp314-win32.whl", hash = "sha256:fbd3c8319de8e1dc79d346929cd71d523622da527cca14e0c1d257e31c2b8b10", size = 37178, upload-time = "2025-08-12T05:53:12.605Z" }, + { url = "https://files.pythonhosted.org/packages/db/c8/b71eeb192c440d67a5a0449aaee2310a1a1e8eca41676046f99ed2487e9f/wrapt-1.17.3-cp314-cp314-win_amd64.whl", hash = "sha256:e1a4120ae5705f673727d3253de3ed0e016f7cd78dc463db1b31e2463e1f3cf6", size = 39310, upload-time = "2025-08-12T05:53:11.106Z" }, + { url = "https://files.pythonhosted.org/packages/45/20/2cda20fd4865fa40f86f6c46ed37a2a8356a7a2fde0773269311f2af56c7/wrapt-1.17.3-cp314-cp314-win_arm64.whl", hash = "sha256:507553480670cab08a800b9463bdb881b2edeed77dc677b0a5915e6106e91a58", size = 37266, upload-time = "2025-08-12T05:52:56.531Z" }, + { url = "https://files.pythonhosted.org/packages/77/ed/dd5cf21aec36c80443c6f900449260b80e2a65cf963668eaef3b9accce36/wrapt-1.17.3-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:ed7c635ae45cfbc1a7371f708727bf74690daedc49b4dba310590ca0bd28aa8a", size = 56544, upload-time = "2025-08-12T05:51:51.109Z" }, + { url = "https://files.pythonhosted.org/packages/8d/96/450c651cc753877ad100c7949ab4d2e2ecc4d97157e00fa8f45df682456a/wrapt-1.17.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:249f88ed15503f6492a71f01442abddd73856a0032ae860de6d75ca62eed8067", size = 40283, upload-time = "2025-08-12T05:51:39.912Z" }, + { url = "https://files.pythonhosted.org/packages/d1/86/2fcad95994d9b572db57632acb6f900695a648c3e063f2cd344b3f5c5a37/wrapt-1.17.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5a03a38adec8066d5a37bea22f2ba6bbf39fcdefbe2d91419ab864c3fb515454", size = 40366, upload-time = "2025-08-12T05:52:00.693Z" }, + { url = "https://files.pythonhosted.org/packages/64/0e/f4472f2fdde2d4617975144311f8800ef73677a159be7fe61fa50997d6c0/wrapt-1.17.3-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:5d4478d72eb61c36e5b446e375bbc49ed002430d17cdec3cecb36993398e1a9e", size = 108571, upload-time = "2025-08-12T05:52:44.521Z" }, + { url = "https://files.pythonhosted.org/packages/cc/01/9b85a99996b0a97c8a17484684f206cbb6ba73c1ce6890ac668bcf3838fb/wrapt-1.17.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:223db574bb38637e8230eb14b185565023ab624474df94d2af18f1cdb625216f", size = 113094, upload-time = "2025-08-12T05:52:22.618Z" }, + { url = "https://files.pythonhosted.org/packages/25/02/78926c1efddcc7b3aa0bc3d6b33a822f7d898059f7cd9ace8c8318e559ef/wrapt-1.17.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e405adefb53a435f01efa7ccdec012c016b5a1d3f35459990afc39b6be4d5056", size = 110659, upload-time = "2025-08-12T05:52:24.057Z" }, + { url = "https://files.pythonhosted.org/packages/dc/ee/c414501ad518ac3e6fe184753632fe5e5ecacdcf0effc23f31c1e4f7bfcf/wrapt-1.17.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:88547535b787a6c9ce4086917b6e1d291aa8ed914fdd3a838b3539dc95c12804", size = 106946, upload-time = "2025-08-12T05:52:45.976Z" }, + { url = "https://files.pythonhosted.org/packages/be/44/a1bd64b723d13bb151d6cc91b986146a1952385e0392a78567e12149c7b4/wrapt-1.17.3-cp314-cp314t-win32.whl", hash = "sha256:41b1d2bc74c2cac6f9074df52b2efbef2b30bdfe5f40cb78f8ca22963bc62977", size = 38717, upload-time = "2025-08-12T05:53:15.214Z" }, + { url = "https://files.pythonhosted.org/packages/79/d9/7cfd5a312760ac4dd8bf0184a6ee9e43c33e47f3dadc303032ce012b8fa3/wrapt-1.17.3-cp314-cp314t-win_amd64.whl", hash = "sha256:73d496de46cd2cdbdbcce4ae4bcdb4afb6a11234a1df9c085249d55166b95116", size = 41334, upload-time = "2025-08-12T05:53:14.178Z" }, + { url = "https://files.pythonhosted.org/packages/46/78/10ad9781128ed2f99dbc474f43283b13fea8ba58723e98844367531c18e9/wrapt-1.17.3-cp314-cp314t-win_arm64.whl", hash = "sha256:f38e60678850c42461d4202739f9bf1e3a737c7ad283638251e79cc49effb6b6", size = 38471, upload-time = "2025-08-12T05:52:57.784Z" }, + { url = "https://files.pythonhosted.org/packages/41/be/be9b3b0a461ee3e30278706f3f3759b9b69afeedef7fe686036286c04ac6/wrapt-1.17.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:30ce38e66630599e1193798285706903110d4f057aab3168a34b7fdc85569afc", size = 53485, upload-time = "2025-08-12T05:51:53.11Z" }, + { url = "https://files.pythonhosted.org/packages/b3/a8/8f61d6b8f526efc8c10e12bf80b4206099fea78ade70427846a37bc9cbea/wrapt-1.17.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:65d1d00fbfb3ea5f20add88bbc0f815150dbbde3b026e6c24759466c8b5a9ef9", size = 38675, upload-time = "2025-08-12T05:51:42.885Z" }, + { url = "https://files.pythonhosted.org/packages/48/f1/23950c29a25637b74b322f9e425a17cc01a478f6afb35138ecb697f9558d/wrapt-1.17.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a7c06742645f914f26c7f1fa47b8bc4c91d222f76ee20116c43d5ef0912bba2d", size = 38956, upload-time = "2025-08-12T05:52:03.149Z" }, + { url = "https://files.pythonhosted.org/packages/43/46/dd0791943613885f62619f18ee6107e6133237a6b6ed8a9ecfac339d0b4f/wrapt-1.17.3-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:7e18f01b0c3e4a07fe6dfdb00e29049ba17eadbc5e7609a2a3a4af83ab7d710a", size = 81745, upload-time = "2025-08-12T05:52:49.62Z" }, + { url = "https://files.pythonhosted.org/packages/dd/ec/bb2d19bd1a614cc4f438abac13ae26c57186197920432d2a915183b15a8b/wrapt-1.17.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0f5f51a6466667a5a356e6381d362d259125b57f059103dd9fdc8c0cf1d14139", size = 82833, upload-time = "2025-08-12T05:52:27.738Z" }, + { url = "https://files.pythonhosted.org/packages/8d/eb/66579aea6ad36f07617fedca8e282e49c7c9bab64c63b446cfe4f7f47a49/wrapt-1.17.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:59923aa12d0157f6b82d686c3fd8e1166fa8cdfb3e17b42ce3b6147ff81528df", size = 81889, upload-time = "2025-08-12T05:52:29.023Z" }, + { url = "https://files.pythonhosted.org/packages/04/9c/a56b5ac0e2473bdc3fb11b22dd69ff423154d63861cf77911cdde5e38fd2/wrapt-1.17.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:46acc57b331e0b3bcb3e1ca3b421d65637915cfcd65eb783cb2f78a511193f9b", size = 81344, upload-time = "2025-08-12T05:52:50.869Z" }, + { url = "https://files.pythonhosted.org/packages/93/4c/9bd735c42641d81cb58d7bfb142c58f95c833962d15113026705add41a07/wrapt-1.17.3-cp39-cp39-win32.whl", hash = "sha256:3e62d15d3cfa26e3d0788094de7b64efa75f3a53875cdbccdf78547aed547a81", size = 36462, upload-time = "2025-08-12T05:53:19.623Z" }, + { url = "https://files.pythonhosted.org/packages/f0/ea/0b72f29cb5ebc16eb55c57dc0c98e5de76fc97f435fd407f7d409459c0a6/wrapt-1.17.3-cp39-cp39-win_amd64.whl", hash = "sha256:1f23fa283f51c890eda8e34e4937079114c74b4c81d2b2f1f1d94948f5cc3d7f", size = 38740, upload-time = "2025-08-12T05:53:18.271Z" }, + { url = "https://files.pythonhosted.org/packages/c3/8b/9eae65fb92321e38dbfec7719b87d840a4b92fde83fd1bbf238c5488d055/wrapt-1.17.3-cp39-cp39-win_arm64.whl", hash = "sha256:24c2ed34dc222ed754247a2702b1e1e89fdbaa4016f324b4b8f1a802d4ffe87f", size = 36806, upload-time = "2025-08-12T05:52:58.765Z" }, + { url = "https://files.pythonhosted.org/packages/1f/f6/a933bd70f98e9cf3e08167fc5cd7aaaca49147e48411c0bd5ae701bb2194/wrapt-1.17.3-py3-none-any.whl", hash = "sha256:7171ae35d2c33d326ac19dd8facb1e82e5fd04ef8c6c0e394d7af55a55051c22", size = 23591, upload-time = "2025-08-12T05:53:20.674Z" }, +] + +[[package]] +name = "yamllint" +version = "1.37.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pathspec" }, + { name = "pyyaml" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/46/f2/cd8b7584a48ee83f0bc94f8a32fea38734cefcdc6f7324c4d3bfc699457b/yamllint-1.37.1.tar.gz", hash = "sha256:81f7c0c5559becc8049470d86046b36e96113637bcbe4753ecef06977c00245d", size = 141613, upload-time = "2025-05-04T08:25:54.355Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/dd/b9/be7a4cfdf47e03785f657f94daea8123e838d817be76c684298305bd789f/yamllint-1.37.1-py3-none-any.whl", hash = "sha256:364f0d79e81409f591e323725e6a9f4504c8699ddf2d7263d8d2b539cd66a583", size = 68813, upload-time = "2025-05-04T08:25:52.552Z" }, +] + +[[package]] +name = "yarl" +version = "1.20.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "idna" }, + { name = "multidict" }, + { name = "propcache" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3c/fb/efaa23fa4e45537b827620f04cf8f3cd658b76642205162e072703a5b963/yarl-1.20.1.tar.gz", hash = "sha256:d017a4997ee50c91fd5466cef416231bb82177b93b029906cefc542ce14c35ac", size = 186428, upload-time = "2025-06-10T00:46:09.923Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/65/7fed0d774abf47487c64be14e9223749468922817b5e8792b8a64792a1bb/yarl-1.20.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6032e6da6abd41e4acda34d75a816012717000fa6839f37124a47fcefc49bec4", size = 132910, upload-time = "2025-06-10T00:42:31.108Z" }, + { url = "https://files.pythonhosted.org/packages/8a/7b/988f55a52da99df9e56dc733b8e4e5a6ae2090081dc2754fc8fd34e60aa0/yarl-1.20.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2c7b34d804b8cf9b214f05015c4fee2ebe7ed05cf581e7192c06555c71f4446a", size = 90644, upload-time = "2025-06-10T00:42:33.851Z" }, + { url = "https://files.pythonhosted.org/packages/f7/de/30d98f03e95d30c7e3cc093759982d038c8833ec2451001d45ef4854edc1/yarl-1.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0c869f2651cc77465f6cd01d938d91a11d9ea5d798738c1dc077f3de0b5e5fed", size = 89322, upload-time = "2025-06-10T00:42:35.688Z" }, + { url = "https://files.pythonhosted.org/packages/e0/7a/f2f314f5ebfe9200724b0b748de2186b927acb334cf964fd312eb86fc286/yarl-1.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62915e6688eb4d180d93840cda4110995ad50c459bf931b8b3775b37c264af1e", size = 323786, upload-time = "2025-06-10T00:42:37.817Z" }, + { url = "https://files.pythonhosted.org/packages/15/3f/718d26f189db96d993d14b984ce91de52e76309d0fd1d4296f34039856aa/yarl-1.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:41ebd28167bc6af8abb97fec1a399f412eec5fd61a3ccbe2305a18b84fb4ca73", size = 319627, upload-time = "2025-06-10T00:42:39.937Z" }, + { url = "https://files.pythonhosted.org/packages/a5/76/8fcfbf5fa2369157b9898962a4a7d96764b287b085b5b3d9ffae69cdefd1/yarl-1.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:21242b4288a6d56f04ea193adde174b7e347ac46ce6bc84989ff7c1b1ecea84e", size = 339149, upload-time = "2025-06-10T00:42:42.627Z" }, + { url = "https://files.pythonhosted.org/packages/3c/95/d7fc301cc4661785967acc04f54a4a42d5124905e27db27bb578aac49b5c/yarl-1.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bea21cdae6c7eb02ba02a475f37463abfe0a01f5d7200121b03e605d6a0439f8", size = 333327, upload-time = "2025-06-10T00:42:44.842Z" }, + { url = "https://files.pythonhosted.org/packages/65/94/e21269718349582eee81efc5c1c08ee71c816bfc1585b77d0ec3f58089eb/yarl-1.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f8a891e4a22a89f5dde7862994485e19db246b70bb288d3ce73a34422e55b23", size = 326054, upload-time = "2025-06-10T00:42:47.149Z" }, + { url = "https://files.pythonhosted.org/packages/32/ae/8616d1f07853704523519f6131d21f092e567c5af93de7e3e94b38d7f065/yarl-1.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dd803820d44c8853a109a34e3660e5a61beae12970da479cf44aa2954019bf70", size = 315035, upload-time = "2025-06-10T00:42:48.852Z" }, + { url = "https://files.pythonhosted.org/packages/48/aa/0ace06280861ef055855333707db5e49c6e3a08840a7ce62682259d0a6c0/yarl-1.20.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b982fa7f74c80d5c0c7b5b38f908971e513380a10fecea528091405f519b9ebb", size = 338962, upload-time = "2025-06-10T00:42:51.024Z" }, + { url = "https://files.pythonhosted.org/packages/20/52/1e9d0e6916f45a8fb50e6844f01cb34692455f1acd548606cbda8134cd1e/yarl-1.20.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:33f29ecfe0330c570d997bcf1afd304377f2e48f61447f37e846a6058a4d33b2", size = 335399, upload-time = "2025-06-10T00:42:53.007Z" }, + { url = "https://files.pythonhosted.org/packages/f2/65/60452df742952c630e82f394cd409de10610481d9043aa14c61bf846b7b1/yarl-1.20.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:835ab2cfc74d5eb4a6a528c57f05688099da41cf4957cf08cad38647e4a83b30", size = 338649, upload-time = "2025-06-10T00:42:54.964Z" }, + { url = "https://files.pythonhosted.org/packages/7b/f5/6cd4ff38dcde57a70f23719a838665ee17079640c77087404c3d34da6727/yarl-1.20.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:46b5e0ccf1943a9a6e766b2c2b8c732c55b34e28be57d8daa2b3c1d1d4009309", size = 358563, upload-time = "2025-06-10T00:42:57.28Z" }, + { url = "https://files.pythonhosted.org/packages/d1/90/c42eefd79d0d8222cb3227bdd51b640c0c1d0aa33fe4cc86c36eccba77d3/yarl-1.20.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:df47c55f7d74127d1b11251fe6397d84afdde0d53b90bedb46a23c0e534f9d24", size = 357609, upload-time = "2025-06-10T00:42:59.055Z" }, + { url = "https://files.pythonhosted.org/packages/03/c8/cea6b232cb4617514232e0f8a718153a95b5d82b5290711b201545825532/yarl-1.20.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:76d12524d05841276b0e22573f28d5fbcb67589836772ae9244d90dd7d66aa13", size = 350224, upload-time = "2025-06-10T00:43:01.248Z" }, + { url = "https://files.pythonhosted.org/packages/ce/a3/eaa0ab9712f1f3d01faf43cf6f1f7210ce4ea4a7e9b28b489a2261ca8db9/yarl-1.20.1-cp310-cp310-win32.whl", hash = "sha256:6c4fbf6b02d70e512d7ade4b1f998f237137f1417ab07ec06358ea04f69134f8", size = 81753, upload-time = "2025-06-10T00:43:03.486Z" }, + { url = "https://files.pythonhosted.org/packages/8f/34/e4abde70a9256465fe31c88ed02c3f8502b7b5dead693a4f350a06413f28/yarl-1.20.1-cp310-cp310-win_amd64.whl", hash = "sha256:aef6c4d69554d44b7f9d923245f8ad9a707d971e6209d51279196d8e8fe1ae16", size = 86817, upload-time = "2025-06-10T00:43:05.231Z" }, + { url = "https://files.pythonhosted.org/packages/b1/18/893b50efc2350e47a874c5c2d67e55a0ea5df91186b2a6f5ac52eff887cd/yarl-1.20.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:47ee6188fea634bdfaeb2cc420f5b3b17332e6225ce88149a17c413c77ff269e", size = 133833, upload-time = "2025-06-10T00:43:07.393Z" }, + { url = "https://files.pythonhosted.org/packages/89/ed/b8773448030e6fc47fa797f099ab9eab151a43a25717f9ac043844ad5ea3/yarl-1.20.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d0f6500f69e8402d513e5eedb77a4e1818691e8f45e6b687147963514d84b44b", size = 91070, upload-time = "2025-06-10T00:43:09.538Z" }, + { url = "https://files.pythonhosted.org/packages/e3/e3/409bd17b1e42619bf69f60e4f031ce1ccb29bd7380117a55529e76933464/yarl-1.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7a8900a42fcdaad568de58887c7b2f602962356908eedb7628eaf6021a6e435b", size = 89818, upload-time = "2025-06-10T00:43:11.575Z" }, + { url = "https://files.pythonhosted.org/packages/f8/77/64d8431a4d77c856eb2d82aa3de2ad6741365245a29b3a9543cd598ed8c5/yarl-1.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bad6d131fda8ef508b36be3ece16d0902e80b88ea7200f030a0f6c11d9e508d4", size = 347003, upload-time = "2025-06-10T00:43:14.088Z" }, + { url = "https://files.pythonhosted.org/packages/8d/d2/0c7e4def093dcef0bd9fa22d4d24b023788b0a33b8d0088b51aa51e21e99/yarl-1.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:df018d92fe22aaebb679a7f89fe0c0f368ec497e3dda6cb81a567610f04501f1", size = 336537, upload-time = "2025-06-10T00:43:16.431Z" }, + { url = "https://files.pythonhosted.org/packages/f0/f3/fc514f4b2cf02cb59d10cbfe228691d25929ce8f72a38db07d3febc3f706/yarl-1.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8f969afbb0a9b63c18d0feecf0db09d164b7a44a053e78a7d05f5df163e43833", size = 362358, upload-time = "2025-06-10T00:43:18.704Z" }, + { url = "https://files.pythonhosted.org/packages/ea/6d/a313ac8d8391381ff9006ac05f1d4331cee3b1efaa833a53d12253733255/yarl-1.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:812303eb4aa98e302886ccda58d6b099e3576b1b9276161469c25803a8db277d", size = 357362, upload-time = "2025-06-10T00:43:20.888Z" }, + { url = "https://files.pythonhosted.org/packages/00/70/8f78a95d6935a70263d46caa3dd18e1f223cf2f2ff2037baa01a22bc5b22/yarl-1.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98c4a7d166635147924aa0bf9bfe8d8abad6fffa6102de9c99ea04a1376f91e8", size = 348979, upload-time = "2025-06-10T00:43:23.169Z" }, + { url = "https://files.pythonhosted.org/packages/cb/05/42773027968968f4f15143553970ee36ead27038d627f457cc44bbbeecf3/yarl-1.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:12e768f966538e81e6e7550f9086a6236b16e26cd964cf4df35349970f3551cf", size = 337274, upload-time = "2025-06-10T00:43:27.111Z" }, + { url = "https://files.pythonhosted.org/packages/05/be/665634aa196954156741ea591d2f946f1b78ceee8bb8f28488bf28c0dd62/yarl-1.20.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:fe41919b9d899661c5c28a8b4b0acf704510b88f27f0934ac7a7bebdd8938d5e", size = 363294, upload-time = "2025-06-10T00:43:28.96Z" }, + { url = "https://files.pythonhosted.org/packages/eb/90/73448401d36fa4e210ece5579895731f190d5119c4b66b43b52182e88cd5/yarl-1.20.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:8601bc010d1d7780592f3fc1bdc6c72e2b6466ea34569778422943e1a1f3c389", size = 358169, upload-time = "2025-06-10T00:43:30.701Z" }, + { url = "https://files.pythonhosted.org/packages/c3/b0/fce922d46dc1eb43c811f1889f7daa6001b27a4005587e94878570300881/yarl-1.20.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:daadbdc1f2a9033a2399c42646fbd46da7992e868a5fe9513860122d7fe7a73f", size = 362776, upload-time = "2025-06-10T00:43:32.51Z" }, + { url = "https://files.pythonhosted.org/packages/f1/0d/b172628fce039dae8977fd22caeff3eeebffd52e86060413f5673767c427/yarl-1.20.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:03aa1e041727cb438ca762628109ef1333498b122e4c76dd858d186a37cec845", size = 381341, upload-time = "2025-06-10T00:43:34.543Z" }, + { url = "https://files.pythonhosted.org/packages/6b/9b/5b886d7671f4580209e855974fe1cecec409aa4a89ea58b8f0560dc529b1/yarl-1.20.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:642980ef5e0fa1de5fa96d905c7e00cb2c47cb468bfcac5a18c58e27dbf8d8d1", size = 379988, upload-time = "2025-06-10T00:43:36.489Z" }, + { url = "https://files.pythonhosted.org/packages/73/be/75ef5fd0fcd8f083a5d13f78fd3f009528132a1f2a1d7c925c39fa20aa79/yarl-1.20.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:86971e2795584fe8c002356d3b97ef6c61862720eeff03db2a7c86b678d85b3e", size = 371113, upload-time = "2025-06-10T00:43:38.592Z" }, + { url = "https://files.pythonhosted.org/packages/50/4f/62faab3b479dfdcb741fe9e3f0323e2a7d5cd1ab2edc73221d57ad4834b2/yarl-1.20.1-cp311-cp311-win32.whl", hash = "sha256:597f40615b8d25812f14562699e287f0dcc035d25eb74da72cae043bb884d773", size = 81485, upload-time = "2025-06-10T00:43:41.038Z" }, + { url = "https://files.pythonhosted.org/packages/f0/09/d9c7942f8f05c32ec72cd5c8e041c8b29b5807328b68b4801ff2511d4d5e/yarl-1.20.1-cp311-cp311-win_amd64.whl", hash = "sha256:26ef53a9e726e61e9cd1cda6b478f17e350fb5800b4bd1cd9fe81c4d91cfeb2e", size = 86686, upload-time = "2025-06-10T00:43:42.692Z" }, + { url = "https://files.pythonhosted.org/packages/5f/9a/cb7fad7d73c69f296eda6815e4a2c7ed53fc70c2f136479a91c8e5fbdb6d/yarl-1.20.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdcc4cd244e58593a4379fe60fdee5ac0331f8eb70320a24d591a3be197b94a9", size = 133667, upload-time = "2025-06-10T00:43:44.369Z" }, + { url = "https://files.pythonhosted.org/packages/67/38/688577a1cb1e656e3971fb66a3492501c5a5df56d99722e57c98249e5b8a/yarl-1.20.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b29a2c385a5f5b9c7d9347e5812b6f7ab267193c62d282a540b4fc528c8a9d2a", size = 91025, upload-time = "2025-06-10T00:43:46.295Z" }, + { url = "https://files.pythonhosted.org/packages/50/ec/72991ae51febeb11a42813fc259f0d4c8e0507f2b74b5514618d8b640365/yarl-1.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1112ae8154186dfe2de4732197f59c05a83dc814849a5ced892b708033f40dc2", size = 89709, upload-time = "2025-06-10T00:43:48.22Z" }, + { url = "https://files.pythonhosted.org/packages/99/da/4d798025490e89426e9f976702e5f9482005c548c579bdae792a4c37769e/yarl-1.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:90bbd29c4fe234233f7fa2b9b121fb63c321830e5d05b45153a2ca68f7d310ee", size = 352287, upload-time = "2025-06-10T00:43:49.924Z" }, + { url = "https://files.pythonhosted.org/packages/1a/26/54a15c6a567aac1c61b18aa0f4b8aa2e285a52d547d1be8bf48abe2b3991/yarl-1.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:680e19c7ce3710ac4cd964e90dad99bf9b5029372ba0c7cbfcd55e54d90ea819", size = 345429, upload-time = "2025-06-10T00:43:51.7Z" }, + { url = "https://files.pythonhosted.org/packages/d6/95/9dcf2386cb875b234353b93ec43e40219e14900e046bf6ac118f94b1e353/yarl-1.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4a979218c1fdb4246a05efc2cc23859d47c89af463a90b99b7c56094daf25a16", size = 365429, upload-time = "2025-06-10T00:43:53.494Z" }, + { url = "https://files.pythonhosted.org/packages/91/b2/33a8750f6a4bc224242a635f5f2cff6d6ad5ba651f6edcccf721992c21a0/yarl-1.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:255b468adf57b4a7b65d8aad5b5138dce6a0752c139965711bdcb81bc370e1b6", size = 363862, upload-time = "2025-06-10T00:43:55.766Z" }, + { url = "https://files.pythonhosted.org/packages/98/28/3ab7acc5b51f4434b181b0cee8f1f4b77a65919700a355fb3617f9488874/yarl-1.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a97d67108e79cfe22e2b430d80d7571ae57d19f17cda8bb967057ca8a7bf5bfd", size = 355616, upload-time = "2025-06-10T00:43:58.056Z" }, + { url = "https://files.pythonhosted.org/packages/36/a3/f666894aa947a371724ec7cd2e5daa78ee8a777b21509b4252dd7bd15e29/yarl-1.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8570d998db4ddbfb9a590b185a0a33dbf8aafb831d07a5257b4ec9948df9cb0a", size = 339954, upload-time = "2025-06-10T00:43:59.773Z" }, + { url = "https://files.pythonhosted.org/packages/f1/81/5f466427e09773c04219d3450d7a1256138a010b6c9f0af2d48565e9ad13/yarl-1.20.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:97c75596019baae7c71ccf1d8cc4738bc08134060d0adfcbe5642f778d1dca38", size = 365575, upload-time = "2025-06-10T00:44:02.051Z" }, + { url = "https://files.pythonhosted.org/packages/2e/e3/e4b0ad8403e97e6c9972dd587388940a032f030ebec196ab81a3b8e94d31/yarl-1.20.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:1c48912653e63aef91ff988c5432832692ac5a1d8f0fb8a33091520b5bbe19ef", size = 365061, upload-time = "2025-06-10T00:44:04.196Z" }, + { url = "https://files.pythonhosted.org/packages/ac/99/b8a142e79eb86c926f9f06452eb13ecb1bb5713bd01dc0038faf5452e544/yarl-1.20.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4c3ae28f3ae1563c50f3d37f064ddb1511ecc1d5584e88c6b7c63cf7702a6d5f", size = 364142, upload-time = "2025-06-10T00:44:06.527Z" }, + { url = "https://files.pythonhosted.org/packages/34/f2/08ed34a4a506d82a1a3e5bab99ccd930a040f9b6449e9fd050320e45845c/yarl-1.20.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c5e9642f27036283550f5f57dc6156c51084b458570b9d0d96100c8bebb186a8", size = 381894, upload-time = "2025-06-10T00:44:08.379Z" }, + { url = "https://files.pythonhosted.org/packages/92/f8/9a3fbf0968eac704f681726eff595dce9b49c8a25cd92bf83df209668285/yarl-1.20.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:2c26b0c49220d5799f7b22c6838409ee9bc58ee5c95361a4d7831f03cc225b5a", size = 383378, upload-time = "2025-06-10T00:44:10.51Z" }, + { url = "https://files.pythonhosted.org/packages/af/85/9363f77bdfa1e4d690957cd39d192c4cacd1c58965df0470a4905253b54f/yarl-1.20.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:564ab3d517e3d01c408c67f2e5247aad4019dcf1969982aba3974b4093279004", size = 374069, upload-time = "2025-06-10T00:44:12.834Z" }, + { url = "https://files.pythonhosted.org/packages/35/99/9918c8739ba271dcd935400cff8b32e3cd319eaf02fcd023d5dcd487a7c8/yarl-1.20.1-cp312-cp312-win32.whl", hash = "sha256:daea0d313868da1cf2fac6b2d3a25c6e3a9e879483244be38c8e6a41f1d876a5", size = 81249, upload-time = "2025-06-10T00:44:14.731Z" }, + { url = "https://files.pythonhosted.org/packages/eb/83/5d9092950565481b413b31a23e75dd3418ff0a277d6e0abf3729d4d1ce25/yarl-1.20.1-cp312-cp312-win_amd64.whl", hash = "sha256:48ea7d7f9be0487339828a4de0360d7ce0efc06524a48e1810f945c45b813698", size = 86710, upload-time = "2025-06-10T00:44:16.716Z" }, + { url = "https://files.pythonhosted.org/packages/8a/e1/2411b6d7f769a07687acee88a062af5833cf1966b7266f3d8dfb3d3dc7d3/yarl-1.20.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:0b5ff0fbb7c9f1b1b5ab53330acbfc5247893069e7716840c8e7d5bb7355038a", size = 131811, upload-time = "2025-06-10T00:44:18.933Z" }, + { url = "https://files.pythonhosted.org/packages/b2/27/584394e1cb76fb771371770eccad35de400e7b434ce3142c2dd27392c968/yarl-1.20.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:14f326acd845c2b2e2eb38fb1346c94f7f3b01a4f5c788f8144f9b630bfff9a3", size = 90078, upload-time = "2025-06-10T00:44:20.635Z" }, + { url = "https://files.pythonhosted.org/packages/bf/9a/3246ae92d4049099f52d9b0fe3486e3b500e29b7ea872d0f152966fc209d/yarl-1.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f60e4ad5db23f0b96e49c018596707c3ae89f5d0bd97f0ad3684bcbad899f1e7", size = 88748, upload-time = "2025-06-10T00:44:22.34Z" }, + { url = "https://files.pythonhosted.org/packages/a3/25/35afe384e31115a1a801fbcf84012d7a066d89035befae7c5d4284df1e03/yarl-1.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:49bdd1b8e00ce57e68ba51916e4bb04461746e794e7c4d4bbc42ba2f18297691", size = 349595, upload-time = "2025-06-10T00:44:24.314Z" }, + { url = "https://files.pythonhosted.org/packages/28/2d/8aca6cb2cabc8f12efcb82749b9cefecbccfc7b0384e56cd71058ccee433/yarl-1.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:66252d780b45189975abfed839616e8fd2dbacbdc262105ad7742c6ae58f3e31", size = 342616, upload-time = "2025-06-10T00:44:26.167Z" }, + { url = "https://files.pythonhosted.org/packages/0b/e9/1312633d16b31acf0098d30440ca855e3492d66623dafb8e25b03d00c3da/yarl-1.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59174e7332f5d153d8f7452a102b103e2e74035ad085f404df2e40e663a22b28", size = 361324, upload-time = "2025-06-10T00:44:27.915Z" }, + { url = "https://files.pythonhosted.org/packages/bc/a0/688cc99463f12f7669eec7c8acc71ef56a1521b99eab7cd3abb75af887b0/yarl-1.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e3968ec7d92a0c0f9ac34d5ecfd03869ec0cab0697c91a45db3fbbd95fe1b653", size = 359676, upload-time = "2025-06-10T00:44:30.041Z" }, + { url = "https://files.pythonhosted.org/packages/af/44/46407d7f7a56e9a85a4c207724c9f2c545c060380718eea9088f222ba697/yarl-1.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1a4fbb50e14396ba3d375f68bfe02215d8e7bc3ec49da8341fe3157f59d2ff5", size = 352614, upload-time = "2025-06-10T00:44:32.171Z" }, + { url = "https://files.pythonhosted.org/packages/b1/91/31163295e82b8d5485d31d9cf7754d973d41915cadce070491778d9c9825/yarl-1.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11a62c839c3a8eac2410e951301309426f368388ff2f33799052787035793b02", size = 336766, upload-time = "2025-06-10T00:44:34.494Z" }, + { url = "https://files.pythonhosted.org/packages/b4/8e/c41a5bc482121f51c083c4c2bcd16b9e01e1cf8729e380273a952513a21f/yarl-1.20.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:041eaa14f73ff5a8986b4388ac6bb43a77f2ea09bf1913df7a35d4646db69e53", size = 364615, upload-time = "2025-06-10T00:44:36.856Z" }, + { url = "https://files.pythonhosted.org/packages/e3/5b/61a3b054238d33d70ea06ebba7e58597891b71c699e247df35cc984ab393/yarl-1.20.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:377fae2fef158e8fd9d60b4c8751387b8d1fb121d3d0b8e9b0be07d1b41e83dc", size = 360982, upload-time = "2025-06-10T00:44:39.141Z" }, + { url = "https://files.pythonhosted.org/packages/df/a3/6a72fb83f8d478cb201d14927bc8040af901811a88e0ff2da7842dd0ed19/yarl-1.20.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:1c92f4390e407513f619d49319023664643d3339bd5e5a56a3bebe01bc67ec04", size = 369792, upload-time = "2025-06-10T00:44:40.934Z" }, + { url = "https://files.pythonhosted.org/packages/7c/af/4cc3c36dfc7c077f8dedb561eb21f69e1e9f2456b91b593882b0b18c19dc/yarl-1.20.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:d25ddcf954df1754ab0f86bb696af765c5bfaba39b74095f27eececa049ef9a4", size = 382049, upload-time = "2025-06-10T00:44:42.854Z" }, + { url = "https://files.pythonhosted.org/packages/19/3a/e54e2c4752160115183a66dc9ee75a153f81f3ab2ba4bf79c3c53b33de34/yarl-1.20.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:909313577e9619dcff8c31a0ea2aa0a2a828341d92673015456b3ae492e7317b", size = 384774, upload-time = "2025-06-10T00:44:45.275Z" }, + { url = "https://files.pythonhosted.org/packages/9c/20/200ae86dabfca89060ec6447649f219b4cbd94531e425e50d57e5f5ac330/yarl-1.20.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:793fd0580cb9664548c6b83c63b43c477212c0260891ddf86809e1c06c8b08f1", size = 374252, upload-time = "2025-06-10T00:44:47.31Z" }, + { url = "https://files.pythonhosted.org/packages/83/75/11ee332f2f516b3d094e89448da73d557687f7d137d5a0f48c40ff211487/yarl-1.20.1-cp313-cp313-win32.whl", hash = "sha256:468f6e40285de5a5b3c44981ca3a319a4b208ccc07d526b20b12aeedcfa654b7", size = 81198, upload-time = "2025-06-10T00:44:49.164Z" }, + { url = "https://files.pythonhosted.org/packages/ba/ba/39b1ecbf51620b40ab402b0fc817f0ff750f6d92712b44689c2c215be89d/yarl-1.20.1-cp313-cp313-win_amd64.whl", hash = "sha256:495b4ef2fea40596bfc0affe3837411d6aa3371abcf31aac0ccc4bdd64d4ef5c", size = 86346, upload-time = "2025-06-10T00:44:51.182Z" }, + { url = "https://files.pythonhosted.org/packages/43/c7/669c52519dca4c95153c8ad96dd123c79f354a376346b198f438e56ffeb4/yarl-1.20.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:f60233b98423aab21d249a30eb27c389c14929f47be8430efa7dbd91493a729d", size = 138826, upload-time = "2025-06-10T00:44:52.883Z" }, + { url = "https://files.pythonhosted.org/packages/6a/42/fc0053719b44f6ad04a75d7f05e0e9674d45ef62f2d9ad2c1163e5c05827/yarl-1.20.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:6f3eff4cc3f03d650d8755c6eefc844edde99d641d0dcf4da3ab27141a5f8ddf", size = 93217, upload-time = "2025-06-10T00:44:54.658Z" }, + { url = "https://files.pythonhosted.org/packages/4f/7f/fa59c4c27e2a076bba0d959386e26eba77eb52ea4a0aac48e3515c186b4c/yarl-1.20.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:69ff8439d8ba832d6bed88af2c2b3445977eba9a4588b787b32945871c2444e3", size = 92700, upload-time = "2025-06-10T00:44:56.784Z" }, + { url = "https://files.pythonhosted.org/packages/2f/d4/062b2f48e7c93481e88eff97a6312dca15ea200e959f23e96d8ab898c5b8/yarl-1.20.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cf34efa60eb81dd2645a2e13e00bb98b76c35ab5061a3989c7a70f78c85006d", size = 347644, upload-time = "2025-06-10T00:44:59.071Z" }, + { url = "https://files.pythonhosted.org/packages/89/47/78b7f40d13c8f62b499cc702fdf69e090455518ae544c00a3bf4afc9fc77/yarl-1.20.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8e0fe9364ad0fddab2688ce72cb7a8e61ea42eff3c7caeeb83874a5d479c896c", size = 323452, upload-time = "2025-06-10T00:45:01.605Z" }, + { url = "https://files.pythonhosted.org/packages/eb/2b/490d3b2dc66f52987d4ee0d3090a147ea67732ce6b4d61e362c1846d0d32/yarl-1.20.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8f64fbf81878ba914562c672024089e3401974a39767747691c65080a67b18c1", size = 346378, upload-time = "2025-06-10T00:45:03.946Z" }, + { url = "https://files.pythonhosted.org/packages/66/ad/775da9c8a94ce925d1537f939a4f17d782efef1f973039d821cbe4bcc211/yarl-1.20.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6342d643bf9a1de97e512e45e4b9560a043347e779a173250824f8b254bd5ce", size = 353261, upload-time = "2025-06-10T00:45:05.992Z" }, + { url = "https://files.pythonhosted.org/packages/4b/23/0ed0922b47a4f5c6eb9065d5ff1e459747226ddce5c6a4c111e728c9f701/yarl-1.20.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56dac5f452ed25eef0f6e3c6a066c6ab68971d96a9fb441791cad0efba6140d3", size = 335987, upload-time = "2025-06-10T00:45:08.227Z" }, + { url = "https://files.pythonhosted.org/packages/3e/49/bc728a7fe7d0e9336e2b78f0958a2d6b288ba89f25a1762407a222bf53c3/yarl-1.20.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7d7f497126d65e2cad8dc5f97d34c27b19199b6414a40cb36b52f41b79014be", size = 329361, upload-time = "2025-06-10T00:45:10.11Z" }, + { url = "https://files.pythonhosted.org/packages/93/8f/b811b9d1f617c83c907e7082a76e2b92b655400e61730cd61a1f67178393/yarl-1.20.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:67e708dfb8e78d8a19169818eeb5c7a80717562de9051bf2413aca8e3696bf16", size = 346460, upload-time = "2025-06-10T00:45:12.055Z" }, + { url = "https://files.pythonhosted.org/packages/70/fd/af94f04f275f95da2c3b8b5e1d49e3e79f1ed8b6ceb0f1664cbd902773ff/yarl-1.20.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:595c07bc79af2494365cc96ddeb772f76272364ef7c80fb892ef9d0649586513", size = 334486, upload-time = "2025-06-10T00:45:13.995Z" }, + { url = "https://files.pythonhosted.org/packages/84/65/04c62e82704e7dd0a9b3f61dbaa8447f8507655fd16c51da0637b39b2910/yarl-1.20.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7bdd2f80f4a7df852ab9ab49484a4dee8030023aa536df41f2d922fd57bf023f", size = 342219, upload-time = "2025-06-10T00:45:16.479Z" }, + { url = "https://files.pythonhosted.org/packages/91/95/459ca62eb958381b342d94ab9a4b6aec1ddec1f7057c487e926f03c06d30/yarl-1.20.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:c03bfebc4ae8d862f853a9757199677ab74ec25424d0ebd68a0027e9c639a390", size = 350693, upload-time = "2025-06-10T00:45:18.399Z" }, + { url = "https://files.pythonhosted.org/packages/a6/00/d393e82dd955ad20617abc546a8f1aee40534d599ff555ea053d0ec9bf03/yarl-1.20.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:344d1103e9c1523f32a5ed704d576172d2cabed3122ea90b1d4e11fe17c66458", size = 355803, upload-time = "2025-06-10T00:45:20.677Z" }, + { url = "https://files.pythonhosted.org/packages/9e/ed/c5fb04869b99b717985e244fd93029c7a8e8febdfcffa06093e32d7d44e7/yarl-1.20.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:88cab98aa4e13e1ade8c141daeedd300a4603b7132819c484841bb7af3edce9e", size = 341709, upload-time = "2025-06-10T00:45:23.221Z" }, + { url = "https://files.pythonhosted.org/packages/24/fd/725b8e73ac2a50e78a4534ac43c6addf5c1c2d65380dd48a9169cc6739a9/yarl-1.20.1-cp313-cp313t-win32.whl", hash = "sha256:b121ff6a7cbd4abc28985b6028235491941b9fe8fe226e6fdc539c977ea1739d", size = 86591, upload-time = "2025-06-10T00:45:25.793Z" }, + { url = "https://files.pythonhosted.org/packages/94/c3/b2e9f38bc3e11191981d57ea08cab2166e74ea770024a646617c9cddd9f6/yarl-1.20.1-cp313-cp313t-win_amd64.whl", hash = "sha256:541d050a355bbbc27e55d906bc91cb6fe42f96c01413dd0f4ed5a5240513874f", size = 93003, upload-time = "2025-06-10T00:45:27.752Z" }, + { url = "https://files.pythonhosted.org/packages/01/75/0d37402d208d025afa6b5b8eb80e466d267d3fd1927db8e317d29a94a4cb/yarl-1.20.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e42ba79e2efb6845ebab49c7bf20306c4edf74a0b20fc6b2ccdd1a219d12fad3", size = 134259, upload-time = "2025-06-10T00:45:29.882Z" }, + { url = "https://files.pythonhosted.org/packages/73/84/1fb6c85ae0cf9901046f07d0ac9eb162f7ce6d95db541130aa542ed377e6/yarl-1.20.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:41493b9b7c312ac448b7f0a42a089dffe1d6e6e981a2d76205801a023ed26a2b", size = 91269, upload-time = "2025-06-10T00:45:32.917Z" }, + { url = "https://files.pythonhosted.org/packages/f3/9c/eae746b24c4ea29a5accba9a06c197a70fa38a49c7df244e0d3951108861/yarl-1.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f5a5928ff5eb13408c62a968ac90d43f8322fd56d87008b8f9dabf3c0f6ee983", size = 89995, upload-time = "2025-06-10T00:45:35.066Z" }, + { url = "https://files.pythonhosted.org/packages/fb/30/693e71003ec4bc1daf2e4cf7c478c417d0985e0a8e8f00b2230d517876fc/yarl-1.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30c41ad5d717b3961b2dd785593b67d386b73feca30522048d37298fee981805", size = 325253, upload-time = "2025-06-10T00:45:37.052Z" }, + { url = "https://files.pythonhosted.org/packages/0f/a2/5264dbebf90763139aeb0b0b3154763239398400f754ae19a0518b654117/yarl-1.20.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:59febc3969b0781682b469d4aca1a5cab7505a4f7b85acf6db01fa500fa3f6ba", size = 320897, upload-time = "2025-06-10T00:45:39.962Z" }, + { url = "https://files.pythonhosted.org/packages/e7/17/77c7a89b3c05856489777e922f41db79ab4faf58621886df40d812c7facd/yarl-1.20.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d2b6fb3622b7e5bf7a6e5b679a69326b4279e805ed1699d749739a61d242449e", size = 340696, upload-time = "2025-06-10T00:45:41.915Z" }, + { url = "https://files.pythonhosted.org/packages/6d/55/28409330b8ef5f2f681f5b478150496ec9cf3309b149dab7ec8ab5cfa3f0/yarl-1.20.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:749d73611db8d26a6281086f859ea7ec08f9c4c56cec864e52028c8b328db723", size = 335064, upload-time = "2025-06-10T00:45:43.893Z" }, + { url = "https://files.pythonhosted.org/packages/85/58/cb0257cbd4002828ff735f44d3c5b6966c4fd1fc8cc1cd3cd8a143fbc513/yarl-1.20.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9427925776096e664c39e131447aa20ec738bdd77c049c48ea5200db2237e000", size = 327256, upload-time = "2025-06-10T00:45:46.393Z" }, + { url = "https://files.pythonhosted.org/packages/53/f6/c77960370cfa46f6fb3d6a5a79a49d3abfdb9ef92556badc2dcd2748bc2a/yarl-1.20.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ff70f32aa316393eaf8222d518ce9118148eddb8a53073c2403863b41033eed5", size = 316389, upload-time = "2025-06-10T00:45:48.358Z" }, + { url = "https://files.pythonhosted.org/packages/64/ab/be0b10b8e029553c10905b6b00c64ecad3ebc8ace44b02293a62579343f6/yarl-1.20.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:c7ddf7a09f38667aea38801da8b8d6bfe81df767d9dfc8c88eb45827b195cd1c", size = 340481, upload-time = "2025-06-10T00:45:50.663Z" }, + { url = "https://files.pythonhosted.org/packages/c5/c3/3f327bd3905a4916029bf5feb7f86dcf864c7704f099715f62155fb386b2/yarl-1.20.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:57edc88517d7fc62b174fcfb2e939fbc486a68315d648d7e74d07fac42cec240", size = 336941, upload-time = "2025-06-10T00:45:52.554Z" }, + { url = "https://files.pythonhosted.org/packages/d1/42/040bdd5d3b3bb02b4a6ace4ed4075e02f85df964d6e6cb321795d2a6496a/yarl-1.20.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:dab096ce479d5894d62c26ff4f699ec9072269d514b4edd630a393223f45a0ee", size = 339936, upload-time = "2025-06-10T00:45:54.919Z" }, + { url = "https://files.pythonhosted.org/packages/0d/1c/911867b8e8c7463b84dfdc275e0d99b04b66ad5132b503f184fe76be8ea4/yarl-1.20.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:14a85f3bd2d7bb255be7183e5d7d6e70add151a98edf56a770d6140f5d5f4010", size = 360163, upload-time = "2025-06-10T00:45:56.87Z" }, + { url = "https://files.pythonhosted.org/packages/e2/31/8c389f6c6ca0379b57b2da87f1f126c834777b4931c5ee8427dd65d0ff6b/yarl-1.20.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:2c89b5c792685dd9cd3fa9761c1b9f46fc240c2a3265483acc1565769996a3f8", size = 359108, upload-time = "2025-06-10T00:45:58.869Z" }, + { url = "https://files.pythonhosted.org/packages/7f/09/ae4a649fb3964324c70a3e2b61f45e566d9ffc0affd2b974cbf628957673/yarl-1.20.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:69e9b141de5511021942a6866990aea6d111c9042235de90e08f94cf972ca03d", size = 351875, upload-time = "2025-06-10T00:46:01.45Z" }, + { url = "https://files.pythonhosted.org/packages/8d/43/bbb4ed4c34d5bb62b48bf957f68cd43f736f79059d4f85225ab1ef80f4b9/yarl-1.20.1-cp39-cp39-win32.whl", hash = "sha256:b5f307337819cdfdbb40193cad84978a029f847b0a357fbe49f712063cfc4f06", size = 82293, upload-time = "2025-06-10T00:46:03.763Z" }, + { url = "https://files.pythonhosted.org/packages/d7/cd/ce185848a7dba68ea69e932674b5c1a42a1852123584bccc5443120f857c/yarl-1.20.1-cp39-cp39-win_amd64.whl", hash = "sha256:eae7bfe2069f9c1c5b05fc7fe5d612e5bbc089a39309904ee8b829e322dcad00", size = 87385, upload-time = "2025-06-10T00:46:05.655Z" }, + { url = "https://files.pythonhosted.org/packages/b4/2d/2345fce04cfd4bee161bf1e7d9cdc702e3e16109021035dbb24db654a622/yarl-1.20.1-py3-none-any.whl", hash = "sha256:83b8eb083fe4683c6115795d9fc1cfaf2cbbefb19b3a1cb68f6527460f483a77", size = 46542, upload-time = "2025-06-10T00:46:07.521Z" }, +] From 03269102df8f3a636d44057db620c51f0b9acaa1 Mon Sep 17 00:00:00 2001 From: Dan Guido Date: Mon, 5 Jan 2026 13:58:14 -0500 Subject: [PATCH 037/113] Lint: Migrate from black/pylint to ruff MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove black, black_auto, pylint, and linter workflows - Remove pylint.json and yamllint.json matchers - Add ruff.yml workflow for linting - Add .pre-commit-config.yaml for local development - Add .yamllint configuration for YAML linting - Replace [tool.black] and [tool.pylint] with [tool.ruff] in pyproject.toml - Update Makefile lint/reformat targets to use ruff - Update CONTRIBUTING.md with ruff and pre-commit documentation The ruff config ignores many rules to avoid code changes - these can be enabled incrementally in follow-up PRs. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .github/workflows/black.yml | 55 -------- .github/workflows/black_auto.yml | 43 ------- .github/workflows/linter.yml | 77 ----------- .github/workflows/matchers/pylint.json | 32 ----- .github/workflows/matchers/yamllint.json | 22 ---- .github/workflows/pylint.yml | 59 --------- .github/workflows/ruff.yml | 68 ++++++++++ .pre-commit-config.yaml | 64 ++++++++++ .yamllint | 24 ++++ CONTRIBUTING.md | 28 +++- Makefile | 8 +- pyproject.toml | 155 ++++++++++++++++++++--- 12 files changed, 320 insertions(+), 315 deletions(-) delete mode 100644 .github/workflows/black.yml delete mode 100644 .github/workflows/black_auto.yml delete mode 100644 .github/workflows/linter.yml delete mode 100644 .github/workflows/matchers/pylint.json delete mode 100644 .github/workflows/matchers/yamllint.json delete mode 100644 .github/workflows/pylint.yml create mode 100644 .github/workflows/ruff.yml create mode 100644 .pre-commit-config.yaml create mode 100644 .yamllint diff --git a/.github/workflows/black.yml b/.github/workflows/black.yml deleted file mode 100644 index 082333f2fc..0000000000 --- a/.github/workflows/black.yml +++ /dev/null @@ -1,55 +0,0 @@ ---- -name: Run black - -defaults: - run: - # To load bashrc - shell: bash -ieo pipefail {0} - -on: - pull_request: - branches: [master, dev] - paths: - - "**/*.py" - schedule: - # run CI every day even if no PRs/merges occur - - cron: '0 12 * * *' - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - name: Black - runs-on: ubuntu-latest - - steps: - - name: Checkout Code - uses: actions/checkout@v4 - with: - # Full git history is needed to get a proper list of changed files within `super-linter` - fetch-depth: 0 - - - name: Set up Python 3.8 - uses: actions/setup-python@v5 - with: - python-version: 3.8 - - - name: Install dependencies - run: | - mkdir -p .github/linters - cp pyproject.toml .github/linters - - - name: Black - uses: super-linter/super-linter/slim@v4.9.2 - if: always() - env: - # run linter on everything to catch preexisting problems - VALIDATE_ALL_CODEBASE: true - DEFAULT_BRANCH: master - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # Run only black - VALIDATE_PYTHON_BLACK: true - PYTHON_BLACK_CONFIG_FILE: pyproject.toml - FILTER_REGEX_EXCLUDE: .*tests/.*.(json|zip|sol) diff --git a/.github/workflows/black_auto.yml b/.github/workflows/black_auto.yml deleted file mode 100644 index ad1ad2ea4b..0000000000 --- a/.github/workflows/black_auto.yml +++ /dev/null @@ -1,43 +0,0 @@ ---- -name: Run black (auto) - -defaults: - run: - # To load bashrc - shell: bash -ieo pipefail {0} - -on: - pull_request: - branches: [master, dev] - paths: - - "**/*.py" - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - name: Black - runs-on: ubuntu-latest - - steps: - - name: Checkout Code - uses: actions/checkout@v4 - - - name: Set up Python 3.8 - uses: actions/setup-python@v5 - with: - python-version: 3.8 - - - name: Run black - uses: psf/black@stable - with: - options: "" - summary: false - version: "~= 22.3.0" - - - name: Annotate diff changes using reviewdog - uses: reviewdog/action-suggester@v1 - with: - tool_name: blackfmt diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml deleted file mode 100644 index f2db214f82..0000000000 --- a/.github/workflows/linter.yml +++ /dev/null @@ -1,77 +0,0 @@ ---- -name: Lint Code Base - -defaults: - run: - # To load bashrc - shell: bash -ieo pipefail {0} - -on: - pull_request: - branches: [master, dev] - - schedule: - # run CI every day even if no PRs/merges occur - - cron: '0 12 * * *' - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - name: Superlinter - runs-on: ubuntu-latest - - steps: - - name: Checkout Code - uses: actions/checkout@v4 - with: - # Full git history is needed to get a proper list of changed files within `super-linter` - fetch-depth: 0 - - - name: Set up Python 3.8 - uses: actions/setup-python@v5 - with: - python-version: 3.8 - - - name: Install dependencies - run: | - mkdir -p .github/linters - cp pyproject.toml .github/linters - - - name: Register yamllint problem matcher - run: | - echo "::add-matcher::.github/workflows/matchers/yamllint.json" - - - name: Remove part of the doc - run: | - rm -rf docs/src/ - - - name: Lint everything else - uses: super-linter/super-linter/slim@v6.1.1 - if: always() - env: - # run linter on everything to catch preexisting problems - VALIDATE_ALL_CODEBASE: true - DEFAULT_BRANCH: master - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # Always false - VALIDATE_PYTHON: false - VALIDATE_PYTHON_PYLINT: false - VALIDATE_PYTHON_BLACK: false - VALIDATE_PYTHON_ISORT: false - VALIDATE_JSON: false - VALIDATE_JAVASCRIPT_ES: false - VALIDATE_JAVASCRIPT_STANDARD: false - VALIDATE_PYTHON_FLAKE8: false - VALIDATE_DOCKERFILE: false - VALIDATE_DOCKERFILE_HADOLINT: false - VALIDATE_EDITORCONFIG: false - VALIDATE_JSCPD: false - VALIDATE_PYTHON_MYPY: false - VALIDATE_CHECKOV: false - # TODO: consider enabling - VALIDATE_SHELL_SHFMT: false - SHELLCHECK_OPTS: "-e SC1090" - FILTER_REGEX_EXCLUDE: .*tests/.*.(json|zip|sol) diff --git a/.github/workflows/matchers/pylint.json b/.github/workflows/matchers/pylint.json deleted file mode 100644 index 4d9e13fca7..0000000000 --- a/.github/workflows/matchers/pylint.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "problemMatcher": [ - { - "owner": "pylint-error", - "severity": "error", - "pattern": [ - { - "regexp": "^(.+):(\\d+):(\\d+):\\s(([EF]\\d{4}):\\s.+)$", - "file": 1, - "line": 2, - "column": 3, - "message": 4, - "code": 5 - } - ] - }, - { - "owner": "pylint-warning", - "severity": "warning", - "pattern": [ - { - "regexp": "^(.+):(\\d+):(\\d+):\\s(([CRW]\\d{4}):\\s.+)$", - "file": 1, - "line": 2, - "column": 3, - "message": 4, - "code": 5 - } - ] - } - ] -} \ No newline at end of file diff --git a/.github/workflows/matchers/yamllint.json b/.github/workflows/matchers/yamllint.json deleted file mode 100644 index b0b2f125c6..0000000000 --- a/.github/workflows/matchers/yamllint.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "problemMatcher": [ - { - "owner": "yamllint", - "pattern": [ - { - "regexp": "^(.*\\.ya?ml)$", - "file": 1 - }, - { - "regexp": "^\\s{2}(\\d+):(\\d+)\\s+(error|warning)\\s+(.*?)\\s+\\((.*)\\)$", - "line": 1, - "column": 2, - "severity": 3, - "message": 4, - "code": 5, - "loop": true - } - ] - } - ] - } \ No newline at end of file diff --git a/.github/workflows/pylint.yml b/.github/workflows/pylint.yml deleted file mode 100644 index 6a3ea99ba6..0000000000 --- a/.github/workflows/pylint.yml +++ /dev/null @@ -1,59 +0,0 @@ ---- -name: Run pylint - -defaults: - run: - # To load bashrc - shell: bash -ieo pipefail {0} - -on: - pull_request: - branches: [master, dev] - paths: - - "**/*.py" - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - build: - name: Lint Code Base - runs-on: ubuntu-latest - - steps: - - name: Checkout Code - uses: actions/checkout@v4 - with: - # Full git history is needed to get a proper list of changed files within `super-linter` - fetch-depth: 0 - - - name: Set up Python 3.8 - uses: actions/setup-python@v5 - with: - python-version: 3.8 - - - name: Install dependencies - run: | - mkdir -p .github/linters - cp pyproject.toml .github/linters - - - name: Register pylint problem matcher - run: | - echo "::add-matcher::.github/workflows/matchers/pylint.json" - - - name: Pylint - uses: super-linter/super-linter/slim@v6.1.1 - if: always() - env: - # Run linters only on new files for pylint to speed up the CI - VALIDATE_ALL_CODEBASE: false - # Compare against the base branch - # This is only accessible on PR - DEFAULT_BRANCH: ${{ github.base_ref }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # Run only pylint - VALIDATE_PYTHON: true - VALIDATE_PYTHON_PYLINT: true - PYTHON_PYLINT_CONFIG_FILE: pyproject.toml - FILTER_REGEX_EXCLUDE: .*tests/.*.(json|zip|sol) diff --git a/.github/workflows/ruff.yml b/.github/workflows/ruff.yml new file mode 100644 index 0000000000..2bd8651b89 --- /dev/null +++ b/.github/workflows/ruff.yml @@ -0,0 +1,68 @@ +--- +name: Lint with Ruff + +defaults: + run: + shell: bash + +on: + push: + branches: [master, dev] + pull_request: + branches: [master, dev] + paths: + - "**/*.py" + - "**/*.yml" + - "**/*.yaml" + - "pyproject.toml" + - ".github/workflows/ruff.yml" + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + lint: + name: Lint Code + runs-on: ubuntu-latest + + steps: + - name: Checkout Code + uses: actions/checkout@v4 + + - name: Run Ruff linter + uses: astral-sh/ruff-action@v1 + with: + args: "check slither/ tests/ scripts/" + + # Formatting check disabled to avoid changes to existing code + # - name: Run Ruff formatter check + # run: | + # echo "::group::Checking formatting with Ruff" + # ruff format --check slither/ tests/ scripts/ || FORMAT_EXIT=$? + # echo "::endgroup::" + # if [ "${FORMAT_EXIT:-0}" -ne 0 ]; then + # echo "❌ Formatting check failed. Run 'make reformat' or 'ruff format' locally to fix formatting." + # exit $FORMAT_EXIT + # fi + # echo "✅ Formatting check passed" + + - name: Set up Python for yamllint + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install and run yamllint + run: | + # Use uv for fast installation + curl -LsSf https://astral.sh/uv/install.sh | sh + export PATH="$HOME/.local/bin:$PATH" + uv tool install yamllint + echo "::group::Running yamllint" + uvx yamllint .github/ || YAML_EXIT=$? + echo "::endgroup::" + if [ "${YAML_EXIT:-0}" -ne 0 ]; then + echo "❌ YAML linting failed. Fix the YAML syntax errors shown above." + exit $YAML_EXIT + fi + echo "✅ YAML linting passed" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000000..c83b891d9c --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,64 @@ +--- +# Pre-commit hooks for automated code quality checks +# Install with: pre-commit install +# Run manually: pre-commit run --all-files + +repos: + # Ruff - Fast Python linter and formatter + - repo: https://github.com/astral-sh/ruff-pre-commit + rev: v0.14.6 # Use 'pre-commit autoupdate' to get the latest version + hooks: + # Run ruff linter + - id: ruff + name: ruff lint + args: [--fix, --exit-non-zero-on-fix] + types_or: [python, pyi] + # Ruff formatter disabled to avoid code changes + # Uncomment to enable formatting in the future + # - id: ruff-format + # name: ruff format + # types_or: [python, pyi] + + # YAML linting + - repo: https://github.com/adrienverge/yamllint + rev: v1.35.1 + hooks: + - id: yamllint + name: yamllint + args: [-c=.yamllint] + types: [yaml] + exclude: ^(tests/|docs/) + + # General file checks + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v5.0.0 + hooks: + - id: trailing-whitespace + name: trim trailing whitespace + exclude: ^(tests/|.*\.md$) + - id: end-of-file-fixer + name: fix end of files + exclude: ^(tests/|docs/) + - id: check-yaml + name: check yaml syntax + exclude: ^(tests/|docs/) + - id: check-added-large-files + name: check for large files + args: [--maxkb=1000] + - id: check-merge-conflict + name: check for merge conflicts + - id: check-toml + name: check toml syntax + - id: debug-statements + name: check for debug statements + exclude: ^(tests/) + - id: mixed-line-ending + name: fix mixed line endings + args: [--fix=lf] + +# Configuration +default_language_version: + python: python3.11 + +# Run hooks on pre-commit and pre-push +default_stages: [pre-commit, pre-push] \ No newline at end of file diff --git a/.yamllint b/.yamllint new file mode 100644 index 0000000000..7154956882 --- /dev/null +++ b/.yamllint @@ -0,0 +1,24 @@ +extends: default + +rules: + document-start: disable + line-length: + max: 120 + allow-non-breakable-words: true + allow-non-breakable-inline-mappings: true + truthy: + allowed-values: ['true', 'false', 'on'] + check-keys: false + comments: + min-spaces-from-content: 1 + comments-indentation: disable + octal-values: disable + +ignore: | + .github/linters/ + tests/ + docs/ + node_modules/ + build/ + dist/ + *.egg-info/ \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c56964399a..394c51f5ba 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -63,7 +63,33 @@ To automatically reformat the code: - `make reformat` -We use pylint `3.0.3`, black `22.3.0`. +We use ruff (latest 0.x version) for linting and formatting, and yamllint for YAML files. + +#### Pre-commit Hooks (Recommended) + +We recommend using pre-commit hooks to automatically check and fix code before committing: + +```bash +# Install pre-commit hooks (one-time setup) +pre-commit install + +# Run manually on all files +pre-commit run --all-files + +# Run on specific files +pre-commit run --files slither/core/*.py + +# Update hook versions +pre-commit autoupdate +``` + +The pre-commit hooks will automatically: +- Fix linting issues with ruff +- Check YAML syntax +- Remove trailing whitespace +- Fix end-of-file issues +- Check for merge conflicts +- Prevent large files from being committed ### Testing diff --git a/Makefile b/Makefile index 6c6955fa71..fb4f6fb5a6 100644 --- a/Makefile +++ b/Makefile @@ -57,15 +57,13 @@ $(VENV)/pyvenv.cfg: pyproject.toml .PHONY: lint lint: $(VENV)/pyvenv.cfg . $(VENV_BIN)/activate && \ - black --check . && \ - pylint $(PY_MODULE) $(TEST_MODULE) - # ruff $(ALL_PY_SRCS) && \ - # mypy $(PY_MODULE) && + ruff check $(PY_MODULE) $(TEST_MODULE) && \ + yamllint .github/ .PHONY: reformat reformat: . $(VENV_BIN)/activate && \ - black . + ruff check --fix $(PY_MODULE) $(TEST_MODULE) .PHONY: test tests test tests: $(VENV)/pyvenv.cfg diff --git a/pyproject.toml b/pyproject.toml index e7cf3567d0..9ee096c981 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,22 +1,135 @@ -[tool.black] -target-version = ["py36"] +[tool.ruff] +# Match black's line length line-length = 100 -[tool.pylint.messages_control] -disable = """ -missing-module-docstring, -missing-class-docstring, -missing-function-docstring, -unnecessary-lambda, -cyclic-import, -line-too-long, -invalid-name, -fixme, -too-many-return-statements, -too-many-ancestors, -logging-fstring-interpolation, -logging-not-lazy, -duplicate-code, -import-error, -unsubscriptable-object, -unnecessary-lambda-assignment -""" +# Target Python 3.8+ (current minimum version) +target-version = "py38" +# Additional exclusions beyond defaults and .gitignore +extend-exclude = [ + "docs/", +] + +[tool.ruff.lint] +select = [ + "E", # pycodestyle errors + "W", # pycodestyle warnings + "F", # pyflakes + "I", # isort + "B", # flake8-bugbear + "C4", # flake8-comprehensions + "UP", # pyupgrade + "ARG", # flake8-unused-arguments + "SIM", # flake8-simplify + "TCH", # flake8-type-checking + "RUF", # Ruff-specific rules +] +# NOTE: When updating ruff version range, also update .pre-commit-config.yaml +# by running: pre-commit autoupdate +# Ignore rules to match previous black + pylint configuration +ignore = [ + # From pylint disabled rules + "E501", # line-too-long (was disabled in pylint) + "F401", # unused-import (similar to import-error tolerance) + "F841", # unused-variable + "ARG001", # unused-function-argument + "ARG002", # unused-method-argument + "ARG003", # unused-class-method-argument + "B008", # function-call-in-default-argument + "B904", # raise-without-from-inside-except + "C408", # unnecessary-collection-call + "SIM102", # collapsible-if (complexity tolerance) + "SIM103", # needless-bool (allow explicit bool returns) + "SIM105", # suppressible-exception + "SIM108", # if-else-block-instead-of-if-exp (complexity tolerance) + "SIM114", # if-with-same-arms + "SIM117", # with-statement (complexity tolerance) + "TC001", # typing-only-first-party-import + "TC002", # typing-only-third-party-import + "TC003", # typing-only-standard-library-import + "UP006", # non-pep585-annotation (allow older style) + "UP007", # non-pep604-annotation (allow older style) + "UP035", # deprecated-import + "RUF001", # ambiguous-unicode-character-string + "RUF002", # ambiguous-unicode-character-docstring + "RUF003", # ambiguous-unicode-character-comment + # Additional rules for compatibility + "B006", # mutable-argument-default + "B007", # unused-loop-control-variable + "B018", # useless-expression + "C401", # unnecessary-generator-set + "C403", # unnecessary-list-comprehension-set + "SIM110", # reimplemented-builtin + "SIM112", # uncapitalized-environment-variables + # Disable additional rules to avoid code changes + "I001", # unsorted-imports (453 issues) + "UP037", # quoted-annotation (148 issues) + "RUF005", # collection-literal-concatenation (57 issues) + "W291", # trailing-whitespace (51 issues) + "E713", # not-in-test (40 issues) + "RUF010", # explicit-f-string-type-conversion (24 issues) + "C414", # unnecessary-double-cast-or-process (20 issues) + "RUF015", # unnecessary-iterable-allocation-for-first-element (15 issues) + "SIM910", # dict-get-with-none-default (15 issues) + "E741", # ambiguous-variable-name (14 issues) + "UP034", # extraneous-parentheses (13 issues) + "UP045", # non-pep604-annotation-optional (13 issues) + "RUF012", # mutable-class-default (12 issues) + "E731", # lambda-assignment (11 issues) + "RUF021", # parenthesize-chained-operators (10 issues) + "UP015", # redundant-open-modes (10 issues) + "RUF013", # implicit-optional (7 issues) + "W293", # blank-line-with-whitespace (7 issues) + "C405", # unnecessary-literal-set (6 issues) + "UP012", # unnecessary-encode-utf8 (6 issues) + "E722", # bare-except (5 issues) + "C417", # unnecessary-map (4 issues) + "C420", # unnecessary-dict-comprehension-for-iterable (4 issues) + "RUF019", # unnecessary-key-check (4 issues) + "RUF023", # unsorted-dunder-slots (4 issues) + "SIM118", # in-dict-keys (4 issues) + "E714", # not-is-test (3 issues) + "F821", # undefined-name (3 issues - might be false positives) + "RUF046", # unnecessary-cast-to-int (3 issues) + "SIM401", # if-else-block-instead-of-dict-get (3 issues) + "UP018", # native-literals (2 issues) + "B011", # assert-false (1 issue) + "B020", # loop-variable-overrides-iterator (1 issue) + "B026", # star-arg-unpacking-after-keyword-arg (1 issue) + "B034", # re-sub-positional-args (1 issue) + "C400", # unnecessary-generator-list (1 issue) + "C409", # unnecessary-literal-within-tuple-call (1 issue) + "C416", # unnecessary-comprehension (1 issue) + "E101", # mixed-spaces-and-tabs (1 issue) + "E721", # type-comparison (1 issue) + "SIM113", # enumerate-for-loop (1 issue) + "SIM201", # negate-equal-op (1 issue) + "SIM300", # yoda-conditions (1 issue) + "TC005", # empty-type-checking-block (1 issue) + "UP011", # lru-cache-without-parameters (1 issue) + "UP022", # replace-stdout-stderr (1 issue) + "UP031", # printf-string-formatting (1 issue) +] +# Allow autofix for all enabled rules +fixable = ["ALL"] +unfixable = [] +# Allow common variable names that pylint was configured to accept +allowed-confusables = ["'", "'", "–", "—"] + +[tool.ruff.lint.per-file-ignores] +# Test files can have more relaxed rules +"tests/**/*.py" = [ + "ARG", # Unused arguments are OK in tests + "S101", # assert is OK in tests + "SIM", # Simplification rules can be relaxed in tests +] +# Scripts can have different rules +"scripts/**/*.py" = [ + "T201", # print is OK in scripts +] + +[tool.ruff.lint.isort] +# Match the project's import style +force-single-line = false +force-sort-within-sections = false +lines-after-imports = 2 +known-first-party = ["slither"] +known-third-party = ["crytic_compile"] From 5de4c0172609e0c7676b489b16f1862dcb1fb0cd Mon Sep 17 00:00:00 2001 From: Dan Guido Date: Mon, 5 Jan 2026 14:00:29 -0500 Subject: [PATCH 038/113] CI: Modernize CI workflows and bump Python to 3.9+ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Python 3.9+ Compatibility - Update minimum Python version from 3.8 to 3.9 - Use importlib.metadata API (Python 3.9+) instead of pkg_resources - Update slither/tools/doctor/checks/paths.py for Python 3.9+ compatibility ## CI Modernization - Add scripts/ci_test_common.sh with shared CI utilities - Update all ci_test_*.sh scripts to source common utilities - Update test.yml: use uv, Python 3.9+ matrix, windows-2025, node 20 - Update other workflows: ci.yml, docs.yml, doctor.yml, pip-audit.yml, publish.yml, docker.yml - Add test_ci_locally.sh for local CI testing ## Action Bumps - actions/checkout v4 -> v5 - actions/setup-python v5 -> v6 - actions/setup-node v4 -> v6 - actions/upload-artifact v4 -> v5 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .github/scripts/integration_test_runner.sh | 11 ++- .github/scripts/tool_test_runner.sh | 11 ++- .github/scripts/unit_test_runner.sh | 11 ++- .github/workflows/ci.yml | 36 ++++++--- .github/workflows/docker.yml | 2 +- .github/workflows/docs.yml | 14 ++-- .github/workflows/doctor.yml | 12 +-- .github/workflows/pip-audit.yml | 11 +-- .github/workflows/publish.yml | 12 +-- .github/workflows/test.yml | 35 ++++----- README.md | 2 +- scripts/ci_test_cli.sh | 3 + scripts/ci_test_common.sh | 25 ++++++ scripts/ci_test_dapp.sh | 3 + scripts/ci_test_data_dependency.sh | 3 + scripts/ci_test_embark.sh | 3 + scripts/ci_test_erc.sh | 3 + scripts/ci_test_etherlime.sh | 5 +- scripts/ci_test_etherscan.sh | 4 +- scripts/ci_test_find_paths.sh | 3 + scripts/ci_test_flat.sh | 5 +- scripts/ci_test_interface.sh | 7 +- scripts/ci_test_kspec.sh | 3 + scripts/ci_test_path_filtering.sh | 5 +- scripts/ci_test_printers.sh | 3 + scripts/ci_test_prop.sh | 3 + scripts/ci_test_simil.sh | 3 + scripts/ci_test_slither_config.sh | 8 +- scripts/ci_test_truffle.sh | 3 + scripts/ci_test_upgradability.sh | 3 + setup.py | 2 +- slither/__main__.py | 49 ++++++------ slither/tools/doctor/checks/paths.py | 15 +--- test_ci_locally.sh | 89 ++++++++++++++++++++++ 34 files changed, 293 insertions(+), 114 deletions(-) create mode 100755 scripts/ci_test_common.sh create mode 100755 test_ci_locally.sh diff --git a/.github/scripts/integration_test_runner.sh b/.github/scripts/integration_test_runner.sh index 1f9dd49aff..89aece0262 100755 --- a/.github/scripts/integration_test_runner.sh +++ b/.github/scripts/integration_test_runner.sh @@ -1,13 +1,16 @@ #!/usr/bin/env bash +# Use UV_RUN if set (for CI), otherwise run directly (for local dev) +RUN="${UV_RUN:-}" + # used to pass --cov=$path and --cov-append to pytest if [ "$1" != "" ]; then - pytest "$1" tests/e2e/ -n auto + $RUN pytest "$1" tests/e2e/ -n auto status_code=$? - python -m coverage report + $RUN python -m coverage report else - pytest tests/e2e/ -n auto + $RUN pytest tests/e2e/ -n auto status_code=$? fi -exit "$status_code" \ No newline at end of file +exit "$status_code" diff --git a/.github/scripts/tool_test_runner.sh b/.github/scripts/tool_test_runner.sh index 574358e106..09678649cd 100755 --- a/.github/scripts/tool_test_runner.sh +++ b/.github/scripts/tool_test_runner.sh @@ -1,13 +1,16 @@ #!/usr/bin/env bash +# Use UV_RUN if set (for CI), otherwise run directly (for local dev) +RUN="${UV_RUN:-}" + # used to pass --cov=$path and --cov-append to pytest if [ "$1" != "" ]; then - pytest "$1" tests/tools + $RUN pytest "$1" tests/tools status_code=$? - python -m coverage report + $RUN python -m coverage report else - pytest tests/tools + $RUN pytest tests/tools status_code=$? fi -exit "$status_code" \ No newline at end of file +exit "$status_code" diff --git a/.github/scripts/unit_test_runner.sh b/.github/scripts/unit_test_runner.sh index 92afd0a4ea..c15dce95b9 100755 --- a/.github/scripts/unit_test_runner.sh +++ b/.github/scripts/unit_test_runner.sh @@ -1,13 +1,16 @@ #!/usr/bin/env bash +# Use UV_RUN if set (for CI), otherwise run directly (for local dev) +RUN="${UV_RUN:-}" + # used to pass --cov=$path and --cov-append to pytest if [ "$1" != "" ]; then - pytest "$1" tests/unit/ -n auto + $RUN pytest "$1" tests/unit/ -n auto status_code=$? - python -m coverage report + $RUN python -m coverage report else - pytest tests/unit/ -n auto + $RUN pytest tests/unit/ -n auto status_code=$? fi -exit "$status_code" \ No newline at end of file +exit "$status_code" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 730ebdb567..6733696421 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,28 +25,40 @@ jobs: strategy: fail-fast: false matrix: - os: ${{ (github.event_name == 'pull_request' && fromJSON('["ubuntu-latest"]')) || fromJSON('["ubuntu-latest", "windows-2022"]') }} - python: ${{ (github.event_name == 'pull_request' && fromJSON('["3.8", "3.12"]')) || fromJSON('["3.8", "3.9", "3.10", "3.11", "3.12"]') }} - type: ${{ (github.event_name == 'pull_request' && fromJSON('["data_dependency", "path_filtering","erc","find_paths","flat","interface", "printers","slither_config","upgradability"]')) || fromJSON('["data_dependency", "path_filtering","erc","find_paths","flat","interface", "printers","slither_config","upgradability", "cli", "dapp", "etherscan", "kspec", "simil", "truffle"]') }} + os: >- + ${{ (github.event_name == 'pull_request' && fromJSON('["ubuntu-latest"]')) + || fromJSON('["ubuntu-latest", "windows-2025"]') }} + python: >- + ${{ (github.event_name == 'pull_request' && fromJSON('["3.9", "3.12"]')) + || fromJSON('["3.9", "3.10", "3.11", "3.12"]') }} + type: >- + ${{ (github.event_name == 'pull_request' && + fromJSON('["data_dependency", "path_filtering","erc","find_paths","flat","interface", + "printers","slither_config","upgradability"]')) + || fromJSON('["data_dependency", "path_filtering","erc","find_paths","flat","interface", + "printers","slither_config","upgradability", "cli", "dapp", "etherscan", "kspec", + "simil", "truffle"]') }} exclude: # Requires nix - - os: windows-2022 + - os: windows-2025 type: dapp # Requires nvm - - os: windows-2022 + - os: windows-2025 type: truffle steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up Python ${{ matrix.python }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python }} - name: Install dependencies run: | - pip install ".[test]" - solc-select use 0.4.25 --always-install - solc-select use 0.8.0 --always-install - solc-select use 0.5.1 --always-install + pip install uv + uv sync --group dev + uv run solc-select use 0.8.0 --always-install + uv run solc-select use 0.7.0 --always-install + uv run solc-select use 0.5.1 --always-install + uv run solc-select use 0.4.25 --always-install - name: Set up nix if: matrix.type == 'dapp' @@ -63,5 +75,7 @@ jobs: PYTHONUTF8: 1 TEST_TYPE: ${{ matrix.type }} GITHUB_ETHERSCAN: ${{ secrets.GITHUB_ETHERSCAN }} + # Export UV_RUN to use in scripts + UV_RUN: "uv run" run: | bash "scripts/ci_test_${TEST_TYPE}.sh" diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index b039f69d97..7314f49a01 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Set up QEMU uses: docker/setup-qemu-action@v3 diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 8278d0861e..9c3fd036f3 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -28,16 +28,18 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Setup Pages uses: actions/configure-pages@v5 - - uses: actions/setup-python@v5 + - uses: actions/setup-python@v6 with: - python-version: '3.8' - - run: pip install -e ".[doc]" - - run: pdoc -o html/ slither '!slither.tools' #TODO fix import errors on pdoc run + python-version: '3.9' + - run: | + pip install uv + uv sync --group dev + - run: uv run pdoc -o html/ slither '!slither.tools' # TODO fix import errors on pdoc run - name: Upload artifact - uses: actions/upload-pages-artifact@v3 + uses: actions/upload-pages-artifact@v4 with: # Upload the doc path: './html/' diff --git a/.github/workflows/doctor.yml b/.github/workflows/doctor.yml index e6b7a580ba..60afe8ccb2 100644 --- a/.github/workflows/doctor.yml +++ b/.github/workflows/doctor.yml @@ -22,17 +22,13 @@ jobs: strategy: fail-fast: false matrix: - os: ["ubuntu-latest", "windows-2022"] - python: ["3.8", "3.9", "3.10", "3.11", "3.12"] - exclude: - # strange failure - - os: windows-2022 - python: 3.8 + os: ["ubuntu-latest", "windows-2025"] + python: ["3.9", "3.10", "3.11", "3.12"] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up Python ${{ matrix.python }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python }} diff --git a/.github/workflows/pip-audit.yml b/.github/workflows/pip-audit.yml index f4a028c8c6..181c7d5aa3 100644 --- a/.github/workflows/pip-audit.yml +++ b/.github/workflows/pip-audit.yml @@ -3,10 +3,11 @@ name: pip-audit on: push: - branches: [ dev, master ] + branches: [dev, master] pull_request: - branches: [ dev, master ] - schedule: [ cron: "0 7 * * 2" ] + branches: [dev, master] + schedule: + - cron: "0 7 * * 2" concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -18,10 +19,10 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v4 + uses: actions/checkout@v5 - name: Install Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: "3.10" diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 9038306d63..f5e856d787 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -10,10 +10,10 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: '3.x' @@ -23,7 +23,7 @@ jobs: python -m pip install build python -m build - name: Upload distributions - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v5 with: name: slither-dists path: dist/ @@ -38,16 +38,16 @@ jobs: - build-release steps: - name: fetch dists - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v5 with: name: slither-dists path: dist/ - name: publish - uses: pypa/gh-action-pypi-publish@v1.12.4 + uses: pypa/gh-action-pypi-publish@v1.13.0 - name: sign - uses: sigstore/gh-action-sigstore-python@v3.0.0 + uses: sigstore/gh-action-sigstore-python@v3.1.0 with: inputs: ./dist/*.tar.gz ./dist/*.whl release-signing-artifacts: true diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2087bd4d83..7deaf06777 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -23,26 +23,27 @@ jobs: strategy: fail-fast: false matrix: - os: ["ubuntu-latest", "windows-2022"] + os: ["ubuntu-latest", "windows-2025"] type: ["unit", "integration", "tool"] - python: ${{ (github.event_name == 'pull_request' && fromJSON('["3.8", "3.12"]')) || fromJSON('["3.8", "3.9", "3.10", "3.11", "3.12"]') }} + python: >- + ${{ (github.event_name == 'pull_request' && fromJSON('["3.9", "3.12"]')) + || fromJSON('["3.9", "3.10", "3.11", "3.12"]') }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Set up Python ${{ matrix.python }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python }} - cache: "pip" - cache-dependency-path: setup.py - name: Install dependencies run: | - pip install ".[test]" + pip install uv + uv sync --group dev - name: Setup node - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: - node-version: '16' + node-version: '20' cache: 'npm' cache-dependency-path: '**/package-lock.json' @@ -81,17 +82,17 @@ jobs: run: | if [ ${{ matrix.os }} = "ubuntu-latest" ]; then TEST_ARGS=(--cov=slither --cov-append) - elif [ ${{ matrix.os }} = "windows-2022" ]; then + elif [ ${{ matrix.os }} = "windows-2025" ]; then TEST_ARGS=() fi - bash "./.github/scripts/${TEST_TYPE}_test_runner.sh" "${TEST_ARGS[@]}" + UV_RUN="uv run" bash "./.github/scripts/${TEST_TYPE}_test_runner.sh" "${TEST_ARGS[@]}" - name: Upload coverage uses: ./.github/actions/upload-coverage # only aggregate test coverage over linux-based tests to avoid any OS-specific filesystem information stored in # coverage metadata. - if: ${{ matrix.os == 'ubuntu-latest' && matrix.python == '3.8' }} + if: ${{ matrix.os == 'ubuntu-latest' && matrix.python == '3.9' }} coverage: needs: @@ -100,16 +101,16 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - name: Set up Python 3.8 - uses: actions/setup-python@v5 + - uses: actions/checkout@v5 + - name: Set up Python 3.9 + uses: actions/setup-python@v6 with: - python-version: 3.8 + python-version: 3.9 - run: pip install coverage[toml] - name: download coverage data - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v5 with: pattern: coverage-data-* merge-multiple: true diff --git a/README.md b/README.md index b76cffdd2a..796e508110 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ slither tests/uninitialized.sol ## How to install > **Note**
-> Slither requires Python 3.8+. +> Slither requires Python 3.9+. If you're **not** going to use one of the [supported compilation frameworks](https://github.com/crytic/crytic-compile), you need [solc](https://github.com/ethereum/solidity/), the Solidity compiler; we recommend using [solc-select](https://github.com/crytic/solc-select) to conveniently switch between solc versions. ### Using Pip diff --git a/scripts/ci_test_cli.sh b/scripts/ci_test_cli.sh index 08d9de836b..75e1c1f361 100755 --- a/scripts/ci_test_cli.sh +++ b/scripts/ci_test_cli.sh @@ -2,6 +2,9 @@ ### Test +# Source common CI test setup +source "$(dirname "$0")/ci_test_common.sh" + solc-select use 0.7.0 if ! slither "tests/e2e/config/test_json_config/test.sol" --solc-ast --no-fail-pedantic; then diff --git a/scripts/ci_test_common.sh b/scripts/ci_test_common.sh new file mode 100755 index 0000000000..464b2bb284 --- /dev/null +++ b/scripts/ci_test_common.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash + +# Common setup for CI test scripts +# In CI, activate the virtual environment so all tools are in PATH +# In local development, assume the environment is already set up + +if [ -n "$UV_RUN" ]; then + # CI environment - activate the virtual environment created by uv + # Find the project root (where .venv is located) + SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" + + # Activate the virtual environment + # This puts all installed tools in PATH + if [ -f "$PROJECT_ROOT/.venv/bin/activate" ]; then + source "$PROJECT_ROOT/.venv/bin/activate" + fi + + # Set VIRTUAL_ENV for solc-select to use + # This ensures solc binaries are installed to .venv/.solc-select + export VIRTUAL_ENV="$PROJECT_ROOT/.venv" +fi + +# Now all commands work directly without wrappers +# slither, solc-select, python, etc. are all in PATH \ No newline at end of file diff --git a/scripts/ci_test_dapp.sh b/scripts/ci_test_dapp.sh index b11ea46a55..4851811488 100755 --- a/scripts/ci_test_dapp.sh +++ b/scripts/ci_test_dapp.sh @@ -1,5 +1,8 @@ #!/usr/bin/env bash +# Source common CI test setup +source "$(dirname "$0")/ci_test_common.sh" + ### Test Dapp integration # work around having two python versions loading libraries from each other in CI diff --git a/scripts/ci_test_data_dependency.sh b/scripts/ci_test_data_dependency.sh index 421f445091..8dad90dca5 100755 --- a/scripts/ci_test_data_dependency.sh +++ b/scripts/ci_test_data_dependency.sh @@ -1,5 +1,8 @@ #!/usr/bin/env bash +# Source common CI test setup +source "$(dirname "$0")/ci_test_common.sh" + ### Test data dependency if ! python ./examples/scripts/data_dependency.py ./examples/scripts/data_dependency.sol; then diff --git a/scripts/ci_test_embark.sh b/scripts/ci_test_embark.sh index 4bcb6f78c3..667b313c67 100755 --- a/scripts/ci_test_embark.sh +++ b/scripts/ci_test_embark.sh @@ -1,5 +1,8 @@ #!/usr/bin/env bash +# Source common CI test setup +source "$(dirname "$0")/ci_test_common.sh" + ### Test embark integration mkdir test_embark diff --git a/scripts/ci_test_erc.sh b/scripts/ci_test_erc.sh index ebc59475a2..5fa85c62d7 100755 --- a/scripts/ci_test_erc.sh +++ b/scripts/ci_test_erc.sh @@ -1,5 +1,8 @@ #!/usr/bin/env bash +# Source common CI test setup +source "$(dirname "$0")/ci_test_common.sh" + ### Test slither-check-erc DIR_TESTS="tests/tools/check-erc" diff --git a/scripts/ci_test_etherlime.sh b/scripts/ci_test_etherlime.sh index 53d3d33501..a1c619ec2e 100755 --- a/scripts/ci_test_etherlime.sh +++ b/scripts/ci_test_etherlime.sh @@ -1,5 +1,8 @@ #!/usr/bin/env bash +# Source common CI test setup +source "$(dirname "$0")/ci_test_common.sh" + ### Test etherlime integration mkdir test_etherlime @@ -19,4 +22,4 @@ if ! slither .; then exit 1 fi -exit 0 \ No newline at end of file +exit 0 diff --git a/scripts/ci_test_etherscan.sh b/scripts/ci_test_etherscan.sh index 366b0283d5..d6cda50897 100755 --- a/scripts/ci_test_etherscan.sh +++ b/scripts/ci_test_etherscan.sh @@ -1,5 +1,8 @@ #!/usr/bin/env bash +# Source common CI test setup +source "$(dirname "$0")/ci_test_common.sh" + ### Test etherscan integration mkdir etherscan @@ -18,4 +21,3 @@ if [ "$GITHUB_ETHERSCAN" = "" ]; then fi exit 0 - diff --git a/scripts/ci_test_find_paths.sh b/scripts/ci_test_find_paths.sh index 1c3652745e..93e5bda3f4 100755 --- a/scripts/ci_test_find_paths.sh +++ b/scripts/ci_test_find_paths.sh @@ -1,5 +1,8 @@ #!/usr/bin/env bash +# Source common CI test setup +source "$(dirname "$0")/ci_test_common.sh" + ### Test slither-check-upgradeability DIR_TESTS="tests/possible_paths" diff --git a/scripts/ci_test_flat.sh b/scripts/ci_test_flat.sh index 0d9185171e..25f4fe3985 100755 --- a/scripts/ci_test_flat.sh +++ b/scripts/ci_test_flat.sh @@ -1,4 +1,7 @@ #!/usr/bin/env bash + +# Source common CI test setup +source "$(dirname "$0")/ci_test_common.sh" shopt -s extglob ### Test slither-flat @@ -10,7 +13,7 @@ if ! slither-flat b.sol; then echo "slither-flat failed" exit 1 fi - + SUFFIX="@(sol)" if ! solc "crytic-export/flattening/"*$SUFFIX; then echo "solc failed on flattened files" diff --git a/scripts/ci_test_interface.sh b/scripts/ci_test_interface.sh index de0defee32..bbb1f19f6b 100755 --- a/scripts/ci_test_interface.sh +++ b/scripts/ci_test_interface.sh @@ -1,8 +1,11 @@ #!/usr/bin/env bash +# Source common CI test setup +source "$(dirname "$0")/ci_test_common.sh" + ### Test slither-interface -DIR_TESTS="tests/tools/interface" +DIR_TESTS="tests/tools/interface" solc-select use 0.8.19 --always-install @@ -92,4 +95,4 @@ then exit 255 fi -rm -r crytic-export \ No newline at end of file +rm -r crytic-export diff --git a/scripts/ci_test_kspec.sh b/scripts/ci_test_kspec.sh index 3bd827e694..f233af3f3c 100755 --- a/scripts/ci_test_kspec.sh +++ b/scripts/ci_test_kspec.sh @@ -1,5 +1,8 @@ #!/bin/bash +# Source common CI test setup +source "$(dirname "$0")/ci_test_common.sh" + DIR_TESTS="tests/check-kspec" solc-select use "0.5.0" diff --git a/scripts/ci_test_path_filtering.sh b/scripts/ci_test_path_filtering.sh index d7a2a9833d..d467881f48 100755 --- a/scripts/ci_test_path_filtering.sh +++ b/scripts/ci_test_path_filtering.sh @@ -1,5 +1,8 @@ #!/usr/bin/env bash +# Source common CI test setup +source "$(dirname "$0")/ci_test_common.sh" + ### Test path filtering across POSIX and Windows solc-select use 0.8.0 @@ -10,6 +13,6 @@ then echo "Path filtering across POSIX and Windows failed" rm output.txt exit 5 -else +else rm output.txt fi diff --git a/scripts/ci_test_printers.sh b/scripts/ci_test_printers.sh index d811c19f91..cbac098f3c 100755 --- a/scripts/ci_test_printers.sh +++ b/scripts/ci_test_printers.sh @@ -1,5 +1,8 @@ #!/usr/bin/env bash +# Source common CI test setup +source "$(dirname "$0")/ci_test_common.sh" + ### Test printer cd tests/e2e/solc_parsing/test_data/compile/ || exit diff --git a/scripts/ci_test_prop.sh b/scripts/ci_test_prop.sh index eed4517a49..19eb3776b0 100755 --- a/scripts/ci_test_prop.sh +++ b/scripts/ci_test_prop.sh @@ -1,5 +1,8 @@ #!/usr/bin/env bash +# Source common CI test setup +source "$(dirname "$0")/ci_test_common.sh" + ### Test slither-prop cd examples/slither-prop || exit 1 diff --git a/scripts/ci_test_simil.sh b/scripts/ci_test_simil.sh index 7ef5117593..4de57a6095 100755 --- a/scripts/ci_test_simil.sh +++ b/scripts/ci_test_simil.sh @@ -1,5 +1,8 @@ #!/usr/bin/env bash +# Source common CI test setup +source "$(dirname "$0")/ci_test_common.sh" + ### Install requisites pip3.8 install pybind11 diff --git a/scripts/ci_test_slither_config.sh b/scripts/ci_test_slither_config.sh index 525eb5f7c5..b48d7b7af2 100755 --- a/scripts/ci_test_slither_config.sh +++ b/scripts/ci_test_slither_config.sh @@ -1,9 +1,13 @@ #!/usr/bin/env bash +# Source common CI test setup +source "$(dirname "$0")/ci_test_common.sh" + ### Test -if ! slither "tests/*.json" --config "tests/config/slither.config.json"; then +solc-select use 0.7.0 + +if ! slither "tests/e2e/config/test_json_config/test.sol" --config "tests/e2e/config/test_json_config/slither.config.json"; then echo "Config failed" exit 1 fi - diff --git a/scripts/ci_test_truffle.sh b/scripts/ci_test_truffle.sh index 0246470f83..b9de4d61f2 100755 --- a/scripts/ci_test_truffle.sh +++ b/scripts/ci_test_truffle.sh @@ -1,5 +1,8 @@ #!/usr/bin/env bash +# Source common CI test setup +source "$(dirname "$0")/ci_test_common.sh" + ### Test truffle integration mkdir test_truffle diff --git a/scripts/ci_test_upgradability.sh b/scripts/ci_test_upgradability.sh index a4da93873c..00659e1c2c 100755 --- a/scripts/ci_test_upgradability.sh +++ b/scripts/ci_test_upgradability.sh @@ -1,5 +1,8 @@ #!/usr/bin/env bash +# Source common CI test setup +source "$(dirname "$0")/ci_test_common.sh" + ### Test slither-check-upgradeability DIR_TESTS="tests/tools/check_upgradeability" diff --git a/setup.py b/setup.py index 0f95e40ffe..379055c150 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ author="Trail of Bits", version="0.11.3", packages=find_packages(), - python_requires=">=3.8", + python_requires=">=3.9", install_requires=[ "packaging", "prettytable>=3.10.2", diff --git a/slither/__main__.py b/slither/__main__.py index 633ad68cf3..2f32798292 100644 --- a/slither/__main__.py +++ b/slither/__main__.py @@ -13,43 +13,42 @@ from importlib import metadata from typing import Any, Dict, List, Optional, Sequence, Set, Tuple, Type, Union - -from crytic_compile import cryticparser, CryticCompile -from crytic_compile.platform.standard import generate_standard_export +from crytic_compile import CryticCompile, compile_all, cryticparser, is_supported from crytic_compile.platform.etherscan import SUPPORTED_NETWORK -from crytic_compile import compile_all, is_supported +from crytic_compile.platform.standard import generate_standard_export from slither.detectors import all_detectors from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.exceptions import SlitherException from slither.printers import all_printers from slither.printers.abstract_printer import AbstractPrinter from slither.slither import Slither from slither.utils import codex -from slither.utils.output import ( - output_to_json, - output_to_zip, - output_to_sarif, - ZIP_TYPES_ACCEPTED, - Output, -) -from slither.utils.output_capture import StandardOutputCapture from slither.utils.colors import red, set_colorization_enabled from slither.utils.command_line import ( + DEFAULT_JSON_OUTPUT_TYPES, + JSON_OUTPUT_TYPES, FailOnLevel, + check_and_sanitize_markdown_root, + defaults_flag_in_config, output_detectors, - output_results_to_markdown, output_detectors_json, output_printers, output_printers_json, + output_results_to_markdown, output_to_markdown, output_wiki, - defaults_flag_in_config, read_config_file, - JSON_OUTPUT_TYPES, - DEFAULT_JSON_OUTPUT_TYPES, - check_and_sanitize_markdown_root, ) -from slither.exceptions import SlitherException +from slither.utils.output import ( + ZIP_TYPES_ACCEPTED, + Output, + output_to_json, + output_to_sarif, + output_to_zip, +) +from slither.utils.output_capture import StandardOutputCapture + logging.basicConfig() logger = logging.getLogger("Slither") @@ -166,12 +165,14 @@ def get_detectors_and_printers() -> Tuple[ printers = [p for p in printers_ if inspect.isclass(p) and issubclass(p, AbstractPrinter)] # Handle plugins! - if sys.version_info >= (3, 10): - entry_points = metadata.entry_points(group="slither_analyzer.plugin") + # Python 3.9 returns dict, Python 3.10+ returns EntryPoints object with select() + eps = metadata.entry_points() + if hasattr(eps, 'select'): + # Python 3.10+ + entry_points = eps.select(group="slither_analyzer.plugin") else: - from pkg_resources import iter_entry_points # pylint: disable=import-outside-toplevel - - entry_points = iter_entry_points(group="slither_analyzer.plugin", name=None) + # Python 3.9 - returns dict + entry_points = eps.get("slither_analyzer.plugin", []) for entry_point in entry_points: make_plugin = entry_point.load() @@ -298,7 +299,7 @@ def parse_args( usage += "\t- file.sol // a Solidity file\n" usage += "\t- project_directory // a project directory. See https://github.com/crytic/crytic-compile/#crytic-compile for the supported platforms\n" usage += "\t- 0x.. // a contract on mainnet\n" - usage += f"\t- NETWORK:0x.. // a contract on a different network. Supported networks: {','.join(x[:-1] for x in SUPPORTED_NETWORK)}\n" + usage += f"\t- NETWORK:0x.. // a contract on a different network. Supported networks: {','.join(x for x in SUPPORTED_NETWORK)}\n" parser = argparse.ArgumentParser( description="For usage information, see https://github.com/crytic/slither/wiki/Usage", diff --git a/slither/tools/doctor/checks/paths.py b/slither/tools/doctor/checks/paths.py index d388847ef4..bbf9f9d91e 100644 --- a/slither/tools/doctor/checks/paths.py +++ b/slither/tools/doctor/checks/paths.py @@ -13,20 +13,7 @@ def path_is_relative_to(path: Path, relative_to: Path) -> bool: Compatibility wrapper for Path.is_relative_to """ - if sys.version_info >= (3, 9, 0): - return path.is_relative_to(relative_to) - - path_parts = path.resolve().parts - relative_to_parts = relative_to.resolve().parts - - if len(path_parts) < len(relative_to_parts): - return False - - for (a, b) in zip(path_parts, relative_to_parts): - if a != b: - return False - - return True + return path.is_relative_to(relative_to) def check_path_config(name: str) -> Tuple[bool, Optional[Path], List[Path]]: diff --git a/test_ci_locally.sh b/test_ci_locally.sh new file mode 100755 index 0000000000..433195bd30 --- /dev/null +++ b/test_ci_locally.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail +IFS=$'\n\t' + +echo "=========================================" +echo "Local CI Simulation for Python 3.9 Upgrade" +echo "=========================================" + +# Color codes for output +RED='\033[0;31m' +GREEN='\033[0;32m' +YELLOW='\033[1;33m' +NC='\033[0m' # No Color + +# Check Python version +echo -e "\n${YELLOW}1. Checking Python version...${NC}" +python_version=$(python3 --version | cut -d' ' -f2) +min_version="3.9.0" +if [ "$(printf '%s\n' "$min_version" "$python_version" | sort -V | head -n1)" = "$min_version" ]; then + echo -e "${GREEN}✓ Python $python_version meets minimum requirement (>=3.9)${NC}" +else + echo -e "${RED}✗ Python $python_version does not meet minimum requirement (>=3.9)${NC}" + exit 1 +fi + +# Check for Python 3.8 references in key files +echo -e "\n${YELLOW}2. Checking for Python 3.8 references...${NC}" +files_with_38=$(grep -r "3\.8" --include="*.py" --include="*.yml" --include="*.yaml" --include="*.toml" --include="*.md" --include="setup.py" . 2>/dev/null | grep -v ".git" | grep -v "uv.lock" | grep -v "test_ci_locally.sh" || true) +if [ -z "$files_with_38" ]; then + echo -e "${GREEN}✓ No Python 3.8 references found${NC}" +else + echo -e "${RED}✗ Found Python 3.8 references:${NC}" + echo "$files_with_38" +fi + +# Run ruff linting +echo -e "\n${YELLOW}3. Running ruff linting...${NC}" +if uv run ruff check; then + echo -e "${GREEN}✓ Ruff linting passed${NC}" +else + echo -e "${RED}✗ Ruff linting failed${NC}" + exit 1 +fi + +# Test slither installation +echo -e "\n${YELLOW}4. Testing slither installation...${NC}" +if uv run slither --version > /dev/null 2>&1; then + version=$(uv run slither --version) + echo -e "${GREEN}✓ Slither runs successfully (version: $version)${NC}" +else + echo -e "${RED}✗ Slither failed to run${NC}" + exit 1 +fi + +# Test entry points plugin system +echo -e "\n${YELLOW}5. Testing entry points (plugin system)...${NC}" +if uv run python -c "from importlib import metadata; eps = metadata.entry_points().select(group='slither_analyzer.plugin'); print(f'✓ Entry points work: {list(eps)}')"; then + echo -e "${GREEN}✓ Entry points API working correctly${NC}" +else + echo -e "${RED}✗ Entry points API failed${NC}" + exit 1 +fi + +# Run a subset of unit tests +echo -e "\n${YELLOW}6. Running sample unit tests...${NC}" +if uv run pytest tests/unit/core/test_constant_folding.py -q 2>/dev/null; then + echo -e "${GREEN}✓ Sample unit tests passed${NC}" +else + echo -e "${YELLOW}⚠ Sample unit tests failed (this might be expected if test dependencies are missing)${NC}" +fi + +# Check pyproject.toml validity +echo -e "\n${YELLOW}7. Checking pyproject.toml validity...${NC}" +if python3 -c "import tomllib; tomllib.load(open('pyproject.toml', 'rb'))" 2>/dev/null || python3 -c "import toml; toml.load('pyproject.toml')" 2>/dev/null; then + echo -e "${GREEN}✓ pyproject.toml is valid${NC}" +else + echo -e "${RED}✗ pyproject.toml is invalid${NC}" + exit 1 +fi + +# Summary +echo -e "\n${YELLOW}=========================================${NC}" +echo -e "${GREEN}Local CI simulation complete!${NC}" +echo -e "${YELLOW}=========================================${NC}" +echo "" +echo "Next steps to verify CI will pass:" +echo "1. Push changes to a branch and create a PR to see actual CI results" +echo "2. Or run the full test suite locally with: UV_RUN='uv run' bash .github/scripts/unit_test_runner.sh" +echo "3. Check specific workflow files match Python versions: .github/workflows/*.yml" \ No newline at end of file From 4fd8ae2d8d2dbe7e6851f59be89b21d2eac67742 Mon Sep 17 00:00:00 2001 From: Dan Guido Date: Mon, 5 Jan 2026 14:02:09 -0500 Subject: [PATCH 039/113] Style: Apply ruff auto-fixes for formatting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Apply automatic formatting fixes from ruff: - Remove trailing whitespace - Add missing newline at end of file - Fix typos in docstrings ("Soldiity" -> "Solidity") Files affected: - 35 detector Python files - 3 upgradeability check Python files - 1 properties Python file - 1 core declarations Python file - 14 example files (sol, dot) - 1 plugin example file 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- examples/flat/a.sol | 2 +- examples/flat/b.sol | 2 +- examples/printers/authorization.sol | 2 +- examples/printers/call_graph.sol | 2 +- examples/printers/call_graph.sol.dot | 4 ++-- examples/printers/constructors.sol | 4 ++-- examples/printers/evm.sol | 2 +- examples/printers/inheritances.sol | 2 +- examples/printers/inheritances_graph.sol | 2 +- examples/printers/inheritances_graph.sol.dot | 2 +- examples/scripts/data_dependency.sol | 2 +- examples/scripts/functions_called.sol | 4 ++-- examples/scripts/test_evm_api.sol | 4 ++-- examples/scripts/variable_in_condition.sol | 2 +- plugin_example/setup.py | 2 +- slither/core/declarations/function.py | 4 ++-- slither/detectors/attributes/const_functions_asm.py | 2 +- slither/detectors/attributes/const_functions_state.py | 2 +- slither/detectors/attributes/unimplemented_interface.py | 2 +- .../compiler_bugs/multiple_constructor_schemes.py | 2 +- .../detectors/compiler_bugs/storage_ABIEncoderV2_array.py | 4 ++-- .../compiler_bugs/storage_signed_integer_array.py | 2 +- slither/detectors/functions/chainlink_feed_registry.py | 2 +- slither/detectors/functions/optimism_deprecation.py | 2 +- slither/detectors/functions/protected_variable.py | 2 +- slither/detectors/functions/pyth_deprecated_functions.py | 8 ++++---- slither/detectors/functions/unimplemented.py | 2 +- slither/detectors/operations/bad_prng.py | 2 +- slither/detectors/operations/cache_array_length.py | 8 ++++---- slither/detectors/operations/encode_packed.py | 2 +- slither/detectors/operations/missing_events_arithmetic.py | 4 ++-- slither/detectors/operations/unchecked_transfer.py | 2 +- slither/detectors/operations/unused_return_values.py | 2 +- slither/detectors/reentrancy/reentrancy_benign.py | 2 +- slither/detectors/reentrancy/reentrancy_events.py | 2 +- slither/detectors/reentrancy/reentrancy_no_gas.py | 2 +- .../detectors/reentrancy/reentrancy_read_before_write.py | 2 +- slither/detectors/statements/array_length_assignment.py | 4 ++-- slither/detectors/statements/boolean_constant_misuse.py | 2 +- slither/detectors/statements/delegatecall_in_loop.py | 2 +- slither/detectors/statements/divide_before_multiply.py | 4 ++-- slither/detectors/statements/incorrect_using_for.py | 2 +- slither/detectors/statements/pyth_unchecked_confidence.py | 4 ++-- .../detectors/statements/pyth_unchecked_publishtime.py | 4 ++-- slither/detectors/statements/return_bomb.py | 4 ++-- slither/detectors/statements/too_many_digits.py | 2 +- slither/detectors/statements/type_based_tautology.py | 2 +- slither/detectors/statements/unary.py | 2 +- .../detectors/variables/function_init_state_variables.py | 4 ++-- slither/detectors/variables/predeclaration_usage_local.py | 2 +- .../properties/ercs/erc20/properties/transfer.py | 2 +- slither/tools/upgradeability/checks/functions_ids.py | 4 ++-- slither/tools/upgradeability/checks/initialization.py | 6 +++--- slither/tools/upgradeability/checks/variables_order.py | 4 ++-- 54 files changed, 77 insertions(+), 77 deletions(-) diff --git a/examples/flat/a.sol b/examples/flat/a.sol index 4fa9c75490..6cd7ca3297 100644 --- a/examples/flat/a.sol +++ b/examples/flat/a.sol @@ -6,4 +6,4 @@ contract Example { function reverts() external pure { revert RevertIt(); } -} \ No newline at end of file +} diff --git a/examples/flat/b.sol b/examples/flat/b.sol index edbd902256..36b0a976dd 100644 --- a/examples/flat/b.sol +++ b/examples/flat/b.sol @@ -13,4 +13,4 @@ contract T { B b = B.a; return 4; } -} \ No newline at end of file +} diff --git a/examples/printers/authorization.sol b/examples/printers/authorization.sol index a4b3617542..3baa3ba84b 100644 --- a/examples/printers/authorization.sol +++ b/examples/printers/authorization.sol @@ -20,6 +20,6 @@ contract MyContract is Owner{ function mint(uint value) onlyOwner public{ balances[msg.sender] += value; - } + } } diff --git a/examples/printers/call_graph.sol b/examples/printers/call_graph.sol index 182ccbf520..9dc92da300 100644 --- a/examples/printers/call_graph.sol +++ b/examples/printers/call_graph.sol @@ -31,4 +31,4 @@ contract ContractB { function my_second_func_b(){ a.val(); } -} \ No newline at end of file +} diff --git a/examples/printers/call_graph.sol.dot b/examples/printers/call_graph.sol.dot index 7232781809..5006a3c153 100644 --- a/examples/printers/call_graph.sol.dot +++ b/examples/printers/call_graph.sol.dot @@ -19,10 +19,10 @@ label = "ContractB" } subgraph cluster_solidity { label = "[Solidity]" -"keccak256()" +"keccak256()" "22_my_func_a" -> "keccak256()" } "22_my_func_a" -> "5_library_func" "63_my_func_b" -> "22_my_func_a" "63_my_second_func_b" -> "22_val" -} \ No newline at end of file +} diff --git a/examples/printers/constructors.sol b/examples/printers/constructors.sol index 8450390323..7c223a3e74 100644 --- a/examples/printers/constructors.sol +++ b/examples/printers/constructors.sol @@ -4,7 +4,7 @@ contract test{ constructor()public{ a =5; } - + } contract test2 is test{ constructor()public{ @@ -23,4 +23,4 @@ contract test3 is test2{ b=a; } -} \ No newline at end of file +} diff --git a/examples/printers/evm.sol b/examples/printers/evm.sol index 8ea86b9ddf..f5a829f280 100644 --- a/examples/printers/evm.sol +++ b/examples/printers/evm.sol @@ -1,7 +1,7 @@ pragma solidity >=0.4.24 <0.5.4; contract Test { - + function foo() public returns (address) { address from = msg.sender; return(from); diff --git a/examples/printers/inheritances.sol b/examples/printers/inheritances.sol index adda74ef7c..08b5f09c29 100644 --- a/examples/printers/inheritances.sol +++ b/examples/printers/inheritances.sol @@ -13,4 +13,4 @@ contract ChildContract2 is BaseContract1, BaseContract2{ } contract GrandchildContract1 is ChildContract1{ -} \ No newline at end of file +} diff --git a/examples/printers/inheritances_graph.sol b/examples/printers/inheritances_graph.sol index 98aa298a16..6150a55f7d 100644 --- a/examples/printers/inheritances_graph.sol +++ b/examples/printers/inheritances_graph.sol @@ -18,4 +18,4 @@ contract C is A, B { function f() public pure returns (uint) { return 0; } -} \ No newline at end of file +} diff --git a/examples/printers/inheritances_graph.sol.dot b/examples/printers/inheritances_graph.sol.dot index 928841e7e4..ca966aee09 100644 --- a/examples/printers/inheritances_graph.sol.dot +++ b/examples/printers/inheritances_graph.sol.dot @@ -4,4 +4,4 @@ B[shape="box"label=< C -> A [ label="1" ]; C -> B [ label="2" ]; C[shape="box"label=<
B
C
Public Functions:
f()

'g()' collides in inherited contracts A, B where B is chosen.
>]; -} \ No newline at end of file +} diff --git a/examples/scripts/data_dependency.sol b/examples/scripts/data_dependency.sol index b4baf5c090..6f2a0ff8d3 100644 --- a/examples/scripts/data_dependency.sol +++ b/examples/scripts/data_dependency.sol @@ -123,4 +123,4 @@ contract SimpleModifier { require(intermediate); _; } -} \ No newline at end of file +} diff --git a/examples/scripts/functions_called.sol b/examples/scripts/functions_called.sol index aba749a499..ab521bce7b 100644 --- a/examples/scripts/functions_called.sol +++ b/examples/scripts/functions_called.sol @@ -1,5 +1,5 @@ contract BaseContract{ - + function f1() public{ } @@ -21,7 +21,7 @@ contract Contract is BaseContract{ function f2() public{ } - + // not reached from entry_point function f3() public{ diff --git a/examples/scripts/test_evm_api.sol b/examples/scripts/test_evm_api.sol index 7e02a0228f..5b9d43bfb9 100644 --- a/examples/scripts/test_evm_api.sol +++ b/examples/scripts/test_evm_api.sol @@ -3,11 +3,11 @@ pragma solidity >=0.4.24 <0.5.4; contract Test { address owner; - + constructor () public { owner = msg.sender; } - + function foo() public returns (uint) { uint i; return(i+10); diff --git a/examples/scripts/variable_in_condition.sol b/examples/scripts/variable_in_condition.sol index 5f664bf4be..3a6f7bab23 100644 --- a/examples/scripts/variable_in_condition.sol +++ b/examples/scripts/variable_in_condition.sol @@ -11,7 +11,7 @@ contract Contract{ function call_require() public{ require(a==0); } - + function read_and_write() public{ a = a + 1; } diff --git a/plugin_example/setup.py b/plugin_example/setup.py index 908ad51da2..6e1fa322aa 100644 --- a/plugin_example/setup.py +++ b/plugin_example/setup.py @@ -7,7 +7,7 @@ author="Trail of Bits", version="0.0", packages=find_packages(), - python_requires=">=3.8", + python_requires=">=3.9", install_requires=["slither-analyzer>=0.6.0"], entry_points={ "slither_analyzer.plugin": "slither my-plugin=slither_my_plugin:make_plugin", diff --git a/slither/core/declarations/function.py b/slither/core/declarations/function.py index 09ccef7cd8..eb772383b2 100644 --- a/slither/core/declarations/function.py +++ b/slither/core/declarations/function.py @@ -1295,7 +1295,7 @@ def all_conditional_solidity_variables_read( self, include_loop: bool = True ) -> List[SolidityVariable]: """ - Return the Soldiity variables directly used in a condtion + Return the Solidity variables directly used in a condition Use of the IR to filter index access Assumption: the solidity vars are used directly in the conditional node @@ -1337,7 +1337,7 @@ def _explore_func_nodes( def all_solidity_variables_used_as_args(self) -> List[SolidityVariable]: """ - Return the Soldiity variables directly used in a call + Return the Solidity variables directly used in a call Use of the IR to filter index access Used to catch check(msg.sender) diff --git a/slither/detectors/attributes/const_functions_asm.py b/slither/detectors/attributes/const_functions_asm.py index 01798e0858..7be8fdb486 100644 --- a/slither/detectors/attributes/const_functions_asm.py +++ b/slither/detectors/attributes/const_functions_asm.py @@ -50,7 +50,7 @@ class ConstantFunctionsAsm(AbstractDetector): } } ``` -`Constant` was deployed with Solidity 0.4.25. Bob writes a smart contract that interacts with `Constant` in Solidity 0.5.0. +`Constant` was deployed with Solidity 0.4.25. Bob writes a smart contract that interacts with `Constant` in Solidity 0.5.0. All the calls to `get` revert, breaking Bob's smart contract execution.""" # endregion wiki_exploit_scenario diff --git a/slither/detectors/attributes/const_functions_state.py b/slither/detectors/attributes/const_functions_state.py index d86ca7c0e1..f59c2801b8 100644 --- a/slither/detectors/attributes/const_functions_state.py +++ b/slither/detectors/attributes/const_functions_state.py @@ -50,7 +50,7 @@ class ConstantFunctionsState(AbstractDetector): } } ``` -`Constant` was deployed with Solidity 0.4.25. Bob writes a smart contract that interacts with `Constant` in Solidity 0.5.0. +`Constant` was deployed with Solidity 0.4.25. Bob writes a smart contract that interacts with `Constant` in Solidity 0.5.0. All the calls to `get` revert, breaking Bob's smart contract execution.""" # endregion wiki_exploit_scenario diff --git a/slither/detectors/attributes/unimplemented_interface.py b/slither/detectors/attributes/unimplemented_interface.py index 5c6c9c5f26..c3a0279147 100644 --- a/slither/detectors/attributes/unimplemented_interface.py +++ b/slither/detectors/attributes/unimplemented_interface.py @@ -41,7 +41,7 @@ class MissingInheritance(AbstractDetector): } } ``` -`Something` should inherit from `ISomething`. +`Something` should inherit from `ISomething`. """ # endregion wiki_exploit_scenario diff --git a/slither/detectors/compiler_bugs/multiple_constructor_schemes.py b/slither/detectors/compiler_bugs/multiple_constructor_schemes.py index ae325b2a6e..dcd6a03540 100644 --- a/slither/detectors/compiler_bugs/multiple_constructor_schemes.py +++ b/slither/detectors/compiler_bugs/multiple_constructor_schemes.py @@ -39,7 +39,7 @@ class MultipleConstructorSchemes(AbstractDetector): function A() public { x = 1; } - + function test() public returns(uint) { return x; } diff --git a/slither/detectors/compiler_bugs/storage_ABIEncoderV2_array.py b/slither/detectors/compiler_bugs/storage_ABIEncoderV2_array.py index dd34eb5e0d..9c8f7d3e8a 100644 --- a/slither/detectors/compiler_bugs/storage_ABIEncoderV2_array.py +++ b/slither/detectors/compiler_bugs/storage_ABIEncoderV2_array.py @@ -44,9 +44,9 @@ class ABIEncoderV2Array(AbstractDetector): ```solidity contract A { uint[2][3] bad_arr = [[1, 2], [3, 4], [5, 6]]; - + /* Array of arrays passed to abi.encode is vulnerable */ - function bad() public { + function bad() public { bytes memory b = abi.encode(bad_arr); } } diff --git a/slither/detectors/compiler_bugs/storage_signed_integer_array.py b/slither/detectors/compiler_bugs/storage_signed_integer_array.py index cfd13cdbc9..f456e42077 100644 --- a/slither/detectors/compiler_bugs/storage_signed_integer_array.py +++ b/slither/detectors/compiler_bugs/storage_signed_integer_array.py @@ -53,7 +53,7 @@ class StorageSignedIntegerArray(AbstractDetector): } } ``` -`bad0()` uses a (storage-allocated) signed integer array state variable to store the ether balances of three accounts. +`bad0()` uses a (storage-allocated) signed integer array state variable to store the ether balances of three accounts. `-1` is supposed to indicate uninitialized values but the Solidity bug makes these as `1`, which could be exploited by the accounts. """ # endregion wiki_exploit_scenario diff --git a/slither/detectors/functions/chainlink_feed_registry.py b/slither/detectors/functions/chainlink_feed_registry.py index 6367516dcb..326e8a8eec 100644 --- a/slither/detectors/functions/chainlink_feed_registry.py +++ b/slither/detectors/functions/chainlink_feed_registry.py @@ -37,7 +37,7 @@ class ChainlinkFeedRegistry(AbstractDetector): // Do price validation return uint256(price); } -} +} ``` If the contract is deployed on a different chain than Ethereum Mainnet the `getPrice` function will revert. """ diff --git a/slither/detectors/functions/optimism_deprecation.py b/slither/detectors/functions/optimism_deprecation.py index b4d0a41531..26da75e5ff 100644 --- a/slither/detectors/functions/optimism_deprecation.py +++ b/slither/detectors/functions/optimism_deprecation.py @@ -34,7 +34,7 @@ class OptimismDeprecation(AbstractDetector): GasPriceOracle constant OPT_GAS = GasPriceOracle(0x420000000000000000000000000000000000000F); function a() public { - OPT_GAS.scalar(); + OPT_GAS.scalar(); } } ``` diff --git a/slither/detectors/functions/protected_variable.py b/slither/detectors/functions/protected_variable.py index b9260abd61..06604c0121 100644 --- a/slither/detectors/functions/protected_variable.py +++ b/slither/detectors/functions/protected_variable.py @@ -41,7 +41,7 @@ class ProtectedVariables(AbstractDetector): function set_not_protected() public{ owner = msg.sender; } -} +} ``` `owner` must be always written by function using `onlyOwner` (`write-protection="onlyOwner()"`), however anyone can call `set_not_protected`. """ diff --git a/slither/detectors/functions/pyth_deprecated_functions.py b/slither/detectors/functions/pyth_deprecated_functions.py index 87cff9181b..f700f6760a 100644 --- a/slither/detectors/functions/pyth_deprecated_functions.py +++ b/slither/detectors/functions/pyth_deprecated_functions.py @@ -33,18 +33,18 @@ class PythDeprecatedFunctions(AbstractDetector): contract C { IPyth pyth; - + constructor(IPyth _pyth) { pyth = _pyth; } - + function A(bytes32 priceId) public { PythStructs.Price memory price = pyth.getPrice(priceId); ... } -} +} ``` -The function `A` uses the deprecated `getPrice` Pyth function. +The function `A` uses the deprecated `getPrice` Pyth function. """ def _detect(self): diff --git a/slither/detectors/functions/unimplemented.py b/slither/detectors/functions/unimplemented.py index 27a2d94a98..0993d6c462 100644 --- a/slither/detectors/functions/unimplemented.py +++ b/slither/detectors/functions/unimplemented.py @@ -58,7 +58,7 @@ class UnimplementedFunctionDetection(AbstractDetector): } ``` `DerivedContract` does not implement `BaseInterface.f2` or `BaseInterface2.f3`. -As a result, the contract will not properly compile. +As a result, the contract will not properly compile. All unimplemented functions must be implemented on a contract that is meant to be used.""" # endregion wiki_exploit_scenario diff --git a/slither/detectors/operations/bad_prng.py b/slither/detectors/operations/bad_prng.py index f816e96c83..a09eb58b11 100644 --- a/slither/detectors/operations/bad_prng.py +++ b/slither/detectors/operations/bad_prng.py @@ -111,7 +111,7 @@ class BadPRNG(AbstractDetector): } } ``` -Eve is a miner. Eve calls `guessing` and re-orders the block containing the transaction. +Eve is a miner. Eve calls `guessing` and re-orders the block containing the transaction. As a result, Eve wins the game.""" # endregion wiki_exploit_scenario diff --git a/slither/detectors/operations/cache_array_length.py b/slither/detectors/operations/cache_array_length.py index eb4f43fa56..8f905b1adb 100644 --- a/slither/detectors/operations/cache_array_length.py +++ b/slither/detectors/operations/cache_array_length.py @@ -34,8 +34,8 @@ class CacheArrayLength(AbstractDetector): contract C { uint[] array; - - function f() public + + function f() public { for (uint i = 0; i < array.length; i++) { @@ -50,8 +50,8 @@ class CacheArrayLength(AbstractDetector): contract C { uint[] array; - - function f() public + + function f() public { uint array_length = array.length; for (uint i = 0; i < array_length; i++) diff --git a/slither/detectors/operations/encode_packed.py b/slither/detectors/operations/encode_packed.py index b661ddcd72..ddc5bb842a 100644 --- a/slither/detectors/operations/encode_packed.py +++ b/slither/detectors/operations/encode_packed.py @@ -80,7 +80,7 @@ class EncodePackedCollision(AbstractDetector): Eve creates a collision with the ID using (`bo`, `bThis is the content`) and compromises the system. """ WIKI_RECOMMENDATION = """Do not use more than one dynamic type in `abi.encodePacked()` -(see the [Solidity documentation](https://solidity.readthedocs.io/en/v0.5.10/abi-spec.html?highlight=abi.encodePacked#non-standard-packed-modeDynamic)). +(see the [Solidity documentation](https://solidity.readthedocs.io/en/v0.5.10/abi-spec.html?highlight=abi.encodePacked#non-standard-packed-modeDynamic)). Use `abi.encode()`, preferably.""" def _detect(self): diff --git a/slither/detectors/operations/missing_events_arithmetic.py b/slither/detectors/operations/missing_events_arithmetic.py index c17ed32a3a..ce267c7293 100644 --- a/slither/detectors/operations/missing_events_arithmetic.py +++ b/slither/detectors/operations/missing_events_arithmetic.py @@ -49,10 +49,10 @@ class MissingEventsArithmetic(AbstractDetector): function buy() external { ... // buyPrice is used to determine the number of tokens purchased - } + } } ``` -`setBuyPrice()` does not emit an event, so it is difficult to track changes in the value of `buyPrice` off-chain. +`setBuyPrice()` does not emit an event, so it is difficult to track changes in the value of `buyPrice` off-chain. """ # endregion wiki_exploit_scenario diff --git a/slither/detectors/operations/unchecked_transfer.py b/slither/detectors/operations/unchecked_transfer.py index 1992867cd2..ead9859a1a 100644 --- a/slither/detectors/operations/unchecked_transfer.py +++ b/slither/detectors/operations/unchecked_transfer.py @@ -30,7 +30,7 @@ class UncheckedTransfer(UnusedReturnValues): contract Token { function transferFrom(address _from, address _to, uint256 _value) public returns (bool success); } -contract MyBank{ +contract MyBank{ mapping(address => uint) balances; Token token; function deposit(uint amount) public{ diff --git a/slither/detectors/operations/unused_return_values.py b/slither/detectors/operations/unused_return_values.py index 8b6ca1f26b..17cee29e44 100644 --- a/slither/detectors/operations/unused_return_values.py +++ b/slither/detectors/operations/unused_return_values.py @@ -38,7 +38,7 @@ class UnusedReturnValues(AbstractDetector): WIKI_EXPLOIT_SCENARIO = """ ```solidity contract MyConc{ - using SafeMath for uint; + using SafeMath for uint; function my_func(uint a, uint b) public{ a.add(b); } diff --git a/slither/detectors/reentrancy/reentrancy_benign.py b/slither/detectors/reentrancy/reentrancy_benign.py index 25fe0ff038..06cc370202 100644 --- a/slither/detectors/reentrancy/reentrancy_benign.py +++ b/slither/detectors/reentrancy/reentrancy_benign.py @@ -41,7 +41,7 @@ class ReentrancyBenign(Reentrancy): throw; } counter += 1 - } + } ``` `callme` contains a reentrancy. The reentrancy is benign because it's exploitation would have the same effect as two consecutive calls.""" diff --git a/slither/detectors/reentrancy/reentrancy_events.py b/slither/detectors/reentrancy/reentrancy_events.py index ac9c049c4c..8741b5e729 100644 --- a/slither/detectors/reentrancy/reentrancy_events.py +++ b/slither/detectors/reentrancy/reentrancy_events.py @@ -63,7 +63,7 @@ class ReentrancyEvent(Reentrancy): } ``` -If the external call `d.f()` re-enters `BugReentrancyEvents`, the `Counter` events will be incorrect (`Counter(2)`, `Counter(2)`) whereas `NoReentrancyEvents` will correctly emit +If the external call `d.f()` re-enters `BugReentrancyEvents`, the `Counter` events will be incorrect (`Counter(2)`, `Counter(2)`) whereas `NoReentrancyEvents` will correctly emit (`Counter(1)`, `Counter(2)`). This may cause issues for offchain components that rely on the values of events e.g. checking for the amount deposited to a bridge.""" # endregion wiki_exploit_scenario diff --git a/slither/detectors/reentrancy/reentrancy_no_gas.py b/slither/detectors/reentrancy/reentrancy_no_gas.py index c559d76df8..0e5ecc8f8a 100644 --- a/slither/detectors/reentrancy/reentrancy_no_gas.py +++ b/slither/detectors/reentrancy/reentrancy_no_gas.py @@ -46,7 +46,7 @@ class ReentrancyNoGas(Reentrancy): function callme(){ msg.sender.transfer(balances[msg.sender]): balances[msg.sender] = 0; - } + } ``` `send` and `transfer` do not protect from reentrancies in case of gas price changes.""" diff --git a/slither/detectors/reentrancy/reentrancy_read_before_write.py b/slither/detectors/reentrancy/reentrancy_read_before_write.py index c149d5a4af..a103108401 100644 --- a/slither/detectors/reentrancy/reentrancy_read_before_write.py +++ b/slither/detectors/reentrancy/reentrancy_read_before_write.py @@ -42,7 +42,7 @@ class ReentrancyReadBeforeWritten(Reentrancy): throw; } not_called = False; - } + } ``` """ # endregion wiki_exploit_scenario diff --git a/slither/detectors/statements/array_length_assignment.py b/slither/detectors/statements/array_length_assignment.py index 70dc5aadbb..78abc73db6 100644 --- a/slither/detectors/statements/array_length_assignment.py +++ b/slither/detectors/statements/array_length_assignment.py @@ -102,8 +102,8 @@ class ArrayLengthAssignment(AbstractDetector): } ``` Contract storage/state-variables are indexed by a 256-bit integer. -The user can set the array length to `2**256-1` in order to index all storage slots. -In the example above, one could call the function `f` to set the array length, then call the function `g` to control any storage slot desired. +The user can set the array length to `2**256-1` in order to index all storage slots. +In the example above, one could call the function `f` to set the array length, then call the function `g` to control any storage slot desired. Note that storage slots here are indexed via a hash of the indexers; nonetheless, all storage will still be accessible and could be controlled by the attacker.""" # endregion wiki_exploit_scenario diff --git a/slither/detectors/statements/boolean_constant_misuse.py b/slither/detectors/statements/boolean_constant_misuse.py index 093e43fee6..8f1836c352 100644 --- a/slither/detectors/statements/boolean_constant_misuse.py +++ b/slither/detectors/statements/boolean_constant_misuse.py @@ -61,7 +61,7 @@ class BooleanConstantMisuse(AbstractDetector): } } ``` -Boolean constants in code have only a few legitimate uses. +Boolean constants in code have only a few legitimate uses. Other uses (in complex expressions, as conditionals) indicate either an error or, most likely, the persistence of faulty code.""" # endregion wiki_exploit_scenario diff --git a/slither/detectors/statements/delegatecall_in_loop.py b/slither/detectors/statements/delegatecall_in_loop.py index e28345f651..8770ba3491 100644 --- a/slither/detectors/statements/delegatecall_in_loop.py +++ b/slither/detectors/statements/delegatecall_in_loop.py @@ -89,7 +89,7 @@ class DelegatecallInLoop(AbstractDetector): function addBalance(address a) public payable { balances[a] += msg.value; - } + } } ``` diff --git a/slither/detectors/statements/divide_before_multiply.py b/slither/detectors/statements/divide_before_multiply.py index 6734fb239d..33630480b6 100644 --- a/slither/detectors/statements/divide_before_multiply.py +++ b/slither/detectors/statements/divide_before_multiply.py @@ -178,8 +178,8 @@ class DivideBeforeMultiply(AbstractDetector): } } ``` -If `n` is greater than `oldSupply`, `coins` will be zero. For example, with `oldSupply = 5; n = 10, interest = 2`, coins will be zero. -If `(oldSupply * interest / n)` was used, `coins` would have been `1`. +If `n` is greater than `oldSupply`, `coins` will be zero. For example, with `oldSupply = 5; n = 10, interest = 2`, coins will be zero. +If `(oldSupply * interest / n)` was used, `coins` would have been `1`. In general, it's usually a good idea to re-arrange arithmetic to perform multiplication before division, unless the limit of a smaller type makes this dangerous.""" # endregion wiki_exploit_scenario diff --git a/slither/detectors/statements/incorrect_using_for.py b/slither/detectors/statements/incorrect_using_for.py index f964082abc..5d9c8f0cf5 100644 --- a/slither/detectors/statements/incorrect_using_for.py +++ b/slither/detectors/statements/incorrect_using_for.py @@ -181,7 +181,7 @@ class IncorrectUsingFor(AbstractDetector): library L { function f(bool) public pure {} } - + using L for uint; ``` Such a code will compile despite the fact that `L` has no function with `uint` as its first argument.""" diff --git a/slither/detectors/statements/pyth_unchecked_confidence.py b/slither/detectors/statements/pyth_unchecked_confidence.py index f1cc3d33ba..6c5002f422 100644 --- a/slither/detectors/statements/pyth_unchecked_confidence.py +++ b/slither/detectors/statements/pyth_unchecked_confidence.py @@ -33,9 +33,9 @@ class PythUncheckedConfidence(PythUnchecked): PythStructs.Price memory price = pyth.getEmaPriceNoOlderThan(id, age); // Use price } -} +} ``` -The function `A` uses the price without checking its confidence level. +The function `A` uses the price without checking its confidence level. """ PYTH_FUNCTIONS = [ diff --git a/slither/detectors/statements/pyth_unchecked_publishtime.py b/slither/detectors/statements/pyth_unchecked_publishtime.py index e3e2010d67..467ef23629 100644 --- a/slither/detectors/statements/pyth_unchecked_publishtime.py +++ b/slither/detectors/statements/pyth_unchecked_publishtime.py @@ -35,9 +35,9 @@ class PythUncheckedPublishTime(PythUnchecked): PythStructs.Price memory price = pyth.getEmaPriceUnsafe(id); // Use price } -} +} ``` -The function `A` uses the price without checking its `publishTime` coming from the `getEmaPriceUnsafe` function. +The function `A` uses the price without checking its `publishTime` coming from the `getEmaPriceUnsafe` function. """ PYTH_FUNCTIONS = [ diff --git a/slither/detectors/statements/return_bomb.py b/slither/detectors/statements/return_bomb.py index 6d7052cf40..a540ada191 100644 --- a/slither/detectors/statements/return_bomb.py +++ b/slither/detectors/statements/return_bomb.py @@ -55,8 +55,8 @@ class ReturnBomb(AbstractDetector): } ``` -After Mark calls BadGuy bytes are copied from returndata to memory, the memory expansion cost is paid. This means that when using a standard solidity call, the callee can "returnbomb" the caller, imposing an arbitrary gas cost. -Callee unexpectedly makes the caller OOG. +After Mark calls BadGuy bytes are copied from returndata to memory, the memory expansion cost is paid. This means that when using a standard solidity call, the callee can "returnbomb" the caller, imposing an arbitrary gas cost. +Callee unexpectedly makes the caller OOG. """ WIKI_RECOMMENDATION = "Avoid unlimited implicit decoding of returndata." diff --git a/slither/detectors/statements/too_many_digits.py b/slither/detectors/statements/too_many_digits.py index 4d50707d61..97247dbd22 100644 --- a/slither/detectors/statements/too_many_digits.py +++ b/slither/detectors/statements/too_many_digits.py @@ -48,7 +48,7 @@ class TooManyDigits(AbstractDetector): WIKI_EXPLOIT_SCENARIO = """ ```solidity contract MyContract{ - uint 1_ether = 10000000000000000000; + uint 1_ether = 10000000000000000000; } ``` diff --git a/slither/detectors/statements/type_based_tautology.py b/slither/detectors/statements/type_based_tautology.py index 2e0fc84806..f7554ceb4c 100644 --- a/slither/detectors/statements/type_based_tautology.py +++ b/slither/detectors/statements/type_based_tautology.py @@ -99,7 +99,7 @@ class TypeBasedTautology(AbstractDetector): } ``` `x` is a `uint256`, so `x >= 0` will be always true. -`y` is a `uint8`, so `y <512` will be always true. +`y` is a `uint8`, so `y <512` will be always true. """ # endregion wiki_exploit_scenario diff --git a/slither/detectors/statements/unary.py b/slither/detectors/statements/unary.py index 9c0add2389..52e8fe1705 100644 --- a/slither/detectors/statements/unary.py +++ b/slither/detectors/statements/unary.py @@ -62,7 +62,7 @@ class IncorrectUnaryExpressionDetection(AbstractDetector): # region wiki_exploit_scenario WIKI_EXPLOIT_SCENARIO = """ -```Solidity +```Solidity contract Bug{ uint public counter; diff --git a/slither/detectors/variables/function_init_state_variables.py b/slither/detectors/variables/function_init_state_variables.py index e440a4f964..bf2fdc6bdb 100644 --- a/slither/detectors/variables/function_init_state_variables.py +++ b/slither/detectors/variables/function_init_state_variables.py @@ -86,8 +86,8 @@ class FunctionInitializedState(AbstractDetector): } } ``` -In this case, users might intend a function to return a value a state variable can initialize with, without realizing the context for the contract is not fully initialized. -In the example above, the same function sets two different values for state variables because it checks a state variable that is not yet initialized in one case, and is initialized in the other. +In this case, users might intend a function to return a value a state variable can initialize with, without realizing the context for the contract is not fully initialized. +In the example above, the same function sets two different values for state variables because it checks a state variable that is not yet initialized in one case, and is initialized in the other. Special care must be taken when initializing state variables from an immediate function call so as not to incorrectly assume the state is initialized. """ # endregion wiki_exploit_scenario diff --git a/slither/detectors/variables/predeclaration_usage_local.py b/slither/detectors/variables/predeclaration_usage_local.py index 9816dd6e24..a08d485f34 100644 --- a/slither/detectors/variables/predeclaration_usage_local.py +++ b/slither/detectors/variables/predeclaration_usage_local.py @@ -53,7 +53,7 @@ class PredeclarationUsageLocal(AbstractDetector): } } ``` -In the case above, the variable `x` is used before its declaration, which may result in unintended consequences. +In the case above, the variable `x` is used before its declaration, which may result in unintended consequences. Additionally, the for-loop uses the variable `max`, which is declared in a previous scope that may not always be reached. This could lead to unintended consequences if the user mistakenly uses a variable prior to any intended declaration assignment. It also may indicate that the user intended to reference a different variable.""" # endregion wiki_exploit_scenario diff --git a/slither/tools/properties/properties/ercs/erc20/properties/transfer.py b/slither/tools/properties/properties/ercs/erc20/properties/transfer.py index 540b8e2954..cbef6ce121 100644 --- a/slither/tools/properties/properties/ercs/erc20/properties/transfer.py +++ b/slither/tools/properties/properties/ercs/erc20/properties/transfer.py @@ -21,7 +21,7 @@ name="crytic_approve_overwrites()", description="Allowance can be changed.", content=""" -\t\tbool approve_return; +\t\tbool approve_return; \t\tapprove_return = approve(crytic_user, 10); \t\trequire(approve_return); \t\tapprove_return = approve(crytic_user, 20); diff --git a/slither/tools/upgradeability/checks/functions_ids.py b/slither/tools/upgradeability/checks/functions_ids.py index a7a45f405a..ab0e91bebf 100644 --- a/slither/tools/upgradeability/checks/functions_ids.py +++ b/slither/tools/upgradeability/checks/functions_ids.py @@ -65,8 +65,8 @@ class IDCollision(AbstractCheck): } } ``` -`Proxy.tgeo()` and `Contract.gsf()` have the same function id (0x67e43e43). -As a result, `Proxy.tgeo()` will shadow Contract.gsf()`. +`Proxy.tgeo()` and `Contract.gsf()` have the same function id (0x67e43e43). +As a result, `Proxy.tgeo()` will shadow Contract.gsf()`. """ # endregion wiki_exploit_scenario diff --git a/slither/tools/upgradeability/checks/initialization.py b/slither/tools/upgradeability/checks/initialization.py index e31a71947b..6da83a171f 100644 --- a/slither/tools/upgradeability/checks/initialization.py +++ b/slither/tools/upgradeability/checks/initialization.py @@ -179,7 +179,7 @@ class MissingInitializerModifier(AbstractCheck): } ``` -`initialize` should have the `initializer` modifier to prevent someone from initializing the contract multiple times. +`initialize` should have the `initializer` modifier to prevent someone from initializing the contract multiple times. """ # endregion wiki_exploit_scenario @@ -246,7 +246,7 @@ class MissingCalls(AbstractCheck): } ``` -`Derived.initialize` does not call `Base.initialize` leading the contract to not be correctly initialized. +`Derived.initialize` does not call `Base.initialize` leading the contract to not be correctly initialized. """ # endregion wiki_exploit_scenario @@ -368,7 +368,7 @@ class InitializeTarget(AbstractCheck): # region wiki_description WIKI_DESCRIPTION = """ -Show the function that must be called at deployment. +Show the function that must be called at deployment. This finding does not have an immediate security impact and is informative. """ diff --git a/slither/tools/upgradeability/checks/variables_order.py b/slither/tools/upgradeability/checks/variables_order.py index 8f5017d74c..647eb1bbe2 100644 --- a/slither/tools/upgradeability/checks/variables_order.py +++ b/slither/tools/upgradeability/checks/variables_order.py @@ -36,7 +36,7 @@ class MissingVariable(AbstractCheck): uint variable1; } ``` -The new version, `V2` does not contain `variable1`. +The new version, `V2` does not contain `variable1`. If a new variable is added in an update of `V2`, this variable will hold the latest value of `variable2` and will be corrupted. """ @@ -292,7 +292,7 @@ class ExtraVariablesNewContract(ExtraVariablesProxy): # region wiki_description WIKI_DESCRIPTION = """ -Show new variables in the updated contract. +Show new variables in the updated contract. This finding does not have an immediate security impact and is informative. """ From c882a2dc419b20a3dbe882545c6ddbbbc1ff218e Mon Sep 17 00:00:00 2001 From: Simone Date: Mon, 5 Jan 2026 20:58:26 +0100 Subject: [PATCH 040/113] Remove codex detector --- README.md | 167 +++++++++---------- docs/src/Usage.md | 7 - docs/src/detectors/Detector-Documentation.md | 20 --- slither/__main__.py | 3 - slither/detectors/all_detectors.py | 1 - slither/detectors/functions/codex.py | 136 --------------- 6 files changed, 83 insertions(+), 251 deletions(-) delete mode 100644 slither/detectors/functions/codex.py diff --git a/README.md b/README.md index b76cffdd2a..6c57b04292 100644 --- a/README.md +++ b/README.md @@ -143,90 +143,89 @@ Num | Detector | What it Detects | Impact | Confidence 13 | `uninitialized-state` | [Uninitialized state variables](https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-state-variables) | High | High 14 | `uninitialized-storage` | [Uninitialized storage variables](https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-storage-variables) | High | High 15 | `unprotected-upgrade` | [Unprotected upgradeable contract](https://github.com/crytic/slither/wiki/Detector-Documentation#unprotected-upgradeable-contract) | High | High -16 | `codex` | [Use Codex to find vulnerabilities.](https://github.com/crytic/slither/wiki/Detector-Documentation#codex) | High | Low -17 | `arbitrary-send-erc20-permit` | [transferFrom uses arbitrary from with permit](https://github.com/crytic/slither/wiki/Detector-Documentation#arbitrary-from-in-transferfrom-used-with-permit) | High | Medium -18 | `arbitrary-send-eth` | [Functions that send Ether to arbitrary destinations](https://github.com/crytic/slither/wiki/Detector-Documentation#functions-that-send-ether-to-arbitrary-destinations) | High | Medium -19 | `controlled-array-length` | [Tainted array length assignment](https://github.com/crytic/slither/wiki/Detector-Documentation#array-length-assignment) | High | Medium -20 | `controlled-delegatecall` | [Controlled delegatecall destination](https://github.com/crytic/slither/wiki/Detector-Documentation#controlled-delegatecall) | High | Medium -21 | `delegatecall-loop` | [Payable functions using `delegatecall` inside a loop](https://github.com/crytic/slither/wiki/Detector-Documentation/#payable-functions-using-delegatecall-inside-a-loop) | High | Medium -22 | `incorrect-exp` | [Incorrect exponentiation](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-exponentiation) | High | Medium -23 | `incorrect-return` | [If a `return` is incorrectly used in assembly mode.](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-return-in-assembly) | High | Medium -24 | `msg-value-loop` | [msg.value inside a loop](https://github.com/crytic/slither/wiki/Detector-Documentation/#msgvalue-inside-a-loop) | High | Medium -25 | `reentrancy-eth` | [Reentrancy vulnerabilities (theft of ethers)](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities) | High | Medium -26 | `return-leave` | [If a `return` is used instead of a `leave`.](https://github.com/crytic/slither/wiki/Detector-Documentation#return-instead-of-leave-in-assembly) | High | Medium -27 | `storage-array` | [Signed storage integer array compiler bug](https://github.com/crytic/slither/wiki/Detector-Documentation#storage-signed-integer-array) | High | Medium -28 | `unchecked-transfer` | [Unchecked tokens transfer](https://github.com/crytic/slither/wiki/Detector-Documentation#unchecked-transfer) | High | Medium -29 | `weak-prng` | [Weak PRNG](https://github.com/crytic/slither/wiki/Detector-Documentation#weak-PRNG) | High | Medium -30 | `domain-separator-collision` | [Detects ERC20 tokens that have a function whose signature collides with EIP-2612's DOMAIN_SEPARATOR()](https://github.com/crytic/slither/wiki/Detector-Documentation#domain-separator-collision) | Medium | High -31 | `enum-conversion` | [Detect dangerous enum conversion](https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-enum-conversion) | Medium | High -32 | `erc20-interface` | [Incorrect ERC20 interfaces](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-erc20-interface) | Medium | High -33 | `erc721-interface` | [Incorrect ERC721 interfaces](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-erc721-interface) | Medium | High -34 | `incorrect-equality` | [Dangerous strict equalities](https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-strict-equalities) | Medium | High -35 | `locked-ether` | [Contracts that lock ether](https://github.com/crytic/slither/wiki/Detector-Documentation#contracts-that-lock-ether) | Medium | High -36 | `mapping-deletion` | [Deletion on mapping containing a structure](https://github.com/crytic/slither/wiki/Detector-Documentation#deletion-on-mapping-containing-a-structure) | Medium | High -37 | `pyth-deprecated-functions` | [Detect Pyth deprecated functions](https://github.com/crytic/slither/wiki/Detector-Documentation#pyth-deprecated-functions) | Medium | High -38 | `pyth-unchecked-confidence` | [Detect when the confidence level of a Pyth price is not checked](https://github.com/crytic/slither/wiki/Detector-Documentation#pyth-unchecked-confidence-level) | Medium | High -39 | `pyth-unchecked-publishtime` | [Detect when the publishTime of a Pyth price is not checked](https://github.com/crytic/slither/wiki/Detector-Documentation#pyth-unchecked-publishtime) | Medium | High -40 | `shadowing-abstract` | [State variables shadowing from abstract contracts](https://github.com/crytic/slither/wiki/Detector-Documentation#state-variable-shadowing-from-abstract-contracts) | Medium | High -41 | `tautological-compare` | [Comparing a variable to itself always returns true or false, depending on comparison](https://github.com/crytic/slither/wiki/Detector-Documentation#tautological-compare) | Medium | High -42 | `tautology` | [Tautology or contradiction](https://github.com/crytic/slither/wiki/Detector-Documentation#tautology-or-contradiction) | Medium | High -43 | `write-after-write` | [Unused write](https://github.com/crytic/slither/wiki/Detector-Documentation#write-after-write) | Medium | High -44 | `boolean-cst` | [Misuse of Boolean constant](https://github.com/crytic/slither/wiki/Detector-Documentation#misuse-of-a-boolean-constant) | Medium | Medium -45 | `chronicle-unchecked-price` | [Detect when Chronicle price is not checked.](https://github.com/crytic/slither/wiki/Detector-Documentation#chronicle-unchecked-price) | Medium | Medium -46 | `constant-function-asm` | [Constant functions using assembly code](https://github.com/crytic/slither/wiki/Detector-Documentation#constant-functions-using-assembly-code) | Medium | Medium -47 | `constant-function-state` | [Constant functions changing the state](https://github.com/crytic/slither/wiki/Detector-Documentation#constant-functions-changing-the-state) | Medium | Medium -48 | `divide-before-multiply` | [Imprecise arithmetic operations order](https://github.com/crytic/slither/wiki/Detector-Documentation#divide-before-multiply) | Medium | Medium -49 | `gelato-unprotected-randomness` | [Call to `_requestRandomness` within an unprotected function](https://github.com/crytic/slither/wiki/Detector-Documentation#gelato-unprotected-randomness) | Medium | Medium -50 | `out-of-order-retryable` | [Out-of-order retryable transactions](https://github.com/crytic/slither/wiki/Detector-Documentation#out-of-order-retryable-transactions) | Medium | Medium -51 | `reentrancy-no-eth` | [Reentrancy vulnerabilities (no theft of ethers)](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-1) | Medium | Medium -52 | `reused-constructor` | [Reused base constructor](https://github.com/crytic/slither/wiki/Detector-Documentation#reused-base-constructors) | Medium | Medium -53 | `tx-origin` | [Dangerous usage of `tx.origin`](https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-usage-of-txorigin) | Medium | Medium -54 | `unchecked-lowlevel` | [Unchecked low-level calls](https://github.com/crytic/slither/wiki/Detector-Documentation#unchecked-low-level-calls) | Medium | Medium -55 | `unchecked-send` | [Unchecked send](https://github.com/crytic/slither/wiki/Detector-Documentation#unchecked-send) | Medium | Medium -56 | `uninitialized-local` | [Uninitialized local variables](https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables) | Medium | Medium -57 | `unused-return` | [Unused return values](https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return) | Medium | Medium -58 | `chainlink-feed-registry` | [Detect when chainlink feed registry is used](https://github.com/crytic/slither/wiki/Detector-Documentation#chainlink-feed-registry-usage) | Low | High -59 | `incorrect-modifier` | [Modifiers that can return the default value](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-modifier) | Low | High -60 | `optimism-deprecation` | [Detect when deprecated Optimism predeploy or function is used.](https://github.com/crytic/slither/wiki/Detector-Documentation#optimism-deprecated-predeploy-or-function) | Low | High -61 | `shadowing-builtin` | [Built-in symbol shadowing](https://github.com/crytic/slither/wiki/Detector-Documentation#builtin-symbol-shadowing) | Low | High -62 | `shadowing-local` | [Local variables shadowing](https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing) | Low | High -63 | `uninitialized-fptr-cst` | [Uninitialized function pointer calls in constructors](https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-function-pointers-in-constructors) | Low | High -64 | `variable-scope` | [Local variables used prior their declaration](https://github.com/crytic/slither/wiki/Detector-Documentation#pre-declaration-usage-of-local-variables) | Low | High -65 | `void-cst` | [Constructor called not implemented](https://github.com/crytic/slither/wiki/Detector-Documentation#void-constructor) | Low | High -66 | `calls-loop` | [Multiple calls in a loop](https://github.com/crytic/slither/wiki/Detector-Documentation/#calls-inside-a-loop) | Low | Medium -67 | `events-access` | [Missing Events Access Control](https://github.com/crytic/slither/wiki/Detector-Documentation#missing-events-access-control) | Low | Medium -68 | `events-maths` | [Missing Events Arithmetic](https://github.com/crytic/slither/wiki/Detector-Documentation#missing-events-arithmetic) | Low | Medium -69 | `incorrect-unary` | [Dangerous unary expressions](https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-unary-expressions) | Low | Medium -70 | `missing-zero-check` | [Missing Zero Address Validation](https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation) | Low | Medium -71 | `reentrancy-benign` | [Benign reentrancy vulnerabilities](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-2) | Low | Medium -72 | `reentrancy-events` | [Reentrancy vulnerabilities leading to out-of-order Events](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3) | Low | Medium -73 | `return-bomb` | [A low level callee may consume all callers gas unexpectedly.](https://github.com/crytic/slither/wiki/Detector-Documentation#return-bomb) | Low | Medium -74 | `timestamp` | [Dangerous usage of `block.timestamp`](https://github.com/crytic/slither/wiki/Detector-Documentation#block-timestamp) | Low | Medium -75 | `assembly` | [Assembly usage](https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage) | Informational | High -76 | `assert-state-change` | [Assert state change](https://github.com/crytic/slither/wiki/Detector-Documentation#assert-state-change) | Informational | High -77 | `boolean-equal` | [Comparison to boolean constant](https://github.com/crytic/slither/wiki/Detector-Documentation#boolean-equality) | Informational | High -78 | `cyclomatic-complexity` | [Detects functions with high (> 11) cyclomatic complexity](https://github.com/crytic/slither/wiki/Detector-Documentation#cyclomatic-complexity) | Informational | High -79 | `deprecated-standards` | [Deprecated Solidity Standards](https://github.com/crytic/slither/wiki/Detector-Documentation#deprecated-standards) | Informational | High -80 | `erc20-indexed` | [Un-indexed ERC20 event parameters](https://github.com/crytic/slither/wiki/Detector-Documentation#unindexed-erc20-event-parameters) | Informational | High -81 | `function-init-state` | [Function initializing state variables](https://github.com/crytic/slither/wiki/Detector-Documentation#function-initializing-state) | Informational | High -82 | `incorrect-using-for` | [Detects using-for statement usage when no function from a given library matches a given type](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-usage-of-using-for-statement) | Informational | High -83 | `low-level-calls` | [Low level calls](https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls) | Informational | High -84 | `missing-inheritance` | [Missing inheritance](https://github.com/crytic/slither/wiki/Detector-Documentation#missing-inheritance) | Informational | High -85 | `naming-convention` | [Conformity to Solidity naming conventions](https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions) | Informational | High -86 | `pragma` | [If different pragma directives are used](https://github.com/crytic/slither/wiki/Detector-Documentation#different-pragma-directives-are-used) | Informational | High -87 | `redundant-statements` | [Redundant statements](https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements) | Informational | High -88 | `solc-version` | [Incorrect Solidity version](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity) | Informational | High -89 | `unimplemented-functions` | [Unimplemented functions](https://github.com/crytic/slither/wiki/Detector-Documentation#unimplemented-functions) | Informational | High -90 | `unused-state` | [Unused state variables](https://github.com/crytic/slither/wiki/Detector-Documentation#unused-state-variable) | Informational | High -91 | `costly-loop` | [Costly operations in a loop](https://github.com/crytic/slither/wiki/Detector-Documentation#costly-operations-inside-a-loop) | Informational | Medium -92 | `dead-code` | [Functions that are not used](https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code) | Informational | Medium -93 | `reentrancy-unlimited-gas` | [Reentrancy vulnerabilities through send and transfer](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-4) | Informational | Medium -94 | `too-many-digits` | [Conformance to numeric notation best practices](https://github.com/crytic/slither/wiki/Detector-Documentation#too-many-digits) | Informational | Medium -95 | `cache-array-length` | [Detects `for` loops that use `length` member of some storage array in their loop condition and don't modify it.](https://github.com/crytic/slither/wiki/Detector-Documentation#cache-array-length) | Optimization | High -96 | `constable-states` | [State variables that could be declared constant](https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-constant) | Optimization | High -97 | `external-function` | [Public function that could be declared external](https://github.com/crytic/slither/wiki/Detector-Documentation#public-function-that-could-be-declared-external) | Optimization | High -98 | `immutable-states` | [State variables that could be declared immutable](https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-immutable) | Optimization | High -99 | `var-read-using-this` | [Contract reads its own variable using `this`](https://github.com/crytic/slither/wiki/Detector-Documentation#public-variable-read-in-external-context) | Optimization | High +16 | `arbitrary-send-erc20-permit` | [transferFrom uses arbitrary from with permit](https://github.com/crytic/slither/wiki/Detector-Documentation#arbitrary-from-in-transferfrom-used-with-permit) | High | Medium +17 | `arbitrary-send-eth` | [Functions that send Ether to arbitrary destinations](https://github.com/crytic/slither/wiki/Detector-Documentation#functions-that-send-ether-to-arbitrary-destinations) | High | Medium +18 | `controlled-array-length` | [Tainted array length assignment](https://github.com/crytic/slither/wiki/Detector-Documentation#array-length-assignment) | High | Medium +19 | `controlled-delegatecall` | [Controlled delegatecall destination](https://github.com/crytic/slither/wiki/Detector-Documentation#controlled-delegatecall) | High | Medium +20 | `delegatecall-loop` | [Payable functions using `delegatecall` inside a loop](https://github.com/crytic/slither/wiki/Detector-Documentation/#payable-functions-using-delegatecall-inside-a-loop) | High | Medium +21 | `incorrect-exp` | [Incorrect exponentiation](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-exponentiation) | High | Medium +22 | `incorrect-return` | [If a `return` is incorrectly used in assembly mode.](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-return-in-assembly) | High | Medium +23 | `msg-value-loop` | [msg.value inside a loop](https://github.com/crytic/slither/wiki/Detector-Documentation/#msgvalue-inside-a-loop) | High | Medium +24 | `reentrancy-eth` | [Reentrancy vulnerabilities (theft of ethers)](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities) | High | Medium +25 | `return-leave` | [If a `return` is used instead of a `leave`.](https://github.com/crytic/slither/wiki/Detector-Documentation#return-instead-of-leave-in-assembly) | High | Medium +26 | `storage-array` | [Signed storage integer array compiler bug](https://github.com/crytic/slither/wiki/Detector-Documentation#storage-signed-integer-array) | High | Medium +27 | `unchecked-transfer` | [Unchecked tokens transfer](https://github.com/crytic/slither/wiki/Detector-Documentation#unchecked-transfer) | High | Medium +28 | `weak-prng` | [Weak PRNG](https://github.com/crytic/slither/wiki/Detector-Documentation#weak-PRNG) | High | Medium +29 | `domain-separator-collision` | [Detects ERC20 tokens that have a function whose signature collides with EIP-2612's DOMAIN_SEPARATOR()](https://github.com/crytic/slither/wiki/Detector-Documentation#domain-separator-collision) | Medium | High +30 | `enum-conversion` | [Detect dangerous enum conversion](https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-enum-conversion) | Medium | High +31 | `erc20-interface` | [Incorrect ERC20 interfaces](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-erc20-interface) | Medium | High +32 | `erc721-interface` | [Incorrect ERC721 interfaces](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-erc721-interface) | Medium | High +33 | `incorrect-equality` | [Dangerous strict equalities](https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-strict-equalities) | Medium | High +34 | `locked-ether` | [Contracts that lock ether](https://github.com/crytic/slither/wiki/Detector-Documentation#contracts-that-lock-ether) | Medium | High +35 | `mapping-deletion` | [Deletion on mapping containing a structure](https://github.com/crytic/slither/wiki/Detector-Documentation#deletion-on-mapping-containing-a-structure) | Medium | High +36 | `pyth-deprecated-functions` | [Detect Pyth deprecated functions](https://github.com/crytic/slither/wiki/Detector-Documentation#pyth-deprecated-functions) | Medium | High +37 | `pyth-unchecked-confidence` | [Detect when the confidence level of a Pyth price is not checked](https://github.com/crytic/slither/wiki/Detector-Documentation#pyth-unchecked-confidence-level) | Medium | High +38 | `pyth-unchecked-publishtime` | [Detect when the publishTime of a Pyth price is not checked](https://github.com/crytic/slither/wiki/Detector-Documentation#pyth-unchecked-publishtime) | Medium | High +39 | `shadowing-abstract` | [State variables shadowing from abstract contracts](https://github.com/crytic/slither/wiki/Detector-Documentation#state-variable-shadowing-from-abstract-contracts) | Medium | High +40 | `tautological-compare` | [Comparing a variable to itself always returns true or false, depending on comparison](https://github.com/crytic/slither/wiki/Detector-Documentation#tautological-compare) | Medium | High +41 | `tautology` | [Tautology or contradiction](https://github.com/crytic/slither/wiki/Detector-Documentation#tautology-or-contradiction) | Medium | High +42 | `write-after-write` | [Unused write](https://github.com/crytic/slither/wiki/Detector-Documentation#write-after-write) | Medium | High +43 | `boolean-cst` | [Misuse of Boolean constant](https://github.com/crytic/slither/wiki/Detector-Documentation#misuse-of-a-boolean-constant) | Medium | Medium +44 | `chronicle-unchecked-price` | [Detect when Chronicle price is not checked.](https://github.com/crytic/slither/wiki/Detector-Documentation#chronicle-unchecked-price) | Medium | Medium +45 | `constant-function-asm` | [Constant functions using assembly code](https://github.com/crytic/slither/wiki/Detector-Documentation#constant-functions-using-assembly-code) | Medium | Medium +46 | `constant-function-state` | [Constant functions changing the state](https://github.com/crytic/slither/wiki/Detector-Documentation#constant-functions-changing-the-state) | Medium | Medium +47 | `divide-before-multiply` | [Imprecise arithmetic operations order](https://github.com/crytic/slither/wiki/Detector-Documentation#divide-before-multiply) | Medium | Medium +48 | `gelato-unprotected-randomness` | [Call to `_requestRandomness` within an unprotected function](https://github.com/crytic/slither/wiki/Detector-Documentation#gelato-unprotected-randomness) | Medium | Medium +49 | `out-of-order-retryable` | [Out-of-order retryable transactions](https://github.com/crytic/slither/wiki/Detector-Documentation#out-of-order-retryable-transactions) | Medium | Medium +50 | `reentrancy-no-eth` | [Reentrancy vulnerabilities (no theft of ethers)](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-1) | Medium | Medium +51 | `reused-constructor` | [Reused base constructor](https://github.com/crytic/slither/wiki/Detector-Documentation#reused-base-constructors) | Medium | Medium +52 | `tx-origin` | [Dangerous usage of `tx.origin`](https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-usage-of-txorigin) | Medium | Medium +53 | `unchecked-lowlevel` | [Unchecked low-level calls](https://github.com/crytic/slither/wiki/Detector-Documentation#unchecked-low-level-calls) | Medium | Medium +54 | `unchecked-send` | [Unchecked send](https://github.com/crytic/slither/wiki/Detector-Documentation#unchecked-send) | Medium | Medium +55 | `uninitialized-local` | [Uninitialized local variables](https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-local-variables) | Medium | Medium +56 | `unused-return` | [Unused return values](https://github.com/crytic/slither/wiki/Detector-Documentation#unused-return) | Medium | Medium +57 | `chainlink-feed-registry` | [Detect when chainlink feed registry is used](https://github.com/crytic/slither/wiki/Detector-Documentation#chainlink-feed-registry-usage) | Low | High +58 | `incorrect-modifier` | [Modifiers that can return the default value](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-modifier) | Low | High +59 | `optimism-deprecation` | [Detect when deprecated Optimism predeploy or function is used.](https://github.com/crytic/slither/wiki/Detector-Documentation#optimism-deprecated-predeploy-or-function) | Low | High +60 | `shadowing-builtin` | [Built-in symbol shadowing](https://github.com/crytic/slither/wiki/Detector-Documentation#builtin-symbol-shadowing) | Low | High +61 | `shadowing-local` | [Local variables shadowing](https://github.com/crytic/slither/wiki/Detector-Documentation#local-variable-shadowing) | Low | High +62 | `uninitialized-fptr-cst` | [Uninitialized function pointer calls in constructors](https://github.com/crytic/slither/wiki/Detector-Documentation#uninitialized-function-pointers-in-constructors) | Low | High +63 | `variable-scope` | [Local variables used prior their declaration](https://github.com/crytic/slither/wiki/Detector-Documentation#pre-declaration-usage-of-local-variables) | Low | High +64 | `void-cst` | [Constructor called not implemented](https://github.com/crytic/slither/wiki/Detector-Documentation#void-constructor) | Low | High +65 | `calls-loop` | [Multiple calls in a loop](https://github.com/crytic/slither/wiki/Detector-Documentation/#calls-inside-a-loop) | Low | Medium +66 | `events-access` | [Missing Events Access Control](https://github.com/crytic/slither/wiki/Detector-Documentation#missing-events-access-control) | Low | Medium +67 | `events-maths` | [Missing Events Arithmetic](https://github.com/crytic/slither/wiki/Detector-Documentation#missing-events-arithmetic) | Low | Medium +68 | `incorrect-unary` | [Dangerous unary expressions](https://github.com/crytic/slither/wiki/Detector-Documentation#dangerous-unary-expressions) | Low | Medium +69 | `missing-zero-check` | [Missing Zero Address Validation](https://github.com/crytic/slither/wiki/Detector-Documentation#missing-zero-address-validation) | Low | Medium +70 | `reentrancy-benign` | [Benign reentrancy vulnerabilities](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-2) | Low | Medium +71 | `reentrancy-events` | [Reentrancy vulnerabilities leading to out-of-order Events](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-3) | Low | Medium +72 | `return-bomb` | [A low level callee may consume all callers gas unexpectedly.](https://github.com/crytic/slither/wiki/Detector-Documentation#return-bomb) | Low | Medium +73 | `timestamp` | [Dangerous usage of `block.timestamp`](https://github.com/crytic/slither/wiki/Detector-Documentation#block-timestamp) | Low | Medium +74 | `assembly` | [Assembly usage](https://github.com/crytic/slither/wiki/Detector-Documentation#assembly-usage) | Informational | High +75 | `assert-state-change` | [Assert state change](https://github.com/crytic/slither/wiki/Detector-Documentation#assert-state-change) | Informational | High +76 | `boolean-equal` | [Comparison to boolean constant](https://github.com/crytic/slither/wiki/Detector-Documentation#boolean-equality) | Informational | High +77 | `cyclomatic-complexity` | [Detects functions with high (> 11) cyclomatic complexity](https://github.com/crytic/slither/wiki/Detector-Documentation#cyclomatic-complexity) | Informational | High +78 | `deprecated-standards` | [Deprecated Solidity Standards](https://github.com/crytic/slither/wiki/Detector-Documentation#deprecated-standards) | Informational | High +79 | `erc20-indexed` | [Un-indexed ERC20 event parameters](https://github.com/crytic/slither/wiki/Detector-Documentation#unindexed-erc20-event-parameters) | Informational | High +80 | `function-init-state` | [Function initializing state variables](https://github.com/crytic/slither/wiki/Detector-Documentation#function-initializing-state) | Informational | High +81 | `incorrect-using-for` | [Detects using-for statement usage when no function from a given library matches a given type](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-usage-of-using-for-statement) | Informational | High +82 | `low-level-calls` | [Low level calls](https://github.com/crytic/slither/wiki/Detector-Documentation#low-level-calls) | Informational | High +83 | `missing-inheritance` | [Missing inheritance](https://github.com/crytic/slither/wiki/Detector-Documentation#missing-inheritance) | Informational | High +84 | `naming-convention` | [Conformity to Solidity naming conventions](https://github.com/crytic/slither/wiki/Detector-Documentation#conformance-to-solidity-naming-conventions) | Informational | High +85 | `pragma` | [If different pragma directives are used](https://github.com/crytic/slither/wiki/Detector-Documentation#different-pragma-directives-are-used) | Informational | High +86 | `redundant-statements` | [Redundant statements](https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements) | Informational | High +87 | `solc-version` | [Incorrect Solidity version](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity) | Informational | High +88 | `unimplemented-functions` | [Unimplemented functions](https://github.com/crytic/slither/wiki/Detector-Documentation#unimplemented-functions) | Informational | High +89 | `unused-state` | [Unused state variables](https://github.com/crytic/slither/wiki/Detector-Documentation#unused-state-variable) | Informational | High +90 | `costly-loop` | [Costly operations in a loop](https://github.com/crytic/slither/wiki/Detector-Documentation#costly-operations-inside-a-loop) | Informational | Medium +91 | `dead-code` | [Functions that are not used](https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code) | Informational | Medium +92 | `reentrancy-unlimited-gas` | [Reentrancy vulnerabilities through send and transfer](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-4) | Informational | Medium +93 | `too-many-digits` | [Conformance to numeric notation best practices](https://github.com/crytic/slither/wiki/Detector-Documentation#too-many-digits) | Informational | Medium +94 | `cache-array-length` | [Detects `for` loops that use `length` member of some storage array in their loop condition and don't modify it.](https://github.com/crytic/slither/wiki/Detector-Documentation#cache-array-length) | Optimization | High +95 | `constable-states` | [State variables that could be declared constant](https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-constant) | Optimization | High +96 | `external-function` | [Public function that could be declared external](https://github.com/crytic/slither/wiki/Detector-Documentation#public-function-that-could-be-declared-external) | Optimization | High +97 | `immutable-states` | [State variables that could be declared immutable](https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-immutable) | Optimization | High +98 | `var-read-using-this` | [Contract reads its own variable using `this`](https://github.com/crytic/slither/wiki/Detector-Documentation#public-variable-read-in-external-context) | Optimization | High For more information, see diff --git a/docs/src/Usage.md b/docs/src/Usage.md index bdad764d36..c7927312b5 100644 --- a/docs/src/Usage.md +++ b/docs/src/Usage.md @@ -157,13 +157,6 @@ The following flags are supported: "sarif_input": "export.sarif", "sarif_triage": "export.sarif.sarifexplorer", "triage_database": "slither.db.json", - # codex - "codex": False, - "codex_contracts": "all", - "codex_model": "text-davinci-003", - "codex_temperature": 0, - "codex_max_tokens": 300, - "codex_log": False, } ``` diff --git a/docs/src/detectors/Detector-Documentation.md b/docs/src/detectors/Detector-Documentation.md index 2b109c1134..aefc21a60e 100644 --- a/docs/src/detectors/Detector-Documentation.md +++ b/docs/src/detectors/Detector-Documentation.md @@ -916,26 +916,6 @@ As a result, Eve wins the game. Do not use `block.timestamp`, `now` or `blockhash` as a source of randomness -## Codex - -### Configuration - -- Check: `codex` -- Severity: `High` -- Confidence: `Low` - -### Description - -Use [codex](https://openai.com/blog/openai-codex/) to find vulnerabilities - -### Exploit Scenario: - -N/A - -### Recommendation - -Review codex's message. - ## Domain separator collision ### Configuration diff --git a/slither/__main__.py b/slither/__main__.py index a1a671e262..449ed9e061 100644 --- a/slither/__main__.py +++ b/slither/__main__.py @@ -24,7 +24,6 @@ from slither.printers import all_printers from slither.printers.abstract_printer import AbstractPrinter from slither.slither import Slither -from slither.utils import codex from slither.utils.output import ( output_to_json, output_to_zip, @@ -619,8 +618,6 @@ def parse_args( default=defaults_flag_in_config["include_paths"], ) - codex.init_parser(parser) - # debugger command parser.add_argument("--debug", help=argparse.SUPPRESS, action="store_true", default=False) diff --git a/slither/detectors/all_detectors.py b/slither/detectors/all_detectors.py index a30d2b3c00..2ddb24427a 100644 --- a/slither/detectors/all_detectors.py +++ b/slither/detectors/all_detectors.py @@ -86,7 +86,6 @@ from .statements.delegatecall_in_loop import DelegatecallInLoop from .functions.protected_variable import ProtectedVariables from .functions.permit_domain_signature_collision import DomainSeparatorCollision -from .functions.codex import Codex from .functions.cyclomatic_complexity import CyclomaticComplexity from .operations.cache_array_length import CacheArrayLength from .statements.incorrect_using_for import IncorrectUsingFor diff --git a/slither/detectors/functions/codex.py b/slither/detectors/functions/codex.py deleted file mode 100644 index e58658a3a3..0000000000 --- a/slither/detectors/functions/codex.py +++ /dev/null @@ -1,136 +0,0 @@ -import logging -import uuid -from typing import List, Union - -from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification -from slither.utils import codex -from slither.utils.output import Output, SupportedOutput - -logger = logging.getLogger("Slither") - -VULN_FOUND = "VULN_FOUND" - - -class Codex(AbstractDetector): - """ - Use codex to detect vulnerability - """ - - ARGUMENT = "codex" - HELP = "Use Codex to find vulnerabilities." - IMPACT = DetectorClassification.HIGH - CONFIDENCE = DetectorClassification.LOW - - WIKI = "https://github.com/crytic/slither/wiki/Detector-Documentation#codex" - - WIKI_TITLE = "Codex" - WIKI_DESCRIPTION = "Use [codex](https://openai.com/blog/openai-codex/) to find vulnerabilities" - - # region wiki_exploit_scenario - WIKI_EXPLOIT_SCENARIO = """N/A""" - # endregion wiki_exploit_scenario - - WIKI_RECOMMENDATION = "Review codex's message." - - def _run_codex(self, logging_file: str, prompt: str) -> str: - """ - Handle the codex logic - - Args: - logging_file (str): file where to log the queries - prompt (str): prompt to send to codex - - Returns: - codex answer (str) - """ - openai_module = codex.openai_module() # type: ignore - if openai_module is None: - return "" - - if self.slither.codex_log: - codex.log_codex(logging_file, "Q: " + prompt) - - answer = "" - res = {} - - if self.slither.codex_organization: - openai_module.organization = self.slither.codex_organization - - try: - res = openai_module.Completion.create( - prompt=prompt, - model=self.slither.codex_model, - temperature=self.slither.codex_temperature, - max_tokens=self.slither.codex_max_tokens, - ) - except Exception as e: # pylint: disable=broad-except - logger.info("OpenAI request failed: " + str(e)) - - # """ OpenAI completion response shape example: - # { - # "choices": [ - # { - # "finish_reason": "stop", - # "index": 0, - # "logprobs": null, - # "text": "VULNERABILITIES:. The withdraw() function does not check..." - # } - # ], - # "created": 1670357537, - # "id": "cmpl-6KYaXdA6QIisHlTMM7RCJ1nR5wTKx", - # "model": "text-davinci-003", - # "object": "text_completion", - # "usage": { - # "completion_tokens": 80, - # "prompt_tokens": 249, - # "total_tokens": 329 - # } - # } """ - - if res: - if self.slither.codex_log: - codex.log_codex(logging_file, "A: " + str(res)) - else: - codex.log_codex(logging_file, "A: Codex failed") - - if res.get("choices", []) and VULN_FOUND in res["choices"][0].get("text", ""): - # remove VULN_FOUND keyword and cleanup - answer = ( - res["choices"][0]["text"] - .replace(VULN_FOUND, "") - .replace("\n", "") - .replace(": ", "") - ) - return answer - - def _detect(self) -> List[Output]: - results: List[Output] = [] - - if not self.slither.codex_enabled: - return [] - - logging_file = str(uuid.uuid4()) - - for contract in self.compilation_unit.contracts: - if ( - self.slither.codex_contracts != "all" - and contract.name not in self.slither.codex_contracts.split(",") - ): - continue - prompt = f"Analyze this Solidity contract and find the vulnerabilities. If you find any vulnerabilities, begin the response with {VULN_FOUND}\n" - prompt += contract.source_mapping.content - - answer = self._run_codex(logging_file, prompt) - - if answer: - info: List[Union[str, SupportedOutput]] = [ - "Codex detected a potential bug in ", - contract, - "\n", - answer, - "\n", - ] - - new_result = self.generate_result(info) - results.append(new_result) - return results From 4fd101bac18a99269def89a40cf86dae5405354d Mon Sep 17 00:00:00 2001 From: Simone Date: Mon, 5 Jan 2026 21:33:22 +0100 Subject: [PATCH 041/113] Keep the same dependency groups --- pyproject.toml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index a590d4da34..1644c7f818 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -41,12 +41,11 @@ dependencies = [ # Development dependencies using PEP 735 dependency-groups [dependency-groups] -dev = [ - # Linting (black/pylint for now, will migrate to ruff in separate PR) +lint = [ "black==22.3.0", "pylint==3.0.3", - "yamllint>=1.35.1", - # Testing +] +test = [ "pytest", "pytest-cov", "pytest-xdist", @@ -56,9 +55,14 @@ dev = [ "coverage[toml]", "filelock", "pytest-insta", - # Documentation +] +doc = [ "pdoc", - # Development tools +] +dev = [ + {include-group = "lint"}, + {include-group = "test"}, + {include-group = "doc"}, "openai", ] From bf4a8dedac99e9a53472029d36927ff864bf0a83 Mon Sep 17 00:00:00 2001 From: Simone Date: Mon, 5 Jan 2026 22:01:06 +0100 Subject: [PATCH 042/113] Update setup.py references in the documentation --- CONTRIBUTING.md | 4 ++-- docs/src/tools/Adding-a-new-utility.md | 2 +- plugin_example/README.md | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 41a35b681d..5350587776 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -121,9 +121,9 @@ For each new detector, at least one regression tests must be present. ### Synchronization with crytic-compile -By default, `slither` follows either the latest version of crytic-compile in pip, or `crytic-compile@master` (look for dependencies in [`setup.py`](./setup.py). If crytic-compile development comes with breaking changes, the process to update `slither` is: +By default, `slither` follows either the latest version of crytic-compile in pip, or `crytic-compile@master` (look for dependencies in [`pyproject.toml`](./pyproject.toml). If crytic-compile development comes with breaking changes, the process to update `slither` is: -- Update `slither/setup.py` to point to the related crytic-compile's branch +- Update `slither/pyproject.toml` to point to the related crytic-compile's branch - Create a PR in `slither` and ensure it passes the CI - Once the development branch is merged in `crytic-compile@master`, ensure `slither` follows the `master` branch diff --git a/docs/src/tools/Adding-a-new-utility.md b/docs/src/tools/Adding-a-new-utility.md index 54d1449d36..c776b41d4c 100644 --- a/docs/src/tools/Adding-a-new-utility.md +++ b/docs/src/tools/Adding-a-new-utility.md @@ -7,7 +7,7 @@ The skeleton util is present in [tools/demo](https://github.com/crytic/slither/t ## Integration -To enable an util from the command-line, update `entry_points` in [setup.py](https://github.com/crytic/slither/blob/master/setup.py). +To enable an util from the command-line, update `project.scripts` in [pyproject.toml](https://github.com/crytic/slither/blob/master/pyproject.toml). Installing Slither will then install the util. ## Guidelines diff --git a/plugin_example/README.md b/plugin_example/README.md index 1a0f915c82..7a33f587fc 100644 --- a/plugin_example/README.md +++ b/plugin_example/README.md @@ -6,13 +6,13 @@ See the [detector documentation](https://github.com/trailofbits/slither/wiki/Add ## Architecture -- `setup.py`: Contain the plugin information +- `pyproject.toml`: Contain the plugin information - `slither_my_plugin/__init__.py`: Contain `make_plugin()`. The function must return the list of new detectors and printers - `slither_my_plugin/detectors/example.py`: Detector plugin skeleton. Once these files are updated with your plugin, you can install it: ```bash -python setup.py develop +python pyproject.toml develop ``` We recommend to use a Python virtual environment (for example: [virtualenvwrapper](https://virtualenvwrapper.readthedocs.io/en/latest/)). From 81c2f161a2459f0c2150d183e452941d9b57692a Mon Sep 17 00:00:00 2001 From: Simone Date: Mon, 5 Jan 2026 22:09:09 +0100 Subject: [PATCH 043/113] Use uv in CI --- .github/workflows/ci.yml | 8 ++++---- .github/workflows/docs.yml | 9 +++++---- .github/workflows/doctor.yml | 27 +++++---------------------- .github/workflows/pip-audit.yml | 12 ++++-------- .github/workflows/publish.yml | 12 +++--------- .github/workflows/test.yml | 20 ++++++++------------ 6 files changed, 29 insertions(+), 59 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 730ebdb567..9e43b9b7e9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,13 +37,13 @@ jobs: type: truffle steps: - uses: actions/checkout@v4 - - name: Set up Python ${{ matrix.python }} - uses: actions/setup-python@v5 + - name: Install uv and Python ${{ matrix.python }} + uses: astral-sh/setup-uv@v7 with: python-version: ${{ matrix.python }} - name: Install dependencies run: | - pip install ".[test]" + uv sync --group test solc-select use 0.4.25 --always-install solc-select use 0.8.0 --always-install solc-select use 0.5.1 --always-install @@ -64,4 +64,4 @@ jobs: TEST_TYPE: ${{ matrix.type }} GITHUB_ETHERSCAN: ${{ secrets.GITHUB_ETHERSCAN }} run: | - bash "scripts/ci_test_${TEST_TYPE}.sh" + uv run bash "scripts/ci_test_${TEST_TYPE}.sh" diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 8278d0861e..2a24ba2e63 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -31,11 +31,12 @@ jobs: uses: actions/checkout@v4 - name: Setup Pages uses: actions/configure-pages@v5 - - uses: actions/setup-python@v5 + - name: Install uv and Python + uses: astral-sh/setup-uv@v7 with: - python-version: '3.8' - - run: pip install -e ".[doc]" - - run: pdoc -o html/ slither '!slither.tools' #TODO fix import errors on pdoc run + python-version: "3.8" + - run: uv sync --group doc + - run: uv run pdoc -o html/ slither '!slither.tools' #TODO fix import errors on pdoc run - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: diff --git a/.github/workflows/doctor.yml b/.github/workflows/doctor.yml index e6b7a580ba..ae8ca9d525 100644 --- a/.github/workflows/doctor.yml +++ b/.github/workflows/doctor.yml @@ -31,32 +31,15 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Set up Python ${{ matrix.python }} - uses: actions/setup-python@v5 + - name: Install uv and Python ${{ matrix.python }} + uses: astral-sh/setup-uv@v7 with: python-version: ${{ matrix.python }} - name: Try system-wide Slither run: | echo "::group::Install slither" - pip3 install . - echo "::endgroup::" - - # escape cwd so python doesn't pick up local module - cd / - - echo "::group::Via module" - python3 -m slither.tools.doctor . - echo "::endgroup::" - - echo "::group::Via binary" - slither-doctor . - echo "::endgroup::" - - - name: Try user Slither - run: | - echo "::group::Install slither" - pip3 install --user . + uv pip install --system . echo "::endgroup::" # escape cwd so python doesn't pick up local module @@ -73,10 +56,10 @@ jobs: - name: Try venv Slither run: | echo "::group::Install slither" - python3 -m venv venv + uv venv venv source venv/bin/activate || source venv/Scripts/activate hash -r - pip3 install . + uv pip install . echo "::endgroup::" # escape cwd so python doesn't pick up local module diff --git a/.github/workflows/pip-audit.yml b/.github/workflows/pip-audit.yml index f4a028c8c6..d9fd1ac199 100644 --- a/.github/workflows/pip-audit.yml +++ b/.github/workflows/pip-audit.yml @@ -20,18 +20,14 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 - - name: Install Python - uses: actions/setup-python@v5 + - name: Install uv and Python + uses: astral-sh/setup-uv@v7 with: python-version: "3.10" - - name: Install Slither run: | - python -m venv /tmp/pip-audit-env - source /tmp/pip-audit-env/bin/activate - - python -m pip install --upgrade pip setuptools wheel - python -m pip install . + uv venv /tmp/pip-audit-env + VIRTUAL_ENV=/tmp/pip-audit-env uv pip install . - name: Run pip-audit uses: pypa/gh-action-pip-audit@v1.1.0 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 9038306d63..e3b838a4f7 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -12,16 +12,10 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Set up Python - uses: actions/setup-python@v5 - with: - python-version: '3.x' - + - name: Install uv + uses: astral-sh/setup-uv@v7 - name: Build distributions - run: | - python -m pip install --upgrade pip - python -m pip install build - python -m build + run: uv build - name: Upload distributions uses: actions/upload-artifact@v4 with: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2087bd4d83..c18fc3494c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -28,16 +28,13 @@ jobs: python: ${{ (github.event_name == 'pull_request' && fromJSON('["3.8", "3.12"]')) || fromJSON('["3.8", "3.9", "3.10", "3.11", "3.12"]') }} steps: - uses: actions/checkout@v4 - - name: Set up Python ${{ matrix.python }} - uses: actions/setup-python@v5 + - name: Install uv and Python ${{ matrix.python }} + uses: astral-sh/setup-uv@v7 with: python-version: ${{ matrix.python }} - cache: "pip" - cache-dependency-path: setup.py - - name: Install dependencies run: | - pip install ".[test]" + uv sync --group test - name: Setup node uses: actions/setup-node@v4 @@ -84,7 +81,7 @@ jobs: elif [ ${{ matrix.os }} = "windows-2022" ]; then TEST_ARGS=() fi - bash "./.github/scripts/${TEST_TYPE}_test_runner.sh" "${TEST_ARGS[@]}" + uv run bash "./.github/scripts/${TEST_TYPE}_test_runner.sh" "${TEST_ARGS[@]}" - name: Upload coverage @@ -101,12 +98,11 @@ jobs: steps: - uses: actions/checkout@v4 - - name: Set up Python 3.8 - uses: actions/setup-python@v5 + - name: Install uv and Python + uses: astral-sh/setup-uv@v7 with: - python-version: 3.8 - - - run: pip install coverage[toml] + python-version: "3.8" + - run: uv pip install --system coverage[toml] - name: download coverage data uses: actions/download-artifact@v4 From d697ec773b63d229c54b7acebc41d8d9f249eace Mon Sep 17 00:00:00 2001 From: Simone Date: Mon, 5 Jan 2026 22:42:51 +0100 Subject: [PATCH 044/113] Use activate-environment --- .github/workflows/ci.yml | 13 ++----------- .github/workflows/docs.yml | 3 ++- .github/workflows/pip-audit.yml | 1 + .github/workflows/publish.yml | 2 ++ .github/workflows/test.yml | 4 +++- 5 files changed, 10 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 03ebf93d99..3e2e2ae0da 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,25 +36,16 @@ jobs: - os: windows-2022 type: truffle steps: -<<<<<<< build-system-hatchling - uses: actions/checkout@v4 - name: Install uv and Python ${{ matrix.python }} uses: astral-sh/setup-uv@v7 -======= - - uses: actions/checkout@v6 - - name: Set up Python ${{ matrix.python }} - uses: actions/setup-python@v6 ->>>>>>> dev with: python-version: ${{ matrix.python }} + activate-environment: true - name: Install dependencies run: | -<<<<<<< build-system-hatchling uv sync --group test solc-select use 0.4.25 --always-install -======= - pip install ".[test]" ->>>>>>> dev solc-select use 0.8.0 --always-install solc-select use 0.7.0 --always-install solc-select use 0.5.1 --always-install @@ -76,4 +67,4 @@ jobs: TEST_TYPE: ${{ matrix.type }} GITHUB_ETHERSCAN: ${{ secrets.GITHUB_ETHERSCAN }} run: | - uv run bash "scripts/ci_test_${TEST_TYPE}.sh" + bash "scripts/ci_test_${TEST_TYPE}.sh" diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 6b8619bbe1..ca4710c083 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -35,8 +35,9 @@ jobs: uses: astral-sh/setup-uv@v7 with: python-version: "3.8" + activate-environment: true - run: uv sync --group doc - - run: uv run pdoc -o html/ slither '!slither.tools' #TODO fix import errors on pdoc run + - run: pdoc -o html/ slither '!slither.tools' #TODO fix import errors on pdoc run - name: Upload artifact uses: actions/upload-pages-artifact@v4 with: diff --git a/.github/workflows/pip-audit.yml b/.github/workflows/pip-audit.yml index c4b4dd4e8e..0039fd139d 100644 --- a/.github/workflows/pip-audit.yml +++ b/.github/workflows/pip-audit.yml @@ -24,6 +24,7 @@ jobs: uses: astral-sh/setup-uv@v7 with: python-version: "3.10" + activate-environment: true - name: Install Slither run: | uv venv /tmp/pip-audit-env diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 10c7b152a1..a75345e34d 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -14,6 +14,8 @@ jobs: - name: Install uv uses: astral-sh/setup-uv@v7 + with: + activate-environment: true - name: Build distributions run: uv build - name: Upload distributions diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 492c71847f..89e1732a52 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -32,6 +32,7 @@ jobs: uses: astral-sh/setup-uv@v7 with: python-version: ${{ matrix.python }} + activate-environment: true - name: Install dependencies run: | uv sync --group test @@ -81,7 +82,7 @@ jobs: elif [ ${{ matrix.os }} = "windows-2022" ]; then TEST_ARGS=() fi - uv run bash "./.github/scripts/${TEST_TYPE}_test_runner.sh" "${TEST_ARGS[@]}" + bash "./.github/scripts/${TEST_TYPE}_test_runner.sh" "${TEST_ARGS[@]}" - name: Upload coverage @@ -102,6 +103,7 @@ jobs: uses: astral-sh/setup-uv@v7 with: python-version: "3.8" + activate-environment: true - run: uv pip install --system coverage[toml] - name: download coverage data From 89fd99ecb67d1d6fe4d1bad4e501d4cdda35bc27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20L=C3=B3pez?= Date: Mon, 5 Jan 2026 18:55:46 -0300 Subject: [PATCH 045/113] `uv lock --upgrade` --- uv.lock | 5924 ++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 4310 insertions(+), 1614 deletions(-) diff --git a/uv.lock b/uv.lock index e901cf12cf..b0fe194803 100644 --- a/uv.lock +++ b/uv.lock @@ -1,16 +1,36 @@ version = 1 -revision = 2 -requires-python = ">=3.9" +revision = 3 +requires-python = ">=3.8" resolution-markers = [ - "python_full_version >= '3.11'", + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", "python_full_version == '3.10.*'", - "python_full_version < '3.10'", + "python_full_version == '3.9.*'", + "python_full_version < '3.9'", +] + +[[package]] +name = "aiohappyeyeballs" +version = "2.4.4" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/7f/55/e4373e888fdacb15563ef6fa9fa8c8252476ea071e96fb46defac9f18bf2/aiohappyeyeballs-2.4.4.tar.gz", hash = "sha256:5fdd7d87889c63183afc18ce9271f9b0a7d32c2303e394468dd45d514a757745", size = 21977, upload-time = "2024-11-30T18:44:00.701Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b9/74/fbb6559de3607b3300b9be3cc64e97548d55678e44623db17820dbd20002/aiohappyeyeballs-2.4.4-py3-none-any.whl", hash = "sha256:a980909d50efcd44795c4afeca523296716d50cd756ddca6af8c65b996e27de8", size = 14756, upload-time = "2024-11-30T18:43:39.849Z" }, ] [[package]] name = "aiohappyeyeballs" version = "2.6.1" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] sdist = { url = "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558", size = 22760, upload-time = "2025-03-12T01:42:48.764Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/0f/15/5bf3b99495fb160b63f95972b81750f18f7f4e02ad051373b669d17d44f2/aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8", size = 15265, upload-time = "2025-03-12T01:42:47.083Z" }, @@ -18,114 +38,285 @@ wheels = [ [[package]] name = "aiohttp" -version = "3.12.15" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "aiohappyeyeballs" }, - { name = "aiosignal" }, - { name = "async-timeout", marker = "python_full_version < '3.11'" }, - { name = "attrs" }, - { name = "frozenlist" }, - { name = "multidict" }, - { name = "propcache" }, - { name = "yarl" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/9b/e7/d92a237d8802ca88483906c388f7c201bbe96cd80a165ffd0ac2f6a8d59f/aiohttp-3.12.15.tar.gz", hash = "sha256:4fc61385e9c98d72fcdf47e6dd81833f47b2f77c114c29cd64a361be57a763a2", size = 7823716, upload-time = "2025-07-29T05:52:32.215Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/47/dc/ef9394bde9080128ad401ac7ede185267ed637df03b51f05d14d1c99ad67/aiohttp-3.12.15-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b6fc902bff74d9b1879ad55f5404153e2b33a82e72a95c89cec5eb6cc9e92fbc", size = 703921, upload-time = "2025-07-29T05:49:43.584Z" }, - { url = "https://files.pythonhosted.org/packages/8f/42/63fccfc3a7ed97eb6e1a71722396f409c46b60a0552d8a56d7aad74e0df5/aiohttp-3.12.15-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:098e92835b8119b54c693f2f88a1dec690e20798ca5f5fe5f0520245253ee0af", size = 480288, upload-time = "2025-07-29T05:49:47.851Z" }, - { url = "https://files.pythonhosted.org/packages/9c/a2/7b8a020549f66ea2a68129db6960a762d2393248f1994499f8ba9728bbed/aiohttp-3.12.15-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:40b3fee496a47c3b4a39a731954c06f0bd9bd3e8258c059a4beb76ac23f8e421", size = 468063, upload-time = "2025-07-29T05:49:49.789Z" }, - { url = "https://files.pythonhosted.org/packages/8f/f5/d11e088da9176e2ad8220338ae0000ed5429a15f3c9dfd983f39105399cd/aiohttp-3.12.15-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ce13fcfb0bb2f259fb42106cdc63fa5515fb85b7e87177267d89a771a660b79", size = 1650122, upload-time = "2025-07-29T05:49:51.874Z" }, - { url = "https://files.pythonhosted.org/packages/b0/6b/b60ce2757e2faed3d70ed45dafee48cee7bfb878785a9423f7e883f0639c/aiohttp-3.12.15-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3beb14f053222b391bf9cf92ae82e0171067cc9c8f52453a0f1ec7c37df12a77", size = 1624176, upload-time = "2025-07-29T05:49:53.805Z" }, - { url = "https://files.pythonhosted.org/packages/dd/de/8c9fde2072a1b72c4fadecf4f7d4be7a85b1d9a4ab333d8245694057b4c6/aiohttp-3.12.15-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c39e87afe48aa3e814cac5f535bc6199180a53e38d3f51c5e2530f5aa4ec58c", size = 1696583, upload-time = "2025-07-29T05:49:55.338Z" }, - { url = "https://files.pythonhosted.org/packages/0c/ad/07f863ca3d895a1ad958a54006c6dafb4f9310f8c2fdb5f961b8529029d3/aiohttp-3.12.15-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d5f1b4ce5bc528a6ee38dbf5f39bbf11dd127048726323b72b8e85769319ffc4", size = 1738896, upload-time = "2025-07-29T05:49:57.045Z" }, - { url = "https://files.pythonhosted.org/packages/20/43/2bd482ebe2b126533e8755a49b128ec4e58f1a3af56879a3abdb7b42c54f/aiohttp-3.12.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1004e67962efabbaf3f03b11b4c43b834081c9e3f9b32b16a7d97d4708a9abe6", size = 1643561, upload-time = "2025-07-29T05:49:58.762Z" }, - { url = "https://files.pythonhosted.org/packages/23/40/2fa9f514c4cf4cbae8d7911927f81a1901838baf5e09a8b2c299de1acfe5/aiohttp-3.12.15-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8faa08fcc2e411f7ab91d1541d9d597d3a90e9004180edb2072238c085eac8c2", size = 1583685, upload-time = "2025-07-29T05:50:00.375Z" }, - { url = "https://files.pythonhosted.org/packages/b8/c3/94dc7357bc421f4fb978ca72a201a6c604ee90148f1181790c129396ceeb/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:fe086edf38b2222328cdf89af0dde2439ee173b8ad7cb659b4e4c6f385b2be3d", size = 1627533, upload-time = "2025-07-29T05:50:02.306Z" }, - { url = "https://files.pythonhosted.org/packages/bf/3f/1f8911fe1844a07001e26593b5c255a685318943864b27b4e0267e840f95/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:79b26fe467219add81d5e47b4a4ba0f2394e8b7c7c3198ed36609f9ba161aecb", size = 1638319, upload-time = "2025-07-29T05:50:04.282Z" }, - { url = "https://files.pythonhosted.org/packages/4e/46/27bf57a99168c4e145ffee6b63d0458b9c66e58bb70687c23ad3d2f0bd17/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b761bac1192ef24e16706d761aefcb581438b34b13a2f069a6d343ec8fb693a5", size = 1613776, upload-time = "2025-07-29T05:50:05.863Z" }, - { url = "https://files.pythonhosted.org/packages/0f/7e/1d2d9061a574584bb4ad3dbdba0da90a27fdc795bc227def3a46186a8bc1/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:e153e8adacfe2af562861b72f8bc47f8a5c08e010ac94eebbe33dc21d677cd5b", size = 1693359, upload-time = "2025-07-29T05:50:07.563Z" }, - { url = "https://files.pythonhosted.org/packages/08/98/bee429b52233c4a391980a5b3b196b060872a13eadd41c3a34be9b1469ed/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:fc49c4de44977aa8601a00edbf157e9a421f227aa7eb477d9e3df48343311065", size = 1716598, upload-time = "2025-07-29T05:50:09.33Z" }, - { url = "https://files.pythonhosted.org/packages/57/39/b0314c1ea774df3392751b686104a3938c63ece2b7ce0ba1ed7c0b4a934f/aiohttp-3.12.15-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:2776c7ec89c54a47029940177e75c8c07c29c66f73464784971d6a81904ce9d1", size = 1644940, upload-time = "2025-07-29T05:50:11.334Z" }, - { url = "https://files.pythonhosted.org/packages/1b/83/3dacb8d3f8f512c8ca43e3fa8a68b20583bd25636ffa4e56ee841ffd79ae/aiohttp-3.12.15-cp310-cp310-win32.whl", hash = "sha256:2c7d81a277fa78b2203ab626ced1487420e8c11a8e373707ab72d189fcdad20a", size = 429239, upload-time = "2025-07-29T05:50:12.803Z" }, - { url = "https://files.pythonhosted.org/packages/eb/f9/470b5daba04d558c9673ca2034f28d067f3202a40e17804425f0c331c89f/aiohttp-3.12.15-cp310-cp310-win_amd64.whl", hash = "sha256:83603f881e11f0f710f8e2327817c82e79431ec976448839f3cd05d7afe8f830", size = 452297, upload-time = "2025-07-29T05:50:14.266Z" }, - { url = "https://files.pythonhosted.org/packages/20/19/9e86722ec8e835959bd97ce8c1efa78cf361fa4531fca372551abcc9cdd6/aiohttp-3.12.15-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:d3ce17ce0220383a0f9ea07175eeaa6aa13ae5a41f30bc61d84df17f0e9b1117", size = 711246, upload-time = "2025-07-29T05:50:15.937Z" }, - { url = "https://files.pythonhosted.org/packages/71/f9/0a31fcb1a7d4629ac9d8f01f1cb9242e2f9943f47f5d03215af91c3c1a26/aiohttp-3.12.15-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:010cc9bbd06db80fe234d9003f67e97a10fe003bfbedb40da7d71c1008eda0fe", size = 483515, upload-time = "2025-07-29T05:50:17.442Z" }, - { url = "https://files.pythonhosted.org/packages/62/6c/94846f576f1d11df0c2e41d3001000527c0fdf63fce7e69b3927a731325d/aiohttp-3.12.15-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3f9d7c55b41ed687b9d7165b17672340187f87a773c98236c987f08c858145a9", size = 471776, upload-time = "2025-07-29T05:50:19.568Z" }, - { url = "https://files.pythonhosted.org/packages/f8/6c/f766d0aaafcee0447fad0328da780d344489c042e25cd58fde566bf40aed/aiohttp-3.12.15-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bc4fbc61bb3548d3b482f9ac7ddd0f18c67e4225aaa4e8552b9f1ac7e6bda9e5", size = 1741977, upload-time = "2025-07-29T05:50:21.665Z" }, - { url = "https://files.pythonhosted.org/packages/17/e5/fb779a05ba6ff44d7bc1e9d24c644e876bfff5abe5454f7b854cace1b9cc/aiohttp-3.12.15-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7fbc8a7c410bb3ad5d595bb7118147dfbb6449d862cc1125cf8867cb337e8728", size = 1690645, upload-time = "2025-07-29T05:50:23.333Z" }, - { url = "https://files.pythonhosted.org/packages/37/4e/a22e799c2035f5d6a4ad2cf8e7c1d1bd0923192871dd6e367dafb158b14c/aiohttp-3.12.15-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:74dad41b3458dbb0511e760fb355bb0b6689e0630de8a22b1b62a98777136e16", size = 1789437, upload-time = "2025-07-29T05:50:25.007Z" }, - { url = "https://files.pythonhosted.org/packages/28/e5/55a33b991f6433569babb56018b2fb8fb9146424f8b3a0c8ecca80556762/aiohttp-3.12.15-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b6f0af863cf17e6222b1735a756d664159e58855da99cfe965134a3ff63b0b0", size = 1828482, upload-time = "2025-07-29T05:50:26.693Z" }, - { url = "https://files.pythonhosted.org/packages/c6/82/1ddf0ea4f2f3afe79dffed5e8a246737cff6cbe781887a6a170299e33204/aiohttp-3.12.15-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b5b7fe4972d48a4da367043b8e023fb70a04d1490aa7d68800e465d1b97e493b", size = 1730944, upload-time = "2025-07-29T05:50:28.382Z" }, - { url = "https://files.pythonhosted.org/packages/1b/96/784c785674117b4cb3877522a177ba1b5e4db9ce0fd519430b5de76eec90/aiohttp-3.12.15-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6443cca89553b7a5485331bc9bedb2342b08d073fa10b8c7d1c60579c4a7b9bd", size = 1668020, upload-time = "2025-07-29T05:50:30.032Z" }, - { url = "https://files.pythonhosted.org/packages/12/8a/8b75f203ea7e5c21c0920d84dd24a5c0e971fe1e9b9ebbf29ae7e8e39790/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6c5f40ec615e5264f44b4282ee27628cea221fcad52f27405b80abb346d9f3f8", size = 1716292, upload-time = "2025-07-29T05:50:31.983Z" }, - { url = "https://files.pythonhosted.org/packages/47/0b/a1451543475bb6b86a5cfc27861e52b14085ae232896a2654ff1231c0992/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:2abbb216a1d3a2fe86dbd2edce20cdc5e9ad0be6378455b05ec7f77361b3ab50", size = 1711451, upload-time = "2025-07-29T05:50:33.989Z" }, - { url = "https://files.pythonhosted.org/packages/55/fd/793a23a197cc2f0d29188805cfc93aa613407f07e5f9da5cd1366afd9d7c/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:db71ce547012a5420a39c1b744d485cfb823564d01d5d20805977f5ea1345676", size = 1691634, upload-time = "2025-07-29T05:50:35.846Z" }, - { url = "https://files.pythonhosted.org/packages/ca/bf/23a335a6670b5f5dfc6d268328e55a22651b440fca341a64fccf1eada0c6/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:ced339d7c9b5030abad5854aa5413a77565e5b6e6248ff927d3e174baf3badf7", size = 1785238, upload-time = "2025-07-29T05:50:37.597Z" }, - { url = "https://files.pythonhosted.org/packages/57/4f/ed60a591839a9d85d40694aba5cef86dde9ee51ce6cca0bb30d6eb1581e7/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:7c7dd29c7b5bda137464dc9bfc738d7ceea46ff70309859ffde8c022e9b08ba7", size = 1805701, upload-time = "2025-07-29T05:50:39.591Z" }, - { url = "https://files.pythonhosted.org/packages/85/e0/444747a9455c5de188c0f4a0173ee701e2e325d4b2550e9af84abb20cdba/aiohttp-3.12.15-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:421da6fd326460517873274875c6c5a18ff225b40da2616083c5a34a7570b685", size = 1718758, upload-time = "2025-07-29T05:50:41.292Z" }, - { url = "https://files.pythonhosted.org/packages/36/ab/1006278d1ffd13a698e5dd4bfa01e5878f6bddefc296c8b62649753ff249/aiohttp-3.12.15-cp311-cp311-win32.whl", hash = "sha256:4420cf9d179ec8dfe4be10e7d0fe47d6d606485512ea2265b0d8c5113372771b", size = 428868, upload-time = "2025-07-29T05:50:43.063Z" }, - { url = "https://files.pythonhosted.org/packages/10/97/ad2b18700708452400278039272032170246a1bf8ec5d832772372c71f1a/aiohttp-3.12.15-cp311-cp311-win_amd64.whl", hash = "sha256:edd533a07da85baa4b423ee8839e3e91681c7bfa19b04260a469ee94b778bf6d", size = 453273, upload-time = "2025-07-29T05:50:44.613Z" }, - { url = "https://files.pythonhosted.org/packages/63/97/77cb2450d9b35f517d6cf506256bf4f5bda3f93a66b4ad64ba7fc917899c/aiohttp-3.12.15-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:802d3868f5776e28f7bf69d349c26fc0efadb81676d0afa88ed00d98a26340b7", size = 702333, upload-time = "2025-07-29T05:50:46.507Z" }, - { url = "https://files.pythonhosted.org/packages/83/6d/0544e6b08b748682c30b9f65640d006e51f90763b41d7c546693bc22900d/aiohttp-3.12.15-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f2800614cd560287be05e33a679638e586a2d7401f4ddf99e304d98878c29444", size = 476948, upload-time = "2025-07-29T05:50:48.067Z" }, - { url = "https://files.pythonhosted.org/packages/3a/1d/c8c40e611e5094330284b1aea8a4b02ca0858f8458614fa35754cab42b9c/aiohttp-3.12.15-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8466151554b593909d30a0a125d638b4e5f3836e5aecde85b66b80ded1cb5b0d", size = 469787, upload-time = "2025-07-29T05:50:49.669Z" }, - { url = "https://files.pythonhosted.org/packages/38/7d/b76438e70319796bfff717f325d97ce2e9310f752a267bfdf5192ac6082b/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e5a495cb1be69dae4b08f35a6c4579c539e9b5706f606632102c0f855bcba7c", size = 1716590, upload-time = "2025-07-29T05:50:51.368Z" }, - { url = "https://files.pythonhosted.org/packages/79/b1/60370d70cdf8b269ee1444b390cbd72ce514f0d1cd1a715821c784d272c9/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6404dfc8cdde35c69aaa489bb3542fb86ef215fc70277c892be8af540e5e21c0", size = 1699241, upload-time = "2025-07-29T05:50:53.628Z" }, - { url = "https://files.pythonhosted.org/packages/a3/2b/4968a7b8792437ebc12186db31523f541943e99bda8f30335c482bea6879/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3ead1c00f8521a5c9070fcb88f02967b1d8a0544e6d85c253f6968b785e1a2ab", size = 1754335, upload-time = "2025-07-29T05:50:55.394Z" }, - { url = "https://files.pythonhosted.org/packages/fb/c1/49524ed553f9a0bec1a11fac09e790f49ff669bcd14164f9fab608831c4d/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6990ef617f14450bc6b34941dba4f12d5613cbf4e33805932f853fbd1cf18bfb", size = 1800491, upload-time = "2025-07-29T05:50:57.202Z" }, - { url = "https://files.pythonhosted.org/packages/de/5e/3bf5acea47a96a28c121b167f5ef659cf71208b19e52a88cdfa5c37f1fcc/aiohttp-3.12.15-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd736ed420f4db2b8148b52b46b88ed038d0354255f9a73196b7bbce3ea97545", size = 1719929, upload-time = "2025-07-29T05:50:59.192Z" }, - { url = "https://files.pythonhosted.org/packages/39/94/8ae30b806835bcd1cba799ba35347dee6961a11bd507db634516210e91d8/aiohttp-3.12.15-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c5092ce14361a73086b90c6efb3948ffa5be2f5b6fbcf52e8d8c8b8848bb97c", size = 1635733, upload-time = "2025-07-29T05:51:01.394Z" }, - { url = "https://files.pythonhosted.org/packages/7a/46/06cdef71dd03acd9da7f51ab3a9107318aee12ad38d273f654e4f981583a/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:aaa2234bb60c4dbf82893e934d8ee8dea30446f0647e024074237a56a08c01bd", size = 1696790, upload-time = "2025-07-29T05:51:03.657Z" }, - { url = "https://files.pythonhosted.org/packages/02/90/6b4cfaaf92ed98d0ec4d173e78b99b4b1a7551250be8937d9d67ecb356b4/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:6d86a2fbdd14192e2f234a92d3b494dd4457e683ba07e5905a0b3ee25389ac9f", size = 1718245, upload-time = "2025-07-29T05:51:05.911Z" }, - { url = "https://files.pythonhosted.org/packages/2e/e6/2593751670fa06f080a846f37f112cbe6f873ba510d070136a6ed46117c6/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a041e7e2612041a6ddf1c6a33b883be6a421247c7afd47e885969ee4cc58bd8d", size = 1658899, upload-time = "2025-07-29T05:51:07.753Z" }, - { url = "https://files.pythonhosted.org/packages/8f/28/c15bacbdb8b8eb5bf39b10680d129ea7410b859e379b03190f02fa104ffd/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5015082477abeafad7203757ae44299a610e89ee82a1503e3d4184e6bafdd519", size = 1738459, upload-time = "2025-07-29T05:51:09.56Z" }, - { url = "https://files.pythonhosted.org/packages/00/de/c269cbc4faa01fb10f143b1670633a8ddd5b2e1ffd0548f7aa49cb5c70e2/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:56822ff5ddfd1b745534e658faba944012346184fbfe732e0d6134b744516eea", size = 1766434, upload-time = "2025-07-29T05:51:11.423Z" }, - { url = "https://files.pythonhosted.org/packages/52/b0/4ff3abd81aa7d929b27d2e1403722a65fc87b763e3a97b3a2a494bfc63bc/aiohttp-3.12.15-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b2acbbfff69019d9014508c4ba0401822e8bae5a5fdc3b6814285b71231b60f3", size = 1726045, upload-time = "2025-07-29T05:51:13.689Z" }, - { url = "https://files.pythonhosted.org/packages/71/16/949225a6a2dd6efcbd855fbd90cf476052e648fb011aa538e3b15b89a57a/aiohttp-3.12.15-cp312-cp312-win32.whl", hash = "sha256:d849b0901b50f2185874b9a232f38e26b9b3d4810095a7572eacea939132d4e1", size = 423591, upload-time = "2025-07-29T05:51:15.452Z" }, - { url = "https://files.pythonhosted.org/packages/2b/d8/fa65d2a349fe938b76d309db1a56a75c4fb8cc7b17a398b698488a939903/aiohttp-3.12.15-cp312-cp312-win_amd64.whl", hash = "sha256:b390ef5f62bb508a9d67cb3bba9b8356e23b3996da7062f1a57ce1a79d2b3d34", size = 450266, upload-time = "2025-07-29T05:51:17.239Z" }, - { url = "https://files.pythonhosted.org/packages/f2/33/918091abcf102e39d15aba2476ad9e7bd35ddb190dcdd43a854000d3da0d/aiohttp-3.12.15-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:9f922ffd05034d439dde1c77a20461cf4a1b0831e6caa26151fe7aa8aaebc315", size = 696741, upload-time = "2025-07-29T05:51:19.021Z" }, - { url = "https://files.pythonhosted.org/packages/b5/2a/7495a81e39a998e400f3ecdd44a62107254803d1681d9189be5c2e4530cd/aiohttp-3.12.15-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2ee8a8ac39ce45f3e55663891d4b1d15598c157b4d494a4613e704c8b43112cd", size = 474407, upload-time = "2025-07-29T05:51:21.165Z" }, - { url = "https://files.pythonhosted.org/packages/49/fc/a9576ab4be2dcbd0f73ee8675d16c707cfc12d5ee80ccf4015ba543480c9/aiohttp-3.12.15-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3eae49032c29d356b94eee45a3f39fdf4b0814b397638c2f718e96cfadf4c4e4", size = 466703, upload-time = "2025-07-29T05:51:22.948Z" }, - { url = "https://files.pythonhosted.org/packages/09/2f/d4bcc8448cf536b2b54eed48f19682031ad182faa3a3fee54ebe5b156387/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b97752ff12cc12f46a9b20327104448042fce5c33a624f88c18f66f9368091c7", size = 1705532, upload-time = "2025-07-29T05:51:25.211Z" }, - { url = "https://files.pythonhosted.org/packages/f1/f3/59406396083f8b489261e3c011aa8aee9df360a96ac8fa5c2e7e1b8f0466/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:894261472691d6fe76ebb7fcf2e5870a2ac284c7406ddc95823c8598a1390f0d", size = 1686794, upload-time = "2025-07-29T05:51:27.145Z" }, - { url = "https://files.pythonhosted.org/packages/dc/71/164d194993a8d114ee5656c3b7ae9c12ceee7040d076bf7b32fb98a8c5c6/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5fa5d9eb82ce98959fc1031c28198b431b4d9396894f385cb63f1e2f3f20ca6b", size = 1738865, upload-time = "2025-07-29T05:51:29.366Z" }, - { url = "https://files.pythonhosted.org/packages/1c/00/d198461b699188a93ead39cb458554d9f0f69879b95078dce416d3209b54/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f0fa751efb11a541f57db59c1dd821bec09031e01452b2b6217319b3a1f34f3d", size = 1788238, upload-time = "2025-07-29T05:51:31.285Z" }, - { url = "https://files.pythonhosted.org/packages/85/b8/9e7175e1fa0ac8e56baa83bf3c214823ce250d0028955dfb23f43d5e61fd/aiohttp-3.12.15-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5346b93e62ab51ee2a9d68e8f73c7cf96ffb73568a23e683f931e52450e4148d", size = 1710566, upload-time = "2025-07-29T05:51:33.219Z" }, - { url = "https://files.pythonhosted.org/packages/59/e4/16a8eac9df39b48ae102ec030fa9f726d3570732e46ba0c592aeeb507b93/aiohttp-3.12.15-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:049ec0360f939cd164ecbfd2873eaa432613d5e77d6b04535e3d1fbae5a9e645", size = 1624270, upload-time = "2025-07-29T05:51:35.195Z" }, - { url = "https://files.pythonhosted.org/packages/1f/f8/cd84dee7b6ace0740908fd0af170f9fab50c2a41ccbc3806aabcb1050141/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b52dcf013b57464b6d1e51b627adfd69a8053e84b7103a7cd49c030f9ca44461", size = 1677294, upload-time = "2025-07-29T05:51:37.215Z" }, - { url = "https://files.pythonhosted.org/packages/ce/42/d0f1f85e50d401eccd12bf85c46ba84f947a84839c8a1c2c5f6e8ab1eb50/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:9b2af240143dd2765e0fb661fd0361a1b469cab235039ea57663cda087250ea9", size = 1708958, upload-time = "2025-07-29T05:51:39.328Z" }, - { url = "https://files.pythonhosted.org/packages/d5/6b/f6fa6c5790fb602538483aa5a1b86fcbad66244997e5230d88f9412ef24c/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ac77f709a2cde2cc71257ab2d8c74dd157c67a0558a0d2799d5d571b4c63d44d", size = 1651553, upload-time = "2025-07-29T05:51:41.356Z" }, - { url = "https://files.pythonhosted.org/packages/04/36/a6d36ad545fa12e61d11d1932eef273928b0495e6a576eb2af04297fdd3c/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:47f6b962246f0a774fbd3b6b7be25d59b06fdb2f164cf2513097998fc6a29693", size = 1727688, upload-time = "2025-07-29T05:51:43.452Z" }, - { url = "https://files.pythonhosted.org/packages/aa/c8/f195e5e06608a97a4e52c5d41c7927301bf757a8e8bb5bbf8cef6c314961/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:760fb7db442f284996e39cf9915a94492e1896baac44f06ae551974907922b64", size = 1761157, upload-time = "2025-07-29T05:51:45.643Z" }, - { url = "https://files.pythonhosted.org/packages/05/6a/ea199e61b67f25ba688d3ce93f63b49b0a4e3b3d380f03971b4646412fc6/aiohttp-3.12.15-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ad702e57dc385cae679c39d318def49aef754455f237499d5b99bea4ef582e51", size = 1710050, upload-time = "2025-07-29T05:51:48.203Z" }, - { url = "https://files.pythonhosted.org/packages/b4/2e/ffeb7f6256b33635c29dbed29a22a723ff2dd7401fff42ea60cf2060abfb/aiohttp-3.12.15-cp313-cp313-win32.whl", hash = "sha256:f813c3e9032331024de2eb2e32a88d86afb69291fbc37a3a3ae81cc9917fb3d0", size = 422647, upload-time = "2025-07-29T05:51:50.718Z" }, - { url = "https://files.pythonhosted.org/packages/1b/8e/78ee35774201f38d5e1ba079c9958f7629b1fd079459aea9467441dbfbf5/aiohttp-3.12.15-cp313-cp313-win_amd64.whl", hash = "sha256:1a649001580bdb37c6fdb1bebbd7e3bc688e8ec2b5c6f52edbb664662b17dc84", size = 449067, upload-time = "2025-07-29T05:51:52.549Z" }, - { url = "https://files.pythonhosted.org/packages/18/8d/da08099af8db234d1cd43163e6ffc8e9313d0e988cee1901610f2fa5c764/aiohttp-3.12.15-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:691d203c2bdf4f4637792efbbcdcd157ae11e55eaeb5e9c360c1206fb03d4d98", size = 706829, upload-time = "2025-07-29T05:51:54.434Z" }, - { url = "https://files.pythonhosted.org/packages/4e/94/8eed385cfb60cf4fdb5b8a165f6148f3bebeb365f08663d83c35a5f273ef/aiohttp-3.12.15-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8e995e1abc4ed2a454c731385bf4082be06f875822adc4c6d9eaadf96e20d406", size = 481806, upload-time = "2025-07-29T05:51:56.355Z" }, - { url = "https://files.pythonhosted.org/packages/38/68/b13e1a34584fbf263151b3a72a084e89f2102afe38df1dce5a05a15b83e9/aiohttp-3.12.15-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bd44d5936ab3193c617bfd6c9a7d8d1085a8dc8c3f44d5f1dcf554d17d04cf7d", size = 469205, upload-time = "2025-07-29T05:51:58.277Z" }, - { url = "https://files.pythonhosted.org/packages/38/14/3d7348bf53aa4af54416bc64cbef3a2ac5e8b9bfa97cc45f1cf9a94d9c8d/aiohttp-3.12.15-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:46749be6e89cd78d6068cdf7da51dbcfa4321147ab8e4116ee6678d9a056a0cf", size = 1644174, upload-time = "2025-07-29T05:52:00.23Z" }, - { url = "https://files.pythonhosted.org/packages/ba/ed/fd9b5b22b0f6ca1a85c33bb4868cbcc6ae5eae070a0f4c9c5cad003c89d7/aiohttp-3.12.15-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0c643f4d75adea39e92c0f01b3fb83d57abdec8c9279b3078b68a3a52b3933b6", size = 1618672, upload-time = "2025-07-29T05:52:02.272Z" }, - { url = "https://files.pythonhosted.org/packages/39/f7/f6530ab5f8c8c409e44a63fcad35e839c87aabecdfe5b8e96d671ed12f64/aiohttp-3.12.15-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0a23918fedc05806966a2438489dcffccbdf83e921a1170773b6178d04ade142", size = 1692295, upload-time = "2025-07-29T05:52:04.546Z" }, - { url = "https://files.pythonhosted.org/packages/cb/dc/3cf483bb0106566dc97ebaa2bb097f5e44d4bc4ab650a6f107151cd7b193/aiohttp-3.12.15-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:74bdd8c864b36c3673741023343565d95bfbd778ffe1eb4d412c135a28a8dc89", size = 1731609, upload-time = "2025-07-29T05:52:06.552Z" }, - { url = "https://files.pythonhosted.org/packages/de/a4/fd04bf807851197077d9cac9381d58f86d91c95c06cbaf9d3a776ac4467a/aiohttp-3.12.15-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a146708808c9b7a988a4af3821379e379e0f0e5e466ca31a73dbdd0325b0263", size = 1637852, upload-time = "2025-07-29T05:52:08.975Z" }, - { url = "https://files.pythonhosted.org/packages/98/03/29d626ca3bcdcafbd74b45d77ca42645a5c94d396f2ee3446880ad2405fb/aiohttp-3.12.15-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b7011a70b56facde58d6d26da4fec3280cc8e2a78c714c96b7a01a87930a9530", size = 1572852, upload-time = "2025-07-29T05:52:11.508Z" }, - { url = "https://files.pythonhosted.org/packages/5f/cd/b4777a9e204f4e01091091027e5d1e2fa86decd0fee5067bc168e4fa1e76/aiohttp-3.12.15-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:3bdd6e17e16e1dbd3db74d7f989e8af29c4d2e025f9828e6ef45fbdee158ec75", size = 1620813, upload-time = "2025-07-29T05:52:13.891Z" }, - { url = "https://files.pythonhosted.org/packages/ae/26/1a44a6e8417e84057beaf8c462529b9e05d4b53b8605784f1eb571f0ff68/aiohttp-3.12.15-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:57d16590a351dfc914670bd72530fd78344b885a00b250e992faea565b7fdc05", size = 1630951, upload-time = "2025-07-29T05:52:15.955Z" }, - { url = "https://files.pythonhosted.org/packages/dd/7f/10c605dbd01c40e2b27df7ef9004bec75d156f0705141e11047ecdfe264d/aiohttp-3.12.15-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:bc9a0f6569ff990e0bbd75506c8d8fe7214c8f6579cca32f0546e54372a3bb54", size = 1607595, upload-time = "2025-07-29T05:52:18.089Z" }, - { url = "https://files.pythonhosted.org/packages/66/f6/2560dcb01731c1d7df1d34b64de95bc4b3ed02bb78830fd82299c1eb314e/aiohttp-3.12.15-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:536ad7234747a37e50e7b6794ea868833d5220b49c92806ae2d7e8a9d6b5de02", size = 1695194, upload-time = "2025-07-29T05:52:20.255Z" }, - { url = "https://files.pythonhosted.org/packages/e7/02/ee105ae82dc2b981039fd25b0cf6eaa52b493731960f9bc861375a72b463/aiohttp-3.12.15-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:f0adb4177fa748072546fb650d9bd7398caaf0e15b370ed3317280b13f4083b0", size = 1710872, upload-time = "2025-07-29T05:52:22.769Z" }, - { url = "https://files.pythonhosted.org/packages/88/16/70c4e42ed6a04f78fb58d1a46500a6ce560741d13afde2a5f33840746a5f/aiohttp-3.12.15-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:14954a2988feae3987f1eb49c706bff39947605f4b6fa4027c1d75743723eb09", size = 1640539, upload-time = "2025-07-29T05:52:25.733Z" }, - { url = "https://files.pythonhosted.org/packages/fe/1d/a7eb5fa8a6967117c5c0ad5ab4b1dec0d21e178c89aa08bc442a0b836392/aiohttp-3.12.15-cp39-cp39-win32.whl", hash = "sha256:b784d6ed757f27574dca1c336f968f4e81130b27595e458e69457e6878251f5d", size = 430164, upload-time = "2025-07-29T05:52:27.905Z" }, - { url = "https://files.pythonhosted.org/packages/14/25/e0cf8793aedc41c6d7f2aad646a27e27bdacafe3b402bb373d7651c94d73/aiohttp-3.12.15-cp39-cp39-win_amd64.whl", hash = "sha256:86ceded4e78a992f835209e236617bffae649371c4a50d5e5a3987f237db84b8", size = 453370, upload-time = "2025-07-29T05:52:29.936Z" }, +version = "3.10.11" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "aiohappyeyeballs", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "aiosignal", version = "1.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "async-timeout", marker = "python_full_version < '3.9'" }, + { name = "attrs", version = "25.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "frozenlist", version = "1.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "multidict", version = "6.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "yarl", version = "1.15.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/25/a8/8e2ba36c6e3278d62e0c88aa42bb92ddbef092ac363b390dab4421da5cf5/aiohttp-3.10.11.tar.gz", hash = "sha256:9dc2b8f3dcab2e39e0fa309c8da50c3b55e6f34ab25f1a71d3288f24924d33a7", size = 7551886, upload-time = "2024-11-13T16:40:33.335Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/11/c7/575f9e82d7ef13cb1b45b9db8a5b8fadb35107fb12e33809356ae0155223/aiohttp-3.10.11-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5077b1a5f40ffa3ba1f40d537d3bec4383988ee51fbba6b74aa8fb1bc466599e", size = 588218, upload-time = "2024-11-13T16:36:38.461Z" }, + { url = "https://files.pythonhosted.org/packages/12/7b/a800dadbd9a47b7f921bfddcd531371371f39b9cd05786c3638bfe2e1175/aiohttp-3.10.11-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8d6a14a4d93b5b3c2891fca94fa9d41b2322a68194422bef0dd5ec1e57d7d298", size = 400815, upload-time = "2024-11-13T16:36:40.547Z" }, + { url = "https://files.pythonhosted.org/packages/cb/28/7dbd53ab10b0ded397feed914880f39ce075bd39393b8dfc322909754a0a/aiohttp-3.10.11-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ffbfde2443696345e23a3c597049b1dd43049bb65337837574205e7368472177", size = 392099, upload-time = "2024-11-13T16:36:43.918Z" }, + { url = "https://files.pythonhosted.org/packages/6a/2e/c6390f49e67911711c2229740e261c501685fe7201f7f918d6ff2fd1cfb0/aiohttp-3.10.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20b3d9e416774d41813bc02fdc0663379c01817b0874b932b81c7f777f67b217", size = 1224854, upload-time = "2024-11-13T16:36:46.473Z" }, + { url = "https://files.pythonhosted.org/packages/69/68/c96afae129201bff4edbece52b3e1abf3a8af57529a42700669458b00b9f/aiohttp-3.10.11-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2b943011b45ee6bf74b22245c6faab736363678e910504dd7531a58c76c9015a", size = 1259641, upload-time = "2024-11-13T16:36:48.28Z" }, + { url = "https://files.pythonhosted.org/packages/63/89/bedd01456442747946114a8c2f30ff1b23d3b2ea0c03709f854c4f354a5a/aiohttp-3.10.11-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:48bc1d924490f0d0b3658fe5c4b081a4d56ebb58af80a6729d4bd13ea569797a", size = 1295412, upload-time = "2024-11-13T16:36:50.286Z" }, + { url = "https://files.pythonhosted.org/packages/9b/4d/942198e2939efe7bfa484781590f082135e9931b8bcafb4bba62cf2d8f2f/aiohttp-3.10.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e12eb3f4b1f72aaaf6acd27d045753b18101524f72ae071ae1c91c1cd44ef115", size = 1218311, upload-time = "2024-11-13T16:36:53.721Z" }, + { url = "https://files.pythonhosted.org/packages/a3/5b/8127022912f1fa72dfc39cf37c36f83e0b56afc3b93594b1cf377b6e4ffc/aiohttp-3.10.11-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f14ebc419a568c2eff3c1ed35f634435c24ead2fe19c07426af41e7adb68713a", size = 1189448, upload-time = "2024-11-13T16:36:55.844Z" }, + { url = "https://files.pythonhosted.org/packages/af/12/752878033c8feab3362c0890a4d24e9895921729a53491f6f6fad64d3287/aiohttp-3.10.11-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:72b191cdf35a518bfc7ca87d770d30941decc5aaf897ec8b484eb5cc8c7706f3", size = 1186484, upload-time = "2024-11-13T16:36:58.472Z" }, + { url = "https://files.pythonhosted.org/packages/61/24/1d91c304fca47d5e5002ca23abab9b2196ac79d5c531258e048195b435b2/aiohttp-3.10.11-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5ab2328a61fdc86424ee540d0aeb8b73bbcad7351fb7cf7a6546fc0bcffa0038", size = 1183864, upload-time = "2024-11-13T16:37:00.737Z" }, + { url = "https://files.pythonhosted.org/packages/c1/70/022d28b898314dac4cb5dd52ead2a372563c8590b1eaab9c5ed017eefb1e/aiohttp-3.10.11-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:aa93063d4af05c49276cf14e419550a3f45258b6b9d1f16403e777f1addf4519", size = 1241460, upload-time = "2024-11-13T16:37:03.175Z" }, + { url = "https://files.pythonhosted.org/packages/c3/15/2b43853330f82acf180602de0f68be62a2838d25d03d2ed40fecbe82479e/aiohttp-3.10.11-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:30283f9d0ce420363c24c5c2421e71a738a2155f10adbb1a11a4d4d6d2715cfc", size = 1258521, upload-time = "2024-11-13T16:37:06.013Z" }, + { url = "https://files.pythonhosted.org/packages/28/38/9ef2076cb06dcc155e7f02275f5da403a3e7c9327b6b075e999f0eb73613/aiohttp-3.10.11-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e5358addc8044ee49143c546d2182c15b4ac3a60be01c3209374ace05af5733d", size = 1207329, upload-time = "2024-11-13T16:37:08.091Z" }, + { url = "https://files.pythonhosted.org/packages/c2/5f/c5329d67a2c83d8ae17a84e11dec14da5773520913bfc191caaf4cd57e50/aiohttp-3.10.11-cp310-cp310-win32.whl", hash = "sha256:e1ffa713d3ea7cdcd4aea9cddccab41edf6882fa9552940344c44e59652e1120", size = 363835, upload-time = "2024-11-13T16:37:10.017Z" }, + { url = "https://files.pythonhosted.org/packages/0f/c6/ca5d70eea2fdbe283dbc1e7d30649a1a5371b2a2a9150db192446f645789/aiohttp-3.10.11-cp310-cp310-win_amd64.whl", hash = "sha256:778cbd01f18ff78b5dd23c77eb82987ee4ba23408cbed233009fd570dda7e674", size = 382169, upload-time = "2024-11-13T16:37:12.603Z" }, + { url = "https://files.pythonhosted.org/packages/73/96/221ec59bc38395a6c205cbe8bf72c114ce92694b58abc8c3c6b7250efa7f/aiohttp-3.10.11-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:80ff08556c7f59a7972b1e8919f62e9c069c33566a6d28586771711e0eea4f07", size = 587742, upload-time = "2024-11-13T16:37:14.469Z" }, + { url = "https://files.pythonhosted.org/packages/24/17/4e606c969b19de5c31a09b946bd4c37e30c5288ca91d4790aa915518846e/aiohttp-3.10.11-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c8f96e9ee19f04c4914e4e7a42a60861066d3e1abf05c726f38d9d0a466e695", size = 400357, upload-time = "2024-11-13T16:37:16.482Z" }, + { url = "https://files.pythonhosted.org/packages/a2/e5/433f59b87ba69736e446824710dd7f26fcd05b24c6647cb1e76554ea5d02/aiohttp-3.10.11-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fb8601394d537da9221947b5d6e62b064c9a43e88a1ecd7414d21a1a6fba9c24", size = 392099, upload-time = "2024-11-13T16:37:20.013Z" }, + { url = "https://files.pythonhosted.org/packages/d2/a3/3be340f5063970bb9e47f065ee8151edab639d9c2dce0d9605a325ab035d/aiohttp-3.10.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ea224cf7bc2d8856d6971cea73b1d50c9c51d36971faf1abc169a0d5f85a382", size = 1300367, upload-time = "2024-11-13T16:37:22.645Z" }, + { url = "https://files.pythonhosted.org/packages/ba/7d/a3043918466cbee9429792ebe795f92f70eeb40aee4ccbca14c38ee8fa4d/aiohttp-3.10.11-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db9503f79e12d5d80b3efd4d01312853565c05367493379df76d2674af881caa", size = 1339448, upload-time = "2024-11-13T16:37:24.834Z" }, + { url = "https://files.pythonhosted.org/packages/2c/60/192b378bd9d1ae67716b71ae63c3e97c48b134aad7675915a10853a0b7de/aiohttp-3.10.11-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0f449a50cc33f0384f633894d8d3cd020e3ccef81879c6e6245c3c375c448625", size = 1374875, upload-time = "2024-11-13T16:37:26.799Z" }, + { url = "https://files.pythonhosted.org/packages/e0/d7/cd58bd17f5277d9cc32ecdbb0481ca02c52fc066412de413aa01268dc9b4/aiohttp-3.10.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82052be3e6d9e0c123499127782a01a2b224b8af8c62ab46b3f6197035ad94e9", size = 1285626, upload-time = "2024-11-13T16:37:29.02Z" }, + { url = "https://files.pythonhosted.org/packages/bb/b2/da4953643b7dcdcd29cc99f98209f3653bf02023d95ce8a8fd57ffba0f15/aiohttp-3.10.11-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:20063c7acf1eec550c8eb098deb5ed9e1bb0521613b03bb93644b810986027ac", size = 1246120, upload-time = "2024-11-13T16:37:31.268Z" }, + { url = "https://files.pythonhosted.org/packages/6c/22/1217b3c773055f0cb172e3b7108274a74c0fe9900c716362727303931cbb/aiohttp-3.10.11-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:489cced07a4c11488f47aab1f00d0c572506883f877af100a38f1fedaa884c3a", size = 1265177, upload-time = "2024-11-13T16:37:33.348Z" }, + { url = "https://files.pythonhosted.org/packages/63/5e/3827ad7e61544ed1e73e4fdea7bb87ea35ac59a362d7eb301feb5e859780/aiohttp-3.10.11-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ea9b3bab329aeaa603ed3bf605f1e2a6f36496ad7e0e1aa42025f368ee2dc07b", size = 1257238, upload-time = "2024-11-13T16:37:35.753Z" }, + { url = "https://files.pythonhosted.org/packages/53/31/951f78751d403da6086b662760e6e8b08201b0dcf5357969f48261b4d0e1/aiohttp-3.10.11-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:ca117819d8ad113413016cb29774b3f6d99ad23c220069789fc050267b786c16", size = 1315944, upload-time = "2024-11-13T16:37:38.317Z" }, + { url = "https://files.pythonhosted.org/packages/0d/79/06ef7a2a69880649261818b135b245de5a4e89fed5a6987c8645428563fc/aiohttp-3.10.11-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:2dfb612dcbe70fb7cdcf3499e8d483079b89749c857a8f6e80263b021745c730", size = 1332065, upload-time = "2024-11-13T16:37:40.725Z" }, + { url = "https://files.pythonhosted.org/packages/10/39/a273857c2d0bbf2152a4201fbf776931c2dac74aa399c6683ed4c286d1d1/aiohttp-3.10.11-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f9b615d3da0d60e7d53c62e22b4fd1c70f4ae5993a44687b011ea3a2e49051b8", size = 1291882, upload-time = "2024-11-13T16:37:43.209Z" }, + { url = "https://files.pythonhosted.org/packages/49/39/7aa387f88403febc96e0494101763afaa14d342109329a01b413b2bac075/aiohttp-3.10.11-cp311-cp311-win32.whl", hash = "sha256:29103f9099b6068bbdf44d6a3d090e0a0b2be6d3c9f16a070dd9d0d910ec08f9", size = 363409, upload-time = "2024-11-13T16:37:45.143Z" }, + { url = "https://files.pythonhosted.org/packages/6f/e9/8eb3dc095ce48499d867ad461d02f1491686b79ad92e4fad4df582f6be7b/aiohttp-3.10.11-cp311-cp311-win_amd64.whl", hash = "sha256:236b28ceb79532da85d59aa9b9bf873b364e27a0acb2ceaba475dc61cffb6f3f", size = 382644, upload-time = "2024-11-13T16:37:47.685Z" }, + { url = "https://files.pythonhosted.org/packages/01/16/077057ef3bd684dbf9a8273a5299e182a8d07b4b252503712ff8b5364fd1/aiohttp-3.10.11-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:7480519f70e32bfb101d71fb9a1f330fbd291655a4c1c922232a48c458c52710", size = 584830, upload-time = "2024-11-13T16:37:49.608Z" }, + { url = "https://files.pythonhosted.org/packages/2c/cf/348b93deb9597c61a51b6682e81f7c7d79290249e886022ef0705d858d90/aiohttp-3.10.11-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f65267266c9aeb2287a6622ee2bb39490292552f9fbf851baabc04c9f84e048d", size = 397090, upload-time = "2024-11-13T16:37:51.539Z" }, + { url = "https://files.pythonhosted.org/packages/70/bf/903df5cd739dfaf5b827b3d8c9d68ff4fcea16a0ca1aeb948c9da30f56c8/aiohttp-3.10.11-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7400a93d629a0608dc1d6c55f1e3d6e07f7375745aaa8bd7f085571e4d1cee97", size = 392361, upload-time = "2024-11-13T16:37:53.586Z" }, + { url = "https://files.pythonhosted.org/packages/fb/97/e4792675448a2ac5bd56f377a095233b805dd1315235c940c8ba5624e3cb/aiohttp-3.10.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f34b97e4b11b8d4eb2c3a4f975be626cc8af99ff479da7de49ac2c6d02d35725", size = 1309839, upload-time = "2024-11-13T16:37:55.68Z" }, + { url = "https://files.pythonhosted.org/packages/96/d0/ba19b1260da6fbbda4d5b1550d8a53ba3518868f2c143d672aedfdbc6172/aiohttp-3.10.11-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e7b825da878464a252ccff2958838f9caa82f32a8dbc334eb9b34a026e2c636", size = 1348116, upload-time = "2024-11-13T16:37:58.232Z" }, + { url = "https://files.pythonhosted.org/packages/b3/b9/15100ee7113a2638bfdc91aecc54641609a92a7ce4fe533ebeaa8d43ff93/aiohttp-3.10.11-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9f92a344c50b9667827da308473005f34767b6a2a60d9acff56ae94f895f385", size = 1391402, upload-time = "2024-11-13T16:38:00.522Z" }, + { url = "https://files.pythonhosted.org/packages/c5/36/831522618ac0dcd0b28f327afd18df7fb6bbf3eaf302f912a40e87714846/aiohttp-3.10.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc6f1ab987a27b83c5268a17218463c2ec08dbb754195113867a27b166cd6087", size = 1304239, upload-time = "2024-11-13T16:38:04.195Z" }, + { url = "https://files.pythonhosted.org/packages/60/9f/b7230d0c48b076500ae57adb717aa0656432acd3d8febb1183dedfaa4e75/aiohttp-3.10.11-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1dc0f4ca54842173d03322793ebcf2c8cc2d34ae91cc762478e295d8e361e03f", size = 1256565, upload-time = "2024-11-13T16:38:07.218Z" }, + { url = "https://files.pythonhosted.org/packages/63/c2/35c7b4699f4830b3b0a5c3d5619df16dca8052ae8b488e66065902d559f6/aiohttp-3.10.11-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7ce6a51469bfaacff146e59e7fb61c9c23006495d11cc24c514a455032bcfa03", size = 1269285, upload-time = "2024-11-13T16:38:09.396Z" }, + { url = "https://files.pythonhosted.org/packages/51/48/bc20ea753909bdeb09f9065260aefa7453e3a57f6a51f56f5216adc1a5e7/aiohttp-3.10.11-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:aad3cd91d484d065ede16f3cf15408254e2469e3f613b241a1db552c5eb7ab7d", size = 1276716, upload-time = "2024-11-13T16:38:12.039Z" }, + { url = "https://files.pythonhosted.org/packages/0c/7b/a8708616b3810f55ead66f8e189afa9474795760473aea734bbea536cd64/aiohttp-3.10.11-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:f4df4b8ca97f658c880fb4b90b1d1ec528315d4030af1ec763247ebfd33d8b9a", size = 1315023, upload-time = "2024-11-13T16:38:15.155Z" }, + { url = "https://files.pythonhosted.org/packages/2a/d6/dfe9134a921e05b01661a127a37b7d157db93428905450e32f9898eef27d/aiohttp-3.10.11-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:2e4e18a0a2d03531edbc06c366954e40a3f8d2a88d2b936bbe78a0c75a3aab3e", size = 1342735, upload-time = "2024-11-13T16:38:17.539Z" }, + { url = "https://files.pythonhosted.org/packages/ca/1a/3bd7f18e3909eabd57e5d17ecdbf5ea4c5828d91341e3676a07de7c76312/aiohttp-3.10.11-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6ce66780fa1a20e45bc753cda2a149daa6dbf1561fc1289fa0c308391c7bc0a4", size = 1302618, upload-time = "2024-11-13T16:38:19.865Z" }, + { url = "https://files.pythonhosted.org/packages/cf/51/d063133781cda48cfdd1e11fc8ef45ab3912b446feba41556385b3ae5087/aiohttp-3.10.11-cp312-cp312-win32.whl", hash = "sha256:a919c8957695ea4c0e7a3e8d16494e3477b86f33067478f43106921c2fef15bb", size = 360497, upload-time = "2024-11-13T16:38:21.996Z" }, + { url = "https://files.pythonhosted.org/packages/55/4e/f29def9ed39826fe8f85955f2e42fe5cc0cbe3ebb53c97087f225368702e/aiohttp-3.10.11-cp312-cp312-win_amd64.whl", hash = "sha256:b5e29706e6389a2283a91611c91bf24f218962717c8f3b4e528ef529d112ee27", size = 380577, upload-time = "2024-11-13T16:38:24.247Z" }, + { url = "https://files.pythonhosted.org/packages/1f/63/654c185dfe3cf5d4a0d35b6ee49ee6ca91922c694eaa90732e1ba4b40ef1/aiohttp-3.10.11-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:703938e22434d7d14ec22f9f310559331f455018389222eed132808cd8f44127", size = 577381, upload-time = "2024-11-13T16:38:26.708Z" }, + { url = "https://files.pythonhosted.org/packages/4e/c4/ee9c350acb202ba2eb0c44b0f84376b05477e870444192a9f70e06844c28/aiohttp-3.10.11-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9bc50b63648840854e00084c2b43035a62e033cb9b06d8c22b409d56eb098413", size = 393289, upload-time = "2024-11-13T16:38:29.207Z" }, + { url = "https://files.pythonhosted.org/packages/3d/7c/30d161a7e3b208cef1b922eacf2bbb8578b7e5a62266a6a2245a1dd044dc/aiohttp-3.10.11-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5f0463bf8b0754bc744e1feb61590706823795041e63edf30118a6f0bf577461", size = 388859, upload-time = "2024-11-13T16:38:31.567Z" }, + { url = "https://files.pythonhosted.org/packages/79/10/8d050e04be447d3d39e5a4a910fa289d930120cebe1b893096bd3ee29063/aiohttp-3.10.11-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f6c6dec398ac5a87cb3a407b068e1106b20ef001c344e34154616183fe684288", size = 1280983, upload-time = "2024-11-13T16:38:33.738Z" }, + { url = "https://files.pythonhosted.org/packages/31/b3/977eca40afe643dcfa6b8d8bb9a93f4cba1d8ed1ead22c92056b08855c7a/aiohttp-3.10.11-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bcaf2d79104d53d4dcf934f7ce76d3d155302d07dae24dff6c9fffd217568067", size = 1317132, upload-time = "2024-11-13T16:38:35.999Z" }, + { url = "https://files.pythonhosted.org/packages/1a/43/b5ee8e697ed0f96a2b3d80b3058fa7590cda508e9cd256274246ba1cf37a/aiohttp-3.10.11-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:25fd5470922091b5a9aeeb7e75be609e16b4fba81cdeaf12981393fb240dd10e", size = 1362630, upload-time = "2024-11-13T16:38:39.016Z" }, + { url = "https://files.pythonhosted.org/packages/28/20/3ae8e993b2990fa722987222dea74d6bac9331e2f530d086f309b4aa8847/aiohttp-3.10.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbde2ca67230923a42161b1f408c3992ae6e0be782dca0c44cb3206bf330dee1", size = 1276865, upload-time = "2024-11-13T16:38:41.423Z" }, + { url = "https://files.pythonhosted.org/packages/02/08/1afb0ab7dcff63333b683e998e751aa2547d1ff897b577d2244b00e6fe38/aiohttp-3.10.11-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:249c8ff8d26a8b41a0f12f9df804e7c685ca35a207e2410adbd3e924217b9006", size = 1230448, upload-time = "2024-11-13T16:38:43.962Z" }, + { url = "https://files.pythonhosted.org/packages/c6/fd/ccd0ff842c62128d164ec09e3dd810208a84d79cd402358a3038ae91f3e9/aiohttp-3.10.11-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:878ca6a931ee8c486a8f7b432b65431d095c522cbeb34892bee5be97b3481d0f", size = 1244626, upload-time = "2024-11-13T16:38:47.089Z" }, + { url = "https://files.pythonhosted.org/packages/9f/75/30e9537ab41ed7cb062338d8df7c4afb0a715b3551cd69fc4ea61cfa5a95/aiohttp-3.10.11-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:8663f7777ce775f0413324be0d96d9730959b2ca73d9b7e2c2c90539139cbdd6", size = 1243608, upload-time = "2024-11-13T16:38:49.47Z" }, + { url = "https://files.pythonhosted.org/packages/c2/e0/3e7a62d99b9080793affddc12a82b11c9bc1312916ad849700d2bddf9786/aiohttp-3.10.11-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:6cd3f10b01f0c31481fba8d302b61603a2acb37b9d30e1d14e0f5a58b7b18a31", size = 1286158, upload-time = "2024-11-13T16:38:51.947Z" }, + { url = "https://files.pythonhosted.org/packages/71/b8/df67886802e71e976996ed9324eb7dc379e53a7d972314e9c7fe3f6ac6bc/aiohttp-3.10.11-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:4e8d8aad9402d3aa02fdc5ca2fe68bcb9fdfe1f77b40b10410a94c7f408b664d", size = 1313636, upload-time = "2024-11-13T16:38:54.424Z" }, + { url = "https://files.pythonhosted.org/packages/3c/3b/aea9c3e70ff4e030f46902df28b4cdf486695f4d78fd9c6698827e2bafab/aiohttp-3.10.11-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:38e3c4f80196b4f6c3a85d134a534a56f52da9cb8d8e7af1b79a32eefee73a00", size = 1273772, upload-time = "2024-11-13T16:38:56.846Z" }, + { url = "https://files.pythonhosted.org/packages/e9/9e/4b4c5705270d1c4ee146516ad288af720798d957ba46504aaf99b86e85d9/aiohttp-3.10.11-cp313-cp313-win32.whl", hash = "sha256:fc31820cfc3b2863c6e95e14fcf815dc7afe52480b4dc03393c4873bb5599f71", size = 358679, upload-time = "2024-11-13T16:38:59.787Z" }, + { url = "https://files.pythonhosted.org/packages/28/1d/18ef37549901db94717d4389eb7be807acbfbdeab48a73ff2993fc909118/aiohttp-3.10.11-cp313-cp313-win_amd64.whl", hash = "sha256:4996ff1345704ffdd6d75fb06ed175938c133425af616142e7187f28dc75f14e", size = 378073, upload-time = "2024-11-13T16:39:02.065Z" }, + { url = "https://files.pythonhosted.org/packages/dd/f2/59165bee7bba0b0634525834c622f152a30715a1d8280f6291a0cb86b1e6/aiohttp-3.10.11-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:74baf1a7d948b3d640badeac333af581a367ab916b37e44cf90a0334157cdfd2", size = 592135, upload-time = "2024-11-13T16:39:04.774Z" }, + { url = "https://files.pythonhosted.org/packages/2e/0e/b3555c504745af66efbf89d16811148ff12932b86fad529d115538fe2739/aiohttp-3.10.11-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:473aebc3b871646e1940c05268d451f2543a1d209f47035b594b9d4e91ce8339", size = 402913, upload-time = "2024-11-13T16:39:08.065Z" }, + { url = "https://files.pythonhosted.org/packages/31/bb/2890a3c77126758ef58536ca9f7476a12ba2021e0cd074108fb99b8c8747/aiohttp-3.10.11-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c2f746a6968c54ab2186574e15c3f14f3e7f67aef12b761e043b33b89c5b5f95", size = 394013, upload-time = "2024-11-13T16:39:10.638Z" }, + { url = "https://files.pythonhosted.org/packages/74/82/0ab5199b473558846d72901a714b6afeb6f6a6a6a4c3c629e2c107418afd/aiohttp-3.10.11-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d110cabad8360ffa0dec8f6ec60e43286e9d251e77db4763a87dcfe55b4adb92", size = 1255578, upload-time = "2024-11-13T16:39:13.14Z" }, + { url = "https://files.pythonhosted.org/packages/f8/b2/f232477dd3c0e95693a903c4815bfb8d831f6a1a67e27ad14d30a774eeda/aiohttp-3.10.11-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e0099c7d5d7afff4202a0c670e5b723f7718810000b4abcbc96b064129e64bc7", size = 1298780, upload-time = "2024-11-13T16:39:15.721Z" }, + { url = "https://files.pythonhosted.org/packages/34/8c/11972235a6b53d5b69098f2ee6629ff8f99cd9592dcaa620c7868deb5673/aiohttp-3.10.11-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0316e624b754dbbf8c872b62fe6dcb395ef20c70e59890dfa0de9eafccd2849d", size = 1336093, upload-time = "2024-11-13T16:39:19.11Z" }, + { url = "https://files.pythonhosted.org/packages/03/be/7ad9a6cd2312221cf7b6837d8e2d8e4660fbd4f9f15bccf79ef857f41f4d/aiohttp-3.10.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a5f7ab8baf13314e6b2485965cbacb94afff1e93466ac4d06a47a81c50f9cca", size = 1250296, upload-time = "2024-11-13T16:39:22.363Z" }, + { url = "https://files.pythonhosted.org/packages/bb/8d/a3885a582d9fc481bccb155d082f83a7a846942e36e4a4bba061e3d6b95e/aiohttp-3.10.11-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c891011e76041e6508cbfc469dd1a8ea09bc24e87e4c204e05f150c4c455a5fa", size = 1215020, upload-time = "2024-11-13T16:39:25.205Z" }, + { url = "https://files.pythonhosted.org/packages/bb/e7/09a1736b7264316dc3738492d9b559f2a54b985660f21d76095c9890a62e/aiohttp-3.10.11-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:9208299251370ee815473270c52cd3f7069ee9ed348d941d574d1457d2c73e8b", size = 1210591, upload-time = "2024-11-13T16:39:28.311Z" }, + { url = "https://files.pythonhosted.org/packages/58/b1/ee684631f6af98065d49ac8416db7a8e74ea33e1378bc75952ab0522342f/aiohttp-3.10.11-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:459f0f32c8356e8125f45eeff0ecf2b1cb6db1551304972702f34cd9e6c44658", size = 1211255, upload-time = "2024-11-13T16:39:30.799Z" }, + { url = "https://files.pythonhosted.org/packages/8f/55/e21e312fd6c581f244dd2ed077ccb784aade07c19416a6316b1453f02c4e/aiohttp-3.10.11-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:14cdc8c1810bbd4b4b9f142eeee23cda528ae4e57ea0923551a9af4820980e39", size = 1278114, upload-time = "2024-11-13T16:39:34.141Z" }, + { url = "https://files.pythonhosted.org/packages/d8/7f/ff6df0e90df6759693f52720ebedbfa10982d97aa1fd02c6ca917a6399ea/aiohttp-3.10.11-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:971aa438a29701d4b34e4943e91b5e984c3ae6ccbf80dd9efaffb01bd0b243a9", size = 1292714, upload-time = "2024-11-13T16:39:37.216Z" }, + { url = "https://files.pythonhosted.org/packages/3a/45/63f35367dfffae41e7abd0603f92708b5b3655fda55c08388ac2c7fb127b/aiohttp-3.10.11-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:9a309c5de392dfe0f32ee57fa43ed8fc6ddf9985425e84bd51ed66bb16bce3a7", size = 1233734, upload-time = "2024-11-13T16:39:40.599Z" }, + { url = "https://files.pythonhosted.org/packages/ec/ee/74b0696c0e84e06c43beab9302f353d97dc9f0cccd7ccf3ee648411b849b/aiohttp-3.10.11-cp38-cp38-win32.whl", hash = "sha256:9ec1628180241d906a0840b38f162a3215114b14541f1a8711c368a8739a9be4", size = 365350, upload-time = "2024-11-13T16:39:43.852Z" }, + { url = "https://files.pythonhosted.org/packages/21/0c/74c895688db09a2852056abf32d128991ec2fb41e5f57a1fe0928e15151c/aiohttp-3.10.11-cp38-cp38-win_amd64.whl", hash = "sha256:9c6e0ffd52c929f985c7258f83185d17c76d4275ad22e90aa29f38e211aacbec", size = 384542, upload-time = "2024-11-13T16:39:47.093Z" }, + { url = "https://files.pythonhosted.org/packages/cc/df/aa0d1548db818395a372b5f90e62072677ce786d6b19680c49dd4da3825f/aiohttp-3.10.11-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:cdc493a2e5d8dc79b2df5bec9558425bcd39aff59fc949810cbd0832e294b106", size = 589833, upload-time = "2024-11-13T16:39:49.72Z" }, + { url = "https://files.pythonhosted.org/packages/75/7c/d11145784b3fa29c0421a3883a4b91ee8c19acb40332b1d2e39f47be4e5b/aiohttp-3.10.11-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b3e70f24e7d0405be2348da9d5a7836936bf3a9b4fd210f8c37e8d48bc32eca6", size = 401685, upload-time = "2024-11-13T16:39:52.263Z" }, + { url = "https://files.pythonhosted.org/packages/e2/67/1b5f93babeb060cb683d23104b243be1d6299fe6cd807dcb56cf67d2e62c/aiohttp-3.10.11-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:968b8fb2a5eee2770eda9c7b5581587ef9b96fbdf8dcabc6b446d35ccc69df01", size = 392957, upload-time = "2024-11-13T16:39:54.668Z" }, + { url = "https://files.pythonhosted.org/packages/e1/4d/441df53aafd8dd97b8cfe9e467c641fa19cb5113e7601a7f77f2124518e0/aiohttp-3.10.11-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:deef4362af9493d1382ef86732ee2e4cbc0d7c005947bd54ad1a9a16dd59298e", size = 1229754, upload-time = "2024-11-13T16:39:57.166Z" }, + { url = "https://files.pythonhosted.org/packages/4d/cc/f1397a2501b95cb94580de7051395e85af95a1e27aed1f8af73459ddfa22/aiohttp-3.10.11-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:686b03196976e327412a1b094f4120778c7c4b9cff9bce8d2fdfeca386b89829", size = 1266246, upload-time = "2024-11-13T16:40:00.723Z" }, + { url = "https://files.pythonhosted.org/packages/c2/b5/7d33dae7630b4e9f90d634c6a90cb0923797e011b71cd9b10fe685aec3f6/aiohttp-3.10.11-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3bf6d027d9d1d34e1c2e1645f18a6498c98d634f8e373395221121f1c258ace8", size = 1301720, upload-time = "2024-11-13T16:40:04.111Z" }, + { url = "https://files.pythonhosted.org/packages/51/36/f917bcc63bc489aa3f534fa81efbf895fa5286745dcd8bbd0eb9dbc923a1/aiohttp-3.10.11-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:099fd126bf960f96d34a760e747a629c27fb3634da5d05c7ef4d35ef4ea519fc", size = 1221527, upload-time = "2024-11-13T16:40:06.851Z" }, + { url = "https://files.pythonhosted.org/packages/32/c2/1a303a072b4763d99d4b0664a3a8b952869e3fbb660d4239826bd0c56cc1/aiohttp-3.10.11-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c73c4d3dae0b4644bc21e3de546530531d6cdc88659cdeb6579cd627d3c206aa", size = 1192309, upload-time = "2024-11-13T16:40:09.65Z" }, + { url = "https://files.pythonhosted.org/packages/62/ef/d62f705dc665382b78ef171e5ba2616c395220ac7c1f452f0d2dcad3f9f5/aiohttp-3.10.11-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0c5580f3c51eea91559db3facd45d72e7ec970b04528b4709b1f9c2555bd6d0b", size = 1189481, upload-time = "2024-11-13T16:40:12.77Z" }, + { url = "https://files.pythonhosted.org/packages/40/22/3e3eb4f97e5c4f52ccd198512b583c0c9135aa4e989c7ade97023c4cd282/aiohttp-3.10.11-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:fdf6429f0caabfd8a30c4e2eaecb547b3c340e4730ebfe25139779b9815ba138", size = 1187877, upload-time = "2024-11-13T16:40:15.985Z" }, + { url = "https://files.pythonhosted.org/packages/b5/73/77475777fbe2b3efaceb49db2859f1a22c96fd5869d736e80375db05bbf4/aiohttp-3.10.11-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:d97187de3c276263db3564bb9d9fad9e15b51ea10a371ffa5947a5ba93ad6777", size = 1246006, upload-time = "2024-11-13T16:40:19.17Z" }, + { url = "https://files.pythonhosted.org/packages/ef/f7/5b060d19065473da91838b63d8fd4d20ef8426a7d905cc8f9cd11eabd780/aiohttp-3.10.11-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:0acafb350cfb2eba70eb5d271f55e08bd4502ec35e964e18ad3e7d34d71f7261", size = 1260403, upload-time = "2024-11-13T16:40:21.761Z" }, + { url = "https://files.pythonhosted.org/packages/6c/ea/e9ad224815cd83c8dfda686d2bafa2cab5b93d7232e09470a8d2a158acde/aiohttp-3.10.11-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c13ed0c779911c7998a58e7848954bd4d63df3e3575f591e321b19a2aec8df9f", size = 1208643, upload-time = "2024-11-13T16:40:24.803Z" }, + { url = "https://files.pythonhosted.org/packages/ba/c1/e1c6bba72f379adbd52958601a8642546ed0807964afba3b1b5b8cfb1bc0/aiohttp-3.10.11-cp39-cp39-win32.whl", hash = "sha256:22b7c540c55909140f63ab4f54ec2c20d2635c0289cdd8006da46f3327f971b9", size = 364419, upload-time = "2024-11-13T16:40:27.817Z" }, + { url = "https://files.pythonhosted.org/packages/30/24/50862e06e86cd263c60661e00b9d2c8d7fdece4fe95454ed5aa21ecf8036/aiohttp-3.10.11-cp39-cp39-win_amd64.whl", hash = "sha256:7b26b1551e481012575dab8e3727b16fe7dd27eb2711d2e63ced7368756268fb", size = 382857, upload-time = "2024-11-13T16:40:30.427Z" }, +] + +[[package]] +name = "aiohttp" +version = "3.13.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "aiohappyeyeballs", version = "2.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "aiosignal", version = "1.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "async-timeout", marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, + { name = "attrs", version = "25.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "frozenlist", version = "1.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "multidict", version = "6.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "propcache", version = "0.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "yarl", version = "1.22.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/50/42/32cf8e7704ceb4481406eb87161349abb46a57fee3f008ba9cb610968646/aiohttp-3.13.3.tar.gz", hash = "sha256:a949eee43d3782f2daae4f4a2819b2cb9b0c5d3b7f7a927067cc84dafdbb9f88", size = 7844556, upload-time = "2026-01-03T17:33:05.204Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/36/d6/5aec9313ee6ea9c7cde8b891b69f4ff4001416867104580670a31daeba5b/aiohttp-3.13.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d5a372fd5afd301b3a89582817fdcdb6c34124787c70dbcc616f259013e7eef7", size = 738950, upload-time = "2026-01-03T17:29:13.002Z" }, + { url = "https://files.pythonhosted.org/packages/68/03/8fa90a7e6d11ff20a18837a8e2b5dd23db01aabc475aa9271c8ad33299f5/aiohttp-3.13.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:147e422fd1223005c22b4fe080f5d93ced44460f5f9c105406b753612b587821", size = 496099, upload-time = "2026-01-03T17:29:15.268Z" }, + { url = "https://files.pythonhosted.org/packages/d2/23/b81f744d402510a8366b74eb420fc0cc1170d0c43daca12d10814df85f10/aiohttp-3.13.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:859bd3f2156e81dd01432f5849fc73e2243d4a487c4fd26609b1299534ee1845", size = 491072, upload-time = "2026-01-03T17:29:16.922Z" }, + { url = "https://files.pythonhosted.org/packages/d5/e1/56d1d1c0dd334cd203dd97706ce004c1aa24b34a813b0b8daf3383039706/aiohttp-3.13.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dca68018bf48c251ba17c72ed479f4dafe9dbd5a73707ad8d28a38d11f3d42af", size = 1671588, upload-time = "2026-01-03T17:29:18.539Z" }, + { url = "https://files.pythonhosted.org/packages/5f/34/8d7f962604f4bc2b4e39eb1220dac7d4e4cba91fb9ba0474b4ecd67db165/aiohttp-3.13.3-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:fee0c6bc7db1de362252affec009707a17478a00ec69f797d23ca256e36d5940", size = 1640334, upload-time = "2026-01-03T17:29:21.028Z" }, + { url = "https://files.pythonhosted.org/packages/94/1d/fcccf2c668d87337ddeef9881537baee13c58d8f01f12ba8a24215f2b804/aiohttp-3.13.3-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c048058117fd649334d81b4b526e94bde3ccaddb20463a815ced6ecbb7d11160", size = 1722656, upload-time = "2026-01-03T17:29:22.531Z" }, + { url = "https://files.pythonhosted.org/packages/aa/98/c6f3b081c4c606bc1e5f2ec102e87d6411c73a9ef3616fea6f2d5c98c062/aiohttp-3.13.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:215a685b6fbbfcf71dfe96e3eba7a6f58f10da1dfdf4889c7dd856abe430dca7", size = 1817625, upload-time = "2026-01-03T17:29:24.276Z" }, + { url = "https://files.pythonhosted.org/packages/2c/c0/cfcc3d2e11b477f86e1af2863f3858c8850d751ce8dc39c4058a072c9e54/aiohttp-3.13.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:de2c184bb1fe2cbd2cefba613e9db29a5ab559323f994b6737e370d3da0ac455", size = 1672604, upload-time = "2026-01-03T17:29:26.099Z" }, + { url = "https://files.pythonhosted.org/packages/1e/77/6b4ffcbcac4c6a5d041343a756f34a6dd26174ae07f977a64fe028dda5b0/aiohttp-3.13.3-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:75ca857eba4e20ce9f546cd59c7007b33906a4cd48f2ff6ccf1ccfc3b646f279", size = 1554370, upload-time = "2026-01-03T17:29:28.121Z" }, + { url = "https://files.pythonhosted.org/packages/f2/f0/e3ddfa93f17d689dbe014ba048f18e0c9f9b456033b70e94349a2e9048be/aiohttp-3.13.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:81e97251d9298386c2b7dbeb490d3d1badbdc69107fb8c9299dd04eb39bddc0e", size = 1642023, upload-time = "2026-01-03T17:29:30.002Z" }, + { url = "https://files.pythonhosted.org/packages/eb/45/c14019c9ec60a8e243d06d601b33dcc4fd92379424bde3021725859d7f99/aiohttp-3.13.3-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:c0e2d366af265797506f0283487223146af57815b388623f0357ef7eac9b209d", size = 1649680, upload-time = "2026-01-03T17:29:31.782Z" }, + { url = "https://files.pythonhosted.org/packages/9c/fd/09c9451dae5aa5c5ed756df95ff9ef549d45d4be663bafd1e4954fd836f0/aiohttp-3.13.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4e239d501f73d6db1522599e14b9b321a7e3b1de66ce33d53a765d975e9f4808", size = 1692407, upload-time = "2026-01-03T17:29:33.392Z" }, + { url = "https://files.pythonhosted.org/packages/a6/81/938bc2ec33c10efd6637ccb3d22f9f3160d08e8f3aa2587a2c2d5ab578eb/aiohttp-3.13.3-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:0db318f7a6f065d84cb1e02662c526294450b314a02bd9e2a8e67f0d8564ce40", size = 1543047, upload-time = "2026-01-03T17:29:34.855Z" }, + { url = "https://files.pythonhosted.org/packages/f7/23/80488ee21c8d567c83045e412e1d9b7077d27171591a4eb7822586e8c06a/aiohttp-3.13.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:bfc1cc2fe31a6026a8a88e4ecfb98d7f6b1fec150cfd708adbfd1d2f42257c29", size = 1715264, upload-time = "2026-01-03T17:29:36.389Z" }, + { url = "https://files.pythonhosted.org/packages/e2/83/259a8da6683182768200b368120ab3deff5370bed93880fb9a3a86299f34/aiohttp-3.13.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:af71fff7bac6bb7508956696dce8f6eec2bbb045eceb40343944b1ae62b5ef11", size = 1657275, upload-time = "2026-01-03T17:29:38.162Z" }, + { url = "https://files.pythonhosted.org/packages/3f/4f/2c41f800a0b560785c10fb316216ac058c105f9be50bdc6a285de88db625/aiohttp-3.13.3-cp310-cp310-win32.whl", hash = "sha256:37da61e244d1749798c151421602884db5270faf479cf0ef03af0ff68954c9dd", size = 434053, upload-time = "2026-01-03T17:29:40.074Z" }, + { url = "https://files.pythonhosted.org/packages/80/df/29cd63c7ecfdb65ccc12f7d808cac4fa2a19544660c06c61a4a48462de0c/aiohttp-3.13.3-cp310-cp310-win_amd64.whl", hash = "sha256:7e63f210bc1b57ef699035f2b4b6d9ce096b5914414a49b0997c839b2bd2223c", size = 456687, upload-time = "2026-01-03T17:29:41.819Z" }, + { url = "https://files.pythonhosted.org/packages/f1/4c/a164164834f03924d9a29dc3acd9e7ee58f95857e0b467f6d04298594ebb/aiohttp-3.13.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5b6073099fb654e0a068ae678b10feff95c5cae95bbfcbfa7af669d361a8aa6b", size = 746051, upload-time = "2026-01-03T17:29:43.287Z" }, + { url = "https://files.pythonhosted.org/packages/82/71/d5c31390d18d4f58115037c432b7e0348c60f6f53b727cad33172144a112/aiohttp-3.13.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1cb93e166e6c28716c8c6aeb5f99dfb6d5ccf482d29fe9bf9a794110e6d0ab64", size = 499234, upload-time = "2026-01-03T17:29:44.822Z" }, + { url = "https://files.pythonhosted.org/packages/0e/c9/741f8ac91e14b1d2e7100690425a5b2b919a87a5075406582991fb7de920/aiohttp-3.13.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:28e027cf2f6b641693a09f631759b4d9ce9165099d2b5d92af9bd4e197690eea", size = 494979, upload-time = "2026-01-03T17:29:46.405Z" }, + { url = "https://files.pythonhosted.org/packages/75/b5/31d4d2e802dfd59f74ed47eba48869c1c21552c586d5e81a9d0d5c2ad640/aiohttp-3.13.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3b61b7169ababd7802f9568ed96142616a9118dd2be0d1866e920e77ec8fa92a", size = 1748297, upload-time = "2026-01-03T17:29:48.083Z" }, + { url = "https://files.pythonhosted.org/packages/1a/3e/eefad0ad42959f226bb79664826883f2687d602a9ae2941a18e0484a74d3/aiohttp-3.13.3-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:80dd4c21b0f6237676449c6baaa1039abae86b91636b6c91a7f8e61c87f89540", size = 1707172, upload-time = "2026-01-03T17:29:49.648Z" }, + { url = "https://files.pythonhosted.org/packages/c5/3a/54a64299fac2891c346cdcf2aa6803f994a2e4beeaf2e5a09dcc54acc842/aiohttp-3.13.3-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:65d2ccb7eabee90ce0503c17716fc77226be026dcc3e65cce859a30db715025b", size = 1805405, upload-time = "2026-01-03T17:29:51.244Z" }, + { url = "https://files.pythonhosted.org/packages/6c/70/ddc1b7169cf64075e864f64595a14b147a895a868394a48f6a8031979038/aiohttp-3.13.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5b179331a481cb5529fca8b432d8d3c7001cb217513c94cd72d668d1248688a3", size = 1899449, upload-time = "2026-01-03T17:29:53.938Z" }, + { url = "https://files.pythonhosted.org/packages/a1/7e/6815aab7d3a56610891c76ef79095677b8b5be6646aaf00f69b221765021/aiohttp-3.13.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d4c940f02f49483b18b079d1c27ab948721852b281f8b015c058100e9421dd1", size = 1748444, upload-time = "2026-01-03T17:29:55.484Z" }, + { url = "https://files.pythonhosted.org/packages/6b/f2/073b145c4100da5511f457dc0f7558e99b2987cf72600d42b559db856fbc/aiohttp-3.13.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f9444f105664c4ce47a2a7171a2418bce5b7bae45fb610f4e2c36045d85911d3", size = 1606038, upload-time = "2026-01-03T17:29:57.179Z" }, + { url = "https://files.pythonhosted.org/packages/0a/c1/778d011920cae03ae01424ec202c513dc69243cf2db303965615b81deeea/aiohttp-3.13.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:694976222c711d1d00ba131904beb60534f93966562f64440d0c9d41b8cdb440", size = 1724156, upload-time = "2026-01-03T17:29:58.914Z" }, + { url = "https://files.pythonhosted.org/packages/0e/cb/3419eabf4ec1e9ec6f242c32b689248365a1cf621891f6f0386632525494/aiohttp-3.13.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:f33ed1a2bf1997a36661874b017f5c4b760f41266341af36febaf271d179f6d7", size = 1722340, upload-time = "2026-01-03T17:30:01.962Z" }, + { url = "https://files.pythonhosted.org/packages/7a/e5/76cf77bdbc435bf233c1f114edad39ed4177ccbfab7c329482b179cff4f4/aiohttp-3.13.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e636b3c5f61da31a92bf0d91da83e58fdfa96f178ba682f11d24f31944cdd28c", size = 1783041, upload-time = "2026-01-03T17:30:03.609Z" }, + { url = "https://files.pythonhosted.org/packages/9d/d4/dd1ca234c794fd29c057ce8c0566b8ef7fd6a51069de5f06fa84b9a1971c/aiohttp-3.13.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:5d2d94f1f5fcbe40838ac51a6ab5704a6f9ea42e72ceda48de5e6b898521da51", size = 1596024, upload-time = "2026-01-03T17:30:05.132Z" }, + { url = "https://files.pythonhosted.org/packages/55/58/4345b5f26661a6180afa686c473620c30a66afdf120ed3dd545bbc809e85/aiohttp-3.13.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:2be0e9ccf23e8a94f6f0650ce06042cefc6ac703d0d7ab6c7a917289f2539ad4", size = 1804590, upload-time = "2026-01-03T17:30:07.135Z" }, + { url = "https://files.pythonhosted.org/packages/7b/06/05950619af6c2df7e0a431d889ba2813c9f0129cec76f663e547a5ad56f2/aiohttp-3.13.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9af5e68ee47d6534d36791bbe9b646d2a7c7deb6fc24d7943628edfbb3581f29", size = 1740355, upload-time = "2026-01-03T17:30:09.083Z" }, + { url = "https://files.pythonhosted.org/packages/3e/80/958f16de79ba0422d7c1e284b2abd0c84bc03394fbe631d0a39ffa10e1eb/aiohttp-3.13.3-cp311-cp311-win32.whl", hash = "sha256:a2212ad43c0833a873d0fb3c63fa1bacedd4cf6af2fee62bf4b739ceec3ab239", size = 433701, upload-time = "2026-01-03T17:30:10.869Z" }, + { url = "https://files.pythonhosted.org/packages/dc/f2/27cdf04c9851712d6c1b99df6821a6623c3c9e55956d4b1e318c337b5a48/aiohttp-3.13.3-cp311-cp311-win_amd64.whl", hash = "sha256:642f752c3eb117b105acbd87e2c143de710987e09860d674e068c4c2c441034f", size = 457678, upload-time = "2026-01-03T17:30:12.719Z" }, + { url = "https://files.pythonhosted.org/packages/a0/be/4fc11f202955a69e0db803a12a062b8379c970c7c84f4882b6da17337cc1/aiohttp-3.13.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:b903a4dfee7d347e2d87697d0713be59e0b87925be030c9178c5faa58ea58d5c", size = 739732, upload-time = "2026-01-03T17:30:14.23Z" }, + { url = "https://files.pythonhosted.org/packages/97/2c/621d5b851f94fa0bb7430d6089b3aa970a9d9b75196bc93bb624b0db237a/aiohttp-3.13.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a45530014d7a1e09f4a55f4f43097ba0fd155089372e105e4bff4ca76cb1b168", size = 494293, upload-time = "2026-01-03T17:30:15.96Z" }, + { url = "https://files.pythonhosted.org/packages/5d/43/4be01406b78e1be8320bb8316dc9c42dbab553d281c40364e0f862d5661c/aiohttp-3.13.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:27234ef6d85c914f9efeb77ff616dbf4ad2380be0cda40b4db086ffc7ddd1b7d", size = 493533, upload-time = "2026-01-03T17:30:17.431Z" }, + { url = "https://files.pythonhosted.org/packages/8d/a8/5a35dc56a06a2c90d4742cbf35294396907027f80eea696637945a106f25/aiohttp-3.13.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d32764c6c9aafb7fb55366a224756387cd50bfa720f32b88e0e6fa45b27dcf29", size = 1737839, upload-time = "2026-01-03T17:30:19.422Z" }, + { url = "https://files.pythonhosted.org/packages/bf/62/4b9eeb331da56530bf2e198a297e5303e1c1ebdceeb00fe9b568a65c5a0c/aiohttp-3.13.3-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b1a6102b4d3ebc07dad44fbf07b45bb600300f15b552ddf1851b5390202ea2e3", size = 1703932, upload-time = "2026-01-03T17:30:21.756Z" }, + { url = "https://files.pythonhosted.org/packages/7c/f6/af16887b5d419e6a367095994c0b1332d154f647e7dc2bd50e61876e8e3d/aiohttp-3.13.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c014c7ea7fb775dd015b2d3137378b7be0249a448a1612268b5a90c2d81de04d", size = 1771906, upload-time = "2026-01-03T17:30:23.932Z" }, + { url = "https://files.pythonhosted.org/packages/ce/83/397c634b1bcc24292fa1e0c7822800f9f6569e32934bdeef09dae7992dfb/aiohttp-3.13.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2b8d8ddba8f95ba17582226f80e2de99c7a7948e66490ef8d947e272a93e9463", size = 1871020, upload-time = "2026-01-03T17:30:26Z" }, + { url = "https://files.pythonhosted.org/packages/86/f6/a62cbbf13f0ac80a70f71b1672feba90fdb21fd7abd8dbf25c0105fb6fa3/aiohttp-3.13.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9ae8dd55c8e6c4257eae3a20fd2c8f41edaea5992ed67156642493b8daf3cecc", size = 1755181, upload-time = "2026-01-03T17:30:27.554Z" }, + { url = "https://files.pythonhosted.org/packages/0a/87/20a35ad487efdd3fba93d5843efdfaa62d2f1479eaafa7453398a44faf13/aiohttp-3.13.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:01ad2529d4b5035578f5081606a465f3b814c542882804e2e8cda61adf5c71bf", size = 1561794, upload-time = "2026-01-03T17:30:29.254Z" }, + { url = "https://files.pythonhosted.org/packages/de/95/8fd69a66682012f6716e1bc09ef8a1a2a91922c5725cb904689f112309c4/aiohttp-3.13.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:bb4f7475e359992b580559e008c598091c45b5088f28614e855e42d39c2f1033", size = 1697900, upload-time = "2026-01-03T17:30:31.033Z" }, + { url = "https://files.pythonhosted.org/packages/e5/66/7b94b3b5ba70e955ff597672dad1691333080e37f50280178967aff68657/aiohttp-3.13.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:c19b90316ad3b24c69cd78d5c9b4f3aa4497643685901185b65166293d36a00f", size = 1728239, upload-time = "2026-01-03T17:30:32.703Z" }, + { url = "https://files.pythonhosted.org/packages/47/71/6f72f77f9f7d74719692ab65a2a0252584bf8d5f301e2ecb4c0da734530a/aiohttp-3.13.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:96d604498a7c782cb15a51c406acaea70d8c027ee6b90c569baa6e7b93073679", size = 1740527, upload-time = "2026-01-03T17:30:34.695Z" }, + { url = "https://files.pythonhosted.org/packages/fa/b4/75ec16cbbd5c01bdaf4a05b19e103e78d7ce1ef7c80867eb0ace42ff4488/aiohttp-3.13.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:084911a532763e9d3dd95adf78a78f4096cd5f58cdc18e6fdbc1b58417a45423", size = 1554489, upload-time = "2026-01-03T17:30:36.864Z" }, + { url = "https://files.pythonhosted.org/packages/52/8f/bc518c0eea29f8406dcf7ed1f96c9b48e3bc3995a96159b3fc11f9e08321/aiohttp-3.13.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:7a4a94eb787e606d0a09404b9c38c113d3b099d508021faa615d70a0131907ce", size = 1767852, upload-time = "2026-01-03T17:30:39.433Z" }, + { url = "https://files.pythonhosted.org/packages/9d/f2/a07a75173124f31f11ea6f863dc44e6f09afe2bca45dd4e64979490deab1/aiohttp-3.13.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:87797e645d9d8e222e04160ee32aa06bc5c163e8499f24db719e7852ec23093a", size = 1722379, upload-time = "2026-01-03T17:30:41.081Z" }, + { url = "https://files.pythonhosted.org/packages/3c/4a/1a3fee7c21350cac78e5c5cef711bac1b94feca07399f3d406972e2d8fcd/aiohttp-3.13.3-cp312-cp312-win32.whl", hash = "sha256:b04be762396457bef43f3597c991e192ee7da460a4953d7e647ee4b1c28e7046", size = 428253, upload-time = "2026-01-03T17:30:42.644Z" }, + { url = "https://files.pythonhosted.org/packages/d9/b7/76175c7cb4eb73d91ad63c34e29fc4f77c9386bba4a65b53ba8e05ee3c39/aiohttp-3.13.3-cp312-cp312-win_amd64.whl", hash = "sha256:e3531d63d3bdfa7e3ac5e9b27b2dd7ec9df3206a98e0b3445fa906f233264c57", size = 455407, upload-time = "2026-01-03T17:30:44.195Z" }, + { url = "https://files.pythonhosted.org/packages/97/8a/12ca489246ca1faaf5432844adbfce7ff2cc4997733e0af120869345643a/aiohttp-3.13.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:5dff64413671b0d3e7d5918ea490bdccb97a4ad29b3f311ed423200b2203e01c", size = 734190, upload-time = "2026-01-03T17:30:45.832Z" }, + { url = "https://files.pythonhosted.org/packages/32/08/de43984c74ed1fca5c014808963cc83cb00d7bb06af228f132d33862ca76/aiohttp-3.13.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:87b9aab6d6ed88235aa2970294f496ff1a1f9adcd724d800e9b952395a80ffd9", size = 491783, upload-time = "2026-01-03T17:30:47.466Z" }, + { url = "https://files.pythonhosted.org/packages/17/f8/8dd2cf6112a5a76f81f81a5130c57ca829d101ad583ce57f889179accdda/aiohttp-3.13.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:425c126c0dc43861e22cb1c14ba4c8e45d09516d0a3ae0a3f7494b79f5f233a3", size = 490704, upload-time = "2026-01-03T17:30:49.373Z" }, + { url = "https://files.pythonhosted.org/packages/6d/40/a46b03ca03936f832bc7eaa47cfbb1ad012ba1be4790122ee4f4f8cba074/aiohttp-3.13.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7f9120f7093c2a32d9647abcaf21e6ad275b4fbec5b55969f978b1a97c7c86bf", size = 1720652, upload-time = "2026-01-03T17:30:50.974Z" }, + { url = "https://files.pythonhosted.org/packages/f7/7e/917fe18e3607af92657e4285498f500dca797ff8c918bd7d90b05abf6c2a/aiohttp-3.13.3-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:697753042d57f4bf7122cab985bf15d0cef23c770864580f5af4f52023a56bd6", size = 1692014, upload-time = "2026-01-03T17:30:52.729Z" }, + { url = "https://files.pythonhosted.org/packages/71/b6/cefa4cbc00d315d68973b671cf105b21a609c12b82d52e5d0c9ae61d2a09/aiohttp-3.13.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6de499a1a44e7de70735d0b39f67c8f25eb3d91eb3103be99ca0fa882cdd987d", size = 1759777, upload-time = "2026-01-03T17:30:54.537Z" }, + { url = "https://files.pythonhosted.org/packages/fb/e3/e06ee07b45e59e6d81498b591fc589629be1553abb2a82ce33efe2a7b068/aiohttp-3.13.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:37239e9f9a7ea9ac5bf6b92b0260b01f8a22281996da609206a84df860bc1261", size = 1861276, upload-time = "2026-01-03T17:30:56.512Z" }, + { url = "https://files.pythonhosted.org/packages/7c/24/75d274228acf35ceeb2850b8ce04de9dd7355ff7a0b49d607ee60c29c518/aiohttp-3.13.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f76c1e3fe7d7c8afad7ed193f89a292e1999608170dcc9751a7462a87dfd5bc0", size = 1743131, upload-time = "2026-01-03T17:30:58.256Z" }, + { url = "https://files.pythonhosted.org/packages/04/98/3d21dde21889b17ca2eea54fdcff21b27b93f45b7bb94ca029c31ab59dc3/aiohttp-3.13.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fc290605db2a917f6e81b0e1e0796469871f5af381ce15c604a3c5c7e51cb730", size = 1556863, upload-time = "2026-01-03T17:31:00.445Z" }, + { url = "https://files.pythonhosted.org/packages/9e/84/da0c3ab1192eaf64782b03971ab4055b475d0db07b17eff925e8c93b3aa5/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4021b51936308aeea0367b8f006dc999ca02bc118a0cc78c303f50a2ff6afb91", size = 1682793, upload-time = "2026-01-03T17:31:03.024Z" }, + { url = "https://files.pythonhosted.org/packages/ff/0f/5802ada182f575afa02cbd0ec5180d7e13a402afb7c2c03a9aa5e5d49060/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:49a03727c1bba9a97d3e93c9f93ca03a57300f484b6e935463099841261195d3", size = 1716676, upload-time = "2026-01-03T17:31:04.842Z" }, + { url = "https://files.pythonhosted.org/packages/3f/8c/714d53bd8b5a4560667f7bbbb06b20c2382f9c7847d198370ec6526af39c/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3d9908a48eb7416dc1f4524e69f1d32e5d90e3981e4e37eb0aa1cd18f9cfa2a4", size = 1733217, upload-time = "2026-01-03T17:31:06.868Z" }, + { url = "https://files.pythonhosted.org/packages/7d/79/e2176f46d2e963facea939f5be2d26368ce543622be6f00a12844d3c991f/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:2712039939ec963c237286113c68dbad80a82a4281543f3abf766d9d73228998", size = 1552303, upload-time = "2026-01-03T17:31:08.958Z" }, + { url = "https://files.pythonhosted.org/packages/ab/6a/28ed4dea1759916090587d1fe57087b03e6c784a642b85ef48217b0277ae/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:7bfdc049127717581866fa4708791220970ce291c23e28ccf3922c700740fdc0", size = 1763673, upload-time = "2026-01-03T17:31:10.676Z" }, + { url = "https://files.pythonhosted.org/packages/e8/35/4a3daeb8b9fab49240d21c04d50732313295e4bd813a465d840236dd0ce1/aiohttp-3.13.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8057c98e0c8472d8846b9c79f56766bcc57e3e8ac7bfd510482332366c56c591", size = 1721120, upload-time = "2026-01-03T17:31:12.575Z" }, + { url = "https://files.pythonhosted.org/packages/bc/9f/d643bb3c5fb99547323e635e251c609fbbc660d983144cfebec529e09264/aiohttp-3.13.3-cp313-cp313-win32.whl", hash = "sha256:1449ceddcdbcf2e0446957863af03ebaaa03f94c090f945411b61269e2cb5daf", size = 427383, upload-time = "2026-01-03T17:31:14.382Z" }, + { url = "https://files.pythonhosted.org/packages/4e/f1/ab0395f8a79933577cdd996dd2f9aa6014af9535f65dddcf88204682fe62/aiohttp-3.13.3-cp313-cp313-win_amd64.whl", hash = "sha256:693781c45a4033d31d4187d2436f5ac701e7bbfe5df40d917736108c1cc7436e", size = 453899, upload-time = "2026-01-03T17:31:15.958Z" }, + { url = "https://files.pythonhosted.org/packages/99/36/5b6514a9f5d66f4e2597e40dea2e3db271e023eb7a5d22defe96ba560996/aiohttp-3.13.3-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:ea37047c6b367fd4bd632bff8077449b8fa034b69e812a18e0132a00fae6e808", size = 737238, upload-time = "2026-01-03T17:31:17.909Z" }, + { url = "https://files.pythonhosted.org/packages/f7/49/459327f0d5bcd8c6c9ca69e60fdeebc3622861e696490d8674a6d0cb90a6/aiohttp-3.13.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:6fc0e2337d1a4c3e6acafda6a78a39d4c14caea625124817420abceed36e2415", size = 492292, upload-time = "2026-01-03T17:31:19.919Z" }, + { url = "https://files.pythonhosted.org/packages/e8/0b/b97660c5fd05d3495b4eb27f2d0ef18dc1dc4eff7511a9bf371397ff0264/aiohttp-3.13.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c685f2d80bb67ca8c3837823ad76196b3694b0159d232206d1e461d3d434666f", size = 493021, upload-time = "2026-01-03T17:31:21.636Z" }, + { url = "https://files.pythonhosted.org/packages/54/d4/438efabdf74e30aeceb890c3290bbaa449780583b1270b00661126b8aae4/aiohttp-3.13.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:48e377758516d262bde50c2584fc6c578af272559c409eecbdd2bae1601184d6", size = 1717263, upload-time = "2026-01-03T17:31:23.296Z" }, + { url = "https://files.pythonhosted.org/packages/71/f2/7bddc7fd612367d1459c5bcf598a9e8f7092d6580d98de0e057eb42697ad/aiohttp-3.13.3-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:34749271508078b261c4abb1767d42b8d0c0cc9449c73a4df494777dc55f0687", size = 1669107, upload-time = "2026-01-03T17:31:25.334Z" }, + { url = "https://files.pythonhosted.org/packages/00/5a/1aeaecca40e22560f97610a329e0e5efef5e0b5afdf9f857f0d93839ab2e/aiohttp-3.13.3-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:82611aeec80eb144416956ec85b6ca45a64d76429c1ed46ae1b5f86c6e0c9a26", size = 1760196, upload-time = "2026-01-03T17:31:27.394Z" }, + { url = "https://files.pythonhosted.org/packages/f8/f8/0ff6992bea7bd560fc510ea1c815f87eedd745fe035589c71ce05612a19a/aiohttp-3.13.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2fff83cfc93f18f215896e3a190e8e5cb413ce01553901aca925176e7568963a", size = 1843591, upload-time = "2026-01-03T17:31:29.238Z" }, + { url = "https://files.pythonhosted.org/packages/e3/d1/e30e537a15f53485b61f5be525f2157da719819e8377298502aebac45536/aiohttp-3.13.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bbe7d4cecacb439e2e2a8a1a7b935c25b812af7a5fd26503a66dadf428e79ec1", size = 1720277, upload-time = "2026-01-03T17:31:31.053Z" }, + { url = "https://files.pythonhosted.org/packages/84/45/23f4c451d8192f553d38d838831ebbc156907ea6e05557f39563101b7717/aiohttp-3.13.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b928f30fe49574253644b1ca44b1b8adbd903aa0da4b9054a6c20fc7f4092a25", size = 1548575, upload-time = "2026-01-03T17:31:32.87Z" }, + { url = "https://files.pythonhosted.org/packages/6a/ed/0a42b127a43712eda7807e7892c083eadfaf8429ca8fb619662a530a3aab/aiohttp-3.13.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7b5e8fe4de30df199155baaf64f2fcd604f4c678ed20910db8e2c66dc4b11603", size = 1679455, upload-time = "2026-01-03T17:31:34.76Z" }, + { url = "https://files.pythonhosted.org/packages/2e/b5/c05f0c2b4b4fe2c9d55e73b6d3ed4fd6c9dc2684b1d81cbdf77e7fad9adb/aiohttp-3.13.3-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:8542f41a62bcc58fc7f11cf7c90e0ec324ce44950003feb70640fc2a9092c32a", size = 1687417, upload-time = "2026-01-03T17:31:36.699Z" }, + { url = "https://files.pythonhosted.org/packages/c9/6b/915bc5dad66aef602b9e459b5a973529304d4e89ca86999d9d75d80cbd0b/aiohttp-3.13.3-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:5e1d8c8b8f1d91cd08d8f4a3c2b067bfca6ec043d3ff36de0f3a715feeedf926", size = 1729968, upload-time = "2026-01-03T17:31:38.622Z" }, + { url = "https://files.pythonhosted.org/packages/11/3b/e84581290a9520024a08640b63d07673057aec5ca548177a82026187ba73/aiohttp-3.13.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:90455115e5da1c3c51ab619ac57f877da8fd6d73c05aacd125c5ae9819582aba", size = 1545690, upload-time = "2026-01-03T17:31:40.57Z" }, + { url = "https://files.pythonhosted.org/packages/f5/04/0c3655a566c43fd647c81b895dfe361b9f9ad6d58c19309d45cff52d6c3b/aiohttp-3.13.3-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:042e9e0bcb5fba81886c8b4fbb9a09d6b8a00245fd8d88e4d989c1f96c74164c", size = 1746390, upload-time = "2026-01-03T17:31:42.857Z" }, + { url = "https://files.pythonhosted.org/packages/1f/53/71165b26978f719c3419381514c9690bd5980e764a09440a10bb816ea4ab/aiohttp-3.13.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2eb752b102b12a76ca02dff751a801f028b4ffbbc478840b473597fc91a9ed43", size = 1702188, upload-time = "2026-01-03T17:31:44.984Z" }, + { url = "https://files.pythonhosted.org/packages/29/a7/cbe6c9e8e136314fa1980da388a59d2f35f35395948a08b6747baebb6aa6/aiohttp-3.13.3-cp314-cp314-win32.whl", hash = "sha256:b556c85915d8efaed322bf1bdae9486aa0f3f764195a0fb6ee962e5c71ef5ce1", size = 433126, upload-time = "2026-01-03T17:31:47.463Z" }, + { url = "https://files.pythonhosted.org/packages/de/56/982704adea7d3b16614fc5936014e9af85c0e34b58f9046655817f04306e/aiohttp-3.13.3-cp314-cp314-win_amd64.whl", hash = "sha256:9bf9f7a65e7aa20dd764151fb3d616c81088f91f8df39c3893a536e279b4b984", size = 459128, upload-time = "2026-01-03T17:31:49.2Z" }, + { url = "https://files.pythonhosted.org/packages/6c/2a/3c79b638a9c3d4658d345339d22070241ea341ed4e07b5ac60fb0f418003/aiohttp-3.13.3-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:05861afbbec40650d8a07ea324367cb93e9e8cc7762e04dd4405df99fa65159c", size = 769512, upload-time = "2026-01-03T17:31:51.134Z" }, + { url = "https://files.pythonhosted.org/packages/29/b9/3e5014d46c0ab0db8707e0ac2711ed28c4da0218c358a4e7c17bae0d8722/aiohttp-3.13.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2fc82186fadc4a8316768d61f3722c230e2c1dcab4200d52d2ebdf2482e47592", size = 506444, upload-time = "2026-01-03T17:31:52.85Z" }, + { url = "https://files.pythonhosted.org/packages/90/03/c1d4ef9a054e151cd7839cdc497f2638f00b93cbe8043983986630d7a80c/aiohttp-3.13.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:0add0900ff220d1d5c5ebbf99ed88b0c1bbf87aa7e4262300ed1376a6b13414f", size = 510798, upload-time = "2026-01-03T17:31:54.91Z" }, + { url = "https://files.pythonhosted.org/packages/ea/76/8c1e5abbfe8e127c893fe7ead569148a4d5a799f7cf958d8c09f3eedf097/aiohttp-3.13.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:568f416a4072fbfae453dcf9a99194bbb8bdeab718e08ee13dfa2ba0e4bebf29", size = 1868835, upload-time = "2026-01-03T17:31:56.733Z" }, + { url = "https://files.pythonhosted.org/packages/8e/ac/984c5a6f74c363b01ff97adc96a3976d9c98940b8969a1881575b279ac5d/aiohttp-3.13.3-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:add1da70de90a2569c5e15249ff76a631ccacfe198375eead4aadf3b8dc849dc", size = 1720486, upload-time = "2026-01-03T17:31:58.65Z" }, + { url = "https://files.pythonhosted.org/packages/b2/9a/b7039c5f099c4eb632138728828b33428585031a1e658d693d41d07d89d1/aiohttp-3.13.3-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:10b47b7ba335d2e9b1239fa571131a87e2d8ec96b333e68b2a305e7a98b0bae2", size = 1847951, upload-time = "2026-01-03T17:32:00.989Z" }, + { url = "https://files.pythonhosted.org/packages/3c/02/3bec2b9a1ba3c19ff89a43a19324202b8eb187ca1e928d8bdac9bbdddebd/aiohttp-3.13.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3dd4dce1c718e38081c8f35f323209d4c1df7d4db4bab1b5c88a6b4d12b74587", size = 1941001, upload-time = "2026-01-03T17:32:03.122Z" }, + { url = "https://files.pythonhosted.org/packages/37/df/d879401cedeef27ac4717f6426c8c36c3091c6e9f08a9178cc87549c537f/aiohttp-3.13.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:34bac00a67a812570d4a460447e1e9e06fae622946955f939051e7cc895cfab8", size = 1797246, upload-time = "2026-01-03T17:32:05.255Z" }, + { url = "https://files.pythonhosted.org/packages/8d/15/be122de1f67e6953add23335c8ece6d314ab67c8bebb3f181063010795a7/aiohttp-3.13.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a19884d2ee70b06d9204b2727a7b9f983d0c684c650254679e716b0b77920632", size = 1627131, upload-time = "2026-01-03T17:32:07.607Z" }, + { url = "https://files.pythonhosted.org/packages/12/12/70eedcac9134cfa3219ab7af31ea56bc877395b1ac30d65b1bc4b27d0438/aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:5f8ca7f2bb6ba8348a3614c7918cc4bb73268c5ac2a207576b7afea19d3d9f64", size = 1795196, upload-time = "2026-01-03T17:32:09.59Z" }, + { url = "https://files.pythonhosted.org/packages/32/11/b30e1b1cd1f3054af86ebe60df96989c6a414dd87e27ad16950eee420bea/aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:b0d95340658b9d2f11d9697f59b3814a9d3bb4b7a7c20b131df4bcef464037c0", size = 1782841, upload-time = "2026-01-03T17:32:11.445Z" }, + { url = "https://files.pythonhosted.org/packages/88/0d/d98a9367b38912384a17e287850f5695c528cff0f14f791ce8ee2e4f7796/aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:a1e53262fd202e4b40b70c3aff944a8155059beedc8a89bba9dc1f9ef06a1b56", size = 1795193, upload-time = "2026-01-03T17:32:13.705Z" }, + { url = "https://files.pythonhosted.org/packages/43/a5/a2dfd1f5ff5581632c7f6a30e1744deda03808974f94f6534241ef60c751/aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:d60ac9663f44168038586cab2157e122e46bdef09e9368b37f2d82d354c23f72", size = 1621979, upload-time = "2026-01-03T17:32:15.965Z" }, + { url = "https://files.pythonhosted.org/packages/fa/f0/12973c382ae7c1cccbc4417e129c5bf54c374dfb85af70893646e1f0e749/aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:90751b8eed69435bac9ff4e3d2f6b3af1f57e37ecb0fbeee59c0174c9e2d41df", size = 1822193, upload-time = "2026-01-03T17:32:18.219Z" }, + { url = "https://files.pythonhosted.org/packages/3c/5f/24155e30ba7f8c96918af1350eb0663e2430aad9e001c0489d89cd708ab1/aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:fc353029f176fd2b3ec6cfc71be166aba1936fe5d73dd1992ce289ca6647a9aa", size = 1769801, upload-time = "2026-01-03T17:32:20.25Z" }, + { url = "https://files.pythonhosted.org/packages/eb/f8/7314031ff5c10e6ece114da79b338ec17eeff3a079e53151f7e9f43c4723/aiohttp-3.13.3-cp314-cp314t-win32.whl", hash = "sha256:2e41b18a58da1e474a057b3d35248d8320029f61d70a37629535b16a0c8f3767", size = 466523, upload-time = "2026-01-03T17:32:22.215Z" }, + { url = "https://files.pythonhosted.org/packages/b4/63/278a98c715ae467624eafe375542d8ba9b4383a016df8fdefe0ae28382a7/aiohttp-3.13.3-cp314-cp314t-win_amd64.whl", hash = "sha256:44531a36aa2264a1860089ffd4dce7baf875ee5a6079d5fb42e261c704ef7344", size = 499694, upload-time = "2026-01-03T17:32:24.546Z" }, + { url = "https://files.pythonhosted.org/packages/bf/79/446655656861d3e7e2c32bfcf160c7aa9e9dc63776a691b124dba65cdd77/aiohttp-3.13.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:31a83ea4aead760dfcb6962efb1d861db48c34379f2ff72db9ddddd4cda9ea2e", size = 741433, upload-time = "2026-01-03T17:32:26.453Z" }, + { url = "https://files.pythonhosted.org/packages/cb/49/773c4b310b5140d2fb5e79bb0bf40b7b41dad80a288ca1a8759f5f72bda9/aiohttp-3.13.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:988a8c5e317544fdf0d39871559e67b6341065b87fceac641108c2096d5506b7", size = 497332, upload-time = "2026-01-03T17:32:28.37Z" }, + { url = "https://files.pythonhosted.org/packages/bc/31/1dcbc4b83a4e6f76a0ad883f07f21ffbfe29750c89db97381701508c9f45/aiohttp-3.13.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9b174f267b5cfb9a7dba9ee6859cecd234e9a681841eb85068059bc867fb8f02", size = 492365, upload-time = "2026-01-03T17:32:30.234Z" }, + { url = "https://files.pythonhosted.org/packages/5a/b5/b50657496c8754482cd7964e50aaf3aa84b3db61ed45daec4c1aec5b94b4/aiohttp-3.13.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:947c26539750deeaee933b000fb6517cc770bbd064bad6033f1cff4803881e43", size = 1660440, upload-time = "2026-01-03T17:32:32.586Z" }, + { url = "https://files.pythonhosted.org/packages/2a/73/9b69e5139d89d75127569298931444ad78ea86a5befd5599780b1e9a6880/aiohttp-3.13.3-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:9ebf57d09e131f5323464bd347135a88622d1c0976e88ce15b670e7ad57e4bd6", size = 1632740, upload-time = "2026-01-03T17:32:34.793Z" }, + { url = "https://files.pythonhosted.org/packages/ef/fe/3ea9b5af694b4e3aec0d0613a806132ca744747146fca68e96bf056f61a7/aiohttp-3.13.3-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4ae5b5a0e1926e504c81c5b84353e7a5516d8778fbbff00429fe7b05bb25cbce", size = 1719782, upload-time = "2026-01-03T17:32:37.737Z" }, + { url = "https://files.pythonhosted.org/packages/fb/c2/46b3b06e60851cbb71efb0f79a3267279cbef7b12c58e68a1e897f269cca/aiohttp-3.13.3-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2ba0eea45eb5cc3172dbfc497c066f19c41bac70963ea1a67d51fc92e4cf9a80", size = 1813527, upload-time = "2026-01-03T17:32:39.973Z" }, + { url = "https://files.pythonhosted.org/packages/36/23/71ceb78c769ed65fe4c697692de232b63dab399210678d2b00961ccb0619/aiohttp-3.13.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bae5c2ed2eae26cc382020edad80d01f36cb8e746da40b292e68fec40421dc6a", size = 1661268, upload-time = "2026-01-03T17:32:42.082Z" }, + { url = "https://files.pythonhosted.org/packages/c4/8d/86e929523d955e85ebab7c0e2b9e0cb63604cfc27dc3280e10d0063cf682/aiohttp-3.13.3-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8a60e60746623925eab7d25823329941aee7242d559baa119ca2b253c88a7bd6", size = 1552742, upload-time = "2026-01-03T17:32:44.622Z" }, + { url = "https://files.pythonhosted.org/packages/3a/ea/3f5987cba1bab6bd151f0d97aa60f0ce04d3c83316692a6bb6ba2fb69f92/aiohttp-3.13.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:e50a2e1404f063427c9d027378472316201a2290959a295169bcf25992d04558", size = 1632918, upload-time = "2026-01-03T17:32:46.749Z" }, + { url = "https://files.pythonhosted.org/packages/be/2c/7e1e85121f2e31ee938cb83a8f32dfafd4908530c10fabd6d46761c12ac7/aiohttp-3.13.3-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:9a9dc347e5a3dc7dfdbc1f82da0ef29e388ddb2ed281bfce9dd8248a313e62b7", size = 1644446, upload-time = "2026-01-03T17:32:49.063Z" }, + { url = "https://files.pythonhosted.org/packages/5d/35/ce6133d423ad0e8ca976a7c848f7146bca3520eea4ccf6b95e2d077c9d20/aiohttp-3.13.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:b46020d11d23fe16551466c77823df9cc2f2c1e63cc965daf67fa5eec6ca1877", size = 1689487, upload-time = "2026-01-03T17:32:51.113Z" }, + { url = "https://files.pythonhosted.org/packages/50/f7/ff7a27c15603d460fd1366b3c22054f7ae4fa9310aca40b43bde35867fcd/aiohttp-3.13.3-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:69c56fbc1993fa17043e24a546959c0178fe2b5782405ad4559e6c13975c15e3", size = 1540715, upload-time = "2026-01-03T17:32:53.38Z" }, + { url = "https://files.pythonhosted.org/packages/17/02/053f11346e5b962e6d8a1c4f8c70c29d5970a1b4b8e7894c68e12c27a57f/aiohttp-3.13.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:b99281b0704c103d4e11e72a76f1b543d4946fea7dd10767e7e1b5f00d4e5704", size = 1711835, upload-time = "2026-01-03T17:32:56.088Z" }, + { url = "https://files.pythonhosted.org/packages/fb/71/9b9761ddf276fd6708d13720197cbac19b8d67ecfa9116777924056cfcaa/aiohttp-3.13.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:40c5e40ecc29ba010656c18052b877a1c28f84344825efa106705e835c28530f", size = 1649593, upload-time = "2026-01-03T17:32:58.181Z" }, + { url = "https://files.pythonhosted.org/packages/ae/72/5d817e9ea218acae12a5e3b9ad1178cf0c12fc3570c0b47eea2daf95f9ea/aiohttp-3.13.3-cp39-cp39-win32.whl", hash = "sha256:56339a36b9f1fc708260c76c87e593e2afb30d26de9ae1eb445b5e051b98a7a1", size = 434831, upload-time = "2026-01-03T17:33:00.577Z" }, + { url = "https://files.pythonhosted.org/packages/39/cb/22659d9bf3149b7a2927bc2769cc9c8f8f5a80eba098398e03c199a43a85/aiohttp-3.13.3-cp39-cp39-win_amd64.whl", hash = "sha256:c6b8568a3bb5819a0ad087f16d40e5a3fb6099f39ea1d5625a3edc1e923fc538", size = 457697, upload-time = "2026-01-03T17:33:03.167Z" }, +] + +[[package]] +name = "aiosignal" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "frozenlist", version = "1.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ae/67/0952ed97a9793b4958e5736f6d2b346b414a2cd63e82d05940032f45b32f/aiosignal-1.3.1.tar.gz", hash = "sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc", size = 19422, upload-time = "2022-11-08T16:03:58.806Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/76/ac/a7305707cb852b7e16ff80eaf5692309bde30e2b1100a1fcacdc8f731d97/aiosignal-1.3.1-py3-none-any.whl", hash = "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17", size = 7617, upload-time = "2022-11-08T16:03:57.483Z" }, ] [[package]] name = "aiosignal" version = "1.4.0" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] dependencies = [ - { name = "frozenlist" }, - { name = "typing-extensions", marker = "python_full_version < '3.13'" }, + { name = "frozenlist", version = "1.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.13'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz", hash = "sha256:f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7", size = 25007, upload-time = "2025-07-03T22:54:43.528Z" } wheels = [ @@ -136,6 +327,9 @@ wheels = [ name = "annotated-types" version = "0.7.0" source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, @@ -143,17 +337,66 @@ wheels = [ [[package]] name = "anyio" -version = "4.10.0" +version = "4.5.2" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] dependencies = [ - { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, - { name = "idna" }, - { name = "sniffio" }, - { name = "typing-extensions", marker = "python_full_version < '3.13'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.9'" }, + { name = "idna", marker = "python_full_version < '3.9'" }, + { name = "sniffio", marker = "python_full_version < '3.9'" }, + { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f1/b4/636b3b65173d3ce9a38ef5f0522789614e590dab6a8d505340a4efe4c567/anyio-4.10.0.tar.gz", hash = "sha256:3f3fae35c96039744587aa5b8371e7e8e603c0702999535961dd336026973ba6", size = 213252, upload-time = "2025-08-04T08:54:26.451Z" } +sdist = { url = "https://files.pythonhosted.org/packages/4d/f9/9a7ce600ebe7804daf90d4d48b1c0510a4561ddce43a596be46676f82343/anyio-4.5.2.tar.gz", hash = "sha256:23009af4ed04ce05991845451e11ef02fc7c5ed29179ac9a420e5ad0ac7ddc5b", size = 171293, upload-time = "2024-10-13T22:18:03.307Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6f/12/e5e0282d673bb9746bacfb6e2dba8719989d3660cdb2ea79aee9a9651afb/anyio-4.10.0-py3-none-any.whl", hash = "sha256:60e474ac86736bbfd6f210f7a61218939c318f43f9972497381f1c5e930ed3d1", size = 107213, upload-time = "2025-08-04T08:54:24.882Z" }, + { url = "https://files.pythonhosted.org/packages/1b/b4/f7e396030e3b11394436358ca258a81d6010106582422f23443c16ca1873/anyio-4.5.2-py3-none-any.whl", hash = "sha256:c011ee36bc1e8ba40e5a81cb9df91925c218fe9b778554e0b56a21e1b5d4716f", size = 89766, upload-time = "2024-10-13T22:18:01.524Z" }, +] + +[[package]] +name = "anyio" +version = "4.12.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "exceptiongroup", marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, + { name = "idna", marker = "python_full_version >= '3.9'" }, + { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/16/ce/8a777047513153587e5434fd752e89334ac33e379aa3497db860eeb60377/anyio-4.12.0.tar.gz", hash = "sha256:73c693b567b0c55130c104d0b43a9baf3aa6a31fc6110116509f27bf75e21ec0", size = 228266, upload-time = "2025-11-28T23:37:38.911Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7f/9c/36c5c37947ebfb8c7f22e0eb6e4d188ee2d53aa3880f3f2744fb894f0cb1/anyio-4.12.0-py3-none-any.whl", hash = "sha256:dad2376a628f98eeca4881fc56cd06affd18f659b17a747d3ff0307ced94b1bb", size = 113362, upload-time = "2025-11-28T23:36:57.897Z" }, +] + +[[package]] +name = "astroid" +version = "3.0.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/96/aa/60bf19fe9d33cd8753b0547df513c3004b33b9a482800d3af0845bcbb3d0/astroid-3.0.3.tar.gz", hash = "sha256:4148645659b08b70d72460ed1921158027a9e53ae8b7234149b1400eddacbb93", size = 395183, upload-time = "2024-02-04T15:16:28.236Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d4/b8/c0f47a9ee6927827116542e12a54d8b8c174b77644c2aba4e2092dfd8de6/astroid-3.0.3-py3-none-any.whl", hash = "sha256:92fcf218b89f449cdf9f7b39a269f8d5d617b27be68434912e11e79203963a17", size = 275225, upload-time = "2024-02-04T15:16:25.491Z" }, +] + +[[package]] +name = "astunparse" +version = "1.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six", marker = "python_full_version < '3.9'" }, + { name = "wheel", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f3/af/4182184d3c338792894f34a62672919db7ca008c89abee9b564dd34d8029/astunparse-1.6.3.tar.gz", hash = "sha256:5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872", size = 18290, upload-time = "2019-12-22T18:12:13.129Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2b/03/13dde6512ad7b4557eb792fbcf0c653af6076b81e5941d36ec61f7ce6028/astunparse-1.6.3-py2.py3-none-any.whl", hash = "sha256:c2652417f2c8b5bb325c885ae329bdf3f86424075c4fd1a128674bc6fba4b8e8", size = 12732, upload-time = "2019-12-22T18:12:11.297Z" }, ] [[package]] @@ -169,320 +412,569 @@ wheels = [ name = "attrs" version = "25.3.0" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032, upload-time = "2025-03-13T11:10:22.779Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815, upload-time = "2025-03-13T11:10:21.14Z" }, ] +[[package]] +name = "attrs" +version = "25.4.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz", hash = "sha256:16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11", size = 934251, upload-time = "2025-10-06T13:54:44.725Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3a/2a/7cc015f5b9f5db42b7d48157e23356022889fc354a2813c15934b7cb5c0e/attrs-25.4.0-py3-none-any.whl", hash = "sha256:adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373", size = 67615, upload-time = "2025-10-06T13:54:43.17Z" }, +] + [[package]] name = "bitarray" -version = "3.7.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/99/b6/282f5f0331b3877d4e79a8aa1cf63b5113a10f035a39bef1fa1dfe9e9e09/bitarray-3.7.1.tar.gz", hash = "sha256:795b1760418ab750826420ae24f06f392c08e21dc234f0a369a69cc00444f8ec", size = 150474, upload-time = "2025-08-28T22:18:15.346Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/42/98/bafe556fe4d97a975fa5c31965aaa282388cc91073aca57a2de206745b11/bitarray-3.7.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a05982bb49c73463cb0f0f4bed2d8da82631708a2c2d1926107ba99651b419ec", size = 147651, upload-time = "2025-08-28T22:14:53.043Z" }, - { url = "https://files.pythonhosted.org/packages/03/87/639c1e4d869ecd7c23d517c326bfee7ab43ade5d5bd0f6ad3373edc861a8/bitarray-3.7.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d30e7daaf228e3d69cdd8b02c0dd4199cec034c4b93c80109f56f4675a6db957", size = 143967, upload-time = "2025-08-28T22:14:55.333Z" }, - { url = "https://files.pythonhosted.org/packages/24/e9/8248a05b35f3e3667ceb103febb0d687d3f7314e4692b2048d21ed943a4e/bitarray-3.7.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:160f449bb91686f8fc9984200e78b8d793b79e382decf7eb1dc9948d7c21b36f", size = 319901, upload-time = "2025-08-28T22:14:56.742Z" }, - { url = "https://files.pythonhosted.org/packages/de/e8/47f9d8eebb793b6828baf76027b9eefc4e5e09f32b84a25821c4bc19c3c4/bitarray-3.7.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6542e1cfe060badd160cd383ad93a84871595c14bb05fb8129f963248affd946", size = 339005, upload-time = "2025-08-28T22:14:58.291Z" }, - { url = "https://files.pythonhosted.org/packages/61/73/2c4695e5acd89d9904c5b3bea7b5b06df86dea15653eee6008881d18a632/bitarray-3.7.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b723f9d10f7d8259f010b87fa66e924bb4d67927d9dcff4526a755e9ee84fef4", size = 329495, upload-time = "2025-08-28T22:14:59.722Z" }, - { url = "https://files.pythonhosted.org/packages/0f/d9/dc17b9f5b7b750dc9183db0520e197f1ca635dedd48e37ad00ca450d2fab/bitarray-3.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca4b6298c89b92d6b0a67dfc5f98d68ae92b08101d227263ef2033b9c9a03a72", size = 322141, upload-time = "2025-08-28T22:15:00.829Z" }, - { url = "https://files.pythonhosted.org/packages/a7/45/8fb00265c1b0313070e0a4b09a2f585fd3ee174aaa5352d971069983c983/bitarray-3.7.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:567d6891cb1ddbfd0051fcff3cb1bb86efc82ec818d9c5f98c37d59c1d23cc96", size = 310422, upload-time = "2025-08-28T22:15:01.964Z" }, - { url = "https://files.pythonhosted.org/packages/f6/77/04cb016694ae16ffe1a146f1a764b79e71f3ddbc7b9d78069594507c9762/bitarray-3.7.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:37a6a8382864a1defb5b370b66a635e04358c7334054457bbbb8645610cd95b2", size = 314796, upload-time = "2025-08-28T22:15:04.468Z" }, - { url = "https://files.pythonhosted.org/packages/b5/4f/8e15934995c5362e645ea27d9521e6b29953dc9f8df59e74525c8022e347/bitarray-3.7.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:01e3ba46c2dee6d47a4ab22561a01d8ee6772f681defc9fcb357097a055e48cf", size = 311222, upload-time = "2025-08-28T22:15:05.846Z" }, - { url = "https://files.pythonhosted.org/packages/f4/d2/9cc6df1ab5b9d10904bf78820e2427cf9b373376ca82af64a0b31eff7b31/bitarray-3.7.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:477b9456eb7d70f385dc8f097a1d66ee40771b62e47b3b3e33406dcfbc1c6a3b", size = 339685, upload-time = "2025-08-28T22:15:06.992Z" }, - { url = "https://files.pythonhosted.org/packages/ed/6d/b79e5e545a928270445c6916cf2d7613a8a8434eee8de023c900a0a08e15/bitarray-3.7.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2965fd8ba31b04c42e4b696fad509dc5ab50663efca6eb06bb3b6d08587f3a09", size = 339660, upload-time = "2025-08-28T22:15:08.068Z" }, - { url = "https://files.pythonhosted.org/packages/e9/33/8b836518ba16a85c75c177aa0d6658e843b4b0c1ec5994fb9f1b28e9440d/bitarray-3.7.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cc76ad7453816318d794248fba4032967eaffd992d76e5d1af10ef9d46589770", size = 320079, upload-time = "2025-08-28T22:15:09.276Z" }, - { url = "https://files.pythonhosted.org/packages/7b/8e/87603ccf798c99296fdb26b9297350f44f87cb2aced76d3b8b0446ac8cd2/bitarray-3.7.1-cp310-cp310-win32.whl", hash = "sha256:d3f38373d9b2629dedc559e647010541cc4ec4ad9bea560e2eb1017e6a00d9ef", size = 141228, upload-time = "2025-08-28T22:15:10.383Z" }, - { url = "https://files.pythonhosted.org/packages/50/06/7003c5520d2bb36edb68b016b1a83ddd5946da67b9d9982b12a8ef68d706/bitarray-3.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:e39f5e85e1e3d7d84ac2217cd095b3678306c979e991532df47012880e02215d", size = 147988, upload-time = "2025-08-28T22:15:11.718Z" }, - { url = "https://files.pythonhosted.org/packages/c6/0b/6fc7221d6d6508b2648f2b99dda9188dc46640023e6c2d3fb78070013901/bitarray-3.7.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ac39319e6322c2c093a660c02cea6bb3b1ae53d049b573d4781df8896e443e04", size = 147645, upload-time = "2025-08-28T22:15:12.966Z" }, - { url = "https://files.pythonhosted.org/packages/43/96/122ef83579cde311e77d5da284b71dfb5ab1c38250b6a97a4f4adae4ef5a/bitarray-3.7.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a43f4631ecb87bedc510568fef67db53f2a20c4a5953a9d1e07457e7b1d14911", size = 143971, upload-time = "2025-08-28T22:15:14.374Z" }, - { url = "https://files.pythonhosted.org/packages/f6/f9/cd0e27f8399b930fcea8b87b36de0ba8c88e8f953dbc98e81ca322352d24/bitarray-3.7.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffd112646486a31ea5a45aa1eca0e2cd90b6a12f67e848e50349e324c24cc2e7", size = 327521, upload-time = "2025-08-28T22:15:15.381Z" }, - { url = "https://files.pythonhosted.org/packages/35/ad/f64f4be628536404c9576a0a40b10f5304bb37a69fb6cb37987e9ae92782/bitarray-3.7.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db0441e80773d747a1ed9edfb9f75e7acb68ce8627583bbb6f770b7ec49f0064", size = 347583, upload-time = "2025-08-28T22:15:16.708Z" }, - { url = "https://files.pythonhosted.org/packages/e6/82/98774e33b3286fd83c6e48f5fb4e362d39b531011b4e1dd5aeba9dfdd3b8/bitarray-3.7.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ef5a99a8d1a5c47b4cf85925d1420fc4ee584c98be8efc548651447b3047242f", size = 338572, upload-time = "2025-08-28T22:15:20.235Z" }, - { url = "https://files.pythonhosted.org/packages/02/cc/aadc3bf1382d9660f755d74b3275c866a20e01ad2062cc777b2378423e97/bitarray-3.7.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fdb7af369df317527d697c5bb37ab944bb9a17ea1a5e82e47d5c7c638f3ccdd6", size = 329984, upload-time = "2025-08-28T22:15:21.684Z" }, - { url = "https://files.pythonhosted.org/packages/42/ba/f9db45b9d6d01793afe62190c3f58bfe1969bd5798612663225560c24d94/bitarray-3.7.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eda67136343db96752e58ef36ac37116f36cba40961e79fd0e9bd858f5a09b38", size = 318777, upload-time = "2025-08-28T22:15:22.816Z" }, - { url = "https://files.pythonhosted.org/packages/5e/1b/18d11fe8f3192be5c2986d0faada5b3c9c0e43082ba031c12c75ebc64fd2/bitarray-3.7.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:79038bf1a7b13d243e51f4b6909c6997c2ba2bffc45bcae264704308a2d17198", size = 322772, upload-time = "2025-08-28T22:15:24.063Z" }, - { url = "https://files.pythonhosted.org/packages/dc/20/3aaf1c21af0f8dca623d06f12ce44fb45f94c10c6550e8d2e57d811b1881/bitarray-3.7.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d12c45da97b2f31d0233e15f8d68731cfa86264c9f04b2669b9fdf46aaf68e1f", size = 318773, upload-time = "2025-08-28T22:15:25.536Z" }, - { url = "https://files.pythonhosted.org/packages/b0/80/2d066264b1f3b3c495e12c55a9d0955733e890388d63ba75c408bb936fb7/bitarray-3.7.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:64d1143e90299ba8c967324840912a63a903494b1870a52f6675bda53dc332f7", size = 347391, upload-time = "2025-08-28T22:15:26.646Z" }, - { url = "https://files.pythonhosted.org/packages/e6/4b/819d5614433881ae779a6b23dd74d399c790777e3f084a270851059a77b2/bitarray-3.7.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:c4e04c12f507942f1ddf215cb3a08c244d24051cdd2ba571060166ce8a92be16", size = 347719, upload-time = "2025-08-28T22:15:27.851Z" }, - { url = "https://files.pythonhosted.org/packages/52/63/a278c08f1e47711f71e396135c0d6d38811f551613b84af8ac7901bfaea9/bitarray-3.7.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ddc646cec4899a137c134b13818469e4178a251d77f9f4b23229267e3da78cfb", size = 328197, upload-time = "2025-08-28T22:15:29.392Z" }, - { url = "https://files.pythonhosted.org/packages/aa/73/6a74193cf565b01747ebd7979752060128e6c1423378471b04d8ed28b6f0/bitarray-3.7.1-cp311-cp311-win32.whl", hash = "sha256:a23b5f13f9b292004e94b0b13fead4dae79c7512db04dc817ff2c2478298e04a", size = 141377, upload-time = "2025-08-28T22:15:30.471Z" }, - { url = "https://files.pythonhosted.org/packages/13/03/7bbaadf90b282c7f1bc21c3c4855ce869d3ecd444071b1dab55baaec9328/bitarray-3.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:acc56700963f63307ac096689d4547e8061028a66bb78b90e42c5da2898898fb", size = 148203, upload-time = "2025-08-28T22:15:31.525Z" }, - { url = "https://files.pythonhosted.org/packages/89/27/46b5b4dabecf84f750587cded3640658448d27c59f4dd2cbaa589085f43a/bitarray-3.7.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b99a0347bc6131046c19e056a113daa34d7df99f1f45510161bc78bc8461a470", size = 147349, upload-time = "2025-08-28T22:15:32.729Z" }, - { url = "https://files.pythonhosted.org/packages/f9/1e/7f61150577127a1540136ba8a63ba17c661a17e721e03404fcd5833a4a05/bitarray-3.7.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d7e274ac1975e55ebfb8166cce27e13dc99120c1d6ce9e490d7a716b9be9abb5", size = 143922, upload-time = "2025-08-28T22:15:33.963Z" }, - { url = "https://files.pythonhosted.org/packages/ca/b2/7c852472df8c644d05530bc0ad586fead5f23a9d176873c2c54f57e16b4e/bitarray-3.7.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3b9a2eb7d2e0e9c2f25256d2663c0a2a4798fe3110e3ddbbb1a7b71740b4de08", size = 330277, upload-time = "2025-08-28T22:15:34.997Z" }, - { url = "https://files.pythonhosted.org/packages/7b/38/681340eea0997c48ef2dbf1acb0786090518704ca32f9a2c3c669bdea08e/bitarray-3.7.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e15e70a3cf5bb519e2448524d689c02ff6bcd4750587a517e2bffee06065bf27", size = 349562, upload-time = "2025-08-28T22:15:36.554Z" }, - { url = "https://files.pythonhosted.org/packages/c4/f4/6fc43f896af85c5b10a74b1d8a87c05915464869594131a2d7731707a108/bitarray-3.7.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c65257899bb8faf6a111297b4ff0066324a6b901318582c0453a01422c3bcd5a", size = 341249, upload-time = "2025-08-28T22:15:37.774Z" }, - { url = "https://files.pythonhosted.org/packages/89/c7/1f71164799cacd44964ead87e1fc7e2f0ddec6d0519515a82d54eb8c8a13/bitarray-3.7.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38b0261483c59bb39ae9300ad46bf0bbf431ab604266382d986a349c96171b36", size = 332874, upload-time = "2025-08-28T22:15:38.935Z" }, - { url = "https://files.pythonhosted.org/packages/95/cd/4d7c19064fa7fe94c2818712695fa186a1d0bb9c5cb0cf34693df81d3202/bitarray-3.7.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d2b1ed363a4ef5622dccbf7822f01b51195062c4f382b28c9bd125d046d0324c", size = 321107, upload-time = "2025-08-28T22:15:40.071Z" }, - { url = "https://files.pythonhosted.org/packages/1e/d2/7d5ffe491c70614c0eb4a0186666efe925a02e25ed80ebd19c5fcb1c62e8/bitarray-3.7.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:dfde50ae55e075dcd5801e2c3ea0e749c849ed2cbbee991af0f97f1bdbadb2a6", size = 324999, upload-time = "2025-08-28T22:15:41.241Z" }, - { url = "https://files.pythonhosted.org/packages/11/d9/95fb87ec72c01169dad574baf7bc9e0d2bb73975d7ea29a83920a38646f4/bitarray-3.7.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:45660e2fabcdc1bab9699a468b312f47956300d41d6a2ea91c8f067572aaf38a", size = 321816, upload-time = "2025-08-28T22:15:42.417Z" }, - { url = "https://files.pythonhosted.org/packages/6b/3d/57ac96bbd125df75219c59afa297242054c09f22548aff028a8cefa8f120/bitarray-3.7.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7b4a41dc183d7d16750634f65566205990f94144755a39f33da44c0350c3e1a8", size = 349342, upload-time = "2025-08-28T22:15:43.997Z" }, - { url = "https://files.pythonhosted.org/packages/a9/14/d28f7456d2c3b3f7898186498b6d7fd3eecab267c300fb333fc2a8d55965/bitarray-3.7.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:8b8e07374d60040b24d1a158895d9758424db13be63d4b2fe1870e37f9dec009", size = 350501, upload-time = "2025-08-28T22:15:45.377Z" }, - { url = "https://files.pythonhosted.org/packages/bb/a4/0f803dc446e602b21e61315f5fa2cdec02a65340147b08f7efadba559f38/bitarray-3.7.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f31d8c2168bf2a52e4539232392352832c2296e07e0e14b6e06a44da574099ba", size = 331362, upload-time = "2025-08-28T22:15:46.577Z" }, - { url = "https://files.pythonhosted.org/packages/c9/03/25e4c4b91a33f1eae0a9e9b2b11f1eaed14e37499abbde154ff33888f5f5/bitarray-3.7.1-cp312-cp312-win32.whl", hash = "sha256:fe1f1f4010244cb07f6a079854a12e1627e4fb9ea99d672f2ceccaf6653ca514", size = 141474, upload-time = "2025-08-28T22:15:48.185Z" }, - { url = "https://files.pythonhosted.org/packages/25/53/98efa8ee389e4cbd91fc7c87bfebd4e11d6f8a027eb3f9be42d1addf1f51/bitarray-3.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:f41a4b57cbc128a699e9d716a56c90c7fc76554e680fe2962f49cc4d8688b051", size = 148458, upload-time = "2025-08-28T22:15:49.256Z" }, - { url = "https://files.pythonhosted.org/packages/97/7f/16d59c041b0208bc1003fcfbf466f1936b797440e6119ce0adca7318af48/bitarray-3.7.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e62892645f6a214eefb58a42c3ed2501af2e40a797844e0e09ec1e400ce75f3d", size = 147343, upload-time = "2025-08-28T22:15:50.617Z" }, - { url = "https://files.pythonhosted.org/packages/1a/fb/5add457d3faa0e17fde5e220bb33c0084355b9567ff9bcba2fe70fef3626/bitarray-3.7.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3092f6bbf4a75b1e6f14a5b1030e27c435f341afeb23987115e45a25cc68ba91", size = 143904, upload-time = "2025-08-28T22:15:52.06Z" }, - { url = "https://files.pythonhosted.org/packages/95/b9/c5ab584bb8d0ba1ec72eaac7fc1e712294db77a6230c033c9b15a2de33ae/bitarray-3.7.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:851398428f5604c53371b72c5e0a28163274264ada4a08cd1eafe65fde1f68d0", size = 330206, upload-time = "2025-08-28T22:15:53.492Z" }, - { url = "https://files.pythonhosted.org/packages/f0/cd/a4d95232a2374ce55e740fbb052a1e3a9aa52e96c7597d9152b1c9d79ecc/bitarray-3.7.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fa05460dc4f57358680b977b4a254d331b24c8beb501319b998625fd6a22654b", size = 349372, upload-time = "2025-08-28T22:15:55.043Z" }, - { url = "https://files.pythonhosted.org/packages/69/6c/8fb54cea100bd9358a7478d392042845800e809ab3a00873f2f0ae3d0306/bitarray-3.7.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9ad0df7886cb9d6d2ff75e87d323108a0e32bdca5c9918071681864129ce8ea8", size = 341120, upload-time = "2025-08-28T22:15:56.372Z" }, - { url = "https://files.pythonhosted.org/packages/bd/eb/dcbb1782bf93afa2baccbc1206bb1053f61fe999443e9180e7d9be322565/bitarray-3.7.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:55c31bc3d2c9e48741c812ee5ce4607c6f33e33f339831c214d923ffc7777d21", size = 332759, upload-time = "2025-08-28T22:15:57.984Z" }, - { url = "https://files.pythonhosted.org/packages/e2/f2/164aed832c5ece367d5347610cb7e50e5706ca1a882b9f172cb84669f591/bitarray-3.7.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44f468fb4857fff86c65bec5e2fb67067789e40dad69258e9bb78fc6a6df49e7", size = 320992, upload-time = "2025-08-28T22:16:01.039Z" }, - { url = "https://files.pythonhosted.org/packages/35/35/fd51da63ad364d5c03690bb895e34b20c9bedce10c6d0b4d7ed7677c4b09/bitarray-3.7.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:340c524c7c934b61d1985d805bffe7609180fb5d16ece6ce89b51aa535b936f2", size = 324987, upload-time = "2025-08-28T22:16:02.327Z" }, - { url = "https://files.pythonhosted.org/packages/a3/f3/3f4f31a80f343c6c3360ca4eac04f471bf009b6346de745016f8b4990bad/bitarray-3.7.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:0751596f60f33df66245b2dafa3f7fbe13cb7ac91dd14ead87d8c2eec57cb3ed", size = 321816, upload-time = "2025-08-28T22:16:03.751Z" }, - { url = "https://files.pythonhosted.org/packages/f5/60/26ce8cff96255198581cb88f9566820d6b3c262db4c185995cc5537b3d07/bitarray-3.7.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:e501bd27c795105aaba02b5212ecd1bb552ca2ee2ede53e5a8cb74deee0e2052", size = 349354, upload-time = "2025-08-28T22:16:04.966Z" }, - { url = "https://files.pythonhosted.org/packages/dc/f8/e2edda9c37ba9be5349beb145dcad14d8d339f7de293b4b2bd770227c5a7/bitarray-3.7.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:fe2493d3f49e314e573022ead4d8c845c9748979b7eb95e815429fe947c4bde2", size = 350491, upload-time = "2025-08-28T22:16:06.778Z" }, - { url = "https://files.pythonhosted.org/packages/c0/c5/b82dd6bd8699ad818c13ae02b6acfc6c38c9278af1f71005b5d0c5f29338/bitarray-3.7.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1f1575cc0f66aa70a0bb5cb57c8d9d1b7d541d920455169c6266919bf804dc20", size = 331367, upload-time = "2025-08-28T22:16:08.53Z" }, - { url = "https://files.pythonhosted.org/packages/51/82/03613ad262d6e2a76b906dd279de26694910a95e4ed8ebde57c9fd3f3aa7/bitarray-3.7.1-cp313-cp313-win32.whl", hash = "sha256:da3dfd2776226e15d3288a3a24c7975f9ee160ba198f2efa66bc28c5ba76d792", size = 141481, upload-time = "2025-08-28T22:16:09.727Z" }, - { url = "https://files.pythonhosted.org/packages/f1/7e/1730701a865fd1e4353900d5821c96e68695aed88d121f8783aea14c4e74/bitarray-3.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:33f604bffd06b170637f8a48ddcf42074ed1e1980366ac46058e065ce04bfe2a", size = 148450, upload-time = "2025-08-28T22:16:10.959Z" }, - { url = "https://files.pythonhosted.org/packages/44/30/cf50d7b142f096cf466021d117d8a0dc58244338541efa8cc88ead7a2931/bitarray-3.7.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3bb3cf22c3c03ae698647e6766314149c9cf04aa2018d9f48d5efddc3ced2764", size = 147721, upload-time = "2025-08-28T22:17:14.57Z" }, - { url = "https://files.pythonhosted.org/packages/6d/e2/5da73cb77b029519d680157296be90388dfa720d011167e30a069e1e8a72/bitarray-3.7.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:30a2fc37698820cbf9b51d5f801219ef4bed828a04f3307072b8f983dc422a0e", size = 144113, upload-time = "2025-08-28T22:17:15.931Z" }, - { url = "https://files.pythonhosted.org/packages/31/dc/b5481e83c7b65d162de39b7e349c6644f73712e237b9b9799b344cf1fbd9/bitarray-3.7.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:11fcfdf272549a3d876f10d8422bcd5f675750aa746ce04ff04937ec3bb2329e", size = 317399, upload-time = "2025-08-28T22:17:17.352Z" }, - { url = "https://files.pythonhosted.org/packages/04/26/88ff333b1fa944013ed9378e605576398f44f909fc91ce6512c0ba586857/bitarray-3.7.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8d4aa56782368269eb9402caf7378b2a5ada6f05eb9c7edc2362be258973fd7e", size = 336973, upload-time = "2025-08-28T22:17:18.855Z" }, - { url = "https://files.pythonhosted.org/packages/4f/4d/eab140db5dfa720f9be9e6b738524f924b61d5ded7a62b8c41dc97e5fa04/bitarray-3.7.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e3572889fcb87e5ca94add412d8b365dbb7b59773a4362e52caa556e5fd98643", size = 327290, upload-time = "2025-08-28T22:17:20.516Z" }, - { url = "https://files.pythonhosted.org/packages/a8/f3/9139cba1ca009f6e37155be72e339d0672ec279b9c60b6338fb2d9a68565/bitarray-3.7.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a393b0f881eff94440f72846a6f0f95b983594a0a50af81c41ed18107420d6a7", size = 319955, upload-time = "2025-08-28T22:17:22.26Z" }, - { url = "https://files.pythonhosted.org/packages/03/46/719f366003c2369b245322f9b504636443976a7e454bcb291343e5dedff2/bitarray-3.7.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7fdf059d4e3acec44f512ebe247718ae511fde632e2b06992022df8e637385a6", size = 308917, upload-time = "2025-08-28T22:17:24.405Z" }, - { url = "https://files.pythonhosted.org/packages/6c/96/21eca4b37004ab1a3efae31be6e61bc5cd835cb24c76ce2cdf69ea8e8685/bitarray-3.7.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a569c993942ac26c6c590639ed6712c6c9c3f0c8d287a067bf2a60eb615f3c6b", size = 312482, upload-time = "2025-08-28T22:17:25.884Z" }, - { url = "https://files.pythonhosted.org/packages/0b/b2/55400b9f27552b5edff03aff1f4f0088a98eca1c571279d634d89a6ba72c/bitarray-3.7.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:dbbaa147cf28b3e87738c624d390a3a9e2a5dfef4316f4c38b4ecaf3155a3eab", size = 310046, upload-time = "2025-08-28T22:17:27.392Z" }, - { url = "https://files.pythonhosted.org/packages/7b/a0/0e55c32038e734861e94ffee7d0b41344829d39c5940b59f0a9d8385ff9e/bitarray-3.7.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:d877759842ff9eb16d9c2b8b497953a7d994d4b231c171515f0bf3a2ae185c0c", size = 337953, upload-time = "2025-08-28T22:17:29.219Z" }, - { url = "https://files.pythonhosted.org/packages/1a/9e/e95c93a4c1b8d8f6b327d03485a0562d84a70966ef7f5c420ac5cc918f02/bitarray-3.7.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:c3e014f7295b9327fa6f0b3e55a3fd485abac98be145b9597e0cdbb05c44ad07", size = 337809, upload-time = "2025-08-28T22:17:30.852Z" }, - { url = "https://files.pythonhosted.org/packages/dc/75/e7cfe1d2b300d38963a6fe1697f15cd43acba2d7b523d22dda5e9596421a/bitarray-3.7.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:57b9df5d38ab49c13eaa9e0152fdfa8501fc23987f6dcf421b73484bfe573918", size = 318219, upload-time = "2025-08-28T22:17:32.896Z" }, - { url = "https://files.pythonhosted.org/packages/0a/a8/96dc69a656908ded3b0cf64d571b3c733bca33edb481c330dd74e3d6551b/bitarray-3.7.1-cp39-cp39-win32.whl", hash = "sha256:08c114cf02a63e13ce6d70bc5b9e7bdcfa8d5db17cece207cfa085c4bc4a7a0c", size = 141205, upload-time = "2025-08-28T22:17:34.744Z" }, - { url = "https://files.pythonhosted.org/packages/09/b2/d36d0af7dc5b860288b590e9348bcda32e6bc4bf0118f133371745023089/bitarray-3.7.1-cp39-cp39-win_amd64.whl", hash = "sha256:c427dfcce13a8c814556dfe7c110b8ef61b8fab5fca0d856d4890856807321dc", size = 147948, upload-time = "2025-08-28T22:17:36.466Z" }, - { url = "https://files.pythonhosted.org/packages/58/1f/80316ba4ed605d005efeb0b09c97cecde2c66ac4deae9d1d698670e1525f/bitarray-3.7.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c9bf2bf29854f165a47917b8782b6cf3a7d602971bf454806208d0cbb96f797a", size = 143423, upload-time = "2025-08-28T22:17:37.879Z" }, - { url = "https://files.pythonhosted.org/packages/9e/c3/52a491e18ba41911455f145906b20898fe8e7955d0bcc5b20207bf2aba09/bitarray-3.7.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:002b73bf4a9f7b3ecb02260bd4dd332a6ee4d7f74ee9779a1ef342a36244d0cf", size = 139870, upload-time = "2025-08-28T22:17:39.266Z" }, - { url = "https://files.pythonhosted.org/packages/46/df/4674d16f39841fc71db6ecc6298390cbb91a7dd8c4eccd55248a4ddced06/bitarray-3.7.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:481239cd0966f965c2b8fa78b88614be5f12a64e7773bb5feecc567d39bb2dd5", size = 148773, upload-time = "2025-08-28T22:17:40.81Z" }, - { url = "https://files.pythonhosted.org/packages/9b/85/9cd8bc811ab446491a5bdc47a70d6d51adb21e3b005b549d2fd5e04f5c7f/bitarray-3.7.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f583a1fb180a123c00064fab1a3bfb9d43e574b6474be1be3f6469e0331e3e2e", size = 149609, upload-time = "2025-08-28T22:17:42.308Z" }, - { url = "https://files.pythonhosted.org/packages/ea/84/e413c51313a4093ed67f657d21519c5fc592bdb9129c0ab8c7bad226e2b8/bitarray-3.7.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3db0648536f3e08afa7ceb928153c39913f98fd50a5c3adf92a4d0d4268f213e", size = 151343, upload-time = "2025-08-28T22:17:43.749Z" }, - { url = "https://files.pythonhosted.org/packages/a5/4f/921176e539866a8f7428d92962861bbfa6104f2cea0cbdd578abe5768a83/bitarray-3.7.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:3875578748b484638f6ea776f534e9088cfb15eee131aac051036cba40fd5d05", size = 146847, upload-time = "2025-08-28T22:17:45.209Z" }, - { url = "https://files.pythonhosted.org/packages/23/56/4262e805be32cca2b80541e69cb3e9e1cab28a4e564a0bcc3a3399de0b25/bitarray-3.7.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:eccc6829035c8b7b391a0aa124fade54932bb937dd1079f2740b9f1bde829226", size = 143490, upload-time = "2025-08-28T22:18:04.752Z" }, - { url = "https://files.pythonhosted.org/packages/9e/39/c12f91d529e3bafd86f2459ae810e44c60813714bb22119a753eec1f279c/bitarray-3.7.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:05ee46a734b5110c5ac483815da4379f7622f4316362872ec7c0ed16db4b0148", size = 140076, upload-time = "2025-08-28T22:18:06.266Z" }, - { url = "https://files.pythonhosted.org/packages/2e/ed/687e8c6202870e01bf43f42643b2c4727cdbad150c59a8af234e257fc934/bitarray-3.7.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cd7f6bfa2a36fb91b7dec9ddf905716f2ed0c3675d2b63c69b7530c9d211e715", size = 148788, upload-time = "2025-08-28T22:18:08.298Z" }, - { url = "https://files.pythonhosted.org/packages/36/2f/95fecde4cef4281a929d85db6bbaa653c0a350c31b8addc3f6f219bbce6a/bitarray-3.7.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99124e39658b2f72d296819ec03418609dd4f1b275b00289c2f278a19da6f9c0", size = 149737, upload-time = "2025-08-28T22:18:09.845Z" }, - { url = "https://files.pythonhosted.org/packages/cb/46/177e434292de5f0fac73582a51183fa5cc84e99a6e4723a41354ffe9d331/bitarray-3.7.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:16426a843b1bc9c552a7c97d6d7555e69730c2de1e2f560503d3fc0e7f6d8005", size = 151423, upload-time = "2025-08-28T22:18:11.733Z" }, - { url = "https://files.pythonhosted.org/packages/b3/47/b2655e19e4dd456a62fd2d5c1c6868aa173e437cad71d36f5ee06b5eea35/bitarray-3.7.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:6f7e1cdf0abb11718e655bb258920453b1e89c2315e9019f60f0775704b12a8c", size = 146932, upload-time = "2025-08-28T22:18:13.841Z" }, +version = "3.8.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/95/06/92fdc84448d324ab8434b78e65caf4fb4c6c90b4f8ad9bdd4c8021bfaf1e/bitarray-3.8.0.tar.gz", hash = "sha256:3eae38daffd77c9621ae80c16932eea3fb3a4af141fb7cc724d4ad93eff9210d", size = 151991, upload-time = "2025-11-02T21:41:15.117Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e8/b9/8a645fd36fc4c01ee223f97eccd4699c2f2e91681ccb33c0e963881c8e58/bitarray-3.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:f08342dc8d19214faa7ef99574dea6c37a2790d6d04a9793ef8fa76c188dc08d", size = 148504, upload-time = "2025-11-02T21:38:54.596Z" }, + { url = "https://files.pythonhosted.org/packages/c0/f4/11b562e13ff732bd0674376f367f0a272034ebc28b8efbafbeb924552d21/bitarray-3.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:792462abfeeca6cc8c6c1e6d27e14319682f0182f6b0ba37befe911af794db70", size = 145481, upload-time = "2025-11-02T21:38:56.253Z" }, + { url = "https://files.pythonhosted.org/packages/d3/7c/5a2487da579491b38abab3b437e01d3b05be6e16e69cc5eb304040dcebd5/bitarray-3.8.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0df69d26f21a9d2f1b20266f6737fa43f08aa5015c99900fb69f255fbe4dabb4", size = 322760, upload-time = "2025-11-02T21:38:57.189Z" }, + { url = "https://files.pythonhosted.org/packages/8d/59/f0ef82d6a878d4af1b4961d208a716317929aa172fc0dfa5f4115319a873/bitarray-3.8.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b4f10d3f304be7183fac79bf2cd997f82e16aa9a9f37343d76c026c6e435a8a8", size = 350332, upload-time = "2025-11-02T21:38:58.238Z" }, + { url = "https://files.pythonhosted.org/packages/e5/ec/d444b22fce853327d4a8adec1de9987e11b28fcc2d7204dcbc544e196ed9/bitarray-3.8.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:fc98ff43abad61f00515ad9a06213b7716699146e46eabd256cdfe7cb522bd97", size = 360787, upload-time = "2025-11-02T21:38:59.239Z" }, + { url = "https://files.pythonhosted.org/packages/9f/9e/60b205f52ea9ff155e9f12249090475159c909039daa29e47cd95e115dd5/bitarray-3.8.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:81c6b4a6c1af800d52a6fa32389ef8f4281583f4f99dc1a40f2bb47667281541", size = 329050, upload-time = "2025-11-02T21:39:00.455Z" }, + { url = "https://files.pythonhosted.org/packages/e3/da/2ce373b423bc85a0eb93ee1cba3977971259a92a116932632f417b1b04d2/bitarray-3.8.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f3fd8df63c41ff6a676d031956aebf68ebbc687b47c507da25501eb22eec341f", size = 320507, upload-time = "2025-11-02T21:39:01.714Z" }, + { url = "https://files.pythonhosted.org/packages/2a/88/437408a2674b8bdb02063dd1535969b9c73cb8fdd197485de431e506c50e/bitarray-3.8.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f0ce9d9e07c75da8027c62b4c9f45771d1d8aae7dc9ad7fb606c6a5aedbe9741", size = 348449, upload-time = "2025-11-02T21:39:03.124Z" }, + { url = "https://files.pythonhosted.org/packages/97/46/d799e7e731c778b6dcb4627bafd395102065e5ab15a4a31f4222a3e20706/bitarray-3.8.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8a9c962c64a4c08def58b9799333e33af94ec53038cf151d36edacdb41f81646", size = 344776, upload-time = "2025-11-02T21:39:04.147Z" }, + { url = "https://files.pythonhosted.org/packages/b3/9a/129fff56d22d316b1c848c6e13e64191485756b5cd6ceb08e640edb80020/bitarray-3.8.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1a54d7e7999735faacdcbe8128e30207abc2caf9f9fd7102d180b32f1b78bfce", size = 325899, upload-time = "2025-11-02T21:39:05.118Z" }, + { url = "https://files.pythonhosted.org/packages/f8/ba/4b01e99452ecc39f4abccf9bf83fe0f01c390e9794dad2d04b2c8b893c5f/bitarray-3.8.0-cp310-cp310-win32.whl", hash = "sha256:3ea52df96566457735314794422274bd1962066bfb609e7eea9113d70cf04ffe", size = 142756, upload-time = "2025-11-02T21:39:06.402Z" }, + { url = "https://files.pythonhosted.org/packages/18/3f/c83635a67d90f45f88012468566c233eed1e9e9a9184fa882ba4039fadb3/bitarray-3.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:82a07de83dce09b4fa1bccbdc8bde8f188b131666af0dc9048ba0a0e448d8a3b", size = 149527, upload-time = "2025-11-02T21:39:07.377Z" }, + { url = "https://files.pythonhosted.org/packages/33/46/391b3902a523d4555313640746460b19d317c6233d9379e150af97fa1554/bitarray-3.8.0-cp310-cp310-win_arm64.whl", hash = "sha256:c5ba07e58fd98c9782201e79eb8dd4225733d212a5a3700f9a84d329bd0463a6", size = 146453, upload-time = "2025-11-02T21:39:08.624Z" }, + { url = "https://files.pythonhosted.org/packages/bc/7d/63558f1d0eb09217a3d30c1c847890879973e224a728fcff9391fab999b8/bitarray-3.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:25b9cff6c9856bc396232e2f609ea0c5ec1a8a24c500cee4cca96ba8a3cd50b6", size = 148502, upload-time = "2025-11-02T21:39:09.993Z" }, + { url = "https://files.pythonhosted.org/packages/5e/7b/f957ad211cb0172965b5f0881b67b99e2b6d41512af0a1001f44a44ddf4a/bitarray-3.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4d9984017314da772f5f7460add7a0301a4ffc06c72c2998bb16c300a6253607", size = 145484, upload-time = "2025-11-02T21:39:10.904Z" }, + { url = "https://files.pythonhosted.org/packages/9f/dc/897973734f14f91467a3a795a4624752238053ecffaec7c8bbda1e363fda/bitarray-3.8.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bbbbfbb7d039b20d289ce56b1beb46138d65769d04af50c199c6ac4cb6054d52", size = 330909, upload-time = "2025-11-02T21:39:12.276Z" }, + { url = "https://files.pythonhosted.org/packages/67/be/24b4b792426d92de289e73e09682915d567c2e69d47e8857586cbdc865d0/bitarray-3.8.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f1f723e260c35e1c7c57a09d3a6ebe681bd56c83e1208ae3ce1869b7c0d10d4f", size = 358469, upload-time = "2025-11-02T21:39:13.766Z" }, + { url = "https://files.pythonhosted.org/packages/3e/0e/2eda69a7a59a6998df8fb57cc9d1e0e62888c599fb5237b0a8b479a01afb/bitarray-3.8.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:cbd1660fb48827381ce3a621a4fdc237959e1cd4e98b098952a8f624a0726425", size = 369131, upload-time = "2025-11-02T21:39:15.041Z" }, + { url = "https://files.pythonhosted.org/packages/f7/7b/8a372d6635a6b2622477b2f96a569b2cd0318a62bc95a4a2144c7942c987/bitarray-3.8.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:df6d7bf3e15b7e6e202a16ff4948a51759354016026deb04ab9b5acbbe35e096", size = 337089, upload-time = "2025-11-02T21:39:16.124Z" }, + { url = "https://files.pythonhosted.org/packages/93/f0/8eca934dbe5dee47a0e5ef44eeb72e85acacc8097c27cd164337bc4ec5d3/bitarray-3.8.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d5c931ec1c03111718cabf85f6012bb2815fa0ce578175567fa8d6f2cc15d3b4", size = 328504, upload-time = "2025-11-02T21:39:17.321Z" }, + { url = "https://files.pythonhosted.org/packages/88/dd/928b8e23a9950f8a8bfc42bc1e7de41f4e27f57de01a716308be5f683c2b/bitarray-3.8.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:41b53711f89008ba2de62e4c2d2260a8b357072fd4f18e1351b28955db2719dc", size = 356461, upload-time = "2025-11-02T21:39:18.396Z" }, + { url = "https://files.pythonhosted.org/packages/a9/93/4fb58417aff47fa2fe1874a39c9346b589a1d78c93a9cb24cccede5dc737/bitarray-3.8.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:4f298daaaea58d45e245a132d6d2bdfb6f856da50dc03d75ebb761439fb626cf", size = 353008, upload-time = "2025-11-02T21:39:19.828Z" }, + { url = "https://files.pythonhosted.org/packages/da/54/aa04e4a7b45aa5913f08ee377d43319b0979925e3c0407882eb29df3be66/bitarray-3.8.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:30989a2451b693c3f9359d91098a744992b5431a0be4858f1fdf0ec76b457125", size = 334048, upload-time = "2025-11-02T21:39:20.924Z" }, + { url = "https://files.pythonhosted.org/packages/da/52/e851f41076df014c05d6ac1ce34fbf7db5fa31241da3e2f09bb2be9e283d/bitarray-3.8.0-cp311-cp311-win32.whl", hash = "sha256:e5aed4754895942ae15ffa48c52d181e1c1463236fda68d2dba29c03aa61786b", size = 142907, upload-time = "2025-11-02T21:39:22.312Z" }, + { url = "https://files.pythonhosted.org/packages/28/01/db0006148b1dd13b4ac2686df8fa57d12f5887df313a506e939af0cb0997/bitarray-3.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:22c540ed20167d3dbb1e2d868ca935180247d620c40eace90efa774504a40e3b", size = 149670, upload-time = "2025-11-02T21:39:23.341Z" }, + { url = "https://files.pythonhosted.org/packages/7b/ea/b7d55ee269b1426f758a535c9ec2a07c056f20f403fa981685c3c8b4798c/bitarray-3.8.0-cp311-cp311-win_arm64.whl", hash = "sha256:84b52b2cf77bb7f703d16c4007b021078dbbe6cf8ffb57abe81a7bacfc175ef2", size = 146709, upload-time = "2025-11-02T21:39:24.343Z" }, + { url = "https://files.pythonhosted.org/packages/82/a0/0c41d893eda756315491adfdbf9bc928aee3d377a7f97a8834d453aa5de1/bitarray-3.8.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f2fcbe9b3a5996b417e030aa33a562e7e20dfc86271e53d7e841fc5df16268b8", size = 148575, upload-time = "2025-11-02T21:39:25.718Z" }, + { url = "https://files.pythonhosted.org/packages/0e/30/12ab2f4a4429bd844b419c37877caba93d676d18be71354fbbeb21d9f4cc/bitarray-3.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cd761d158f67e288fd0ebe00c3b158095ce80a4bc7c32b60c7121224003ba70d", size = 145454, upload-time = "2025-11-02T21:39:26.695Z" }, + { url = "https://files.pythonhosted.org/packages/26/58/314b3e3f219533464e120f0c51ac5123e7b1c1b91f725a4073fb70c5a858/bitarray-3.8.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c394a3f055b49f92626f83c1a0b6d6cd2c628f1ccd72481c3e3c6aa4695f3b20", size = 332949, upload-time = "2025-11-02T21:39:27.801Z" }, + { url = "https://files.pythonhosted.org/packages/ea/ce/ca8c706bd8341c7a22dd92d2a528af71f7e5f4726085d93f81fd768cb03b/bitarray-3.8.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:969fd67de8c42affdb47b38b80f1eaa79ac0ef17d65407cdd931db1675315af1", size = 360599, upload-time = "2025-11-02T21:39:28.964Z" }, + { url = "https://files.pythonhosted.org/packages/ef/dc/aa181df85f933052d962804906b282acb433cb9318b08ec2aceb4ee34faf/bitarray-3.8.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:99d25aff3745c54e61ab340b98400c52ebec04290a62078155e0d7eb30380220", size = 371972, upload-time = "2025-11-02T21:39:30.228Z" }, + { url = "https://files.pythonhosted.org/packages/ff/d9/b805bfa158c7bcf4df0ac19b1be581b47e1ddb792c11023aed80a7058e78/bitarray-3.8.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e645b4c365d6f1f9e0799380ad6395268f3c3b898244a650aaeb8d9d27b74c35", size = 340303, upload-time = "2025-11-02T21:39:31.342Z" }, + { url = "https://files.pythonhosted.org/packages/1f/42/5308cc97ea929e30727292617a3a88293470166851e13c9e3f16f395da55/bitarray-3.8.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2fa23fdb3beab313950bbb49674e8a161e61449332d3997089fe3944953f1b77", size = 330494, upload-time = "2025-11-02T21:39:32.769Z" }, + { url = "https://files.pythonhosted.org/packages/4c/89/64f1596cb80433323efdbc8dcd0d6e57c40dfbe6ea3341623f34ec397edd/bitarray-3.8.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:165052a0e61c880f7093808a0c524ce1b3555bfa114c0dfb5c809cd07918a60d", size = 358123, upload-time = "2025-11-02T21:39:34.331Z" }, + { url = "https://files.pythonhosted.org/packages/27/fd/f3d49c5443b57087f888b5e118c8dd78bb7c8e8cfeeed250f8e92128a05f/bitarray-3.8.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:337c8cd46a4c6568d367ed676cbf2d7de16f890bb31dbb54c44c1d6bb6d4a1de", size = 356046, upload-time = "2025-11-02T21:39:35.449Z" }, + { url = "https://files.pythonhosted.org/packages/aa/db/1fd0b402bd2b47142e958b6930dbb9445235d03fa703c9a24caa6e576ae2/bitarray-3.8.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:21ca6a47bf20db9e7ad74ca04b3d479e4d76109b68333eb23535553d2705339e", size = 336872, upload-time = "2025-11-02T21:39:36.891Z" }, + { url = "https://files.pythonhosted.org/packages/58/73/680b47718f1313b4538af479c4732eaca0aeda34d93fc5b869f87932d57d/bitarray-3.8.0-cp312-cp312-win32.whl", hash = "sha256:178c5a4c7fdfb5cd79e372ae7f675390e670f3732e5bc68d327e01a5b3ff8d55", size = 143025, upload-time = "2025-11-02T21:39:38.303Z" }, + { url = "https://files.pythonhosted.org/packages/f8/11/7792587c19c79a8283e8838f44709fa4338a8f7d2a3091dfd81c07ae89c7/bitarray-3.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:75a3b6e9c695a6570ea488db75b84bb592ff70a944957efa1c655867c575018b", size = 149969, upload-time = "2025-11-02T21:39:39.715Z" }, + { url = "https://files.pythonhosted.org/packages/9a/00/9df64b5d8a84e8e9ec392f6f9ce93f50626a5b301cb6c6b3fe3406454d66/bitarray-3.8.0-cp312-cp312-win_arm64.whl", hash = "sha256:5591daf81313096909d973fb2612fccd87528fdfdd39f6478bdce54543178954", size = 146907, upload-time = "2025-11-02T21:39:40.815Z" }, + { url = "https://files.pythonhosted.org/packages/3e/35/480364d4baf1e34c79076750914664373f561c58abb5c31c35b3fae613ff/bitarray-3.8.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:18214bac86341f1cc413772e66447d6cca10981e2880b70ecaf4e826c04f95e9", size = 148582, upload-time = "2025-11-02T21:39:42.268Z" }, + { url = "https://files.pythonhosted.org/packages/5e/a8/718b95524c803937f4edbaaf6480f39c80f6ed189d61357b345e8361ffb6/bitarray-3.8.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:01c5f0dc080b0ebb432f7a68ee1e88a76bd34f6d89c9568fcec65fb16ed71f0e", size = 145433, upload-time = "2025-11-02T21:39:43.552Z" }, + { url = "https://files.pythonhosted.org/packages/03/66/4a10f30dc9e2e01e3b4ecd44a511219f98e63c86b0e0f704c90fac24059b/bitarray-3.8.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:86685fa04067f7175f9718489ae755f6acde03593a1a9ca89305554af40e14fd", size = 332986, upload-time = "2025-11-02T21:39:44.656Z" }, + { url = "https://files.pythonhosted.org/packages/53/25/4c08774d847f80a1166e4c704b4e0f1c417c0afe6306eae0bc5e70d35faa/bitarray-3.8.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:56896ceeffe25946c4010320629e2d858ca763cd8ded273c81672a5edbcb1e0a", size = 360634, upload-time = "2025-11-02T21:39:45.798Z" }, + { url = "https://files.pythonhosted.org/packages/a5/8f/bf8ad26169ebd0b2746d5c7564db734453ca467f8aab87e9d43b0a794383/bitarray-3.8.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:9858dcbc23ba7eaadcd319786b982278a1a2b2020720b19db43e309579ff76fb", size = 371992, upload-time = "2025-11-02T21:39:46.968Z" }, + { url = "https://files.pythonhosted.org/packages/a9/16/ce166754e7c9d10650e02914552fa637cf3b2591f7ed16632bbf6b783312/bitarray-3.8.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:aa7dec53c25f1949513457ef8b0ea1fb40e76c672cc4d2daa8ad3c8d6b73491a", size = 340315, upload-time = "2025-11-02T21:39:48.182Z" }, + { url = "https://files.pythonhosted.org/packages/de/2a/fbba3a106ddd260e84b9a624f730257c32ba51a8a029565248dfedfdf6f2/bitarray-3.8.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:15a2eff91f54d2b1f573cca8ca6fb58763ce8fea80e7899ab028f3987ef71cd5", size = 330473, upload-time = "2025-11-02T21:39:49.705Z" }, + { url = "https://files.pythonhosted.org/packages/68/97/56cf3c70196e7307ad32318a9d6ed969dbdc6a4534bbe429112fa7dfe42e/bitarray-3.8.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b1572ee0eb1967e71787af636bb7d1eb9c6735d5337762c450650e7f51844594", size = 358129, upload-time = "2025-11-02T21:39:51.189Z" }, + { url = "https://files.pythonhosted.org/packages/fd/be/afd391a5c0896d3339613321b2f94af853f29afc8bd3fbc327431244c642/bitarray-3.8.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:5bfac7f236ba1a4d402644bdce47fb9db02a7cf3214a1f637d3a88390f9e5428", size = 356005, upload-time = "2025-11-02T21:39:52.355Z" }, + { url = "https://files.pythonhosted.org/packages/ae/08/a8e1a371babba29bad3378bb3a2cdca2b012170711e7fe1f22031a6b7b95/bitarray-3.8.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f0a55cf02d2cdd739b40ce10c09bbdd520e141217696add7a48b56e67bdfdfe6", size = 336862, upload-time = "2025-11-02T21:39:54.345Z" }, + { url = "https://files.pythonhosted.org/packages/ee/8a/6dc1d0fdc06991c8dc3b1fcfe1ae49fbaced42064cd1b5f24278e73fe05f/bitarray-3.8.0-cp313-cp313-win32.whl", hash = "sha256:a2ba92f59e30ce915e9e79af37649432e3a212ddddf416d4d686b1b4825bcdb2", size = 143018, upload-time = "2025-11-02T21:39:56.361Z" }, + { url = "https://files.pythonhosted.org/packages/2e/72/76e13f5cd23b8b9071747909663ce3b02da24a5e7e22c35146338625db35/bitarray-3.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:1c8f2a5d8006db5a555e06f9437e76bf52537d3dfd130cb8ae2b30866aca32c9", size = 149977, upload-time = "2025-11-02T21:39:57.718Z" }, + { url = "https://files.pythonhosted.org/packages/01/37/60f336c32336cc3ec03b0c61076f16ea2f05d5371c8a56e802161d218b77/bitarray-3.8.0-cp313-cp313-win_arm64.whl", hash = "sha256:50ddbe3a7b4b6ab96812f5a4d570f401a2cdb95642fd04c062f98939610bbeee", size = 146930, upload-time = "2025-11-02T21:39:59.308Z" }, + { url = "https://files.pythonhosted.org/packages/1b/b0/411327a6c7f6b2bead64bb06fe60b92e0344957ec1ab0645d5ccc25fdafe/bitarray-3.8.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8cbd4bfc933b33b85c43ef4c1f4d5e3e9d91975ea6368acf5fbac02bac06ea89", size = 148563, upload-time = "2025-11-02T21:40:01.006Z" }, + { url = "https://files.pythonhosted.org/packages/2a/bc/ff80d97c627d774f879da0ea93223adb1267feab7e07d5c17580ffe6d632/bitarray-3.8.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:9d35d8f8a1c9ed4e2b08187b513f8a3c71958600129db3aa26d85ea3abfd1310", size = 145422, upload-time = "2025-11-02T21:40:02.535Z" }, + { url = "https://files.pythonhosted.org/packages/66/e7/b4cb6c5689aacd0a32f3aa8a507155eaa33528c63de2f182b60843fbf700/bitarray-3.8.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:99f55e14e7c56f4fafe1343480c32b110ef03836c21ff7c48bae7add6818f77c", size = 332852, upload-time = "2025-11-02T21:40:03.645Z" }, + { url = "https://files.pythonhosted.org/packages/e7/91/fbd1b047e3e2f4b65590f289c8151df1d203d75b005f5aae4e072fe77d76/bitarray-3.8.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:dfbe2aa45b273f49e715c5345d94874cb65a28482bf231af408891c260601b8d", size = 360801, upload-time = "2025-11-02T21:40:04.827Z" }, + { url = "https://files.pythonhosted.org/packages/ef/4a/63064c593627bac8754fdafcb5343999c93ab2aeb27bcd9d270a010abea5/bitarray-3.8.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:64af877116edf051375b45f0bda648143176a017b13803ec7b3a3111dc05f4c5", size = 371408, upload-time = "2025-11-02T21:40:05.985Z" }, + { url = "https://files.pythonhosted.org/packages/46/97/ddc07723767bdafd170f2ff6e173c940fa874192783ee464aa3c1dedf07d/bitarray-3.8.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cdfbb27f2c46bb5bbdcee147530cbc5ca8ab858d7693924e88e30ada21b2c5e2", size = 340033, upload-time = "2025-11-02T21:40:07.189Z" }, + { url = "https://files.pythonhosted.org/packages/ad/1e/e1ea9f1146fd4af032817069ff118918d73e5de519854ce3860e2ed560ff/bitarray-3.8.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:4d73d4948dcc5591d880db8933004e01f1dd2296df9de815354d53469beb26fe", size = 330774, upload-time = "2025-11-02T21:40:08.496Z" }, + { url = "https://files.pythonhosted.org/packages/cf/9f/8242296c124a48d1eab471fd0838aeb7ea9c6fd720302d99ab7855d3e6d3/bitarray-3.8.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:28a85b056c0eb7f5d864c0ceef07034117e8ebfca756f50648c71950a568ba11", size = 358337, upload-time = "2025-11-02T21:40:10.035Z" }, + { url = "https://files.pythonhosted.org/packages/b5/6b/9095d75264c67d479f298c80802422464ce18c3cdd893252eeccf4997611/bitarray-3.8.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:79ec4498a545733ecace48d780d22407411b07403a2e08b9a4d7596c0b97ebd7", size = 355639, upload-time = "2025-11-02T21:40:11.485Z" }, + { url = "https://files.pythonhosted.org/packages/a0/af/c93c0ae5ef824136e90ac7ddf6cceccb1232f34240b2f55a922f874da9b4/bitarray-3.8.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:33af25c4ff7723363cb8404dfc2eefeab4110b654f6c98d26aba8a08c745d860", size = 336999, upload-time = "2025-11-02T21:40:12.709Z" }, + { url = "https://files.pythonhosted.org/packages/81/0f/72c951f5997b2876355d5e671f78dd2362493254876675cf22dbd24389ae/bitarray-3.8.0-cp314-cp314-win32.whl", hash = "sha256:2c3bb96b6026643ce24677650889b09073f60b9860a71765f843c99f9ab38b25", size = 142169, upload-time = "2025-11-02T21:40:14.031Z" }, + { url = "https://files.pythonhosted.org/packages/8a/55/ef1b4de8107bf13823da8756c20e1fbc9452228b4e837f46f6d9ddba3eb3/bitarray-3.8.0-cp314-cp314-win_amd64.whl", hash = "sha256:847c7f61964225fc489fe1d49eda7e0e0d253e98862c012cecf845f9ad45cdf4", size = 148737, upload-time = "2025-11-02T21:40:15.436Z" }, + { url = "https://files.pythonhosted.org/packages/5f/26/bc0784136775024ac56cc67c0d6f9aa77a7770de7f82c3a7c9be11c217cd/bitarray-3.8.0-cp314-cp314-win_arm64.whl", hash = "sha256:a2cb35a6efaa0e3623d8272471371a12c7e07b51a33e5efce9b58f655d864b4e", size = 146083, upload-time = "2025-11-02T21:40:17.135Z" }, + { url = "https://files.pythonhosted.org/packages/6e/64/57984e64264bf43d93a1809e645972771566a2d0345f4896b041ce20b000/bitarray-3.8.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:15e8d0597cc6e8496de6f4dea2a6880c57e1251502a7072f5631108a1aa28521", size = 149455, upload-time = "2025-11-02T21:40:18.558Z" }, + { url = "https://files.pythonhosted.org/packages/81/c0/0d5f2eaef1867f462f764bdb07d1e116c33a1bf052ea21889aefe4282f5b/bitarray-3.8.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:8ffe660e963ae711cb9e2b8d8461c9b1ad6167823837fc17d59d5e539fb898fa", size = 146491, upload-time = "2025-11-02T21:40:19.665Z" }, + { url = "https://files.pythonhosted.org/packages/65/c6/bc1261f7a8862c0c59220a484464739e52235fd1e2afcb24d7f7d3fb5702/bitarray-3.8.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4779f356083c62e29b4198d290b7b17a39a69702d150678b7efff0fdddf494a8", size = 339721, upload-time = "2025-11-02T21:40:21.277Z" }, + { url = "https://files.pythonhosted.org/packages/81/d8/289ca55dd2939ea17b1108dc53bffc0fdc5160ba44f77502dfaae35d08c6/bitarray-3.8.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:025d133bf4ca8cf75f904eeb8ea946228d7c043231866143f31946a6f4dd0bf3", size = 367823, upload-time = "2025-11-02T21:40:22.463Z" }, + { url = "https://files.pythonhosted.org/packages/91/a2/61e7461ca9ac0fcb70f327a2e84b006996d2a840898e69037a39c87c6d06/bitarray-3.8.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:451f9958850ea98440d542278368c8d1e1ea821e2494b204570ba34a340759df", size = 377341, upload-time = "2025-11-02T21:40:23.789Z" }, + { url = "https://files.pythonhosted.org/packages/6c/87/4a0c9c8bdb13916d443e04d8f8542eef9190f31425da3c17c3478c40173f/bitarray-3.8.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6d79f659965290af60d6acc8e2716341865fe74609a7ede2a33c2f86ad893b8f", size = 344985, upload-time = "2025-11-02T21:40:25.261Z" }, + { url = "https://files.pythonhosted.org/packages/17/4c/ff9259b916efe53695b631772e5213699c738efc2471b5ffe273f4000994/bitarray-3.8.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:fbf05678c2ae0064fb1b8de7e9e8f0fc30621b73c8477786dd0fb3868044a8c8", size = 336796, upload-time = "2025-11-02T21:40:26.942Z" }, + { url = "https://files.pythonhosted.org/packages/0f/4b/51b2468bbddbade5e2f3b8d5db08282c5b309e8687b0f02f75a8b5ff559c/bitarray-3.8.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:c396358023b876cff547ce87f4e8ff8a2280598873a137e8cc69e115262260b8", size = 365085, upload-time = "2025-11-02T21:40:28.224Z" }, + { url = "https://files.pythonhosted.org/packages/bf/79/53473bfc2e052c6dbb628cdc1b156be621c77aaeb715918358b01574be55/bitarray-3.8.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:ed3493a369fe849cce98542d7405c88030b355e4d2e113887cb7ecc86c205773", size = 361012, upload-time = "2025-11-02T21:40:29.635Z" }, + { url = "https://files.pythonhosted.org/packages/c4/b1/242bf2e44bfc69e73fa2b954b425d761a8e632f78ea31008f1c3cfad0854/bitarray-3.8.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:c764fb167411d5afaef88138542a4bfa28bd5e5ded5e8e42df87cef965efd6e9", size = 340644, upload-time = "2025-11-02T21:40:31.089Z" }, + { url = "https://files.pythonhosted.org/packages/cf/01/12e5ecf30a5de28a32485f226cad4b8a546845f65f755ce0365057ab1e92/bitarray-3.8.0-cp314-cp314t-win32.whl", hash = "sha256:e12769d3adcc419e65860de946df8d2ed274932177ac1cdb05186e498aaa9149", size = 143630, upload-time = "2025-11-02T21:40:32.351Z" }, + { url = "https://files.pythonhosted.org/packages/b6/92/6b6ade587b08024a8a890b07724775d29da9cf7497be5c3cbe226185e463/bitarray-3.8.0-cp314-cp314t-win_amd64.whl", hash = "sha256:0ca70ccf789446a6dfde40b482ec21d28067172cd1f8efd50d5548159fccad9e", size = 150250, upload-time = "2025-11-02T21:40:33.596Z" }, + { url = "https://files.pythonhosted.org/packages/ed/40/be3858ffed004e47e48a2cefecdbf9b950d41098b780f9dc3aa609a88351/bitarray-3.8.0-cp314-cp314t-win_arm64.whl", hash = "sha256:2a3d1b05ffdd3e95687942ae7b13c63689f85d3f15c39b33329e3cb9ce6c015f", size = 147015, upload-time = "2025-11-02T21:40:35.064Z" }, + { url = "https://files.pythonhosted.org/packages/7e/b0/089786fa17cba00886ce399c2d4b44e32af50a5d15be00bc960901a6ce15/bitarray-3.8.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f8d3417db5e14a6789073b21ae44439a755289477901901bae378a57b905e148", size = 148484, upload-time = "2025-11-02T21:40:36.6Z" }, + { url = "https://files.pythonhosted.org/packages/68/a7/edbf6b737e7eb65b61dd7708bd20761f83136f4ce66fa28f5eb0f0d04e27/bitarray-3.8.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7f65bd5d4cdb396295b6aa07f84ca659ac65c5c68b53956a6d95219e304b0ada", size = 145290, upload-time = "2025-11-02T21:40:38.047Z" }, + { url = "https://files.pythonhosted.org/packages/f0/91/a544218af2b146c27a69e69455bc1d3db4e2dae9b3f24db6ef5eff9491f0/bitarray-3.8.0-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7f14d6b303e55bd7d19b28309ef8014370e84a3806c5e452e078e7df7344d97a", size = 322710, upload-time = "2025-11-02T21:40:39.519Z" }, + { url = "https://files.pythonhosted.org/packages/8e/e5/17111fb3d886f667b0c4f0daae2cc9db4d97aeca664422c9b23ca9504261/bitarray-3.8.0-cp38-cp38-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5c5a8a83df95e51f7a7c2b083eaea134cbed39fc42c6aeb2e764ddb7ccccd43e", size = 350700, upload-time = "2025-11-02T21:40:41.299Z" }, + { url = "https://files.pythonhosted.org/packages/37/ce/288cc11bfc46c6d2cd158b12933f3397cd8b758207aad87e787a5e0bff3a/bitarray-3.8.0-cp38-cp38-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6d70fa9c6d2e955bde8cd327ffc11f2cc34bc21944e5571a46ca501e7eadef24", size = 361497, upload-time = "2025-11-02T21:40:42.644Z" }, + { url = "https://files.pythonhosted.org/packages/53/d9/82891b3abeeff36fa37dcda35e0299eb3f0cb787a845ee9dc4a4ebef83f9/bitarray-3.8.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f8069a807a3e6e3c361ce302ece4bf1c3b49962c1726d1d56587e8f48682861", size = 329248, upload-time = "2025-11-02T21:40:44.016Z" }, + { url = "https://files.pythonhosted.org/packages/05/9c/bbc68ebbefac1349f0ca1cbc28f3103e60ffe25df4083154b06147739adc/bitarray-3.8.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:a358277122456666a8b2a0b9aa04f1b89d34e8aa41d08a6557d693e6abb6667c", size = 319052, upload-time = "2025-11-02T21:40:45.376Z" }, + { url = "https://files.pythonhosted.org/packages/2d/17/1a9865eca8af7903848c1ba30d32ad358078cdb1f25edf42b583c3381cd1/bitarray-3.8.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:014df8a9430276862392ac5d471697de042367996c49f32d0008585d2c60755a", size = 347624, upload-time = "2025-11-02T21:40:46.76Z" }, + { url = "https://files.pythonhosted.org/packages/65/5c/5c4c69c7b53eb2302718e102478df100a015ae8f630451e5e60deacfae09/bitarray-3.8.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:720963fee259291a88348ae9735d9deb5d334e84a016244f61c89f5a49aa400a", size = 344317, upload-time = "2025-11-02T21:40:48.385Z" }, + { url = "https://files.pythonhosted.org/packages/aa/51/c416cf96f4e3a2da2eeee53058cd3782a9b01993f85bc44b708d3ef833c6/bitarray-3.8.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:239578587b9c29469ab61149dda40a2fe714a6a4eca0f8ff9ea9439ec4b7bc30", size = 326344, upload-time = "2025-11-02T21:40:49.71Z" }, + { url = "https://files.pythonhosted.org/packages/7c/f7/5481caf7e4a09d1a94df6a262af8931c1f8b5cfeebd5bd9ec755cddeeb9c/bitarray-3.8.0-cp38-cp38-win32.whl", hash = "sha256:004d518fa410e6da43386d20e07b576a41eb417ac67abf9f30fa75e125697199", size = 142674, upload-time = "2025-11-02T21:40:51.342Z" }, + { url = "https://files.pythonhosted.org/packages/00/38/6684812f38cd4669281c7bac6e8bafa2dee615181dda0a035d50acffd6e6/bitarray-3.8.0-cp38-cp38-win_amd64.whl", hash = "sha256:5338a313f998e1be7267191b7caaae82563b4a2b42b393561055412a34042caa", size = 149382, upload-time = "2025-11-02T21:40:52.717Z" }, + { url = "https://files.pythonhosted.org/packages/16/a2/c0f4f502c555a323f5649c4d7d928570bb84ffccd38bf9c354358ac9a555/bitarray-3.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d2dbe8a3baf2d842e342e8acb06ae3844765d38df67687c144cdeb71f1bcb5d7", size = 148509, upload-time = "2025-11-02T21:40:54.051Z" }, + { url = "https://files.pythonhosted.org/packages/d4/e0/c53ea628d6f14ff9402bff2826c8c0d649453063f6fa8162c5e4afa15e77/bitarray-3.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ff1863f037dad765ef5963efc2e37d399ac023e192a6f2bb394e2377d023cefe", size = 145622, upload-time = "2025-11-02T21:40:55.73Z" }, + { url = "https://files.pythonhosted.org/packages/f9/84/2454f46b0eada5f8a879d11ae27494e97d5809ce2837829bffb1333122b1/bitarray-3.8.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:26714898eb0d847aac8af94c4441c9cb50387847d0fe6b9fc4217c086cd68b80", size = 320114, upload-time = "2025-11-02T21:40:57.574Z" }, + { url = "https://files.pythonhosted.org/packages/c8/3f/ff6acad35a70c1133c0d6eb854f1e44ab99bdf3e0fbaa92ea88f78a19f9d/bitarray-3.8.0-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5f2fb10518f6b365f5b720e43a529c3b2324ca02932f609631a44edb347d8d54", size = 348055, upload-time = "2025-11-02T21:40:59.904Z" }, + { url = "https://files.pythonhosted.org/packages/9c/30/0244c090e50c438b986db589ae18da7e01830a5b71fd8e242e9f85b82c55/bitarray-3.8.0-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1a926fa554870642607fd10e66ee25b75fdd9a7ca4bbffa93d424e4ae2bf734a", size = 358770, upload-time = "2025-11-02T21:41:01.289Z" }, + { url = "https://files.pythonhosted.org/packages/1f/91/abba9370a74fa902435b3fdfae02a1106eed08f081196b683e7eaa457793/bitarray-3.8.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4902f4ecd5fcb6a5f482d7b0ae1c16c21f26fc5279b3b6127363d13ad8e7a9d9", size = 327056, upload-time = "2025-11-02T21:41:02.63Z" }, + { url = "https://files.pythonhosted.org/packages/31/9a/72b713408edeef946328a7e4dd08ba5cc2261ddd4bbfba8fb7138fc1d362/bitarray-3.8.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:94652da1a4ca7cfb69c15dd6986b205e0bd9c63a05029c3b48b4201085f527bd", size = 317567, upload-time = "2025-11-02T21:41:04.059Z" }, + { url = "https://files.pythonhosted.org/packages/fb/73/29013ebf7dc9532e9782258e3ecd7f8bcbca2312de3afb49e2fa829150a6/bitarray-3.8.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:31a4ad2b730128e273f1c22300da3e3631f125703e4fee0ac44d385abfb15671", size = 346013, upload-time = "2025-11-02T21:41:05.463Z" }, + { url = "https://files.pythonhosted.org/packages/67/f3/25c4c7af60ed0a03764a9409a0e2c265291b99203e0b244e59882663ca70/bitarray-3.8.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:cbba763d99de0255a3e4938f25a8579930ac8aa089233cb2fb2ed7d04d4aff02", size = 342399, upload-time = "2025-11-02T21:41:07.209Z" }, + { url = "https://files.pythonhosted.org/packages/85/91/4c1400a25b364d6a90a13f1faa56d397f410071a7b2cb0f94577c27e88bd/bitarray-3.8.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:46cf239856b87fe1c86dfbb3d459d840a8b1649e7922b1e0bfb6b6464692644a", size = 324017, upload-time = "2025-11-02T21:41:08.911Z" }, + { url = "https://files.pythonhosted.org/packages/5e/c0/10b49e25442cdc00fb5a2b2687dfd5ab780e490ea52869e4a786848d3e71/bitarray-3.8.0-cp39-cp39-win32.whl", hash = "sha256:2fe8c54b15a9cd4f93bc2aaceab354ec65af93370aa1496ba2f9c537a4855ee0", size = 142732, upload-time = "2025-11-02T21:41:10.671Z" }, + { url = "https://files.pythonhosted.org/packages/37/d2/059927f0c2ae0328369e540565229d1f75ca383b429aeb9c6787ea613791/bitarray-3.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:58a01ea34057463f7a98a4d6ff40160f65f945e924fec08a5b39e327e372875d", size = 149455, upload-time = "2025-11-02T21:41:12.218Z" }, + { url = "https://files.pythonhosted.org/packages/4b/51/5c06fe33491a2297b7f446369ff96a89bf0be7a270c3cda71d8e9a3d9aac/bitarray-3.8.0-cp39-cp39-win_arm64.whl", hash = "sha256:a60da2f9efbed355edb35a1fb6829148676786c829fad708bb6bb47211b3593a", size = 146421, upload-time = "2025-11-02T21:41:13.776Z" }, +] + +[[package]] +name = "black" +version = "22.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click", version = "8.1.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "click", version = "8.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "mypy-extensions" }, + { name = "pathspec" }, + { name = "platformdirs", version = "4.3.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "platformdirs", version = "4.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "platformdirs", version = "4.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ee/1f/b29c7371958ab41a800f8718f5d285bf4333b8d0b5a5a8650234463ee644/black-22.3.0.tar.gz", hash = "sha256:35020b8886c022ced9282b51b5a875b6d1ab0c387b31a065b84db7c33085ca79", size = 554277, upload-time = "2022-03-28T19:10:43.751Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e1/1b/3ba8128f0b6e86d87343a1275e17baeeeee1a89e02d2a0d275f472be3310/black-22.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2497f9c2386572e28921fa8bec7be3e51de6801f7459dffd6e62492531c47e09", size = 2392131, upload-time = "2022-03-28T20:10:57.319Z" }, + { url = "https://files.pythonhosted.org/packages/31/1a/0233cdbfbcfbc0864d815cf28ca40cdb65acf3601f3bf943d6d04e867858/black-22.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5795a0375eb87bfe902e80e0c8cfaedf8af4d49694d69161e5bd3206c18618bb", size = 1339315, upload-time = "2022-03-28T20:44:11.544Z" }, + { url = "https://files.pythonhosted.org/packages/4f/98/8f775455f99a8e4b16d8d26efdc8292f99b1c0ebfe04357d800ff379c0ae/black-22.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e3556168e2e5c49629f7b0f377070240bd5511e45e25a4497bb0073d9dda776a", size = 1212888, upload-time = "2022-03-28T20:11:24.602Z" }, + { url = "https://files.pythonhosted.org/packages/93/98/6f7c2f7f81d87b5771febcee933ba58640fca29a767262763bc353074f63/black-22.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67c8301ec94e3bcc8906740fe071391bce40a862b7be0b86fb5382beefecd968", size = 1474258, upload-time = "2022-03-28T20:11:54.345Z" }, + { url = "https://files.pythonhosted.org/packages/5f/10/613ddfc646a1f51f24ad9173e4969025210fe9034a69718f08297ecb9b76/black-22.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:fd57160949179ec517d32ac2ac898b5f20d68ed1a9c977346efbac9c2f1e779d", size = 1137867, upload-time = "2022-03-28T20:12:09.99Z" }, + { url = "https://files.pythonhosted.org/packages/a9/64/4682e5c7ca539bef71cb9be592f649ff5f1e1134a8e72e2bff8632ade99d/black-22.3.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e8477ec6bbfe0312c128e74644ac8a02ca06bcdb8982d4ee06f209be28cdf163", size = 2367567, upload-time = "2022-03-28T20:08:09.515Z" }, + { url = "https://files.pythonhosted.org/packages/09/c0/e8e3695632ed25381cc71af6bae26187beb32817c3b78e7b486cb9a95c97/black-22.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:637a4014c63fbf42a692d22b55d8ad6968a946b4a6ebc385c5505d9625b6a464", size = 1325109, upload-time = "2022-03-28T20:43:40.096Z" }, + { url = "https://files.pythonhosted.org/packages/98/a0/98fe3aee7a08c7c9d470e38326cefb86372fb08332125d5b0414a22ab49f/black-22.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:863714200ada56cbc366dc9ae5291ceb936573155f8bf8e9de92aef51f3ad0f0", size = 1197718, upload-time = "2022-03-28T20:08:41.129Z" }, + { url = "https://files.pythonhosted.org/packages/33/bb/8f662d8807eb66ceac021bdf777185c65b843bf1b75af8412e16af4df2ac/black-22.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10dbe6e6d2988049b4655b2b739f98785a884d4d6b85bc35133a8fb9a2233176", size = 1451926, upload-time = "2022-03-28T20:09:01.368Z" }, + { url = "https://files.pythonhosted.org/packages/7e/c8/ad41a7842f55b435b3f2c4c25ed8f2b74b01db79c074d6c97f34f2092e09/black-22.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:cee3e11161dde1b2a33a904b850b0899e0424cc331b7295f2a9698e79f9a69a0", size = 1149114, upload-time = "2022-03-28T20:09:09.555Z" }, + { url = "https://files.pythonhosted.org/packages/a4/43/940f848d7d1ecf0be18453a293e5736e9ce60fd6197386a791bcc491f232/black-22.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5891ef8abc06576985de8fa88e95ab70641de6c1fca97e2a15820a9b69e51b20", size = 2390442, upload-time = "2022-03-28T20:09:40.342Z" }, + { url = "https://files.pythonhosted.org/packages/e5/b7/e4e8907dffdac70f018ddb89681dbc77cbc7ac78d1f8a39259110a7e7943/black-22.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:30d78ba6bf080eeaf0b7b875d924b15cd46fec5fd044ddfbad38c8ea9171043a", size = 1338106, upload-time = "2022-03-28T20:43:55.947Z" }, + { url = "https://files.pythonhosted.org/packages/56/74/c27c496223168af625d6bba8a14bc581e7742bf7248504a4b5743c374767/black-22.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ee8f1f7228cce7dffc2b464f07ce769f478968bfb3dd1254a4c2eeed84928aad", size = 1212264, upload-time = "2022-03-28T20:09:59.21Z" }, + { url = "https://files.pythonhosted.org/packages/51/ec/c87695b087b7525fd9c7732c630455f231d3df9a300b730bd0e04ea00f84/black-22.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ee227b696ca60dd1c507be80a6bc849a5a6ab57ac7352aad1ffec9e8b805f21", size = 1473733, upload-time = "2022-03-28T20:10:28.367Z" }, + { url = "https://files.pythonhosted.org/packages/5b/f9/e7aca76001a702dc258fb0443ca2553d5db13a3515c09062fbf344184363/black-22.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:9b542ced1ec0ceeff5b37d69838106a6348e60db7b8fdd245294dc1d26136265", size = 1137278, upload-time = "2022-03-28T20:10:42.963Z" }, + { url = "https://files.pythonhosted.org/packages/2e/ef/a38a2189959246543e60859fb65bd3143129f6d18dfc7bcdd79217f81ca2/black-22.3.0-py3-none-any.whl", hash = "sha256:bc58025940a896d7e5356952228b68f793cf5fcb342be703c3a2669a1488cb72", size = 153859, upload-time = "2022-03-28T19:10:42.199Z" }, ] [[package]] name = "cbor2" -version = "5.7.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/3a/89/01df16cdc9c60c07956756c90fe92c684021003079e358a78e213bce45a2/cbor2-5.7.0.tar.gz", hash = "sha256:3f6d843f4db4d0ec501c46453c22a4fbebb1abfb5b740e1bcab34c615cd7406b", size = 102374, upload-time = "2025-08-14T08:59:47.294Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0d/94/92870469f92b53f7d18a6a6def540ecd9deec0cc25448b0d28b1847a7820/cbor2-5.7.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:305edac16524df843d53ba086bc194c0975388e755ed177eb84e0324e3d705ec", size = 67903, upload-time = "2025-08-14T08:58:37.343Z" }, - { url = "https://files.pythonhosted.org/packages/ea/cd/c6bbf2c11f48f08cbbd31647ce2b6b081f25e4723d5260fde0a6520a6e2f/cbor2-5.7.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e00d7250e528a9a1bfd3b294799bdae96c158f72d95be58a3fbf97dab2467bbe", size = 68780, upload-time = "2025-08-14T08:58:39.004Z" }, - { url = "https://files.pythonhosted.org/packages/7f/b7/17fe6e502b9884f3a7bdf6e9331688e290a546110dd14575aa09527b238f/cbor2-5.7.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:36b6e229b36147051ea1063ba0cd6225bfe6b5398ca0ac7b33fa91407ca75081", size = 254198, upload-time = "2025-08-14T08:58:40.293Z" }, - { url = "https://files.pythonhosted.org/packages/fd/fb/6cc1dd51beb35f899f9f6621fd0df9ec733e1f4c27f334212107f7a05822/cbor2-5.7.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:06f8e9d8fa6d0ed7b8a81f4613a60e740be9bd5087de620e3b64007832dfd815", size = 247202, upload-time = "2025-08-14T08:58:42.101Z" }, - { url = "https://files.pythonhosted.org/packages/34/2d/e51cd823cb918eed3180bbe0169955ccefa03817c0e4788024e9e56d3657/cbor2-5.7.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:90c1236e5bfad19493183f9a9ecd3705e3ad3eb02fce6d6381c12ece86147b15", size = 250001, upload-time = "2025-08-14T08:58:43.82Z" }, - { url = "https://files.pythonhosted.org/packages/de/45/79a0320a4562537df3e589526d636963a06a95a66d7b6c366bdc8d9b3755/cbor2-5.7.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:afc6c6611b7529136ea4a04cf8711786640b687859c9688ae172726c305a83a1", size = 243743, upload-time = "2025-08-14T08:58:45.618Z" }, - { url = "https://files.pythonhosted.org/packages/9b/6f/73baf2ba006fb297c7d022858352ae393ee3837be2d7cfa01b6d2519492b/cbor2-5.7.0-cp310-cp310-win_amd64.whl", hash = "sha256:be635795908d59f46303ab266fc6f3aa6543c742fa112fd1cd2e5307b91c6de4", size = 68045, upload-time = "2025-08-14T08:58:48.447Z" }, - { url = "https://files.pythonhosted.org/packages/40/87/0c7c8d27738e8d7dca49dfb4092ef7fdfdec7ca64f27e344b79d8a80bd92/cbor2-5.7.0-cp310-cp310-win_arm64.whl", hash = "sha256:16a21233f11874b7067b136cb2910333b36c1dee455a42a7c8473a104753cf4a", size = 63963, upload-time = "2025-08-14T08:58:49.563Z" }, - { url = "https://files.pythonhosted.org/packages/45/a4/97c1b5eaf28129543ae6f90b9afc244241f5bb1701a2cf9368a2de9eb258/cbor2-5.7.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:73532e725501915f95d589500e0a11813c9a3fd735d3cdb6c4dd320e6a2f12e1", size = 67895, upload-time = "2025-08-14T08:58:50.949Z" }, - { url = "https://files.pythonhosted.org/packages/91/60/cb2fa00871e94e75d9b84f4edd173b6644af080333c00712e8e31bd201fe/cbor2-5.7.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b785d954879e3800a074efa45c882a1cc6459476ab0d354c74e1dca92b17ede3", size = 68783, upload-time = "2025-08-14T08:58:52.456Z" }, - { url = "https://files.pythonhosted.org/packages/6d/52/6092e45a6b164d22bc2828aa14f422fbcf5af4bd9201a3e27b62b512f828/cbor2-5.7.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5fc1005b412ace94bbf905a8c4214e639557568551d9b5474645789e976e91e4", size = 261081, upload-time = "2025-08-14T08:58:53.747Z" }, - { url = "https://files.pythonhosted.org/packages/0f/12/9eef73bcfcdd110df7e585f8034399d1cf2006dc7576487e0509ba50e4f8/cbor2-5.7.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d981d691dd721dd712fc824d04a01347955a206107fbee1d75803fa58de172c7", size = 254132, upload-time = "2025-08-14T08:58:55.465Z" }, - { url = "https://files.pythonhosted.org/packages/8c/e1/00bc92353ecacef0b8eaba285168ca517c18539c12ddebe06a9bbab03e47/cbor2-5.7.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b3b9730928163d02e7f1267e48a39ed75560ff3e56cdc6768d670d3e96028623", size = 256825, upload-time = "2025-08-14T08:58:57.239Z" }, - { url = "https://files.pythonhosted.org/packages/25/01/454c93f360c404a3e6531ce0e2e4cc5818c5746a10b1cb295b6abd3057cd/cbor2-5.7.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:01cc4d840943b4c2e468b8560830235d044a8cb45e5d66ba3ae933c3e21b8d49", size = 250639, upload-time = "2025-08-14T08:58:58.594Z" }, - { url = "https://files.pythonhosted.org/packages/94/1a/87be8d39d934810b095024bd22017c679abd51d89cb62d179b89327f491e/cbor2-5.7.0-cp311-cp311-win_amd64.whl", hash = "sha256:6abe31e742ccf966778d77ce99d7c6136ca0f8424446dfdabcc3491f015e84d4", size = 68085, upload-time = "2025-08-14T08:59:00.045Z" }, - { url = "https://files.pythonhosted.org/packages/52/00/dce08a1549e2a4008cecb0069e8d8de45779f60852aca12a5e7d0039ce41/cbor2-5.7.0-cp311-cp311-win_arm64.whl", hash = "sha256:c48dff8f6aacd76fc0680c48ef35e5912e3d758a9f41305a35e847f382b60eea", size = 63969, upload-time = "2025-08-14T08:59:01.187Z" }, - { url = "https://files.pythonhosted.org/packages/b1/b1/d54c41b1bc71b8dea0bad3409d2a497df35f7b5ae5db70c1cc9ebc8d556d/cbor2-5.7.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7ad36f0537b75c1aa2c7a462cbdbeec5e8ba02802ea985e0b9fe5deee3b946f4", size = 69020, upload-time = "2025-08-14T08:59:02.276Z" }, - { url = "https://files.pythonhosted.org/packages/f4/e0/45368d5d78b520caaa9ca5a09f55365bc9933d43bce978a528922654ca9f/cbor2-5.7.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5fc9b335cf28e63d9eed4ae03d1e8f90f1a6b287cabc8d29bfddf73fa70643e9", size = 68950, upload-time = "2025-08-14T08:59:03.882Z" }, - { url = "https://files.pythonhosted.org/packages/1e/6a/9aed5b716407c1d48425ba55c6022a01a9abdbf58a691f50416461fa371d/cbor2-5.7.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:16bea83598a1eeedbd50c2e9fdf3685bae78ca9d9ec8cd8010777db14a315578", size = 285685, upload-time = "2025-08-14T08:59:05.165Z" }, - { url = "https://files.pythonhosted.org/packages/a8/6e/3499eaa2b858c7695a447b6311303f06ffc90fc2c45851337121661f1f5c/cbor2-5.7.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8e837825a16e60ace6e284095aa9fbe504bf87a8f4494bf7d95931e37fb01a70", size = 284948, upload-time = "2025-08-14T08:59:06.64Z" }, - { url = "https://files.pythonhosted.org/packages/d1/3e/ae67866ef65717665e0acf2873d466c5d4a1d965b0d0348f2269b73f28fb/cbor2-5.7.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:27396c5e275ff7c7cd87fe8aaadf781e6194903921f250934af7c86d5efec82e", size = 276375, upload-time = "2025-08-14T08:59:08.845Z" }, - { url = "https://files.pythonhosted.org/packages/b6/3d/2f8e9671111661dd571de206344ecd7706f6d458aab191e06834c89aa58e/cbor2-5.7.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c84bfef78c4e9c81eb0a10cec340222ba4e39498a63fc2e3d5f982a3f4efa4a7", size = 277680, upload-time = "2025-08-14T08:59:10.292Z" }, - { url = "https://files.pythonhosted.org/packages/85/03/27a9fefa4e084c1129d7180727791a166629fdae39e0609508401d322626/cbor2-5.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:f64270a24aaadb15dd31cbd64a98d99fca8e0398a65b1570ba07f3c259eb5516", size = 68354, upload-time = "2025-08-14T08:59:11.561Z" }, - { url = "https://files.pythonhosted.org/packages/25/d9/b856d078696542a0d7486d1ece5c936e937bebe5b114674db18d76feb131/cbor2-5.7.0-cp312-cp312-win_arm64.whl", hash = "sha256:73ef321d7b580f08c9fadc41c3d2a218aa3f01e163be9793c6969aadee07f57a", size = 63896, upload-time = "2025-08-14T08:59:12.977Z" }, - { url = "https://files.pythonhosted.org/packages/5c/2f/25da2b08f7a3d7b3f72e678a373092619821ab706f3f720d29e567a426df/cbor2-5.7.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7654e77b7f6be029fb37a074b175483a4a8ae3fe5e2a91008926625aa91aef2c", size = 69046, upload-time = "2025-08-14T08:59:14.123Z" }, - { url = "https://files.pythonhosted.org/packages/4b/b5/d324166a5a1feed61aeb32fed70182306796b67cedaf65c91671c8674ea2/cbor2-5.7.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9bd76624b090faa6900739025d798a4e3130da80dbae15391b42b3d4672a4022", size = 69061, upload-time = "2025-08-14T08:59:15.228Z" }, - { url = "https://files.pythonhosted.org/packages/1f/f9/180e953da537602d8530910f5a5f76c3d7215829d145d93f97fa43324dd7/cbor2-5.7.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:428d58b54a7b32ede869e79c294d686f826dcfdab9de7f92135dd3ce12e313b8", size = 284642, upload-time = "2025-08-14T08:59:16.511Z" }, - { url = "https://files.pythonhosted.org/packages/17/eb/7d79831a5081d25002e36a1b2685210ae8783582d1a99fae350b2b1b899c/cbor2-5.7.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a91b6912e2ff64f33464f67ec6528cf2e26c06a5f3cc3fb1954f94aa58d68670", size = 283690, upload-time = "2025-08-14T08:59:17.989Z" }, - { url = "https://files.pythonhosted.org/packages/38/43/1403610711ea6b9b957d86bd15fd0585a3917a3d9f8bafbb2cb1ad016361/cbor2-5.7.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9faeec4525fe3103a71f0fd3d6fe9a49ea6ff4ade8cb7cf1c395001b906a01e5", size = 276305, upload-time = "2025-08-14T08:59:19.43Z" }, - { url = "https://files.pythonhosted.org/packages/77/06/df4a5c7c16df3b604bd560234aff686da443bf70a124c5e3f80dff954e5a/cbor2-5.7.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:361315ccd8022c44bb501877fd9b236479c975f1a7aed69c8541bd609c0a8908", size = 277416, upload-time = "2025-08-14T08:59:20.798Z" }, - { url = "https://files.pythonhosted.org/packages/84/aa/62288bac4e501e25d04d50bb79ac46d4a6678ff9545941436a702c654eba/cbor2-5.7.0-cp313-cp313-win_amd64.whl", hash = "sha256:293c4a5d6a9a69fcecf595a47430dc3b11f4a3355089b1fe300d0ac48c5776c5", size = 68378, upload-time = "2025-08-14T08:59:22.227Z" }, - { url = "https://files.pythonhosted.org/packages/b6/d6/8358c144767731ffa03c16bb1222b59cb3be632833c70a2132cbe2ed8300/cbor2-5.7.0-cp313-cp313-win_arm64.whl", hash = "sha256:52d6e1a9b2f4475540063d7b966b1b2e93ac497e08ab9a1514fd6330f8db5b4c", size = 63966, upload-time = "2025-08-14T08:59:23.369Z" }, - { url = "https://files.pythonhosted.org/packages/99/32/b653a2a3cfb283bdf0539dbd79d3bafa528aaa26fbe44796897d167e733d/cbor2-5.7.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:f4f0464425ff809b1dd737db8c65a937516aba5eb3794cb1433f7eb8eb7a6535", size = 68993, upload-time = "2025-08-14T08:59:24.497Z" }, - { url = "https://files.pythonhosted.org/packages/c9/90/79d38f7f645a33e44b87f9333f74c04d01006a11f5291d2e8686815fe731/cbor2-5.7.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:866d993ebc9c4e4018ab001503dafc4145bb6ec91e1eddf12b8d7b6898021201", size = 69248, upload-time = "2025-08-14T08:59:25.63Z" }, - { url = "https://files.pythonhosted.org/packages/46/ca/59d65f12ef14c54c564f0e4363d9dd049a90d5b0e2a0dab0183062268a36/cbor2-5.7.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bc7a11433ea1c45b6d47484bef99e822fd8a40b4cfbcdc1e00378a7e8704e317", size = 283739, upload-time = "2025-08-14T08:59:26.856Z" }, - { url = "https://files.pythonhosted.org/packages/19/51/5da8661b1aa7a4b7afe06724994b23eca6f7912d2cca705721dbd4aa764a/cbor2-5.7.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e33242570cb4542302dcb6cf429cc9abe315ff7ebb370de2828eed22a8b00fe8", size = 281246, upload-time = "2025-08-14T08:59:28.261Z" }, - { url = "https://files.pythonhosted.org/packages/d4/2f/565f5f215a9d4211c23e94c5b1761d697d248603ae11ecf83a9a70e99382/cbor2-5.7.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:855fe80517071028a5804a29b607864b8d90bbb2223331ab2d8cae94b979d61f", size = 275442, upload-time = "2025-08-14T08:59:29.794Z" }, - { url = "https://files.pythonhosted.org/packages/84/11/307a558f6ddc3bd0fc539ac65696acb0253554c88bab5da7d459706eb20e/cbor2-5.7.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:87170260845c2ea3d74288f667e0bc81c8a6bbc72ff60265d19c59b3e76be266", size = 275372, upload-time = "2025-08-14T08:59:31.589Z" }, - { url = "https://files.pythonhosted.org/packages/92/f0/960b7050a53b8d60f92e6e4c1ce670f9c50ab2ff48468e83b2bef0399b38/cbor2-5.7.0-cp314-cp314-win_amd64.whl", hash = "sha256:a2b591904555e51843c95776df2d6b161226af045e655f464c101d8ad8708e99", size = 70188, upload-time = "2025-08-14T08:59:32.827Z" }, - { url = "https://files.pythonhosted.org/packages/a7/83/51805084b6208529f82e5a52261468a56b758728153ee2400c421fa845f4/cbor2-5.7.0-cp314-cp314-win_arm64.whl", hash = "sha256:4460164ffd0ceaf8cc3f5597e73dd99fd781541c7bba0ea64ac93043bf08bb6a", size = 66162, upload-time = "2025-08-14T08:59:34.35Z" }, - { url = "https://files.pythonhosted.org/packages/17/f1/308af71be956e1cdb8800bd49b045c45683178ca8058becceeae3bc22b7f/cbor2-5.7.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b20eb9b3b4c593cf8135e5c98b49d085e2d052ba714448583359c4b1f5cd0cd4", size = 67906, upload-time = "2025-08-14T08:59:35.861Z" }, - { url = "https://files.pythonhosted.org/packages/a5/89/157029abc1cae39f0a736c701b65725fc7dabc25861f36253bc8877cad9f/cbor2-5.7.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:69503de8d937d7764cac127f32d94474b07c593ce0c4323f4ad7ff78adbfb776", size = 68777, upload-time = "2025-08-14T08:59:36.995Z" }, - { url = "https://files.pythonhosted.org/packages/cd/40/dd8123fef6b18220f78e64a4bb4f8e4255c516db390ae8e8db0084474503/cbor2-5.7.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f94dbfd77ae591010429d645e4e7fd4f387183193f14c4f645dd7ba03668f9a9", size = 252958, upload-time = "2025-08-14T08:59:38.279Z" }, - { url = "https://files.pythonhosted.org/packages/df/1a/644bf42929915875212744100131200bc17cf526235c28747c78b30588db/cbor2-5.7.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cd36c935adf56ccf83c6b85949cb2ac8b991672d241ec1f645b557ae4730221b", size = 246023, upload-time = "2025-08-14T08:59:39.645Z" }, - { url = "https://files.pythonhosted.org/packages/9e/c1/32ad36a8e036b10a49412c0e55a3f96ecf1bbfc7b640ee80cca011731eb2/cbor2-5.7.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1198cbfa5194410b35b7fb5c0e58a0ee22c20b44197605e26f14e320e1750c5e", size = 248762, upload-time = "2025-08-14T08:59:41.048Z" }, - { url = "https://files.pythonhosted.org/packages/ef/db/847c604f876bb5990707b42e52c00960bdb81df800e4dfa81050d5f4ef5c/cbor2-5.7.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:78dca93abdbea701caa068e412e54923f3b4d117f5b46b39f44456e01b047534", size = 242520, upload-time = "2025-08-14T08:59:42.406Z" }, - { url = "https://files.pythonhosted.org/packages/2f/92/7e711ca1ac983d45c28afcc3628a2357fda0ea5ff75c9c38bb596756d92e/cbor2-5.7.0-cp39-cp39-win_amd64.whl", hash = "sha256:f56d5af41da9b1ef13ceec297411bd472c30d70bca29a25cb3a27ad7309d9974", size = 68206, upload-time = "2025-08-14T08:59:43.979Z" }, - { url = "https://files.pythonhosted.org/packages/ec/c5/90a70df5c6a6b5bc51654878589b504243d3635f11e9c9b32bdd44beb40a/cbor2-5.7.0-cp39-cp39-win_arm64.whl", hash = "sha256:b6e8f09664f799150ce6275c5487a35ca5773e5c6eb44209f187102b94ebd2d0", size = 63968, upload-time = "2025-08-14T08:59:45.088Z" }, - { url = "https://files.pythonhosted.org/packages/41/cc/0ce73676d2a0c9e5a9330c301940c50eb325dacf5f6d9690fd43a8817fe9/cbor2-5.7.0-py3-none-any.whl", hash = "sha256:a871e7a6f7cba1ddb02503ea974f15f6524c95078fbfe0b860fd4193d7c8f27a", size = 23828, upload-time = "2025-08-14T08:59:46.129Z" }, +version = "5.6.5" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/e4/aa/ba55b47d51d27911981a18743b4d3cebfabccbb0598c09801b734cec4184/cbor2-5.6.5.tar.gz", hash = "sha256:b682820677ee1dbba45f7da11898d2720f92e06be36acec290867d5ebf3d7e09", size = 100886, upload-time = "2024-10-09T12:26:24.106Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f1/f2/eada1d3fcaeddbd0f9a25381eed6b150f2858cf615d33ef7c14f9f86218a/cbor2-5.6.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e16c4a87fc999b4926f5c8f6c696b0d251b4745bc40f6c5aee51d69b30b15ca2", size = 66473, upload-time = "2024-10-09T12:25:27.157Z" }, + { url = "https://files.pythonhosted.org/packages/62/d8/33ec188eeff9c5e2e8ee8e214d15a0edf8fd001eefa01730e27834cfd410/cbor2-5.6.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:87026fc838370d69f23ed8572939bd71cea2b3f6c8f8bb8283f573374b4d7f33", size = 67421, upload-time = "2024-10-09T12:25:28.962Z" }, + { url = "https://files.pythonhosted.org/packages/fa/88/9b5fc312f21a10e048c348cead933e9f891cc09a295757957d8a5726641f/cbor2-5.6.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a88f029522aec5425fc2f941b3df90da7688b6756bd3f0472ab886d21208acbd", size = 253856, upload-time = "2024-10-09T12:25:29.968Z" }, + { url = "https://files.pythonhosted.org/packages/bb/41/debb6f35d240caa8078a4a27c03e7eed09737575c564d619e1ee0e829616/cbor2-5.6.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b9d15b638539b68aa5d5eacc56099b4543a38b2d2c896055dccf7e83d24b7955", size = 242074, upload-time = "2024-10-09T12:25:31.585Z" }, + { url = "https://files.pythonhosted.org/packages/0b/ba/5c07b001bb26bd91d96e4b3b720676a909e1acdbaf7d250a47c5d7a5a0f7/cbor2-5.6.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:47261f54a024839ec649b950013c4de5b5f521afe592a2688eebbe22430df1dc", size = 241723, upload-time = "2024-10-09T12:25:33.264Z" }, + { url = "https://files.pythonhosted.org/packages/b2/d5/27eced2cee4725bb876875f26d659063e2b7750d0dfb7572f451b569c4d1/cbor2-5.6.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:559dcf0d897260a9e95e7b43556a62253e84550b77147a1ad4d2c389a2a30192", size = 240534, upload-time = "2024-10-09T12:25:34.29Z" }, + { url = "https://files.pythonhosted.org/packages/20/55/bd657fdedb0d046762f9bf567b262b233175995d40302cdaa71d9aadcec8/cbor2-5.6.5-cp310-cp310-win_amd64.whl", hash = "sha256:5b856fda4c50c5bc73ed3664e64211fa4f015970ed7a15a4d6361bd48462feaf", size = 66291, upload-time = "2024-10-09T12:25:35.763Z" }, + { url = "https://files.pythonhosted.org/packages/bd/b7/ef045245180510305648fd604244d3bb1ecf1b20de68f42ab5bc20198024/cbor2-5.6.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:863e0983989d56d5071270790e7ed8ddbda88c9e5288efdb759aba2efee670bc", size = 66452, upload-time = "2024-10-09T12:25:36.676Z" }, + { url = "https://files.pythonhosted.org/packages/41/20/5a9d93f86b1e8fd9d9db33aff39c0e3a8459e0803ec24bd837d8b56d4a1d/cbor2-5.6.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5cff06464b8f4ca6eb9abcba67bda8f8334a058abc01005c8e616728c387ad32", size = 67421, upload-time = "2024-10-09T12:25:38.114Z" }, + { url = "https://files.pythonhosted.org/packages/0f/1e/2010f6d02dd117df88df64baf3eeca6aa6614cc81bdd6bfabf615889cf1f/cbor2-5.6.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4c7dbcdc59ea7f5a745d3e30ee5e6b6ff5ce7ac244aa3de6786391b10027bb3", size = 260756, upload-time = "2024-10-09T12:25:39.657Z" }, + { url = "https://files.pythonhosted.org/packages/e1/84/e177d9bef4749d14f31c513b25e341ac84e403e2ffa2bde562eac9e6184b/cbor2-5.6.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:34cf5ab0dc310c3d0196caa6ae062dc09f6c242e2544bea01691fe60c0230596", size = 249210, upload-time = "2024-10-09T12:25:41.316Z" }, + { url = "https://files.pythonhosted.org/packages/38/75/ebfdbb281104b46419fe7cb65979de9927b75acebcb6afa0af291f728cd2/cbor2-5.6.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6797b824b26a30794f2b169c0575301ca9b74ae99064e71d16e6ba0c9057de51", size = 249138, upload-time = "2024-10-09T12:25:42.432Z" }, + { url = "https://files.pythonhosted.org/packages/b2/1e/12d887fb1a8227a16181eeec5d43057e251204626d73e1c20a77046ac1b1/cbor2-5.6.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:73b9647eed1493097db6aad61e03d8f1252080ee041a1755de18000dd2c05f37", size = 247156, upload-time = "2024-10-09T12:25:43.588Z" }, + { url = "https://files.pythonhosted.org/packages/6f/76/478c12193de9517ce691bb8a3f7c00eafdd6a1bc3f7f23282ecdd99d02ec/cbor2-5.6.5-cp311-cp311-win_amd64.whl", hash = "sha256:6e14a1bf6269d25e02ef1d4008e0ce8880aa271d7c6b4c329dba48645764f60e", size = 66319, upload-time = "2024-10-09T12:25:44.621Z" }, + { url = "https://files.pythonhosted.org/packages/57/af/84ced14c541451696825b7b8ccbb7668f688372ad8ee74aaca4311e79672/cbor2-5.6.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:e25c2aebc9db99af7190e2261168cdde8ed3d639ca06868e4f477cf3a228a8e9", size = 67553, upload-time = "2024-10-09T12:25:45.767Z" }, + { url = "https://files.pythonhosted.org/packages/f2/d6/f63a840c68fed4de67d5441947af2dc695152cc488bb0e57312832fb923a/cbor2-5.6.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fde21ac1cf29336a31615a2c469a9cb03cf0add3ae480672d4d38cda467d07fc", size = 67569, upload-time = "2024-10-09T12:25:46.665Z" }, + { url = "https://files.pythonhosted.org/packages/77/ac/5fb79db6e882ec29680f4a974d35c098020a1b4709cad077667a8c3f4676/cbor2-5.6.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8947c102cac79d049eadbd5e2ffb8189952890df7cbc3ee262bbc2f95b011a9", size = 276610, upload-time = "2024-10-09T12:25:48.14Z" }, + { url = "https://files.pythonhosted.org/packages/cf/cb/70751377d94112001d46c311b5c40b45f34863dfa78a6bc71b71f40c8c7f/cbor2-5.6.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38886c41bebcd7dca57739439455bce759f1e4c551b511f618b8e9c1295b431b", size = 270004, upload-time = "2024-10-09T12:25:49.769Z" }, + { url = "https://files.pythonhosted.org/packages/f1/90/08800367e920aef31b93bd7b0cd6fadcb3a3f2243f4ed77a0d1c76f22b99/cbor2-5.6.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ae2b49226224e92851c333b91d83292ec62eba53a19c68a79890ce35f1230d70", size = 264913, upload-time = "2024-10-09T12:25:50.92Z" }, + { url = "https://files.pythonhosted.org/packages/a8/9c/76b11a5ea7548bccb0dfef3e8fb3ede48bfeb39348f0c217519e0c40d33a/cbor2-5.6.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f2764804ffb6553283fc4afb10a280715905a4cea4d6dc7c90d3e89c4a93bc8d", size = 266751, upload-time = "2024-10-09T12:25:52.777Z" }, + { url = "https://files.pythonhosted.org/packages/10/18/3866693a87c90cb12f7942e791d0f03a40ba44887dde7b7fc85319647efe/cbor2-5.6.5-cp312-cp312-win_amd64.whl", hash = "sha256:a3ac50485cf67dfaab170a3e7b527630e93cb0a6af8cdaa403054215dff93adf", size = 66739, upload-time = "2024-10-09T12:25:54.606Z" }, + { url = "https://files.pythonhosted.org/packages/2b/69/77e93caae71d1baee927c9762e702c464715d88073133052c74ecc9d37d4/cbor2-5.6.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f0d0a9c5aabd48ecb17acf56004a7542a0b8d8212be52f3102b8218284bd881e", size = 67647, upload-time = "2024-10-09T12:25:55.637Z" }, + { url = "https://files.pythonhosted.org/packages/84/83/cb941d4fd10e4696b2c0f6fb2e3056d9a296e5765b2000a69e29a507f819/cbor2-5.6.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:61ceb77e6aa25c11c814d4fe8ec9e3bac0094a1f5bd8a2a8c95694596ea01e08", size = 67657, upload-time = "2024-10-09T12:25:56.528Z" }, + { url = "https://files.pythonhosted.org/packages/5c/3f/e16a1e29994483c751b714cdf61d2956290b0b30e94690fa714a9f155c5c/cbor2-5.6.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97a7e409b864fecf68b2ace8978eb5df1738799a333ec3ea2b9597bfcdd6d7d2", size = 275863, upload-time = "2024-10-09T12:25:57.462Z" }, + { url = "https://files.pythonhosted.org/packages/64/04/f64bda3eea649fe6644c59f13d0e1f4666d975ce305cadf13835233b2a26/cbor2-5.6.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f6d69f38f7d788b04c09ef2b06747536624b452b3c8b371ab78ad43b0296fab", size = 269131, upload-time = "2024-10-09T12:25:59.635Z" }, + { url = "https://files.pythonhosted.org/packages/f4/8d/0d5ad3467f70578b032b3f52eb0f01f0327d5ae6b1f9e7d4d4e01a73aa95/cbor2-5.6.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f91e6d74fa6917df31f8757fdd0e154203b0dd0609ec53eb957016a2b474896a", size = 264728, upload-time = "2024-10-09T12:26:01.407Z" }, + { url = "https://files.pythonhosted.org/packages/77/cb/9b4f7890325eaa374c21fcccfee61a099ccb9ea0bc0f606acf7495f9568c/cbor2-5.6.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5ce13a27ef8fddf643fc17a753fe34aa72b251d03c23da6a560c005dc171085b", size = 266314, upload-time = "2024-10-09T12:26:02.451Z" }, + { url = "https://files.pythonhosted.org/packages/a8/cd/793dc041395609f5dd1edfdf0aecde504dc0fd35ed67eb3b2db79fb8ef4d/cbor2-5.6.5-cp313-cp313-win_amd64.whl", hash = "sha256:54c72a3207bb2d4480c2c39dad12d7971ce0853a99e3f9b8d559ce6eac84f66f", size = 66792, upload-time = "2024-10-09T12:26:03.615Z" }, + { url = "https://files.pythonhosted.org/packages/cc/e4/f33809edd874dc16edce3929abc4830d9d703894b265b77581035f12d362/cbor2-5.6.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4586a4f65546243096e56a3f18f29d60752ee9204722377021b3119a03ed99ff", size = 66695, upload-time = "2024-10-09T12:26:04.587Z" }, + { url = "https://files.pythonhosted.org/packages/96/68/efca8d029f334e61767268e37184fb04138bd9e0b1d55b4512dd32c8ce8d/cbor2-5.6.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3d1a18b3a58dcd9b40ab55c726160d4a6b74868f2a35b71f9e726268b46dc6a2", size = 67513, upload-time = "2024-10-09T12:26:05.559Z" }, + { url = "https://files.pythonhosted.org/packages/c2/0b/d55db4214f093a966d31e4a4ee737fbf02ea81c88fc7fc743612e62a4dea/cbor2-5.6.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a83b76367d1c3e69facbcb8cdf65ed6948678e72f433137b41d27458aa2a40cb", size = 264259, upload-time = "2024-10-09T12:26:07.141Z" }, + { url = "https://files.pythonhosted.org/packages/a0/3b/b58d95dff6c8b1dd150451356fadac8294f1b8e73124863d7b9abb03a359/cbor2-5.6.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90bfa36944caccec963e6ab7e01e64e31cc6664535dc06e6295ee3937c999cbb", size = 256176, upload-time = "2024-10-09T12:26:08.285Z" }, + { url = "https://files.pythonhosted.org/packages/8b/7b/95f8930ad9e8299f4f8ba105f9d9ea840bc2f0403f349a062ae4f2267983/cbor2-5.6.5-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:37096663a5a1c46a776aea44906cbe5fa3952f29f50f349179c00525d321c862", size = 254660, upload-time = "2024-10-09T12:26:09.335Z" }, + { url = "https://files.pythonhosted.org/packages/d2/4d/4c11d6adfc1f5cd06f543a3b3a523d883f48ed8c4097c5feec38a617cb4b/cbor2-5.6.5-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:93676af02bd9a0b4a62c17c5b20f8e9c37b5019b1a24db70a2ee6cb770423568", size = 254036, upload-time = "2024-10-09T12:26:10.394Z" }, + { url = "https://files.pythonhosted.org/packages/b4/43/b1d235a841ec35066815fedc39c6f1317b06b17ce93bd599a540281963a0/cbor2-5.6.5-cp38-cp38-win_amd64.whl", hash = "sha256:8f747b7a9aaa58881a0c5b4cd4a9b8fb27eca984ed261a769b61de1f6b5bd1e6", size = 66285, upload-time = "2024-10-09T12:26:12.572Z" }, + { url = "https://files.pythonhosted.org/packages/ac/d2/cf0f7357912c51a2e8405797093b8c50f4aba3b113344782bafd4910e403/cbor2-5.6.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:94885903105eec66d7efb55f4ce9884fdc5a4d51f3bd75b6fedc68c5c251511b", size = 66482, upload-time = "2024-10-09T12:26:14.046Z" }, + { url = "https://files.pythonhosted.org/packages/0d/ef/dbc6cd298cc96ec51fe71d4b15d3ddb30692071f86fdc2a65fdbdeadfb11/cbor2-5.6.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fe11c2eb518c882cfbeed456e7a552e544893c17db66fe5d3230dbeaca6b615c", size = 67422, upload-time = "2024-10-09T12:26:15.691Z" }, + { url = "https://files.pythonhosted.org/packages/97/2c/1b08c060d1369113bbda8ba699effd049d7ef58ba9dc35dd6ba6b9fcccda/cbor2-5.6.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:66dd25dd919cddb0b36f97f9ccfa51947882f064729e65e6bef17c28535dc459", size = 252379, upload-time = "2024-10-09T12:26:16.653Z" }, + { url = "https://files.pythonhosted.org/packages/94/22/98eec0f27e0dec07222fcbf31f276631b8224c69ac979836cf3c184d9d6d/cbor2-5.6.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa61a02995f3a996c03884cf1a0b5733f88cbfd7fa0e34944bf678d4227ee712", size = 240509, upload-time = "2024-10-09T12:26:18.552Z" }, + { url = "https://files.pythonhosted.org/packages/98/fa/9c83eae3b45428f76444b23919ed8cd922d37d3281a953a8b41268a85d7b/cbor2-5.6.5-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:824f202b556fc204e2e9a67d6d6d624e150fbd791278ccfee24e68caec578afd", size = 240776, upload-time = "2024-10-09T12:26:19.648Z" }, + { url = "https://files.pythonhosted.org/packages/f7/f8/8febf9a0073f617b23c97fce819a6878c7310c40482c55a411a6075ed327/cbor2-5.6.5-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7488aec919f8408f9987a3a32760bd385d8628b23a35477917aa3923ff6ad45f", size = 239460, upload-time = "2024-10-09T12:26:20.769Z" }, + { url = "https://files.pythonhosted.org/packages/c7/22/d0c40558aa227b44b3cd80d313cee76dc36779cba3bdb7307ef9743c6322/cbor2-5.6.5-cp39-cp39-win_amd64.whl", hash = "sha256:a34ee99e86b17444ecbe96d54d909dd1a20e2da9f814ae91b8b71cf1ee2a95e4", size = 66393, upload-time = "2024-10-09T12:26:22.257Z" }, + { url = "https://files.pythonhosted.org/packages/9b/ef/1c4698cac96d792005ef0611832f38eaee477c275ab4b02cbfc4daba7ad3/cbor2-5.6.5-py3-none-any.whl", hash = "sha256:3038523b8fc7de312bb9cdcbbbd599987e64307c4db357cd2030c472a6c7d468", size = 23752, upload-time = "2024-10-09T12:26:23.167Z" }, ] [[package]] -name = "certifi" -version = "2025.8.3" +name = "cbor2" +version = "5.8.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/dc/67/960ebe6bf230a96cda2e0abcf73af550ec4f090005363542f0765df162e0/certifi-2025.8.3.tar.gz", hash = "sha256:e564105f78ded564e3ae7c923924435e1daa7463faeab5bb932bc53ffae63407", size = 162386, upload-time = "2025-08-03T03:07:47.08Z" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/d9/8e/8b4fdde28e42ffcd741a37f4ffa9fb59cd4fe01625b544dfcfd9ccb54f01/cbor2-5.8.0.tar.gz", hash = "sha256:b19c35fcae9688ac01ef75bad5db27300c2537eb4ee00ed07e05d8456a0d4931", size = 107825, upload-time = "2025-12-30T18:44:22.455Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e5/48/1549795ba7742c948d2ad169c1c8cdbae65bc450d6cd753d124b17c8cd32/certifi-2025.8.3-py3-none-any.whl", hash = "sha256:f6c12493cfb1b06ba2ff328595af9350c65d6644968e5d3a2ffd78699af217a5", size = 161216, upload-time = "2025-08-03T03:07:45.777Z" }, + { url = "https://files.pythonhosted.org/packages/3c/05/486166d9e998d65d70810e63eeacc8c5f13d167d8797cf2d73a588beb335/cbor2-5.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2263c0c892194f10012ced24c322d025d9d7b11b41da1c357f3b3fe06676e6b7", size = 69882, upload-time = "2025-12-30T18:43:25.365Z" }, + { url = "https://files.pythonhosted.org/packages/4e/d0/ee976eaaf21c211eef651e1a921c109c3c3a3785d98307d74a70d142f341/cbor2-5.8.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6ffe4ca079f6f8ed393f5c71a8de22651cb27bd50e74e2bcd6bc9c8f853a732b", size = 260696, upload-time = "2025-12-30T18:43:27.784Z" }, + { url = "https://files.pythonhosted.org/packages/66/7f/81cabd3aee6cc54b101a5214d5c3e541d275d7c05647c7dfc266c6aacf6f/cbor2-5.8.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0427bd166230fe4c4b72965c6f2b6273bf29016d97cf08b258fa48db851ea598", size = 252135, upload-time = "2025-12-30T18:43:29.418Z" }, + { url = "https://files.pythonhosted.org/packages/c2/0b/f38e8c579e7e2d88d446549bce35bde7d845199300bc456b4123d6e6f0af/cbor2-5.8.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c23a04947c37964d70028ca44ea2a8709f09b8adc0090f9b5710fa957e9bc545", size = 255342, upload-time = "2025-12-30T18:43:30.966Z" }, + { url = "https://files.pythonhosted.org/packages/5d/02/8413f1bd42c8f665fb85374151599cb4957848f0f307d08334a08dee544c/cbor2-5.8.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:218d5c7d2e8d13c7eded01a1b3fe2a9a1e51a7a843cefb8d38cb4bbbc6ad9bf7", size = 247191, upload-time = "2025-12-30T18:43:32.555Z" }, + { url = "https://files.pythonhosted.org/packages/e5/b8/edeffcad06b83d3661827973a8e6f5d51a9f5842e1ee9d191fdef60388ad/cbor2-5.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:4ce7d907a25448af7c13415281d739634edfd417228b274309b243ca52ad71f9", size = 69254, upload-time = "2025-12-30T18:43:33.717Z" }, + { url = "https://files.pythonhosted.org/packages/ce/1a/dde6537d8d1c2b3157ea6487ea417a5ad0157687d0e9a3ff806bf23c8cb1/cbor2-5.8.0-cp310-cp310-win_arm64.whl", hash = "sha256:628d0ea850aa040921a0e50a08180e7d20cf691432cec3eabc193f643eccfbde", size = 64946, upload-time = "2025-12-30T18:43:34.849Z" }, + { url = "https://files.pythonhosted.org/packages/88/4b/623435ef9b98e86b6956a41863d39ff4fe4d67983948b5834f55499681dd/cbor2-5.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:18ac191640093e6c7fbcb174c006ffec4106c3d8ab788e70272c1c4d933cbe11", size = 69875, upload-time = "2025-12-30T18:43:35.888Z" }, + { url = "https://files.pythonhosted.org/packages/58/17/f664201080b2a7d0f57c16c8e9e5922013b92f202e294863ec7e75b7ff7f/cbor2-5.8.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fddee9103a17d7bed5753f0c7fc6663faa506eb953e50d8287804eccf7b048e6", size = 268316, upload-time = "2025-12-30T18:43:37.161Z" }, + { url = "https://files.pythonhosted.org/packages/d0/e1/072745b4ff01afe9df2cd627f8fc51a1acedb5d3d1253765625d2929db91/cbor2-5.8.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8d2ea26fad620aba5e88d7541be8b10c5034a55db9a23809b7cb49f36803f05b", size = 258874, upload-time = "2025-12-30T18:43:38.878Z" }, + { url = "https://files.pythonhosted.org/packages/a7/10/61c262b886d22b62c56e8aac6d10fa06d0953c997879ab882a31a624952b/cbor2-5.8.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:de68b4b310b072b082d317adc4c5e6910173a6d9455412e6183d72c778d1f54c", size = 261971, upload-time = "2025-12-30T18:43:40.401Z" }, + { url = "https://files.pythonhosted.org/packages/7e/42/b7862f5e64364b10ad120ea53e87ec7e891fb268cb99c572348e647cf7e9/cbor2-5.8.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:418d2cf0e03e90160fa1474c05a40fe228bbb4a92d1628bdbbd13a48527cb34d", size = 254151, upload-time = "2025-12-30T18:43:41.938Z" }, + { url = "https://files.pythonhosted.org/packages/16/6a/8d3636cf75466c18615e7cfac0d345ee3c030f6c79535faed0c2c02b1839/cbor2-5.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:453200ffa1c285ea46ab5745736a015526d41f22da09cb45594624581d959770", size = 69169, upload-time = "2025-12-30T18:43:43.424Z" }, + { url = "https://files.pythonhosted.org/packages/9b/88/79b205bf869558b39a11de70750cb13679b27ba5654a43bed3f2aee7d1b4/cbor2-5.8.0-cp311-cp311-win_arm64.whl", hash = "sha256:f6615412fca973a8b472b3efc4dab01df71cc13f15d8b2c0a1cffac44500f12d", size = 64955, upload-time = "2025-12-30T18:43:44.7Z" }, + { url = "https://files.pythonhosted.org/packages/2f/4f/3a16e3e8fd7e5fd86751a4f1aad218a8d19a96e75ec3989c3e95a8fe1d8f/cbor2-5.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4b3f91fa699a5ce22470e973601c62dd9d55dc3ca20ee446516ac075fcab27c9", size = 70270, upload-time = "2025-12-30T18:43:46.005Z" }, + { url = "https://files.pythonhosted.org/packages/38/81/0d0cf0796fe8081492a61c45278f03def21a929535a492dd97c8438f5dbe/cbor2-5.8.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:518c118a5e00001854adb51f3164e647aa99b6a9877d2a733a28cb5c0a4d6857", size = 286242, upload-time = "2025-12-30T18:43:47.026Z" }, + { url = "https://files.pythonhosted.org/packages/7b/a9/fdab6c10190cfb8d639e01f2b168f2406fc847a2a6bc00e7de78c3381d0a/cbor2-5.8.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cff2a1999e49cd51c23d1b6786a012127fd8f722c5946e82bd7ab3eb307443f3", size = 285412, upload-time = "2025-12-30T18:43:48.563Z" }, + { url = "https://files.pythonhosted.org/packages/31/59/746a8e630996217a3afd523f583fcf7e3d16640d63f9a03f0f4e4f74b5b1/cbor2-5.8.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4c4492160212374973cdc14e46f0565f2462721ef922b40f7ea11e7d613dfb2a", size = 278041, upload-time = "2025-12-30T18:43:49.92Z" }, + { url = "https://files.pythonhosted.org/packages/0f/a3/f3bbeb6dedd45c6e0cddd627ea790dea295eaf82c83f0e2159b733365ebd/cbor2-5.8.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:546c7c7c4c6bcdc54a59242e0e82cea8f332b17b4465ae628718fef1fce401ca", size = 278185, upload-time = "2025-12-30T18:43:51.192Z" }, + { url = "https://files.pythonhosted.org/packages/67/e5/9013d6b857ceb6cdb2851ffb5a887f53f2bab934a528c9d6fa73d9989d84/cbor2-5.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:074f0fa7535dd7fdee247c2c99f679d94f3aa058ccb1ccf4126cc72d6d89cbae", size = 69817, upload-time = "2025-12-30T18:43:52.352Z" }, + { url = "https://files.pythonhosted.org/packages/a8/ab/7aa94ba3d44ecbc3a97bdb2fb6a8298063fe2e0b611e539a6fe41e36da20/cbor2-5.8.0-cp312-cp312-win_arm64.whl", hash = "sha256:f95fed480b2a0d843f294d2a1ef4cc0f6a83c7922927f9f558e1f5a8dc54b7ca", size = 64923, upload-time = "2025-12-30T18:43:53.719Z" }, + { url = "https://files.pythonhosted.org/packages/a6/0d/5a3f20bafaefeb2c1903d961416f051c0950f0d09e7297a3aa6941596b29/cbor2-5.8.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6d8d104480845e2f28c6165b4c961bbe58d08cb5638f368375cfcae051c28015", size = 70332, upload-time = "2025-12-30T18:43:54.694Z" }, + { url = "https://files.pythonhosted.org/packages/57/66/177a3f089e69db69c987453ab4934086408c3338551e4984734597be9f80/cbor2-5.8.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:43efee947e5ab67d406d6e0dc61b5dee9d2f5e89ae176f90677a3741a20ca2e7", size = 285985, upload-time = "2025-12-30T18:43:55.733Z" }, + { url = "https://files.pythonhosted.org/packages/b7/8e/9e17b8e4ed80a2ce97e2dfa5915c169dbb31599409ddb830f514b57f96cc/cbor2-5.8.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:be7ae582f50be539e09c134966d0fd63723fc4789b8dff1f6c2e3f24ae3eaf32", size = 285173, upload-time = "2025-12-30T18:43:57.321Z" }, + { url = "https://files.pythonhosted.org/packages/cc/33/9f92e107d78f88ac22723ac15d0259d220ba98c1d855e51796317f4c4114/cbor2-5.8.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:50f5c709561a71ea7970b4cd2bf9eda4eccacc0aac212577080fdfe64183e7f5", size = 278395, upload-time = "2025-12-30T18:43:58.497Z" }, + { url = "https://files.pythonhosted.org/packages/2f/3f/46b80050a4a35ce5cf7903693864a9fdea7213567dc8faa6e25cb375c182/cbor2-5.8.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a6790ecc73aa93e76d2d9076fc42bf91a9e69f2295e5fa702e776dbe986465bd", size = 278330, upload-time = "2025-12-30T18:43:59.656Z" }, + { url = "https://files.pythonhosted.org/packages/eb/d2/d41f8c04c783a4d204e364be2d38043d4f732a3bed6f4c732e321cf34c7b/cbor2-5.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:c114af8099fa65a19a514db87ce7a06e942d8fea2730afd49be39f8e16e7f5e0", size = 69841, upload-time = "2025-12-30T18:44:01.159Z" }, + { url = "https://files.pythonhosted.org/packages/1b/8c/0397a82f6e67665009951453c83058e4c77ba54b9a9017ede56d6870306c/cbor2-5.8.0-cp313-cp313-win_arm64.whl", hash = "sha256:ab3ba00494ad8669a459b12a558448d309c271fa4f89b116ad496ee35db38fea", size = 64982, upload-time = "2025-12-30T18:44:02.138Z" }, + { url = "https://files.pythonhosted.org/packages/4b/0c/0654233d7543ac8a50f4785f172430ddc97538ba418eb305d6e529d1a120/cbor2-5.8.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:ad72381477133046ce217617d839ea4e9454f8b77d9a6351b229e214102daeb7", size = 70710, upload-time = "2025-12-30T18:44:03.209Z" }, + { url = "https://files.pythonhosted.org/packages/84/62/4671d24e557d7f5a74a01b422c538925140c0495e57decde7e566f91d029/cbor2-5.8.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6da25190fad3434ce99876b11d4ca6b8828df6ca232cf7344cd14ae1166fb718", size = 285005, upload-time = "2025-12-30T18:44:05.109Z" }, + { url = "https://files.pythonhosted.org/packages/87/85/0c67d763a08e848c9a80d7e4723ba497cce676f41bc7ca1828ae90a0a872/cbor2-5.8.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c13919e3a24c5a6d286551fa288848a4cedc3e507c58a722ccd134e461217d99", size = 282435, upload-time = "2025-12-30T18:44:06.465Z" }, + { url = "https://files.pythonhosted.org/packages/b2/01/0650972b4dbfbebcfbe37cbba7fc3cd9019a8da6397ab3446e07175e342b/cbor2-5.8.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:f8c40d32e5972047a777f9bf730870828f3cf1c43b3eb96fd0429c57a1d3b9e6", size = 277493, upload-time = "2025-12-30T18:44:07.609Z" }, + { url = "https://files.pythonhosted.org/packages/b3/6c/7704a4f32adc7f10f3b41ec067f500a4458f7606397af5e4cf2d368fd288/cbor2-5.8.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:7627894bc0b3d5d0807f31e3107e11b996205470c4429dc2bb4ef8bfe7f64e1e", size = 276085, upload-time = "2025-12-30T18:44:09.021Z" }, + { url = "https://files.pythonhosted.org/packages/88/6d/e43452347630efe8133f5304127539100d937c138c0996d27ec63963ec2c/cbor2-5.8.0-cp314-cp314-win_amd64.whl", hash = "sha256:b51c5e59becae746ca4de2bbaa8a2f5c64a68fec05cea62941b1a84a8335f7d1", size = 71657, upload-time = "2025-12-30T18:44:10.162Z" }, + { url = "https://files.pythonhosted.org/packages/8b/66/9a780ef34ab10a0437666232e885378cdd5f60197b1b5e61a62499e5a10a/cbor2-5.8.0-cp314-cp314-win_arm64.whl", hash = "sha256:53b630f4db4b9f477ad84077283dd17ecf9894738aa17ef4938c369958e02a71", size = 67171, upload-time = "2025-12-30T18:44:11.619Z" }, + { url = "https://files.pythonhosted.org/packages/6b/e6/8de57a63d7ebba14ae484346dc0447327971fa8a74cc83d1264bdb5936f0/cbor2-5.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6cda8fc407e91c4b07f1ae217332b2418096345b2f003894425bd874af445573", size = 69892, upload-time = "2025-12-30T18:44:12.612Z" }, + { url = "https://files.pythonhosted.org/packages/4e/ac/84d98df63af8930f47437e84c010a41f002e52710d84851970c86facfe48/cbor2-5.8.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f935c87350cfcccfa3499413c90d62d0591c8220932c200c2a7108737d4c96c6", size = 259771, upload-time = "2025-12-30T18:44:13.73Z" }, + { url = "https://files.pythonhosted.org/packages/18/df/b3ec7fd8a114369b670cc0068e55857eb169e4fc120d7fd216f1e85eca7a/cbor2-5.8.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8f36afff8d8527d68cabf1b13acef15a573c0864b99017e315dcbe5710cb7e6e", size = 251026, upload-time = "2025-12-30T18:44:14.971Z" }, + { url = "https://files.pythonhosted.org/packages/98/5d/0e6e9ce058b875bd91324df6c6e533a74dc216231599013a8f4633a16689/cbor2-5.8.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:d9f197a7b33c3afa44f18d16a2f823c1c020e3eb57a79cfaa0f21435e9a7f732", size = 254147, upload-time = "2025-12-30T18:44:16.512Z" }, + { url = "https://files.pythonhosted.org/packages/41/f9/4479acf99b945d95600c3e7210a0979a1bf92fccd0520b1576adf48d1a62/cbor2-5.8.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:4df31a52b20d28bf60ee35d16b2b43c2870b77c901cbc42e4151b575b20d522e", size = 245955, upload-time = "2025-12-30T18:44:17.611Z" }, + { url = "https://files.pythonhosted.org/packages/c4/e2/59a9974353633668ebf7d0fd92d7f574991fbecc1c1cf74a0211069089db/cbor2-5.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:88db454bfdfeb7c611b926e70f28d4bc37e7cbc55594141a3514cc087c8890c2", size = 69305, upload-time = "2025-12-30T18:44:19.008Z" }, + { url = "https://files.pythonhosted.org/packages/c5/67/db17f6307a019ebaa5c1f4edc1e1e552edfa96d93f0b64e7f20812afe938/cbor2-5.8.0-cp39-cp39-win_arm64.whl", hash = "sha256:b0400d2c98b3137448090cd9cfa9d3ecf1b04852328339c85025b1c3acfd8b7d", size = 64982, upload-time = "2025-12-30T18:44:20.427Z" }, + { url = "https://files.pythonhosted.org/packages/d6/4f/101071f880b4da05771128c0b89f41e334cff044dee05fb013c8f4be661c/cbor2-5.8.0-py3-none-any.whl", hash = "sha256:3727d80f539567b03a7aa11890e57798c67092c38df9e6c23abb059e0f65069c", size = 24374, upload-time = "2025-12-30T18:44:21.476Z" }, ] [[package]] -name = "cfgv" -version = "3.4.0" +name = "certifi" +version = "2026.1.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/11/74/539e56497d9bd1d484fd863dd69cbbfa653cd2aa27abfe35653494d85e94/cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560", size = 7114, upload-time = "2023-08-12T20:38:17.776Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e0/2d/a891ca51311197f6ad14a7ef42e2399f36cf2f9bd44752b3dc4eab60fdc5/certifi-2026.1.4.tar.gz", hash = "sha256:ac726dd470482006e014ad384921ed6438c457018f4b3d204aea4281258b2120", size = 154268, upload-time = "2026-01-04T02:42:41.825Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c5/55/51844dd50c4fc7a33b653bfaba4c2456f06955289ca770a5dbd5fd267374/cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9", size = 7249, upload-time = "2023-08-12T20:38:16.269Z" }, + { url = "https://files.pythonhosted.org/packages/e6/ad/3cc14f097111b4de0040c83a525973216457bbeeb63739ef1ed275c1c021/certifi-2026.1.4-py3-none-any.whl", hash = "sha256:9943707519e4add1115f44c2bc244f782c0249876bf51b6599fee1ffbedd685c", size = 152900, upload-time = "2026-01-04T02:42:40.15Z" }, ] [[package]] name = "charset-normalizer" -version = "3.4.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/83/2d/5fd176ceb9b2fc619e63405525573493ca23441330fcdaee6bef9460e924/charset_normalizer-3.4.3.tar.gz", hash = "sha256:6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14", size = 122371, upload-time = "2025-08-09T07:57:28.46Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d6/98/f3b8013223728a99b908c9344da3aa04ee6e3fa235f19409033eda92fb78/charset_normalizer-3.4.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:fb7f67a1bfa6e40b438170ebdc8158b78dc465a5a67b6dde178a46987b244a72", size = 207695, upload-time = "2025-08-09T07:55:36.452Z" }, - { url = "https://files.pythonhosted.org/packages/21/40/5188be1e3118c82dcb7c2a5ba101b783822cfb413a0268ed3be0468532de/charset_normalizer-3.4.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cc9370a2da1ac13f0153780040f465839e6cccb4a1e44810124b4e22483c93fe", size = 147153, upload-time = "2025-08-09T07:55:38.467Z" }, - { url = "https://files.pythonhosted.org/packages/37/60/5d0d74bc1e1380f0b72c327948d9c2aca14b46a9efd87604e724260f384c/charset_normalizer-3.4.3-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:07a0eae9e2787b586e129fdcbe1af6997f8d0e5abaa0bc98c0e20e124d67e601", size = 160428, upload-time = "2025-08-09T07:55:40.072Z" }, - { url = "https://files.pythonhosted.org/packages/85/9a/d891f63722d9158688de58d050c59dc3da560ea7f04f4c53e769de5140f5/charset_normalizer-3.4.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:74d77e25adda8581ffc1c720f1c81ca082921329452eba58b16233ab1842141c", size = 157627, upload-time = "2025-08-09T07:55:41.706Z" }, - { url = "https://files.pythonhosted.org/packages/65/1a/7425c952944a6521a9cfa7e675343f83fd82085b8af2b1373a2409c683dc/charset_normalizer-3.4.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d0e909868420b7049dafd3a31d45125b31143eec59235311fc4c57ea26a4acd2", size = 152388, upload-time = "2025-08-09T07:55:43.262Z" }, - { url = "https://files.pythonhosted.org/packages/f0/c9/a2c9c2a355a8594ce2446085e2ec97fd44d323c684ff32042e2a6b718e1d/charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c6f162aabe9a91a309510d74eeb6507fab5fff92337a15acbe77753d88d9dcf0", size = 150077, upload-time = "2025-08-09T07:55:44.903Z" }, - { url = "https://files.pythonhosted.org/packages/3b/38/20a1f44e4851aa1c9105d6e7110c9d020e093dfa5836d712a5f074a12bf7/charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4ca4c094de7771a98d7fbd67d9e5dbf1eb73efa4f744a730437d8a3a5cf994f0", size = 161631, upload-time = "2025-08-09T07:55:46.346Z" }, - { url = "https://files.pythonhosted.org/packages/a4/fa/384d2c0f57edad03d7bec3ebefb462090d8905b4ff5a2d2525f3bb711fac/charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:02425242e96bcf29a49711b0ca9f37e451da7c70562bc10e8ed992a5a7a25cc0", size = 159210, upload-time = "2025-08-09T07:55:47.539Z" }, - { url = "https://files.pythonhosted.org/packages/33/9e/eca49d35867ca2db336b6ca27617deed4653b97ebf45dfc21311ce473c37/charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:78deba4d8f9590fe4dae384aeff04082510a709957e968753ff3c48399f6f92a", size = 153739, upload-time = "2025-08-09T07:55:48.744Z" }, - { url = "https://files.pythonhosted.org/packages/2a/91/26c3036e62dfe8de8061182d33be5025e2424002125c9500faff74a6735e/charset_normalizer-3.4.3-cp310-cp310-win32.whl", hash = "sha256:d79c198e27580c8e958906f803e63cddb77653731be08851c7df0b1a14a8fc0f", size = 99825, upload-time = "2025-08-09T07:55:50.305Z" }, - { url = "https://files.pythonhosted.org/packages/e2/c6/f05db471f81af1fa01839d44ae2a8bfeec8d2a8b4590f16c4e7393afd323/charset_normalizer-3.4.3-cp310-cp310-win_amd64.whl", hash = "sha256:c6e490913a46fa054e03699c70019ab869e990270597018cef1d8562132c2669", size = 107452, upload-time = "2025-08-09T07:55:51.461Z" }, - { url = "https://files.pythonhosted.org/packages/7f/b5/991245018615474a60965a7c9cd2b4efbaabd16d582a5547c47ee1c7730b/charset_normalizer-3.4.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b256ee2e749283ef3ddcff51a675ff43798d92d746d1a6e4631bf8c707d22d0b", size = 204483, upload-time = "2025-08-09T07:55:53.12Z" }, - { url = "https://files.pythonhosted.org/packages/c7/2a/ae245c41c06299ec18262825c1569c5d3298fc920e4ddf56ab011b417efd/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:13faeacfe61784e2559e690fc53fa4c5ae97c6fcedb8eb6fb8d0a15b475d2c64", size = 145520, upload-time = "2025-08-09T07:55:54.712Z" }, - { url = "https://files.pythonhosted.org/packages/3a/a4/b3b6c76e7a635748c4421d2b92c7b8f90a432f98bda5082049af37ffc8e3/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:00237675befef519d9af72169d8604a067d92755e84fe76492fef5441db05b91", size = 158876, upload-time = "2025-08-09T07:55:56.024Z" }, - { url = "https://files.pythonhosted.org/packages/e2/e6/63bb0e10f90a8243c5def74b5b105b3bbbfb3e7bb753915fe333fb0c11ea/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:585f3b2a80fbd26b048a0be90c5aae8f06605d3c92615911c3a2b03a8a3b796f", size = 156083, upload-time = "2025-08-09T07:55:57.582Z" }, - { url = "https://files.pythonhosted.org/packages/87/df/b7737ff046c974b183ea9aa111b74185ac8c3a326c6262d413bd5a1b8c69/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0e78314bdc32fa80696f72fa16dc61168fda4d6a0c014e0380f9d02f0e5d8a07", size = 150295, upload-time = "2025-08-09T07:55:59.147Z" }, - { url = "https://files.pythonhosted.org/packages/61/f1/190d9977e0084d3f1dc169acd060d479bbbc71b90bf3e7bf7b9927dec3eb/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:96b2b3d1a83ad55310de8c7b4a2d04d9277d5591f40761274856635acc5fcb30", size = 148379, upload-time = "2025-08-09T07:56:00.364Z" }, - { url = "https://files.pythonhosted.org/packages/4c/92/27dbe365d34c68cfe0ca76f1edd70e8705d82b378cb54ebbaeabc2e3029d/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:939578d9d8fd4299220161fdd76e86c6a251987476f5243e8864a7844476ba14", size = 160018, upload-time = "2025-08-09T07:56:01.678Z" }, - { url = "https://files.pythonhosted.org/packages/99/04/baae2a1ea1893a01635d475b9261c889a18fd48393634b6270827869fa34/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:fd10de089bcdcd1be95a2f73dbe6254798ec1bda9f450d5828c96f93e2536b9c", size = 157430, upload-time = "2025-08-09T07:56:02.87Z" }, - { url = "https://files.pythonhosted.org/packages/2f/36/77da9c6a328c54d17b960c89eccacfab8271fdaaa228305330915b88afa9/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1e8ac75d72fa3775e0b7cb7e4629cec13b7514d928d15ef8ea06bca03ef01cae", size = 151600, upload-time = "2025-08-09T07:56:04.089Z" }, - { url = "https://files.pythonhosted.org/packages/64/d4/9eb4ff2c167edbbf08cdd28e19078bf195762e9bd63371689cab5ecd3d0d/charset_normalizer-3.4.3-cp311-cp311-win32.whl", hash = "sha256:6cf8fd4c04756b6b60146d98cd8a77d0cdae0e1ca20329da2ac85eed779b6849", size = 99616, upload-time = "2025-08-09T07:56:05.658Z" }, - { url = "https://files.pythonhosted.org/packages/f4/9c/996a4a028222e7761a96634d1820de8a744ff4327a00ada9c8942033089b/charset_normalizer-3.4.3-cp311-cp311-win_amd64.whl", hash = "sha256:31a9a6f775f9bcd865d88ee350f0ffb0e25936a7f930ca98995c05abf1faf21c", size = 107108, upload-time = "2025-08-09T07:56:07.176Z" }, - { url = "https://files.pythonhosted.org/packages/e9/5e/14c94999e418d9b87682734589404a25854d5f5d0408df68bc15b6ff54bb/charset_normalizer-3.4.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e28e334d3ff134e88989d90ba04b47d84382a828c061d0d1027b1b12a62b39b1", size = 205655, upload-time = "2025-08-09T07:56:08.475Z" }, - { url = "https://files.pythonhosted.org/packages/7d/a8/c6ec5d389672521f644505a257f50544c074cf5fc292d5390331cd6fc9c3/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0cacf8f7297b0c4fcb74227692ca46b4a5852f8f4f24b3c766dd94a1075c4884", size = 146223, upload-time = "2025-08-09T07:56:09.708Z" }, - { url = "https://files.pythonhosted.org/packages/fc/eb/a2ffb08547f4e1e5415fb69eb7db25932c52a52bed371429648db4d84fb1/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c6fd51128a41297f5409deab284fecbe5305ebd7e5a1f959bee1c054622b7018", size = 159366, upload-time = "2025-08-09T07:56:11.326Z" }, - { url = "https://files.pythonhosted.org/packages/82/10/0fd19f20c624b278dddaf83b8464dcddc2456cb4b02bb902a6da126b87a1/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3cfb2aad70f2c6debfbcb717f23b7eb55febc0bb23dcffc0f076009da10c6392", size = 157104, upload-time = "2025-08-09T07:56:13.014Z" }, - { url = "https://files.pythonhosted.org/packages/16/ab/0233c3231af734f5dfcf0844aa9582d5a1466c985bbed6cedab85af9bfe3/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1606f4a55c0fd363d754049cdf400175ee96c992b1f8018b993941f221221c5f", size = 151830, upload-time = "2025-08-09T07:56:14.428Z" }, - { url = "https://files.pythonhosted.org/packages/ae/02/e29e22b4e02839a0e4a06557b1999d0a47db3567e82989b5bb21f3fbbd9f/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:027b776c26d38b7f15b26a5da1044f376455fb3766df8fc38563b4efbc515154", size = 148854, upload-time = "2025-08-09T07:56:16.051Z" }, - { url = "https://files.pythonhosted.org/packages/05/6b/e2539a0a4be302b481e8cafb5af8792da8093b486885a1ae4d15d452bcec/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:42e5088973e56e31e4fa58eb6bd709e42fc03799c11c42929592889a2e54c491", size = 160670, upload-time = "2025-08-09T07:56:17.314Z" }, - { url = "https://files.pythonhosted.org/packages/31/e7/883ee5676a2ef217a40ce0bffcc3d0dfbf9e64cbcfbdf822c52981c3304b/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:cc34f233c9e71701040d772aa7490318673aa7164a0efe3172b2981218c26d93", size = 158501, upload-time = "2025-08-09T07:56:18.641Z" }, - { url = "https://files.pythonhosted.org/packages/c1/35/6525b21aa0db614cf8b5792d232021dca3df7f90a1944db934efa5d20bb1/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:320e8e66157cc4e247d9ddca8e21f427efc7a04bbd0ac8a9faf56583fa543f9f", size = 153173, upload-time = "2025-08-09T07:56:20.289Z" }, - { url = "https://files.pythonhosted.org/packages/50/ee/f4704bad8201de513fdc8aac1cabc87e38c5818c93857140e06e772b5892/charset_normalizer-3.4.3-cp312-cp312-win32.whl", hash = "sha256:fb6fecfd65564f208cbf0fba07f107fb661bcd1a7c389edbced3f7a493f70e37", size = 99822, upload-time = "2025-08-09T07:56:21.551Z" }, - { url = "https://files.pythonhosted.org/packages/39/f5/3b3836ca6064d0992c58c7561c6b6eee1b3892e9665d650c803bd5614522/charset_normalizer-3.4.3-cp312-cp312-win_amd64.whl", hash = "sha256:86df271bf921c2ee3818f0522e9a5b8092ca2ad8b065ece5d7d9d0e9f4849bcc", size = 107543, upload-time = "2025-08-09T07:56:23.115Z" }, - { url = "https://files.pythonhosted.org/packages/65/ca/2135ac97709b400c7654b4b764daf5c5567c2da45a30cdd20f9eefe2d658/charset_normalizer-3.4.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:14c2a87c65b351109f6abfc424cab3927b3bdece6f706e4d12faaf3d52ee5efe", size = 205326, upload-time = "2025-08-09T07:56:24.721Z" }, - { url = "https://files.pythonhosted.org/packages/71/11/98a04c3c97dd34e49c7d247083af03645ca3730809a5509443f3c37f7c99/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:41d1fc408ff5fdfb910200ec0e74abc40387bccb3252f3f27c0676731df2b2c8", size = 146008, upload-time = "2025-08-09T07:56:26.004Z" }, - { url = "https://files.pythonhosted.org/packages/60/f5/4659a4cb3c4ec146bec80c32d8bb16033752574c20b1252ee842a95d1a1e/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1bb60174149316da1c35fa5233681f7c0f9f514509b8e399ab70fea5f17e45c9", size = 159196, upload-time = "2025-08-09T07:56:27.25Z" }, - { url = "https://files.pythonhosted.org/packages/86/9e/f552f7a00611f168b9a5865a1414179b2c6de8235a4fa40189f6f79a1753/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:30d006f98569de3459c2fc1f2acde170b7b2bd265dc1943e87e1a4efe1b67c31", size = 156819, upload-time = "2025-08-09T07:56:28.515Z" }, - { url = "https://files.pythonhosted.org/packages/7e/95/42aa2156235cbc8fa61208aded06ef46111c4d3f0de233107b3f38631803/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:416175faf02e4b0810f1f38bcb54682878a4af94059a1cd63b8747244420801f", size = 151350, upload-time = "2025-08-09T07:56:29.716Z" }, - { url = "https://files.pythonhosted.org/packages/c2/a9/3865b02c56f300a6f94fc631ef54f0a8a29da74fb45a773dfd3dcd380af7/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6aab0f181c486f973bc7262a97f5aca3ee7e1437011ef0c2ec04b5a11d16c927", size = 148644, upload-time = "2025-08-09T07:56:30.984Z" }, - { url = "https://files.pythonhosted.org/packages/77/d9/cbcf1a2a5c7d7856f11e7ac2d782aec12bdfea60d104e60e0aa1c97849dc/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabf8315679312cfa71302f9bd509ded4f2f263fb5b765cf1433b39106c3cc9", size = 160468, upload-time = "2025-08-09T07:56:32.252Z" }, - { url = "https://files.pythonhosted.org/packages/f6/42/6f45efee8697b89fda4d50580f292b8f7f9306cb2971d4b53f8914e4d890/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:bd28b817ea8c70215401f657edef3a8aa83c29d447fb0b622c35403780ba11d5", size = 158187, upload-time = "2025-08-09T07:56:33.481Z" }, - { url = "https://files.pythonhosted.org/packages/70/99/f1c3bdcfaa9c45b3ce96f70b14f070411366fa19549c1d4832c935d8e2c3/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:18343b2d246dc6761a249ba1fb13f9ee9a2bcd95decc767319506056ea4ad4dc", size = 152699, upload-time = "2025-08-09T07:56:34.739Z" }, - { url = "https://files.pythonhosted.org/packages/a3/ad/b0081f2f99a4b194bcbb1934ef3b12aa4d9702ced80a37026b7607c72e58/charset_normalizer-3.4.3-cp313-cp313-win32.whl", hash = "sha256:6fb70de56f1859a3f71261cbe41005f56a7842cc348d3aeb26237560bfa5e0ce", size = 99580, upload-time = "2025-08-09T07:56:35.981Z" }, - { url = "https://files.pythonhosted.org/packages/9a/8f/ae790790c7b64f925e5c953b924aaa42a243fb778fed9e41f147b2a5715a/charset_normalizer-3.4.3-cp313-cp313-win_amd64.whl", hash = "sha256:cf1ebb7d78e1ad8ec2a8c4732c7be2e736f6e5123a4146c5b89c9d1f585f8cef", size = 107366, upload-time = "2025-08-09T07:56:37.339Z" }, - { url = "https://files.pythonhosted.org/packages/8e/91/b5a06ad970ddc7a0e513112d40113e834638f4ca1120eb727a249fb2715e/charset_normalizer-3.4.3-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3cd35b7e8aedeb9e34c41385fda4f73ba609e561faedfae0a9e75e44ac558a15", size = 204342, upload-time = "2025-08-09T07:56:38.687Z" }, - { url = "https://files.pythonhosted.org/packages/ce/ec/1edc30a377f0a02689342f214455c3f6c2fbedd896a1d2f856c002fc3062/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b89bc04de1d83006373429975f8ef9e7932534b8cc9ca582e4db7d20d91816db", size = 145995, upload-time = "2025-08-09T07:56:40.048Z" }, - { url = "https://files.pythonhosted.org/packages/17/e5/5e67ab85e6d22b04641acb5399c8684f4d37caf7558a53859f0283a650e9/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2001a39612b241dae17b4687898843f254f8748b796a2e16f1051a17078d991d", size = 158640, upload-time = "2025-08-09T07:56:41.311Z" }, - { url = "https://files.pythonhosted.org/packages/f1/e5/38421987f6c697ee3722981289d554957c4be652f963d71c5e46a262e135/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8dcfc373f888e4fb39a7bc57e93e3b845e7f462dacc008d9749568b1c4ece096", size = 156636, upload-time = "2025-08-09T07:56:43.195Z" }, - { url = "https://files.pythonhosted.org/packages/a0/e4/5a075de8daa3ec0745a9a3b54467e0c2967daaaf2cec04c845f73493e9a1/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:18b97b8404387b96cdbd30ad660f6407799126d26a39ca65729162fd810a99aa", size = 150939, upload-time = "2025-08-09T07:56:44.819Z" }, - { url = "https://files.pythonhosted.org/packages/02/f7/3611b32318b30974131db62b4043f335861d4d9b49adc6d57c1149cc49d4/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ccf600859c183d70eb47e05a44cd80a4ce77394d1ac0f79dbd2dd90a69a3a049", size = 148580, upload-time = "2025-08-09T07:56:46.684Z" }, - { url = "https://files.pythonhosted.org/packages/7e/61/19b36f4bd67f2793ab6a99b979b4e4f3d8fc754cbdffb805335df4337126/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:53cd68b185d98dde4ad8990e56a58dea83a4162161b1ea9272e5c9182ce415e0", size = 159870, upload-time = "2025-08-09T07:56:47.941Z" }, - { url = "https://files.pythonhosted.org/packages/06/57/84722eefdd338c04cf3030ada66889298eaedf3e7a30a624201e0cbe424a/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:30a96e1e1f865f78b030d65241c1ee850cdf422d869e9028e2fc1d5e4db73b92", size = 157797, upload-time = "2025-08-09T07:56:49.756Z" }, - { url = "https://files.pythonhosted.org/packages/72/2a/aff5dd112b2f14bcc3462c312dce5445806bfc8ab3a7328555da95330e4b/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d716a916938e03231e86e43782ca7878fb602a125a91e7acb8b5112e2e96ac16", size = 152224, upload-time = "2025-08-09T07:56:51.369Z" }, - { url = "https://files.pythonhosted.org/packages/b7/8c/9839225320046ed279c6e839d51f028342eb77c91c89b8ef2549f951f3ec/charset_normalizer-3.4.3-cp314-cp314-win32.whl", hash = "sha256:c6dbd0ccdda3a2ba7c2ecd9d77b37f3b5831687d8dc1b6ca5f56a4880cc7b7ce", size = 100086, upload-time = "2025-08-09T07:56:52.722Z" }, - { url = "https://files.pythonhosted.org/packages/ee/7a/36fbcf646e41f710ce0a563c1c9a343c6edf9be80786edeb15b6f62e17db/charset_normalizer-3.4.3-cp314-cp314-win_amd64.whl", hash = "sha256:73dc19b562516fc9bcf6e5d6e596df0b4eb98d87e4f79f3ae71840e6ed21361c", size = 107400, upload-time = "2025-08-09T07:56:55.172Z" }, - { url = "https://files.pythonhosted.org/packages/c2/ca/9a0983dd5c8e9733565cf3db4df2b0a2e9a82659fd8aa2a868ac6e4a991f/charset_normalizer-3.4.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:70bfc5f2c318afece2f5838ea5e4c3febada0be750fcf4775641052bbba14d05", size = 207520, upload-time = "2025-08-09T07:57:11.026Z" }, - { url = "https://files.pythonhosted.org/packages/39/c6/99271dc37243a4f925b09090493fb96c9333d7992c6187f5cfe5312008d2/charset_normalizer-3.4.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:23b6b24d74478dc833444cbd927c338349d6ae852ba53a0d02a2de1fce45b96e", size = 147307, upload-time = "2025-08-09T07:57:12.4Z" }, - { url = "https://files.pythonhosted.org/packages/e4/69/132eab043356bba06eb333cc2cc60c6340857d0a2e4ca6dc2b51312886b3/charset_normalizer-3.4.3-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:34a7f768e3f985abdb42841e20e17b330ad3aaf4bb7e7aeeb73db2e70f077b99", size = 160448, upload-time = "2025-08-09T07:57:13.712Z" }, - { url = "https://files.pythonhosted.org/packages/04/9a/914d294daa4809c57667b77470533e65def9c0be1ef8b4c1183a99170e9d/charset_normalizer-3.4.3-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:fb731e5deb0c7ef82d698b0f4c5bb724633ee2a489401594c5c88b02e6cb15f7", size = 157758, upload-time = "2025-08-09T07:57:14.979Z" }, - { url = "https://files.pythonhosted.org/packages/b0/a8/6f5bcf1bcf63cb45625f7c5cadca026121ff8a6c8a3256d8d8cd59302663/charset_normalizer-3.4.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:257f26fed7d7ff59921b78244f3cd93ed2af1800ff048c33f624c87475819dd7", size = 152487, upload-time = "2025-08-09T07:57:16.332Z" }, - { url = "https://files.pythonhosted.org/packages/c4/72/d3d0e9592f4e504f9dea08b8db270821c909558c353dc3b457ed2509f2fb/charset_normalizer-3.4.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1ef99f0456d3d46a50945c98de1774da86f8e992ab5c77865ea8b8195341fc19", size = 150054, upload-time = "2025-08-09T07:57:17.576Z" }, - { url = "https://files.pythonhosted.org/packages/20/30/5f64fe3981677fe63fa987b80e6c01042eb5ff653ff7cec1b7bd9268e54e/charset_normalizer-3.4.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:2c322db9c8c89009a990ef07c3bcc9f011a3269bc06782f916cd3d9eed7c9312", size = 161703, upload-time = "2025-08-09T07:57:20.012Z" }, - { url = "https://files.pythonhosted.org/packages/e1/ef/dd08b2cac9284fd59e70f7d97382c33a3d0a926e45b15fc21b3308324ffd/charset_normalizer-3.4.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:511729f456829ef86ac41ca78c63a5cb55240ed23b4b737faca0eb1abb1c41bc", size = 159096, upload-time = "2025-08-09T07:57:21.329Z" }, - { url = "https://files.pythonhosted.org/packages/45/8c/dcef87cfc2b3f002a6478f38906f9040302c68aebe21468090e39cde1445/charset_normalizer-3.4.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:88ab34806dea0671532d3f82d82b85e8fc23d7b2dd12fa837978dad9bb392a34", size = 153852, upload-time = "2025-08-09T07:57:22.608Z" }, - { url = "https://files.pythonhosted.org/packages/63/86/9cbd533bd37883d467fcd1bd491b3547a3532d0fbb46de2b99feeebf185e/charset_normalizer-3.4.3-cp39-cp39-win32.whl", hash = "sha256:16a8770207946ac75703458e2c743631c79c59c5890c80011d536248f8eaa432", size = 99840, upload-time = "2025-08-09T07:57:23.883Z" }, - { url = "https://files.pythonhosted.org/packages/ce/d6/7e805c8e5c46ff9729c49950acc4ee0aeb55efb8b3a56687658ad10c3216/charset_normalizer-3.4.3-cp39-cp39-win_amd64.whl", hash = "sha256:d22dbedd33326a4a5190dd4fe9e9e693ef12160c77382d9e87919bce54f3d4ca", size = 107438, upload-time = "2025-08-09T07:57:25.287Z" }, - { url = "https://files.pythonhosted.org/packages/8a/1f/f041989e93b001bc4e44bb1669ccdcf54d3f00e628229a85b08d330615c5/charset_normalizer-3.4.3-py3-none-any.whl", hash = "sha256:ce571ab16d890d23b5c278547ba694193a45011ff86a9162a71307ed9f86759a", size = 53175, upload-time = "2025-08-09T07:57:26.864Z" }, +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" }, + { url = "https://files.pythonhosted.org/packages/62/8b/171935adf2312cd745d290ed93cf16cf0dfe320863ab7cbeeae1dcd6535f/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8ef3c867360f88ac904fd3f5e1f902f13307af9052646963ee08ff4f131adafc", size = 160863, upload-time = "2025-10-14T04:40:37.188Z" }, + { url = "https://files.pythonhosted.org/packages/09/73/ad875b192bda14f2173bfc1bc9a55e009808484a4b256748d931b6948442/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d9e45d7faa48ee908174d8fe84854479ef838fc6a705c9315372eacbc2f02897", size = 157837, upload-time = "2025-10-14T04:40:38.435Z" }, + { url = "https://files.pythonhosted.org/packages/6d/fc/de9cce525b2c5b94b47c70a4b4fb19f871b24995c728e957ee68ab1671ea/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:840c25fb618a231545cbab0564a799f101b63b9901f2569faecd6b222ac72381", size = 151550, upload-time = "2025-10-14T04:40:40.053Z" }, + { url = "https://files.pythonhosted.org/packages/55/c2/43edd615fdfba8c6f2dfbd459b25a6b3b551f24ea21981e23fb768503ce1/charset_normalizer-3.4.4-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ca5862d5b3928c4940729dacc329aa9102900382fea192fc5e52eb69d6093815", size = 149162, upload-time = "2025-10-14T04:40:41.163Z" }, + { url = "https://files.pythonhosted.org/packages/03/86/bde4ad8b4d0e9429a4e82c1e8f5c659993a9a863ad62c7df05cf7b678d75/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d9c7f57c3d666a53421049053eaacdd14bbd0a528e2186fcb2e672effd053bb0", size = 150019, upload-time = "2025-10-14T04:40:42.276Z" }, + { url = "https://files.pythonhosted.org/packages/1f/86/a151eb2af293a7e7bac3a739b81072585ce36ccfb4493039f49f1d3cae8c/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:277e970e750505ed74c832b4bf75dac7476262ee2a013f5574dd49075879e161", size = 143310, upload-time = "2025-10-14T04:40:43.439Z" }, + { url = "https://files.pythonhosted.org/packages/b5/fe/43dae6144a7e07b87478fdfc4dbe9efd5defb0e7ec29f5f58a55aeef7bf7/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:31fd66405eaf47bb62e8cd575dc621c56c668f27d46a61d975a249930dd5e2a4", size = 162022, upload-time = "2025-10-14T04:40:44.547Z" }, + { url = "https://files.pythonhosted.org/packages/80/e6/7aab83774f5d2bca81f42ac58d04caf44f0cc2b65fc6db2b3b2e8a05f3b3/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:0d3d8f15c07f86e9ff82319b3d9ef6f4bf907608f53fe9d92b28ea9ae3d1fd89", size = 149383, upload-time = "2025-10-14T04:40:46.018Z" }, + { url = "https://files.pythonhosted.org/packages/4f/e8/b289173b4edae05c0dde07f69f8db476a0b511eac556dfe0d6bda3c43384/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:9f7fcd74d410a36883701fafa2482a6af2ff5ba96b9a620e9e0721e28ead5569", size = 159098, upload-time = "2025-10-14T04:40:47.081Z" }, + { url = "https://files.pythonhosted.org/packages/d8/df/fe699727754cae3f8478493c7f45f777b17c3ef0600e28abfec8619eb49c/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ebf3e58c7ec8a8bed6d66a75d7fb37b55e5015b03ceae72a8e7c74495551e224", size = 152991, upload-time = "2025-10-14T04:40:48.246Z" }, + { url = "https://files.pythonhosted.org/packages/1a/86/584869fe4ddb6ffa3bd9f491b87a01568797fb9bd8933f557dba9771beaf/charset_normalizer-3.4.4-cp311-cp311-win32.whl", hash = "sha256:eecbc200c7fd5ddb9a7f16c7decb07b566c29fa2161a16cf67b8d068bd21690a", size = 99456, upload-time = "2025-10-14T04:40:49.376Z" }, + { url = "https://files.pythonhosted.org/packages/65/f6/62fdd5feb60530f50f7e38b4f6a1d5203f4d16ff4f9f0952962c044e919a/charset_normalizer-3.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:5ae497466c7901d54b639cf42d5b8c1b6a4fead55215500d2f486d34db48d016", size = 106978, upload-time = "2025-10-14T04:40:50.844Z" }, + { url = "https://files.pythonhosted.org/packages/7a/9d/0710916e6c82948b3be62d9d398cb4fcf4e97b56d6a6aeccd66c4b2f2bd5/charset_normalizer-3.4.4-cp311-cp311-win_arm64.whl", hash = "sha256:65e2befcd84bc6f37095f5961e68a6f077bf44946771354a28ad434c2cce0ae1", size = 99969, upload-time = "2025-10-14T04:40:52.272Z" }, + { url = "https://files.pythonhosted.org/packages/f3/85/1637cd4af66fa687396e757dec650f28025f2a2f5a5531a3208dc0ec43f2/charset_normalizer-3.4.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0a98e6759f854bd25a58a73fa88833fba3b7c491169f86ce1180c948ab3fd394", size = 208425, upload-time = "2025-10-14T04:40:53.353Z" }, + { url = "https://files.pythonhosted.org/packages/9d/6a/04130023fef2a0d9c62d0bae2649b69f7b7d8d24ea5536feef50551029df/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b5b290ccc2a263e8d185130284f8501e3e36c5e02750fc6b6bdeb2e9e96f1e25", size = 148162, upload-time = "2025-10-14T04:40:54.558Z" }, + { url = "https://files.pythonhosted.org/packages/78/29/62328d79aa60da22c9e0b9a66539feae06ca0f5a4171ac4f7dc285b83688/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74bb723680f9f7a6234dcf67aea57e708ec1fbdf5699fb91dfd6f511b0a320ef", size = 144558, upload-time = "2025-10-14T04:40:55.677Z" }, + { url = "https://files.pythonhosted.org/packages/86/bb/b32194a4bf15b88403537c2e120b817c61cd4ecffa9b6876e941c3ee38fe/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f1e34719c6ed0b92f418c7c780480b26b5d9c50349e9a9af7d76bf757530350d", size = 161497, upload-time = "2025-10-14T04:40:57.217Z" }, + { url = "https://files.pythonhosted.org/packages/19/89/a54c82b253d5b9b111dc74aca196ba5ccfcca8242d0fb64146d4d3183ff1/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2437418e20515acec67d86e12bf70056a33abdacb5cb1655042f6538d6b085a8", size = 159240, upload-time = "2025-10-14T04:40:58.358Z" }, + { url = "https://files.pythonhosted.org/packages/c0/10/d20b513afe03acc89ec33948320a5544d31f21b05368436d580dec4e234d/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:11d694519d7f29d6cd09f6ac70028dba10f92f6cdd059096db198c283794ac86", size = 153471, upload-time = "2025-10-14T04:40:59.468Z" }, + { url = "https://files.pythonhosted.org/packages/61/fa/fbf177b55bdd727010f9c0a3c49eefa1d10f960e5f09d1d887bf93c2e698/charset_normalizer-3.4.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ac1c4a689edcc530fc9d9aa11f5774b9e2f33f9a0c6a57864e90908f5208d30a", size = 150864, upload-time = "2025-10-14T04:41:00.623Z" }, + { url = "https://files.pythonhosted.org/packages/05/12/9fbc6a4d39c0198adeebbde20b619790e9236557ca59fc40e0e3cebe6f40/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:21d142cc6c0ec30d2efee5068ca36c128a30b0f2c53c1c07bd78cb6bc1d3be5f", size = 150647, upload-time = "2025-10-14T04:41:01.754Z" }, + { url = "https://files.pythonhosted.org/packages/ad/1f/6a9a593d52e3e8c5d2b167daf8c6b968808efb57ef4c210acb907c365bc4/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:5dbe56a36425d26d6cfb40ce79c314a2e4dd6211d51d6d2191c00bed34f354cc", size = 145110, upload-time = "2025-10-14T04:41:03.231Z" }, + { url = "https://files.pythonhosted.org/packages/30/42/9a52c609e72471b0fc54386dc63c3781a387bb4fe61c20231a4ebcd58bdd/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5bfbb1b9acf3334612667b61bd3002196fe2a1eb4dd74d247e0f2a4d50ec9bbf", size = 162839, upload-time = "2025-10-14T04:41:04.715Z" }, + { url = "https://files.pythonhosted.org/packages/c4/5b/c0682bbf9f11597073052628ddd38344a3d673fda35a36773f7d19344b23/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:d055ec1e26e441f6187acf818b73564e6e6282709e9bcb5b63f5b23068356a15", size = 150667, upload-time = "2025-10-14T04:41:05.827Z" }, + { url = "https://files.pythonhosted.org/packages/e4/24/a41afeab6f990cf2daf6cb8c67419b63b48cf518e4f56022230840c9bfb2/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:af2d8c67d8e573d6de5bc30cdb27e9b95e49115cd9baad5ddbd1a6207aaa82a9", size = 160535, upload-time = "2025-10-14T04:41:06.938Z" }, + { url = "https://files.pythonhosted.org/packages/2a/e5/6a4ce77ed243c4a50a1fecca6aaaab419628c818a49434be428fe24c9957/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:780236ac706e66881f3b7f2f32dfe90507a09e67d1d454c762cf642e6e1586e0", size = 154816, upload-time = "2025-10-14T04:41:08.101Z" }, + { url = "https://files.pythonhosted.org/packages/a8/ef/89297262b8092b312d29cdb2517cb1237e51db8ecef2e9af5edbe7b683b1/charset_normalizer-3.4.4-cp312-cp312-win32.whl", hash = "sha256:5833d2c39d8896e4e19b689ffc198f08ea58116bee26dea51e362ecc7cd3ed26", size = 99694, upload-time = "2025-10-14T04:41:09.23Z" }, + { url = "https://files.pythonhosted.org/packages/3d/2d/1e5ed9dd3b3803994c155cd9aacb60c82c331bad84daf75bcb9c91b3295e/charset_normalizer-3.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:a79cfe37875f822425b89a82333404539ae63dbdddf97f84dcbc3d339aae9525", size = 107131, upload-time = "2025-10-14T04:41:10.467Z" }, + { url = "https://files.pythonhosted.org/packages/d0/d9/0ed4c7098a861482a7b6a95603edce4c0d9db2311af23da1fb2b75ec26fc/charset_normalizer-3.4.4-cp312-cp312-win_arm64.whl", hash = "sha256:376bec83a63b8021bb5c8ea75e21c4ccb86e7e45ca4eb81146091b56599b80c3", size = 100390, upload-time = "2025-10-14T04:41:11.915Z" }, + { url = "https://files.pythonhosted.org/packages/97/45/4b3a1239bbacd321068ea6e7ac28875b03ab8bc0aa0966452db17cd36714/charset_normalizer-3.4.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e1f185f86a6f3403aa2420e815904c67b2f9ebc443f045edd0de921108345794", size = 208091, upload-time = "2025-10-14T04:41:13.346Z" }, + { url = "https://files.pythonhosted.org/packages/7d/62/73a6d7450829655a35bb88a88fca7d736f9882a27eacdca2c6d505b57e2e/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b39f987ae8ccdf0d2642338faf2abb1862340facc796048b604ef14919e55ed", size = 147936, upload-time = "2025-10-14T04:41:14.461Z" }, + { url = "https://files.pythonhosted.org/packages/89/c5/adb8c8b3d6625bef6d88b251bbb0d95f8205831b987631ab0c8bb5d937c2/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3162d5d8ce1bb98dd51af660f2121c55d0fa541b46dff7bb9b9f86ea1d87de72", size = 144180, upload-time = "2025-10-14T04:41:15.588Z" }, + { url = "https://files.pythonhosted.org/packages/91/ed/9706e4070682d1cc219050b6048bfd293ccf67b3d4f5a4f39207453d4b99/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:81d5eb2a312700f4ecaa977a8235b634ce853200e828fbadf3a9c50bab278328", size = 161346, upload-time = "2025-10-14T04:41:16.738Z" }, + { url = "https://files.pythonhosted.org/packages/d5/0d/031f0d95e4972901a2f6f09ef055751805ff541511dc1252ba3ca1f80cf5/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5bd2293095d766545ec1a8f612559f6b40abc0eb18bb2f5d1171872d34036ede", size = 158874, upload-time = "2025-10-14T04:41:17.923Z" }, + { url = "https://files.pythonhosted.org/packages/f5/83/6ab5883f57c9c801ce5e5677242328aa45592be8a00644310a008d04f922/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a8a8b89589086a25749f471e6a900d3f662d1d3b6e2e59dcecf787b1cc3a1894", size = 153076, upload-time = "2025-10-14T04:41:19.106Z" }, + { url = "https://files.pythonhosted.org/packages/75/1e/5ff781ddf5260e387d6419959ee89ef13878229732732ee73cdae01800f2/charset_normalizer-3.4.4-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc7637e2f80d8530ee4a78e878bce464f70087ce73cf7c1caf142416923b98f1", size = 150601, upload-time = "2025-10-14T04:41:20.245Z" }, + { url = "https://files.pythonhosted.org/packages/d7/57/71be810965493d3510a6ca79b90c19e48696fb1ff964da319334b12677f0/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f8bf04158c6b607d747e93949aa60618b61312fe647a6369f88ce2ff16043490", size = 150376, upload-time = "2025-10-14T04:41:21.398Z" }, + { url = "https://files.pythonhosted.org/packages/e5/d5/c3d057a78c181d007014feb7e9f2e65905a6c4ef182c0ddf0de2924edd65/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:554af85e960429cf30784dd47447d5125aaa3b99a6f0683589dbd27e2f45da44", size = 144825, upload-time = "2025-10-14T04:41:22.583Z" }, + { url = "https://files.pythonhosted.org/packages/e6/8c/d0406294828d4976f275ffbe66f00266c4b3136b7506941d87c00cab5272/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:74018750915ee7ad843a774364e13a3db91682f26142baddf775342c3f5b1133", size = 162583, upload-time = "2025-10-14T04:41:23.754Z" }, + { url = "https://files.pythonhosted.org/packages/d7/24/e2aa1f18c8f15c4c0e932d9287b8609dd30ad56dbe41d926bd846e22fb8d/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c0463276121fdee9c49b98908b3a89c39be45d86d1dbaa22957e38f6321d4ce3", size = 150366, upload-time = "2025-10-14T04:41:25.27Z" }, + { url = "https://files.pythonhosted.org/packages/e4/5b/1e6160c7739aad1e2df054300cc618b06bf784a7a164b0f238360721ab86/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:362d61fd13843997c1c446760ef36f240cf81d3ebf74ac62652aebaf7838561e", size = 160300, upload-time = "2025-10-14T04:41:26.725Z" }, + { url = "https://files.pythonhosted.org/packages/7a/10/f882167cd207fbdd743e55534d5d9620e095089d176d55cb22d5322f2afd/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9a26f18905b8dd5d685d6d07b0cdf98a79f3c7a918906af7cc143ea2e164c8bc", size = 154465, upload-time = "2025-10-14T04:41:28.322Z" }, + { url = "https://files.pythonhosted.org/packages/89/66/c7a9e1b7429be72123441bfdbaf2bc13faab3f90b933f664db506dea5915/charset_normalizer-3.4.4-cp313-cp313-win32.whl", hash = "sha256:9b35f4c90079ff2e2edc5b26c0c77925e5d2d255c42c74fdb70fb49b172726ac", size = 99404, upload-time = "2025-10-14T04:41:29.95Z" }, + { url = "https://files.pythonhosted.org/packages/c4/26/b9924fa27db384bdcd97ab83b4f0a8058d96ad9626ead570674d5e737d90/charset_normalizer-3.4.4-cp313-cp313-win_amd64.whl", hash = "sha256:b435cba5f4f750aa6c0a0d92c541fb79f69a387c91e61f1795227e4ed9cece14", size = 107092, upload-time = "2025-10-14T04:41:31.188Z" }, + { url = "https://files.pythonhosted.org/packages/af/8f/3ed4bfa0c0c72a7ca17f0380cd9e4dd842b09f664e780c13cff1dcf2ef1b/charset_normalizer-3.4.4-cp313-cp313-win_arm64.whl", hash = "sha256:542d2cee80be6f80247095cc36c418f7bddd14f4a6de45af91dfad36d817bba2", size = 100408, upload-time = "2025-10-14T04:41:32.624Z" }, + { url = "https://files.pythonhosted.org/packages/2a/35/7051599bd493e62411d6ede36fd5af83a38f37c4767b92884df7301db25d/charset_normalizer-3.4.4-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:da3326d9e65ef63a817ecbcc0df6e94463713b754fe293eaa03da99befb9a5bd", size = 207746, upload-time = "2025-10-14T04:41:33.773Z" }, + { url = "https://files.pythonhosted.org/packages/10/9a/97c8d48ef10d6cd4fcead2415523221624bf58bcf68a802721a6bc807c8f/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8af65f14dc14a79b924524b1e7fffe304517b2bff5a58bf64f30b98bbc5079eb", size = 147889, upload-time = "2025-10-14T04:41:34.897Z" }, + { url = "https://files.pythonhosted.org/packages/10/bf/979224a919a1b606c82bd2c5fa49b5c6d5727aa47b4312bb27b1734f53cd/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74664978bb272435107de04e36db5a9735e78232b85b77d45cfb38f758efd33e", size = 143641, upload-time = "2025-10-14T04:41:36.116Z" }, + { url = "https://files.pythonhosted.org/packages/ba/33/0ad65587441fc730dc7bd90e9716b30b4702dc7b617e6ba4997dc8651495/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:752944c7ffbfdd10c074dc58ec2d5a8a4cd9493b314d367c14d24c17684ddd14", size = 160779, upload-time = "2025-10-14T04:41:37.229Z" }, + { url = "https://files.pythonhosted.org/packages/67/ed/331d6b249259ee71ddea93f6f2f0a56cfebd46938bde6fcc6f7b9a3d0e09/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d1f13550535ad8cff21b8d757a3257963e951d96e20ec82ab44bc64aeb62a191", size = 159035, upload-time = "2025-10-14T04:41:38.368Z" }, + { url = "https://files.pythonhosted.org/packages/67/ff/f6b948ca32e4f2a4576aa129d8bed61f2e0543bf9f5f2b7fc3758ed005c9/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ecaae4149d99b1c9e7b88bb03e3221956f68fd6d50be2ef061b2381b61d20838", size = 152542, upload-time = "2025-10-14T04:41:39.862Z" }, + { url = "https://files.pythonhosted.org/packages/16/85/276033dcbcc369eb176594de22728541a925b2632f9716428c851b149e83/charset_normalizer-3.4.4-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:cb6254dc36b47a990e59e1068afacdcd02958bdcce30bb50cc1700a8b9d624a6", size = 149524, upload-time = "2025-10-14T04:41:41.319Z" }, + { url = "https://files.pythonhosted.org/packages/9e/f2/6a2a1f722b6aba37050e626530a46a68f74e63683947a8acff92569f979a/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c8ae8a0f02f57a6e61203a31428fa1d677cbe50c93622b4149d5c0f319c1d19e", size = 150395, upload-time = "2025-10-14T04:41:42.539Z" }, + { url = "https://files.pythonhosted.org/packages/60/bb/2186cb2f2bbaea6338cad15ce23a67f9b0672929744381e28b0592676824/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:47cc91b2f4dd2833fddaedd2893006b0106129d4b94fdb6af1f4ce5a9965577c", size = 143680, upload-time = "2025-10-14T04:41:43.661Z" }, + { url = "https://files.pythonhosted.org/packages/7d/a5/bf6f13b772fbb2a90360eb620d52ed8f796f3c5caee8398c3b2eb7b1c60d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:82004af6c302b5d3ab2cfc4cc5f29db16123b1a8417f2e25f9066f91d4411090", size = 162045, upload-time = "2025-10-14T04:41:44.821Z" }, + { url = "https://files.pythonhosted.org/packages/df/c5/d1be898bf0dc3ef9030c3825e5d3b83f2c528d207d246cbabe245966808d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:2b7d8f6c26245217bd2ad053761201e9f9680f8ce52f0fcd8d0755aeae5b2152", size = 149687, upload-time = "2025-10-14T04:41:46.442Z" }, + { url = "https://files.pythonhosted.org/packages/a5/42/90c1f7b9341eef50c8a1cb3f098ac43b0508413f33affd762855f67a410e/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:799a7a5e4fb2d5898c60b640fd4981d6a25f1c11790935a44ce38c54e985f828", size = 160014, upload-time = "2025-10-14T04:41:47.631Z" }, + { url = "https://files.pythonhosted.org/packages/76/be/4d3ee471e8145d12795ab655ece37baed0929462a86e72372fd25859047c/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:99ae2cffebb06e6c22bdc25801d7b30f503cc87dbd283479e7b606f70aff57ec", size = 154044, upload-time = "2025-10-14T04:41:48.81Z" }, + { url = "https://files.pythonhosted.org/packages/b0/6f/8f7af07237c34a1defe7defc565a9bc1807762f672c0fde711a4b22bf9c0/charset_normalizer-3.4.4-cp314-cp314-win32.whl", hash = "sha256:f9d332f8c2a2fcbffe1378594431458ddbef721c1769d78e2cbc06280d8155f9", size = 99940, upload-time = "2025-10-14T04:41:49.946Z" }, + { url = "https://files.pythonhosted.org/packages/4b/51/8ade005e5ca5b0d80fb4aff72a3775b325bdc3d27408c8113811a7cbe640/charset_normalizer-3.4.4-cp314-cp314-win_amd64.whl", hash = "sha256:8a6562c3700cce886c5be75ade4a5db4214fda19fede41d9792d100288d8f94c", size = 107104, upload-time = "2025-10-14T04:41:51.051Z" }, + { url = "https://files.pythonhosted.org/packages/da/5f/6b8f83a55bb8278772c5ae54a577f3099025f9ade59d0136ac24a0df4bde/charset_normalizer-3.4.4-cp314-cp314-win_arm64.whl", hash = "sha256:de00632ca48df9daf77a2c65a484531649261ec9f25489917f09e455cb09ddb2", size = 100743, upload-time = "2025-10-14T04:41:52.122Z" }, + { url = "https://files.pythonhosted.org/packages/0a/4e/3926a1c11f0433791985727965263f788af00db3482d89a7545ca5ecc921/charset_normalizer-3.4.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ce8a0633f41a967713a59c4139d29110c07e826d131a316b50ce11b1d79b4f84", size = 198599, upload-time = "2025-10-14T04:41:53.213Z" }, + { url = "https://files.pythonhosted.org/packages/ec/7c/b92d1d1dcffc34592e71ea19c882b6709e43d20fa498042dea8b815638d7/charset_normalizer-3.4.4-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eaabd426fe94daf8fd157c32e571c85cb12e66692f15516a83a03264b08d06c3", size = 143090, upload-time = "2025-10-14T04:41:54.385Z" }, + { url = "https://files.pythonhosted.org/packages/84/ce/61a28d3bb77281eb24107b937a497f3c43089326d27832a63dcedaab0478/charset_normalizer-3.4.4-cp38-cp38-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c4ef880e27901b6cc782f1b95f82da9313c0eb95c3af699103088fa0ac3ce9ac", size = 139490, upload-time = "2025-10-14T04:41:55.551Z" }, + { url = "https://files.pythonhosted.org/packages/c0/bd/c9e59a91b2061c6f8bb98a150670cb16d4cd7c4ba7d11ad0cdf789155f41/charset_normalizer-3.4.4-cp38-cp38-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2aaba3b0819274cc41757a1da876f810a3e4d7b6eb25699253a4effef9e8e4af", size = 155334, upload-time = "2025-10-14T04:41:56.724Z" }, + { url = "https://files.pythonhosted.org/packages/bf/37/f17ae176a80f22ff823456af91ba3bc59df308154ff53aef0d39eb3d3419/charset_normalizer-3.4.4-cp38-cp38-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:778d2e08eda00f4256d7f672ca9fef386071c9202f5e4607920b86d7803387f2", size = 152823, upload-time = "2025-10-14T04:41:58.236Z" }, + { url = "https://files.pythonhosted.org/packages/bf/fa/cf5bb2409a385f78750e78c8d2e24780964976acdaaed65dbd6083ae5b40/charset_normalizer-3.4.4-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f155a433c2ec037d4e8df17d18922c3a0d9b3232a396690f17175d2946f0218d", size = 147618, upload-time = "2025-10-14T04:41:59.409Z" }, + { url = "https://files.pythonhosted.org/packages/9b/63/579784a65bc7de2d4518d40bb8f1870900163e86f17f21fd1384318c459d/charset_normalizer-3.4.4-cp38-cp38-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a8bf8d0f749c5757af2142fe7903a9df1d2e8aa3841559b2bad34b08d0e2bcf3", size = 145516, upload-time = "2025-10-14T04:42:00.579Z" }, + { url = "https://files.pythonhosted.org/packages/a3/a9/94ec6266cd394e8f93a4d69cca651d61bf6ac58d2a0422163b30c698f2c7/charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:194f08cbb32dc406d6e1aea671a68be0823673db2832b38405deba2fb0d88f63", size = 145266, upload-time = "2025-10-14T04:42:01.684Z" }, + { url = "https://files.pythonhosted.org/packages/09/14/d6626eb97764b58c2779fa7928fa7d1a49adb8ce687c2dbba4db003c1939/charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_armv7l.whl", hash = "sha256:6aee717dcfead04c6eb1ce3bd29ac1e22663cdea57f943c87d1eab9a025438d7", size = 139559, upload-time = "2025-10-14T04:42:02.902Z" }, + { url = "https://files.pythonhosted.org/packages/09/01/ddbe6b01313ba191dbb0a43c7563bc770f2448c18127f9ea4b119c44dff0/charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:cd4b7ca9984e5e7985c12bc60a6f173f3c958eae74f3ef6624bb6b26e2abbae4", size = 156653, upload-time = "2025-10-14T04:42:04.005Z" }, + { url = "https://files.pythonhosted.org/packages/95/c8/d05543378bea89296e9af4510b44c704626e191da447235c8fdedfc5b7b2/charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_riscv64.whl", hash = "sha256:b7cf1017d601aa35e6bb650b6ad28652c9cd78ee6caff19f3c28d03e1c80acbf", size = 145644, upload-time = "2025-10-14T04:42:05.211Z" }, + { url = "https://files.pythonhosted.org/packages/72/01/2866c4377998ef8a1f6802f6431e774a4c8ebe75b0a6e569ceec55c9cbfb/charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:e912091979546adf63357d7e2ccff9b44f026c075aeaf25a52d0e95ad2281074", size = 153964, upload-time = "2025-10-14T04:42:06.341Z" }, + { url = "https://files.pythonhosted.org/packages/4a/66/66c72468a737b4cbd7851ba2c522fe35c600575fbeac944460b4fd4a06fe/charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:5cb4d72eea50c8868f5288b7f7f33ed276118325c1dfd3957089f6b519e1382a", size = 148777, upload-time = "2025-10-14T04:42:07.535Z" }, + { url = "https://files.pythonhosted.org/packages/50/94/d0d56677fdddbffa8ca00ec411f67bb8c947f9876374ddc9d160d4f2c4b3/charset_normalizer-3.4.4-cp38-cp38-win32.whl", hash = "sha256:837c2ce8c5a65a2035be9b3569c684358dfbf109fd3b6969630a87535495ceaa", size = 98687, upload-time = "2025-10-14T04:42:08.678Z" }, + { url = "https://files.pythonhosted.org/packages/00/64/c3bc303d1b586480b1c8e6e1e2191a6d6dd40255244e5cf16763dcec52e6/charset_normalizer-3.4.4-cp38-cp38-win_amd64.whl", hash = "sha256:44c2a8734b333e0578090c4cd6b16f275e07aa6614ca8715e6c038e865e70576", size = 106115, upload-time = "2025-10-14T04:42:09.793Z" }, + { url = "https://files.pythonhosted.org/packages/46/7c/0c4760bccf082737ca7ab84a4c2034fcc06b1f21cf3032ea98bd6feb1725/charset_normalizer-3.4.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a9768c477b9d7bd54bc0c86dbaebdec6f03306675526c9927c0e8a04e8f94af9", size = 209609, upload-time = "2025-10-14T04:42:10.922Z" }, + { url = "https://files.pythonhosted.org/packages/bb/a4/69719daef2f3d7f1819de60c9a6be981b8eeead7542d5ec4440f3c80e111/charset_normalizer-3.4.4-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1bee1e43c28aa63cb16e5c14e582580546b08e535299b8b6158a7c9c768a1f3d", size = 149029, upload-time = "2025-10-14T04:42:12.38Z" }, + { url = "https://files.pythonhosted.org/packages/e6/21/8d4e1d6c1e6070d3672908b8e4533a71b5b53e71d16828cc24d0efec564c/charset_normalizer-3.4.4-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:fd44c878ea55ba351104cb93cc85e74916eb8fa440ca7903e57575e97394f608", size = 144580, upload-time = "2025-10-14T04:42:13.549Z" }, + { url = "https://files.pythonhosted.org/packages/a7/0a/a616d001b3f25647a9068e0b9199f697ce507ec898cacb06a0d5a1617c99/charset_normalizer-3.4.4-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0f04b14ffe5fdc8c4933862d8306109a2c51e0704acfa35d51598eb45a1e89fc", size = 162340, upload-time = "2025-10-14T04:42:14.892Z" }, + { url = "https://files.pythonhosted.org/packages/85/93/060b52deb249a5450460e0585c88a904a83aec474ab8e7aba787f45e79f2/charset_normalizer-3.4.4-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:cd09d08005f958f370f539f186d10aec3377d55b9eeb0d796025d4886119d76e", size = 159619, upload-time = "2025-10-14T04:42:16.676Z" }, + { url = "https://files.pythonhosted.org/packages/dd/21/0274deb1cc0632cd587a9a0ec6b4674d9108e461cb4cd40d457adaeb0564/charset_normalizer-3.4.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4fe7859a4e3e8457458e2ff592f15ccb02f3da787fcd31e0183879c3ad4692a1", size = 153980, upload-time = "2025-10-14T04:42:17.917Z" }, + { url = "https://files.pythonhosted.org/packages/28/2b/e3d7d982858dccc11b31906976323d790dded2017a0572f093ff982d692f/charset_normalizer-3.4.4-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fa09f53c465e532f4d3db095e0c55b615f010ad81803d383195b6b5ca6cbf5f3", size = 152174, upload-time = "2025-10-14T04:42:19.018Z" }, + { url = "https://files.pythonhosted.org/packages/6e/ff/4a269f8e35f1e58b2df52c131a1fa019acb7ef3f8697b7d464b07e9b492d/charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:7fa17817dc5625de8a027cb8b26d9fefa3ea28c8253929b8d6649e705d2835b6", size = 151666, upload-time = "2025-10-14T04:42:20.171Z" }, + { url = "https://files.pythonhosted.org/packages/da/c9/ec39870f0b330d58486001dd8e532c6b9a905f5765f58a6f8204926b4a93/charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:5947809c8a2417be3267efc979c47d76a079758166f7d43ef5ae8e9f92751f88", size = 145550, upload-time = "2025-10-14T04:42:21.324Z" }, + { url = "https://files.pythonhosted.org/packages/75/8f/d186ab99e40e0ed9f82f033d6e49001701c81244d01905dd4a6924191a30/charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:4902828217069c3c5c71094537a8e623f5d097858ac6ca8252f7b4d10b7560f1", size = 163721, upload-time = "2025-10-14T04:42:22.46Z" }, + { url = "https://files.pythonhosted.org/packages/96/b1/6047663b9744df26a7e479ac1e77af7134b1fcf9026243bb48ee2d18810f/charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:7c308f7e26e4363d79df40ca5b2be1c6ba9f02bdbccfed5abddb7859a6ce72cf", size = 152127, upload-time = "2025-10-14T04:42:23.712Z" }, + { url = "https://files.pythonhosted.org/packages/59/78/e5a6eac9179f24f704d1be67d08704c3c6ab9f00963963524be27c18ed87/charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:2c9d3c380143a1fedbff95a312aa798578371eb29da42106a29019368a475318", size = 161175, upload-time = "2025-10-14T04:42:24.87Z" }, + { url = "https://files.pythonhosted.org/packages/e5/43/0e626e42d54dd2f8dd6fc5e1c5ff00f05fbca17cb699bedead2cae69c62f/charset_normalizer-3.4.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:cb01158d8b88ee68f15949894ccc6712278243d95f344770fa7593fa2d94410c", size = 155375, upload-time = "2025-10-14T04:42:27.246Z" }, + { url = "https://files.pythonhosted.org/packages/e9/91/d9615bf2e06f35e4997616ff31248c3657ed649c5ab9d35ea12fce54e380/charset_normalizer-3.4.4-cp39-cp39-win32.whl", hash = "sha256:2677acec1a2f8ef614c6888b5b4ae4060cc184174a938ed4e8ef690e15d3e505", size = 99692, upload-time = "2025-10-14T04:42:28.425Z" }, + { url = "https://files.pythonhosted.org/packages/d1/a9/6c040053909d9d1ef4fcab45fddec083aedc9052c10078339b47c8573ea8/charset_normalizer-3.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:f8e160feb2aed042cd657a72acc0b481212ed28b1b9a95c0cee1621b524e1966", size = 107192, upload-time = "2025-10-14T04:42:29.482Z" }, + { url = "https://files.pythonhosted.org/packages/f0/c6/4fa536b2c0cd3edfb7ccf8469fa0f363ea67b7213a842b90909ca33dd851/charset_normalizer-3.4.4-cp39-cp39-win_arm64.whl", hash = "sha256:b5d84d37db046c5ca74ee7bb47dd6cbc13f80665fdde3e8040bdd3fb015ecb50", size = 100220, upload-time = "2025-10-14T04:42:30.632Z" }, + { url = "https://files.pythonhosted.org/packages/0a/4c/925909008ed5a988ccbb72dcc897407e5d6d3bd72410d69e051fc0c14647/charset_normalizer-3.4.4-py3-none-any.whl", hash = "sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f", size = 53402, upload-time = "2025-10-14T04:42:31.76Z" }, ] [[package]] name = "ckzg" -version = "2.1.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/55/df/f6db8e83bd4594c1ea685cd37fb81d5399e55765aae16d1a8a9502598f4e/ckzg-2.1.1.tar.gz", hash = "sha256:d6b306b7ec93a24e4346aa53d07f7f75053bc0afc7398e35fa649e5f9d48fcc4", size = 1120500, upload-time = "2025-03-31T21:24:12.324Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/33/4b/cd25e857cdf46a752e97c530fe2582fae77c4d16c29fff5a15b7a998e2fd/ckzg-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4b9825a1458219e8b4b023012b8ef027ef1f47e903f9541cbca4615f80132730", size = 116377, upload-time = "2025-03-31T21:22:26.952Z" }, - { url = "https://files.pythonhosted.org/packages/7e/bc/5dfef36589545f797245ecacb54ed2acfa75507f63cfe12182d1277a88f1/ckzg-2.1.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e2a40a3ba65cca4b52825d26829e6f7eb464aa27a9e9efb6b8b2ce183442c741", size = 100208, upload-time = "2025-03-31T21:22:28.04Z" }, - { url = "https://files.pythonhosted.org/packages/b7/52/96f0e3affbed321dc52b9b4ca13e0fb594da572d1f8edc47378fe48d8e9a/ckzg-2.1.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a1d753fbe85be7c21602eddc2d40e0915e25fce10329f4f801a0002a4f886cc7", size = 174800, upload-time = "2025-03-31T21:22:29.719Z" }, - { url = "https://files.pythonhosted.org/packages/dc/21/b1bc07cc8e5ed32817e89b054e2399d38775d92ff2d55e24bf233f537c02/ckzg-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9d76b50527f1d12430bf118aff6fa4051e9860eada43f29177258b8d399448ea", size = 160847, upload-time = "2025-03-31T21:22:30.973Z" }, - { url = "https://files.pythonhosted.org/packages/c9/5a/97b173d4ff9bce798031beb12b340c4f1729eaaddd07f69f368f843db28e/ckzg-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44c8603e43c021d100f355f50189183135d1df3cbbddb8881552d57fbf421dde", size = 169712, upload-time = "2025-03-31T21:22:31.881Z" }, - { url = "https://files.pythonhosted.org/packages/7b/52/48be78c07f362438e189e2fbea7df8543290c3ee99845442549c8dc5405b/ckzg-2.1.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:38707a638c9d715b3c30b29352b969f78d8fc10faed7db5faf517f04359895c0", size = 172942, upload-time = "2025-03-31T21:22:32.8Z" }, - { url = "https://files.pythonhosted.org/packages/13/42/3cfcd6cbdfb9030b9071d5e413a458f93883e47ad4a7d8d4c1d57608e57d/ckzg-2.1.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:52c4d257bdcbe822d20c5cd24c8154ec5aac33c49a8f5a19e716d9107a1c8785", size = 187707, upload-time = "2025-03-31T21:22:33.673Z" }, - { url = "https://files.pythonhosted.org/packages/eb/54/d43bc3a2de486fb8be29ffedc3ec80f5726765ee4fa78beabe2ab2440f93/ckzg-2.1.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1507f7bfb9bcf51d816db5d8d0f0ed53c8289605137820d437b69daea8333e16", size = 182505, upload-time = "2025-03-31T21:22:34.563Z" }, - { url = "https://files.pythonhosted.org/packages/21/43/5bcd2b7630732b532006572fbb8d64a29f69530c630ae4811167a2a0dc3b/ckzg-2.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:d02eaaf4f841910133552b3a051dea53bcfe60cd98199fc4cf80b27609d8baa2", size = 98822, upload-time = "2025-03-31T21:22:35.786Z" }, - { url = "https://files.pythonhosted.org/packages/95/2c/44120b2d9dcb0246d67a1f28b9eaa625c499014d4d42561467e28eedd285/ckzg-2.1.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:465e2b71cf9dc383f66f1979269420a0da9274a3a9e98b1a4455e84927dfe491", size = 116378, upload-time = "2025-03-31T21:22:36.96Z" }, - { url = "https://files.pythonhosted.org/packages/23/88/c5b89ba9a730fee5e089be9e0c7048fb6707c1a0e4b6c30fcf725c3eef44/ckzg-2.1.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ee2f26f17a64ad0aab833d637b276f28486b82a29e34f32cf54b237b8f8ab72d", size = 100202, upload-time = "2025-03-31T21:22:37.799Z" }, - { url = "https://files.pythonhosted.org/packages/ee/11/b0a473e80346db52ad9a629bc9fd8f773c718ed78932ea3a70392306ffc3/ckzg-2.1.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99cc2c4e9fb8c62e3e0862c7f4df9142f07ba640da17fded5f6e0fd09f75909f", size = 175595, upload-time = "2025-03-31T21:22:39.013Z" }, - { url = "https://files.pythonhosted.org/packages/52/fa/17a7e125d07a96dd6dce4db7262231f7583856b2be5d5b7df59e04bfa188/ckzg-2.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:773dd016693d74aca1f5d7982db2bad7dde2e147563aeb16a783f7e5f69c01fe", size = 161681, upload-time = "2025-03-31T21:22:40.257Z" }, - { url = "https://files.pythonhosted.org/packages/57/bd/46d6b90bf53da732f9adab7593d132a0834ed4f2f7659b4c7414d8f78d39/ckzg-2.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0af2b2144f87ba218d8db01382a961b3ecbdde5ede4fa0d9428d35f8c8a595ba", size = 170471, upload-time = "2025-03-31T21:22:41.513Z" }, - { url = "https://files.pythonhosted.org/packages/9d/98/113c7704749d037d75f23240ffc5c46dfe8416de574b946438587835715f/ckzg-2.1.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8f55e63d3f7c934a2cb53728ed1d815479e177aca8c84efe991c2920977cff6", size = 173595, upload-time = "2025-03-31T21:22:42.534Z" }, - { url = "https://files.pythonhosted.org/packages/2f/d5/05fca6dcb5a19327be491157794eafc3d7498daf615c2ff5a5b745852945/ckzg-2.1.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ecb42aaa0ffa427ff14a9dde9356ba69e5ae6014650b397af55b31bdae7a9b6e", size = 188417, upload-time = "2025-03-31T21:22:43.466Z" }, - { url = "https://files.pythonhosted.org/packages/72/36/131ae2dfc82d0fdc98fae8e3bbfe71ff14265bb434b23bd07b585afc6d61/ckzg-2.1.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:5a01514239f12fb1a7ad9009c20062a4496e13b09541c1a65f97e295da648c70", size = 183286, upload-time = "2025-03-31T21:22:44.732Z" }, - { url = "https://files.pythonhosted.org/packages/c5/6a/d371b27024422b25228fc11fa57b1ba7756a94cc9fb0c75da292c235fdaa/ckzg-2.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:6516b9684aae262c85cf7fddd8b585b8139ad20e08ec03994e219663abbb0916", size = 98819, upload-time = "2025-03-31T21:22:45.57Z" }, - { url = "https://files.pythonhosted.org/packages/93/a1/9c07513dd0ea01e5db727e67bd2660f3b300a4511281cdb8d5e04afa1cfd/ckzg-2.1.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c60e8903344ce98ce036f0fabacce952abb714cad4607198b2f0961c28b8aa72", size = 116421, upload-time = "2025-03-31T21:22:46.434Z" }, - { url = "https://files.pythonhosted.org/packages/27/04/b69a0dfbb2722a14c98a52973f276679151ec56a14178cb48e6f2e1697bc/ckzg-2.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a4299149dd72448e5a8d2d1cc6cc7472c92fc9d9f00b1377f5b017c089d9cd92", size = 100216, upload-time = "2025-03-31T21:22:47.633Z" }, - { url = "https://files.pythonhosted.org/packages/2e/24/9cc850d0b8ead395ad5064de67c7c91adacaf31b6b35292ab53fbd93270b/ckzg-2.1.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:025dd31ffdcc799f3ff842570a2a6683b6c5b01567da0109c0c05d11768729c4", size = 175764, upload-time = "2025-03-31T21:22:48.768Z" }, - { url = "https://files.pythonhosted.org/packages/c0/c1/eb13ba399082a98b932f10b230ec08e6456051c0ce3886b3f6d8548d11ab/ckzg-2.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9b42ab8385c273f40a693657c09d2bba40cb4f4666141e263906ba2e519e80bd", size = 161885, upload-time = "2025-03-31T21:22:50.05Z" }, - { url = "https://files.pythonhosted.org/packages/57/c7/58baa64199781950c5a8c6139a46e1acff0f057a36e56769817400eb87fb/ckzg-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1be3890fc1543f4fcfc0063e4baf5c036eb14bcf736dabdc6171ab017e0f1671", size = 170757, upload-time = "2025-03-31T21:22:51.282Z" }, - { url = "https://files.pythonhosted.org/packages/65/bd/4b8e1c70972c98829371b7004dc750a45268c5d3442d602e1b62f13ca867/ckzg-2.1.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b754210ded172968b201e2d7252573af6bf52d6ad127ddd13d0b9a45a51dae7b", size = 173761, upload-time = "2025-03-31T21:22:52.6Z" }, - { url = "https://files.pythonhosted.org/packages/1f/32/c3fd1002f97ba3e0c5b1d9ab2c8fb7a6f475fa9b80ed9c4fa55975501a54/ckzg-2.1.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b2f8fda87865897a269c4e951e3826c2e814427a6cdfed6731cccfe548f12b36", size = 188666, upload-time = "2025-03-31T21:22:53.47Z" }, - { url = "https://files.pythonhosted.org/packages/e2/d9/91cf5a8169ee60c9397c975163cbca34432571f94facec5f8c0086bb47d8/ckzg-2.1.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:98e70b5923d77c7359432490145e9d1ab0bf873eb5de56ec53f4a551d7eaec79", size = 183652, upload-time = "2025-03-31T21:22:54.351Z" }, - { url = "https://files.pythonhosted.org/packages/25/d4/8c9f6b852f99926862344b29f0c59681916ccfec2ac60a85952a369e0bca/ckzg-2.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:42af7bde4ca45469cd93a96c3d15d69d51d40e7f0d30e3a20711ebd639465fcb", size = 98816, upload-time = "2025-03-31T21:22:55.23Z" }, - { url = "https://files.pythonhosted.org/packages/b7/9a/fa698b12e97452d11dd314e0335aae759725284ef6e1c1665aed56b1cd3e/ckzg-2.1.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7e4edfdaf87825ff43b9885fabfdea408737a714f4ce5467100d9d1d0a03b673", size = 116426, upload-time = "2025-03-31T21:22:56.108Z" }, - { url = "https://files.pythonhosted.org/packages/a1/a6/8cccd308bd11b49b40eecad6900b5769da117951cac33e880dd25e851ef7/ckzg-2.1.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:815fd2a87d6d6c57d669fda30c150bc9bf387d47e67d84535aa42b909fdc28ea", size = 100219, upload-time = "2025-03-31T21:22:56.982Z" }, - { url = "https://files.pythonhosted.org/packages/30/0e/63573d816c1292b9a4d70eb6a7366b3593d29a977794039e926805a76ca0/ckzg-2.1.1-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c32466e809b1ab3ff01d3b0bb0b9912f61dcf72957885615595f75e3f7cc10e5", size = 175725, upload-time = "2025-03-31T21:22:58.213Z" }, - { url = "https://files.pythonhosted.org/packages/86/f6/a279609516695ad3fb8b201098c669ba3b2844cbf4fa0d83a0f02b9bb29b/ckzg-2.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f11b73ccf37b12993f39a7dbace159c6d580aacacde6ee17282848476550ddbc", size = 161835, upload-time = "2025-03-31T21:22:59.448Z" }, - { url = "https://files.pythonhosted.org/packages/39/e4/8cf7aef7dc05a777cb221e94046f947c6fe5317159a8dae2cd7090d52ef2/ckzg-2.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de3b9433a1f2604bd9ac1646d3c83ad84a850d454d3ac589fe8e70c94b38a6b0", size = 170759, upload-time = "2025-03-31T21:23:01.022Z" }, - { url = "https://files.pythonhosted.org/packages/0b/17/b34e3c08eb36bc67e338b114f289b2595e581b8bdc09a8f12299a1db5d2f/ckzg-2.1.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b7d7e1b5ea06234558cd95c483666fd785a629b720a7f1622b3cbffebdc62033", size = 173787, upload-time = "2025-03-31T21:23:01.974Z" }, - { url = "https://files.pythonhosted.org/packages/2e/f0/aff87c3ed80713453cb6c84fe6fbb7582d86a7a5e4460fda2a497d47f489/ckzg-2.1.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:9f5556e6675866040cc4335907be6c537051e7f668da289fa660fdd8a30c9ddb", size = 188722, upload-time = "2025-03-31T21:23:02.966Z" }, - { url = "https://files.pythonhosted.org/packages/44/d9/1f08bfb8fd1cbb8c7513e7ad3fb76bbb5c3fb446238c1eba582276e4d905/ckzg-2.1.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:55b2ba30c5c9daac0c55f1aac851f1b7bf1f7aa0028c2db4440e963dd5b866d6", size = 183686, upload-time = "2025-03-31T21:23:03.905Z" }, - { url = "https://files.pythonhosted.org/packages/a3/ff/434f6d2893cbdfad00c20d17e9a52d426ca042f5e980d5c3db96bc6b6e15/ckzg-2.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:10d201601fc8f28c0e8cec3406676797024dd374c367bbeec5a7a9eac9147237", size = 98817, upload-time = "2025-03-31T21:23:05.2Z" }, - { url = "https://files.pythonhosted.org/packages/1b/5c/348df69b5ad6e80818333d485db1bc64338d36c3f8e07be23df2e6108da5/ckzg-2.1.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a6239d3d2e30cb894ca4e7765b1097eb6a70c0ecbe5f8e0b023fbf059472d4ac", size = 116376, upload-time = "2025-03-31T21:23:31.67Z" }, - { url = "https://files.pythonhosted.org/packages/20/db/940ad5d88ea647ba18c83dc3bb403e4df0f20699efcb833d3d899e9c8ad5/ckzg-2.1.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:909ebabc253a98d9dc1d51f93dc75990134bfe296c947e1ecf3b7142aba5108e", size = 100206, upload-time = "2025-03-31T21:23:32.674Z" }, - { url = "https://files.pythonhosted.org/packages/14/99/db2b546a7392e4007c6395aa0bfaf4a8eed88797ce6706ad9f05391af734/ckzg-2.1.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0700dace6559b288b42ca8622be89c2a43509881ed6f4f0bfb6312bcceed0cb9", size = 174513, upload-time = "2025-03-31T21:23:33.642Z" }, - { url = "https://files.pythonhosted.org/packages/37/58/b5cc822b8fb52819498211a6e0e03a294ad73d589f620f10e998e998c1f8/ckzg-2.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a36aeabd243e906314694b4a107de99b0c4473ff1825fcb06acd147ffb1951a", size = 160543, upload-time = "2025-03-31T21:23:34.603Z" }, - { url = "https://files.pythonhosted.org/packages/41/ac/fd07ed3ed65f640f1f43203fe3798d8d6e5099535bcd60d14d8c52569253/ckzg-2.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d884e8f9c7d7839f1a95561f4479096dce21d45b0c5dd013dc0842550cea1cad", size = 169482, upload-time = "2025-03-31T21:23:35.649Z" }, - { url = "https://files.pythonhosted.org/packages/e3/18/c1afdf65ce6ef1de2556dacad9286ec9af4c2bbf3037aaac3f4428d65486/ckzg-2.1.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:338fdf4a0b463973fc7b7e4dc289739db929e61d7cb9ba984ebbe9c49d3aa6f9", size = 172712, upload-time = "2025-03-31T21:23:36.75Z" }, - { url = "https://files.pythonhosted.org/packages/ac/a4/d24f1bf48889dbfd3c5a8aad54956971592cebb5d782fb0597cd4226de7c/ckzg-2.1.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:c594036d3408eebdcd8ab2c7aab7308239ed4df3d94f3211b7cf253f228fb0b7", size = 187476, upload-time = "2025-03-31T21:23:37.71Z" }, - { url = "https://files.pythonhosted.org/packages/33/cb/46770cf49665154a88dfc17e9e904270279153d1e28addf04a1d9e73047a/ckzg-2.1.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b0912ebb328ced510250a2325b095917db19c1a014792a0bf4c389f0493e39de", size = 182266, upload-time = "2025-03-31T21:23:38.694Z" }, - { url = "https://files.pythonhosted.org/packages/29/36/13d59af38f4f316b1824131d3b88c85deacbb89304a247b4a7da39d1b592/ckzg-2.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:5046aceb03482ddf7200f2f5c643787b100e6fb96919852faf1c79f8870c80a1", size = 98812, upload-time = "2025-03-31T21:23:39.714Z" }, - { url = "https://files.pythonhosted.org/packages/30/b3/a0c7d7ba6e669cf04605dc0329173db62fc1fe3c488761755cc01e5e1b4d/ckzg-2.1.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:375918e25eafb9bafe5215ab91698504cba3fe51b4fe92f5896af6c5663f50c6", size = 113191, upload-time = "2025-03-31T21:23:40.646Z" }, - { url = "https://files.pythonhosted.org/packages/f2/b9/a6cf403b8528d18d7d9154e28381a397bf466c86aa8e0b3327cffdde5749/ckzg-2.1.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:38b3b7802c76d4ad015db2b7a79a49c193babae50ee5f77e9ac2865c9e9ddb09", size = 96207, upload-time = "2025-03-31T21:23:41.596Z" }, - { url = "https://files.pythonhosted.org/packages/63/6b/5ddd713d97886becb8450e3e13db891199125f722366d30d087ad5438390/ckzg-2.1.1-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:438a5009fd254ace0bc1ad974d524547f1a41e6aa5e778c5cd41f4ee3106bcd6", size = 126160, upload-time = "2025-03-31T21:23:42.553Z" }, - { url = "https://files.pythonhosted.org/packages/c7/dd/e05aecc01e62108a7579f8df5e5d38536841f50e12172f8a84677edac0fa/ckzg-2.1.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ce11cc163a2e0dab3af7455aca7053f9d5bb8d157f231acc7665fd230565d48", size = 102811, upload-time = "2025-03-31T21:23:43.494Z" }, - { url = "https://files.pythonhosted.org/packages/c6/81/6cdadd8626ac11290af3f58ae5dcffe38bd2c8f8c798dacee7475e244aac/ckzg-2.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b53964c07f6a076e97eaa1ef35045e935d7040aff14f80bae7e9105717702d05", size = 111328, upload-time = "2025-03-31T21:23:44.449Z" }, - { url = "https://files.pythonhosted.org/packages/36/b7/b129ff6955cd264c6ab3dbd52dd1b2759d1b121c09c03f9991e4c722c72f/ckzg-2.1.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:cf085f15ae52ab2599c9b5a3d5842794bcf5613b7f58661fbfb0c5d9eac988b9", size = 98846, upload-time = "2025-03-31T21:23:45.407Z" }, - { url = "https://files.pythonhosted.org/packages/7f/ba/7d9c1f9cec7e0e382653c72165896194a05743e589b1dae2aa80236aa87f/ckzg-2.1.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:4b0c850bd6cad22ac79b2a2ab884e0e7cd2b54a67d643cd616c145ebdb535a11", size = 113188, upload-time = "2025-03-31T21:23:46.337Z" }, - { url = "https://files.pythonhosted.org/packages/2f/92/9728f5ccc1c5e87c6c5ae7941250a447b61fd5a63aadbc15249e29c21bcf/ckzg-2.1.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:26951f36bb60c9150bbd38110f5e1625596f9779dad54d1d492d8ec38bc84e3a", size = 96208, upload-time = "2025-03-31T21:23:47.255Z" }, - { url = "https://files.pythonhosted.org/packages/39/63/5e27d587bd224fee70cb66b022e7c4ef95d0e091e08ee76c25ec12094b0d/ckzg-2.1.1-pp311-pypy311_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bbe12445e49c4bee67746b7b958e90a973b0de116d0390749b0df351d94e9a8c", size = 126158, upload-time = "2025-03-31T21:23:48.195Z" }, - { url = "https://files.pythonhosted.org/packages/43/98/e0a45946575a7b823d8ee0b47afb104b6017e54e1208f07da2529bc01900/ckzg-2.1.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71c5d4f66f09de4a99271acac74d2acb3559a77de77a366b34a91e99e8822667", size = 102812, upload-time = "2025-03-31T21:23:49.16Z" }, - { url = "https://files.pythonhosted.org/packages/cb/50/718ca7b03e4b89b18cdf99cc3038050105b0acbf9b612c23cd513093c6de/ckzg-2.1.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42673c1d007372a4e8b48f6ef8f0ce31a9688a463317a98539757d1e2fb1ecc7", size = 111327, upload-time = "2025-03-31T21:23:50.126Z" }, - { url = "https://files.pythonhosted.org/packages/29/c5/80e5a0c6967d02d801150104320484a258e5a49bd191e198643e74039320/ckzg-2.1.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:57a7dc41ec6b69c1d9117eb61cf001295e6b4f67a736020442e71fb4367fb1a5", size = 98847, upload-time = "2025-03-31T21:23:51.084Z" }, - { url = "https://files.pythonhosted.org/packages/b9/2d/7dc4c2b8e18d3bb103d7d4c1b2ff00ec29136f54a08e18bf50378c4b44a3/ckzg-2.1.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fa419b92a0e8766deb7157fb28b6542c1c3f8dde35d2a69d1f91ec8e41047d35", size = 113189, upload-time = "2025-03-31T21:24:03.881Z" }, - { url = "https://files.pythonhosted.org/packages/50/86/e335697434ac138286dedf88f3b3fe7aee81bcb849b7498377913e24cfe0/ckzg-2.1.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:95cd6c8eb3ab5148cd97ab5bf44b84fd7f01adf4b36ffd070340ad2d9309b3f9", size = 96204, upload-time = "2025-03-31T21:24:05.247Z" }, - { url = "https://files.pythonhosted.org/packages/0b/87/3794355e4ccb617896b10ac81349913bc086b9c18c9cc94f1f6493f5c98f/ckzg-2.1.1-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:848191201052b48bdde18680ebb77bf8da99989270e5aea8b0290051f5ac9468", size = 126154, upload-time = "2025-03-31T21:24:06.585Z" }, - { url = "https://files.pythonhosted.org/packages/aa/d6/46f3d1c423b5a0ca6e31a2ca4a052407254bd7173ab32c7c4485d3febb61/ckzg-2.1.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d4716c0564131b0d609fb8856966e83892b9809cf6719c7edd6495b960451f8b", size = 102810, upload-time = "2025-03-31T21:24:07.796Z" }, - { url = "https://files.pythonhosted.org/packages/84/22/6ab6886275615340b2e0c7bbce6b81fc127995e373d86956b73775c9209e/ckzg-2.1.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c399168ba199827dee3104b00cdc7418d4dbdf47a5fcbe7cf938fc928037534", size = 111322, upload-time = "2025-03-31T21:24:09.439Z" }, - { url = "https://files.pythonhosted.org/packages/c2/0d/24a434f52c38b2050b693f247657424325de7cc686d152a2208ba3949721/ckzg-2.1.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:724f29f9f110d9ef42a6a1a1a7439548c61070604055ef96b2ab7a884cad4192", size = 98844, upload-time = "2025-03-31T21:24:10.846Z" }, +version = "2.1.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b1/e8/b262fff67d6bcaecd19c71d19ebea9184a1204e00368664e1544a2511bd8/ckzg-2.1.5.tar.gz", hash = "sha256:e48e092f9b89ebb6aaa195de2e2bb72ad2d4b35c87d3a15e4545f13c51fbbe30", size = 1123745, upload-time = "2025-09-30T19:09:13.391Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9b/47/c52e96b5c3476524c24a8ac99002590b0dc700618e8c9ed52bfcba1acda7/ckzg-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:49ee4c830de89764bfd9e8188446f3020f14d32bd4486fcbc5a4a5afad775ac0", size = 116307, upload-time = "2025-09-30T19:07:35.486Z" }, + { url = "https://files.pythonhosted.org/packages/b5/71/a136af12f4354cd7533f52f0b5df75431824926b5cbeb5160684a1390ae9/ckzg-2.1.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3b4f0c6c2f1a629d4d64e900c65633595c63d208001d588c61b6c8bc1b189dec", size = 99814, upload-time = "2025-09-30T19:07:36.882Z" }, + { url = "https://files.pythonhosted.org/packages/91/55/92ccf278a120de2f8433044bc591615165336ff297ae2c3ba723572c23be/ckzg-2.1.5-cp310-cp310-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:10c8bc524267a40fe7c4fabd4c23f131ea18fcabd6016cdc4ddcb95cc757faf5", size = 179522, upload-time = "2025-11-06T21:05:26.357Z" }, + { url = "https://files.pythonhosted.org/packages/e5/bd/381970acf6b2425923b1f5ce01194330f88997584dedfd7fdba699fd1109/ckzg-2.1.5-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8ea589e60db460ee9ebb678f20e74cc9289e912ccad66693b3263459933aaffc", size = 165174, upload-time = "2025-11-06T21:05:28.723Z" }, + { url = "https://files.pythonhosted.org/packages/fe/9b/d5cb656245b239fe7d326670094ecbe16b123f15cbc095fcc9f795523505/ckzg-2.1.5-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:97769b53f7d8c46e794d5c8aa609a4c00ec1fb050e69b6833b45dbb23a7b6501", size = 174752, upload-time = "2025-11-06T21:05:29.846Z" }, + { url = "https://files.pythonhosted.org/packages/4a/9d/97f403cb2c93abcb9f522a3b575cfd0ee9961398e23967e4ff5570844186/ckzg-2.1.5-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a45aaea4a42babea48bb27e387fb209f2aaaaaa16abea25a4a92a056b616f9af", size = 175697, upload-time = "2025-09-30T19:07:37.688Z" }, + { url = "https://files.pythonhosted.org/packages/79/45/a5a414672a1daba079e43e4fb2b11d53a681b0934475f4eb32cb7babf633/ckzg-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:060562273057911c39a1491e9b76055c095c10cfff1704ed70011e38b53f83d8", size = 160993, upload-time = "2025-09-30T19:07:38.561Z" }, + { url = "https://files.pythonhosted.org/packages/6f/4b/54eb12939012294b47e5b112c1298f4fdbdbfded213926e5d404c4eae8dc/ckzg-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f12a90277b17e1cb5c326c5c261dad2ebb14a7136e754593e3a0a92c94799fc1", size = 170357, upload-time = "2025-09-30T19:07:39.77Z" }, + { url = "https://files.pythonhosted.org/packages/fc/24/6b202537c55b713a794b27f23749e569c7e4f4b9e204226edb49d5e622e1/ckzg-2.1.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:084f284d842b0a51befb2b595bf45c9c623ee3713c12500ceee9dcd05b24d14d", size = 172736, upload-time = "2025-09-30T19:07:40.635Z" }, + { url = "https://files.pythonhosted.org/packages/53/53/df9bd835bab4edc7c030f5fc97285109d917753146d06da0a49d4982764e/ckzg-2.1.5-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:7d42760b353c5d4a0f0d70a3161c1db75e22f4529fad4cef2228be1b8cd2d579", size = 187984, upload-time = "2025-09-30T19:07:41.752Z" }, + { url = "https://files.pythonhosted.org/packages/f9/b6/2a319f43ceae927217949a266a9794a427aeaebcdd463fadcf3f7297ed6c/ckzg-2.1.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0c547c0c61d2087f70170898948cad4d0e4583a7e25b24fdf247a426066b47bc", size = 182390, upload-time = "2025-09-30T19:07:42.579Z" }, + { url = "https://files.pythonhosted.org/packages/c8/a5/48aaa7d84f061ec1ed0c6a20306304cc4186d3191b388c33e47548eda309/ckzg-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:2b7ef12896e2afff613f058e3bc8e3478ff626ae8a6f2d3200950304a536935f", size = 100964, upload-time = "2025-09-30T19:07:43.42Z" }, + { url = "https://files.pythonhosted.org/packages/1e/32/d82185ecd05a91d1a35229c587eac9c518b30693c4c983ffde37e1f5a1a2/ckzg-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cead4ba760a49eaa4d7a50a0483aad9727d6103fc00c408aef15f2cd8f8dec7b", size = 116304, upload-time = "2025-09-30T19:07:44.531Z" }, + { url = "https://files.pythonhosted.org/packages/94/a7/d22f813e032a7380f758d437348d791e8609a5c8ef2bd3654201f85a0047/ckzg-2.1.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3156983ba598fa05f0136325125e75197e4cf24ded255aaa6ace068cede92932", size = 99811, upload-time = "2025-09-30T19:07:45.311Z" }, + { url = "https://files.pythonhosted.org/packages/9e/2d/96259b64512ab9876ec3d32527148179ce02d2b052974c80435316444f21/ckzg-2.1.5-cp311-cp311-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:cac601a9690f133dd9d8e85f7a96578496427d42cdea771e0e07785b1cbbe9dc", size = 180251, upload-time = "2025-11-06T21:05:31.241Z" }, + { url = "https://files.pythonhosted.org/packages/e0/b0/020bf03e7b276775aa5d8a90605dfa6b4f23f2ae515142aa788389e6b68f/ckzg-2.1.5-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:05860f1477880376106a6934becdcb3a2c6330fc2386fed0d7e8f3b0ce5df81c", size = 165942, upload-time = "2025-11-06T21:05:32.634Z" }, + { url = "https://files.pythonhosted.org/packages/8b/56/01c8633366e61ab10c7fbc15b918a0ebec8108c711a250a13c6950e5e892/ckzg-2.1.5-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:92b18b0ec177b9e2b4238936a8bffcfdaee7626a58f8d0c7c2ac554b8a05c9b6", size = 175509, upload-time = "2025-11-06T21:05:33.847Z" }, + { url = "https://files.pythonhosted.org/packages/41/62/82ee6852a629bd9a783fb7787bcc2ee6e8c00c26b4ceb821a17484081760/ckzg-2.1.5-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d05e2c9466b2a4214dc19da35ea4cae636e033f3434768b982d37317a0f9c520", size = 176458, upload-time = "2025-09-30T19:07:46.433Z" }, + { url = "https://files.pythonhosted.org/packages/6d/00/5c68bb77f12eab6ba464f3955263e515ae988ddfc4bc57023b54b60feda0/ckzg-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c754bbc253cfce8814d633f135be4891e6f83a50125f418fee01323ba306f59a", size = 161841, upload-time = "2025-09-30T19:07:47.261Z" }, + { url = "https://files.pythonhosted.org/packages/42/b3/c75079d270a7895ba6b5a95f86674d5c95f2f7e0db03328f1b21dc9a90eb/ckzg-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2b766d4aed52c8c717322f2af935da0b916bf59fbba771adb822499b45e491", size = 171101, upload-time = "2025-09-30T19:07:48.471Z" }, + { url = "https://files.pythonhosted.org/packages/63/bf/81c533231f3bdc0029a0ec8abef9c24b2eaf929a044a77c15b6da54b91dc/ckzg-2.1.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:dd7a296475baa5f20b5e7972448d4cb2f44d00b920d680de756c90c512af1c3b", size = 173403, upload-time = "2025-09-30T19:07:49.288Z" }, + { url = "https://files.pythonhosted.org/packages/58/6e/bbfd04b25185c6371020dd1f1c3eb0557e36878ad6cdd78a1ea2bb47d8df/ckzg-2.1.5-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:97d3e93b3d94031fbd376005d86bf9b2c230ecfb4a4f4ced3b06b4aeefae6c9f", size = 188738, upload-time = "2025-09-30T19:07:50.64Z" }, + { url = "https://files.pythonhosted.org/packages/3c/83/ab3cd495a2b37b72b4d886276b3669f101c4927b1d54b7e528aa537362ab/ckzg-2.1.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3d2d35ba937f002b72a9a168696d0073a8e5912fa7058e77a06c370b86586401", size = 183202, upload-time = "2025-09-30T19:07:51.544Z" }, + { url = "https://files.pythonhosted.org/packages/19/37/4ad60c2879b5e6988337b776f580b7aacb40ae6c05ef264e9835bed35e80/ckzg-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:ce2047071353ee099d44aa6575974648663204eb9b42354bfa5ac6f9b8fb63e9", size = 100965, upload-time = "2025-09-30T19:07:52.437Z" }, + { url = "https://files.pythonhosted.org/packages/dd/9f/3ef8acd201e4d098af6bc368991ac1469a5390399abd1e78307fffb65218/ckzg-2.1.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:edead535bd9afef27b8650bba09659debd4f52638aee5ec1ab7d2c9d7e86953c", size = 116333, upload-time = "2025-09-30T19:07:53.223Z" }, + { url = "https://files.pythonhosted.org/packages/25/c2/202947c143336185180216a4939296d824cbffca4e1438d0fe696daf1904/ckzg-2.1.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:dc78622855de3d47767cdeecfdf58fd58911f43a0fa783524e414b7e75149020", size = 99822, upload-time = "2025-09-30T19:07:54.06Z" }, + { url = "https://files.pythonhosted.org/packages/0e/45/d720181bc2445340b9108a55c9e91a23a10e4eeb6c091588e550b0a28a54/ckzg-2.1.5-cp312-cp312-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:e5639064b0dd147b73f2ce2c2506844b0c625b232396ac852dc52eced04bd529", size = 180441, upload-time = "2025-11-06T21:05:34.937Z" }, + { url = "https://files.pythonhosted.org/packages/ad/91/467ff00f3ec3d97d14b9e31789904107a907dca7526eb003e218be8038d1/ckzg-2.1.5-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eb0864813902b96cde171e65334ce8d13c5ff5b6855f2e71a2272ae268fa07e8", size = 166199, upload-time = "2025-11-06T21:05:36.497Z" }, + { url = "https://files.pythonhosted.org/packages/c4/8b/1148f4edbd252386e59d8c73670caa3138991292656cf84bb584ebb0e113/ckzg-2.1.5-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3e6f13f673a24c01e681eb66aed8f8e4ce191f009dd2149f3e1b9ad0dd59b4cd", size = 175829, upload-time = "2025-11-06T21:05:37.971Z" }, + { url = "https://files.pythonhosted.org/packages/ac/20/ace67811fbabcfece937f8286cdd96f5668757b8944a74630b6454131545/ckzg-2.1.5-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:094add5f197a3d278924ec1480d258f3b8b0e9f8851ae409eec83a21a738bffe", size = 176595, upload-time = "2025-09-30T19:07:54.792Z" }, + { url = "https://files.pythonhosted.org/packages/f1/65/127fa59aae21688887249ec1caa92dabaced331de5cb4e0224216270c3d0/ckzg-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2b4b05f798784400e8c4dedaf1a1d57bbbc54de790855855add876fff3c9f629", size = 162014, upload-time = "2025-09-30T19:07:55.776Z" }, + { url = "https://files.pythonhosted.org/packages/35/de/dcaa260f6f5aca83eb9017ea0c691d3d37458e08e24dcad5efcd348d807e/ckzg-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64aef50a1cf599041b9af018bc885a3fad6a20bbaf443fc45f0457cb47914610", size = 171396, upload-time = "2025-09-30T19:07:56.583Z" }, + { url = "https://files.pythonhosted.org/packages/c4/72/f87db164d687759ae0666a2188c5f5d11a62cac9093464efbedc1f69f4e1/ckzg-2.1.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0171484eedc42b9417a79e33aff3f35d48915b01c54f42c829b891947ac06551", size = 173548, upload-time = "2025-09-30T19:07:58.555Z" }, + { url = "https://files.pythonhosted.org/packages/03/ad/b5a88a445f27dbd39eece56edffbe986bf356003bded75f79ef59e2b37c9/ckzg-2.1.5-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:2342b98acd7b6e6e33fbbc48ccec9093e1652461daf4353115adcd708498efcd", size = 188988, upload-time = "2025-09-30T19:07:59.496Z" }, + { url = "https://files.pythonhosted.org/packages/6e/57/42fbf29d39bd3f11a673a4e61af41b5485aa0ecf99473a0d4afc2528d24b/ckzg-2.1.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:cbce75c1e17fa60b5c33bae5069b8533cf5a4d028ef7d1f755b14a16f72307cf", size = 183513, upload-time = "2025-09-30T19:08:00.341Z" }, + { url = "https://files.pythonhosted.org/packages/27/c0/ef4c9e9256088e5a425cedb80f26e2a0c853128571b027d8174caf97b2f6/ckzg-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:827be2aeffc8a10bfb39b8dad45def82164dfcde735818c4053f5064474ae1b4", size = 100992, upload-time = "2025-09-30T19:08:01.633Z" }, + { url = "https://files.pythonhosted.org/packages/ba/4b/089392b6f0015bb368b453f26330c643bf0087f77835df2328a1da2af401/ckzg-2.1.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0d955f4e18bb9a9b3a6f55114052edd41650c29edd5f81e417c8f01abace8207", size = 116340, upload-time = "2025-09-30T19:08:02.478Z" }, + { url = "https://files.pythonhosted.org/packages/bb/45/4d8b70f69f0bc67e9262ec68200707d2d92a27e712cda2c163ebd4b4dcfa/ckzg-2.1.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0c0961a685761196264aa49b1cf06e8a2b2add4d57987853d7dd7a7240dc5de7", size = 99822, upload-time = "2025-09-30T19:08:03.65Z" }, + { url = "https://files.pythonhosted.org/packages/49/f0/1e03c6a491899264117a5a80670a26a569f9eeb67c723157891141d1646f/ckzg-2.1.5-cp313-cp313-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:026ef3bba0637032c21f6bdb8e92aefeae7c67003bf631a4ee80c515a36a9dbd", size = 180443, upload-time = "2025-11-06T21:05:39.2Z" }, + { url = "https://files.pythonhosted.org/packages/60/f2/b85b5e5fee12d4ea13060066e9b50260f747a0a5db23634dc199e742894f/ckzg-2.1.5-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bf031139a86e4ff00a717f9539331ef148ae9013b58848f2a7ac14596d812915", size = 166248, upload-time = "2025-11-06T21:05:40.384Z" }, + { url = "https://files.pythonhosted.org/packages/1c/41/07c5c7471d70d9cc49f2ce5013bb174529f2184611478d176c88c2fa048f/ckzg-2.1.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f51339d58541ae450c78a509b32822eec643595d8b96949fb1963fba802dc78b", size = 175870, upload-time = "2025-11-06T21:05:41.495Z" }, + { url = "https://files.pythonhosted.org/packages/c4/95/4193e4af65dc4839fa9fe07efad689fe726303b3ba62ee2f46c403458bec/ckzg-2.1.5-cp313-cp313-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:badb1c7dc6b932bed2c3f7695e1ce3e4bcc9601706136957408ac2bde5dd0892", size = 176586, upload-time = "2025-09-30T19:08:04.818Z" }, + { url = "https://files.pythonhosted.org/packages/7d/9e/850f48cb41685f5016028dbde8f7846ce9c56bfdc2e9e0f3df1a975263fe/ckzg-2.1.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:58d92816b9babaee87bd9f23be10c07d5d07c709be184aa7ea08ddb2bcf2541c", size = 161970, upload-time = "2025-09-30T19:08:05.734Z" }, + { url = "https://files.pythonhosted.org/packages/ca/df/a9993dc124e95eb30059c108efd83a1504709cf069d3bee0745d450262a0/ckzg-2.1.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cf39f9abe8b3f1a71188fb601a8589672ee40eb0671fc36d8cdf4e78f00f43f", size = 171364, upload-time = "2025-09-30T19:08:06.979Z" }, + { url = "https://files.pythonhosted.org/packages/f9/03/78e8a723c1b832766e5698f7b39cc8dc27da95b62bc5c738a59564cb5f2c/ckzg-2.1.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:999df675674d8d31528fd9b9afd548e86decc86447f5555b451237e7953fd63f", size = 173571, upload-time = "2025-09-30T19:08:08.173Z" }, + { url = "https://files.pythonhosted.org/packages/e3/64/27f96201c6d78fbdb9a0812cf45dded974c4d03d876dac11d9c764ef858f/ckzg-2.1.5-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:c39a1c7b32ac345cc44046076fd069ad6b7e6f7bef230ef9be414c712c4453b8", size = 189014, upload-time = "2025-09-30T19:08:09.045Z" }, + { url = "https://files.pythonhosted.org/packages/d2/6e/82177c4530265694f7ec151821c79351a07706dda4d8b23e8b37d0c122f0/ckzg-2.1.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e4564765b0cc65929eca057241b9c030afac1dbae015f129cb60ca6abd6ff620", size = 183530, upload-time = "2025-09-30T19:08:09.867Z" }, + { url = "https://files.pythonhosted.org/packages/4d/41/1edfbd007b0398321defeedf6ad2d9f86a73f6a99d5ca4b4944bf6f2d757/ckzg-2.1.5-cp313-cp313-win_amd64.whl", hash = "sha256:55013b36514b8176197655b929bc53f020aa51a144331720dead2efc3793ed85", size = 100992, upload-time = "2025-09-30T19:08:10.719Z" }, + { url = "https://files.pythonhosted.org/packages/8f/07/6ac017fc1593ea8059de1271825eab1f55d0a2f2127e811d5597cc0f328e/ckzg-2.1.5-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:a0cab7deaed093898a92d3644d4ca8621b63cb49296833e2d8b3edac456656d5", size = 116524, upload-time = "2025-11-06T21:05:42.614Z" }, + { url = "https://files.pythonhosted.org/packages/cc/57/c08133d854dad59d1052ad11796a1c6326c87363049feb8848ee291e68ba/ckzg-2.1.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:caedc9eba3d28584be9b6051585f20745f6abfec0d0657cce3dd45edb7f28586", size = 99833, upload-time = "2025-11-06T21:05:43.647Z" }, + { url = "https://files.pythonhosted.org/packages/df/80/b07dc3a7581e202dd871a53d8ff65eb70beace3cd81f17e587c3bac64c42/ckzg-2.1.5-cp314-cp314-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:2f67e545d41ba960189b1011d078953311259674620c485e619c933494b88fd9", size = 180474, upload-time = "2025-11-06T21:05:44.734Z" }, + { url = "https://files.pythonhosted.org/packages/e2/38/eaa3d40cf5c886966cb32b987f45d6fe07fded3ec2a731b71ca320574849/ckzg-2.1.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d6f65ff296033c259d0829093d2c55bb45651e001e0269b8b88d072fdc86ecc6", size = 166274, upload-time = "2025-11-06T21:05:45.882Z" }, + { url = "https://files.pythonhosted.org/packages/7f/74/a878da70ea299f75c0f279b01bfc46101893a1cc827ead5d5df661ff209a/ckzg-2.1.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0d66d34ff33be94c8a1f0da86483cd5bfdc15842998f3654ed91b8fdbffa2a81", size = 175904, upload-time = "2025-11-06T21:05:47.039Z" }, + { url = "https://files.pythonhosted.org/packages/bb/6f/72029116643f22b70adeb622ead6137af5d504f74f064d08397e972648dc/ckzg-2.1.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:25cf954bae3e2b2db6fa5e811d9800f89199d3eb4fa906c96a1c03434d4893c9", size = 173641, upload-time = "2025-11-06T21:05:48.147Z" }, + { url = "https://files.pythonhosted.org/packages/3c/67/a618cb1a7b48a810d7dbeeec282ec4337d872111fbdaded2630c224e6566/ckzg-2.1.5-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:34d7128735e0bcfcac876bff47d0f85e674f1e24f99014e326ec266abed7a82c", size = 189020, upload-time = "2025-11-06T21:05:49.215Z" }, + { url = "https://files.pythonhosted.org/packages/19/3b/417f0c9a8b40a2876c70384f19fe63289214a6f1480bc86e3a3beaf21b6b/ckzg-2.1.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:1dec3efae8679f7b8e26263b8bb0d3061ef4c9c6fe395e55b71f8f0df90ca8a0", size = 183519, upload-time = "2025-11-06T21:05:50.542Z" }, + { url = "https://files.pythonhosted.org/packages/81/77/5b1c3d31adf65040e52e77f13e38e89707a2ac46e0ca0ecf881a68833944/ckzg-2.1.5-cp314-cp314-win_amd64.whl", hash = "sha256:ce37c0ee0effe55d4ceed1735a2d85a3556a86238f3c89b7b7d1ca4ce4e92358", size = 104038, upload-time = "2025-11-06T21:05:51.677Z" }, + { url = "https://files.pythonhosted.org/packages/d9/fc/5ebcd1d75513e270440f4517a7423c496c0d025bf730da12c7c8693932c9/ckzg-2.1.5-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:db804d27f4b08e3aea440cdc6558af4ceb8256b18ea2b83681d80cc654a4085b", size = 116740, upload-time = "2025-11-06T21:05:52.767Z" }, + { url = "https://files.pythonhosted.org/packages/ad/2e/b661f589b8cdc586304c7a88cc58d48ca34a28200659e1222ffec8a58994/ckzg-2.1.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:d472e3beeb95a110275b4d27e51d1c2b26ab99ddb91ac1c5587d710080c39c5e", size = 100101, upload-time = "2025-11-06T21:05:54.007Z" }, + { url = "https://files.pythonhosted.org/packages/34/3f/88544854ca9623433aba919d85db5f2a3c190922eb7e96bf151b35273c79/ckzg-2.1.5-cp314-cp314t-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:4b44a018124a79138fab8fde25221083574c181c324519be51eab09b1e43ae27", size = 183321, upload-time = "2025-11-06T21:05:55.085Z" }, + { url = "https://files.pythonhosted.org/packages/0a/11/b9dd3ea012bd215d2aff8e49953e8fe57e62c962eb1e2717663fab5bdc6a/ckzg-2.1.5-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6a91d7b444300cf8ecae4f55983726630530cdde15cab92023026230a30d094e", size = 169404, upload-time = "2025-11-06T21:05:56.212Z" }, + { url = "https://files.pythonhosted.org/packages/cf/cf/d695acc82fc7386b65833b2bcfe5b312070f9eb58ae7c5bdfcad7f8e460d/ckzg-2.1.5-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8674c64efbf2a12edf6d776061847bbe182997737e7690a69af932ce61a9c2a", size = 178676, upload-time = "2025-11-06T21:05:57.528Z" }, + { url = "https://files.pythonhosted.org/packages/82/35/9319f1d8a8aa2ae9a7779bf6d49a46e6e2af481178eaabbca1ea9d8f9072/ckzg-2.1.5-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:4290aa17c6402c98f16017fd6ee0bff8aeb5c97be5c3cee7c72aea1b7d176f3a", size = 176309, upload-time = "2025-11-06T21:05:59.047Z" }, + { url = "https://files.pythonhosted.org/packages/b9/24/e28206e43160f411d3ae53f2e557c1905af2928854f7ce4a1be1af893915/ckzg-2.1.5-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:a0f82b8958ea97df12e29094f0a672cbe7532399724ea61b2399545991ed6017", size = 191777, upload-time = "2025-11-06T21:06:00.456Z" }, + { url = "https://files.pythonhosted.org/packages/aa/ae/51b4e2575d1b4ab76433c6ef56d4dfc1bad38c2f7ffb33353e271c4e4d05/ckzg-2.1.5-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:22300bf0d717a083c388de5cfafec08443c9938b3abde2e89f9d5d1fffde1c51", size = 186138, upload-time = "2025-11-06T21:06:01.684Z" }, + { url = "https://files.pythonhosted.org/packages/fe/6e/8ea848be3043b6bf9a7761492719a8c2d2c17a3da7b9551be7ec88a52c01/ckzg-2.1.5-cp314-cp314t-win_amd64.whl", hash = "sha256:aa8228206c3e3729fc117ca38e27588c079b0928a5ab628ee4d9fccaa2b8467d", size = 104191, upload-time = "2025-11-06T21:06:03.188Z" }, + { url = "https://files.pythonhosted.org/packages/d5/13/84fc850d561452c6975464f509b24596a3212afd26b03c687ed338dbb872/ckzg-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b1b52d359013b551b85fff538d2ef12763abd87efbc544d6f2808b9dd6bf0a4b", size = 116081, upload-time = "2025-09-30T19:08:27.357Z" }, + { url = "https://files.pythonhosted.org/packages/66/8c/5625e68fcaabcbfb485077b451153cc9b5424ef1d0fb13816458b3e04969/ckzg-2.1.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4cfe1cacea729c06196dcecec9c38f9b59bb7eadce51145e7ee27de10854dd59", size = 99591, upload-time = "2025-09-30T19:08:28.485Z" }, + { url = "https://files.pythonhosted.org/packages/78/f9/4576f8ed87a177be5df07c122371a2eb149729328bd27f2c6f74c4926775/ckzg-2.1.5-cp38-cp38-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:86233ccbb0bcaf353990ce2a8e24f1aa37782272e64ca9b55dd45895829e4980", size = 177200, upload-time = "2025-11-06T21:06:04.33Z" }, + { url = "https://files.pythonhosted.org/packages/be/91/8fe31e436bfcb3cc85acab3e9f58ad25f7232167fae279444c4418f54a5c/ckzg-2.1.5-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c3449126ee416b438c22cd7b7620e8f030c9ba7e030a80ebbd5924f04bc95905", size = 162758, upload-time = "2025-11-06T21:06:05.424Z" }, + { url = "https://files.pythonhosted.org/packages/d7/09/01d07c191d9f35c89943cb695c4d2de2c182bc6037eac8a80a45ae9a8160/ckzg-2.1.5-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a687c0609de11d4eba5a982036fd77d21d35841effb468a41004c68ad13a7438", size = 172432, upload-time = "2025-11-06T21:06:06.851Z" }, + { url = "https://files.pythonhosted.org/packages/a1/3f/d6c2d76a5370898bdcff486b5275d6b56d41e872ad350139ce7a28614d69/ckzg-2.1.5-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3d22cef6551dee8d05151cc5184c37b190101b2027c0851301393561c559c669", size = 173162, upload-time = "2025-09-30T19:08:29.339Z" }, + { url = "https://files.pythonhosted.org/packages/21/4c/a54d7d557747c1484620f974b977041b5942c6b60259cc9186c56d13676a/ckzg-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2867e4a49f19248644206e82f5b8795e22096722dcd1e21acdad133e87632d5c", size = 158422, upload-time = "2025-09-30T19:08:30.252Z" }, + { url = "https://files.pythonhosted.org/packages/1f/6d/f16b32d306f8ee80223e3eab3ae8907ed0d31af8a48e22e11e1eba7eeff8/ckzg-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e7e7fd0c4b4d2af5661e3d54648c0447d33f17cbafa5dd1b0576899864b5b7da", size = 167887, upload-time = "2025-09-30T19:08:31.172Z" }, + { url = "https://files.pythonhosted.org/packages/e9/ff/bcebb31a44658784b959a762272a943467b7822f7da365de79749d45a6bc/ckzg-2.1.5-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ba3f1702780e5c47ef9c351b8d023110c9b6c27e7952f23216f37de5deb7e6eb", size = 170590, upload-time = "2025-09-30T19:08:32.121Z" }, + { url = "https://files.pythonhosted.org/packages/88/1c/7f75f50e6eab976d32482d1bcc93bbcce4e89cd54209a014e8878a61f603/ckzg-2.1.5-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:3c5e90f96867c32af0b3bf889de03043b2f26fb6d3722d194175b576d0e9d7c6", size = 185856, upload-time = "2025-09-30T19:08:33.001Z" }, + { url = "https://files.pythonhosted.org/packages/f3/d9/e9e11cd03c65f50dd5bf561075a921647e57345710d82c16a411cfc0cac6/ckzg-2.1.5-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:6b66c43fb23e0957e05481b07972702ff94d993c3f7b060aa80dc9c602778a42", size = 180297, upload-time = "2025-09-30T19:08:33.909Z" }, + { url = "https://files.pythonhosted.org/packages/78/e2/68b08ca0d4d41367a0ebeb0706e7e7716d92d64f36e64547aff1067f08d5/ckzg-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:15e0f7342a451569fa427c6ad3cb992975462c52c3ecdc2bd7c3ed35847bbb8b", size = 100909, upload-time = "2025-09-30T19:08:34.906Z" }, + { url = "https://files.pythonhosted.org/packages/75/db/0a147a7ec74fb2438c5444fbccaa52dd9cc7cb1f572aac852e4b43e8ebd1/ckzg-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3773ccdb3501ff3779988aa97e5b15629d58ac02281f186030f66d2fc2b4b7ec", size = 116303, upload-time = "2025-09-30T19:08:35.763Z" }, + { url = "https://files.pythonhosted.org/packages/1e/58/6962763a06314bb61f8ba90f34a3c115cca74c3a0c857b4e3448efc3ebf6/ckzg-2.1.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2c9b798c6eb4db9cf82272e5a5c62be86f0d435206c6c49cc078cbb67ebd51bd", size = 99809, upload-time = "2025-09-30T19:08:36.65Z" }, + { url = "https://files.pythonhosted.org/packages/a4/c2/7d82790442d26e741a01988ac282c077e80977d91fa4deb48074ddbb5721/ckzg-2.1.5-cp39-cp39-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:13c0630363a65182e99d064f7eb173195dcbdddc4048fd5b45cd0a3cd0c740f9", size = 179292, upload-time = "2025-11-06T21:06:08.019Z" }, + { url = "https://files.pythonhosted.org/packages/45/f3/199b8b7dc830020bc796dc6ae3fbc21a7e5991628315fd0c9e5728810c3b/ckzg-2.1.5-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:165efe1fac474ae58a26b742f910c0c90c01fc356aac8b680db2e02e44005adf", size = 164893, upload-time = "2025-11-06T21:06:09.159Z" }, + { url = "https://files.pythonhosted.org/packages/16/71/01a15d03137dbadd571590638999eda12c0a7cb9a31bc39bf34d68368877/ckzg-2.1.5-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fa231a1965be1a9c6fa50528132b71f1bc486335564baf6ab6d98aebedfb03d7", size = 174490, upload-time = "2025-11-06T21:06:10.423Z" }, + { url = "https://files.pythonhosted.org/packages/a0/56/62233028f4231a75dd8ac4128728cae41646adc4dacd3a53109cb1e04fd5/ckzg-2.1.5-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a3ea32c21f71b786ea04b62cbe982b600da5e6f180b1d256fc9e397074041a6d", size = 175393, upload-time = "2025-09-30T19:08:37.541Z" }, + { url = "https://files.pythonhosted.org/packages/4c/05/c9f07c3f2a997ba301843ca3af3c98dad5fea8961c92aafdbceab78be7bc/ckzg-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:10455cc15e769a749c19fd3031dd0149eb92c2f9b4a054117cb20327242fd920", size = 160673, upload-time = "2025-09-30T19:08:38.428Z" }, + { url = "https://files.pythonhosted.org/packages/b2/41/05648bfda93062a12193bc8d2a7af649aba542b66700ef47b31946eeddc9/ckzg-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b21c38740aa5fcdc0cacfe9eda82cbf7bdffc743fa85344495bfecc18619d7d6", size = 170080, upload-time = "2025-09-30T19:08:39.351Z" }, + { url = "https://files.pythonhosted.org/packages/dc/02/c550fb38cc34f8b39c16deb6cb9e6990ae8798d57efdc8cfe310c0f0716e/ckzg-2.1.5-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:ce6133c5475bf9810d228522a963666f3f138e9a70c709f7f498268991101666", size = 172491, upload-time = "2025-09-30T19:08:40.236Z" }, + { url = "https://files.pythonhosted.org/packages/15/65/0c72a278346b6668e752a81d7b9f3b9795ef1fcf4df3741ad471a8433740/ckzg-2.1.5-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:60c25fa2095656ee127f2986d934741b3d62890dff5f07405683c348290a9cc8", size = 187759, upload-time = "2025-09-30T19:08:41.174Z" }, + { url = "https://files.pythonhosted.org/packages/8e/1b/acc9f8661e3e02c9148f252fce24348f39292824fea9f238d086b39b6053/ckzg-2.1.5-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:65f7bfcba3cacad19459d97fe2e543d153f7c115cb7cc2d7a5a6670ca5d2176b", size = 182152, upload-time = "2025-09-30T19:08:42.093Z" }, + { url = "https://files.pythonhosted.org/packages/c2/f3/589cfb6f47c827441888283caec09861928fb1252674eee274a64724231a/ckzg-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:123da114b6ec1c4ce758976798a075418664cc2ac6e25a0d12333f6cae798743", size = 100980, upload-time = "2025-09-30T19:08:43.006Z" }, + { url = "https://files.pythonhosted.org/packages/a4/7a/9f7534c99f79465ac751b6f9b9445f90f6a0d5ab990c630d888cc9792386/ckzg-2.1.5-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:65960cf6feaf1b281af76efdfedecc536f52e47ec3982c1a2c58c0d1b36a391b", size = 113098, upload-time = "2025-09-30T19:08:43.849Z" }, + { url = "https://files.pythonhosted.org/packages/8a/d6/8beb84f852cd8a30441d9dfce66679463cfbcb59386b474f6406f12ff979/ckzg-2.1.5-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:f97d29d2ef0bfd4ad4ded126a514ced89c30ee1a30dc5d20d68918263b883c23", size = 95813, upload-time = "2025-09-30T19:08:44.767Z" }, + { url = "https://files.pythonhosted.org/packages/40/30/4179c4933607e4b233e50676c3d8228234fa543467f801daa04dd8f08dca/ckzg-2.1.5-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3560a4dcd50f3b3a289c8b73657b239bbc6461eb9aa6ef5fe81a242f70591ff4", size = 126632, upload-time = "2025-09-30T19:08:45.55Z" }, + { url = "https://files.pythonhosted.org/packages/c9/4e/c535ed740c6c949c9382d3c22253d83adf8600612358434f365bc5178c77/ckzg-2.1.5-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:13150a17d6aa76eb39d301440c02e5395540796d30e4d9ae30724ce191c50a28", size = 102843, upload-time = "2025-09-30T19:08:46.915Z" }, + { url = "https://files.pythonhosted.org/packages/46/ff/efd63e7d9bf6651cbdd68cb28cae40bedeae3bdb8e32d4b7f73fe4ca48a2/ckzg-2.1.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:242e77af051028e4388df7c1ebc68897cf630cf80745f7b26ff0eb6e3ec7a78d", size = 111740, upload-time = "2025-09-30T19:08:47.916Z" }, + { url = "https://files.pythonhosted.org/packages/22/71/18e05c16a2b7cb74c3ef4a96bee7a1d58b8b3be59db3f1b49a54f292b0b7/ckzg-2.1.5-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a77975d10c17f617d3a43d664d0f74eb342b2cb3deb9f20860e2e2aaa24643c1", size = 101017, upload-time = "2025-09-30T19:08:49.099Z" }, + { url = "https://files.pythonhosted.org/packages/03/bd/4cc75266991d2420c3212614dc6e659490bcb8c1a03a638ff688cc775ff8/ckzg-2.1.5-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0ae260c705a82d9cf4b88eaa2e8f86263c23d99d4ec282f22838f27d24f9306c", size = 113098, upload-time = "2025-09-30T19:08:49.956Z" }, + { url = "https://files.pythonhosted.org/packages/d6/4c/fc5e6a3463b8d8bb36d21230f41fee13d5ba3fe3f594f1c20bb9bab1fab3/ckzg-2.1.5-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:7c21b0a4ad05a9e32e715118695d7a0912b4ee73198d63cc98de4d585597627e", size = 95811, upload-time = "2025-09-30T19:08:50.883Z" }, + { url = "https://files.pythonhosted.org/packages/6d/2e/3be3977c57a51f516f2897d543ddca7901659ae1705b5dc3dbf54e0b66f2/ckzg-2.1.5-pp311-pypy311_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c0577aee9848d7a9cef750ff6f303f586caf33da986a762ca57ac0c57e59fb6d", size = 126633, upload-time = "2025-09-30T19:08:51.734Z" }, + { url = "https://files.pythonhosted.org/packages/72/3b/8314ca493654bd035cc0a66308cec9a1089cf3bc33c2837e3e265345f3cc/ckzg-2.1.5-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e15faa1145b2408e17e3b2f0b159de325b0198615aa30268bb6cd8f4385ed745", size = 102844, upload-time = "2025-09-30T19:08:52.621Z" }, + { url = "https://files.pythonhosted.org/packages/f4/9b/1729ee420865a71e68f18880341b37ef980c2881674dc0b06460253ef25e/ckzg-2.1.5-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46d009dba9838630183610008a81bd80aafb389d45d8293d7a2fff7a5ea82266", size = 111739, upload-time = "2025-09-30T19:08:53.54Z" }, + { url = "https://files.pythonhosted.org/packages/40/40/f259e2bf986d39717427bc12baa8189cd43f9675e81cd3bcab639e593614/ckzg-2.1.5-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:df66d2be54d91f74aded4ceb71e7b1f789e2636a3015f438904a22ec9de750f1", size = 101018, upload-time = "2025-09-30T19:08:54.391Z" }, + { url = "https://files.pythonhosted.org/packages/95/85/95c4a2434a6f21f3dffa0ec28aa8aa47eb294a57122e4d725ac08592dc30/ckzg-2.1.5-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:33b9ec66b8cc977ae861ec796b40aa4072f73ef53f2d7e7b67185219af7f361f", size = 112689, upload-time = "2025-09-30T19:09:00.528Z" }, + { url = "https://files.pythonhosted.org/packages/a2/51/0aa3ef85eb1460bcaba6c6e7095b46cf9a313ef5c8db85644e52890bb90e/ckzg-2.1.5-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:993476a2a7ff37e7085a7d3d3536b4278856228c737a3a73da7dc0731188faf5", size = 95589, upload-time = "2025-09-30T19:09:01.39Z" }, + { url = "https://files.pythonhosted.org/packages/90/2a/19733c6dbc8720b29c88673dfaaf4b20dba5bf08e86861930e5afb7ab584/ckzg-2.1.5-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c773dd27bb9dd4738a9a1b94ed969ae2860536b559cd973ea21b44921227676", size = 126397, upload-time = "2025-09-30T19:09:02.674Z" }, + { url = "https://files.pythonhosted.org/packages/45/e5/687a5c28fec3fb64b715770a87a2bb479a62ba9dbb64ddfcb0762e9bd429/ckzg-2.1.5-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f68e286edaf8f3279177619a05b430e8a2b249db1f26ade39540ef9b4f912ca3", size = 102583, upload-time = "2025-09-30T19:09:03.511Z" }, + { url = "https://files.pythonhosted.org/packages/b3/c5/e30c59847ff6efbe0315d8f0403b66972cc63508891a35b379a333bf865b/ckzg-2.1.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a8904743a733dedea5b926dea58a346b3ee9f26d74d7b99ba400ba6fc1669a8", size = 111512, upload-time = "2025-09-30T19:09:04.437Z" }, + { url = "https://files.pythonhosted.org/packages/30/f8/0307c4c171072e6427b79ef501066a8f0a944bbe73675a5fd9ac89a750f4/ckzg-2.1.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:f3802221dde71cfafaa2c932b7981c2ad7de5f8e67c8c3aa79cba0c949b65958", size = 100941, upload-time = "2025-09-30T19:09:05.315Z" }, + { url = "https://files.pythonhosted.org/packages/88/55/82906683179f0e50684635d57666912f6bc336937c83babbe1e04f3ef945/ckzg-2.1.5-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:9b2cd37c7dcbefe56fc85a6ebbc1920f32e8f61eae9b18b7e35d50b7bf9536f1", size = 113096, upload-time = "2025-09-30T19:09:06.52Z" }, + { url = "https://files.pythonhosted.org/packages/6b/c7/97bc6561d5c5902de08914bd8f009730f9129dfc50818eaf3588b78790c7/ckzg-2.1.5-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:00fa1aaf21d12011b41403ce631c57b8ea442af46c1a8d16d0851646c705f016", size = 95808, upload-time = "2025-09-30T19:09:08.181Z" }, + { url = "https://files.pythonhosted.org/packages/d9/e6/a85d3e7b8f734fd42851da7cf56552d7d11fc7829b528bad5b947c85007e/ckzg-2.1.5-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ecb2e1bd2272905dbcf8cad509735748043b63c303d67c9ba7aa263fd8edf06", size = 126629, upload-time = "2025-09-30T19:09:09.197Z" }, + { url = "https://files.pythonhosted.org/packages/5c/21/3c03760b36bc22248bf068d54deae3d8b275730c4fe0d544a2565d8220b1/ckzg-2.1.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c2e40cb8374b67c25eeca2c1296ff595371f94b819487f5385fad3ec8a26b88", size = 102841, upload-time = "2025-09-30T19:09:10.433Z" }, + { url = "https://files.pythonhosted.org/packages/2a/76/841f4a700030dd3b8814bc4ef1c6de283182816ddaac63bd9f6486342d12/ckzg-2.1.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d0ddd295ca5d1b1fe56f52608b93d5ccac9b3d4c13ee0d9a5f51ca909c203bca", size = 111736, upload-time = "2025-09-30T19:09:11.595Z" }, + { url = "https://files.pythonhosted.org/packages/34/08/b9863125590c5ab4afe804ea44b18ed4d6fa6017c27593d0b7d0784e9324/ckzg-2.1.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:6ca0a6c822793f2cd644f4d4fbdac75e11d80b4ceb1e31bcd3936d272a01e794", size = 101009, upload-time = "2025-09-30T19:09:12.443Z" }, +] + +[[package]] +name = "click" +version = "8.1.8" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", + "python_full_version < '3.9'", +] +dependencies = [ + { name = "colorama", marker = "python_full_version < '3.10' and sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593, upload-time = "2024-12-21T18:38:44.339Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188, upload-time = "2024-12-21T18:38:41.666Z" }, +] + +[[package]] +name = "click" +version = "8.3.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "colorama", marker = "python_full_version >= '3.10' and sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz", hash = "sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a", size = 295065, upload-time = "2025-11-15T20:45:42.706Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/98/78/01c019cdb5d6498122777c1a43056ebb3ebfeef2076d9d026bfe15583b2b/click-8.3.1-py3-none-any.whl", hash = "sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6", size = 108274, upload-time = "2025-11-15T20:45:41.139Z" }, ] [[package]] @@ -496,124 +988,343 @@ wheels = [ [[package]] name = "coverage" -version = "7.10.6" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/14/70/025b179c993f019105b79575ac6edb5e084fb0f0e63f15cdebef4e454fb5/coverage-7.10.6.tar.gz", hash = "sha256:f644a3ae5933a552a29dbb9aa2f90c677a875f80ebea028e5a52a4f429044b90", size = 823736, upload-time = "2025-08-29T15:35:16.668Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a8/1d/2e64b43d978b5bd184e0756a41415597dfef30fcbd90b747474bd749d45f/coverage-7.10.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:70e7bfbd57126b5554aa482691145f798d7df77489a177a6bef80de78860a356", size = 217025, upload-time = "2025-08-29T15:32:57.169Z" }, - { url = "https://files.pythonhosted.org/packages/23/62/b1e0f513417c02cc10ef735c3ee5186df55f190f70498b3702d516aad06f/coverage-7.10.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e41be6f0f19da64af13403e52f2dec38bbc2937af54df8ecef10850ff8d35301", size = 217419, upload-time = "2025-08-29T15:32:59.908Z" }, - { url = "https://files.pythonhosted.org/packages/e7/16/b800640b7a43e7c538429e4d7223e0a94fd72453a1a048f70bf766f12e96/coverage-7.10.6-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:c61fc91ab80b23f5fddbee342d19662f3d3328173229caded831aa0bd7595460", size = 244180, upload-time = "2025-08-29T15:33:01.608Z" }, - { url = "https://files.pythonhosted.org/packages/fb/6f/5e03631c3305cad187eaf76af0b559fff88af9a0b0c180d006fb02413d7a/coverage-7.10.6-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:10356fdd33a7cc06e8051413140bbdc6f972137508a3572e3f59f805cd2832fd", size = 245992, upload-time = "2025-08-29T15:33:03.239Z" }, - { url = "https://files.pythonhosted.org/packages/eb/a1/f30ea0fb400b080730125b490771ec62b3375789f90af0bb68bfb8a921d7/coverage-7.10.6-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:80b1695cf7c5ebe7b44bf2521221b9bb8cdf69b1f24231149a7e3eb1ae5fa2fb", size = 247851, upload-time = "2025-08-29T15:33:04.603Z" }, - { url = "https://files.pythonhosted.org/packages/02/8e/cfa8fee8e8ef9a6bb76c7bef039f3302f44e615d2194161a21d3d83ac2e9/coverage-7.10.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:2e4c33e6378b9d52d3454bd08847a8651f4ed23ddbb4a0520227bd346382bbc6", size = 245891, upload-time = "2025-08-29T15:33:06.176Z" }, - { url = "https://files.pythonhosted.org/packages/93/a9/51be09b75c55c4f6c16d8d73a6a1d46ad764acca0eab48fa2ffaef5958fe/coverage-7.10.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:c8a3ec16e34ef980a46f60dc6ad86ec60f763c3f2fa0db6d261e6e754f72e945", size = 243909, upload-time = "2025-08-29T15:33:07.74Z" }, - { url = "https://files.pythonhosted.org/packages/e9/a6/ba188b376529ce36483b2d585ca7bdac64aacbe5aa10da5978029a9c94db/coverage-7.10.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7d79dabc0a56f5af990cc6da9ad1e40766e82773c075f09cc571e2076fef882e", size = 244786, upload-time = "2025-08-29T15:33:08.965Z" }, - { url = "https://files.pythonhosted.org/packages/d0/4c/37ed872374a21813e0d3215256180c9a382c3f5ced6f2e5da0102fc2fd3e/coverage-7.10.6-cp310-cp310-win32.whl", hash = "sha256:86b9b59f2b16e981906e9d6383eb6446d5b46c278460ae2c36487667717eccf1", size = 219521, upload-time = "2025-08-29T15:33:10.599Z" }, - { url = "https://files.pythonhosted.org/packages/8e/36/9311352fdc551dec5b973b61f4e453227ce482985a9368305880af4f85dd/coverage-7.10.6-cp310-cp310-win_amd64.whl", hash = "sha256:e132b9152749bd33534e5bd8565c7576f135f157b4029b975e15ee184325f528", size = 220417, upload-time = "2025-08-29T15:33:11.907Z" }, - { url = "https://files.pythonhosted.org/packages/d4/16/2bea27e212c4980753d6d563a0803c150edeaaddb0771a50d2afc410a261/coverage-7.10.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c706db3cabb7ceef779de68270150665e710b46d56372455cd741184f3868d8f", size = 217129, upload-time = "2025-08-29T15:33:13.575Z" }, - { url = "https://files.pythonhosted.org/packages/2a/51/e7159e068831ab37e31aac0969d47b8c5ee25b7d307b51e310ec34869315/coverage-7.10.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8e0c38dc289e0508ef68ec95834cb5d2e96fdbe792eaccaa1bccac3966bbadcc", size = 217532, upload-time = "2025-08-29T15:33:14.872Z" }, - { url = "https://files.pythonhosted.org/packages/e7/c0/246ccbea53d6099325d25cd208df94ea435cd55f0db38099dd721efc7a1f/coverage-7.10.6-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:752a3005a1ded28f2f3a6e8787e24f28d6abe176ca64677bcd8d53d6fe2ec08a", size = 247931, upload-time = "2025-08-29T15:33:16.142Z" }, - { url = "https://files.pythonhosted.org/packages/7d/fb/7435ef8ab9b2594a6e3f58505cc30e98ae8b33265d844007737946c59389/coverage-7.10.6-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:689920ecfd60f992cafca4f5477d55720466ad2c7fa29bb56ac8d44a1ac2b47a", size = 249864, upload-time = "2025-08-29T15:33:17.434Z" }, - { url = "https://files.pythonhosted.org/packages/51/f8/d9d64e8da7bcddb094d511154824038833c81e3a039020a9d6539bf303e9/coverage-7.10.6-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ec98435796d2624d6905820a42f82149ee9fc4f2d45c2c5bc5a44481cc50db62", size = 251969, upload-time = "2025-08-29T15:33:18.822Z" }, - { url = "https://files.pythonhosted.org/packages/43/28/c43ba0ef19f446d6463c751315140d8f2a521e04c3e79e5c5fe211bfa430/coverage-7.10.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b37201ce4a458c7a758ecc4efa92fa8ed783c66e0fa3c42ae19fc454a0792153", size = 249659, upload-time = "2025-08-29T15:33:20.407Z" }, - { url = "https://files.pythonhosted.org/packages/79/3e/53635bd0b72beaacf265784508a0b386defc9ab7fad99ff95f79ce9db555/coverage-7.10.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:2904271c80898663c810a6b067920a61dd8d38341244a3605bd31ab55250dad5", size = 247714, upload-time = "2025-08-29T15:33:21.751Z" }, - { url = "https://files.pythonhosted.org/packages/4c/55/0964aa87126624e8c159e32b0bc4e84edef78c89a1a4b924d28dd8265625/coverage-7.10.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:5aea98383463d6e1fa4e95416d8de66f2d0cb588774ee20ae1b28df826bcb619", size = 248351, upload-time = "2025-08-29T15:33:23.105Z" }, - { url = "https://files.pythonhosted.org/packages/eb/ab/6cfa9dc518c6c8e14a691c54e53a9433ba67336c760607e299bfcf520cb1/coverage-7.10.6-cp311-cp311-win32.whl", hash = "sha256:e3fb1fa01d3598002777dd259c0c2e6d9d5e10e7222976fc8e03992f972a2cba", size = 219562, upload-time = "2025-08-29T15:33:24.717Z" }, - { url = "https://files.pythonhosted.org/packages/5b/18/99b25346690cbc55922e7cfef06d755d4abee803ef335baff0014268eff4/coverage-7.10.6-cp311-cp311-win_amd64.whl", hash = "sha256:f35ed9d945bece26553d5b4c8630453169672bea0050a564456eb88bdffd927e", size = 220453, upload-time = "2025-08-29T15:33:26.482Z" }, - { url = "https://files.pythonhosted.org/packages/d8/ed/81d86648a07ccb124a5cf1f1a7788712b8d7216b593562683cd5c9b0d2c1/coverage-7.10.6-cp311-cp311-win_arm64.whl", hash = "sha256:99e1a305c7765631d74b98bf7dbf54eeea931f975e80f115437d23848ee8c27c", size = 219127, upload-time = "2025-08-29T15:33:27.777Z" }, - { url = "https://files.pythonhosted.org/packages/26/06/263f3305c97ad78aab066d116b52250dd316e74fcc20c197b61e07eb391a/coverage-7.10.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:5b2dd6059938063a2c9fee1af729d4f2af28fd1a545e9b7652861f0d752ebcea", size = 217324, upload-time = "2025-08-29T15:33:29.06Z" }, - { url = "https://files.pythonhosted.org/packages/e9/60/1e1ded9a4fe80d843d7d53b3e395c1db3ff32d6c301e501f393b2e6c1c1f/coverage-7.10.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:388d80e56191bf846c485c14ae2bc8898aa3124d9d35903fef7d907780477634", size = 217560, upload-time = "2025-08-29T15:33:30.748Z" }, - { url = "https://files.pythonhosted.org/packages/b8/25/52136173c14e26dfed8b106ed725811bb53c30b896d04d28d74cb64318b3/coverage-7.10.6-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:90cb5b1a4670662719591aa92d0095bb41714970c0b065b02a2610172dbf0af6", size = 249053, upload-time = "2025-08-29T15:33:32.041Z" }, - { url = "https://files.pythonhosted.org/packages/cb/1d/ae25a7dc58fcce8b172d42ffe5313fc267afe61c97fa872b80ee72d9515a/coverage-7.10.6-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:961834e2f2b863a0e14260a9a273aff07ff7818ab6e66d2addf5628590c628f9", size = 251802, upload-time = "2025-08-29T15:33:33.625Z" }, - { url = "https://files.pythonhosted.org/packages/f5/7a/1f561d47743710fe996957ed7c124b421320f150f1d38523d8d9102d3e2a/coverage-7.10.6-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bf9a19f5012dab774628491659646335b1928cfc931bf8d97b0d5918dd58033c", size = 252935, upload-time = "2025-08-29T15:33:34.909Z" }, - { url = "https://files.pythonhosted.org/packages/6c/ad/8b97cd5d28aecdfde792dcbf646bac141167a5cacae2cd775998b45fabb5/coverage-7.10.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:99c4283e2a0e147b9c9cc6bc9c96124de9419d6044837e9799763a0e29a7321a", size = 250855, upload-time = "2025-08-29T15:33:36.922Z" }, - { url = "https://files.pythonhosted.org/packages/33/6a/95c32b558d9a61858ff9d79580d3877df3eb5bc9eed0941b1f187c89e143/coverage-7.10.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:282b1b20f45df57cc508c1e033403f02283adfb67d4c9c35a90281d81e5c52c5", size = 248974, upload-time = "2025-08-29T15:33:38.175Z" }, - { url = "https://files.pythonhosted.org/packages/0d/9c/8ce95dee640a38e760d5b747c10913e7a06554704d60b41e73fdea6a1ffd/coverage-7.10.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8cdbe264f11afd69841bd8c0d83ca10b5b32853263ee62e6ac6a0ab63895f972", size = 250409, upload-time = "2025-08-29T15:33:39.447Z" }, - { url = "https://files.pythonhosted.org/packages/04/12/7a55b0bdde78a98e2eb2356771fd2dcddb96579e8342bb52aa5bc52e96f0/coverage-7.10.6-cp312-cp312-win32.whl", hash = "sha256:a517feaf3a0a3eca1ee985d8373135cfdedfbba3882a5eab4362bda7c7cf518d", size = 219724, upload-time = "2025-08-29T15:33:41.172Z" }, - { url = "https://files.pythonhosted.org/packages/36/4a/32b185b8b8e327802c9efce3d3108d2fe2d9d31f153a0f7ecfd59c773705/coverage-7.10.6-cp312-cp312-win_amd64.whl", hash = "sha256:856986eadf41f52b214176d894a7de05331117f6035a28ac0016c0f63d887629", size = 220536, upload-time = "2025-08-29T15:33:42.524Z" }, - { url = "https://files.pythonhosted.org/packages/08/3a/d5d8dc703e4998038c3099eaf77adddb00536a3cec08c8dcd556a36a3eb4/coverage-7.10.6-cp312-cp312-win_arm64.whl", hash = "sha256:acf36b8268785aad739443fa2780c16260ee3fa09d12b3a70f772ef100939d80", size = 219171, upload-time = "2025-08-29T15:33:43.974Z" }, - { url = "https://files.pythonhosted.org/packages/bd/e7/917e5953ea29a28c1057729c1d5af9084ab6d9c66217523fd0e10f14d8f6/coverage-7.10.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ffea0575345e9ee0144dfe5701aa17f3ba546f8c3bb48db62ae101afb740e7d6", size = 217351, upload-time = "2025-08-29T15:33:45.438Z" }, - { url = "https://files.pythonhosted.org/packages/eb/86/2e161b93a4f11d0ea93f9bebb6a53f113d5d6e416d7561ca41bb0a29996b/coverage-7.10.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:95d91d7317cde40a1c249d6b7382750b7e6d86fad9d8eaf4fa3f8f44cf171e80", size = 217600, upload-time = "2025-08-29T15:33:47.269Z" }, - { url = "https://files.pythonhosted.org/packages/0e/66/d03348fdd8df262b3a7fb4ee5727e6e4936e39e2f3a842e803196946f200/coverage-7.10.6-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3e23dd5408fe71a356b41baa82892772a4cefcf758f2ca3383d2aa39e1b7a003", size = 248600, upload-time = "2025-08-29T15:33:48.953Z" }, - { url = "https://files.pythonhosted.org/packages/73/dd/508420fb47d09d904d962f123221bc249f64b5e56aa93d5f5f7603be475f/coverage-7.10.6-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:0f3f56e4cb573755e96a16501a98bf211f100463d70275759e73f3cbc00d4f27", size = 251206, upload-time = "2025-08-29T15:33:50.697Z" }, - { url = "https://files.pythonhosted.org/packages/e9/1f/9020135734184f439da85c70ea78194c2730e56c2d18aee6e8ff1719d50d/coverage-7.10.6-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:db4a1d897bbbe7339946ffa2fe60c10cc81c43fab8b062d3fcb84188688174a4", size = 252478, upload-time = "2025-08-29T15:33:52.303Z" }, - { url = "https://files.pythonhosted.org/packages/a4/a4/3d228f3942bb5a2051fde28c136eea23a761177dc4ff4ef54533164ce255/coverage-7.10.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d8fd7879082953c156d5b13c74aa6cca37f6a6f4747b39538504c3f9c63d043d", size = 250637, upload-time = "2025-08-29T15:33:53.67Z" }, - { url = "https://files.pythonhosted.org/packages/36/e3/293dce8cdb9a83de971637afc59b7190faad60603b40e32635cbd15fbf61/coverage-7.10.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:28395ca3f71cd103b8c116333fa9db867f3a3e1ad6a084aa3725ae002b6583bc", size = 248529, upload-time = "2025-08-29T15:33:55.022Z" }, - { url = "https://files.pythonhosted.org/packages/90/26/64eecfa214e80dd1d101e420cab2901827de0e49631d666543d0e53cf597/coverage-7.10.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:61c950fc33d29c91b9e18540e1aed7d9f6787cc870a3e4032493bbbe641d12fc", size = 250143, upload-time = "2025-08-29T15:33:56.386Z" }, - { url = "https://files.pythonhosted.org/packages/3e/70/bd80588338f65ea5b0d97e424b820fb4068b9cfb9597fbd91963086e004b/coverage-7.10.6-cp313-cp313-win32.whl", hash = "sha256:160c00a5e6b6bdf4e5984b0ef21fc860bc94416c41b7df4d63f536d17c38902e", size = 219770, upload-time = "2025-08-29T15:33:58.063Z" }, - { url = "https://files.pythonhosted.org/packages/a7/14/0b831122305abcc1060c008f6c97bbdc0a913ab47d65070a01dc50293c2b/coverage-7.10.6-cp313-cp313-win_amd64.whl", hash = "sha256:628055297f3e2aa181464c3808402887643405573eb3d9de060d81531fa79d32", size = 220566, upload-time = "2025-08-29T15:33:59.766Z" }, - { url = "https://files.pythonhosted.org/packages/83/c6/81a83778c1f83f1a4a168ed6673eeedc205afb562d8500175292ca64b94e/coverage-7.10.6-cp313-cp313-win_arm64.whl", hash = "sha256:df4ec1f8540b0bcbe26ca7dd0f541847cc8a108b35596f9f91f59f0c060bfdd2", size = 219195, upload-time = "2025-08-29T15:34:01.191Z" }, - { url = "https://files.pythonhosted.org/packages/d7/1c/ccccf4bf116f9517275fa85047495515add43e41dfe8e0bef6e333c6b344/coverage-7.10.6-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:c9a8b7a34a4de3ed987f636f71881cd3b8339f61118b1aa311fbda12741bff0b", size = 218059, upload-time = "2025-08-29T15:34:02.91Z" }, - { url = "https://files.pythonhosted.org/packages/92/97/8a3ceff833d27c7492af4f39d5da6761e9ff624831db9e9f25b3886ddbca/coverage-7.10.6-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:8dd5af36092430c2b075cee966719898f2ae87b636cefb85a653f1d0ba5d5393", size = 218287, upload-time = "2025-08-29T15:34:05.106Z" }, - { url = "https://files.pythonhosted.org/packages/92/d8/50b4a32580cf41ff0423777a2791aaf3269ab60c840b62009aec12d3970d/coverage-7.10.6-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:b0353b0f0850d49ada66fdd7d0c7cdb0f86b900bb9e367024fd14a60cecc1e27", size = 259625, upload-time = "2025-08-29T15:34:06.575Z" }, - { url = "https://files.pythonhosted.org/packages/7e/7e/6a7df5a6fb440a0179d94a348eb6616ed4745e7df26bf2a02bc4db72c421/coverage-7.10.6-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:d6b9ae13d5d3e8aeca9ca94198aa7b3ebbc5acfada557d724f2a1f03d2c0b0df", size = 261801, upload-time = "2025-08-29T15:34:08.006Z" }, - { url = "https://files.pythonhosted.org/packages/3a/4c/a270a414f4ed5d196b9d3d67922968e768cd971d1b251e1b4f75e9362f75/coverage-7.10.6-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:675824a363cc05781b1527b39dc2587b8984965834a748177ee3c37b64ffeafb", size = 264027, upload-time = "2025-08-29T15:34:09.806Z" }, - { url = "https://files.pythonhosted.org/packages/9c/8b/3210d663d594926c12f373c5370bf1e7c5c3a427519a8afa65b561b9a55c/coverage-7.10.6-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:692d70ea725f471a547c305f0d0fc6a73480c62fb0da726370c088ab21aed282", size = 261576, upload-time = "2025-08-29T15:34:11.585Z" }, - { url = "https://files.pythonhosted.org/packages/72/d0/e1961eff67e9e1dba3fc5eb7a4caf726b35a5b03776892da8d79ec895775/coverage-7.10.6-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:851430a9a361c7a8484a36126d1d0ff8d529d97385eacc8dfdc9bfc8c2d2cbe4", size = 259341, upload-time = "2025-08-29T15:34:13.159Z" }, - { url = "https://files.pythonhosted.org/packages/3a/06/d6478d152cd189b33eac691cba27a40704990ba95de49771285f34a5861e/coverage-7.10.6-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d9369a23186d189b2fc95cc08b8160ba242057e887d766864f7adf3c46b2df21", size = 260468, upload-time = "2025-08-29T15:34:14.571Z" }, - { url = "https://files.pythonhosted.org/packages/ed/73/737440247c914a332f0b47f7598535b29965bf305e19bbc22d4c39615d2b/coverage-7.10.6-cp313-cp313t-win32.whl", hash = "sha256:92be86fcb125e9bda0da7806afd29a3fd33fdf58fba5d60318399adf40bf37d0", size = 220429, upload-time = "2025-08-29T15:34:16.394Z" }, - { url = "https://files.pythonhosted.org/packages/bd/76/b92d3214740f2357ef4a27c75a526eb6c28f79c402e9f20a922c295c05e2/coverage-7.10.6-cp313-cp313t-win_amd64.whl", hash = "sha256:6b3039e2ca459a70c79523d39347d83b73f2f06af5624905eba7ec34d64d80b5", size = 221493, upload-time = "2025-08-29T15:34:17.835Z" }, - { url = "https://files.pythonhosted.org/packages/fc/8e/6dcb29c599c8a1f654ec6cb68d76644fe635513af16e932d2d4ad1e5ac6e/coverage-7.10.6-cp313-cp313t-win_arm64.whl", hash = "sha256:3fb99d0786fe17b228eab663d16bee2288e8724d26a199c29325aac4b0319b9b", size = 219757, upload-time = "2025-08-29T15:34:19.248Z" }, - { url = "https://files.pythonhosted.org/packages/d3/aa/76cf0b5ec00619ef208da4689281d48b57f2c7fde883d14bf9441b74d59f/coverage-7.10.6-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:6008a021907be8c4c02f37cdc3ffb258493bdebfeaf9a839f9e71dfdc47b018e", size = 217331, upload-time = "2025-08-29T15:34:20.846Z" }, - { url = "https://files.pythonhosted.org/packages/65/91/8e41b8c7c505d398d7730206f3cbb4a875a35ca1041efc518051bfce0f6b/coverage-7.10.6-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:5e75e37f23eb144e78940b40395b42f2321951206a4f50e23cfd6e8a198d3ceb", size = 217607, upload-time = "2025-08-29T15:34:22.433Z" }, - { url = "https://files.pythonhosted.org/packages/87/7f/f718e732a423d442e6616580a951b8d1ec3575ea48bcd0e2228386805e79/coverage-7.10.6-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:0f7cb359a448e043c576f0da00aa8bfd796a01b06aa610ca453d4dde09cc1034", size = 248663, upload-time = "2025-08-29T15:34:24.425Z" }, - { url = "https://files.pythonhosted.org/packages/e6/52/c1106120e6d801ac03e12b5285e971e758e925b6f82ee9b86db3aa10045d/coverage-7.10.6-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:c68018e4fc4e14b5668f1353b41ccf4bc83ba355f0e1b3836861c6f042d89ac1", size = 251197, upload-time = "2025-08-29T15:34:25.906Z" }, - { url = "https://files.pythonhosted.org/packages/3d/ec/3a8645b1bb40e36acde9c0609f08942852a4af91a937fe2c129a38f2d3f5/coverage-7.10.6-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cd4b2b0707fc55afa160cd5fc33b27ccbf75ca11d81f4ec9863d5793fc6df56a", size = 252551, upload-time = "2025-08-29T15:34:27.337Z" }, - { url = "https://files.pythonhosted.org/packages/a1/70/09ecb68eeb1155b28a1d16525fd3a9b65fbe75337311a99830df935d62b6/coverage-7.10.6-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:4cec13817a651f8804a86e4f79d815b3b28472c910e099e4d5a0e8a3b6a1d4cb", size = 250553, upload-time = "2025-08-29T15:34:29.065Z" }, - { url = "https://files.pythonhosted.org/packages/c6/80/47df374b893fa812e953b5bc93dcb1427a7b3d7a1a7d2db33043d17f74b9/coverage-7.10.6-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:f2a6a8e06bbda06f78739f40bfb56c45d14eb8249d0f0ea6d4b3d48e1f7c695d", size = 248486, upload-time = "2025-08-29T15:34:30.897Z" }, - { url = "https://files.pythonhosted.org/packages/4a/65/9f98640979ecee1b0d1a7164b589de720ddf8100d1747d9bbdb84be0c0fb/coverage-7.10.6-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:081b98395ced0d9bcf60ada7661a0b75f36b78b9d7e39ea0790bb4ed8da14747", size = 249981, upload-time = "2025-08-29T15:34:32.365Z" }, - { url = "https://files.pythonhosted.org/packages/1f/55/eeb6603371e6629037f47bd25bef300387257ed53a3c5fdb159b7ac8c651/coverage-7.10.6-cp314-cp314-win32.whl", hash = "sha256:6937347c5d7d069ee776b2bf4e1212f912a9f1f141a429c475e6089462fcecc5", size = 220054, upload-time = "2025-08-29T15:34:34.124Z" }, - { url = "https://files.pythonhosted.org/packages/15/d1/a0912b7611bc35412e919a2cd59ae98e7ea3b475e562668040a43fb27897/coverage-7.10.6-cp314-cp314-win_amd64.whl", hash = "sha256:adec1d980fa07e60b6ef865f9e5410ba760e4e1d26f60f7e5772c73b9a5b0713", size = 220851, upload-time = "2025-08-29T15:34:35.651Z" }, - { url = "https://files.pythonhosted.org/packages/ef/2d/11880bb8ef80a45338e0b3e0725e4c2d73ffbb4822c29d987078224fd6a5/coverage-7.10.6-cp314-cp314-win_arm64.whl", hash = "sha256:a80f7aef9535442bdcf562e5a0d5a5538ce8abe6bb209cfbf170c462ac2c2a32", size = 219429, upload-time = "2025-08-29T15:34:37.16Z" }, - { url = "https://files.pythonhosted.org/packages/83/c0/1f00caad775c03a700146f55536ecd097a881ff08d310a58b353a1421be0/coverage-7.10.6-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:0de434f4fbbe5af4fa7989521c655c8c779afb61c53ab561b64dcee6149e4c65", size = 218080, upload-time = "2025-08-29T15:34:38.919Z" }, - { url = "https://files.pythonhosted.org/packages/a9/c4/b1c5d2bd7cc412cbeb035e257fd06ed4e3e139ac871d16a07434e145d18d/coverage-7.10.6-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6e31b8155150c57e5ac43ccd289d079eb3f825187d7c66e755a055d2c85794c6", size = 218293, upload-time = "2025-08-29T15:34:40.425Z" }, - { url = "https://files.pythonhosted.org/packages/3f/07/4468d37c94724bf6ec354e4ec2f205fda194343e3e85fd2e59cec57e6a54/coverage-7.10.6-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:98cede73eb83c31e2118ae8d379c12e3e42736903a8afcca92a7218e1f2903b0", size = 259800, upload-time = "2025-08-29T15:34:41.996Z" }, - { url = "https://files.pythonhosted.org/packages/82/d8/f8fb351be5fee31690cd8da768fd62f1cfab33c31d9f7baba6cd8960f6b8/coverage-7.10.6-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f863c08f4ff6b64fa8045b1e3da480f5374779ef187f07b82e0538c68cb4ff8e", size = 261965, upload-time = "2025-08-29T15:34:43.61Z" }, - { url = "https://files.pythonhosted.org/packages/e8/70/65d4d7cfc75c5c6eb2fed3ee5cdf420fd8ae09c4808723a89a81d5b1b9c3/coverage-7.10.6-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2b38261034fda87be356f2c3f42221fdb4171c3ce7658066ae449241485390d5", size = 264220, upload-time = "2025-08-29T15:34:45.387Z" }, - { url = "https://files.pythonhosted.org/packages/98/3c/069df106d19024324cde10e4ec379fe2fb978017d25e97ebee23002fbadf/coverage-7.10.6-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:0e93b1476b79eae849dc3872faeb0bf7948fd9ea34869590bc16a2a00b9c82a7", size = 261660, upload-time = "2025-08-29T15:34:47.288Z" }, - { url = "https://files.pythonhosted.org/packages/fc/8a/2974d53904080c5dc91af798b3a54a4ccb99a45595cc0dcec6eb9616a57d/coverage-7.10.6-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:ff8a991f70f4c0cf53088abf1e3886edcc87d53004c7bb94e78650b4d3dac3b5", size = 259417, upload-time = "2025-08-29T15:34:48.779Z" }, - { url = "https://files.pythonhosted.org/packages/30/38/9616a6b49c686394b318974d7f6e08f38b8af2270ce7488e879888d1e5db/coverage-7.10.6-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ac765b026c9f33044419cbba1da913cfb82cca1b60598ac1c7a5ed6aac4621a0", size = 260567, upload-time = "2025-08-29T15:34:50.718Z" }, - { url = "https://files.pythonhosted.org/packages/76/16/3ed2d6312b371a8cf804abf4e14895b70e4c3491c6e53536d63fd0958a8d/coverage-7.10.6-cp314-cp314t-win32.whl", hash = "sha256:441c357d55f4936875636ef2cfb3bee36e466dcf50df9afbd398ce79dba1ebb7", size = 220831, upload-time = "2025-08-29T15:34:52.653Z" }, - { url = "https://files.pythonhosted.org/packages/d5/e5/d38d0cb830abede2adb8b147770d2a3d0e7fecc7228245b9b1ae6c24930a/coverage-7.10.6-cp314-cp314t-win_amd64.whl", hash = "sha256:073711de3181b2e204e4870ac83a7c4853115b42e9cd4d145f2231e12d670930", size = 221950, upload-time = "2025-08-29T15:34:54.212Z" }, - { url = "https://files.pythonhosted.org/packages/f4/51/e48e550f6279349895b0ffcd6d2a690e3131ba3a7f4eafccc141966d4dea/coverage-7.10.6-cp314-cp314t-win_arm64.whl", hash = "sha256:137921f2bac5559334ba66122b753db6dc5d1cf01eb7b64eb412bb0d064ef35b", size = 219969, upload-time = "2025-08-29T15:34:55.83Z" }, - { url = "https://files.pythonhosted.org/packages/91/70/f73ad83b1d2fd2d5825ac58c8f551193433a7deaf9b0d00a8b69ef61cd9a/coverage-7.10.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:90558c35af64971d65fbd935c32010f9a2f52776103a259f1dee865fe8259352", size = 217009, upload-time = "2025-08-29T15:34:57.381Z" }, - { url = "https://files.pythonhosted.org/packages/01/e8/099b55cd48922abbd4b01ddd9ffa352408614413ebfc965501e981aced6b/coverage-7.10.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8953746d371e5695405806c46d705a3cd170b9cc2b9f93953ad838f6c1e58612", size = 217400, upload-time = "2025-08-29T15:34:58.985Z" }, - { url = "https://files.pythonhosted.org/packages/ee/d1/c6bac7c9e1003110a318636fef3b5c039df57ab44abcc41d43262a163c28/coverage-7.10.6-cp39-cp39-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:c83f6afb480eae0313114297d29d7c295670a41c11b274e6bca0c64540c1ce7b", size = 243835, upload-time = "2025-08-29T15:35:00.541Z" }, - { url = "https://files.pythonhosted.org/packages/01/f9/82c6c061838afbd2172e773156c0aa84a901d59211b4975a4e93accf5c89/coverage-7.10.6-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:7eb68d356ba0cc158ca535ce1381dbf2037fa8cb5b1ae5ddfc302e7317d04144", size = 245658, upload-time = "2025-08-29T15:35:02.135Z" }, - { url = "https://files.pythonhosted.org/packages/81/6a/35674445b1d38161148558a3ff51b0aa7f0b54b1def3abe3fbd34efe05bc/coverage-7.10.6-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5b15a87265e96307482746d86995f4bff282f14b027db75469c446da6127433b", size = 247433, upload-time = "2025-08-29T15:35:03.777Z" }, - { url = "https://files.pythonhosted.org/packages/18/27/98c99e7cafb288730a93535092eb433b5503d529869791681c4f2e2012a8/coverage-7.10.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:fc53ba868875bfbb66ee447d64d6413c2db91fddcfca57025a0e7ab5b07d5862", size = 245315, upload-time = "2025-08-29T15:35:05.629Z" }, - { url = "https://files.pythonhosted.org/packages/09/05/123e0dba812408c719c319dea05782433246f7aa7b67e60402d90e847545/coverage-7.10.6-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:efeda443000aa23f276f4df973cb82beca682fd800bb119d19e80504ffe53ec2", size = 243385, upload-time = "2025-08-29T15:35:07.494Z" }, - { url = "https://files.pythonhosted.org/packages/67/52/d57a42502aef05c6325f28e2e81216c2d9b489040132c18725b7a04d1448/coverage-7.10.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:9702b59d582ff1e184945d8b501ffdd08d2cee38d93a2206aa5f1365ce0b8d78", size = 244343, upload-time = "2025-08-29T15:35:09.55Z" }, - { url = "https://files.pythonhosted.org/packages/6b/22/7f6fad7dbb37cf99b542c5e157d463bd96b797078b1ec506691bc836f476/coverage-7.10.6-cp39-cp39-win32.whl", hash = "sha256:2195f8e16ba1a44651ca684db2ea2b2d4b5345da12f07d9c22a395202a05b23c", size = 219530, upload-time = "2025-08-29T15:35:11.167Z" }, - { url = "https://files.pythonhosted.org/packages/62/30/e2fda29bfe335026027e11e6a5e57a764c9df13127b5cf42af4c3e99b937/coverage-7.10.6-cp39-cp39-win_amd64.whl", hash = "sha256:f32ff80e7ef6a5b5b606ea69a36e97b219cd9dc799bcf2963018a4d8f788cfbf", size = 220432, upload-time = "2025-08-29T15:35:12.902Z" }, - { url = "https://files.pythonhosted.org/packages/44/0c/50db5379b615854b5cf89146f8f5bd1d5a9693d7f3a987e269693521c404/coverage-7.10.6-py3-none-any.whl", hash = "sha256:92c4ecf6bf11b2e85fd4d8204814dc26e6a19f0c9d938c207c5cb0eadfcabbe3", size = 208986, upload-time = "2025-08-29T15:35:14.506Z" }, +version = "7.6.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/f7/08/7e37f82e4d1aead42a7443ff06a1e406aabf7302c4f00a546e4b320b994c/coverage-7.6.1.tar.gz", hash = "sha256:953510dfb7b12ab69d20135a0662397f077c59b1e6379a768e97c59d852ee51d", size = 798791, upload-time = "2024-08-04T19:45:30.9Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/61/eb7ce5ed62bacf21beca4937a90fe32545c91a3c8a42a30c6616d48fc70d/coverage-7.6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b06079abebbc0e89e6163b8e8f0e16270124c154dc6e4a47b413dd538859af16", size = 206690, upload-time = "2024-08-04T19:43:07.695Z" }, + { url = "https://files.pythonhosted.org/packages/7d/73/041928e434442bd3afde5584bdc3f932fb4562b1597629f537387cec6f3d/coverage-7.6.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cf4b19715bccd7ee27b6b120e7e9dd56037b9c0681dcc1adc9ba9db3d417fa36", size = 207127, upload-time = "2024-08-04T19:43:10.15Z" }, + { url = "https://files.pythonhosted.org/packages/c7/c8/6ca52b5147828e45ad0242388477fdb90df2c6cbb9a441701a12b3c71bc8/coverage-7.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61c0abb4c85b095a784ef23fdd4aede7a2628478e7baba7c5e3deba61070a02", size = 235654, upload-time = "2024-08-04T19:43:12.405Z" }, + { url = "https://files.pythonhosted.org/packages/d5/da/9ac2b62557f4340270942011d6efeab9833648380109e897d48ab7c1035d/coverage-7.6.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fd21f6ae3f08b41004dfb433fa895d858f3f5979e7762d052b12aef444e29afc", size = 233598, upload-time = "2024-08-04T19:43:14.078Z" }, + { url = "https://files.pythonhosted.org/packages/53/23/9e2c114d0178abc42b6d8d5281f651a8e6519abfa0ef460a00a91f80879d/coverage-7.6.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f59d57baca39b32db42b83b2a7ba6f47ad9c394ec2076b084c3f029b7afca23", size = 234732, upload-time = "2024-08-04T19:43:16.632Z" }, + { url = "https://files.pythonhosted.org/packages/0f/7e/a0230756fb133343a52716e8b855045f13342b70e48e8ad41d8a0d60ab98/coverage-7.6.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a1ac0ae2b8bd743b88ed0502544847c3053d7171a3cff9228af618a068ed9c34", size = 233816, upload-time = "2024-08-04T19:43:19.049Z" }, + { url = "https://files.pythonhosted.org/packages/28/7c/3753c8b40d232b1e5eeaed798c875537cf3cb183fb5041017c1fdb7ec14e/coverage-7.6.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e6a08c0be454c3b3beb105c0596ebdc2371fab6bb90c0c0297f4e58fd7e1012c", size = 232325, upload-time = "2024-08-04T19:43:21.246Z" }, + { url = "https://files.pythonhosted.org/packages/57/e3/818a2b2af5b7573b4b82cf3e9f137ab158c90ea750a8f053716a32f20f06/coverage-7.6.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f5796e664fe802da4f57a168c85359a8fbf3eab5e55cd4e4569fbacecc903959", size = 233418, upload-time = "2024-08-04T19:43:22.945Z" }, + { url = "https://files.pythonhosted.org/packages/c8/fb/4532b0b0cefb3f06d201648715e03b0feb822907edab3935112b61b885e2/coverage-7.6.1-cp310-cp310-win32.whl", hash = "sha256:7bb65125fcbef8d989fa1dd0e8a060999497629ca5b0efbca209588a73356232", size = 209343, upload-time = "2024-08-04T19:43:25.121Z" }, + { url = "https://files.pythonhosted.org/packages/5a/25/af337cc7421eca1c187cc9c315f0a755d48e755d2853715bfe8c418a45fa/coverage-7.6.1-cp310-cp310-win_amd64.whl", hash = "sha256:3115a95daa9bdba70aea750db7b96b37259a81a709223c8448fa97727d546fe0", size = 210136, upload-time = "2024-08-04T19:43:26.851Z" }, + { url = "https://files.pythonhosted.org/packages/ad/5f/67af7d60d7e8ce61a4e2ddcd1bd5fb787180c8d0ae0fbd073f903b3dd95d/coverage-7.6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7dea0889685db8550f839fa202744652e87c60015029ce3f60e006f8c4462c93", size = 206796, upload-time = "2024-08-04T19:43:29.115Z" }, + { url = "https://files.pythonhosted.org/packages/e1/0e/e52332389e057daa2e03be1fbfef25bb4d626b37d12ed42ae6281d0a274c/coverage-7.6.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ed37bd3c3b063412f7620464a9ac1314d33100329f39799255fb8d3027da50d3", size = 207244, upload-time = "2024-08-04T19:43:31.285Z" }, + { url = "https://files.pythonhosted.org/packages/aa/cd/766b45fb6e090f20f8927d9c7cb34237d41c73a939358bc881883fd3a40d/coverage-7.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d85f5e9a5f8b73e2350097c3756ef7e785f55bd71205defa0bfdaf96c31616ff", size = 239279, upload-time = "2024-08-04T19:43:33.581Z" }, + { url = "https://files.pythonhosted.org/packages/70/6c/a9ccd6fe50ddaf13442a1e2dd519ca805cbe0f1fcd377fba6d8339b98ccb/coverage-7.6.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bc572be474cafb617672c43fe989d6e48d3c83af02ce8de73fff1c6bb3c198d", size = 236859, upload-time = "2024-08-04T19:43:35.301Z" }, + { url = "https://files.pythonhosted.org/packages/14/6f/8351b465febb4dbc1ca9929505202db909c5a635c6fdf33e089bbc3d7d85/coverage-7.6.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c0420b573964c760df9e9e86d1a9a622d0d27f417e1a949a8a66dd7bcee7bc6", size = 238549, upload-time = "2024-08-04T19:43:37.578Z" }, + { url = "https://files.pythonhosted.org/packages/68/3c/289b81fa18ad72138e6d78c4c11a82b5378a312c0e467e2f6b495c260907/coverage-7.6.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1f4aa8219db826ce6be7099d559f8ec311549bfc4046f7f9fe9b5cea5c581c56", size = 237477, upload-time = "2024-08-04T19:43:39.92Z" }, + { url = "https://files.pythonhosted.org/packages/ed/1c/aa1efa6459d822bd72c4abc0b9418cf268de3f60eeccd65dc4988553bd8d/coverage-7.6.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:fc5a77d0c516700ebad189b587de289a20a78324bc54baee03dd486f0855d234", size = 236134, upload-time = "2024-08-04T19:43:41.453Z" }, + { url = "https://files.pythonhosted.org/packages/fb/c8/521c698f2d2796565fe9c789c2ee1ccdae610b3aa20b9b2ef980cc253640/coverage-7.6.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b48f312cca9621272ae49008c7f613337c53fadca647d6384cc129d2996d1133", size = 236910, upload-time = "2024-08-04T19:43:43.037Z" }, + { url = "https://files.pythonhosted.org/packages/7d/30/033e663399ff17dca90d793ee8a2ea2890e7fdf085da58d82468b4220bf7/coverage-7.6.1-cp311-cp311-win32.whl", hash = "sha256:1125ca0e5fd475cbbba3bb67ae20bd2c23a98fac4e32412883f9bcbaa81c314c", size = 209348, upload-time = "2024-08-04T19:43:44.787Z" }, + { url = "https://files.pythonhosted.org/packages/20/05/0d1ccbb52727ccdadaa3ff37e4d2dc1cd4d47f0c3df9eb58d9ec8508ca88/coverage-7.6.1-cp311-cp311-win_amd64.whl", hash = "sha256:8ae539519c4c040c5ffd0632784e21b2f03fc1340752af711f33e5be83a9d6c6", size = 210230, upload-time = "2024-08-04T19:43:46.707Z" }, + { url = "https://files.pythonhosted.org/packages/7e/d4/300fc921dff243cd518c7db3a4c614b7e4b2431b0d1145c1e274fd99bd70/coverage-7.6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:95cae0efeb032af8458fc27d191f85d1717b1d4e49f7cb226cf526ff28179778", size = 206983, upload-time = "2024-08-04T19:43:49.082Z" }, + { url = "https://files.pythonhosted.org/packages/e1/ab/6bf00de5327ecb8db205f9ae596885417a31535eeda6e7b99463108782e1/coverage-7.6.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5621a9175cf9d0b0c84c2ef2b12e9f5f5071357c4d2ea6ca1cf01814f45d2391", size = 207221, upload-time = "2024-08-04T19:43:52.15Z" }, + { url = "https://files.pythonhosted.org/packages/92/8f/2ead05e735022d1a7f3a0a683ac7f737de14850395a826192f0288703472/coverage-7.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:260933720fdcd75340e7dbe9060655aff3af1f0c5d20f46b57f262ab6c86a5e8", size = 240342, upload-time = "2024-08-04T19:43:53.746Z" }, + { url = "https://files.pythonhosted.org/packages/0f/ef/94043e478201ffa85b8ae2d2c79b4081e5a1b73438aafafccf3e9bafb6b5/coverage-7.6.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07e2ca0ad381b91350c0ed49d52699b625aab2b44b65e1b4e02fa9df0e92ad2d", size = 237371, upload-time = "2024-08-04T19:43:55.993Z" }, + { url = "https://files.pythonhosted.org/packages/1f/0f/c890339dd605f3ebc269543247bdd43b703cce6825b5ed42ff5f2d6122c7/coverage-7.6.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c44fee9975f04b33331cb8eb272827111efc8930cfd582e0320613263ca849ca", size = 239455, upload-time = "2024-08-04T19:43:57.618Z" }, + { url = "https://files.pythonhosted.org/packages/d1/04/7fd7b39ec7372a04efb0f70c70e35857a99b6a9188b5205efb4c77d6a57a/coverage-7.6.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:877abb17e6339d96bf08e7a622d05095e72b71f8afd8a9fefc82cf30ed944163", size = 238924, upload-time = "2024-08-04T19:44:00.012Z" }, + { url = "https://files.pythonhosted.org/packages/ed/bf/73ce346a9d32a09cf369f14d2a06651329c984e106f5992c89579d25b27e/coverage-7.6.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3e0cadcf6733c09154b461f1ca72d5416635e5e4ec4e536192180d34ec160f8a", size = 237252, upload-time = "2024-08-04T19:44:01.713Z" }, + { url = "https://files.pythonhosted.org/packages/86/74/1dc7a20969725e917b1e07fe71a955eb34bc606b938316bcc799f228374b/coverage-7.6.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c3c02d12f837d9683e5ab2f3d9844dc57655b92c74e286c262e0fc54213c216d", size = 238897, upload-time = "2024-08-04T19:44:03.898Z" }, + { url = "https://files.pythonhosted.org/packages/b6/e9/d9cc3deceb361c491b81005c668578b0dfa51eed02cd081620e9a62f24ec/coverage-7.6.1-cp312-cp312-win32.whl", hash = "sha256:e05882b70b87a18d937ca6768ff33cc3f72847cbc4de4491c8e73880766718e5", size = 209606, upload-time = "2024-08-04T19:44:05.532Z" }, + { url = "https://files.pythonhosted.org/packages/47/c8/5a2e41922ea6740f77d555c4d47544acd7dc3f251fe14199c09c0f5958d3/coverage-7.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:b5d7b556859dd85f3a541db6a4e0167b86e7273e1cdc973e5b175166bb634fdb", size = 210373, upload-time = "2024-08-04T19:44:07.079Z" }, + { url = "https://files.pythonhosted.org/packages/8c/f9/9aa4dfb751cb01c949c990d136a0f92027fbcc5781c6e921df1cb1563f20/coverage-7.6.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a4acd025ecc06185ba2b801f2de85546e0b8ac787cf9d3b06e7e2a69f925b106", size = 207007, upload-time = "2024-08-04T19:44:09.453Z" }, + { url = "https://files.pythonhosted.org/packages/b9/67/e1413d5a8591622a46dd04ff80873b04c849268831ed5c304c16433e7e30/coverage-7.6.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a6d3adcf24b624a7b778533480e32434a39ad8fa30c315208f6d3e5542aeb6e9", size = 207269, upload-time = "2024-08-04T19:44:11.045Z" }, + { url = "https://files.pythonhosted.org/packages/14/5b/9dec847b305e44a5634d0fb8498d135ab1d88330482b74065fcec0622224/coverage-7.6.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d0c212c49b6c10e6951362f7c6df3329f04c2b1c28499563d4035d964ab8e08c", size = 239886, upload-time = "2024-08-04T19:44:12.83Z" }, + { url = "https://files.pythonhosted.org/packages/7b/b7/35760a67c168e29f454928f51f970342d23cf75a2bb0323e0f07334c85f3/coverage-7.6.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6e81d7a3e58882450ec4186ca59a3f20a5d4440f25b1cff6f0902ad890e6748a", size = 237037, upload-time = "2024-08-04T19:44:15.393Z" }, + { url = "https://files.pythonhosted.org/packages/f7/95/d2fd31f1d638df806cae59d7daea5abf2b15b5234016a5ebb502c2f3f7ee/coverage-7.6.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78b260de9790fd81e69401c2dc8b17da47c8038176a79092a89cb2b7d945d060", size = 239038, upload-time = "2024-08-04T19:44:17.466Z" }, + { url = "https://files.pythonhosted.org/packages/6e/bd/110689ff5752b67924efd5e2aedf5190cbbe245fc81b8dec1abaffba619d/coverage-7.6.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a78d169acd38300060b28d600344a803628c3fd585c912cacc9ea8790fe96862", size = 238690, upload-time = "2024-08-04T19:44:19.336Z" }, + { url = "https://files.pythonhosted.org/packages/d3/a8/08d7b38e6ff8df52331c83130d0ab92d9c9a8b5462f9e99c9f051a4ae206/coverage-7.6.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2c09f4ce52cb99dd7505cd0fc8e0e37c77b87f46bc9c1eb03fe3bc9991085388", size = 236765, upload-time = "2024-08-04T19:44:20.994Z" }, + { url = "https://files.pythonhosted.org/packages/d6/6a/9cf96839d3147d55ae713eb2d877f4d777e7dc5ba2bce227167d0118dfe8/coverage-7.6.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6878ef48d4227aace338d88c48738a4258213cd7b74fd9a3d4d7582bb1d8a155", size = 238611, upload-time = "2024-08-04T19:44:22.616Z" }, + { url = "https://files.pythonhosted.org/packages/74/e4/7ff20d6a0b59eeaab40b3140a71e38cf52547ba21dbcf1d79c5a32bba61b/coverage-7.6.1-cp313-cp313-win32.whl", hash = "sha256:44df346d5215a8c0e360307d46ffaabe0f5d3502c8a1cefd700b34baf31d411a", size = 209671, upload-time = "2024-08-04T19:44:24.418Z" }, + { url = "https://files.pythonhosted.org/packages/35/59/1812f08a85b57c9fdb6d0b383d779e47b6f643bc278ed682859512517e83/coverage-7.6.1-cp313-cp313-win_amd64.whl", hash = "sha256:8284cf8c0dd272a247bc154eb6c95548722dce90d098c17a883ed36e67cdb129", size = 210368, upload-time = "2024-08-04T19:44:26.276Z" }, + { url = "https://files.pythonhosted.org/packages/9c/15/08913be1c59d7562a3e39fce20661a98c0a3f59d5754312899acc6cb8a2d/coverage-7.6.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:d3296782ca4eab572a1a4eca686d8bfb00226300dcefdf43faa25b5242ab8a3e", size = 207758, upload-time = "2024-08-04T19:44:29.028Z" }, + { url = "https://files.pythonhosted.org/packages/c4/ae/b5d58dff26cade02ada6ca612a76447acd69dccdbb3a478e9e088eb3d4b9/coverage-7.6.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:502753043567491d3ff6d08629270127e0c31d4184c4c8d98f92c26f65019962", size = 208035, upload-time = "2024-08-04T19:44:30.673Z" }, + { url = "https://files.pythonhosted.org/packages/b8/d7/62095e355ec0613b08dfb19206ce3033a0eedb6f4a67af5ed267a8800642/coverage-7.6.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a89ecca80709d4076b95f89f308544ec8f7b4727e8a547913a35f16717856cb", size = 250839, upload-time = "2024-08-04T19:44:32.412Z" }, + { url = "https://files.pythonhosted.org/packages/7c/1e/c2967cb7991b112ba3766df0d9c21de46b476d103e32bb401b1b2adf3380/coverage-7.6.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a318d68e92e80af8b00fa99609796fdbcdfef3629c77c6283566c6f02c6d6704", size = 246569, upload-time = "2024-08-04T19:44:34.547Z" }, + { url = "https://files.pythonhosted.org/packages/8b/61/a7a6a55dd266007ed3b1df7a3386a0d760d014542d72f7c2c6938483b7bd/coverage-7.6.1-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13b0a73a0896988f053e4fbb7de6d93388e6dd292b0d87ee51d106f2c11b465b", size = 248927, upload-time = "2024-08-04T19:44:36.313Z" }, + { url = "https://files.pythonhosted.org/packages/c8/fa/13a6f56d72b429f56ef612eb3bc5ce1b75b7ee12864b3bd12526ab794847/coverage-7.6.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4421712dbfc5562150f7554f13dde997a2e932a6b5f352edcce948a815efee6f", size = 248401, upload-time = "2024-08-04T19:44:38.155Z" }, + { url = "https://files.pythonhosted.org/packages/75/06/0429c652aa0fb761fc60e8c6b291338c9173c6aa0f4e40e1902345b42830/coverage-7.6.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:166811d20dfea725e2e4baa71fffd6c968a958577848d2131f39b60043400223", size = 246301, upload-time = "2024-08-04T19:44:39.883Z" }, + { url = "https://files.pythonhosted.org/packages/52/76/1766bb8b803a88f93c3a2d07e30ffa359467810e5cbc68e375ebe6906efb/coverage-7.6.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:225667980479a17db1048cb2bf8bfb39b8e5be8f164b8f6628b64f78a72cf9d3", size = 247598, upload-time = "2024-08-04T19:44:41.59Z" }, + { url = "https://files.pythonhosted.org/packages/66/8b/f54f8db2ae17188be9566e8166ac6df105c1c611e25da755738025708d54/coverage-7.6.1-cp313-cp313t-win32.whl", hash = "sha256:170d444ab405852903b7d04ea9ae9b98f98ab6d7e63e1115e82620807519797f", size = 210307, upload-time = "2024-08-04T19:44:43.301Z" }, + { url = "https://files.pythonhosted.org/packages/9f/b0/e0dca6da9170aefc07515cce067b97178cefafb512d00a87a1c717d2efd5/coverage-7.6.1-cp313-cp313t-win_amd64.whl", hash = "sha256:b9f222de8cded79c49bf184bdbc06630d4c58eec9459b939b4a690c82ed05657", size = 211453, upload-time = "2024-08-04T19:44:45.677Z" }, + { url = "https://files.pythonhosted.org/packages/81/d0/d9e3d554e38beea5a2e22178ddb16587dbcbe9a1ef3211f55733924bf7fa/coverage-7.6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6db04803b6c7291985a761004e9060b2bca08da6d04f26a7f2294b8623a0c1a0", size = 206674, upload-time = "2024-08-04T19:44:47.694Z" }, + { url = "https://files.pythonhosted.org/packages/38/ea/cab2dc248d9f45b2b7f9f1f596a4d75a435cb364437c61b51d2eb33ceb0e/coverage-7.6.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f1adfc8ac319e1a348af294106bc6a8458a0f1633cc62a1446aebc30c5fa186a", size = 207101, upload-time = "2024-08-04T19:44:49.32Z" }, + { url = "https://files.pythonhosted.org/packages/ca/6f/f82f9a500c7c5722368978a5390c418d2a4d083ef955309a8748ecaa8920/coverage-7.6.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a95324a9de9650a729239daea117df21f4b9868ce32e63f8b650ebe6cef5595b", size = 236554, upload-time = "2024-08-04T19:44:51.631Z" }, + { url = "https://files.pythonhosted.org/packages/a6/94/d3055aa33d4e7e733d8fa309d9adf147b4b06a82c1346366fc15a2b1d5fa/coverage-7.6.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b43c03669dc4618ec25270b06ecd3ee4fa94c7f9b3c14bae6571ca00ef98b0d3", size = 234440, upload-time = "2024-08-04T19:44:53.464Z" }, + { url = "https://files.pythonhosted.org/packages/e4/6e/885bcd787d9dd674de4a7d8ec83faf729534c63d05d51d45d4fa168f7102/coverage-7.6.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8929543a7192c13d177b770008bc4e8119f2e1f881d563fc6b6305d2d0ebe9de", size = 235889, upload-time = "2024-08-04T19:44:55.165Z" }, + { url = "https://files.pythonhosted.org/packages/f4/63/df50120a7744492710854860783d6819ff23e482dee15462c9a833cc428a/coverage-7.6.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:a09ece4a69cf399510c8ab25e0950d9cf2b42f7b3cb0374f95d2e2ff594478a6", size = 235142, upload-time = "2024-08-04T19:44:57.269Z" }, + { url = "https://files.pythonhosted.org/packages/3a/5d/9d0acfcded2b3e9ce1c7923ca52ccc00c78a74e112fc2aee661125b7843b/coverage-7.6.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:9054a0754de38d9dbd01a46621636689124d666bad1936d76c0341f7d71bf569", size = 233805, upload-time = "2024-08-04T19:44:59.033Z" }, + { url = "https://files.pythonhosted.org/packages/c4/56/50abf070cb3cd9b1dd32f2c88f083aab561ecbffbcd783275cb51c17f11d/coverage-7.6.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0dbde0f4aa9a16fa4d754356a8f2e36296ff4d83994b2c9d8398aa32f222f989", size = 234655, upload-time = "2024-08-04T19:45:01.398Z" }, + { url = "https://files.pythonhosted.org/packages/25/ee/b4c246048b8485f85a2426ef4abab88e48c6e80c74e964bea5cd4cd4b115/coverage-7.6.1-cp38-cp38-win32.whl", hash = "sha256:da511e6ad4f7323ee5702e6633085fb76c2f893aaf8ce4c51a0ba4fc07580ea7", size = 209296, upload-time = "2024-08-04T19:45:03.819Z" }, + { url = "https://files.pythonhosted.org/packages/5c/1c/96cf86b70b69ea2b12924cdf7cabb8ad10e6130eab8d767a1099fbd2a44f/coverage-7.6.1-cp38-cp38-win_amd64.whl", hash = "sha256:3f1156e3e8f2872197af3840d8ad307a9dd18e615dc64d9ee41696f287c57ad8", size = 210137, upload-time = "2024-08-04T19:45:06.25Z" }, + { url = "https://files.pythonhosted.org/packages/19/d3/d54c5aa83268779d54c86deb39c1c4566e5d45c155369ca152765f8db413/coverage-7.6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:abd5fd0db5f4dc9289408aaf34908072f805ff7792632250dcb36dc591d24255", size = 206688, upload-time = "2024-08-04T19:45:08.358Z" }, + { url = "https://files.pythonhosted.org/packages/a5/fe/137d5dca72e4a258b1bc17bb04f2e0196898fe495843402ce826a7419fe3/coverage-7.6.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:547f45fa1a93154bd82050a7f3cddbc1a7a4dd2a9bf5cb7d06f4ae29fe94eaf8", size = 207120, upload-time = "2024-08-04T19:45:11.526Z" }, + { url = "https://files.pythonhosted.org/packages/78/5b/a0a796983f3201ff5485323b225d7c8b74ce30c11f456017e23d8e8d1945/coverage-7.6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:645786266c8f18a931b65bfcefdbf6952dd0dea98feee39bd188607a9d307ed2", size = 235249, upload-time = "2024-08-04T19:45:13.202Z" }, + { url = "https://files.pythonhosted.org/packages/4e/e1/76089d6a5ef9d68f018f65411fcdaaeb0141b504587b901d74e8587606ad/coverage-7.6.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9e0b2df163b8ed01d515807af24f63de04bebcecbd6c3bfeff88385789fdf75a", size = 233237, upload-time = "2024-08-04T19:45:14.961Z" }, + { url = "https://files.pythonhosted.org/packages/9a/6f/eef79b779a540326fee9520e5542a8b428cc3bfa8b7c8f1022c1ee4fc66c/coverage-7.6.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:609b06f178fe8e9f89ef676532760ec0b4deea15e9969bf754b37f7c40326dbc", size = 234311, upload-time = "2024-08-04T19:45:16.924Z" }, + { url = "https://files.pythonhosted.org/packages/75/e1/656d65fb126c29a494ef964005702b012f3498db1a30dd562958e85a4049/coverage-7.6.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:702855feff378050ae4f741045e19a32d57d19f3e0676d589df0575008ea5004", size = 233453, upload-time = "2024-08-04T19:45:18.672Z" }, + { url = "https://files.pythonhosted.org/packages/68/6a/45f108f137941a4a1238c85f28fd9d048cc46b5466d6b8dda3aba1bb9d4f/coverage-7.6.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:2bdb062ea438f22d99cba0d7829c2ef0af1d768d1e4a4f528087224c90b132cb", size = 231958, upload-time = "2024-08-04T19:45:20.63Z" }, + { url = "https://files.pythonhosted.org/packages/9b/e7/47b809099168b8b8c72ae311efc3e88c8d8a1162b3ba4b8da3cfcdb85743/coverage-7.6.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:9c56863d44bd1c4fe2abb8a4d6f5371d197f1ac0ebdee542f07f35895fc07f36", size = 232938, upload-time = "2024-08-04T19:45:23.062Z" }, + { url = "https://files.pythonhosted.org/packages/52/80/052222ba7058071f905435bad0ba392cc12006380731c37afaf3fe749b88/coverage-7.6.1-cp39-cp39-win32.whl", hash = "sha256:6e2cd258d7d927d09493c8df1ce9174ad01b381d4729a9d8d4e38670ca24774c", size = 209352, upload-time = "2024-08-04T19:45:25.042Z" }, + { url = "https://files.pythonhosted.org/packages/b8/d8/1b92e0b3adcf384e98770a00ca095da1b5f7b483e6563ae4eb5e935d24a1/coverage-7.6.1-cp39-cp39-win_amd64.whl", hash = "sha256:06a737c882bd26d0d6ee7269b20b12f14a8704807a01056c80bb881a4b2ce6ca", size = 210153, upload-time = "2024-08-04T19:45:27.079Z" }, + { url = "https://files.pythonhosted.org/packages/a5/2b/0354ed096bca64dc8e32a7cbcae28b34cb5ad0b1fe2125d6d99583313ac0/coverage-7.6.1-pp38.pp39.pp310-none-any.whl", hash = "sha256:e9a6e0eb86070e8ccaedfbd9d38fec54864f3125ab95419970575b42af7541df", size = 198926, upload-time = "2024-08-04T19:45:28.875Z" }, ] [package.optional-dependencies] toml = [ - { name = "tomli", marker = "python_full_version <= '3.11'" }, + { name = "tomli", marker = "python_full_version < '3.9'" }, +] + +[[package]] +name = "coverage" +version = "7.10.7" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/51/26/d22c300112504f5f9a9fd2297ce33c35f3d353e4aeb987c8419453b2a7c2/coverage-7.10.7.tar.gz", hash = "sha256:f4ab143ab113be368a3e9b795f9cd7906c5ef407d6173fe9675a902e1fffc239", size = 827704, upload-time = "2025-09-21T20:03:56.815Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/6c/3a3f7a46888e69d18abe3ccc6fe4cb16cccb1e6a2f99698931dafca489e6/coverage-7.10.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:fc04cc7a3db33664e0c2d10eb8990ff6b3536f6842c9590ae8da4c614b9ed05a", size = 217987, upload-time = "2025-09-21T20:00:57.218Z" }, + { url = "https://files.pythonhosted.org/packages/03/94/952d30f180b1a916c11a56f5c22d3535e943aa22430e9e3322447e520e1c/coverage-7.10.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e201e015644e207139f7e2351980feb7040e6f4b2c2978892f3e3789d1c125e5", size = 218388, upload-time = "2025-09-21T20:01:00.081Z" }, + { url = "https://files.pythonhosted.org/packages/50/2b/9e0cf8ded1e114bcd8b2fd42792b57f1c4e9e4ea1824cde2af93a67305be/coverage-7.10.7-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:240af60539987ced2c399809bd34f7c78e8abe0736af91c3d7d0e795df633d17", size = 245148, upload-time = "2025-09-21T20:01:01.768Z" }, + { url = "https://files.pythonhosted.org/packages/19/20/d0384ac06a6f908783d9b6aa6135e41b093971499ec488e47279f5b846e6/coverage-7.10.7-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:8421e088bc051361b01c4b3a50fd39a4b9133079a2229978d9d30511fd05231b", size = 246958, upload-time = "2025-09-21T20:01:03.355Z" }, + { url = "https://files.pythonhosted.org/packages/60/83/5c283cff3d41285f8eab897651585db908a909c572bdc014bcfaf8a8b6ae/coverage-7.10.7-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6be8ed3039ae7f7ac5ce058c308484787c86e8437e72b30bf5e88b8ea10f3c87", size = 248819, upload-time = "2025-09-21T20:01:04.968Z" }, + { url = "https://files.pythonhosted.org/packages/60/22/02eb98fdc5ff79f423e990d877693e5310ae1eab6cb20ae0b0b9ac45b23b/coverage-7.10.7-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e28299d9f2e889e6d51b1f043f58d5f997c373cc12e6403b90df95b8b047c13e", size = 245754, upload-time = "2025-09-21T20:01:06.321Z" }, + { url = "https://files.pythonhosted.org/packages/b4/bc/25c83bcf3ad141b32cd7dc45485ef3c01a776ca3aa8ef0a93e77e8b5bc43/coverage-7.10.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c4e16bd7761c5e454f4efd36f345286d6f7c5fa111623c355691e2755cae3b9e", size = 246860, upload-time = "2025-09-21T20:01:07.605Z" }, + { url = "https://files.pythonhosted.org/packages/3c/b7/95574702888b58c0928a6e982038c596f9c34d52c5e5107f1eef729399b5/coverage-7.10.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b1c81d0e5e160651879755c9c675b974276f135558cf4ba79fee7b8413a515df", size = 244877, upload-time = "2025-09-21T20:01:08.829Z" }, + { url = "https://files.pythonhosted.org/packages/47/b6/40095c185f235e085df0e0b158f6bd68cc6e1d80ba6c7721dc81d97ec318/coverage-7.10.7-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:606cc265adc9aaedcc84f1f064f0e8736bc45814f15a357e30fca7ecc01504e0", size = 245108, upload-time = "2025-09-21T20:01:10.527Z" }, + { url = "https://files.pythonhosted.org/packages/c8/50/4aea0556da7a4b93ec9168420d170b55e2eb50ae21b25062513d020c6861/coverage-7.10.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:10b24412692df990dbc34f8fb1b6b13d236ace9dfdd68df5b28c2e39cafbba13", size = 245752, upload-time = "2025-09-21T20:01:11.857Z" }, + { url = "https://files.pythonhosted.org/packages/6a/28/ea1a84a60828177ae3b100cb6723838523369a44ec5742313ed7db3da160/coverage-7.10.7-cp310-cp310-win32.whl", hash = "sha256:b51dcd060f18c19290d9b8a9dd1e0181538df2ce0717f562fff6cf74d9fc0b5b", size = 220497, upload-time = "2025-09-21T20:01:13.459Z" }, + { url = "https://files.pythonhosted.org/packages/fc/1a/a81d46bbeb3c3fd97b9602ebaa411e076219a150489bcc2c025f151bd52d/coverage-7.10.7-cp310-cp310-win_amd64.whl", hash = "sha256:3a622ac801b17198020f09af3eaf45666b344a0d69fc2a6ffe2ea83aeef1d807", size = 221392, upload-time = "2025-09-21T20:01:14.722Z" }, + { url = "https://files.pythonhosted.org/packages/d2/5d/c1a17867b0456f2e9ce2d8d4708a4c3a089947d0bec9c66cdf60c9e7739f/coverage-7.10.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a609f9c93113be646f44c2a0256d6ea375ad047005d7f57a5c15f614dc1b2f59", size = 218102, upload-time = "2025-09-21T20:01:16.089Z" }, + { url = "https://files.pythonhosted.org/packages/54/f0/514dcf4b4e3698b9a9077f084429681bf3aad2b4a72578f89d7f643eb506/coverage-7.10.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:65646bb0359386e07639c367a22cf9b5bf6304e8630b565d0626e2bdf329227a", size = 218505, upload-time = "2025-09-21T20:01:17.788Z" }, + { url = "https://files.pythonhosted.org/packages/20/f6/9626b81d17e2a4b25c63ac1b425ff307ecdeef03d67c9a147673ae40dc36/coverage-7.10.7-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:5f33166f0dfcce728191f520bd2692914ec70fac2713f6bf3ce59c3deacb4699", size = 248898, upload-time = "2025-09-21T20:01:19.488Z" }, + { url = "https://files.pythonhosted.org/packages/b0/ef/bd8e719c2f7417ba03239052e099b76ea1130ac0cbb183ee1fcaa58aaff3/coverage-7.10.7-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:35f5e3f9e455bb17831876048355dca0f758b6df22f49258cb5a91da23ef437d", size = 250831, upload-time = "2025-09-21T20:01:20.817Z" }, + { url = "https://files.pythonhosted.org/packages/a5/b6/bf054de41ec948b151ae2b79a55c107f5760979538f5fb80c195f2517718/coverage-7.10.7-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4da86b6d62a496e908ac2898243920c7992499c1712ff7c2b6d837cc69d9467e", size = 252937, upload-time = "2025-09-21T20:01:22.171Z" }, + { url = "https://files.pythonhosted.org/packages/0f/e5/3860756aa6f9318227443c6ce4ed7bf9e70bb7f1447a0353f45ac5c7974b/coverage-7.10.7-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6b8b09c1fad947c84bbbc95eca841350fad9cbfa5a2d7ca88ac9f8d836c92e23", size = 249021, upload-time = "2025-09-21T20:01:23.907Z" }, + { url = "https://files.pythonhosted.org/packages/26/0f/bd08bd042854f7fd07b45808927ebcce99a7ed0f2f412d11629883517ac2/coverage-7.10.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4376538f36b533b46f8971d3a3e63464f2c7905c9800db97361c43a2b14792ab", size = 250626, upload-time = "2025-09-21T20:01:25.721Z" }, + { url = "https://files.pythonhosted.org/packages/8e/a7/4777b14de4abcc2e80c6b1d430f5d51eb18ed1d75fca56cbce5f2db9b36e/coverage-7.10.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:121da30abb574f6ce6ae09840dae322bef734480ceafe410117627aa54f76d82", size = 248682, upload-time = "2025-09-21T20:01:27.105Z" }, + { url = "https://files.pythonhosted.org/packages/34/72/17d082b00b53cd45679bad682fac058b87f011fd8b9fe31d77f5f8d3a4e4/coverage-7.10.7-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:88127d40df529336a9836870436fc2751c339fbaed3a836d42c93f3e4bd1d0a2", size = 248402, upload-time = "2025-09-21T20:01:28.629Z" }, + { url = "https://files.pythonhosted.org/packages/81/7a/92367572eb5bdd6a84bfa278cc7e97db192f9f45b28c94a9ca1a921c3577/coverage-7.10.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ba58bbcd1b72f136080c0bccc2400d66cc6115f3f906c499013d065ac33a4b61", size = 249320, upload-time = "2025-09-21T20:01:30.004Z" }, + { url = "https://files.pythonhosted.org/packages/2f/88/a23cc185f6a805dfc4fdf14a94016835eeb85e22ac3a0e66d5e89acd6462/coverage-7.10.7-cp311-cp311-win32.whl", hash = "sha256:972b9e3a4094b053a4e46832b4bc829fc8a8d347160eb39d03f1690316a99c14", size = 220536, upload-time = "2025-09-21T20:01:32.184Z" }, + { url = "https://files.pythonhosted.org/packages/fe/ef/0b510a399dfca17cec7bc2f05ad8bd78cf55f15c8bc9a73ab20c5c913c2e/coverage-7.10.7-cp311-cp311-win_amd64.whl", hash = "sha256:a7b55a944a7f43892e28ad4bc0561dfd5f0d73e605d1aa5c3c976b52aea121d2", size = 221425, upload-time = "2025-09-21T20:01:33.557Z" }, + { url = "https://files.pythonhosted.org/packages/51/7f/023657f301a276e4ba1850f82749bc136f5a7e8768060c2e5d9744a22951/coverage-7.10.7-cp311-cp311-win_arm64.whl", hash = "sha256:736f227fb490f03c6488f9b6d45855f8e0fd749c007f9303ad30efab0e73c05a", size = 220103, upload-time = "2025-09-21T20:01:34.929Z" }, + { url = "https://files.pythonhosted.org/packages/13/e4/eb12450f71b542a53972d19117ea5a5cea1cab3ac9e31b0b5d498df1bd5a/coverage-7.10.7-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7bb3b9ddb87ef7725056572368040c32775036472d5a033679d1fa6c8dc08417", size = 218290, upload-time = "2025-09-21T20:01:36.455Z" }, + { url = "https://files.pythonhosted.org/packages/37/66/593f9be12fc19fb36711f19a5371af79a718537204d16ea1d36f16bd78d2/coverage-7.10.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:18afb24843cbc175687225cab1138c95d262337f5473512010e46831aa0c2973", size = 218515, upload-time = "2025-09-21T20:01:37.982Z" }, + { url = "https://files.pythonhosted.org/packages/66/80/4c49f7ae09cafdacc73fbc30949ffe77359635c168f4e9ff33c9ebb07838/coverage-7.10.7-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:399a0b6347bcd3822be369392932884b8216d0944049ae22925631a9b3d4ba4c", size = 250020, upload-time = "2025-09-21T20:01:39.617Z" }, + { url = "https://files.pythonhosted.org/packages/a6/90/a64aaacab3b37a17aaedd83e8000142561a29eb262cede42d94a67f7556b/coverage-7.10.7-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:314f2c326ded3f4b09be11bc282eb2fc861184bc95748ae67b360ac962770be7", size = 252769, upload-time = "2025-09-21T20:01:41.341Z" }, + { url = "https://files.pythonhosted.org/packages/98/2e/2dda59afd6103b342e096f246ebc5f87a3363b5412609946c120f4e7750d/coverage-7.10.7-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c41e71c9cfb854789dee6fc51e46743a6d138b1803fab6cb860af43265b42ea6", size = 253901, upload-time = "2025-09-21T20:01:43.042Z" }, + { url = "https://files.pythonhosted.org/packages/53/dc/8d8119c9051d50f3119bb4a75f29f1e4a6ab9415cd1fa8bf22fcc3fb3b5f/coverage-7.10.7-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc01f57ca26269c2c706e838f6422e2a8788e41b3e3c65e2f41148212e57cd59", size = 250413, upload-time = "2025-09-21T20:01:44.469Z" }, + { url = "https://files.pythonhosted.org/packages/98/b3/edaff9c5d79ee4d4b6d3fe046f2b1d799850425695b789d491a64225d493/coverage-7.10.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a6442c59a8ac8b85812ce33bc4d05bde3fb22321fa8294e2a5b487c3505f611b", size = 251820, upload-time = "2025-09-21T20:01:45.915Z" }, + { url = "https://files.pythonhosted.org/packages/11/25/9a0728564bb05863f7e513e5a594fe5ffef091b325437f5430e8cfb0d530/coverage-7.10.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:78a384e49f46b80fb4c901d52d92abe098e78768ed829c673fbb53c498bef73a", size = 249941, upload-time = "2025-09-21T20:01:47.296Z" }, + { url = "https://files.pythonhosted.org/packages/e0/fd/ca2650443bfbef5b0e74373aac4df67b08180d2f184b482c41499668e258/coverage-7.10.7-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:5e1e9802121405ede4b0133aa4340ad8186a1d2526de5b7c3eca519db7bb89fb", size = 249519, upload-time = "2025-09-21T20:01:48.73Z" }, + { url = "https://files.pythonhosted.org/packages/24/79/f692f125fb4299b6f963b0745124998ebb8e73ecdfce4ceceb06a8c6bec5/coverage-7.10.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d41213ea25a86f69efd1575073d34ea11aabe075604ddf3d148ecfec9e1e96a1", size = 251375, upload-time = "2025-09-21T20:01:50.529Z" }, + { url = "https://files.pythonhosted.org/packages/5e/75/61b9bbd6c7d24d896bfeec57acba78e0f8deac68e6baf2d4804f7aae1f88/coverage-7.10.7-cp312-cp312-win32.whl", hash = "sha256:77eb4c747061a6af8d0f7bdb31f1e108d172762ef579166ec84542f711d90256", size = 220699, upload-time = "2025-09-21T20:01:51.941Z" }, + { url = "https://files.pythonhosted.org/packages/ca/f3/3bf7905288b45b075918d372498f1cf845b5b579b723c8fd17168018d5f5/coverage-7.10.7-cp312-cp312-win_amd64.whl", hash = "sha256:f51328ffe987aecf6d09f3cd9d979face89a617eacdaea43e7b3080777f647ba", size = 221512, upload-time = "2025-09-21T20:01:53.481Z" }, + { url = "https://files.pythonhosted.org/packages/5c/44/3e32dbe933979d05cf2dac5e697c8599cfe038aaf51223ab901e208d5a62/coverage-7.10.7-cp312-cp312-win_arm64.whl", hash = "sha256:bda5e34f8a75721c96085903c6f2197dc398c20ffd98df33f866a9c8fd95f4bf", size = 220147, upload-time = "2025-09-21T20:01:55.2Z" }, + { url = "https://files.pythonhosted.org/packages/9a/94/b765c1abcb613d103b64fcf10395f54d69b0ef8be6a0dd9c524384892cc7/coverage-7.10.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:981a651f543f2854abd3b5fcb3263aac581b18209be49863ba575de6edf4c14d", size = 218320, upload-time = "2025-09-21T20:01:56.629Z" }, + { url = "https://files.pythonhosted.org/packages/72/4f/732fff31c119bb73b35236dd333030f32c4bfe909f445b423e6c7594f9a2/coverage-7.10.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:73ab1601f84dc804f7812dc297e93cd99381162da39c47040a827d4e8dafe63b", size = 218575, upload-time = "2025-09-21T20:01:58.203Z" }, + { url = "https://files.pythonhosted.org/packages/87/02/ae7e0af4b674be47566707777db1aa375474f02a1d64b9323e5813a6cdd5/coverage-7.10.7-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:a8b6f03672aa6734e700bbcd65ff050fd19cddfec4b031cc8cf1c6967de5a68e", size = 249568, upload-time = "2025-09-21T20:01:59.748Z" }, + { url = "https://files.pythonhosted.org/packages/a2/77/8c6d22bf61921a59bce5471c2f1f7ac30cd4ac50aadde72b8c48d5727902/coverage-7.10.7-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:10b6ba00ab1132a0ce4428ff68cf50a25efd6840a42cdf4239c9b99aad83be8b", size = 252174, upload-time = "2025-09-21T20:02:01.192Z" }, + { url = "https://files.pythonhosted.org/packages/b1/20/b6ea4f69bbb52dac0aebd62157ba6a9dddbfe664f5af8122dac296c3ee15/coverage-7.10.7-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c79124f70465a150e89340de5963f936ee97097d2ef76c869708c4248c63ca49", size = 253447, upload-time = "2025-09-21T20:02:02.701Z" }, + { url = "https://files.pythonhosted.org/packages/f9/28/4831523ba483a7f90f7b259d2018fef02cb4d5b90bc7c1505d6e5a84883c/coverage-7.10.7-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:69212fbccdbd5b0e39eac4067e20a4a5256609e209547d86f740d68ad4f04911", size = 249779, upload-time = "2025-09-21T20:02:04.185Z" }, + { url = "https://files.pythonhosted.org/packages/a7/9f/4331142bc98c10ca6436d2d620c3e165f31e6c58d43479985afce6f3191c/coverage-7.10.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7ea7c6c9d0d286d04ed3541747e6597cbe4971f22648b68248f7ddcd329207f0", size = 251604, upload-time = "2025-09-21T20:02:06.034Z" }, + { url = "https://files.pythonhosted.org/packages/ce/60/bda83b96602036b77ecf34e6393a3836365481b69f7ed7079ab85048202b/coverage-7.10.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b9be91986841a75042b3e3243d0b3cb0b2434252b977baaf0cd56e960fe1e46f", size = 249497, upload-time = "2025-09-21T20:02:07.619Z" }, + { url = "https://files.pythonhosted.org/packages/5f/af/152633ff35b2af63977edd835d8e6430f0caef27d171edf2fc76c270ef31/coverage-7.10.7-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:b281d5eca50189325cfe1f365fafade89b14b4a78d9b40b05ddd1fc7d2a10a9c", size = 249350, upload-time = "2025-09-21T20:02:10.34Z" }, + { url = "https://files.pythonhosted.org/packages/9d/71/d92105d122bd21cebba877228990e1646d862e34a98bb3374d3fece5a794/coverage-7.10.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:99e4aa63097ab1118e75a848a28e40d68b08a5e19ce587891ab7fd04475e780f", size = 251111, upload-time = "2025-09-21T20:02:12.122Z" }, + { url = "https://files.pythonhosted.org/packages/a2/9e/9fdb08f4bf476c912f0c3ca292e019aab6712c93c9344a1653986c3fd305/coverage-7.10.7-cp313-cp313-win32.whl", hash = "sha256:dc7c389dce432500273eaf48f410b37886be9208b2dd5710aaf7c57fd442c698", size = 220746, upload-time = "2025-09-21T20:02:13.919Z" }, + { url = "https://files.pythonhosted.org/packages/b1/b1/a75fd25df44eab52d1931e89980d1ada46824c7a3210be0d3c88a44aaa99/coverage-7.10.7-cp313-cp313-win_amd64.whl", hash = "sha256:cac0fdca17b036af3881a9d2729a850b76553f3f716ccb0360ad4dbc06b3b843", size = 221541, upload-time = "2025-09-21T20:02:15.57Z" }, + { url = "https://files.pythonhosted.org/packages/14/3a/d720d7c989562a6e9a14b2c9f5f2876bdb38e9367126d118495b89c99c37/coverage-7.10.7-cp313-cp313-win_arm64.whl", hash = "sha256:4b6f236edf6e2f9ae8fcd1332da4e791c1b6ba0dc16a2dc94590ceccb482e546", size = 220170, upload-time = "2025-09-21T20:02:17.395Z" }, + { url = "https://files.pythonhosted.org/packages/bb/22/e04514bf2a735d8b0add31d2b4ab636fc02370730787c576bb995390d2d5/coverage-7.10.7-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a0ec07fd264d0745ee396b666d47cef20875f4ff2375d7c4f58235886cc1ef0c", size = 219029, upload-time = "2025-09-21T20:02:18.936Z" }, + { url = "https://files.pythonhosted.org/packages/11/0b/91128e099035ece15da3445d9015e4b4153a6059403452d324cbb0a575fa/coverage-7.10.7-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:dd5e856ebb7bfb7672b0086846db5afb4567a7b9714b8a0ebafd211ec7ce6a15", size = 219259, upload-time = "2025-09-21T20:02:20.44Z" }, + { url = "https://files.pythonhosted.org/packages/8b/51/66420081e72801536a091a0c8f8c1f88a5c4bf7b9b1bdc6222c7afe6dc9b/coverage-7.10.7-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:f57b2a3c8353d3e04acf75b3fed57ba41f5c0646bbf1d10c7c282291c97936b4", size = 260592, upload-time = "2025-09-21T20:02:22.313Z" }, + { url = "https://files.pythonhosted.org/packages/5d/22/9b8d458c2881b22df3db5bb3e7369e63d527d986decb6c11a591ba2364f7/coverage-7.10.7-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:1ef2319dd15a0b009667301a3f84452a4dc6fddfd06b0c5c53ea472d3989fbf0", size = 262768, upload-time = "2025-09-21T20:02:24.287Z" }, + { url = "https://files.pythonhosted.org/packages/f7/08/16bee2c433e60913c610ea200b276e8eeef084b0d200bdcff69920bd5828/coverage-7.10.7-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:83082a57783239717ceb0ad584de3c69cf581b2a95ed6bf81ea66034f00401c0", size = 264995, upload-time = "2025-09-21T20:02:26.133Z" }, + { url = "https://files.pythonhosted.org/packages/20/9d/e53eb9771d154859b084b90201e5221bca7674ba449a17c101a5031d4054/coverage-7.10.7-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:50aa94fb1fb9a397eaa19c0d5ec15a5edd03a47bf1a3a6111a16b36e190cff65", size = 259546, upload-time = "2025-09-21T20:02:27.716Z" }, + { url = "https://files.pythonhosted.org/packages/ad/b0/69bc7050f8d4e56a89fb550a1577d5d0d1db2278106f6f626464067b3817/coverage-7.10.7-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2120043f147bebb41c85b97ac45dd173595ff14f2a584f2963891cbcc3091541", size = 262544, upload-time = "2025-09-21T20:02:29.216Z" }, + { url = "https://files.pythonhosted.org/packages/ef/4b/2514b060dbd1bc0aaf23b852c14bb5818f244c664cb16517feff6bb3a5ab/coverage-7.10.7-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:2fafd773231dd0378fdba66d339f84904a8e57a262f583530f4f156ab83863e6", size = 260308, upload-time = "2025-09-21T20:02:31.226Z" }, + { url = "https://files.pythonhosted.org/packages/54/78/7ba2175007c246d75e496f64c06e94122bdb914790a1285d627a918bd271/coverage-7.10.7-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:0b944ee8459f515f28b851728ad224fa2d068f1513ef6b7ff1efafeb2185f999", size = 258920, upload-time = "2025-09-21T20:02:32.823Z" }, + { url = "https://files.pythonhosted.org/packages/c0/b3/fac9f7abbc841409b9a410309d73bfa6cfb2e51c3fada738cb607ce174f8/coverage-7.10.7-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4b583b97ab2e3efe1b3e75248a9b333bd3f8b0b1b8e5b45578e05e5850dfb2c2", size = 261434, upload-time = "2025-09-21T20:02:34.86Z" }, + { url = "https://files.pythonhosted.org/packages/ee/51/a03bec00d37faaa891b3ff7387192cef20f01604e5283a5fabc95346befa/coverage-7.10.7-cp313-cp313t-win32.whl", hash = "sha256:2a78cd46550081a7909b3329e2266204d584866e8d97b898cd7fb5ac8d888b1a", size = 221403, upload-time = "2025-09-21T20:02:37.034Z" }, + { url = "https://files.pythonhosted.org/packages/53/22/3cf25d614e64bf6d8e59c7c669b20d6d940bb337bdee5900b9ca41c820bb/coverage-7.10.7-cp313-cp313t-win_amd64.whl", hash = "sha256:33a5e6396ab684cb43dc7befa386258acb2d7fae7f67330ebb85ba4ea27938eb", size = 222469, upload-time = "2025-09-21T20:02:39.011Z" }, + { url = "https://files.pythonhosted.org/packages/49/a1/00164f6d30d8a01c3c9c48418a7a5be394de5349b421b9ee019f380df2a0/coverage-7.10.7-cp313-cp313t-win_arm64.whl", hash = "sha256:86b0e7308289ddde73d863b7683f596d8d21c7d8664ce1dee061d0bcf3fbb4bb", size = 220731, upload-time = "2025-09-21T20:02:40.939Z" }, + { url = "https://files.pythonhosted.org/packages/23/9c/5844ab4ca6a4dd97a1850e030a15ec7d292b5c5cb93082979225126e35dd/coverage-7.10.7-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:b06f260b16ead11643a5a9f955bd4b5fd76c1a4c6796aeade8520095b75de520", size = 218302, upload-time = "2025-09-21T20:02:42.527Z" }, + { url = "https://files.pythonhosted.org/packages/f0/89/673f6514b0961d1f0e20ddc242e9342f6da21eaba3489901b565c0689f34/coverage-7.10.7-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:212f8f2e0612778f09c55dd4872cb1f64a1f2b074393d139278ce902064d5b32", size = 218578, upload-time = "2025-09-21T20:02:44.468Z" }, + { url = "https://files.pythonhosted.org/packages/05/e8/261cae479e85232828fb17ad536765c88dd818c8470aca690b0ac6feeaa3/coverage-7.10.7-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3445258bcded7d4aa630ab8296dea4d3f15a255588dd535f980c193ab6b95f3f", size = 249629, upload-time = "2025-09-21T20:02:46.503Z" }, + { url = "https://files.pythonhosted.org/packages/82/62/14ed6546d0207e6eda876434e3e8475a3e9adbe32110ce896c9e0c06bb9a/coverage-7.10.7-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:bb45474711ba385c46a0bfe696c695a929ae69ac636cda8f532be9e8c93d720a", size = 252162, upload-time = "2025-09-21T20:02:48.689Z" }, + { url = "https://files.pythonhosted.org/packages/ff/49/07f00db9ac6478e4358165a08fb41b469a1b053212e8a00cb02f0d27a05f/coverage-7.10.7-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:813922f35bd800dca9994c5971883cbc0d291128a5de6b167c7aa697fcf59360", size = 253517, upload-time = "2025-09-21T20:02:50.31Z" }, + { url = "https://files.pythonhosted.org/packages/a2/59/c5201c62dbf165dfbc91460f6dbbaa85a8b82cfa6131ac45d6c1bfb52deb/coverage-7.10.7-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:93c1b03552081b2a4423091d6fb3787265b8f86af404cff98d1b5342713bdd69", size = 249632, upload-time = "2025-09-21T20:02:51.971Z" }, + { url = "https://files.pythonhosted.org/packages/07/ae/5920097195291a51fb00b3a70b9bbd2edbfe3c84876a1762bd1ef1565ebc/coverage-7.10.7-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:cc87dd1b6eaf0b848eebb1c86469b9f72a1891cb42ac7adcfbce75eadb13dd14", size = 251520, upload-time = "2025-09-21T20:02:53.858Z" }, + { url = "https://files.pythonhosted.org/packages/b9/3c/a815dde77a2981f5743a60b63df31cb322c944843e57dbd579326625a413/coverage-7.10.7-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:39508ffda4f343c35f3236fe8d1a6634a51f4581226a1262769d7f970e73bffe", size = 249455, upload-time = "2025-09-21T20:02:55.807Z" }, + { url = "https://files.pythonhosted.org/packages/aa/99/f5cdd8421ea656abefb6c0ce92556709db2265c41e8f9fc6c8ae0f7824c9/coverage-7.10.7-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:925a1edf3d810537c5a3abe78ec5530160c5f9a26b1f4270b40e62cc79304a1e", size = 249287, upload-time = "2025-09-21T20:02:57.784Z" }, + { url = "https://files.pythonhosted.org/packages/c3/7a/e9a2da6a1fc5d007dd51fca083a663ab930a8c4d149c087732a5dbaa0029/coverage-7.10.7-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2c8b9a0636f94c43cd3576811e05b89aa9bc2d0a85137affc544ae5cb0e4bfbd", size = 250946, upload-time = "2025-09-21T20:02:59.431Z" }, + { url = "https://files.pythonhosted.org/packages/ef/5b/0b5799aa30380a949005a353715095d6d1da81927d6dbed5def2200a4e25/coverage-7.10.7-cp314-cp314-win32.whl", hash = "sha256:b7b8288eb7cdd268b0304632da8cb0bb93fadcfec2fe5712f7b9cc8f4d487be2", size = 221009, upload-time = "2025-09-21T20:03:01.324Z" }, + { url = "https://files.pythonhosted.org/packages/da/b0/e802fbb6eb746de006490abc9bb554b708918b6774b722bb3a0e6aa1b7de/coverage-7.10.7-cp314-cp314-win_amd64.whl", hash = "sha256:1ca6db7c8807fb9e755d0379ccc39017ce0a84dcd26d14b5a03b78563776f681", size = 221804, upload-time = "2025-09-21T20:03:03.4Z" }, + { url = "https://files.pythonhosted.org/packages/9e/e8/71d0c8e374e31f39e3389bb0bd19e527d46f00ea8571ec7ec8fd261d8b44/coverage-7.10.7-cp314-cp314-win_arm64.whl", hash = "sha256:097c1591f5af4496226d5783d036bf6fd6cd0cbc132e071b33861de756efb880", size = 220384, upload-time = "2025-09-21T20:03:05.111Z" }, + { url = "https://files.pythonhosted.org/packages/62/09/9a5608d319fa3eba7a2019addeacb8c746fb50872b57a724c9f79f146969/coverage-7.10.7-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:a62c6ef0d50e6de320c270ff91d9dd0a05e7250cac2a800b7784bae474506e63", size = 219047, upload-time = "2025-09-21T20:03:06.795Z" }, + { url = "https://files.pythonhosted.org/packages/f5/6f/f58d46f33db9f2e3647b2d0764704548c184e6f5e014bef528b7f979ef84/coverage-7.10.7-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:9fa6e4dd51fe15d8738708a973470f67a855ca50002294852e9571cdbd9433f2", size = 219266, upload-time = "2025-09-21T20:03:08.495Z" }, + { url = "https://files.pythonhosted.org/packages/74/5c/183ffc817ba68e0b443b8c934c8795553eb0c14573813415bd59941ee165/coverage-7.10.7-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:8fb190658865565c549b6b4706856d6a7b09302c797eb2cf8e7fe9dabb043f0d", size = 260767, upload-time = "2025-09-21T20:03:10.172Z" }, + { url = "https://files.pythonhosted.org/packages/0f/48/71a8abe9c1ad7e97548835e3cc1adbf361e743e9d60310c5f75c9e7bf847/coverage-7.10.7-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:affef7c76a9ef259187ef31599a9260330e0335a3011732c4b9effa01e1cd6e0", size = 262931, upload-time = "2025-09-21T20:03:11.861Z" }, + { url = "https://files.pythonhosted.org/packages/84/fd/193a8fb132acfc0a901f72020e54be5e48021e1575bb327d8ee1097a28fd/coverage-7.10.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6e16e07d85ca0cf8bafe5f5d23a0b850064e8e945d5677492b06bbe6f09cc699", size = 265186, upload-time = "2025-09-21T20:03:13.539Z" }, + { url = "https://files.pythonhosted.org/packages/b1/8f/74ecc30607dd95ad50e3034221113ccb1c6d4e8085cc761134782995daae/coverage-7.10.7-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:03ffc58aacdf65d2a82bbeb1ffe4d01ead4017a21bfd0454983b88ca73af94b9", size = 259470, upload-time = "2025-09-21T20:03:15.584Z" }, + { url = "https://files.pythonhosted.org/packages/0f/55/79ff53a769f20d71b07023ea115c9167c0bb56f281320520cf64c5298a96/coverage-7.10.7-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:1b4fd784344d4e52647fd7857b2af5b3fbe6c239b0b5fa63e94eb67320770e0f", size = 262626, upload-time = "2025-09-21T20:03:17.673Z" }, + { url = "https://files.pythonhosted.org/packages/88/e2/dac66c140009b61ac3fc13af673a574b00c16efdf04f9b5c740703e953c0/coverage-7.10.7-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:0ebbaddb2c19b71912c6f2518e791aa8b9f054985a0769bdb3a53ebbc765c6a1", size = 260386, upload-time = "2025-09-21T20:03:19.36Z" }, + { url = "https://files.pythonhosted.org/packages/a2/f1/f48f645e3f33bb9ca8a496bc4a9671b52f2f353146233ebd7c1df6160440/coverage-7.10.7-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:a2d9a3b260cc1d1dbdb1c582e63ddcf5363426a1a68faa0f5da28d8ee3c722a0", size = 258852, upload-time = "2025-09-21T20:03:21.007Z" }, + { url = "https://files.pythonhosted.org/packages/bb/3b/8442618972c51a7affeead957995cfa8323c0c9bcf8fa5a027421f720ff4/coverage-7.10.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:a3cc8638b2480865eaa3926d192e64ce6c51e3d29c849e09d5b4ad95efae5399", size = 261534, upload-time = "2025-09-21T20:03:23.12Z" }, + { url = "https://files.pythonhosted.org/packages/b2/dc/101f3fa3a45146db0cb03f5b4376e24c0aac818309da23e2de0c75295a91/coverage-7.10.7-cp314-cp314t-win32.whl", hash = "sha256:67f8c5cbcd3deb7a60b3345dffc89a961a484ed0af1f6f73de91705cc6e31235", size = 221784, upload-time = "2025-09-21T20:03:24.769Z" }, + { url = "https://files.pythonhosted.org/packages/4c/a1/74c51803fc70a8a40d7346660379e144be772bab4ac7bb6e6b905152345c/coverage-7.10.7-cp314-cp314t-win_amd64.whl", hash = "sha256:e1ed71194ef6dea7ed2d5cb5f7243d4bcd334bfb63e59878519be558078f848d", size = 222905, upload-time = "2025-09-21T20:03:26.93Z" }, + { url = "https://files.pythonhosted.org/packages/12/65/f116a6d2127df30bcafbceef0302d8a64ba87488bf6f73a6d8eebf060873/coverage-7.10.7-cp314-cp314t-win_arm64.whl", hash = "sha256:7fe650342addd8524ca63d77b2362b02345e5f1a093266787d210c70a50b471a", size = 220922, upload-time = "2025-09-21T20:03:28.672Z" }, + { url = "https://files.pythonhosted.org/packages/a3/ad/d1c25053764b4c42eb294aae92ab617d2e4f803397f9c7c8295caa77a260/coverage-7.10.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fff7b9c3f19957020cac546c70025331113d2e61537f6e2441bc7657913de7d3", size = 217978, upload-time = "2025-09-21T20:03:30.362Z" }, + { url = "https://files.pythonhosted.org/packages/52/2f/b9f9daa39b80ece0b9548bbb723381e29bc664822d9a12c2135f8922c22b/coverage-7.10.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bc91b314cef27742da486d6839b677b3f2793dfe52b51bbbb7cf736d5c29281c", size = 218370, upload-time = "2025-09-21T20:03:32.147Z" }, + { url = "https://files.pythonhosted.org/packages/dd/6e/30d006c3b469e58449650642383dddf1c8fb63d44fdf92994bfd46570695/coverage-7.10.7-cp39-cp39-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:567f5c155eda8df1d3d439d40a45a6a5f029b429b06648235f1e7e51b522b396", size = 244802, upload-time = "2025-09-21T20:03:33.919Z" }, + { url = "https://files.pythonhosted.org/packages/b0/49/8a070782ce7e6b94ff6a0b6d7c65ba6bc3091d92a92cef4cd4eb0767965c/coverage-7.10.7-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2af88deffcc8a4d5974cf2d502251bc3b2db8461f0b66d80a449c33757aa9f40", size = 246625, upload-time = "2025-09-21T20:03:36.09Z" }, + { url = "https://files.pythonhosted.org/packages/6a/92/1c1c5a9e8677ce56d42b97bdaca337b2d4d9ebe703d8c174ede52dbabd5f/coverage-7.10.7-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c7315339eae3b24c2d2fa1ed7d7a38654cba34a13ef19fbcb9425da46d3dc594", size = 248399, upload-time = "2025-09-21T20:03:38.342Z" }, + { url = "https://files.pythonhosted.org/packages/c0/54/b140edee7257e815de7426d5d9846b58505dffc29795fff2dfb7f8a1c5a0/coverage-7.10.7-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:912e6ebc7a6e4adfdbb1aec371ad04c68854cd3bf3608b3514e7ff9062931d8a", size = 245142, upload-time = "2025-09-21T20:03:40.591Z" }, + { url = "https://files.pythonhosted.org/packages/e4/9e/6d6b8295940b118e8b7083b29226c71f6154f7ff41e9ca431f03de2eac0d/coverage-7.10.7-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f49a05acd3dfe1ce9715b657e28d138578bc40126760efb962322c56e9ca344b", size = 246284, upload-time = "2025-09-21T20:03:42.355Z" }, + { url = "https://files.pythonhosted.org/packages/db/e5/5e957ca747d43dbe4d9714358375c7546cb3cb533007b6813fc20fce37ad/coverage-7.10.7-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:cce2109b6219f22ece99db7644b9622f54a4e915dad65660ec435e89a3ea7cc3", size = 244353, upload-time = "2025-09-21T20:03:44.218Z" }, + { url = "https://files.pythonhosted.org/packages/9a/45/540fc5cc92536a1b783b7ef99450bd55a4b3af234aae35a18a339973ce30/coverage-7.10.7-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:f3c887f96407cea3916294046fc7dab611c2552beadbed4ea901cbc6a40cc7a0", size = 244430, upload-time = "2025-09-21T20:03:46.065Z" }, + { url = "https://files.pythonhosted.org/packages/75/0b/8287b2e5b38c8fe15d7e3398849bb58d382aedc0864ea0fa1820e8630491/coverage-7.10.7-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:635adb9a4507c9fd2ed65f39693fa31c9a3ee3a8e6dc64df033e8fdf52a7003f", size = 245311, upload-time = "2025-09-21T20:03:48.19Z" }, + { url = "https://files.pythonhosted.org/packages/0c/1d/29724999984740f0c86d03e6420b942439bf5bd7f54d4382cae386a9d1e9/coverage-7.10.7-cp39-cp39-win32.whl", hash = "sha256:5a02d5a850e2979b0a014c412573953995174743a3f7fa4ea5a6e9a3c5617431", size = 220500, upload-time = "2025-09-21T20:03:50.024Z" }, + { url = "https://files.pythonhosted.org/packages/43/11/4b1e6b129943f905ca54c339f343877b55b365ae2558806c1be4f7476ed5/coverage-7.10.7-cp39-cp39-win_amd64.whl", hash = "sha256:c134869d5ffe34547d14e174c866fd8fe2254918cc0a95e99052903bc1543e07", size = 221408, upload-time = "2025-09-21T20:03:51.803Z" }, + { url = "https://files.pythonhosted.org/packages/ec/16/114df1c291c22cac3b0c127a73e0af5c12ed7bbb6558d310429a0ae24023/coverage-7.10.7-py3-none-any.whl", hash = "sha256:f7941f6f2fe6dd6807a1208737b8a0cbcf1cc6d7b07d24998ad2d63590868260", size = 209952, upload-time = "2025-09-21T20:03:53.918Z" }, +] + +[package.optional-dependencies] +toml = [ + { name = "tomli", marker = "python_full_version == '3.9.*'" }, +] + +[[package]] +name = "coverage" +version = "7.13.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/23/f9/e92df5e07f3fc8d4c7f9a0f146ef75446bf870351cd37b788cf5897f8079/coverage-7.13.1.tar.gz", hash = "sha256:b7593fe7eb5feaa3fbb461ac79aac9f9fc0387a5ca8080b0c6fe2ca27b091afd", size = 825862, upload-time = "2025-12-28T15:42:56.969Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2d/9a/3742e58fd04b233df95c012ee9f3dfe04708a5e1d32613bd2d47d4e1be0d/coverage-7.13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e1fa280b3ad78eea5be86f94f461c04943d942697e0dac889fa18fff8f5f9147", size = 218633, upload-time = "2025-12-28T15:40:10.165Z" }, + { url = "https://files.pythonhosted.org/packages/7e/45/7e6bdc94d89cd7c8017ce735cf50478ddfe765d4fbf0c24d71d30ea33d7a/coverage-7.13.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c3d8c679607220979434f494b139dfb00131ebf70bb406553d69c1ff01a5c33d", size = 219147, upload-time = "2025-12-28T15:40:12.069Z" }, + { url = "https://files.pythonhosted.org/packages/f7/38/0d6a258625fd7f10773fe94097dc16937a5f0e3e0cdf3adef67d3ac6baef/coverage-7.13.1-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:339dc63b3eba969067b00f41f15ad161bf2946613156fb131266d8debc8e44d0", size = 245894, upload-time = "2025-12-28T15:40:13.556Z" }, + { url = "https://files.pythonhosted.org/packages/27/58/409d15ea487986994cbd4d06376e9860e9b157cfbfd402b1236770ab8dd2/coverage-7.13.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:db622b999ffe49cb891f2fff3b340cdc2f9797d01a0a202a0973ba2562501d90", size = 247721, upload-time = "2025-12-28T15:40:15.37Z" }, + { url = "https://files.pythonhosted.org/packages/da/bf/6e8056a83fd7a96c93341f1ffe10df636dd89f26d5e7b9ca511ce3bcf0df/coverage-7.13.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d1443ba9acbb593fa7c1c29e011d7c9761545fe35e7652e85ce7f51a16f7e08d", size = 249585, upload-time = "2025-12-28T15:40:17.226Z" }, + { url = "https://files.pythonhosted.org/packages/f4/15/e1daff723f9f5959acb63cbe35b11203a9df77ee4b95b45fffd38b318390/coverage-7.13.1-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c832ec92c4499ac463186af72f9ed4d8daec15499b16f0a879b0d1c8e5cf4a3b", size = 246597, upload-time = "2025-12-28T15:40:19.028Z" }, + { url = "https://files.pythonhosted.org/packages/74/a6/1efd31c5433743a6ddbc9d37ac30c196bb07c7eab3d74fbb99b924c93174/coverage-7.13.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:562ec27dfa3f311e0db1ba243ec6e5f6ab96b1edfcfc6cf86f28038bc4961ce6", size = 247626, upload-time = "2025-12-28T15:40:20.846Z" }, + { url = "https://files.pythonhosted.org/packages/6d/9f/1609267dd3e749f57fdd66ca6752567d1c13b58a20a809dc409b263d0b5f/coverage-7.13.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:4de84e71173d4dada2897e5a0e1b7877e5eefbfe0d6a44edee6ce31d9b8ec09e", size = 245629, upload-time = "2025-12-28T15:40:22.397Z" }, + { url = "https://files.pythonhosted.org/packages/e2/f6/6815a220d5ec2466383d7cc36131b9fa6ecbe95c50ec52a631ba733f306a/coverage-7.13.1-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:a5a68357f686f8c4d527a2dc04f52e669c2fc1cbde38f6f7eb6a0e58cbd17cae", size = 245901, upload-time = "2025-12-28T15:40:23.836Z" }, + { url = "https://files.pythonhosted.org/packages/ac/58/40576554cd12e0872faf6d2c0eb3bc85f71d78427946ddd19ad65201e2c0/coverage-7.13.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:77cc258aeb29a3417062758975521eae60af6f79e930d6993555eeac6a8eac29", size = 246505, upload-time = "2025-12-28T15:40:25.421Z" }, + { url = "https://files.pythonhosted.org/packages/3b/77/9233a90253fba576b0eee81707b5781d0e21d97478e5377b226c5b096c0f/coverage-7.13.1-cp310-cp310-win32.whl", hash = "sha256:bb4f8c3c9a9f34423dba193f241f617b08ffc63e27f67159f60ae6baf2dcfe0f", size = 221257, upload-time = "2025-12-28T15:40:27.217Z" }, + { url = "https://files.pythonhosted.org/packages/e0/43/e842ff30c1a0a623ec80db89befb84a3a7aad7bfe44a6ea77d5a3e61fedd/coverage-7.13.1-cp310-cp310-win_amd64.whl", hash = "sha256:c8e2706ceb622bc63bac98ebb10ef5da80ed70fbd8a7999a5076de3afaef0fb1", size = 222191, upload-time = "2025-12-28T15:40:28.916Z" }, + { url = "https://files.pythonhosted.org/packages/b4/9b/77baf488516e9ced25fc215a6f75d803493fc3f6a1a1227ac35697910c2a/coverage-7.13.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1a55d509a1dc5a5b708b5dad3b5334e07a16ad4c2185e27b40e4dba796ab7f88", size = 218755, upload-time = "2025-12-28T15:40:30.812Z" }, + { url = "https://files.pythonhosted.org/packages/d7/cd/7ab01154e6eb79ee2fab76bf4d89e94c6648116557307ee4ebbb85e5c1bf/coverage-7.13.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4d010d080c4888371033baab27e47c9df7d6fb28d0b7b7adf85a4a49be9298b3", size = 219257, upload-time = "2025-12-28T15:40:32.333Z" }, + { url = "https://files.pythonhosted.org/packages/01/d5/b11ef7863ffbbdb509da0023fad1e9eda1c0eaea61a6d2ea5b17d4ac706e/coverage-7.13.1-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:d938b4a840fb1523b9dfbbb454f652967f18e197569c32266d4d13f37244c3d9", size = 249657, upload-time = "2025-12-28T15:40:34.1Z" }, + { url = "https://files.pythonhosted.org/packages/f7/7c/347280982982383621d29b8c544cf497ae07ac41e44b1ca4903024131f55/coverage-7.13.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:bf100a3288f9bb7f919b87eb84f87101e197535b9bd0e2c2b5b3179633324fee", size = 251581, upload-time = "2025-12-28T15:40:36.131Z" }, + { url = "https://files.pythonhosted.org/packages/82/f6/ebcfed11036ade4c0d75fa4453a6282bdd225bc073862766eec184a4c643/coverage-7.13.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ef6688db9bf91ba111ae734ba6ef1a063304a881749726e0d3575f5c10a9facf", size = 253691, upload-time = "2025-12-28T15:40:37.626Z" }, + { url = "https://files.pythonhosted.org/packages/02/92/af8f5582787f5d1a8b130b2dcba785fa5e9a7a8e121a0bb2220a6fdbdb8a/coverage-7.13.1-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0b609fc9cdbd1f02e51f67f51e5aee60a841ef58a68d00d5ee2c0faf357481a3", size = 249799, upload-time = "2025-12-28T15:40:39.47Z" }, + { url = "https://files.pythonhosted.org/packages/24/aa/0e39a2a3b16eebf7f193863323edbff38b6daba711abaaf807d4290cf61a/coverage-7.13.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c43257717611ff5e9a1d79dce8e47566235ebda63328718d9b65dd640bc832ef", size = 251389, upload-time = "2025-12-28T15:40:40.954Z" }, + { url = "https://files.pythonhosted.org/packages/73/46/7f0c13111154dc5b978900c0ccee2e2ca239b910890e674a77f1363d483e/coverage-7.13.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e09fbecc007f7b6afdfb3b07ce5bd9f8494b6856dd4f577d26c66c391b829851", size = 249450, upload-time = "2025-12-28T15:40:42.489Z" }, + { url = "https://files.pythonhosted.org/packages/ac/ca/e80da6769e8b669ec3695598c58eef7ad98b0e26e66333996aee6316db23/coverage-7.13.1-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:a03a4f3a19a189919c7055098790285cc5c5b0b3976f8d227aea39dbf9f8bfdb", size = 249170, upload-time = "2025-12-28T15:40:44.279Z" }, + { url = "https://files.pythonhosted.org/packages/af/18/9e29baabdec1a8644157f572541079b4658199cfd372a578f84228e860de/coverage-7.13.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3820778ea1387c2b6a818caec01c63adc5b3750211af6447e8dcfb9b6f08dbba", size = 250081, upload-time = "2025-12-28T15:40:45.748Z" }, + { url = "https://files.pythonhosted.org/packages/00/f8/c3021625a71c3b2f516464d322e41636aea381018319050a8114105872ee/coverage-7.13.1-cp311-cp311-win32.whl", hash = "sha256:ff10896fa55167371960c5908150b434b71c876dfab97b69478f22c8b445ea19", size = 221281, upload-time = "2025-12-28T15:40:47.232Z" }, + { url = "https://files.pythonhosted.org/packages/27/56/c216625f453df6e0559ed666d246fcbaaa93f3aa99eaa5080cea1229aa3d/coverage-7.13.1-cp311-cp311-win_amd64.whl", hash = "sha256:a998cc0aeeea4c6d5622a3754da5a493055d2d95186bad877b0a34ea6e6dbe0a", size = 222215, upload-time = "2025-12-28T15:40:49.19Z" }, + { url = "https://files.pythonhosted.org/packages/5c/9a/be342e76f6e531cae6406dc46af0d350586f24d9b67fdfa6daee02df71af/coverage-7.13.1-cp311-cp311-win_arm64.whl", hash = "sha256:fea07c1a39a22614acb762e3fbbb4011f65eedafcb2948feeef641ac78b4ee5c", size = 220886, upload-time = "2025-12-28T15:40:51.067Z" }, + { url = "https://files.pythonhosted.org/packages/ce/8a/87af46cccdfa78f53db747b09f5f9a21d5fc38d796834adac09b30a8ce74/coverage-7.13.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6f34591000f06e62085b1865c9bc5f7858df748834662a51edadfd2c3bfe0dd3", size = 218927, upload-time = "2025-12-28T15:40:52.814Z" }, + { url = "https://files.pythonhosted.org/packages/82/a8/6e22fdc67242a4a5a153f9438d05944553121c8f4ba70cb072af4c41362e/coverage-7.13.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b67e47c5595b9224599016e333f5ec25392597a89d5744658f837d204e16c63e", size = 219288, upload-time = "2025-12-28T15:40:54.262Z" }, + { url = "https://files.pythonhosted.org/packages/d0/0a/853a76e03b0f7c4375e2ca025df45c918beb367f3e20a0a8e91967f6e96c/coverage-7.13.1-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3e7b8bd70c48ffb28461ebe092c2345536fb18bbbf19d287c8913699735f505c", size = 250786, upload-time = "2025-12-28T15:40:56.059Z" }, + { url = "https://files.pythonhosted.org/packages/ea/b4/694159c15c52b9f7ec7adf49d50e5f8ee71d3e9ef38adb4445d13dd56c20/coverage-7.13.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:c223d078112e90dc0e5c4e35b98b9584164bea9fbbd221c0b21c5241f6d51b62", size = 253543, upload-time = "2025-12-28T15:40:57.585Z" }, + { url = "https://files.pythonhosted.org/packages/96/b2/7f1f0437a5c855f87e17cf5d0dc35920b6440ff2b58b1ba9788c059c26c8/coverage-7.13.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:794f7c05af0763b1bbd1b9e6eff0e52ad068be3b12cd96c87de037b01390c968", size = 254635, upload-time = "2025-12-28T15:40:59.443Z" }, + { url = "https://files.pythonhosted.org/packages/e9/d1/73c3fdb8d7d3bddd9473c9c6a2e0682f09fc3dfbcb9c3f36412a7368bcab/coverage-7.13.1-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0642eae483cc8c2902e4af7298bf886d605e80f26382124cddc3967c2a3df09e", size = 251202, upload-time = "2025-12-28T15:41:01.328Z" }, + { url = "https://files.pythonhosted.org/packages/66/3c/f0edf75dcc152f145d5598329e864bbbe04ab78660fe3e8e395f9fff010f/coverage-7.13.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9f5e772ed5fef25b3de9f2008fe67b92d46831bd2bc5bdc5dd6bfd06b83b316f", size = 252566, upload-time = "2025-12-28T15:41:03.319Z" }, + { url = "https://files.pythonhosted.org/packages/17/b3/e64206d3c5f7dcbceafd14941345a754d3dbc78a823a6ed526e23b9cdaab/coverage-7.13.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:45980ea19277dc0a579e432aef6a504fe098ef3a9032ead15e446eb0f1191aee", size = 250711, upload-time = "2025-12-28T15:41:06.411Z" }, + { url = "https://files.pythonhosted.org/packages/dc/ad/28a3eb970a8ef5b479ee7f0c484a19c34e277479a5b70269dc652b730733/coverage-7.13.1-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:e4f18eca6028ffa62adbd185a8f1e1dd242f2e68164dba5c2b74a5204850b4cf", size = 250278, upload-time = "2025-12-28T15:41:08.285Z" }, + { url = "https://files.pythonhosted.org/packages/54/e3/c8f0f1a93133e3e1291ca76cbb63565bd4b5c5df63b141f539d747fff348/coverage-7.13.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f8dca5590fec7a89ed6826fce625595279e586ead52e9e958d3237821fbc750c", size = 252154, upload-time = "2025-12-28T15:41:09.969Z" }, + { url = "https://files.pythonhosted.org/packages/d0/bf/9939c5d6859c380e405b19e736321f1c7d402728792f4c752ad1adcce005/coverage-7.13.1-cp312-cp312-win32.whl", hash = "sha256:ff86d4e85188bba72cfb876df3e11fa243439882c55957184af44a35bd5880b7", size = 221487, upload-time = "2025-12-28T15:41:11.468Z" }, + { url = "https://files.pythonhosted.org/packages/fa/dc/7282856a407c621c2aad74021680a01b23010bb8ebf427cf5eacda2e876f/coverage-7.13.1-cp312-cp312-win_amd64.whl", hash = "sha256:16cc1da46c04fb0fb128b4dc430b78fa2aba8a6c0c9f8eb391fd5103409a6ac6", size = 222299, upload-time = "2025-12-28T15:41:13.386Z" }, + { url = "https://files.pythonhosted.org/packages/10/79/176a11203412c350b3e9578620013af35bcdb79b651eb976f4a4b32044fa/coverage-7.13.1-cp312-cp312-win_arm64.whl", hash = "sha256:8d9bc218650022a768f3775dd7fdac1886437325d8d295d923ebcfef4892ad5c", size = 220941, upload-time = "2025-12-28T15:41:14.975Z" }, + { url = "https://files.pythonhosted.org/packages/a3/a4/e98e689347a1ff1a7f67932ab535cef82eb5e78f32a9e4132e114bbb3a0a/coverage-7.13.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:cb237bfd0ef4d5eb6a19e29f9e528ac67ac3be932ea6b44fb6cc09b9f3ecff78", size = 218951, upload-time = "2025-12-28T15:41:16.653Z" }, + { url = "https://files.pythonhosted.org/packages/32/33/7cbfe2bdc6e2f03d6b240d23dc45fdaf3fd270aaf2d640be77b7f16989ab/coverage-7.13.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1dcb645d7e34dcbcc96cd7c132b1fc55c39263ca62eb961c064eb3928997363b", size = 219325, upload-time = "2025-12-28T15:41:18.609Z" }, + { url = "https://files.pythonhosted.org/packages/59/f6/efdabdb4929487baeb7cb2a9f7dac457d9356f6ad1b255be283d58b16316/coverage-7.13.1-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3d42df8201e00384736f0df9be2ced39324c3907607d17d50d50116c989d84cd", size = 250309, upload-time = "2025-12-28T15:41:20.629Z" }, + { url = "https://files.pythonhosted.org/packages/12/da/91a52516e9d5aea87d32d1523f9cdcf7a35a3b298e6be05d6509ba3cfab2/coverage-7.13.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fa3edde1aa8807de1d05934982416cb3ec46d1d4d91e280bcce7cca01c507992", size = 252907, upload-time = "2025-12-28T15:41:22.257Z" }, + { url = "https://files.pythonhosted.org/packages/75/38/f1ea837e3dc1231e086db1638947e00d264e7e8c41aa8ecacf6e1e0c05f4/coverage-7.13.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9edd0e01a343766add6817bc448408858ba6b489039eaaa2018474e4001651a4", size = 254148, upload-time = "2025-12-28T15:41:23.87Z" }, + { url = "https://files.pythonhosted.org/packages/7f/43/f4f16b881aaa34954ba446318dea6b9ed5405dd725dd8daac2358eda869a/coverage-7.13.1-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:985b7836931d033570b94c94713c6dba5f9d3ff26045f72c3e5dbc5fe3361e5a", size = 250515, upload-time = "2025-12-28T15:41:25.437Z" }, + { url = "https://files.pythonhosted.org/packages/84/34/8cba7f00078bd468ea914134e0144263194ce849ec3baad187ffb6203d1c/coverage-7.13.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ffed1e4980889765c84a5d1a566159e363b71d6b6fbaf0bebc9d3c30bc016766", size = 252292, upload-time = "2025-12-28T15:41:28.459Z" }, + { url = "https://files.pythonhosted.org/packages/8c/a4/cffac66c7652d84ee4ac52d3ccb94c015687d3b513f9db04bfcac2ac800d/coverage-7.13.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:8842af7f175078456b8b17f1b73a0d16a65dcbdc653ecefeb00a56b3c8c298c4", size = 250242, upload-time = "2025-12-28T15:41:30.02Z" }, + { url = "https://files.pythonhosted.org/packages/f4/78/9a64d462263dde416f3c0067efade7b52b52796f489b1037a95b0dc389c9/coverage-7.13.1-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:ccd7a6fca48ca9c131d9b0a2972a581e28b13416fc313fb98b6d24a03ce9a398", size = 250068, upload-time = "2025-12-28T15:41:32.007Z" }, + { url = "https://files.pythonhosted.org/packages/69/c8/a8994f5fece06db7c4a97c8fc1973684e178599b42e66280dded0524ef00/coverage-7.13.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0403f647055de2609be776965108447deb8e384fe4a553c119e3ff6bfbab4784", size = 251846, upload-time = "2025-12-28T15:41:33.946Z" }, + { url = "https://files.pythonhosted.org/packages/cc/f7/91fa73c4b80305c86598a2d4e54ba22df6bf7d0d97500944af7ef155d9f7/coverage-7.13.1-cp313-cp313-win32.whl", hash = "sha256:549d195116a1ba1e1ae2f5ca143f9777800f6636eab917d4f02b5310d6d73461", size = 221512, upload-time = "2025-12-28T15:41:35.519Z" }, + { url = "https://files.pythonhosted.org/packages/45/0b/0768b4231d5a044da8f75e097a8714ae1041246bb765d6b5563bab456735/coverage-7.13.1-cp313-cp313-win_amd64.whl", hash = "sha256:5899d28b5276f536fcf840b18b61a9fce23cc3aec1d114c44c07fe94ebeaa500", size = 222321, upload-time = "2025-12-28T15:41:37.371Z" }, + { url = "https://files.pythonhosted.org/packages/9b/b8/bdcb7253b7e85157282450262008f1366aa04663f3e3e4c30436f596c3e2/coverage-7.13.1-cp313-cp313-win_arm64.whl", hash = "sha256:868a2fae76dfb06e87291bcbd4dcbcc778a8500510b618d50496e520bd94d9b9", size = 220949, upload-time = "2025-12-28T15:41:39.553Z" }, + { url = "https://files.pythonhosted.org/packages/70/52/f2be52cc445ff75ea8397948c96c1b4ee14f7f9086ea62fc929c5ae7b717/coverage-7.13.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:67170979de0dacac3f3097d02b0ad188d8edcea44ccc44aaa0550af49150c7dc", size = 219643, upload-time = "2025-12-28T15:41:41.567Z" }, + { url = "https://files.pythonhosted.org/packages/47/79/c85e378eaa239e2edec0c5523f71542c7793fe3340954eafb0bc3904d32d/coverage-7.13.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f80e2bb21bfab56ed7405c2d79d34b5dc0bc96c2c1d2a067b643a09fb756c43a", size = 219997, upload-time = "2025-12-28T15:41:43.418Z" }, + { url = "https://files.pythonhosted.org/packages/fe/9b/b1ade8bfb653c0bbce2d6d6e90cc6c254cbb99b7248531cc76253cb4da6d/coverage-7.13.1-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:f83351e0f7dcdb14d7326c3d8d8c4e915fa685cbfdc6281f9470d97a04e9dfe4", size = 261296, upload-time = "2025-12-28T15:41:45.207Z" }, + { url = "https://files.pythonhosted.org/packages/1f/af/ebf91e3e1a2473d523e87e87fd8581e0aa08741b96265730e2d79ce78d8d/coverage-7.13.1-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:bb3f6562e89bad0110afbe64e485aac2462efdce6232cdec7862a095dc3412f6", size = 263363, upload-time = "2025-12-28T15:41:47.163Z" }, + { url = "https://files.pythonhosted.org/packages/c4/8b/fb2423526d446596624ac7fde12ea4262e66f86f5120114c3cfd0bb2befa/coverage-7.13.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:77545b5dcda13b70f872c3b5974ac64c21d05e65b1590b441c8560115dc3a0d1", size = 265783, upload-time = "2025-12-28T15:41:49.03Z" }, + { url = "https://files.pythonhosted.org/packages/9b/26/ef2adb1e22674913b89f0fe7490ecadcef4a71fa96f5ced90c60ec358789/coverage-7.13.1-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a4d240d260a1aed814790bbe1f10a5ff31ce6c21bc78f0da4a1e8268d6c80dbd", size = 260508, upload-time = "2025-12-28T15:41:51.035Z" }, + { url = "https://files.pythonhosted.org/packages/ce/7d/f0f59b3404caf662e7b5346247883887687c074ce67ba453ea08c612b1d5/coverage-7.13.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d2287ac9360dec3837bfdad969963a5d073a09a85d898bd86bea82aa8876ef3c", size = 263357, upload-time = "2025-12-28T15:41:52.631Z" }, + { url = "https://files.pythonhosted.org/packages/1a/b1/29896492b0b1a047604d35d6fa804f12818fa30cdad660763a5f3159e158/coverage-7.13.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:0d2c11f3ea4db66b5cbded23b20185c35066892c67d80ec4be4bab257b9ad1e0", size = 260978, upload-time = "2025-12-28T15:41:54.589Z" }, + { url = "https://files.pythonhosted.org/packages/48/f2/971de1238a62e6f0a4128d37adadc8bb882ee96afbe03ff1570291754629/coverage-7.13.1-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:3fc6a169517ca0d7ca6846c3c5392ef2b9e38896f61d615cb75b9e7134d4ee1e", size = 259877, upload-time = "2025-12-28T15:41:56.263Z" }, + { url = "https://files.pythonhosted.org/packages/6a/fc/0474efcbb590ff8628830e9aaec5f1831594874360e3251f1fdec31d07a3/coverage-7.13.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d10a2ed46386e850bb3de503a54f9fe8192e5917fcbb143bfef653a9355e9a53", size = 262069, upload-time = "2025-12-28T15:41:58.093Z" }, + { url = "https://files.pythonhosted.org/packages/88/4f/3c159b7953db37a7b44c0eab8a95c37d1aa4257c47b4602c04022d5cb975/coverage-7.13.1-cp313-cp313t-win32.whl", hash = "sha256:75a6f4aa904301dab8022397a22c0039edc1f51e90b83dbd4464b8a38dc87842", size = 222184, upload-time = "2025-12-28T15:41:59.763Z" }, + { url = "https://files.pythonhosted.org/packages/58/a5/6b57d28f81417f9335774f20679d9d13b9a8fb90cd6160957aa3b54a2379/coverage-7.13.1-cp313-cp313t-win_amd64.whl", hash = "sha256:309ef5706e95e62578cda256b97f5e097916a2c26247c287bbe74794e7150df2", size = 223250, upload-time = "2025-12-28T15:42:01.52Z" }, + { url = "https://files.pythonhosted.org/packages/81/7c/160796f3b035acfbb58be80e02e484548595aa67e16a6345e7910ace0a38/coverage-7.13.1-cp313-cp313t-win_arm64.whl", hash = "sha256:92f980729e79b5d16d221038dbf2e8f9a9136afa072f9d5d6ed4cb984b126a09", size = 221521, upload-time = "2025-12-28T15:42:03.275Z" }, + { url = "https://files.pythonhosted.org/packages/aa/8e/ba0e597560c6563fc0adb902fda6526df5d4aa73bb10adf0574d03bd2206/coverage-7.13.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:97ab3647280d458a1f9adb85244e81587505a43c0c7cff851f5116cd2814b894", size = 218996, upload-time = "2025-12-28T15:42:04.978Z" }, + { url = "https://files.pythonhosted.org/packages/6b/8e/764c6e116f4221dc7aa26c4061181ff92edb9c799adae6433d18eeba7a14/coverage-7.13.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:8f572d989142e0908e6acf57ad1b9b86989ff057c006d13b76c146ec6a20216a", size = 219326, upload-time = "2025-12-28T15:42:06.691Z" }, + { url = "https://files.pythonhosted.org/packages/4f/a6/6130dc6d8da28cdcbb0f2bf8865aeca9b157622f7c0031e48c6cf9a0e591/coverage-7.13.1-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:d72140ccf8a147e94274024ff6fd8fb7811354cf7ef88b1f0a988ebaa5bc774f", size = 250374, upload-time = "2025-12-28T15:42:08.786Z" }, + { url = "https://files.pythonhosted.org/packages/82/2b/783ded568f7cd6b677762f780ad338bf4b4750205860c17c25f7c708995e/coverage-7.13.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:d3c9f051b028810f5a87c88e5d6e9af3c0ff32ef62763bf15d29f740453ca909", size = 252882, upload-time = "2025-12-28T15:42:10.515Z" }, + { url = "https://files.pythonhosted.org/packages/cd/b2/9808766d082e6a4d59eb0cc881a57fc1600eb2c5882813eefff8254f71b5/coverage-7.13.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f398ba4df52d30b1763f62eed9de5620dcde96e6f491f4c62686736b155aa6e4", size = 254218, upload-time = "2025-12-28T15:42:12.208Z" }, + { url = "https://files.pythonhosted.org/packages/44/ea/52a985bb447c871cb4d2e376e401116520991b597c85afdde1ea9ef54f2c/coverage-7.13.1-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:132718176cc723026d201e347f800cd1a9e4b62ccd3f82476950834dad501c75", size = 250391, upload-time = "2025-12-28T15:42:14.21Z" }, + { url = "https://files.pythonhosted.org/packages/7f/1d/125b36cc12310718873cfc8209ecfbc1008f14f4f5fa0662aa608e579353/coverage-7.13.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:9e549d642426e3579b3f4b92d0431543b012dcb6e825c91619d4e93b7363c3f9", size = 252239, upload-time = "2025-12-28T15:42:16.292Z" }, + { url = "https://files.pythonhosted.org/packages/6a/16/10c1c164950cade470107f9f14bbac8485f8fb8515f515fca53d337e4a7f/coverage-7.13.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:90480b2134999301eea795b3a9dbf606c6fbab1b489150c501da84a959442465", size = 250196, upload-time = "2025-12-28T15:42:18.54Z" }, + { url = "https://files.pythonhosted.org/packages/2a/c6/cd860fac08780c6fd659732f6ced1b40b79c35977c1356344e44d72ba6c4/coverage-7.13.1-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:e825dbb7f84dfa24663dd75835e7257f8882629fc11f03ecf77d84a75134b864", size = 250008, upload-time = "2025-12-28T15:42:20.365Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3a/a8c58d3d38f82a5711e1e0a67268362af48e1a03df27c03072ac30feefcf/coverage-7.13.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:623dcc6d7a7ba450bbdbeedbaa0c42b329bdae16491af2282f12a7e809be7eb9", size = 251671, upload-time = "2025-12-28T15:42:22.114Z" }, + { url = "https://files.pythonhosted.org/packages/f0/bc/fd4c1da651d037a1e3d53e8cb3f8182f4b53271ffa9a95a2e211bacc0349/coverage-7.13.1-cp314-cp314-win32.whl", hash = "sha256:6e73ebb44dca5f708dc871fe0b90cf4cff1a13f9956f747cc87b535a840386f5", size = 221777, upload-time = "2025-12-28T15:42:23.919Z" }, + { url = "https://files.pythonhosted.org/packages/4b/50/71acabdc8948464c17e90b5ffd92358579bd0910732c2a1c9537d7536aa6/coverage-7.13.1-cp314-cp314-win_amd64.whl", hash = "sha256:be753b225d159feb397bd0bf91ae86f689bad0da09d3b301478cd39b878ab31a", size = 222592, upload-time = "2025-12-28T15:42:25.619Z" }, + { url = "https://files.pythonhosted.org/packages/f7/c8/a6fb943081bb0cc926499c7907731a6dc9efc2cbdc76d738c0ab752f1a32/coverage-7.13.1-cp314-cp314-win_arm64.whl", hash = "sha256:228b90f613b25ba0019361e4ab81520b343b622fc657daf7e501c4ed6a2366c0", size = 221169, upload-time = "2025-12-28T15:42:27.629Z" }, + { url = "https://files.pythonhosted.org/packages/16/61/d5b7a0a0e0e40d62e59bc8c7aa1afbd86280d82728ba97f0673b746b78e2/coverage-7.13.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:60cfb538fe9ef86e5b2ab0ca8fc8d62524777f6c611dcaf76dc16fbe9b8e698a", size = 219730, upload-time = "2025-12-28T15:42:29.306Z" }, + { url = "https://files.pythonhosted.org/packages/a3/2c/8881326445fd071bb49514d1ce97d18a46a980712b51fee84f9ab42845b4/coverage-7.13.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:57dfc8048c72ba48a8c45e188d811e5efd7e49b387effc8fb17e97936dde5bf6", size = 220001, upload-time = "2025-12-28T15:42:31.319Z" }, + { url = "https://files.pythonhosted.org/packages/b5/d7/50de63af51dfa3a7f91cc37ad8fcc1e244b734232fbc8b9ab0f3c834a5cd/coverage-7.13.1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3f2f725aa3e909b3c5fdb8192490bdd8e1495e85906af74fe6e34a2a77ba0673", size = 261370, upload-time = "2025-12-28T15:42:32.992Z" }, + { url = "https://files.pythonhosted.org/packages/e1/2c/d31722f0ec918fd7453b2758312729f645978d212b410cd0f7c2aed88a94/coverage-7.13.1-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:9ee68b21909686eeb21dfcba2c3b81fee70dcf38b140dcd5aa70680995fa3aa5", size = 263485, upload-time = "2025-12-28T15:42:34.759Z" }, + { url = "https://files.pythonhosted.org/packages/fa/7a/2c114fa5c5fc08ba0777e4aec4c97e0b4a1afcb69c75f1f54cff78b073ab/coverage-7.13.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:724b1b270cb13ea2e6503476e34541a0b1f62280bc997eab443f87790202033d", size = 265890, upload-time = "2025-12-28T15:42:36.517Z" }, + { url = "https://files.pythonhosted.org/packages/65/d9/f0794aa1c74ceabc780fe17f6c338456bbc4e96bd950f2e969f48ac6fb20/coverage-7.13.1-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:916abf1ac5cf7eb16bc540a5bf75c71c43a676f5c52fcb9fe75a2bd75fb944e8", size = 260445, upload-time = "2025-12-28T15:42:38.646Z" }, + { url = "https://files.pythonhosted.org/packages/49/23/184b22a00d9bb97488863ced9454068c79e413cb23f472da6cbddc6cfc52/coverage-7.13.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:776483fd35b58d8afe3acbd9988d5de592ab6da2d2a865edfdbc9fdb43e7c486", size = 263357, upload-time = "2025-12-28T15:42:40.788Z" }, + { url = "https://files.pythonhosted.org/packages/7d/bd/58af54c0c9199ea4190284f389005779d7daf7bf3ce40dcd2d2b2f96da69/coverage-7.13.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:b6f3b96617e9852703f5b633ea01315ca45c77e879584f283c44127f0f1ec564", size = 260959, upload-time = "2025-12-28T15:42:42.808Z" }, + { url = "https://files.pythonhosted.org/packages/4b/2a/6839294e8f78a4891bf1df79d69c536880ba2f970d0ff09e7513d6e352e9/coverage-7.13.1-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:bd63e7b74661fed317212fab774e2a648bc4bb09b35f25474f8e3325d2945cd7", size = 259792, upload-time = "2025-12-28T15:42:44.818Z" }, + { url = "https://files.pythonhosted.org/packages/ba/c3/528674d4623283310ad676c5af7414b9850ab6d55c2300e8aa4b945ec554/coverage-7.13.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:933082f161bbb3e9f90d00990dc956120f608cdbcaeea15c4d897f56ef4fe416", size = 262123, upload-time = "2025-12-28T15:42:47.108Z" }, + { url = "https://files.pythonhosted.org/packages/06/c5/8c0515692fb4c73ac379d8dc09b18eaf0214ecb76ea6e62467ba7a1556ff/coverage-7.13.1-cp314-cp314t-win32.whl", hash = "sha256:18be793c4c87de2965e1c0f060f03d9e5aff66cfeae8e1dbe6e5b88056ec153f", size = 222562, upload-time = "2025-12-28T15:42:49.144Z" }, + { url = "https://files.pythonhosted.org/packages/05/0e/c0a0c4678cb30dac735811db529b321d7e1c9120b79bd728d4f4d6b010e9/coverage-7.13.1-cp314-cp314t-win_amd64.whl", hash = "sha256:0e42e0ec0cd3e0d851cb3c91f770c9301f48647cb2877cb78f74bdaa07639a79", size = 223670, upload-time = "2025-12-28T15:42:51.218Z" }, + { url = "https://files.pythonhosted.org/packages/f5/5f/b177aa0011f354abf03a8f30a85032686d290fdeed4222b27d36b4372a50/coverage-7.13.1-cp314-cp314t-win_arm64.whl", hash = "sha256:eaecf47ef10c72ece9a2a92118257da87e460e113b83cc0d2905cbbe931792b4", size = 221707, upload-time = "2025-12-28T15:42:53.034Z" }, + { url = "https://files.pythonhosted.org/packages/cc/48/d9f421cb8da5afaa1a64570d9989e00fb7955e6acddc5a12979f7666ef60/coverage-7.13.1-py3-none-any.whl", hash = "sha256:2016745cb3ba554469d02819d78958b571792bb68e31302610e898f80dd3a573", size = 210722, upload-time = "2025-12-28T15:42:54.901Z" }, +] + +[package.optional-dependencies] +toml = [ + { name = "tomli", marker = "python_full_version >= '3.10' and python_full_version <= '3.11'" }, ] [[package]] name = "crytic-compile" -version = "0.3.10" +version = "0.3.11" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "cbor2" }, + { name = "cbor2", version = "5.6.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "cbor2", version = "5.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "pycryptodome" }, { name = "solc-select" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/78/9b/6834afa2cc6fb3d958027e4c9c24c09735f9c6caeef4e205c22838f772bf/crytic_compile-0.3.10.tar.gz", hash = "sha256:0d7e03b4109709dd175a4550345369548f99fc1c96183c34ccc4dd21a7c41601", size = 78818, upload-time = "2025-05-02T17:08:37.134Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f4/cb/669ed02fbfe17091998f52a7e3326ac276409117ea10a2c36b2a852a22f9/crytic_compile-0.3.11.tar.gz", hash = "sha256:d4e2253d5d81ec3a75deb3ab9fc2c2d2db56e835001cf07f3703911d74b56716", size = 79374, upload-time = "2025-11-14T13:12:35.447Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b8/8e/c0d4e5be2f58e8582a533a8cca69375ee5c0b78e506b658adc99ff3184d5/crytic_compile-0.3.10-py3-none-any.whl", hash = "sha256:52d8338850d7a90a757bc24bb29f72ff1553028d7417bed805fa5e176785c5ff", size = 98637, upload-time = "2025-05-02T17:08:35.672Z" }, + { url = "https://files.pythonhosted.org/packages/90/34/1f0f1e8c5d6dffa75a7b3e734f2dd2a462489b8cd5e5f9219d0d8a22a780/crytic_compile-0.3.11-py3-none-any.whl", hash = "sha256:10f99c5f03ab124a14603093d65e534b58f078999bc3a39997cb3588fa82f80b", size = 99222, upload-time = "2025-11-14T13:12:34.062Z" }, ] [[package]] name = "cytoolz" version = "1.0.1" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] dependencies = [ - { name = "toolz" }, + { name = "toolz", version = "1.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/a7/f9/3243eed3a6545c2a33a21f74f655e3fcb5d2192613cd3db81a93369eb339/cytoolz-1.0.1.tar.gz", hash = "sha256:89cc3161b89e1bb3ed7636f74ed2e55984fd35516904fc878cae216e42b2c7d6", size = 626652, upload-time = "2024-12-13T05:47:36.672Z" } wheels = [ @@ -673,6 +1384,20 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d8/03/dbb9d47556ee54337e7e0ac209d17ceff2d2a197c34de08005abc7a7449b/cytoolz-1.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:738b2350f340ff8af883eb301054eb724997f795d20d90daec7911c389d61581", size = 2069785, upload-time = "2024-12-13T05:46:10.122Z" }, { url = "https://files.pythonhosted.org/packages/ea/f8/11bb7b8947002231faae3ec2342df5896afbc19eb783a332cce6d219ff79/cytoolz-1.0.1-cp313-cp313-win32.whl", hash = "sha256:9cbd9c103df54fcca42be55ef40e7baea624ac30ee0b8bf1149f21146d1078d9", size = 320685, upload-time = "2024-12-13T05:46:11.553Z" }, { url = "https://files.pythonhosted.org/packages/40/eb/dde173cf2357084ca9423950be1f2f11ab11d65d8bd30165bfb8fd4213e9/cytoolz-1.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:90e577e08d3a4308186d9e1ec06876d4756b1e8164b92971c69739ea17e15297", size = 362898, upload-time = "2024-12-13T05:46:12.771Z" }, + { url = "https://files.pythonhosted.org/packages/60/50/0d4bf1ab5859d32f238ae1b7c368ce577490cce156ca050d3581685ed701/cytoolz-1.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f3a509e4ac8e711703c368476b9bbce921fcef6ebb87fa3501525f7000e44185", size = 404405, upload-time = "2024-12-13T05:46:15.409Z" }, + { url = "https://files.pythonhosted.org/packages/b3/4c/0982d37fb1e99a47ce92bcc6439bb268b841e3b1366a956f32e4d1cab9db/cytoolz-1.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a7eecab6373e933dfbf4fdc0601d8fd7614f8de76793912a103b5fccf98170cd", size = 385287, upload-time = "2024-12-13T05:46:16.699Z" }, + { url = "https://files.pythonhosted.org/packages/b3/a7/f7bd0362782051f9255ae17b2139f041081bfec6a08e6345b841c55fb9a5/cytoolz-1.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e55ed62087f6e3e30917b5f55350c3b6be6470b849c6566018419cd159d2cebc", size = 1999956, upload-time = "2024-12-13T05:46:18.013Z" }, + { url = "https://files.pythonhosted.org/packages/0d/64/73c883ec8097c513963b6b76c34aa7f01a809e02b52983e985b4f1b55e78/cytoolz-1.0.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:43de33d99a4ccc07234cecd81f385456b55b0ea9c39c9eebf42f024c313728a5", size = 2107500, upload-time = "2024-12-13T05:46:20.182Z" }, + { url = "https://files.pythonhosted.org/packages/c9/32/a706c812a914ade2bb7e4cdadaef9882aaa16ab8f5224692d308e652a145/cytoolz-1.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:139bed875828e1727018aa0982aa140e055cbafccb7fd89faf45cbb4f2a21514", size = 2090621, upload-time = "2024-12-13T05:46:21.705Z" }, + { url = "https://files.pythonhosted.org/packages/8f/4b/7b6b8565586678c5dc5d230fc806892cc0da140055dbba359ee3defb7caa/cytoolz-1.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22c12671194b518aa8ce2f4422bd5064f25ab57f410ba0b78705d0a219f4a97a", size = 2018656, upload-time = "2024-12-13T05:46:23.149Z" }, + { url = "https://files.pythonhosted.org/packages/70/5f/5b8c4b2bf09364b3ddf6b97da9381de5caee105eb13c762d788cac5a4694/cytoolz-1.0.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:79888f2f7dc25709cd5d37b032a8833741e6a3692c8823be181d542b5999128e", size = 1921562, upload-time = "2024-12-13T05:46:24.578Z" }, + { url = "https://files.pythonhosted.org/packages/78/1c/4f54a94877c741777f42442be8ed61c99b8a6fe2341165a836211539858f/cytoolz-1.0.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:51628b4eb41fa25bd428f8f7b5b74fbb05f3ae65fbd265019a0dd1ded4fdf12a", size = 1917777, upload-time = "2024-12-13T05:46:26.045Z" }, + { url = "https://files.pythonhosted.org/packages/5b/80/d5a1b2fa5fc16a60abe7997693a28cd61d7b57525c994a42add625a475df/cytoolz-1.0.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:1db9eb7179285403d2fb56ba1ff6ec35a44921b5e2fa5ca19d69f3f9f0285ea5", size = 1919666, upload-time = "2024-12-13T05:46:27.38Z" }, + { url = "https://files.pythonhosted.org/packages/04/f9/09cba24298ca161fe8662c9d525cb94b500f7803e46061722a9826a645f7/cytoolz-1.0.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:08ab7efae08e55812340bfd1b3f09f63848fe291675e2105eab1aa5327d3a16e", size = 2058239, upload-time = "2024-12-13T05:46:30.924Z" }, + { url = "https://files.pythonhosted.org/packages/ae/29/96a67a21efe83f45cf26f3c0bbeefb2663488365d704a4a85394740176f0/cytoolz-1.0.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:e5fdc5264f884e7c0a1711a81dff112708a64b9c8561654ee578bfdccec6be09", size = 2062239, upload-time = "2024-12-13T05:46:32.432Z" }, + { url = "https://files.pythonhosted.org/packages/d9/b0/a038045a4ed33e3ee98b4605f7367749da01eccf5d8d55b3ace0350d85c0/cytoolz-1.0.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:90d6a2e6ab891043ee655ec99d5e77455a9bee9e1131bdfcfb745edde81200dd", size = 1972408, upload-time = "2024-12-13T05:46:35.506Z" }, + { url = "https://files.pythonhosted.org/packages/29/92/579765ba89aaaf4ddf41be526b2cc89598a389a310ae7f57414c83cd1a9f/cytoolz-1.0.1-cp38-cp38-win32.whl", hash = "sha256:08946e083faa5147751b34fbf78ab931f149ef758af5c1092932b459e18dcf5c", size = 325949, upload-time = "2024-12-13T05:46:36.938Z" }, + { url = "https://files.pythonhosted.org/packages/2f/08/621133091a51a991261bb2da95882420616360390d8875b21b5c8212889f/cytoolz-1.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:a91b4e10a9c03796c0dc93e47ebe25bb41ecc6fafc3cf5197c603cf767a3d44d", size = 368331, upload-time = "2024-12-13T05:46:38.807Z" }, { url = "https://files.pythonhosted.org/packages/79/bc/16442ead0b86f64c75602d47c158ef22d5c82a004fcff3b3954b9102d255/cytoolz-1.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:980c323e626ba298b77ae62871b2de7c50b9d7219e2ddf706f52dd34b8be7349", size = 405818, upload-time = "2024-12-13T05:46:41.324Z" }, { url = "https://files.pythonhosted.org/packages/77/33/e660a734fcda5f83336cab7ce20d6011dfdc67f6e0e6d833badedf2a3b21/cytoolz-1.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:45f6fa1b512bc2a0f2de5123db932df06c7f69d12874fe06d67772b2828e2c8b", size = 386289, upload-time = "2024-12-13T05:46:42.69Z" }, { url = "https://files.pythonhosted.org/packages/fa/06/d776935b9f5753ee84630857b95e6f77656266e3ad456c97ae78829fc983/cytoolz-1.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f93f42d9100c415155ad1f71b0de362541afd4ac95e3153467c4c79972521b6b", size = 1946297, upload-time = "2024-12-13T05:46:44.118Z" }, @@ -692,6 +1417,11 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/bd/80/3ae356c5e7b8d7dc7d1adb52f6932fee85cd748ed4e1217c269d2dfd610f/cytoolz-1.0.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5a515df8f8aa6e1eaaf397761a6e4aff2eef73b5f920aedf271416d5471ae5ee", size = 406261, upload-time = "2024-12-13T05:47:12.24Z" }, { url = "https://files.pythonhosted.org/packages/0c/31/8e43761ffc82d90bf9cab7e0959712eedcd1e33c211397e143dd42d7af57/cytoolz-1.0.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92c398e7b7023460bea2edffe5fcd0a76029580f06c3f6938ac3d198b47156f3", size = 397207, upload-time = "2024-12-13T05:47:13.561Z" }, { url = "https://files.pythonhosted.org/packages/d1/b9/fe9da37090b6444c65f848a83e390f87d8cb43d6a4df46de1556ad7e5ceb/cytoolz-1.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:3237e56211e03b13df47435b2369f5df281e02b04ad80a948ebd199b7bc10a47", size = 343358, upload-time = "2024-12-13T05:47:16.291Z" }, + { url = "https://files.pythonhosted.org/packages/43/c3/89dcb5dc948c7cf84bf6e8ce819157a054189a85515d0236a663b3dbee5b/cytoolz-1.0.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ba0d1da50aab1909b165f615ba1125c8b01fcc30d606c42a61c42ea0269b5e2c", size = 343294, upload-time = "2024-12-13T05:47:18.885Z" }, + { url = "https://files.pythonhosted.org/packages/eb/be/bb1ea66e58c11f56fc923a3eaf2cdaeb01469de540cd0eb433907918bf38/cytoolz-1.0.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25b6e8dec29aa5a390092d193abd673e027d2c0b50774ae816a31454286c45c7", size = 385808, upload-time = "2024-12-13T05:47:22.292Z" }, + { url = "https://files.pythonhosted.org/packages/9e/4c/8d3f8064be5d324593133235455bc867d735ce1c33ba09cf35563d66b9b3/cytoolz-1.0.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:36cd6989ebb2f18fe9af8f13e3c61064b9f741a40d83dc5afeb0322338ad25f2", size = 406710, upload-time = "2024-12-13T05:47:23.668Z" }, + { url = "https://files.pythonhosted.org/packages/f7/25/3deda616b5ea3f02a90ea82aa9ce35be39fa01b2c9afd40c851a0c81dc9e/cytoolz-1.0.1-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a47394f8ab7fca3201f40de61fdeea20a2baffb101485ae14901ea89c3f6c95d", size = 397364, upload-time = "2024-12-13T05:47:24.935Z" }, + { url = "https://files.pythonhosted.org/packages/24/50/942a241e11aeedb4602260ebaab2bc08ea94ae7f026f4d500da0cd93faf2/cytoolz-1.0.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:d00ac423542af944302e034e618fb055a0c4e87ba704cd6a79eacfa6ac83a3c9", size = 341976, upload-time = "2024-12-13T05:47:27.482Z" }, { url = "https://files.pythonhosted.org/packages/99/cf/fcea9849eeedc569d0d00bcab8d0ad07d0d0aa79664e6ff9e8745ccfd9a3/cytoolz-1.0.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a5ca923d1fa632f7a4fb33c0766c6fba7f87141a055c305c3e47e256fb99c413", size = 344869, upload-time = "2024-12-13T05:47:28.994Z" }, { url = "https://files.pythonhosted.org/packages/9c/38/106e0bd8610ebe1a8717c686e0663227a61cc03ed869b1610e1d8455f746/cytoolz-1.0.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:058bf996bcae9aad3acaeeb937d42e0c77c081081e67e24e9578a6a353cb7fb2", size = 384769, upload-time = "2024-12-13T05:47:30.309Z" }, { url = "https://files.pythonhosted.org/packages/1c/a9/ac8a43c3adb93e9ccc42aa01c3fc86a0142f8265e3b869794e6fc471b976/cytoolz-1.0.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:69e2a1f41a3dad94a17aef4a5cc003323359b9f0a9d63d4cc867cb5690a2551d", size = 404914, upload-time = "2024-12-13T05:47:32.395Z" }, @@ -699,6 +1429,195 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b4/90/93e056d7554601619cf1f171c00f83b8a8f75beed680f35b413433f251c5/cytoolz-1.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:54d3d36bbf0d4344d1afa22c58725d1668e30ff9de3a8f56b03db1a6da0acb11", size = 342845, upload-time = "2024-12-13T05:47:35.08Z" }, ] +[[package]] +name = "cytoolz" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "toolz", version = "1.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/bd/d4/16916f3dc20a3f5455b63c35dcb260b3716f59ce27a93586804e70e431d5/cytoolz-1.1.0.tar.gz", hash = "sha256:13a7bf254c3c0d28b12e2290b82aed0f0977a4c2a2bf84854fcdc7796a29f3b0", size = 642510, upload-time = "2025-10-19T00:44:56.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/7a/3244e6e3587be9abfee3b1c320e43a279831b3c3a31fe5d08c1ee6193e6b/cytoolz-1.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:72d7043a88ea5e61ba9d17ea0d1c1eff10f645d7edfcc4e56a31ef78be287644", size = 1307813, upload-time = "2025-10-19T00:39:34.198Z" }, + { url = "https://files.pythonhosted.org/packages/32/7e/eaf504ca59addce323ef4d4ffedc2913d83c121ec19f6419bc402f7702dc/cytoolz-1.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d759e9ed421bacfeb456d47af8d734c057b9912b5f2441f95b27ca35e5efab07", size = 985777, upload-time = "2025-10-19T00:39:36.545Z" }, + { url = "https://files.pythonhosted.org/packages/d4/a1/ec95443f0cf4cd0dbc574fa26ac85a0442d35f3b601a90a0e3dda077f614/cytoolz-1.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fdb5be8fbcc0396141189022724155a4c1c93712ac4aef8c03829af0c2a816d7", size = 982865, upload-time = "2025-10-19T00:39:38.19Z" }, + { url = "https://files.pythonhosted.org/packages/a7/1b/8503604b0c0534977363fb77d371019395dfa031a216f9b1d8729d1280e4/cytoolz-1.1.0-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:c8c0a513dc89bc05cc72893609118815bced5ef201f1a317b4cc3423b3a0e750", size = 2597969, upload-time = "2025-10-19T00:39:40.26Z" }, + { url = "https://files.pythonhosted.org/packages/4e/e5/30748da06417cb2d4bc58e380b0c11d8c6539f4e289dc1e4f4b4fc248d0e/cytoolz-1.1.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ce94db4f8ebe842c30c0ece42ff5de977c47859088c2c363dede5a68f6906484", size = 2692230, upload-time = "2025-10-19T00:39:42.327Z" }, + { url = "https://files.pythonhosted.org/packages/d6/84/e06580b74deb97dfd3513e4e6b660c2dedc220c7653f5bd3e4f772f4d885/cytoolz-1.1.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b622d4f54e370c853ded94a668f94fe72c6d70e06ac102f17a2746661c27ab52", size = 2565243, upload-time = "2025-10-19T00:39:44.403Z" }, + { url = "https://files.pythonhosted.org/packages/91/5e/79c0122a34c33afcb5aaee1fec35be24fe16cecefb9bb8890f2908feae56/cytoolz-1.1.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:375a65baa5a5b4ff6a0c5ff17e170cf23312e4c710755771ca966144c24216b5", size = 2868602, upload-time = "2025-10-19T00:39:46.051Z" }, + { url = "https://files.pythonhosted.org/packages/3f/84/404698ff02b32292db1e39cc4a2fbdabe15164b092cc364902984c3ce0f4/cytoolz-1.1.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c0d51bcdb3203a062a78f66bbe33db5e3123048e24a5f0e1402422d79df8ee2d", size = 2905121, upload-time = "2025-10-19T00:39:48.078Z" }, + { url = "https://files.pythonhosted.org/packages/9f/33/afad6593829ba73fc87b5ae64441e380fc937f79f24a1cda60d23cb99b8c/cytoolz-1.1.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1010869529bb05dc9802b6d776a34ca1b6d48b9deec70ad5e2918ae175be5c2f", size = 2684382, upload-time = "2025-10-19T00:39:49.766Z" }, + { url = "https://files.pythonhosted.org/packages/ce/86/7900013a82ca9c6cadbfb22bf50d0fbfc3b192915d2bdd9fab3f69a9afba/cytoolz-1.1.0-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:11a8f2e83295bdb33f35454d6bafcb7845b03b5881dcaed66ecbd726c7f16772", size = 2518183, upload-time = "2025-10-19T00:39:51.433Z" }, + { url = "https://files.pythonhosted.org/packages/c3/4b/acf9be2953fed6a6d795fb66de37c367915037a998a5b3d3b69476cf91fe/cytoolz-1.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:0499c5e0a8e688ed367a2e51cc13792ae8f08226c15f7d168589fc44b9b9cada", size = 2609368, upload-time = "2025-10-19T00:39:53.458Z" }, + { url = "https://files.pythonhosted.org/packages/fd/ec/3e30455fd526f5cc37bd3dd2a0e2aafb803ae4d271e50ce53bfc30810053/cytoolz-1.1.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:87d44e6033d4c5e95a7d39ba59b8e105ba1c29b1ccd1d215f26477cc1d64be39", size = 2561458, upload-time = "2025-10-19T00:39:55.493Z" }, + { url = "https://files.pythonhosted.org/packages/49/27/e5815c85bb18cdf95780f9596dcfd76dee910a4d635a1924648cb8a636c6/cytoolz-1.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:a68cef396a7de237f7b97422a6a450dfb111722296ba217ba5b34551832f1f6e", size = 2578236, upload-time = "2025-10-19T00:39:57.512Z" }, + { url = "https://files.pythonhosted.org/packages/17/db/588e266eff397670398ea335a809152e77b02ee92e0ec42091115b42f09b/cytoolz-1.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:06ad4c95b258141f138a93ebfdc1d76ac087afc1a82f1401100a1f44b44ba656", size = 2770523, upload-time = "2025-10-19T00:39:59.194Z" }, + { url = "https://files.pythonhosted.org/packages/ab/ad/82be0b999c7a0a0b362cedfc183eb090b872fd42937af2d6e97d58bc70f8/cytoolz-1.1.0-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:ada59a4b3c59d4ac7162e0ed08667ffa78abf48e975c8a9f9d5b9bc50720f4fd", size = 2512909, upload-time = "2025-10-19T00:40:01.199Z" }, + { url = "https://files.pythonhosted.org/packages/25/21/45f07ab0339a20c518bc9006100922babc397ab7ea5ef40a395db83b9cdd/cytoolz-1.1.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:a8957bcaea1ba01327a9b219d2adb84144377684f51444253890dab500ca171f", size = 2755345, upload-time = "2025-10-19T00:40:03.322Z" }, + { url = "https://files.pythonhosted.org/packages/8b/a7/e530bf2b304206f79b36d793caba1ff9448348713a41bb1ad0197714a0f2/cytoolz-1.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:6d8cdc299d67eb0f3b9ecdafeeb55eb3b7b7470e2d950ac34b05ed4c7a5572b8", size = 2617790, upload-time = "2025-10-19T00:40:05.03Z" }, + { url = "https://files.pythonhosted.org/packages/9f/77/7f53092121d7431589344c7d65c3d43c4111547aafabb21d3ca9032d126c/cytoolz-1.1.0-cp310-cp310-win32.whl", hash = "sha256:d8e08464c5cdea4f6df31e84b11ed6bfd79cedb99fbcbfdc15eb9361a6053c5a", size = 900209, upload-time = "2025-10-19T00:40:06.647Z" }, + { url = "https://files.pythonhosted.org/packages/84/e4/902578658303b9bc76b1704d3ed85e6d307d311bd9fa0b919581bea56e62/cytoolz-1.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:7e49922a7ed54262d41960bf3b835a7700327bf79cff1e9bfc73d79021132ff8", size = 944802, upload-time = "2025-10-19T00:40:08.983Z" }, + { url = "https://files.pythonhosted.org/packages/71/9f/56a7003617b4eabd8ddfb470aacc240425cbe6ddeb756adfbbaadaa175f1/cytoolz-1.1.0-cp310-cp310-win_arm64.whl", hash = "sha256:943a662d2e72ffc4438d43ab5a1de8d852237775a423236594a3b3e381b8032c", size = 904835, upload-time = "2025-10-19T00:40:11.024Z" }, + { url = "https://files.pythonhosted.org/packages/69/82/edf1d0c32b6222f2c22e5618d6db855d44eb59f9b6f22436ff963c5d0a5c/cytoolz-1.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:dba8e5a8c6e3c789d27b0eb5e7ce5ed7d032a7a9aae17ca4ba5147b871f6e327", size = 1314345, upload-time = "2025-10-19T00:40:13.273Z" }, + { url = "https://files.pythonhosted.org/packages/2d/b5/0e3c1edaa26c2bd9db90cba0ac62c85bbca84224c7ae1c2e0072c4ea64c5/cytoolz-1.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:44b31c05addb0889167a720123b3b497b28dd86f8a0aeaf3ae4ffa11e2c85d55", size = 989259, upload-time = "2025-10-19T00:40:15.196Z" }, + { url = "https://files.pythonhosted.org/packages/09/aa/e2b2ee9fc684867e817640764ea5807f9d25aa1e7bdba02dd4b249aab0f7/cytoolz-1.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:653cb18c4fc5d8a8cfce2bce650aabcbe82957cd0536827367d10810566d5294", size = 986551, upload-time = "2025-10-19T00:40:16.831Z" }, + { url = "https://files.pythonhosted.org/packages/39/9f/4e8ee41acf6674f10a9c2c9117b2f219429a5a0f09bba6135f34ca4f08a6/cytoolz-1.1.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:853a5b4806915020c890e1ce70cc056bbc1dd8bc44f2d74d555cccfd7aefba7d", size = 2688378, upload-time = "2025-10-19T00:40:18.552Z" }, + { url = "https://files.pythonhosted.org/packages/78/94/ef006f3412bc22444d855a0fc9ecb81424237fb4e5c1a1f8f5fb79ac978f/cytoolz-1.1.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c7b44e9de86bea013fe84fd8c399d6016bbb96c37c5290769e5c99460b9c53e5", size = 2798299, upload-time = "2025-10-19T00:40:20.191Z" }, + { url = "https://files.pythonhosted.org/packages/df/aa/365953926ee8b4f2e07df7200c0d73632155908c8867af14b2d19cc9f1f7/cytoolz-1.1.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:098d628a801dc142e9740126be5624eb7aef1d732bc7a5719f60a2095547b485", size = 2639311, upload-time = "2025-10-19T00:40:22.289Z" }, + { url = "https://files.pythonhosted.org/packages/7c/ee/62beaaee7df208f22590ad07ef8875519af49c52ca39d99460b14a00f15a/cytoolz-1.1.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:779ee4096ed7a82cffab89372ffc339631c285079dbf33dbe7aff1f6174985df", size = 2979532, upload-time = "2025-10-19T00:40:24.006Z" }, + { url = "https://files.pythonhosted.org/packages/c5/04/2211251e450bed111ada1194dc42c461da9aea441de62a01e4085ea6de9f/cytoolz-1.1.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f2ce18dd99533d077e9712f9faa852f389f560351b1efd2f2bdb193a95eddde2", size = 3018632, upload-time = "2025-10-19T00:40:26.175Z" }, + { url = "https://files.pythonhosted.org/packages/ed/a2/4a3400e4d07d3916172bf74fede08020d7b4df01595d8a97f1e9507af5ae/cytoolz-1.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ac266a34437812cf841cecbfe19f355ab9c3dd1ef231afc60415d40ff12a76e4", size = 2788579, upload-time = "2025-10-19T00:40:27.878Z" }, + { url = "https://files.pythonhosted.org/packages/fe/82/bb88caa53a41f600e7763c517d50e2efbbe6427ea395716a92b83f44882a/cytoolz-1.1.0-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1920b9b9c13d60d0bb6cd14594b3bce0870022eccb430618c37156da5f2b7a55", size = 2593024, upload-time = "2025-10-19T00:40:29.601Z" }, + { url = "https://files.pythonhosted.org/packages/09/a8/8b25e59570da16c7a0f173b8c6ec0aa6f3abd47fd385c007485acb459896/cytoolz-1.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47caa376dafd2bdc29f8a250acf59c810ec9105cd6f7680b9a9d070aae8490ec", size = 2715304, upload-time = "2025-10-19T00:40:31.151Z" }, + { url = "https://files.pythonhosted.org/packages/d4/56/faec7696f235521b926ffdf92c102f5b029f072d28e1020364e55b084820/cytoolz-1.1.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:5ab2c97d8aaa522b038cca9187b1153347af22309e7c998b14750c6fdec7b1cb", size = 2654461, upload-time = "2025-10-19T00:40:32.884Z" }, + { url = "https://files.pythonhosted.org/packages/aa/82/f790ed167c04b8d2a33bed30770a9b7066fc4f573321d797190e5f05685f/cytoolz-1.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4bce006121b120e8b359244ee140bb0b1093908efc8b739db8dbaa3f8fb42139", size = 2672077, upload-time = "2025-10-19T00:40:34.543Z" }, + { url = "https://files.pythonhosted.org/packages/d9/b3/80b8183e7eee44f45bfa3cdd3ebdadf3dd43ffc686f96d442a6c4dded45d/cytoolz-1.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:7fc0f1e4e9bb384d26e73c6657bbc26abdae4ff66a95933c00f3d578be89181b", size = 2881589, upload-time = "2025-10-19T00:40:36.315Z" }, + { url = "https://files.pythonhosted.org/packages/8f/05/ac5ba5ddb88a3ba7ecea4bf192194a838af564d22ea7a4812cbb6bd106ce/cytoolz-1.1.0-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:dd3f894ff972da1994d06ac6157d74e40dda19eb31fe5e9b7863ca4278c3a167", size = 2589924, upload-time = "2025-10-19T00:40:38.317Z" }, + { url = "https://files.pythonhosted.org/packages/8e/cd/100483cae3849d24351c8333a815dc6adaf3f04912486e59386d86d9db9a/cytoolz-1.1.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0846f49cf8a4496bd42659040e68bd0484ce6af819709cae234938e039203ba0", size = 2868059, upload-time = "2025-10-19T00:40:40.025Z" }, + { url = "https://files.pythonhosted.org/packages/34/6e/3a7c56b325772d39397fc3aafb4dc054273982097178b6c3917c6dad48de/cytoolz-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:16a3af394ade1973226d64bb2f9eb3336adbdea03ed5b134c1bbec5a3b20028e", size = 2721692, upload-time = "2025-10-19T00:40:41.621Z" }, + { url = "https://files.pythonhosted.org/packages/fa/ca/9fdaee32c3bc769dfb7e7991d9499136afccea67e423d097b8fb3c5acbc1/cytoolz-1.1.0-cp311-cp311-win32.whl", hash = "sha256:b786c9c8aeab76cc2f76011e986f7321a23a56d985b77d14f155d5e5514ea781", size = 899349, upload-time = "2025-10-19T00:40:43.183Z" }, + { url = "https://files.pythonhosted.org/packages/fd/04/2ab98edeea90311e4029e1643e43d2027b54da61453292d9ea51a103ee87/cytoolz-1.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:ebf06d1c5344fb22fee71bf664234733e55db72d74988f2ecb7294b05e4db30c", size = 945831, upload-time = "2025-10-19T00:40:44.693Z" }, + { url = "https://files.pythonhosted.org/packages/b4/8d/777d86ea6bcc68b0fc926b0ef8ab51819e2176b37aadea072aac949d5231/cytoolz-1.1.0-cp311-cp311-win_arm64.whl", hash = "sha256:b63f5f025fac893393b186e132e3e242de8ee7265d0cd3f5bdd4dda93f6616c9", size = 904076, upload-time = "2025-10-19T00:40:46.678Z" }, + { url = "https://files.pythonhosted.org/packages/c6/ec/01426224f7acf60183d3921b25e1a8e71713d3d39cb464d64ac7aace6ea6/cytoolz-1.1.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:99f8e134c9be11649342853ec8c90837af4089fc8ff1e8f9a024a57d1fa08514", size = 1327800, upload-time = "2025-10-19T00:40:48.674Z" }, + { url = "https://files.pythonhosted.org/packages/b4/07/e07e8fedd332ac9626ad58bea31416dda19bfd14310731fa38b16a97e15f/cytoolz-1.1.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0a6f44cf9319c30feb9a50aa513d777ef51efec16f31c404409e7deb8063df64", size = 997118, upload-time = "2025-10-19T00:40:50.919Z" }, + { url = "https://files.pythonhosted.org/packages/ab/72/c0f766d63ed2f9ea8dc8e1628d385d99b41fb834ce17ac3669e3f91e115d/cytoolz-1.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:945580dc158c557172fca899a35a99a16fbcebf6db0c77cb6621084bc82189f9", size = 991169, upload-time = "2025-10-19T00:40:52.887Z" }, + { url = "https://files.pythonhosted.org/packages/df/4b/1f757353d1bf33e56a7391ecc9bc49c1e529803b93a9d2f67fe5f92906fe/cytoolz-1.1.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:257905ec050d04f2f856854620d1e25556fd735064cebd81b460f54939b9f9d5", size = 2700680, upload-time = "2025-10-19T00:40:54.597Z" }, + { url = "https://files.pythonhosted.org/packages/25/73/9b25bb7ed8d419b9d6ff2ae0b3d06694de79a3f98f5169a1293ff7ad3a3f/cytoolz-1.1.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:82779049f352fb3ab5e8c993ab45edbb6e02efb1f17f0b50f4972c706cc51d76", size = 2824951, upload-time = "2025-10-19T00:40:56.137Z" }, + { url = "https://files.pythonhosted.org/packages/0c/93/9c787f7c909e75670fff467f2504725d06d8c3f51d6dfe22c55a08c8ccd4/cytoolz-1.1.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7d3e405e435320e08c5a1633afaf285a392e2d9cef35c925d91e2a31dfd7a688", size = 2679635, upload-time = "2025-10-19T00:40:57.799Z" }, + { url = "https://files.pythonhosted.org/packages/50/aa/9ee92c302cccf7a41a7311b325b51ebeff25d36c1f82bdc1bbe3f58dc947/cytoolz-1.1.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:923df8f5591e0d20543060c29909c149ab1963a7267037b39eee03a83dbc50a8", size = 2938352, upload-time = "2025-10-19T00:40:59.49Z" }, + { url = "https://files.pythonhosted.org/packages/6a/a3/3b58c5c1692c3bacd65640d0d5c7267a7ebb76204f7507aec29de7063d2f/cytoolz-1.1.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:25db9e4862f22ea0ae2e56c8bec9fc9fd756b655ae13e8c7b5625d7ed1c582d4", size = 3022121, upload-time = "2025-10-19T00:41:01.209Z" }, + { url = "https://files.pythonhosted.org/packages/e1/93/c647bc3334355088c57351a536c2d4a83dd45f7de591fab383975e45bff9/cytoolz-1.1.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c7a98deb11ccd8e5d9f9441ef2ff3352aab52226a2b7d04756caaa53cd612363", size = 2857656, upload-time = "2025-10-19T00:41:03.456Z" }, + { url = "https://files.pythonhosted.org/packages/b2/c2/43fea146bf4141deea959e19dcddf268c5ed759dec5c2ed4a6941d711933/cytoolz-1.1.0-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:dce4ee9fc99104bc77efdea80f32ca5a650cd653bcc8a1d984a931153d3d9b58", size = 2551284, upload-time = "2025-10-19T00:41:05.347Z" }, + { url = "https://files.pythonhosted.org/packages/6f/df/cdc7a81ce5cfcde7ef523143d545635fc37e80ccacce140ae58483a21da3/cytoolz-1.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:80d6da158f7d20c15819701bbda1c041f0944ede2f564f5c739b1bc80a9ffb8b", size = 2721673, upload-time = "2025-10-19T00:41:07.528Z" }, + { url = "https://files.pythonhosted.org/packages/45/be/f8524bb9ad8812ad375e61238dcaa3177628234d1b908ad0b74e3657cafd/cytoolz-1.1.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:3b5c5a192abda123ad45ef716ec9082b4cf7d95e9ada8291c5c2cc5558be858b", size = 2722884, upload-time = "2025-10-19T00:41:09.698Z" }, + { url = "https://files.pythonhosted.org/packages/23/e6/6bb8e4f9c267ad42d1ff77b6d2e4984665505afae50a216290e1d7311431/cytoolz-1.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:5b399ce7d967b1cb6280250818b786be652aa8ddffd3c0bb5c48c6220d945ab5", size = 2685486, upload-time = "2025-10-19T00:41:11.349Z" }, + { url = "https://files.pythonhosted.org/packages/d7/dd/88619f9c8d2b682562c0c886bbb7c35720cb83fda2ac9a41bdd14073d9bd/cytoolz-1.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:e7e29a1a03f00b4322196cfe8e2c38da9a6c8d573566052c586df83aacc5663c", size = 2839661, upload-time = "2025-10-19T00:41:13.053Z" }, + { url = "https://files.pythonhosted.org/packages/b8/8d/4478ebf471ee78dd496d254dc0f4ad729cd8e6ba8257de4f0a98a2838ef2/cytoolz-1.1.0-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:5291b117d71652a817ec164e7011f18e6a51f8a352cc9a70ed5b976c51102fda", size = 2547095, upload-time = "2025-10-19T00:41:16.054Z" }, + { url = "https://files.pythonhosted.org/packages/e6/68/f1dea33367b0b3f64e199c230a14a6b6f243c189020effafd31e970ca527/cytoolz-1.1.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:8caef62f846a9011676c51bda9189ae394cdd6bb17f2946ecaedc23243268320", size = 2870901, upload-time = "2025-10-19T00:41:17.727Z" }, + { url = "https://files.pythonhosted.org/packages/4a/9a/33591c09dfe799b8fb692cf2ad383e2c41ab6593cc960b00d1fc8a145655/cytoolz-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:de425c5a8e3be7bb3a195e19191d28d9eb3c2038046064a92edc4505033ec9cb", size = 2765422, upload-time = "2025-10-19T00:41:20.075Z" }, + { url = "https://files.pythonhosted.org/packages/60/2b/a8aa233c9416df87f004e57ae4280bd5e1f389b4943d179f01020c6ec629/cytoolz-1.1.0-cp312-cp312-win32.whl", hash = "sha256:296440a870e8d1f2e1d1edf98f60f1532b9d3ab8dfbd4b25ec08cd76311e79e5", size = 901933, upload-time = "2025-10-19T00:41:21.646Z" }, + { url = "https://files.pythonhosted.org/packages/ad/33/4c9bdf8390dc01d2617c7f11930697157164a52259b6818ddfa2f94f89f4/cytoolz-1.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:07156987f224c6dac59aa18fb8bf91e1412f5463961862716a3381bf429c8699", size = 947989, upload-time = "2025-10-19T00:41:23.288Z" }, + { url = "https://files.pythonhosted.org/packages/35/ac/6e2708835875f5acb52318462ed296bf94ed0cb8c7cb70e62fbd03f709e3/cytoolz-1.1.0-cp312-cp312-win_arm64.whl", hash = "sha256:23e616b38f5b3160c7bb45b0f84a8f3deb4bd26b29fb2dfc716f241c738e27b8", size = 903913, upload-time = "2025-10-19T00:41:24.992Z" }, + { url = "https://files.pythonhosted.org/packages/71/4a/b3ddb3ee44fe0045e95dd973746f93f033b6f92cce1fc3cbbe24b329943c/cytoolz-1.1.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:76c9b58555300be6dde87a41faf1f97966d79b9a678b7a526fcff75d28ef4945", size = 976728, upload-time = "2025-10-19T00:41:26.5Z" }, + { url = "https://files.pythonhosted.org/packages/42/21/a3681434aa425875dd828bb515924b0f12c37a55c7d2bc5c0c5de3aeb0b4/cytoolz-1.1.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:d1d638b10d3144795655e9395566ce35807df09219fd7cacd9e6acbdef67946a", size = 986057, upload-time = "2025-10-19T00:41:28.911Z" }, + { url = "https://files.pythonhosted.org/packages/d9/cb/efc1b29e211e0670a6953222afaac84dcbba5cb940b130c0e49858978040/cytoolz-1.1.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:26801c1a165e84786a99e03c9c9973356caaca002d66727b761fb1042878ef06", size = 992632, upload-time = "2025-10-19T00:41:30.612Z" }, + { url = "https://files.pythonhosted.org/packages/be/b0/e50621d21e939338c97faab651f58ea7fa32101226a91de79ecfb89d71e1/cytoolz-1.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2a9a464542912d3272f6dccc5142df057c71c6a5cbd30439389a732df401afb7", size = 1317534, upload-time = "2025-10-19T00:41:32.625Z" }, + { url = "https://files.pythonhosted.org/packages/0d/6b/25aa9739b0235a5bc4c1ea293186bc6822a4c6607acfe1422423287e7400/cytoolz-1.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:ed6104fa942aa5784bf54f339563de637557e3443b105760bc4de8f16a7fc79b", size = 992336, upload-time = "2025-10-19T00:41:34.073Z" }, + { url = "https://files.pythonhosted.org/packages/e1/53/5f4deb0ff958805309d135d899c764364c1e8a632ce4994bd7c45fb98df2/cytoolz-1.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:56161f0ab60dc4159ec343509abaf809dc88e85c7e420e354442c62e3e7cbb77", size = 986118, upload-time = "2025-10-19T00:41:35.7Z" }, + { url = "https://files.pythonhosted.org/packages/1c/e3/f6255b76c8cc0debbe1c0779130777dc0434da6d9b28a90d9f76f8cb67cd/cytoolz-1.1.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:832bd36cc9123535f1945acf6921f8a2a15acc19cfe4065b1c9b985a28671886", size = 2679563, upload-time = "2025-10-19T00:41:37.926Z" }, + { url = "https://files.pythonhosted.org/packages/59/8a/acc6e39a84e930522b965586ad3a36694f9bf247b23188ee0eb47b1c9ed1/cytoolz-1.1.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1842636b6e034f229bf084c2bcdcfd36c8437e752eefd2c74ce9e2f10415cb6e", size = 2813020, upload-time = "2025-10-19T00:41:39.935Z" }, + { url = "https://files.pythonhosted.org/packages/db/f5/0083608286ad1716eda7c41f868e85ac549f6fd6b7646993109fa0bdfd98/cytoolz-1.1.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:823df012ab90d2f2a0f92fea453528539bf71ac1879e518524cd0c86aa6df7b9", size = 2669312, upload-time = "2025-10-19T00:41:41.55Z" }, + { url = "https://files.pythonhosted.org/packages/47/a8/d16080b575520fe5da00cede1ece4e0a4180ec23f88dcdc6a2f5a90a7f7f/cytoolz-1.1.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2f1fcf9e7e7b3487883ff3f815abc35b89dcc45c4cf81c72b7ee457aa72d197b", size = 2922147, upload-time = "2025-10-19T00:41:43.252Z" }, + { url = "https://files.pythonhosted.org/packages/7e/bc/716c9c1243701e58cad511eb3937fd550e645293c5ed1907639c5d66f194/cytoolz-1.1.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4cdb3fa1772116827f263f25b0cdd44c663b6701346a56411960534a06c082de", size = 2981602, upload-time = "2025-10-19T00:41:45.354Z" }, + { url = "https://files.pythonhosted.org/packages/14/bc/571b232996846b27f4ac0c957dc8bf60261e9b4d0d01c8d955e82329544e/cytoolz-1.1.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d1b5c95041741b81430454db65183e133976f45ac3c03454cfa8147952568529", size = 2830103, upload-time = "2025-10-19T00:41:47.959Z" }, + { url = "https://files.pythonhosted.org/packages/5b/55/c594afb46ecd78e4b7e1fb92c947ed041807875661ceda73baaf61baba4f/cytoolz-1.1.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b2079fd9f1a65f4c61e6278c8a6d4f85edf30c606df8d5b32f1add88cbbe2286", size = 2533802, upload-time = "2025-10-19T00:41:49.683Z" }, + { url = "https://files.pythonhosted.org/packages/93/83/1edcf95832555a78fc43b975f3ebe8ceadcc9664dd47fd33747a14df5069/cytoolz-1.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a92a320d72bef1c7e2d4c6d875125cf57fc38be45feb3fac1bfa64ea401f54a4", size = 2706071, upload-time = "2025-10-19T00:41:51.386Z" }, + { url = "https://files.pythonhosted.org/packages/e2/df/035a408df87f25cfe3611557818b250126cd2281b2104cd88395de205583/cytoolz-1.1.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:06d1c79aa51e6a92a90b0e456ebce2288f03dd6a76c7f582bfaa3eda7692e8a5", size = 2707575, upload-time = "2025-10-19T00:41:53.305Z" }, + { url = "https://files.pythonhosted.org/packages/7a/a4/ef78e13e16e93bf695a9331321d75fbc834a088d941f1c19e6b63314e257/cytoolz-1.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:e1d7be25f6971e986a52b6d3a0da28e1941850985417c35528f6823aef2cfec5", size = 2660486, upload-time = "2025-10-19T00:41:55.542Z" }, + { url = "https://files.pythonhosted.org/packages/30/7a/2c3d60682b26058d435416c4e90d4a94db854de5be944dfd069ed1be648a/cytoolz-1.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:964b248edc31efc50a65e9eaa0c845718503823439d2fa5f8d2c7e974c2b5409", size = 2819605, upload-time = "2025-10-19T00:41:58.257Z" }, + { url = "https://files.pythonhosted.org/packages/45/92/19b722a1d83cc443fbc0c16e0dc376f8a451437890d3d9ee370358cf0709/cytoolz-1.1.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c9ff2b3c57c79b65cb5be14a18c6fd4a06d5036fb3f33e973a9f70e9ac13ca28", size = 2533559, upload-time = "2025-10-19T00:42:00.324Z" }, + { url = "https://files.pythonhosted.org/packages/1d/15/fa3b7891da51115204416f14192081d3dea0eaee091f123fdc1347de8dd1/cytoolz-1.1.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:22290b73086af600042d99f5ce52a43d4ad9872c382610413176e19fc1d4fd2d", size = 2839171, upload-time = "2025-10-19T00:42:01.881Z" }, + { url = "https://files.pythonhosted.org/packages/46/40/d3519d5cd86eebebf1e8b7174ec32dfb6ecec67b48b0cfb92bf226659b5a/cytoolz-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a2ade74fccd080ea793382968913ee38d7a35c921df435bbf0a6aeecf0d17574", size = 2743379, upload-time = "2025-10-19T00:42:03.809Z" }, + { url = "https://files.pythonhosted.org/packages/93/e2/a9e7511f0a13fdbefa5bf73cf8e4763878140de9453fd3e50d6ac57b6be7/cytoolz-1.1.0-cp313-cp313-win32.whl", hash = "sha256:db5dbcfda1c00e937426cbf9bdc63c24ebbc358c3263bfcbc1ab4a88dc52aa8e", size = 900844, upload-time = "2025-10-19T00:42:05.967Z" }, + { url = "https://files.pythonhosted.org/packages/d6/a4/fb7eb403c6a4c81e5a30363f34a71adcc8bf5292dc8ea32e2440aa5668f2/cytoolz-1.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:9e2d3fe3b45c3eb7233746f7aca37789be3dceec3e07dcc406d3e045ea0f7bdc", size = 946461, upload-time = "2025-10-19T00:42:07.983Z" }, + { url = "https://files.pythonhosted.org/packages/93/bb/1c8c33d353548d240bc6e8677ee8c3560ce5fa2f084e928facf7c35a6dcf/cytoolz-1.1.0-cp313-cp313-win_arm64.whl", hash = "sha256:32c559f95ff44a9ebcbd934acaa1e6dc8f3e6ffce4762a79a88528064873d6d5", size = 902673, upload-time = "2025-10-19T00:42:09.982Z" }, + { url = "https://files.pythonhosted.org/packages/c4/ba/4a53acc60f59030fcaf48c7766e3c4c81bd997379425aa45b129396557b5/cytoolz-1.1.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:9e2cd93b28f667c5870a070ab2b8bb4397470a85c4b204f2454b0ad001cd1ca3", size = 1372336, upload-time = "2025-10-19T00:42:12.104Z" }, + { url = "https://files.pythonhosted.org/packages/ac/90/f28fd8ad8319d8f5c8da69a2c29b8cf52a6d2c0161602d92b366d58926ab/cytoolz-1.1.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:f494124e141a9361f31d79875fe7ea459a3be2b9dadd90480427c0c52a0943d4", size = 1011930, upload-time = "2025-10-19T00:42:14.231Z" }, + { url = "https://files.pythonhosted.org/packages/c9/95/4561c4e0ad1c944f7673d6d916405d68080f10552cfc5d69a1cf2475a9a1/cytoolz-1.1.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:53a3262bf221f19437ed544bf8c0e1980c81ac8e2a53d87a9bc075dba943d36f", size = 1020610, upload-time = "2025-10-19T00:42:15.877Z" }, + { url = "https://files.pythonhosted.org/packages/c3/14/b2e1ffa4995ec36e1372e243411ff36325e4e6d7ffa34eb4098f5357d176/cytoolz-1.1.0-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:47663e57d3f3f124921f38055e86a1022d0844c444ede2e8f090d3bbf80deb65", size = 2917327, upload-time = "2025-10-19T00:42:17.706Z" }, + { url = "https://files.pythonhosted.org/packages/4a/29/7cab6c609b4514ac84cca2f7dca6c509977a8fc16d27c3a50e97f105fa6a/cytoolz-1.1.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a5a8755c4104ee4e3d5ba434c543b5f85fdee6a1f1df33d93f518294da793a60", size = 3108951, upload-time = "2025-10-19T00:42:19.363Z" }, + { url = "https://files.pythonhosted.org/packages/9a/71/1d1103b819458679277206ad07d78ca6b31c4bb88d6463fd193e19bfb270/cytoolz-1.1.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4d96ff3d381423af1b105295f97de86d1db51732c9566eb37378bab6670c5010", size = 2807149, upload-time = "2025-10-19T00:42:20.964Z" }, + { url = "https://files.pythonhosted.org/packages/1a/d4/3d83a05a21e7d2ed2b9e6daf489999c29934b005de9190272b8a2e3735d0/cytoolz-1.1.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0ec96b3d537cdf47d4e76ded199f7440715f4c71029b45445cff92c1248808c2", size = 3111608, upload-time = "2025-10-19T00:42:22.684Z" }, + { url = "https://files.pythonhosted.org/packages/51/88/96f68354c3d4af68de41f0db4fe41a23b96a50a4a416636cea325490cfeb/cytoolz-1.1.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:208e2f2ef90a32b0acbff3303d90d89b13570a228d491d2e622a7883a3c68148", size = 3179373, upload-time = "2025-10-19T00:42:24.395Z" }, + { url = "https://files.pythonhosted.org/packages/ce/50/ed87a5cd8e6f27ffbb64c39e9730e18ec66c37631db2888ae711909f10c9/cytoolz-1.1.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0d416a81bb0bd517558668e49d30a7475b5445f9bbafaab7dcf066f1e9adba36", size = 3003120, upload-time = "2025-10-19T00:42:26.18Z" }, + { url = "https://files.pythonhosted.org/packages/d3/a7/acde155b050d6eaa8e9c7845c98fc5fb28501568e78e83ebbf44f8855274/cytoolz-1.1.0-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f32e94c91ffe49af04835ee713ebd8e005c85ebe83e7e1fdcc00f27164c2d636", size = 2703225, upload-time = "2025-10-19T00:42:27.93Z" }, + { url = "https://files.pythonhosted.org/packages/1b/b6/9d518597c5bdea626b61101e8d2ff94124787a42259dafd9f5fc396f346a/cytoolz-1.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15d0c6405efc040499c46df44056a5c382f551a7624a41cf3e4c84a96b988a15", size = 2956033, upload-time = "2025-10-19T00:42:29.993Z" }, + { url = "https://files.pythonhosted.org/packages/89/7a/93e5f860926165538c85e1c5e1670ad3424f158df810f8ccd269da652138/cytoolz-1.1.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:bf069c5381d757debae891401b88b3a346ba3a28ca45ba9251103b282463fad8", size = 2862950, upload-time = "2025-10-19T00:42:31.803Z" }, + { url = "https://files.pythonhosted.org/packages/76/e6/99d6af00487bedc27597b54c9fcbfd5c833a69c6b7a9b9f0fff777bfc7aa/cytoolz-1.1.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7d5cf15892e63411ec1bd67deff0e84317d974e6ab2cdfefdd4a7cea2989df66", size = 2861757, upload-time = "2025-10-19T00:42:33.625Z" }, + { url = "https://files.pythonhosted.org/packages/71/ca/adfa1fb7949478135a37755cb8e88c20cd6b75c22a05f1128f05f3ab2c60/cytoolz-1.1.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:3e3872c21170f8341656f8692f8939e8800dcee6549ad2474d4c817bdefd62cd", size = 2979049, upload-time = "2025-10-19T00:42:35.377Z" }, + { url = "https://files.pythonhosted.org/packages/70/4c/7bf47a03a4497d500bc73d4204e2d907771a017fa4457741b2a1d7c09319/cytoolz-1.1.0-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:b9ddeff8e8fd65eb1fcefa61018100b2b627e759ea6ad275d2e2a93ffac147bf", size = 2699492, upload-time = "2025-10-19T00:42:37.133Z" }, + { url = "https://files.pythonhosted.org/packages/7e/e7/3d034b0e4817314f07aa465d5864e9b8df9d25cb260a53dd84583e491558/cytoolz-1.1.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:02feeeda93e1fa3b33414eb57c2b0aefd1db8f558dd33fdfcce664a0f86056e4", size = 2995646, upload-time = "2025-10-19T00:42:38.912Z" }, + { url = "https://files.pythonhosted.org/packages/c1/62/be357181c71648d9fe1d1ce91cd42c63457dcf3c158e144416fd51dced83/cytoolz-1.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d08154ad45349162b6c37f12d5d1b2e6eef338e657b85e1621e4e6a4a69d64cb", size = 2919481, upload-time = "2025-10-19T00:42:40.85Z" }, + { url = "https://files.pythonhosted.org/packages/62/d5/bf5434fde726c4f80cb99912b2d8e0afa1587557e2a2d7e0315eb942f2de/cytoolz-1.1.0-cp313-cp313t-win32.whl", hash = "sha256:10ae4718a056948d73ca3e1bb9ab1f95f897ec1e362f829b9d37cc29ab566c60", size = 951595, upload-time = "2025-10-19T00:42:42.877Z" }, + { url = "https://files.pythonhosted.org/packages/64/29/39c161e9204a9715321ddea698cbd0abc317e78522c7c642363c20589e71/cytoolz-1.1.0-cp313-cp313t-win_amd64.whl", hash = "sha256:1bb77bc6197e5cb19784b6a42bb0f8427e81737a630d9d7dda62ed31733f9e6c", size = 1004445, upload-time = "2025-10-19T00:42:44.855Z" }, + { url = "https://files.pythonhosted.org/packages/e2/5a/7cbff5e9a689f558cb0bdf277f9562b2ac51acf7cd15e055b8c3efb0e1ef/cytoolz-1.1.0-cp313-cp313t-win_arm64.whl", hash = "sha256:563dda652c6ff52d215704fbe6b491879b78d7bbbb3a9524ec8e763483cb459f", size = 926207, upload-time = "2025-10-19T00:42:46.456Z" }, + { url = "https://files.pythonhosted.org/packages/b7/e8/297a85ba700f437c01eba962428e6ab4572f6c3e68e8ff442ce5c9d3a496/cytoolz-1.1.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:d542cee7c7882d2a914a33dec4d3600416fb336734df979473249d4c53d207a1", size = 980613, upload-time = "2025-10-19T00:42:47.988Z" }, + { url = "https://files.pythonhosted.org/packages/e8/d7/2b02c9d18e9cc263a0e22690f78080809f1eafe72f26b29ccc115d3bf5c8/cytoolz-1.1.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:31922849b701b0f24bb62e56eb2488dcd3aa6ae3057694bd6b3b7c4c2bc27c2f", size = 990476, upload-time = "2025-10-19T00:42:49.653Z" }, + { url = "https://files.pythonhosted.org/packages/89/26/b6b159d2929310fca0eff8a4989cd4b1ecbdf7c46fdff46c7a20fcae55c8/cytoolz-1.1.0-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:e68308d32afd31943314735c1335e4ab5696110e96b405f6bdb8f2a8dc771a16", size = 992712, upload-time = "2025-10-19T00:42:51.306Z" }, + { url = "https://files.pythonhosted.org/packages/42/a0/f7c572aa151ed466b0fce4a327c3cc916d3ef3c82e341be59ea4b9bee9e4/cytoolz-1.1.0-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:fc4bb48b3b866e1867f7c6411a4229e5b44be3989060663713e10efc24c9bd5f", size = 1322596, upload-time = "2025-10-19T00:42:52.978Z" }, + { url = "https://files.pythonhosted.org/packages/72/7c/a55d035e20b77b6725e85c8f1a418b3a4c23967288b8b0c2d1a40f158cbe/cytoolz-1.1.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:456f77207d1445025d7ef262b8370a05492dcb1490cb428b0f3bf1bd744a89b0", size = 992825, upload-time = "2025-10-19T00:42:55.026Z" }, + { url = "https://files.pythonhosted.org/packages/03/af/39d2d3db322136e12e9336a1f13bab51eab88b386bfb11f91d3faff8ba34/cytoolz-1.1.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:174ebc71ebb20a9baeffce6ee07ee2cd913754325c93f99d767380d8317930f7", size = 990525, upload-time = "2025-10-19T00:42:56.666Z" }, + { url = "https://files.pythonhosted.org/packages/a6/bd/65d7a869d307f9b10ad45c2c1cbb40b81a8d0ed1138fa17fd904f5c83298/cytoolz-1.1.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:8b3604fef602bcd53415055a4f68468339192fd17be39e687ae24f476d23d56e", size = 2672409, upload-time = "2025-10-19T00:42:58.81Z" }, + { url = "https://files.pythonhosted.org/packages/2d/fb/74dfd844bfd67e810bd36e8e3903a143035447245828e7fcd7c81351d775/cytoolz-1.1.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3604b959a01f64c366e7d10ec7634d5f5cfe10301e27a8f090f6eb3b2a628a18", size = 2808477, upload-time = "2025-10-19T00:43:00.577Z" }, + { url = "https://files.pythonhosted.org/packages/d6/1f/587686c43e31c19241ec317da66438d093523921ea7749bbc65558a30df9/cytoolz-1.1.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6db2127a3c1bc2f59f08010d2ae53a760771a9de2f67423ad8d400e9ba4276e8", size = 2636881, upload-time = "2025-10-19T00:43:02.24Z" }, + { url = "https://files.pythonhosted.org/packages/bc/6d/90468cd34f77cb38a11af52c4dc6199efcc97a486395a21bef72e9b7602e/cytoolz-1.1.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:56584745ac647993a016a21bc76399113b7595e312f8d0a1b140c9fcf9b58a27", size = 2937315, upload-time = "2025-10-19T00:43:03.954Z" }, + { url = "https://files.pythonhosted.org/packages/d9/50/7b92cd78c613b92e3509e6291d3fb7e0d72ebda999a8df806a96c40ca9ab/cytoolz-1.1.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:db2c4c3a7f7bd7e03bb1a236a125c8feb86c75802f4ecda6ecfaf946610b2930", size = 2959988, upload-time = "2025-10-19T00:43:05.758Z" }, + { url = "https://files.pythonhosted.org/packages/44/d5/34b5a28a8d9bb329f984b4c2259407ca3f501d1abeb01bacea07937d85d1/cytoolz-1.1.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:48cb8a692111a285d2b9acd16d185428176bfbffa8a7c274308525fccd01dd42", size = 2795116, upload-time = "2025-10-19T00:43:07.411Z" }, + { url = "https://files.pythonhosted.org/packages/f5/d9/5dd829e33273ec03bdc3c812e6c3281987ae2c5c91645582f6c331544a64/cytoolz-1.1.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d2f344ba5eb17dcf38ee37fdde726f69053f54927db8f8a1bed6ac61e5b1890d", size = 2535390, upload-time = "2025-10-19T00:43:09.104Z" }, + { url = "https://files.pythonhosted.org/packages/87/1f/7f9c58068a8eec2183110df051bc6b69dd621143f84473eeb6dc1b32905a/cytoolz-1.1.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:abf76b1c1abd031f098f293b6d90ee08bdaa45f8b5678430e331d991b82684b1", size = 2704834, upload-time = "2025-10-19T00:43:10.942Z" }, + { url = "https://files.pythonhosted.org/packages/d2/90/667def5665333575d01a65fe3ec0ca31b897895f6e3bc1a42d6ea3659369/cytoolz-1.1.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:ddf9a38a5b686091265ff45b53d142e44a538cd6c2e70610d3bc6be094219032", size = 2658441, upload-time = "2025-10-19T00:43:12.655Z" }, + { url = "https://files.pythonhosted.org/packages/23/79/6615f9a14960bd29ac98b823777b6589357833f65cf1a11b5abc1587c120/cytoolz-1.1.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:946786755274f07bb2be0400f28adb31d7d85a7c7001873c0a8e24a503428fb3", size = 2654766, upload-time = "2025-10-19T00:43:14.325Z" }, + { url = "https://files.pythonhosted.org/packages/b0/99/be59c6e0ae02153ef10ae1ff0f380fb19d973c651b50cf829a731f6c9e79/cytoolz-1.1.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:d5b8f78b9fed79cf185ad4ddec099abeef45951bdcb416c5835ba05f0a1242c7", size = 2827649, upload-time = "2025-10-19T00:43:16.132Z" }, + { url = "https://files.pythonhosted.org/packages/19/b7/854ddcf9f9618844108677c20d48f4611b5c636956adea0f0e85e027608f/cytoolz-1.1.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:fccde6efefdbc02e676ccb352a2ccc8a8e929f59a1c6d3d60bb78e923a49ca44", size = 2533456, upload-time = "2025-10-19T00:43:17.764Z" }, + { url = "https://files.pythonhosted.org/packages/45/66/bfe6fbb2bdcf03c8377c8c2f542576e15f3340c905a09d78a6cb3badd39a/cytoolz-1.1.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:717b7775313da5f51b0fbf50d865aa9c39cb241bd4cb605df3cf2246d6567397", size = 2826455, upload-time = "2025-10-19T00:43:19.561Z" }, + { url = "https://files.pythonhosted.org/packages/c3/0c/cce4047bd927e95f59e73319c02c9bc86bd3d76392e0eb9e41a1147a479c/cytoolz-1.1.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5158744a09d0e0e4a4f82225e3a3c4ebf38f9ae74467aaa905467270e52f2794", size = 2714897, upload-time = "2025-10-19T00:43:21.291Z" }, + { url = "https://files.pythonhosted.org/packages/ac/9a/061323bb289b565802bad14fb7ab59fcd8713105df142bcf4dd9ff64f8ac/cytoolz-1.1.0-cp314-cp314-win32.whl", hash = "sha256:1ed534bdbbf063b2bb28fca7d0f6723a3e5a72b086e7c7fe6d74ae8c3e4d00e2", size = 901490, upload-time = "2025-10-19T00:43:22.895Z" }, + { url = "https://files.pythonhosted.org/packages/a3/20/1f3a733d710d2a25d6f10b463bef55ada52fe6392a5d233c8d770191f48a/cytoolz-1.1.0-cp314-cp314-win_amd64.whl", hash = "sha256:472c1c9a085f5ad973ec0ad7f0b9ba0969faea6f96c9e397f6293d386f3a25ec", size = 946730, upload-time = "2025-10-19T00:43:24.838Z" }, + { url = "https://files.pythonhosted.org/packages/f2/22/2d657db4a5d1c10a152061800f812caba9ef20d7bd2406f51a5fd800c180/cytoolz-1.1.0-cp314-cp314-win_arm64.whl", hash = "sha256:a7ad7ca3386fa86bd301be3fa36e7f0acb024f412f665937955acfc8eb42deff", size = 905722, upload-time = "2025-10-19T00:43:26.439Z" }, + { url = "https://files.pythonhosted.org/packages/19/97/b4a8c76796a9a8b9bc90c7992840fa1589a1af8e0426562dea4ce9b384a7/cytoolz-1.1.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:64b63ed4b71b1ba813300ad0f06b8aff19a12cf51116e0e4f1ed837cea4debcf", size = 1372606, upload-time = "2025-10-19T00:43:28.491Z" }, + { url = "https://files.pythonhosted.org/packages/08/d4/a1bb1a32b454a2d650db8374ff3bf875ba0fc1c36e6446ec02a83b9140a1/cytoolz-1.1.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:a60ba6f2ed9eb0003a737e1ee1e9fa2258e749da6477946008d4324efa25149f", size = 1012189, upload-time = "2025-10-19T00:43:30.177Z" }, + { url = "https://files.pythonhosted.org/packages/21/4b/2f5cbbd81588918ee7dd70cffb66731608f578a9b72166aafa991071af7d/cytoolz-1.1.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1aa58e2434d732241f7f051e6f17657e969a89971025e24578b5cbc6f1346485", size = 1020624, upload-time = "2025-10-19T00:43:31.712Z" }, + { url = "https://files.pythonhosted.org/packages/f5/99/c4954dd86cd593cd776a038b36795a259b8b5c12cbab6363edf5f6d9c909/cytoolz-1.1.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:6965af3fc7214645970e312deb9bd35a213a1eaabcfef4f39115e60bf2f76867", size = 2917016, upload-time = "2025-10-19T00:43:33.531Z" }, + { url = "https://files.pythonhosted.org/packages/b2/7c/f1f70a17e272b433232bc8a27df97e46b202d6cc07e3b0d63f7f41ba0f2d/cytoolz-1.1.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ddd2863f321d67527d3b67a93000a378ad6f967056f68c06467fe011278a6d0e", size = 3107634, upload-time = "2025-10-19T00:43:35.57Z" }, + { url = "https://files.pythonhosted.org/packages/8f/bd/c3226a57474b4aef1f90040510cba30d0decd3515fed48dc229b37c2f898/cytoolz-1.1.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4e6b428e9eb5126053c2ae0efa62512ff4b38ed3951f4d0888ca7005d63e56f5", size = 2806221, upload-time = "2025-10-19T00:43:37.707Z" }, + { url = "https://files.pythonhosted.org/packages/c3/47/2f7bfe4aaa1e07dc9828bea228ed744faf73b26aee0c1bdf3b5520bf1909/cytoolz-1.1.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d758e5ef311d2671e0ae8c214c52e44617cf1e58bef8f022b547b9802a5a7f30", size = 3107671, upload-time = "2025-10-19T00:43:39.401Z" }, + { url = "https://files.pythonhosted.org/packages/4d/12/6ff3b04fbd1369d0fcd5f8b5910ba6e427e33bf113754c4c35ec3f747924/cytoolz-1.1.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a95416eca473e6c1179b48d86adcf528b59c63ce78f4cb9934f2e413afa9b56b", size = 3176350, upload-time = "2025-10-19T00:43:41.148Z" }, + { url = "https://files.pythonhosted.org/packages/e6/8c/6691d986b728e77b5d2872743ebcd962d37a2d0f7e9ad95a81b284fbf905/cytoolz-1.1.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:36c8ede93525cf11e2cc787b7156e5cecd7340193ef800b816a16f1404a8dc6d", size = 3001173, upload-time = "2025-10-19T00:43:42.923Z" }, + { url = "https://files.pythonhosted.org/packages/7a/cb/f59d83a5058e1198db5a1f04e4a124c94d60390e4fa89b6d2e38ee8288a0/cytoolz-1.1.0-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c0c949755b6d8a649c5fbc888bc30915926f1b09fe42fea9f289e297c2f6ddd3", size = 2701374, upload-time = "2025-10-19T00:43:44.716Z" }, + { url = "https://files.pythonhosted.org/packages/b7/f0/1ae6d28df503b0bdae094879da2072b8ba13db5919cd3798918761578411/cytoolz-1.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e1b6d37545816905a76d9ed59fa4e332f929e879f062a39ea0f6f620405cdc27", size = 2953081, upload-time = "2025-10-19T00:43:47.103Z" }, + { url = "https://files.pythonhosted.org/packages/f4/06/d86fe811c6222dc32d3e08f5d88d2be598a6055b4d0590e7c1428d55c386/cytoolz-1.1.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:05332112d4087904842b36954cd1d3fc0e463a2f4a7ef9477bd241427c593c3b", size = 2862228, upload-time = "2025-10-19T00:43:49.353Z" }, + { url = "https://files.pythonhosted.org/packages/ae/32/978ef6f42623be44a0a03ae9de875ab54aa26c7e38c5c4cd505460b0927d/cytoolz-1.1.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:31538ca2fad2d688cbd962ccc3f1da847329e2258a52940f10a2ac0719e526be", size = 2861971, upload-time = "2025-10-19T00:43:51.028Z" }, + { url = "https://files.pythonhosted.org/packages/ee/f7/74c69497e756b752b359925d1feef68b91df024a4124a823740f675dacd3/cytoolz-1.1.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:747562aa70abf219ea16f07d50ac0157db856d447f7f498f592e097cbc77df0b", size = 2975304, upload-time = "2025-10-19T00:43:52.99Z" }, + { url = "https://files.pythonhosted.org/packages/5b/2b/3ce0e6889a6491f3418ad4d84ae407b8456b02169a5a1f87990dbba7433b/cytoolz-1.1.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:3dc15c48b20c0f467e15e341e102896c8422dccf8efc6322def5c1b02f074629", size = 2697371, upload-time = "2025-10-19T00:43:55.312Z" }, + { url = "https://files.pythonhosted.org/packages/15/87/c616577f0891d97860643c845f7221e95240aa589586de727e28a5eb6e52/cytoolz-1.1.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:3c03137ee6103ba92d5d6ad6a510e86fded69cd67050bd8a1843f15283be17ac", size = 2992436, upload-time = "2025-10-19T00:43:57.253Z" }, + { url = "https://files.pythonhosted.org/packages/e7/9f/490c81bffb3428ab1fa114051fbb5ba18aaa2e2fe4da5bf4170ca524e6b3/cytoolz-1.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:be8e298d88f88bd172b59912240558be3b7a04959375646e7fd4996401452941", size = 2917612, upload-time = "2025-10-19T00:43:59.423Z" }, + { url = "https://files.pythonhosted.org/packages/66/35/0fec2769660ca6472bbf3317ab634675827bb706d193e3240aaf20eab961/cytoolz-1.1.0-cp314-cp314t-win32.whl", hash = "sha256:3d407140f5604a89578285d4aac7b18b8eafa055cf776e781aabb89c48738fad", size = 960842, upload-time = "2025-10-19T00:44:01.143Z" }, + { url = "https://files.pythonhosted.org/packages/46/b4/b7ce3d3cd20337becfec978ecfa6d0ef64884d0cf32d44edfed8700914b9/cytoolz-1.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:56e5afb69eb6e1b3ffc34716ee5f92ffbdb5cb003b3a5ca4d4b0fe700e217162", size = 1020835, upload-time = "2025-10-19T00:44:03.246Z" }, + { url = "https://files.pythonhosted.org/packages/2c/1f/0498009aa563a9c5d04f520aadc6e1c0942434d089d0b2f51ea986470f55/cytoolz-1.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:27b19b4a286b3ff52040efa42dbe403730aebe5fdfd2def704eb285e2125c63e", size = 927963, upload-time = "2025-10-19T00:44:04.85Z" }, + { url = "https://files.pythonhosted.org/packages/29/2a/ab01bc8bf611f8b7e7f42c666da585f87e4cdf88334100c86282e610ce78/cytoolz-1.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:08a63935c66488511b7b29b06233be0be5f4123622fc8fd488f28dc1b7e4c164", size = 1311508, upload-time = "2025-10-19T00:44:06.865Z" }, + { url = "https://files.pythonhosted.org/packages/b0/e2/1c327e551bcacb6f9e698ab4cca3174ab179c9722f4bfb6b23d063bc302e/cytoolz-1.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:93bd0afcc4cc05794507084afaefb161c3639f283ee629bd0e8654b5c0327ba8", size = 987745, upload-time = "2025-10-19T00:44:08.896Z" }, + { url = "https://files.pythonhosted.org/packages/7f/aa/8db92c07623df2497fcd4e8a440f6805f38f2aa0bbd3804ad02c1b838815/cytoolz-1.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f3d4da470cfd5cf44f6d682c6eb01363066e0af53ebe111225e44a618f9453d", size = 985001, upload-time = "2025-10-19T00:44:10.845Z" }, + { url = "https://files.pythonhosted.org/packages/20/be/5666749f0edc7e9febd3dea154ee566b493f6334b82bb898911946a7bafb/cytoolz-1.1.0-cp39-cp39-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:ba6c12d0e6a67399f4102b4980f4f1bebdbf226ed0a68e84617709d4009b4e71", size = 2591071, upload-time = "2025-10-19T00:44:12.686Z" }, + { url = "https://files.pythonhosted.org/packages/a2/6b/087063bb786147989224668d84a2292aed8575fae99de9a1398bf86d0994/cytoolz-1.1.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b557071405b4aeeaa7cbec1a95d15d6c8f37622fe3f4b595311e0e226ce772c", size = 2685359, upload-time = "2025-10-19T00:44:14.451Z" }, + { url = "https://files.pythonhosted.org/packages/e3/05/697867eaf6482c43cc9178480a85c25530956339973b45c2a95d693c05d4/cytoolz-1.1.0-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:cdb406001474726a47fbe903f3aba0de86f5c0b9c9861f55c09c366368225ae0", size = 2557840, upload-time = "2025-10-19T00:44:16.178Z" }, + { url = "https://files.pythonhosted.org/packages/17/12/3b2ac292fdceb06c06f0d1c75974ae501c3634516adc56b1cc489ad90c09/cytoolz-1.1.0-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b6072876ba56446d9ac29d349983677d6f44c6d1c6c1c6be44e66e377c57c767", size = 2860930, upload-time = "2025-10-19T00:44:18.266Z" }, + { url = "https://files.pythonhosted.org/packages/34/7e/42e0091eb75818685af26be86757d960e85e77cd64d635d215a7ab0da7a9/cytoolz-1.1.0-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8c3784c965c9a6822d315d099c3a85b0884ac648952815891c667b469116f1d0", size = 2897288, upload-time = "2025-10-19T00:44:20.596Z" }, + { url = "https://files.pythonhosted.org/packages/e0/21/4de96bcca53006340351b7984e89847433fc2fa49c53f7ee7f23ca472eec/cytoolz-1.1.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0cc537ad78981df1a827773069fd3b7774f4478db43f518b1616efaf87d7d8f9", size = 2676100, upload-time = "2025-10-19T00:44:22.659Z" }, + { url = "https://files.pythonhosted.org/packages/39/c9/a47ae408836ddc287ed4edc09f368444047ae2f04b91a4304e7eb9719279/cytoolz-1.1.0-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:574ee9dfdc632db8bf9237f27f2a687d1a0b90d29d5e96cab2b21fd2b419c17d", size = 2517030, upload-time = "2025-10-19T00:44:24.287Z" }, + { url = "https://files.pythonhosted.org/packages/53/27/f0f1d63cd490388cfd83c1a741214d10bad163b8a60c25b905475a06682b/cytoolz-1.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:6594efbaea72dc58b368b53e745ad902c8d8cc41286f00b3743ceac464d5ef3f", size = 2603191, upload-time = "2025-10-19T00:44:26.379Z" }, + { url = "https://files.pythonhosted.org/packages/31/5d/80747382712aabb4b49815a37861fe9756dc289b6f0d9c6c2032f734230d/cytoolz-1.1.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:7c849f9ddaf3c7faba938440f9c849235a2908b303063d49da3092a93acd695b", size = 2555442, upload-time = "2025-10-19T00:44:28.335Z" }, + { url = "https://files.pythonhosted.org/packages/f9/53/2464e082ea08f7ab14f896ac4025894e41b54debca630fdb0ab4c4b7faad/cytoolz-1.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1fef0296fb3577d0a08ad9b70344ee418f728f1ec21a768ffe774437d67ac859", size = 2571366, upload-time = "2025-10-19T00:44:30.399Z" }, + { url = "https://files.pythonhosted.org/packages/f0/2a/e80886c3161f0b0f8a10c09a00332be80d2b48ac6db4c66818e175dc054c/cytoolz-1.1.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:1dce1e66fdf72cc474367bd7a7f2b90ec67bb8197dc3fe8ecd08f4ce3ab950a1", size = 2763108, upload-time = "2025-10-19T00:44:32.137Z" }, + { url = "https://files.pythonhosted.org/packages/bb/15/d54c5e7c20271cb993d6c8e7d1a3395be458fe4da0b777ec9022fac12835/cytoolz-1.1.0-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:202fe9975efaec0085cab14a6a6050418bc041f5316f2cf098c0cd2aced4c50e", size = 2511983, upload-time = "2025-10-19T00:44:33.951Z" }, + { url = "https://files.pythonhosted.org/packages/39/90/f0671eaf035c329d08fcb97add01c109bbbc77611532d3d6739f8ee5881f/cytoolz-1.1.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:528349434601b9d55e65c6a495494de0001c9a06b431547fea4c60b5edc7d5b3", size = 2747606, upload-time = "2025-10-19T00:44:35.823Z" }, + { url = "https://files.pythonhosted.org/packages/21/f5/b0a1677fc29d6956a7ce41acb366668064e3cf403abfb806d12f3b51e1d5/cytoolz-1.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:3e248cdbf2a54bafdadf4486ddd32e8352f816d3caa2014e44de99f8c525d4a8", size = 2611184, upload-time = "2025-10-19T00:44:37.588Z" }, + { url = "https://files.pythonhosted.org/packages/05/08/4ea17cbcec7ded897384f3a37144ce6b9bfef1bf599211e097ae3cde00c3/cytoolz-1.1.0-cp39-cp39-win32.whl", hash = "sha256:e63f2b70f4654648a5c6a176ae80897c0de6401f385540dce8e365019e800cfe", size = 901158, upload-time = "2025-10-19T00:44:39.27Z" }, + { url = "https://files.pythonhosted.org/packages/5d/f5/75d66b5ed3d131825f86c9b730576eee9b74928ac745d0c7ba0b0f88da48/cytoolz-1.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:f731c53ed29959f105ae622b62e39603c207ed8e8cb2a40cd4accb63d9f92901", size = 946226, upload-time = "2025-10-19T00:44:40.931Z" }, + { url = "https://files.pythonhosted.org/packages/75/2f/fe71e80d067054ac2ba57d5a40c049d382ff90d2ded74ce18f6f69933ed0/cytoolz-1.1.0-cp39-cp39-win_arm64.whl", hash = "sha256:5a2120bf9e6e8f25e1b32748424a5571e319ef03a995a8fde663fd2feec1a696", size = 905864, upload-time = "2025-10-19T00:44:42.743Z" }, + { url = "https://files.pythonhosted.org/packages/84/32/0522207170294cf691112a93c70a8ef942f60fa9ff8e793b63b1f09cedc0/cytoolz-1.1.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:f32e93a55681d782fc6af939f6df36509d65122423cbc930be39b141064adff8", size = 922014, upload-time = "2025-10-19T00:44:44.911Z" }, + { url = "https://files.pythonhosted.org/packages/4c/49/9be2d24adaa18fa307ff14e3e43f02b2ae4b69c4ce51cee6889eb2114990/cytoolz-1.1.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:5d9bc596751cbda8073e65be02ca11706f00029768fbbbc81e11a8c290bb41aa", size = 918134, upload-time = "2025-10-19T00:44:47.122Z" }, + { url = "https://files.pythonhosted.org/packages/5c/b3/6a76c3b94c6c87c72ea822e7e67405be6b649c2e37778eeac7c0c0c69de8/cytoolz-1.1.0-pp311-pypy311_pp73-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:9b16660d01c3931951fab49db422c627897c38c1a1f0393a97582004019a4887", size = 981970, upload-time = "2025-10-19T00:44:48.906Z" }, + { url = "https://files.pythonhosted.org/packages/f6/8a/606e4c7ed14aa6a86aee6ca84a2cb804754dc6c4905b8f94e09e49f1ce60/cytoolz-1.1.0-pp311-pypy311_pp73-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b7de5718e2113d4efccea3f06055758cdbc17388ecc3341ba4d1d812837d7c1a", size = 978877, upload-time = "2025-10-19T00:44:50.819Z" }, + { url = "https://files.pythonhosted.org/packages/97/ec/ad474dcb1f6c1ebfdda3c2ad2edbb1af122a0e79c9ff2cb901ffb5f59662/cytoolz-1.1.0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a12a2a1a6bc44099491c05a12039efa08cc33a3d0f8c7b0566185e085e139283", size = 964279, upload-time = "2025-10-19T00:44:52.476Z" }, + { url = "https://files.pythonhosted.org/packages/68/8c/d245fd416c69d27d51f14d5ad62acc4ee5971088ee31c40ffe1cc109af68/cytoolz-1.1.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:047defa7f5f9a32f82373dbc3957289562e8a3fa58ae02ec8e4dca4f43a33a21", size = 916630, upload-time = "2025-10-19T00:44:54.059Z" }, +] + [[package]] name = "deepdiff" version = "8.4.2" @@ -712,12 +1631,12 @@ wheels = [ ] [[package]] -name = "distlib" +name = "dill" version = "0.4.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/96/8e/709914eb2b5749865801041647dc7f4e6d00b549cfe88b65ca192995f07c/distlib-0.4.0.tar.gz", hash = "sha256:feec40075be03a04501a973d81f633735b4b69f98b05450592310c0f401a4e0d", size = 614605, upload-time = "2025-07-17T16:52:00.465Z" } +sdist = { url = "https://files.pythonhosted.org/packages/12/80/630b4b88364e9a8c8c5797f4602d0f76ef820909ee32f0bacb9f90654042/dill-0.4.0.tar.gz", hash = "sha256:0633f1d2df477324f53a895b02c901fb961bdbf65a17122586ea7019292cbcf0", size = 186976, upload-time = "2025-04-16T00:41:48.867Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/33/6b/e0547afaf41bf2c42e52430072fa5658766e3d65bd4b03a563d1b6336f57/distlib-0.4.0-py2.py3-none-any.whl", hash = "sha256:9659f7d87e46584a30b5780e43ac7a2143098441670ff0a49d5f9034c54a6c16", size = 469047, upload-time = "2025-07-17T16:51:58.613Z" }, + { url = "https://files.pythonhosted.org/packages/50/3d/9373ad9c56321fdab5b41197068e1d8c25883b3fea29dd361f9b55116869/dill-0.4.0-py3-none-any.whl", hash = "sha256:44f54bf6412c2c8464c14e8243eb163690a9800dbe2c367330883b19c7561049", size = 119668, upload-time = "2025-04-16T00:41:47.671Z" }, ] [[package]] @@ -756,7 +1675,8 @@ dependencies = [ { name = "eth-rlp" }, { name = "eth-utils" }, { name = "hexbytes" }, - { name = "pydantic" }, + { name = "pydantic", version = "2.10.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "rlp" }, ] sdist = { url = "https://files.pythonhosted.org/packages/74/cf/20f76a29be97339c969fd765f1237154286a565a1d61be98e76bb7af946a/eth_account-0.13.7.tar.gz", hash = "sha256:5853ecbcbb22e65411176f121f5f24b8afeeaf13492359d254b16d8b18c77a46", size = 935998, upload-time = "2025-04-21T21:11:21.204Z" } @@ -813,7 +1733,8 @@ dependencies = [ { name = "eth-utils" }, { name = "hexbytes" }, { name = "rlp" }, - { name = "typing-extensions", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/7f/ea/ad39d001fa9fed07fad66edb00af701e29b48be0ed44a3bcf58cb3adf130/eth_rlp-2.2.0.tar.gz", hash = "sha256:5e4b2eb1b8213e303d6a232dfe35ab8c29e2d3051b86e8d359def80cd21db83d", size = 7720, upload-time = "2025-02-04T21:51:08.134Z" } wheels = [ @@ -825,7 +1746,8 @@ name = "eth-typing" version = "5.2.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "typing-extensions" }, + { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/60/54/62aa24b9cc708f06316167ee71c362779c8ed21fc8234a5cd94a8f53b623/eth_typing-5.2.1.tar.gz", hash = "sha256:7557300dbf02a93c70fa44af352b5c4a58f94e997a0fd6797fb7d1c29d9538ee", size = 21806, upload-time = "2025-04-14T20:39:28.217Z" } wheels = [ @@ -837,11 +1759,14 @@ name = "eth-utils" version = "5.3.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "cytoolz", marker = "implementation_name == 'cpython'" }, + { name = "cytoolz", version = "1.0.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9' and implementation_name == 'cpython'" }, + { name = "cytoolz", version = "1.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and implementation_name == 'cpython'" }, { name = "eth-hash" }, { name = "eth-typing" }, - { name = "pydantic" }, - { name = "toolz", marker = "implementation_name == 'pypy'" }, + { name = "pydantic", version = "2.10.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "toolz", version = "1.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9' and implementation_name == 'pypy'" }, + { name = "toolz", version = "1.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and implementation_name == 'pypy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/e6/e1/ee3a8728227c3558853e63ff35bd4c449abdf5022a19601369400deacd39/eth_utils-5.3.1.tar.gz", hash = "sha256:c94e2d2abd024a9a42023b4ddc1c645814ff3d6a737b33d5cfd890ebf159c2d1", size = 123506, upload-time = "2025-08-27T16:37:17.378Z" } wheels = [ @@ -850,143 +1775,307 @@ wheels = [ [[package]] name = "exceptiongroup" -version = "1.3.0" +version = "1.3.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "typing-extensions", marker = "python_full_version < '3.11'" }, + { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88", size = 29749, upload-time = "2025-05-10T17:42:51.123Z" } +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/36/f4/c6e662dade71f56cd2f3735141b265c3c79293c109549c1e6933b0651ffc/exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10", size = 16674, upload-time = "2025-05-10T17:42:49.33Z" }, + { 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.1" +version = "2.1.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/bb/ff/b4c0dc78fbe20c3e59c0c7334de0c27eb4001a2b2017999af398bf730817/execnet-2.1.1.tar.gz", hash = "sha256:5189b52c6121c24feae288166ab41b32549c7e2348652736540b9e6e7d4e72e3", size = 166524, upload-time = "2024-04-08T09:04:19.245Z" } +sdist = { url = "https://files.pythonhosted.org/packages/bf/89/780e11f9588d9e7128a3f87788354c7946a9cbb1401ad38a48c4db9a4f07/execnet-2.1.2.tar.gz", hash = "sha256:63d83bfdd9a23e35b9c6a3261412324f964c2ec8dcd8d3c6916ee9373e0befcd", size = 166622, upload-time = "2025-11-12T09:56:37.75Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/43/09/2aea36ff60d16dd8879bdb2f5b3ee0ba8d08cbbdcdfe870e695ce3784385/execnet-2.1.1-py3-none-any.whl", hash = "sha256:26dee51f1b80cebd6d0ca8e74dd8745419761d3bef34163928cbebbdc4749fdc", size = 40612, upload-time = "2024-04-08T09:04:17.414Z" }, + { url = "https://files.pythonhosted.org/packages/ab/84/02fc1827e8cdded4aa65baef11296a9bbe595c474f0d6d758af082d849fd/execnet-2.1.2-py3-none-any.whl", hash = "sha256:67fba928dd5a544b783f6056f449e5e3931a5c378b128bc18501f7ea79e296ec", size = 40708, upload-time = "2025-11-12T09:56:36.333Z" }, +] + +[[package]] +name = "filelock" +version = "3.16.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/9d/db/3ef5bb276dae18d6ec2124224403d1d67bccdbefc17af4cc8f553e341ab1/filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435", size = 18037, upload-time = "2024-09-17T19:02:01.779Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b9/f8/feced7779d755758a52d1f6635d990b8d98dc0a29fa568bbe0625f18fdf3/filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0", size = 16163, upload-time = "2024-09-17T19:02:00.268Z" }, ] [[package]] name = "filelock" version = "3.19.1" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] sdist = { url = "https://files.pythonhosted.org/packages/40/bb/0ab3e58d22305b6f5440629d20683af28959bf793d98d11950e305c1c326/filelock-3.19.1.tar.gz", hash = "sha256:66eda1888b0171c998b35be2bcc0f6d75c388a7ce20c3f3f37aa8e96c2dddf58", size = 17687, upload-time = "2025-08-14T16:56:03.016Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/42/14/42b2651a2f46b022ccd948bca9f2d5af0fd8929c4eec235b8d6d844fbe67/filelock-3.19.1-py3-none-any.whl", hash = "sha256:d38e30481def20772f5baf097c122c3babc4fcdb7e14e57049eb9d88c6dc017d", size = 15988, upload-time = "2025-08-14T16:56:01.633Z" }, ] +[[package]] +name = "filelock" +version = "3.20.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/c1/e0/a75dbe4bca1e7d41307323dad5ea2efdd95408f74ab2de8bd7dba9b51a1a/filelock-3.20.2.tar.gz", hash = "sha256:a2241ff4ddde2a7cebddf78e39832509cb045d18ec1a09d7248d6bfc6bfbbe64", size = 19510, upload-time = "2026-01-02T15:33:32.582Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9a/30/ab407e2ec752aa541704ed8f93c11e2a5d92c168b8a755d818b74a3c5c2d/filelock-3.20.2-py3-none-any.whl", hash = "sha256:fbba7237d6ea277175a32c54bb71ef814a8546d8601269e1bfc388de333974e8", size = 16697, upload-time = "2026-01-02T15:33:31.133Z" }, +] + [[package]] name = "frozenlist" -version = "1.7.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/79/b1/b64018016eeb087db503b038296fd782586432b9c077fc5c7839e9cb6ef6/frozenlist-1.7.0.tar.gz", hash = "sha256:2e310d81923c2437ea8670467121cc3e9b0f76d3043cc1d2331d56c7fb7a3a8f", size = 45078, upload-time = "2025-06-09T23:02:35.538Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/af/36/0da0a49409f6b47cc2d060dc8c9040b897b5902a8a4e37d9bc1deb11f680/frozenlist-1.7.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cc4df77d638aa2ed703b878dd093725b72a824c3c546c076e8fdf276f78ee84a", size = 81304, upload-time = "2025-06-09T22:59:46.226Z" }, - { url = "https://files.pythonhosted.org/packages/77/f0/77c11d13d39513b298e267b22eb6cb559c103d56f155aa9a49097221f0b6/frozenlist-1.7.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:716a9973a2cc963160394f701964fe25012600f3d311f60c790400b00e568b61", size = 47735, upload-time = "2025-06-09T22:59:48.133Z" }, - { url = "https://files.pythonhosted.org/packages/37/12/9d07fa18971a44150593de56b2f2947c46604819976784bcf6ea0d5db43b/frozenlist-1.7.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a0fd1bad056a3600047fb9462cff4c5322cebc59ebf5d0a3725e0ee78955001d", size = 46775, upload-time = "2025-06-09T22:59:49.564Z" }, - { url = "https://files.pythonhosted.org/packages/70/34/f73539227e06288fcd1f8a76853e755b2b48bca6747e99e283111c18bcd4/frozenlist-1.7.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3789ebc19cb811163e70fe2bd354cea097254ce6e707ae42e56f45e31e96cb8e", size = 224644, upload-time = "2025-06-09T22:59:51.35Z" }, - { url = "https://files.pythonhosted.org/packages/fb/68/c1d9c2f4a6e438e14613bad0f2973567586610cc22dcb1e1241da71de9d3/frozenlist-1.7.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:af369aa35ee34f132fcfad5be45fbfcde0e3a5f6a1ec0712857f286b7d20cca9", size = 222125, upload-time = "2025-06-09T22:59:52.884Z" }, - { url = "https://files.pythonhosted.org/packages/b9/d0/98e8f9a515228d708344d7c6986752be3e3192d1795f748c24bcf154ad99/frozenlist-1.7.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac64b6478722eeb7a3313d494f8342ef3478dff539d17002f849101b212ef97c", size = 233455, upload-time = "2025-06-09T22:59:54.74Z" }, - { url = "https://files.pythonhosted.org/packages/79/df/8a11bcec5600557f40338407d3e5bea80376ed1c01a6c0910fcfdc4b8993/frozenlist-1.7.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f89f65d85774f1797239693cef07ad4c97fdd0639544bad9ac4b869782eb1981", size = 227339, upload-time = "2025-06-09T22:59:56.187Z" }, - { url = "https://files.pythonhosted.org/packages/50/82/41cb97d9c9a5ff94438c63cc343eb7980dac4187eb625a51bdfdb7707314/frozenlist-1.7.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1073557c941395fdfcfac13eb2456cb8aad89f9de27bae29fabca8e563b12615", size = 212969, upload-time = "2025-06-09T22:59:57.604Z" }, - { url = "https://files.pythonhosted.org/packages/13/47/f9179ee5ee4f55629e4f28c660b3fdf2775c8bfde8f9c53f2de2d93f52a9/frozenlist-1.7.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ed8d2fa095aae4bdc7fdd80351009a48d286635edffee66bf865e37a9125c50", size = 222862, upload-time = "2025-06-09T22:59:59.498Z" }, - { url = "https://files.pythonhosted.org/packages/1a/52/df81e41ec6b953902c8b7e3a83bee48b195cb0e5ec2eabae5d8330c78038/frozenlist-1.7.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:24c34bea555fe42d9f928ba0a740c553088500377448febecaa82cc3e88aa1fa", size = 222492, upload-time = "2025-06-09T23:00:01.026Z" }, - { url = "https://files.pythonhosted.org/packages/84/17/30d6ea87fa95a9408245a948604b82c1a4b8b3e153cea596421a2aef2754/frozenlist-1.7.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:69cac419ac6a6baad202c85aaf467b65ac860ac2e7f2ac1686dc40dbb52f6577", size = 238250, upload-time = "2025-06-09T23:00:03.401Z" }, - { url = "https://files.pythonhosted.org/packages/8f/00/ecbeb51669e3c3df76cf2ddd66ae3e48345ec213a55e3887d216eb4fbab3/frozenlist-1.7.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:960d67d0611f4c87da7e2ae2eacf7ea81a5be967861e0c63cf205215afbfac59", size = 218720, upload-time = "2025-06-09T23:00:05.282Z" }, - { url = "https://files.pythonhosted.org/packages/1a/c0/c224ce0e0eb31cc57f67742071bb470ba8246623c1823a7530be0e76164c/frozenlist-1.7.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:41be2964bd4b15bf575e5daee5a5ce7ed3115320fb3c2b71fca05582ffa4dc9e", size = 232585, upload-time = "2025-06-09T23:00:07.962Z" }, - { url = "https://files.pythonhosted.org/packages/55/3c/34cb694abf532f31f365106deebdeac9e45c19304d83cf7d51ebbb4ca4d1/frozenlist-1.7.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:46d84d49e00c9429238a7ce02dc0be8f6d7cd0cd405abd1bebdc991bf27c15bd", size = 234248, upload-time = "2025-06-09T23:00:09.428Z" }, - { url = "https://files.pythonhosted.org/packages/98/c0/2052d8b6cecda2e70bd81299e3512fa332abb6dcd2969b9c80dfcdddbf75/frozenlist-1.7.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:15900082e886edb37480335d9d518cec978afc69ccbc30bd18610b7c1b22a718", size = 221621, upload-time = "2025-06-09T23:00:11.32Z" }, - { url = "https://files.pythonhosted.org/packages/c5/bf/7dcebae315436903b1d98ffb791a09d674c88480c158aa171958a3ac07f0/frozenlist-1.7.0-cp310-cp310-win32.whl", hash = "sha256:400ddd24ab4e55014bba442d917203c73b2846391dd42ca5e38ff52bb18c3c5e", size = 39578, upload-time = "2025-06-09T23:00:13.526Z" }, - { url = "https://files.pythonhosted.org/packages/8f/5f/f69818f017fa9a3d24d1ae39763e29b7f60a59e46d5f91b9c6b21622f4cd/frozenlist-1.7.0-cp310-cp310-win_amd64.whl", hash = "sha256:6eb93efb8101ef39d32d50bce242c84bcbddb4f7e9febfa7b524532a239b4464", size = 43830, upload-time = "2025-06-09T23:00:14.98Z" }, - { url = "https://files.pythonhosted.org/packages/34/7e/803dde33760128acd393a27eb002f2020ddb8d99d30a44bfbaab31c5f08a/frozenlist-1.7.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:aa51e147a66b2d74de1e6e2cf5921890de6b0f4820b257465101d7f37b49fb5a", size = 82251, upload-time = "2025-06-09T23:00:16.279Z" }, - { url = "https://files.pythonhosted.org/packages/75/a9/9c2c5760b6ba45eae11334db454c189d43d34a4c0b489feb2175e5e64277/frozenlist-1.7.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:9b35db7ce1cd71d36ba24f80f0c9e7cff73a28d7a74e91fe83e23d27c7828750", size = 48183, upload-time = "2025-06-09T23:00:17.698Z" }, - { url = "https://files.pythonhosted.org/packages/47/be/4038e2d869f8a2da165f35a6befb9158c259819be22eeaf9c9a8f6a87771/frozenlist-1.7.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:34a69a85e34ff37791e94542065c8416c1afbf820b68f720452f636d5fb990cd", size = 47107, upload-time = "2025-06-09T23:00:18.952Z" }, - { url = "https://files.pythonhosted.org/packages/79/26/85314b8a83187c76a37183ceed886381a5f992975786f883472fcb6dc5f2/frozenlist-1.7.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4a646531fa8d82c87fe4bb2e596f23173caec9185bfbca5d583b4ccfb95183e2", size = 237333, upload-time = "2025-06-09T23:00:20.275Z" }, - { url = "https://files.pythonhosted.org/packages/1f/fd/e5b64f7d2c92a41639ffb2ad44a6a82f347787abc0c7df5f49057cf11770/frozenlist-1.7.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:79b2ffbba483f4ed36a0f236ccb85fbb16e670c9238313709638167670ba235f", size = 231724, upload-time = "2025-06-09T23:00:21.705Z" }, - { url = "https://files.pythonhosted.org/packages/20/fb/03395c0a43a5976af4bf7534759d214405fbbb4c114683f434dfdd3128ef/frozenlist-1.7.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a26f205c9ca5829cbf82bb2a84b5c36f7184c4316617d7ef1b271a56720d6b30", size = 245842, upload-time = "2025-06-09T23:00:23.148Z" }, - { url = "https://files.pythonhosted.org/packages/d0/15/c01c8e1dffdac5d9803507d824f27aed2ba76b6ed0026fab4d9866e82f1f/frozenlist-1.7.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bcacfad3185a623fa11ea0e0634aac7b691aa925d50a440f39b458e41c561d98", size = 239767, upload-time = "2025-06-09T23:00:25.103Z" }, - { url = "https://files.pythonhosted.org/packages/14/99/3f4c6fe882c1f5514b6848aa0a69b20cb5e5d8e8f51a339d48c0e9305ed0/frozenlist-1.7.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:72c1b0fe8fe451b34f12dce46445ddf14bd2a5bcad7e324987194dc8e3a74c86", size = 224130, upload-time = "2025-06-09T23:00:27.061Z" }, - { url = "https://files.pythonhosted.org/packages/4d/83/220a374bd7b2aeba9d0725130665afe11de347d95c3620b9b82cc2fcab97/frozenlist-1.7.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:61d1a5baeaac6c0798ff6edfaeaa00e0e412d49946c53fae8d4b8e8b3566c4ae", size = 235301, upload-time = "2025-06-09T23:00:29.02Z" }, - { url = "https://files.pythonhosted.org/packages/03/3c/3e3390d75334a063181625343e8daab61b77e1b8214802cc4e8a1bb678fc/frozenlist-1.7.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7edf5c043c062462f09b6820de9854bf28cc6cc5b6714b383149745e287181a8", size = 234606, upload-time = "2025-06-09T23:00:30.514Z" }, - { url = "https://files.pythonhosted.org/packages/23/1e/58232c19608b7a549d72d9903005e2d82488f12554a32de2d5fb59b9b1ba/frozenlist-1.7.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:d50ac7627b3a1bd2dcef6f9da89a772694ec04d9a61b66cf87f7d9446b4a0c31", size = 248372, upload-time = "2025-06-09T23:00:31.966Z" }, - { url = "https://files.pythonhosted.org/packages/c0/a4/e4a567e01702a88a74ce8a324691e62a629bf47d4f8607f24bf1c7216e7f/frozenlist-1.7.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ce48b2fece5aeb45265bb7a58259f45027db0abff478e3077e12b05b17fb9da7", size = 229860, upload-time = "2025-06-09T23:00:33.375Z" }, - { url = "https://files.pythonhosted.org/packages/73/a6/63b3374f7d22268b41a9db73d68a8233afa30ed164c46107b33c4d18ecdd/frozenlist-1.7.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:fe2365ae915a1fafd982c146754e1de6ab3478def8a59c86e1f7242d794f97d5", size = 245893, upload-time = "2025-06-09T23:00:35.002Z" }, - { url = "https://files.pythonhosted.org/packages/6d/eb/d18b3f6e64799a79673c4ba0b45e4cfbe49c240edfd03a68be20002eaeaa/frozenlist-1.7.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:45a6f2fdbd10e074e8814eb98b05292f27bad7d1883afbe009d96abdcf3bc898", size = 246323, upload-time = "2025-06-09T23:00:36.468Z" }, - { url = "https://files.pythonhosted.org/packages/5a/f5/720f3812e3d06cd89a1d5db9ff6450088b8f5c449dae8ffb2971a44da506/frozenlist-1.7.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:21884e23cffabb157a9dd7e353779077bf5b8f9a58e9b262c6caad2ef5f80a56", size = 233149, upload-time = "2025-06-09T23:00:37.963Z" }, - { url = "https://files.pythonhosted.org/packages/69/68/03efbf545e217d5db8446acfd4c447c15b7c8cf4dbd4a58403111df9322d/frozenlist-1.7.0-cp311-cp311-win32.whl", hash = "sha256:284d233a8953d7b24f9159b8a3496fc1ddc00f4db99c324bd5fb5f22d8698ea7", size = 39565, upload-time = "2025-06-09T23:00:39.753Z" }, - { url = "https://files.pythonhosted.org/packages/58/17/fe61124c5c333ae87f09bb67186d65038834a47d974fc10a5fadb4cc5ae1/frozenlist-1.7.0-cp311-cp311-win_amd64.whl", hash = "sha256:387cbfdcde2f2353f19c2f66bbb52406d06ed77519ac7ee21be0232147c2592d", size = 44019, upload-time = "2025-06-09T23:00:40.988Z" }, - { url = "https://files.pythonhosted.org/packages/ef/a2/c8131383f1e66adad5f6ecfcce383d584ca94055a34d683bbb24ac5f2f1c/frozenlist-1.7.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:3dbf9952c4bb0e90e98aec1bd992b3318685005702656bc6f67c1a32b76787f2", size = 81424, upload-time = "2025-06-09T23:00:42.24Z" }, - { url = "https://files.pythonhosted.org/packages/4c/9d/02754159955088cb52567337d1113f945b9e444c4960771ea90eb73de8db/frozenlist-1.7.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:1f5906d3359300b8a9bb194239491122e6cf1444c2efb88865426f170c262cdb", size = 47952, upload-time = "2025-06-09T23:00:43.481Z" }, - { url = "https://files.pythonhosted.org/packages/01/7a/0046ef1bd6699b40acd2067ed6d6670b4db2f425c56980fa21c982c2a9db/frozenlist-1.7.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3dabd5a8f84573c8d10d8859a50ea2dec01eea372031929871368c09fa103478", size = 46688, upload-time = "2025-06-09T23:00:44.793Z" }, - { url = "https://files.pythonhosted.org/packages/d6/a2/a910bafe29c86997363fb4c02069df4ff0b5bc39d33c5198b4e9dd42d8f8/frozenlist-1.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa57daa5917f1738064f302bf2626281a1cb01920c32f711fbc7bc36111058a8", size = 243084, upload-time = "2025-06-09T23:00:46.125Z" }, - { url = "https://files.pythonhosted.org/packages/64/3e/5036af9d5031374c64c387469bfcc3af537fc0f5b1187d83a1cf6fab1639/frozenlist-1.7.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c193dda2b6d49f4c4398962810fa7d7c78f032bf45572b3e04dd5249dff27e08", size = 233524, upload-time = "2025-06-09T23:00:47.73Z" }, - { url = "https://files.pythonhosted.org/packages/06/39/6a17b7c107a2887e781a48ecf20ad20f1c39d94b2a548c83615b5b879f28/frozenlist-1.7.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bfe2b675cf0aaa6d61bf8fbffd3c274b3c9b7b1623beb3809df8a81399a4a9c4", size = 248493, upload-time = "2025-06-09T23:00:49.742Z" }, - { url = "https://files.pythonhosted.org/packages/be/00/711d1337c7327d88c44d91dd0f556a1c47fb99afc060ae0ef66b4d24793d/frozenlist-1.7.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8fc5d5cda37f62b262405cf9652cf0856839c4be8ee41be0afe8858f17f4c94b", size = 244116, upload-time = "2025-06-09T23:00:51.352Z" }, - { url = "https://files.pythonhosted.org/packages/24/fe/74e6ec0639c115df13d5850e75722750adabdc7de24e37e05a40527ca539/frozenlist-1.7.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b0d5ce521d1dd7d620198829b87ea002956e4319002ef0bc8d3e6d045cb4646e", size = 224557, upload-time = "2025-06-09T23:00:52.855Z" }, - { url = "https://files.pythonhosted.org/packages/8d/db/48421f62a6f77c553575201e89048e97198046b793f4a089c79a6e3268bd/frozenlist-1.7.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:488d0a7d6a0008ca0db273c542098a0fa9e7dfaa7e57f70acef43f32b3f69dca", size = 241820, upload-time = "2025-06-09T23:00:54.43Z" }, - { url = "https://files.pythonhosted.org/packages/1d/fa/cb4a76bea23047c8462976ea7b7a2bf53997a0ca171302deae9d6dd12096/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:15a7eaba63983d22c54d255b854e8108e7e5f3e89f647fc854bd77a237e767df", size = 236542, upload-time = "2025-06-09T23:00:56.409Z" }, - { url = "https://files.pythonhosted.org/packages/5d/32/476a4b5cfaa0ec94d3f808f193301debff2ea42288a099afe60757ef6282/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:1eaa7e9c6d15df825bf255649e05bd8a74b04a4d2baa1ae46d9c2d00b2ca2cb5", size = 249350, upload-time = "2025-06-09T23:00:58.468Z" }, - { url = "https://files.pythonhosted.org/packages/8d/ba/9a28042f84a6bf8ea5dbc81cfff8eaef18d78b2a1ad9d51c7bc5b029ad16/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e4389e06714cfa9d47ab87f784a7c5be91d3934cd6e9a7b85beef808297cc025", size = 225093, upload-time = "2025-06-09T23:01:00.015Z" }, - { url = "https://files.pythonhosted.org/packages/bc/29/3a32959e68f9cf000b04e79ba574527c17e8842e38c91d68214a37455786/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:73bd45e1488c40b63fe5a7df892baf9e2a4d4bb6409a2b3b78ac1c6236178e01", size = 245482, upload-time = "2025-06-09T23:01:01.474Z" }, - { url = "https://files.pythonhosted.org/packages/80/e8/edf2f9e00da553f07f5fa165325cfc302dead715cab6ac8336a5f3d0adc2/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:99886d98e1643269760e5fe0df31e5ae7050788dd288947f7f007209b8c33f08", size = 249590, upload-time = "2025-06-09T23:01:02.961Z" }, - { url = "https://files.pythonhosted.org/packages/1c/80/9a0eb48b944050f94cc51ee1c413eb14a39543cc4f760ed12657a5a3c45a/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:290a172aae5a4c278c6da8a96222e6337744cd9c77313efe33d5670b9f65fc43", size = 237785, upload-time = "2025-06-09T23:01:05.095Z" }, - { url = "https://files.pythonhosted.org/packages/f3/74/87601e0fb0369b7a2baf404ea921769c53b7ae00dee7dcfe5162c8c6dbf0/frozenlist-1.7.0-cp312-cp312-win32.whl", hash = "sha256:426c7bc70e07cfebc178bc4c2bf2d861d720c4fff172181eeb4a4c41d4ca2ad3", size = 39487, upload-time = "2025-06-09T23:01:06.54Z" }, - { url = "https://files.pythonhosted.org/packages/0b/15/c026e9a9fc17585a9d461f65d8593d281fedf55fbf7eb53f16c6df2392f9/frozenlist-1.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:563b72efe5da92e02eb68c59cb37205457c977aa7a449ed1b37e6939e5c47c6a", size = 43874, upload-time = "2025-06-09T23:01:07.752Z" }, - { url = "https://files.pythonhosted.org/packages/24/90/6b2cebdabdbd50367273c20ff6b57a3dfa89bd0762de02c3a1eb42cb6462/frozenlist-1.7.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ee80eeda5e2a4e660651370ebffd1286542b67e268aa1ac8d6dbe973120ef7ee", size = 79791, upload-time = "2025-06-09T23:01:09.368Z" }, - { url = "https://files.pythonhosted.org/packages/83/2e/5b70b6a3325363293fe5fc3ae74cdcbc3e996c2a11dde2fd9f1fb0776d19/frozenlist-1.7.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d1a81c85417b914139e3a9b995d4a1c84559afc839a93cf2cb7f15e6e5f6ed2d", size = 47165, upload-time = "2025-06-09T23:01:10.653Z" }, - { url = "https://files.pythonhosted.org/packages/f4/25/a0895c99270ca6966110f4ad98e87e5662eab416a17e7fd53c364bf8b954/frozenlist-1.7.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cbb65198a9132ebc334f237d7b0df163e4de83fb4f2bdfe46c1e654bdb0c5d43", size = 45881, upload-time = "2025-06-09T23:01:12.296Z" }, - { url = "https://files.pythonhosted.org/packages/19/7c/71bb0bbe0832793c601fff68cd0cf6143753d0c667f9aec93d3c323f4b55/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dab46c723eeb2c255a64f9dc05b8dd601fde66d6b19cdb82b2e09cc6ff8d8b5d", size = 232409, upload-time = "2025-06-09T23:01:13.641Z" }, - { url = "https://files.pythonhosted.org/packages/c0/45/ed2798718910fe6eb3ba574082aaceff4528e6323f9a8570be0f7028d8e9/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6aeac207a759d0dedd2e40745575ae32ab30926ff4fa49b1635def65806fddee", size = 225132, upload-time = "2025-06-09T23:01:15.264Z" }, - { url = "https://files.pythonhosted.org/packages/ba/e2/8417ae0f8eacb1d071d4950f32f229aa6bf68ab69aab797b72a07ea68d4f/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bd8c4e58ad14b4fa7802b8be49d47993182fdd4023393899632c88fd8cd994eb", size = 237638, upload-time = "2025-06-09T23:01:16.752Z" }, - { url = "https://files.pythonhosted.org/packages/f8/b7/2ace5450ce85f2af05a871b8c8719b341294775a0a6c5585d5e6170f2ce7/frozenlist-1.7.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:04fb24d104f425da3540ed83cbfc31388a586a7696142004c577fa61c6298c3f", size = 233539, upload-time = "2025-06-09T23:01:18.202Z" }, - { url = "https://files.pythonhosted.org/packages/46/b9/6989292c5539553dba63f3c83dc4598186ab2888f67c0dc1d917e6887db6/frozenlist-1.7.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6a5c505156368e4ea6b53b5ac23c92d7edc864537ff911d2fb24c140bb175e60", size = 215646, upload-time = "2025-06-09T23:01:19.649Z" }, - { url = "https://files.pythonhosted.org/packages/72/31/bc8c5c99c7818293458fe745dab4fd5730ff49697ccc82b554eb69f16a24/frozenlist-1.7.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8bd7eb96a675f18aa5c553eb7ddc24a43c8c18f22e1f9925528128c052cdbe00", size = 232233, upload-time = "2025-06-09T23:01:21.175Z" }, - { url = "https://files.pythonhosted.org/packages/59/52/460db4d7ba0811b9ccb85af996019f5d70831f2f5f255f7cc61f86199795/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:05579bf020096fe05a764f1f84cd104a12f78eaab68842d036772dc6d4870b4b", size = 227996, upload-time = "2025-06-09T23:01:23.098Z" }, - { url = "https://files.pythonhosted.org/packages/ba/c9/f4b39e904c03927b7ecf891804fd3b4df3db29b9e487c6418e37988d6e9d/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:376b6222d114e97eeec13d46c486facd41d4f43bab626b7c3f6a8b4e81a5192c", size = 242280, upload-time = "2025-06-09T23:01:24.808Z" }, - { url = "https://files.pythonhosted.org/packages/b8/33/3f8d6ced42f162d743e3517781566b8481322be321b486d9d262adf70bfb/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:0aa7e176ebe115379b5b1c95b4096fb1c17cce0847402e227e712c27bdb5a949", size = 217717, upload-time = "2025-06-09T23:01:26.28Z" }, - { url = "https://files.pythonhosted.org/packages/3e/e8/ad683e75da6ccef50d0ab0c2b2324b32f84fc88ceee778ed79b8e2d2fe2e/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3fbba20e662b9c2130dc771e332a99eff5da078b2b2648153a40669a6d0e36ca", size = 236644, upload-time = "2025-06-09T23:01:27.887Z" }, - { url = "https://files.pythonhosted.org/packages/b2/14/8d19ccdd3799310722195a72ac94ddc677541fb4bef4091d8e7775752360/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:f3f4410a0a601d349dd406b5713fec59b4cee7e71678d5b17edda7f4655a940b", size = 238879, upload-time = "2025-06-09T23:01:29.524Z" }, - { url = "https://files.pythonhosted.org/packages/ce/13/c12bf657494c2fd1079a48b2db49fa4196325909249a52d8f09bc9123fd7/frozenlist-1.7.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e2cdfaaec6a2f9327bf43c933c0319a7c429058e8537c508964a133dffee412e", size = 232502, upload-time = "2025-06-09T23:01:31.287Z" }, - { url = "https://files.pythonhosted.org/packages/d7/8b/e7f9dfde869825489382bc0d512c15e96d3964180c9499efcec72e85db7e/frozenlist-1.7.0-cp313-cp313-win32.whl", hash = "sha256:5fc4df05a6591c7768459caba1b342d9ec23fa16195e744939ba5914596ae3e1", size = 39169, upload-time = "2025-06-09T23:01:35.503Z" }, - { url = "https://files.pythonhosted.org/packages/35/89/a487a98d94205d85745080a37860ff5744b9820a2c9acbcdd9440bfddf98/frozenlist-1.7.0-cp313-cp313-win_amd64.whl", hash = "sha256:52109052b9791a3e6b5d1b65f4b909703984b770694d3eb64fad124c835d7cba", size = 43219, upload-time = "2025-06-09T23:01:36.784Z" }, - { url = "https://files.pythonhosted.org/packages/56/d5/5c4cf2319a49eddd9dd7145e66c4866bdc6f3dbc67ca3d59685149c11e0d/frozenlist-1.7.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:a6f86e4193bb0e235ef6ce3dde5cbabed887e0b11f516ce8a0f4d3b33078ec2d", size = 84345, upload-time = "2025-06-09T23:01:38.295Z" }, - { url = "https://files.pythonhosted.org/packages/a4/7d/ec2c1e1dc16b85bc9d526009961953df9cec8481b6886debb36ec9107799/frozenlist-1.7.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:82d664628865abeb32d90ae497fb93df398a69bb3434463d172b80fc25b0dd7d", size = 48880, upload-time = "2025-06-09T23:01:39.887Z" }, - { url = "https://files.pythonhosted.org/packages/69/86/f9596807b03de126e11e7d42ac91e3d0b19a6599c714a1989a4e85eeefc4/frozenlist-1.7.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:912a7e8375a1c9a68325a902f3953191b7b292aa3c3fb0d71a216221deca460b", size = 48498, upload-time = "2025-06-09T23:01:41.318Z" }, - { url = "https://files.pythonhosted.org/packages/5e/cb/df6de220f5036001005f2d726b789b2c0b65f2363b104bbc16f5be8084f8/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9537c2777167488d539bc5de2ad262efc44388230e5118868e172dd4a552b146", size = 292296, upload-time = "2025-06-09T23:01:42.685Z" }, - { url = "https://files.pythonhosted.org/packages/83/1f/de84c642f17c8f851a2905cee2dae401e5e0daca9b5ef121e120e19aa825/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:f34560fb1b4c3e30ba35fa9a13894ba39e5acfc5f60f57d8accde65f46cc5e74", size = 273103, upload-time = "2025-06-09T23:01:44.166Z" }, - { url = "https://files.pythonhosted.org/packages/88/3c/c840bfa474ba3fa13c772b93070893c6e9d5c0350885760376cbe3b6c1b3/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:acd03d224b0175f5a850edc104ac19040d35419eddad04e7cf2d5986d98427f1", size = 292869, upload-time = "2025-06-09T23:01:45.681Z" }, - { url = "https://files.pythonhosted.org/packages/a6/1c/3efa6e7d5a39a1d5ef0abeb51c48fb657765794a46cf124e5aca2c7a592c/frozenlist-1.7.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2038310bc582f3d6a09b3816ab01737d60bf7b1ec70f5356b09e84fb7408ab1", size = 291467, upload-time = "2025-06-09T23:01:47.234Z" }, - { url = "https://files.pythonhosted.org/packages/4f/00/d5c5e09d4922c395e2f2f6b79b9a20dab4b67daaf78ab92e7729341f61f6/frozenlist-1.7.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b8c05e4c8e5f36e5e088caa1bf78a687528f83c043706640a92cb76cd6999384", size = 266028, upload-time = "2025-06-09T23:01:48.819Z" }, - { url = "https://files.pythonhosted.org/packages/4e/27/72765be905619dfde25a7f33813ac0341eb6b076abede17a2e3fbfade0cb/frozenlist-1.7.0-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:765bb588c86e47d0b68f23c1bee323d4b703218037765dcf3f25c838c6fecceb", size = 284294, upload-time = "2025-06-09T23:01:50.394Z" }, - { url = "https://files.pythonhosted.org/packages/88/67/c94103a23001b17808eb7dd1200c156bb69fb68e63fcf0693dde4cd6228c/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:32dc2e08c67d86d0969714dd484fd60ff08ff81d1a1e40a77dd34a387e6ebc0c", size = 281898, upload-time = "2025-06-09T23:01:52.234Z" }, - { url = "https://files.pythonhosted.org/packages/42/34/a3e2c00c00f9e2a9db5653bca3fec306349e71aff14ae45ecc6d0951dd24/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:c0303e597eb5a5321b4de9c68e9845ac8f290d2ab3f3e2c864437d3c5a30cd65", size = 290465, upload-time = "2025-06-09T23:01:53.788Z" }, - { url = "https://files.pythonhosted.org/packages/bb/73/f89b7fbce8b0b0c095d82b008afd0590f71ccb3dee6eee41791cf8cd25fd/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:a47f2abb4e29b3a8d0b530f7c3598badc6b134562b1a5caee867f7c62fee51e3", size = 266385, upload-time = "2025-06-09T23:01:55.769Z" }, - { url = "https://files.pythonhosted.org/packages/cd/45/e365fdb554159462ca12df54bc59bfa7a9a273ecc21e99e72e597564d1ae/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:3d688126c242a6fabbd92e02633414d40f50bb6002fa4cf995a1d18051525657", size = 288771, upload-time = "2025-06-09T23:01:57.4Z" }, - { url = "https://files.pythonhosted.org/packages/00/11/47b6117002a0e904f004d70ec5194fe9144f117c33c851e3d51c765962d0/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:4e7e9652b3d367c7bd449a727dc79d5043f48b88d0cbfd4f9f1060cf2b414104", size = 288206, upload-time = "2025-06-09T23:01:58.936Z" }, - { url = "https://files.pythonhosted.org/packages/40/37/5f9f3c3fd7f7746082ec67bcdc204db72dad081f4f83a503d33220a92973/frozenlist-1.7.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:1a85e345b4c43db8b842cab1feb41be5cc0b10a1830e6295b69d7310f99becaf", size = 282620, upload-time = "2025-06-09T23:02:00.493Z" }, - { url = "https://files.pythonhosted.org/packages/0b/31/8fbc5af2d183bff20f21aa743b4088eac4445d2bb1cdece449ae80e4e2d1/frozenlist-1.7.0-cp313-cp313t-win32.whl", hash = "sha256:3a14027124ddb70dfcee5148979998066897e79f89f64b13328595c4bdf77c81", size = 43059, upload-time = "2025-06-09T23:02:02.072Z" }, - { url = "https://files.pythonhosted.org/packages/bb/ed/41956f52105b8dbc26e457c5705340c67c8cc2b79f394b79bffc09d0e938/frozenlist-1.7.0-cp313-cp313t-win_amd64.whl", hash = "sha256:3bf8010d71d4507775f658e9823210b7427be36625b387221642725b515dcf3e", size = 47516, upload-time = "2025-06-09T23:02:03.779Z" }, - { url = "https://files.pythonhosted.org/packages/dd/b1/ee59496f51cd244039330015d60f13ce5a54a0f2bd8d79e4a4a375ab7469/frozenlist-1.7.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:cea3dbd15aea1341ea2de490574a4a37ca080b2ae24e4b4f4b51b9057b4c3630", size = 82434, upload-time = "2025-06-09T23:02:05.195Z" }, - { url = "https://files.pythonhosted.org/packages/75/e1/d518391ce36a6279b3fa5bc14327dde80bcb646bb50d059c6ca0756b8d05/frozenlist-1.7.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7d536ee086b23fecc36c2073c371572374ff50ef4db515e4e503925361c24f71", size = 48232, upload-time = "2025-06-09T23:02:07.728Z" }, - { url = "https://files.pythonhosted.org/packages/b7/8d/a0d04f28b6e821a9685c22e67b5fb798a5a7b68752f104bfbc2dccf080c4/frozenlist-1.7.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:dfcebf56f703cb2e346315431699f00db126d158455e513bd14089d992101e44", size = 47186, upload-time = "2025-06-09T23:02:09.243Z" }, - { url = "https://files.pythonhosted.org/packages/93/3a/a5334c0535c8b7c78eeabda1579179e44fe3d644e07118e59a2276dedaf1/frozenlist-1.7.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:974c5336e61d6e7eb1ea5b929cb645e882aadab0095c5a6974a111e6479f8878", size = 226617, upload-time = "2025-06-09T23:02:10.949Z" }, - { url = "https://files.pythonhosted.org/packages/0a/67/8258d971f519dc3f278c55069a775096cda6610a267b53f6248152b72b2f/frozenlist-1.7.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c70db4a0ab5ab20878432c40563573229a7ed9241506181bba12f6b7d0dc41cb", size = 224179, upload-time = "2025-06-09T23:02:12.603Z" }, - { url = "https://files.pythonhosted.org/packages/fc/89/8225905bf889b97c6d935dd3aeb45668461e59d415cb019619383a8a7c3b/frozenlist-1.7.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1137b78384eebaf70560a36b7b229f752fb64d463d38d1304939984d5cb887b6", size = 235783, upload-time = "2025-06-09T23:02:14.678Z" }, - { url = "https://files.pythonhosted.org/packages/54/6e/ef52375aa93d4bc510d061df06205fa6dcfd94cd631dd22956b09128f0d4/frozenlist-1.7.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e793a9f01b3e8b5c0bc646fb59140ce0efcc580d22a3468d70766091beb81b35", size = 229210, upload-time = "2025-06-09T23:02:16.313Z" }, - { url = "https://files.pythonhosted.org/packages/ee/55/62c87d1a6547bfbcd645df10432c129100c5bd0fd92a384de6e3378b07c1/frozenlist-1.7.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:74739ba8e4e38221d2c5c03d90a7e542cb8ad681915f4ca8f68d04f810ee0a87", size = 215994, upload-time = "2025-06-09T23:02:17.9Z" }, - { url = "https://files.pythonhosted.org/packages/45/d2/263fea1f658b8ad648c7d94d18a87bca7e8c67bd6a1bbf5445b1bd5b158c/frozenlist-1.7.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1e63344c4e929b1a01e29bc184bbb5fd82954869033765bfe8d65d09e336a677", size = 225122, upload-time = "2025-06-09T23:02:19.479Z" }, - { url = "https://files.pythonhosted.org/packages/7b/22/7145e35d12fb368d92124f679bea87309495e2e9ddf14c6533990cb69218/frozenlist-1.7.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2ea2a7369eb76de2217a842f22087913cdf75f63cf1307b9024ab82dfb525938", size = 224019, upload-time = "2025-06-09T23:02:20.969Z" }, - { url = "https://files.pythonhosted.org/packages/44/1e/7dae8c54301beb87bcafc6144b9a103bfd2c8f38078c7902984c9a0c4e5b/frozenlist-1.7.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:836b42f472a0e006e02499cef9352ce8097f33df43baaba3e0a28a964c26c7d2", size = 239925, upload-time = "2025-06-09T23:02:22.466Z" }, - { url = "https://files.pythonhosted.org/packages/4b/1e/99c93e54aa382e949a98976a73b9b20c3aae6d9d893f31bbe4991f64e3a8/frozenlist-1.7.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:e22b9a99741294b2571667c07d9f8cceec07cb92aae5ccda39ea1b6052ed4319", size = 220881, upload-time = "2025-06-09T23:02:24.521Z" }, - { url = "https://files.pythonhosted.org/packages/5e/9c/ca5105fa7fb5abdfa8837581be790447ae051da75d32f25c8f81082ffc45/frozenlist-1.7.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:9a19e85cc503d958abe5218953df722748d87172f71b73cf3c9257a91b999890", size = 234046, upload-time = "2025-06-09T23:02:26.206Z" }, - { url = "https://files.pythonhosted.org/packages/8d/4d/e99014756093b4ddbb67fb8f0df11fe7a415760d69ace98e2ac6d5d43402/frozenlist-1.7.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:f22dac33bb3ee8fe3e013aa7b91dc12f60d61d05b7fe32191ffa84c3aafe77bd", size = 235756, upload-time = "2025-06-09T23:02:27.79Z" }, - { url = "https://files.pythonhosted.org/packages/8b/72/a19a40bcdaa28a51add2aaa3a1a294ec357f36f27bd836a012e070c5e8a5/frozenlist-1.7.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:9ccec739a99e4ccf664ea0775149f2749b8a6418eb5b8384b4dc0a7d15d304cb", size = 222894, upload-time = "2025-06-09T23:02:29.848Z" }, - { url = "https://files.pythonhosted.org/packages/08/49/0042469993e023a758af81db68c76907cd29e847d772334d4d201cbe9a42/frozenlist-1.7.0-cp39-cp39-win32.whl", hash = "sha256:b3950f11058310008a87757f3eee16a8e1ca97979833239439586857bc25482e", size = 39848, upload-time = "2025-06-09T23:02:31.413Z" }, - { url = "https://files.pythonhosted.org/packages/5a/45/827d86ee475c877f5f766fbc23fb6acb6fada9e52f1c9720e2ba3eae32da/frozenlist-1.7.0-cp39-cp39-win_amd64.whl", hash = "sha256:43a82fce6769c70f2f5a06248b614a7d268080a9d20f7457ef10ecee5af82b63", size = 44102, upload-time = "2025-06-09T23:02:32.808Z" }, - { url = "https://files.pythonhosted.org/packages/ee/45/b82e3c16be2182bff01179db177fe144d58b5dc787a7d4492c6ed8b9317f/frozenlist-1.7.0-py3-none-any.whl", hash = "sha256:9a5af342e34f7e97caf8c995864c7a396418ae2859cc6fdf1b1073020d516a7e", size = 13106, upload-time = "2025-06-09T23:02:34.204Z" }, +version = "1.5.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/8f/ed/0f4cec13a93c02c47ec32d81d11c0c1efbadf4a471e3f3ce7cad366cbbd3/frozenlist-1.5.0.tar.gz", hash = "sha256:81d5af29e61b9c8348e876d442253723928dce6433e0e76cd925cd83f1b4b817", size = 39930, upload-time = "2024-10-23T09:48:29.903Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/79/29d44c4af36b2b240725dce566b20f63f9b36ef267aaaa64ee7466f4f2f8/frozenlist-1.5.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5b6a66c18b5b9dd261ca98dffcb826a525334b2f29e7caa54e182255c5f6a65a", size = 94451, upload-time = "2024-10-23T09:46:20.558Z" }, + { url = "https://files.pythonhosted.org/packages/47/47/0c999aeace6ead8a44441b4f4173e2261b18219e4ad1fe9a479871ca02fc/frozenlist-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d1b3eb7b05ea246510b43a7e53ed1653e55c2121019a97e60cad7efb881a97bb", size = 54301, upload-time = "2024-10-23T09:46:21.759Z" }, + { url = "https://files.pythonhosted.org/packages/8d/60/107a38c1e54176d12e06e9d4b5d755b677d71d1219217cee063911b1384f/frozenlist-1.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:15538c0cbf0e4fa11d1e3a71f823524b0c46299aed6e10ebb4c2089abd8c3bec", size = 52213, upload-time = "2024-10-23T09:46:22.993Z" }, + { url = "https://files.pythonhosted.org/packages/17/62/594a6829ac5679c25755362a9dc93486a8a45241394564309641425d3ff6/frozenlist-1.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e79225373c317ff1e35f210dd5f1344ff31066ba8067c307ab60254cd3a78ad5", size = 240946, upload-time = "2024-10-23T09:46:24.661Z" }, + { url = "https://files.pythonhosted.org/packages/7e/75/6c8419d8f92c80dd0ee3f63bdde2702ce6398b0ac8410ff459f9b6f2f9cb/frozenlist-1.5.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9272fa73ca71266702c4c3e2d4a28553ea03418e591e377a03b8e3659d94fa76", size = 264608, upload-time = "2024-10-23T09:46:26.017Z" }, + { url = "https://files.pythonhosted.org/packages/88/3e/82a6f0b84bc6fb7e0be240e52863c6d4ab6098cd62e4f5b972cd31e002e8/frozenlist-1.5.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:498524025a5b8ba81695761d78c8dd7382ac0b052f34e66939c42df860b8ff17", size = 261361, upload-time = "2024-10-23T09:46:27.787Z" }, + { url = "https://files.pythonhosted.org/packages/fd/85/14e5f9ccac1b64ff2f10c927b3ffdf88772aea875882406f9ba0cec8ad84/frozenlist-1.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:92b5278ed9d50fe610185ecd23c55d8b307d75ca18e94c0e7de328089ac5dcba", size = 231649, upload-time = "2024-10-23T09:46:28.992Z" }, + { url = "https://files.pythonhosted.org/packages/ee/59/928322800306f6529d1852323014ee9008551e9bb027cc38d276cbc0b0e7/frozenlist-1.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f3c8c1dacd037df16e85227bac13cca58c30da836c6f936ba1df0c05d046d8d", size = 241853, upload-time = "2024-10-23T09:46:30.211Z" }, + { url = "https://files.pythonhosted.org/packages/7d/bd/e01fa4f146a6f6c18c5d34cab8abdc4013774a26c4ff851128cd1bd3008e/frozenlist-1.5.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f2ac49a9bedb996086057b75bf93538240538c6d9b38e57c82d51f75a73409d2", size = 243652, upload-time = "2024-10-23T09:46:31.758Z" }, + { url = "https://files.pythonhosted.org/packages/a5/bd/e4771fd18a8ec6757033f0fa903e447aecc3fbba54e3630397b61596acf0/frozenlist-1.5.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e66cc454f97053b79c2ab09c17fbe3c825ea6b4de20baf1be28919460dd7877f", size = 241734, upload-time = "2024-10-23T09:46:33.044Z" }, + { url = "https://files.pythonhosted.org/packages/21/13/c83821fa5544af4f60c5d3a65d054af3213c26b14d3f5f48e43e5fb48556/frozenlist-1.5.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:5a3ba5f9a0dfed20337d3e966dc359784c9f96503674c2faf015f7fe8e96798c", size = 260959, upload-time = "2024-10-23T09:46:34.916Z" }, + { url = "https://files.pythonhosted.org/packages/71/f3/1f91c9a9bf7ed0e8edcf52698d23f3c211d8d00291a53c9f115ceb977ab1/frozenlist-1.5.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6321899477db90bdeb9299ac3627a6a53c7399c8cd58d25da094007402b039ab", size = 262706, upload-time = "2024-10-23T09:46:36.159Z" }, + { url = "https://files.pythonhosted.org/packages/4c/22/4a256fdf5d9bcb3ae32622c796ee5ff9451b3a13a68cfe3f68e2c95588ce/frozenlist-1.5.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:76e4753701248476e6286f2ef492af900ea67d9706a0155335a40ea21bf3b2f5", size = 250401, upload-time = "2024-10-23T09:46:37.327Z" }, + { url = "https://files.pythonhosted.org/packages/af/89/c48ebe1f7991bd2be6d5f4ed202d94960c01b3017a03d6954dd5fa9ea1e8/frozenlist-1.5.0-cp310-cp310-win32.whl", hash = "sha256:977701c081c0241d0955c9586ffdd9ce44f7a7795df39b9151cd9a6fd0ce4cfb", size = 45498, upload-time = "2024-10-23T09:46:38.552Z" }, + { url = "https://files.pythonhosted.org/packages/28/2f/cc27d5f43e023d21fe5c19538e08894db3d7e081cbf582ad5ed366c24446/frozenlist-1.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:189f03b53e64144f90990d29a27ec4f7997d91ed3d01b51fa39d2dbe77540fd4", size = 51622, upload-time = "2024-10-23T09:46:39.513Z" }, + { url = "https://files.pythonhosted.org/packages/79/43/0bed28bf5eb1c9e4301003b74453b8e7aa85fb293b31dde352aac528dafc/frozenlist-1.5.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fd74520371c3c4175142d02a976aee0b4cb4a7cc912a60586ffd8d5929979b30", size = 94987, upload-time = "2024-10-23T09:46:40.487Z" }, + { url = "https://files.pythonhosted.org/packages/bb/bf/b74e38f09a246e8abbe1e90eb65787ed745ccab6eaa58b9c9308e052323d/frozenlist-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2f3f7a0fbc219fb4455264cae4d9f01ad41ae6ee8524500f381de64ffaa077d5", size = 54584, upload-time = "2024-10-23T09:46:41.463Z" }, + { url = "https://files.pythonhosted.org/packages/2c/31/ab01375682f14f7613a1ade30149f684c84f9b8823a4391ed950c8285656/frozenlist-1.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f47c9c9028f55a04ac254346e92977bf0f166c483c74b4232bee19a6697e4778", size = 52499, upload-time = "2024-10-23T09:46:42.451Z" }, + { url = "https://files.pythonhosted.org/packages/98/a8/d0ac0b9276e1404f58fec3ab6e90a4f76b778a49373ccaf6a563f100dfbc/frozenlist-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0996c66760924da6e88922756d99b47512a71cfd45215f3570bf1e0b694c206a", size = 276357, upload-time = "2024-10-23T09:46:44.166Z" }, + { url = "https://files.pythonhosted.org/packages/ad/c9/c7761084fa822f07dac38ac29f841d4587570dd211e2262544aa0b791d21/frozenlist-1.5.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a2fe128eb4edeabe11896cb6af88fca5346059f6c8d807e3b910069f39157869", size = 287516, upload-time = "2024-10-23T09:46:45.369Z" }, + { url = "https://files.pythonhosted.org/packages/a1/ff/cd7479e703c39df7bdab431798cef89dc75010d8aa0ca2514c5b9321db27/frozenlist-1.5.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a8ea951bbb6cacd492e3948b8da8c502a3f814f5d20935aae74b5df2b19cf3d", size = 283131, upload-time = "2024-10-23T09:46:46.654Z" }, + { url = "https://files.pythonhosted.org/packages/59/a0/370941beb47d237eca4fbf27e4e91389fd68699e6f4b0ebcc95da463835b/frozenlist-1.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de537c11e4aa01d37db0d403b57bd6f0546e71a82347a97c6a9f0dcc532b3a45", size = 261320, upload-time = "2024-10-23T09:46:47.825Z" }, + { url = "https://files.pythonhosted.org/packages/b8/5f/c10123e8d64867bc9b4f2f510a32042a306ff5fcd7e2e09e5ae5100ee333/frozenlist-1.5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c2623347b933fcb9095841f1cc5d4ff0b278addd743e0e966cb3d460278840d", size = 274877, upload-time = "2024-10-23T09:46:48.989Z" }, + { url = "https://files.pythonhosted.org/packages/fa/79/38c505601ae29d4348f21706c5d89755ceded02a745016ba2f58bd5f1ea6/frozenlist-1.5.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cee6798eaf8b1416ef6909b06f7dc04b60755206bddc599f52232606e18179d3", size = 269592, upload-time = "2024-10-23T09:46:50.235Z" }, + { url = "https://files.pythonhosted.org/packages/19/e2/39f3a53191b8204ba9f0bb574b926b73dd2efba2a2b9d2d730517e8f7622/frozenlist-1.5.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f5f9da7f5dbc00a604fe74aa02ae7c98bcede8a3b8b9666f9f86fc13993bc71a", size = 265934, upload-time = "2024-10-23T09:46:51.829Z" }, + { url = "https://files.pythonhosted.org/packages/d5/c9/3075eb7f7f3a91f1a6b00284af4de0a65a9ae47084930916f5528144c9dd/frozenlist-1.5.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:90646abbc7a5d5c7c19461d2e3eeb76eb0b204919e6ece342feb6032c9325ae9", size = 283859, upload-time = "2024-10-23T09:46:52.947Z" }, + { url = "https://files.pythonhosted.org/packages/05/f5/549f44d314c29408b962fa2b0e69a1a67c59379fb143b92a0a065ffd1f0f/frozenlist-1.5.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:bdac3c7d9b705d253b2ce370fde941836a5f8b3c5c2b8fd70940a3ea3af7f4f2", size = 287560, upload-time = "2024-10-23T09:46:54.162Z" }, + { url = "https://files.pythonhosted.org/packages/9d/f8/cb09b3c24a3eac02c4c07a9558e11e9e244fb02bf62c85ac2106d1eb0c0b/frozenlist-1.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:03d33c2ddbc1816237a67f66336616416e2bbb6beb306e5f890f2eb22b959cdf", size = 277150, upload-time = "2024-10-23T09:46:55.361Z" }, + { url = "https://files.pythonhosted.org/packages/37/48/38c2db3f54d1501e692d6fe058f45b6ad1b358d82cd19436efab80cfc965/frozenlist-1.5.0-cp311-cp311-win32.whl", hash = "sha256:237f6b23ee0f44066219dae14c70ae38a63f0440ce6750f868ee08775073f942", size = 45244, upload-time = "2024-10-23T09:46:56.578Z" }, + { url = "https://files.pythonhosted.org/packages/ca/8c/2ddffeb8b60a4bce3b196c32fcc30d8830d4615e7b492ec2071da801b8ad/frozenlist-1.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:0cc974cc93d32c42e7b0f6cf242a6bd941c57c61b618e78b6c0a96cb72788c1d", size = 51634, upload-time = "2024-10-23T09:46:57.6Z" }, + { url = "https://files.pythonhosted.org/packages/79/73/fa6d1a96ab7fd6e6d1c3500700963eab46813847f01ef0ccbaa726181dd5/frozenlist-1.5.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:31115ba75889723431aa9a4e77d5f398f5cf976eea3bdf61749731f62d4a4a21", size = 94026, upload-time = "2024-10-23T09:46:58.601Z" }, + { url = "https://files.pythonhosted.org/packages/ab/04/ea8bf62c8868b8eada363f20ff1b647cf2e93377a7b284d36062d21d81d1/frozenlist-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7437601c4d89d070eac8323f121fcf25f88674627505334654fd027b091db09d", size = 54150, upload-time = "2024-10-23T09:46:59.608Z" }, + { url = "https://files.pythonhosted.org/packages/d0/9a/8e479b482a6f2070b26bda572c5e6889bb3ba48977e81beea35b5ae13ece/frozenlist-1.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7948140d9f8ece1745be806f2bfdf390127cf1a763b925c4a805c603df5e697e", size = 51927, upload-time = "2024-10-23T09:47:00.625Z" }, + { url = "https://files.pythonhosted.org/packages/e3/12/2aad87deb08a4e7ccfb33600871bbe8f0e08cb6d8224371387f3303654d7/frozenlist-1.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:feeb64bc9bcc6b45c6311c9e9b99406660a9c05ca8a5b30d14a78555088b0b3a", size = 282647, upload-time = "2024-10-23T09:47:01.992Z" }, + { url = "https://files.pythonhosted.org/packages/77/f2/07f06b05d8a427ea0060a9cef6e63405ea9e0d761846b95ef3fb3be57111/frozenlist-1.5.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:683173d371daad49cffb8309779e886e59c2f369430ad28fe715f66d08d4ab1a", size = 289052, upload-time = "2024-10-23T09:47:04.039Z" }, + { url = "https://files.pythonhosted.org/packages/bd/9f/8bf45a2f1cd4aa401acd271b077989c9267ae8463e7c8b1eb0d3f561b65e/frozenlist-1.5.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7d57d8f702221405a9d9b40f9da8ac2e4a1a8b5285aac6100f3393675f0a85ee", size = 291719, upload-time = "2024-10-23T09:47:05.58Z" }, + { url = "https://files.pythonhosted.org/packages/41/d1/1f20fd05a6c42d3868709b7604c9f15538a29e4f734c694c6bcfc3d3b935/frozenlist-1.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30c72000fbcc35b129cb09956836c7d7abf78ab5416595e4857d1cae8d6251a6", size = 267433, upload-time = "2024-10-23T09:47:07.807Z" }, + { url = "https://files.pythonhosted.org/packages/af/f2/64b73a9bb86f5a89fb55450e97cd5c1f84a862d4ff90d9fd1a73ab0f64a5/frozenlist-1.5.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:000a77d6034fbad9b6bb880f7ec073027908f1b40254b5d6f26210d2dab1240e", size = 283591, upload-time = "2024-10-23T09:47:09.645Z" }, + { url = "https://files.pythonhosted.org/packages/29/e2/ffbb1fae55a791fd6c2938dd9ea779509c977435ba3940b9f2e8dc9d5316/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5d7f5a50342475962eb18b740f3beecc685a15b52c91f7d975257e13e029eca9", size = 273249, upload-time = "2024-10-23T09:47:10.808Z" }, + { url = "https://files.pythonhosted.org/packages/2e/6e/008136a30798bb63618a114b9321b5971172a5abddff44a100c7edc5ad4f/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:87f724d055eb4785d9be84e9ebf0f24e392ddfad00b3fe036e43f489fafc9039", size = 271075, upload-time = "2024-10-23T09:47:11.938Z" }, + { url = "https://files.pythonhosted.org/packages/ae/f0/4e71e54a026b06724cec9b6c54f0b13a4e9e298cc8db0f82ec70e151f5ce/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:6e9080bb2fb195a046e5177f10d9d82b8a204c0736a97a153c2466127de87784", size = 285398, upload-time = "2024-10-23T09:47:14.071Z" }, + { url = "https://files.pythonhosted.org/packages/4d/36/70ec246851478b1c0b59f11ef8ade9c482ff447c1363c2bd5fad45098b12/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9b93d7aaa36c966fa42efcaf716e6b3900438632a626fb09c049f6a2f09fc631", size = 294445, upload-time = "2024-10-23T09:47:15.318Z" }, + { url = "https://files.pythonhosted.org/packages/37/e0/47f87544055b3349b633a03c4d94b405956cf2437f4ab46d0928b74b7526/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:52ef692a4bc60a6dd57f507429636c2af8b6046db8b31b18dac02cbc8f507f7f", size = 280569, upload-time = "2024-10-23T09:47:17.149Z" }, + { url = "https://files.pythonhosted.org/packages/f9/7c/490133c160fb6b84ed374c266f42800e33b50c3bbab1652764e6e1fc498a/frozenlist-1.5.0-cp312-cp312-win32.whl", hash = "sha256:29d94c256679247b33a3dc96cce0f93cbc69c23bf75ff715919332fdbb6a32b8", size = 44721, upload-time = "2024-10-23T09:47:19.012Z" }, + { url = "https://files.pythonhosted.org/packages/b1/56/4e45136ffc6bdbfa68c29ca56ef53783ef4c2fd395f7cbf99a2624aa9aaa/frozenlist-1.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:8969190d709e7c48ea386db202d708eb94bdb29207a1f269bab1196ce0dcca1f", size = 51329, upload-time = "2024-10-23T09:47:20.177Z" }, + { url = "https://files.pythonhosted.org/packages/da/3b/915f0bca8a7ea04483622e84a9bd90033bab54bdf485479556c74fd5eaf5/frozenlist-1.5.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7a1a048f9215c90973402e26c01d1cff8a209e1f1b53f72b95c13db61b00f953", size = 91538, upload-time = "2024-10-23T09:47:21.176Z" }, + { url = "https://files.pythonhosted.org/packages/c7/d1/a7c98aad7e44afe5306a2b068434a5830f1470675f0e715abb86eb15f15b/frozenlist-1.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dd47a5181ce5fcb463b5d9e17ecfdb02b678cca31280639255ce9d0e5aa67af0", size = 52849, upload-time = "2024-10-23T09:47:22.439Z" }, + { url = "https://files.pythonhosted.org/packages/3a/c8/76f23bf9ab15d5f760eb48701909645f686f9c64fbb8982674c241fbef14/frozenlist-1.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1431d60b36d15cda188ea222033eec8e0eab488f39a272461f2e6d9e1a8e63c2", size = 50583, upload-time = "2024-10-23T09:47:23.44Z" }, + { url = "https://files.pythonhosted.org/packages/1f/22/462a3dd093d11df623179d7754a3b3269de3b42de2808cddef50ee0f4f48/frozenlist-1.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6482a5851f5d72767fbd0e507e80737f9c8646ae7fd303def99bfe813f76cf7f", size = 265636, upload-time = "2024-10-23T09:47:24.82Z" }, + { url = "https://files.pythonhosted.org/packages/80/cf/e075e407fc2ae7328155a1cd7e22f932773c8073c1fc78016607d19cc3e5/frozenlist-1.5.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44c49271a937625619e862baacbd037a7ef86dd1ee215afc298a417ff3270608", size = 270214, upload-time = "2024-10-23T09:47:26.156Z" }, + { url = "https://files.pythonhosted.org/packages/a1/58/0642d061d5de779f39c50cbb00df49682832923f3d2ebfb0fedf02d05f7f/frozenlist-1.5.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:12f78f98c2f1c2429d42e6a485f433722b0061d5c0b0139efa64f396efb5886b", size = 273905, upload-time = "2024-10-23T09:47:27.741Z" }, + { url = "https://files.pythonhosted.org/packages/ab/66/3fe0f5f8f2add5b4ab7aa4e199f767fd3b55da26e3ca4ce2cc36698e50c4/frozenlist-1.5.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce3aa154c452d2467487765e3adc730a8c153af77ad84096bc19ce19a2400840", size = 250542, upload-time = "2024-10-23T09:47:28.938Z" }, + { url = "https://files.pythonhosted.org/packages/f6/b8/260791bde9198c87a465224e0e2bb62c4e716f5d198fc3a1dacc4895dbd1/frozenlist-1.5.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b7dc0c4338e6b8b091e8faf0db3168a37101943e687f373dce00959583f7439", size = 267026, upload-time = "2024-10-23T09:47:30.283Z" }, + { url = "https://files.pythonhosted.org/packages/2e/a4/3d24f88c527f08f8d44ade24eaee83b2627793fa62fa07cbb7ff7a2f7d42/frozenlist-1.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:45e0896250900b5aa25180f9aec243e84e92ac84bd4a74d9ad4138ef3f5c97de", size = 257690, upload-time = "2024-10-23T09:47:32.388Z" }, + { url = "https://files.pythonhosted.org/packages/de/9a/d311d660420b2beeff3459b6626f2ab4fb236d07afbdac034a4371fe696e/frozenlist-1.5.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:561eb1c9579d495fddb6da8959fd2a1fca2c6d060d4113f5844b433fc02f2641", size = 253893, upload-time = "2024-10-23T09:47:34.274Z" }, + { url = "https://files.pythonhosted.org/packages/c6/23/e491aadc25b56eabd0f18c53bb19f3cdc6de30b2129ee0bc39cd387cd560/frozenlist-1.5.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:df6e2f325bfee1f49f81aaac97d2aa757c7646534a06f8f577ce184afe2f0a9e", size = 267006, upload-time = "2024-10-23T09:47:35.499Z" }, + { url = "https://files.pythonhosted.org/packages/08/c4/ab918ce636a35fb974d13d666dcbe03969592aeca6c3ab3835acff01f79c/frozenlist-1.5.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:140228863501b44b809fb39ec56b5d4071f4d0aa6d216c19cbb08b8c5a7eadb9", size = 276157, upload-time = "2024-10-23T09:47:37.522Z" }, + { url = "https://files.pythonhosted.org/packages/c0/29/3b7a0bbbbe5a34833ba26f686aabfe982924adbdcafdc294a7a129c31688/frozenlist-1.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7707a25d6a77f5d27ea7dc7d1fc608aa0a478193823f88511ef5e6b8a48f9d03", size = 264642, upload-time = "2024-10-23T09:47:38.75Z" }, + { url = "https://files.pythonhosted.org/packages/ab/42/0595b3dbffc2e82d7fe658c12d5a5bafcd7516c6bf2d1d1feb5387caa9c1/frozenlist-1.5.0-cp313-cp313-win32.whl", hash = "sha256:31a9ac2b38ab9b5a8933b693db4939764ad3f299fcaa931a3e605bc3460e693c", size = 44914, upload-time = "2024-10-23T09:47:40.145Z" }, + { url = "https://files.pythonhosted.org/packages/17/c4/b7db1206a3fea44bf3b838ca61deb6f74424a8a5db1dd53ecb21da669be6/frozenlist-1.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:11aabdd62b8b9c4b84081a3c246506d1cddd2dd93ff0ad53ede5defec7886b28", size = 51167, upload-time = "2024-10-23T09:47:41.812Z" }, + { url = "https://files.pythonhosted.org/packages/33/b5/00fcbe8e7e7e172829bf4addc8227d8f599a3d5def3a4e9aa2b54b3145aa/frozenlist-1.5.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:dd94994fc91a6177bfaafd7d9fd951bc8689b0a98168aa26b5f543868548d3ca", size = 95648, upload-time = "2024-10-23T09:47:43.118Z" }, + { url = "https://files.pythonhosted.org/packages/1e/69/e4a32fc4b2fa8e9cb6bcb1bad9c7eeb4b254bc34da475b23f93264fdc306/frozenlist-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2d0da8bbec082bf6bf18345b180958775363588678f64998c2b7609e34719b10", size = 54888, upload-time = "2024-10-23T09:47:44.832Z" }, + { url = "https://files.pythonhosted.org/packages/76/a3/c08322a91e73d1199901a77ce73971cffa06d3c74974270ff97aed6e152a/frozenlist-1.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:73f2e31ea8dd7df61a359b731716018c2be196e5bb3b74ddba107f694fbd7604", size = 52975, upload-time = "2024-10-23T09:47:46.579Z" }, + { url = "https://files.pythonhosted.org/packages/fc/60/a315321d8ada167b578ff9d2edc147274ead6129523b3a308501b6621b4f/frozenlist-1.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:828afae9f17e6de596825cf4228ff28fbdf6065974e5ac1410cecc22f699d2b3", size = 241912, upload-time = "2024-10-23T09:47:47.687Z" }, + { url = "https://files.pythonhosted.org/packages/bd/d0/1f0980987bca4f94f9e8bae01980b23495ffc2e5049a3da4d9b7d2762bee/frozenlist-1.5.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1577515d35ed5649d52ab4319db757bb881ce3b2b796d7283e6634d99ace307", size = 259433, upload-time = "2024-10-23T09:47:49.339Z" }, + { url = "https://files.pythonhosted.org/packages/28/e7/d00600c072eec8f18a606e281afdf0e8606e71a4882104d0438429b02468/frozenlist-1.5.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2150cc6305a2c2ab33299453e2968611dacb970d2283a14955923062c8d00b10", size = 255576, upload-time = "2024-10-23T09:47:50.519Z" }, + { url = "https://files.pythonhosted.org/packages/82/71/993c5f45dba7be347384ddec1ebc1b4d998291884e7690c06aa6ba755211/frozenlist-1.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a72b7a6e3cd2725eff67cd64c8f13335ee18fc3c7befc05aed043d24c7b9ccb9", size = 233349, upload-time = "2024-10-23T09:47:53.197Z" }, + { url = "https://files.pythonhosted.org/packages/66/30/f9c006223feb2ac87f1826b57f2367b60aacc43092f562dab60d2312562e/frozenlist-1.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c16d2fa63e0800723139137d667e1056bee1a1cf7965153d2d104b62855e9b99", size = 243126, upload-time = "2024-10-23T09:47:54.432Z" }, + { url = "https://files.pythonhosted.org/packages/b5/34/e4219c9343f94b81068d0018cbe37948e66c68003b52bf8a05e9509d09ec/frozenlist-1.5.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:17dcc32fc7bda7ce5875435003220a457bcfa34ab7924a49a1c19f55b6ee185c", size = 241261, upload-time = "2024-10-23T09:47:56.01Z" }, + { url = "https://files.pythonhosted.org/packages/48/96/9141758f6a19f2061a51bb59b9907c92f9bda1ac7b2baaf67a6e352b280f/frozenlist-1.5.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:97160e245ea33d8609cd2b8fd997c850b56db147a304a262abc2b3be021a9171", size = 240203, upload-time = "2024-10-23T09:47:57.337Z" }, + { url = "https://files.pythonhosted.org/packages/f9/71/0ef5970e68d181571a050958e84c76a061ca52f9c6f50257d9bfdd84c7f7/frozenlist-1.5.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f1e6540b7fa044eee0bb5111ada694cf3dc15f2b0347ca125ee9ca984d5e9e6e", size = 267539, upload-time = "2024-10-23T09:47:58.874Z" }, + { url = "https://files.pythonhosted.org/packages/ab/bd/6e7d450c5d993b413591ad9cdab6dcdfa2c6ab2cd835b2b5c1cfeb0323bf/frozenlist-1.5.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:91d6c171862df0a6c61479d9724f22efb6109111017c87567cfeb7b5d1449fdf", size = 268518, upload-time = "2024-10-23T09:48:00.771Z" }, + { url = "https://files.pythonhosted.org/packages/cc/3d/5a7c4dfff1ae57ca2cbbe9041521472ecd9446d49e7044a0e9bfd0200fd0/frozenlist-1.5.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:c1fac3e2ace2eb1052e9f7c7db480818371134410e1f5c55d65e8f3ac6d1407e", size = 248114, upload-time = "2024-10-23T09:48:02.625Z" }, + { url = "https://files.pythonhosted.org/packages/f7/41/2342ec4c714349793f1a1e7bd5c4aeec261e24e697fa9a5499350c3a2415/frozenlist-1.5.0-cp38-cp38-win32.whl", hash = "sha256:b97f7b575ab4a8af9b7bc1d2ef7f29d3afee2226bd03ca3875c16451ad5a7723", size = 45648, upload-time = "2024-10-23T09:48:03.895Z" }, + { url = "https://files.pythonhosted.org/packages/0c/90/85bb3547c327f5975078c1be018478d5e8d250a540c828f8f31a35d2a1bd/frozenlist-1.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:374ca2dabdccad8e2a76d40b1d037f5bd16824933bf7bcea3e59c891fd4a0923", size = 51930, upload-time = "2024-10-23T09:48:05.293Z" }, + { url = "https://files.pythonhosted.org/packages/da/4d/d94ff0fb0f5313902c132817c62d19cdc5bdcd0c195d392006ef4b779fc6/frozenlist-1.5.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9bbcdfaf4af7ce002694a4e10a0159d5a8d20056a12b05b45cea944a4953f972", size = 95319, upload-time = "2024-10-23T09:48:06.405Z" }, + { url = "https://files.pythonhosted.org/packages/8c/1b/d90e554ca2b483d31cb2296e393f72c25bdc38d64526579e95576bfda587/frozenlist-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1893f948bf6681733aaccf36c5232c231e3b5166d607c5fa77773611df6dc336", size = 54749, upload-time = "2024-10-23T09:48:07.48Z" }, + { url = "https://files.pythonhosted.org/packages/f8/66/7fdecc9ef49f8db2aa4d9da916e4ecf357d867d87aea292efc11e1b2e932/frozenlist-1.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2b5e23253bb709ef57a8e95e6ae48daa9ac5f265637529e4ce6b003a37b2621f", size = 52718, upload-time = "2024-10-23T09:48:08.725Z" }, + { url = "https://files.pythonhosted.org/packages/08/04/e2fddc92135276e07addbc1cf413acffa0c2d848b3e54cacf684e146df49/frozenlist-1.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f253985bb515ecd89629db13cb58d702035ecd8cfbca7d7a7e29a0e6d39af5f", size = 241756, upload-time = "2024-10-23T09:48:09.843Z" }, + { url = "https://files.pythonhosted.org/packages/c6/52/be5ff200815d8a341aee5b16b6b707355e0ca3652953852238eb92b120c2/frozenlist-1.5.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:04a5c6babd5e8fb7d3c871dc8b321166b80e41b637c31a995ed844a6139942b6", size = 267718, upload-time = "2024-10-23T09:48:11.828Z" }, + { url = "https://files.pythonhosted.org/packages/88/be/4bd93a58be57a3722fc544c36debdf9dcc6758f761092e894d78f18b8f20/frozenlist-1.5.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fe0f1c29ba24ba6ff6abf688cb0b7cf1efab6b6aa6adc55441773c252f7411", size = 263494, upload-time = "2024-10-23T09:48:13.424Z" }, + { url = "https://files.pythonhosted.org/packages/32/ba/58348b90193caa096ce9e9befea6ae67f38dabfd3aacb47e46137a6250a8/frozenlist-1.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:226d72559fa19babe2ccd920273e767c96a49b9d3d38badd7c91a0fdeda8ea08", size = 232838, upload-time = "2024-10-23T09:48:14.792Z" }, + { url = "https://files.pythonhosted.org/packages/f6/33/9f152105227630246135188901373c4f322cc026565ca6215b063f4c82f4/frozenlist-1.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15b731db116ab3aedec558573c1a5eec78822b32292fe4f2f0345b7f697745c2", size = 242912, upload-time = "2024-10-23T09:48:16.249Z" }, + { url = "https://files.pythonhosted.org/packages/a0/10/3db38fb3ccbafadd80a1b0d6800c987b0e3fe3ef2d117c6ced0246eea17a/frozenlist-1.5.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:366d8f93e3edfe5a918c874702f78faac300209a4d5bf38352b2c1bdc07a766d", size = 244763, upload-time = "2024-10-23T09:48:17.781Z" }, + { url = "https://files.pythonhosted.org/packages/e2/cd/1df468fdce2f66a4608dffe44c40cdc35eeaa67ef7fd1d813f99a9a37842/frozenlist-1.5.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1b96af8c582b94d381a1c1f51ffaedeb77c821c690ea5f01da3d70a487dd0a9b", size = 242841, upload-time = "2024-10-23T09:48:19.507Z" }, + { url = "https://files.pythonhosted.org/packages/ee/5f/16097a5ca0bb6b6779c02cc9379c72fe98d56115d4c54d059fb233168fb6/frozenlist-1.5.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:c03eff4a41bd4e38415cbed054bbaff4a075b093e2394b6915dca34a40d1e38b", size = 263407, upload-time = "2024-10-23T09:48:21.467Z" }, + { url = "https://files.pythonhosted.org/packages/0f/f7/58cd220ee1c2248ee65a32f5b4b93689e3fe1764d85537eee9fc392543bc/frozenlist-1.5.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:50cf5e7ee9b98f22bdecbabf3800ae78ddcc26e4a435515fc72d97903e8488e0", size = 265083, upload-time = "2024-10-23T09:48:22.725Z" }, + { url = "https://files.pythonhosted.org/packages/62/b8/49768980caabf81ac4a2d156008f7cbd0107e6b36d08a313bb31035d9201/frozenlist-1.5.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1e76bfbc72353269c44e0bc2cfe171900fbf7f722ad74c9a7b638052afe6a00c", size = 251564, upload-time = "2024-10-23T09:48:24.272Z" }, + { url = "https://files.pythonhosted.org/packages/cb/83/619327da3b86ef957ee7a0cbf3c166a09ed1e87a3f7f1ff487d7d0284683/frozenlist-1.5.0-cp39-cp39-win32.whl", hash = "sha256:666534d15ba8f0fda3f53969117383d5dc021266b3c1a42c9ec4855e4b58b9d3", size = 45691, upload-time = "2024-10-23T09:48:26.317Z" }, + { url = "https://files.pythonhosted.org/packages/8b/28/407bc34a745151ed2322c690b6e7d83d7101472e81ed76e1ebdac0b70a78/frozenlist-1.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:5c28f4b5dbef8a0d8aad0d4de24d1e9e981728628afaf4ea0792f5d0939372f0", size = 51767, upload-time = "2024-10-23T09:48:27.427Z" }, + { url = "https://files.pythonhosted.org/packages/c6/c8/a5be5b7550c10858fcf9b0ea054baccab474da77d37f1e828ce043a3a5d4/frozenlist-1.5.0-py3-none-any.whl", hash = "sha256:d994863bba198a4a518b467bb971c56e1db3f180a25c6cf7bb1949c267f748c3", size = 11901, upload-time = "2024-10-23T09:48:28.851Z" }, +] + +[[package]] +name = "frozenlist" +version = "1.8.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz", hash = "sha256:3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad", size = 45875, upload-time = "2025-10-06T05:38:17.865Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/83/4a/557715d5047da48d54e659203b9335be7bfaafda2c3f627b7c47e0b3aaf3/frozenlist-1.8.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b37f6d31b3dcea7deb5e9696e529a6aa4a898adc33db82da12e4c60a7c4d2011", size = 86230, upload-time = "2025-10-06T05:35:23.699Z" }, + { url = "https://files.pythonhosted.org/packages/a2/fb/c85f9fed3ea8fe8740e5b46a59cc141c23b842eca617da8876cfce5f760e/frozenlist-1.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ef2b7b394f208233e471abc541cc6991f907ffd47dc72584acee3147899d6565", size = 49621, upload-time = "2025-10-06T05:35:25.341Z" }, + { url = "https://files.pythonhosted.org/packages/63/70/26ca3f06aace16f2352796b08704338d74b6d1a24ca38f2771afbb7ed915/frozenlist-1.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a88f062f072d1589b7b46e951698950e7da00442fc1cacbe17e19e025dc327ad", size = 49889, upload-time = "2025-10-06T05:35:26.797Z" }, + { url = "https://files.pythonhosted.org/packages/5d/ed/c7895fd2fde7f3ee70d248175f9b6cdf792fb741ab92dc59cd9ef3bd241b/frozenlist-1.8.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f57fb59d9f385710aa7060e89410aeb5058b99e62f4d16b08b91986b9a2140c2", size = 219464, upload-time = "2025-10-06T05:35:28.254Z" }, + { url = "https://files.pythonhosted.org/packages/6b/83/4d587dccbfca74cb8b810472392ad62bfa100bf8108c7223eb4c4fa2f7b3/frozenlist-1.8.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:799345ab092bee59f01a915620b5d014698547afd011e691a208637312db9186", size = 221649, upload-time = "2025-10-06T05:35:29.454Z" }, + { url = "https://files.pythonhosted.org/packages/6a/c6/fd3b9cd046ec5fff9dab66831083bc2077006a874a2d3d9247dea93ddf7e/frozenlist-1.8.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c23c3ff005322a6e16f71bf8692fcf4d5a304aaafe1e262c98c6d4adc7be863e", size = 219188, upload-time = "2025-10-06T05:35:30.951Z" }, + { url = "https://files.pythonhosted.org/packages/ce/80/6693f55eb2e085fc8afb28cf611448fb5b90e98e068fa1d1b8d8e66e5c7d/frozenlist-1.8.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8a76ea0f0b9dfa06f254ee06053d93a600865b3274358ca48a352ce4f0798450", size = 231748, upload-time = "2025-10-06T05:35:32.101Z" }, + { url = "https://files.pythonhosted.org/packages/97/d6/e9459f7c5183854abd989ba384fe0cc1a0fb795a83c033f0571ec5933ca4/frozenlist-1.8.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c7366fe1418a6133d5aa824ee53d406550110984de7637d65a178010f759c6ef", size = 236351, upload-time = "2025-10-06T05:35:33.834Z" }, + { url = "https://files.pythonhosted.org/packages/97/92/24e97474b65c0262e9ecd076e826bfd1d3074adcc165a256e42e7b8a7249/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:13d23a45c4cebade99340c4165bd90eeb4a56c6d8a9d8aa49568cac19a6d0dc4", size = 218767, upload-time = "2025-10-06T05:35:35.205Z" }, + { url = "https://files.pythonhosted.org/packages/ee/bf/dc394a097508f15abff383c5108cb8ad880d1f64a725ed3b90d5c2fbf0bb/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:e4a3408834f65da56c83528fb52ce7911484f0d1eaf7b761fc66001db1646eff", size = 235887, upload-time = "2025-10-06T05:35:36.354Z" }, + { url = "https://files.pythonhosted.org/packages/40/90/25b201b9c015dbc999a5baf475a257010471a1fa8c200c843fd4abbee725/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:42145cd2748ca39f32801dad54aeea10039da6f86e303659db90db1c4b614c8c", size = 228785, upload-time = "2025-10-06T05:35:37.949Z" }, + { url = "https://files.pythonhosted.org/packages/84/f4/b5bc148df03082f05d2dd30c089e269acdbe251ac9a9cf4e727b2dbb8a3d/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:e2de870d16a7a53901e41b64ffdf26f2fbb8917b3e6ebf398098d72c5b20bd7f", size = 230312, upload-time = "2025-10-06T05:35:39.178Z" }, + { url = "https://files.pythonhosted.org/packages/db/4b/87e95b5d15097c302430e647136b7d7ab2398a702390cf4c8601975709e7/frozenlist-1.8.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:20e63c9493d33ee48536600d1a5c95eefc870cd71e7ab037763d1fbb89cc51e7", size = 217650, upload-time = "2025-10-06T05:35:40.377Z" }, + { url = "https://files.pythonhosted.org/packages/e5/70/78a0315d1fea97120591a83e0acd644da638c872f142fd72a6cebee825f3/frozenlist-1.8.0-cp310-cp310-win32.whl", hash = "sha256:adbeebaebae3526afc3c96fad434367cafbfd1b25d72369a9e5858453b1bb71a", size = 39659, upload-time = "2025-10-06T05:35:41.863Z" }, + { url = "https://files.pythonhosted.org/packages/66/aa/3f04523fb189a00e147e60c5b2205126118f216b0aa908035c45336e27e4/frozenlist-1.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:667c3777ca571e5dbeb76f331562ff98b957431df140b54c85fd4d52eea8d8f6", size = 43837, upload-time = "2025-10-06T05:35:43.205Z" }, + { url = "https://files.pythonhosted.org/packages/39/75/1135feecdd7c336938bd55b4dc3b0dfc46d85b9be12ef2628574b28de776/frozenlist-1.8.0-cp310-cp310-win_arm64.whl", hash = "sha256:80f85f0a7cc86e7a54c46d99c9e1318ff01f4687c172ede30fd52d19d1da1c8e", size = 39989, upload-time = "2025-10-06T05:35:44.596Z" }, + { url = "https://files.pythonhosted.org/packages/bc/03/077f869d540370db12165c0aa51640a873fb661d8b315d1d4d67b284d7ac/frozenlist-1.8.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:09474e9831bc2b2199fad6da3c14c7b0fbdd377cce9d3d77131be28906cb7d84", size = 86912, upload-time = "2025-10-06T05:35:45.98Z" }, + { url = "https://files.pythonhosted.org/packages/df/b5/7610b6bd13e4ae77b96ba85abea1c8cb249683217ef09ac9e0ae93f25a91/frozenlist-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:17c883ab0ab67200b5f964d2b9ed6b00971917d5d8a92df149dc2c9779208ee9", size = 50046, upload-time = "2025-10-06T05:35:47.009Z" }, + { url = "https://files.pythonhosted.org/packages/6e/ef/0e8f1fe32f8a53dd26bdd1f9347efe0778b0fddf62789ea683f4cc7d787d/frozenlist-1.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fa47e444b8ba08fffd1c18e8cdb9a75db1b6a27f17507522834ad13ed5922b93", size = 50119, upload-time = "2025-10-06T05:35:48.38Z" }, + { url = "https://files.pythonhosted.org/packages/11/b1/71a477adc7c36e5fb628245dfbdea2166feae310757dea848d02bd0689fd/frozenlist-1.8.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2552f44204b744fba866e573be4c1f9048d6a324dfe14475103fd51613eb1d1f", size = 231067, upload-time = "2025-10-06T05:35:49.97Z" }, + { url = "https://files.pythonhosted.org/packages/45/7e/afe40eca3a2dc19b9904c0f5d7edfe82b5304cb831391edec0ac04af94c2/frozenlist-1.8.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:957e7c38f250991e48a9a73e6423db1bb9dd14e722a10f6b8bb8e16a0f55f695", size = 233160, upload-time = "2025-10-06T05:35:51.729Z" }, + { url = "https://files.pythonhosted.org/packages/a6/aa/7416eac95603ce428679d273255ffc7c998d4132cfae200103f164b108aa/frozenlist-1.8.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8585e3bb2cdea02fc88ffa245069c36555557ad3609e83be0ec71f54fd4abb52", size = 228544, upload-time = "2025-10-06T05:35:53.246Z" }, + { url = "https://files.pythonhosted.org/packages/8b/3d/2a2d1f683d55ac7e3875e4263d28410063e738384d3adc294f5ff3d7105e/frozenlist-1.8.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:edee74874ce20a373d62dc28b0b18b93f645633c2943fd90ee9d898550770581", size = 243797, upload-time = "2025-10-06T05:35:54.497Z" }, + { url = "https://files.pythonhosted.org/packages/78/1e/2d5565b589e580c296d3bb54da08d206e797d941a83a6fdea42af23be79c/frozenlist-1.8.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c9a63152fe95756b85f31186bddf42e4c02c6321207fd6601a1c89ebac4fe567", size = 247923, upload-time = "2025-10-06T05:35:55.861Z" }, + { url = "https://files.pythonhosted.org/packages/aa/c3/65872fcf1d326a7f101ad4d86285c403c87be7d832b7470b77f6d2ed5ddc/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b6db2185db9be0a04fecf2f241c70b63b1a242e2805be291855078f2b404dd6b", size = 230886, upload-time = "2025-10-06T05:35:57.399Z" }, + { url = "https://files.pythonhosted.org/packages/a0/76/ac9ced601d62f6956f03cc794f9e04c81719509f85255abf96e2510f4265/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:f4be2e3d8bc8aabd566f8d5b8ba7ecc09249d74ba3c9ed52e54dc23a293f0b92", size = 245731, upload-time = "2025-10-06T05:35:58.563Z" }, + { url = "https://files.pythonhosted.org/packages/b9/49/ecccb5f2598daf0b4a1415497eba4c33c1e8ce07495eb07d2860c731b8d5/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:c8d1634419f39ea6f5c427ea2f90ca85126b54b50837f31497f3bf38266e853d", size = 241544, upload-time = "2025-10-06T05:35:59.719Z" }, + { url = "https://files.pythonhosted.org/packages/53/4b/ddf24113323c0bbcc54cb38c8b8916f1da7165e07b8e24a717b4a12cbf10/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:1a7fa382a4a223773ed64242dbe1c9c326ec09457e6b8428efb4118c685c3dfd", size = 241806, upload-time = "2025-10-06T05:36:00.959Z" }, + { url = "https://files.pythonhosted.org/packages/a7/fb/9b9a084d73c67175484ba2789a59f8eebebd0827d186a8102005ce41e1ba/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:11847b53d722050808926e785df837353bd4d75f1d494377e59b23594d834967", size = 229382, upload-time = "2025-10-06T05:36:02.22Z" }, + { url = "https://files.pythonhosted.org/packages/95/a3/c8fb25aac55bf5e12dae5c5aa6a98f85d436c1dc658f21c3ac73f9fa95e5/frozenlist-1.8.0-cp311-cp311-win32.whl", hash = "sha256:27c6e8077956cf73eadd514be8fb04d77fc946a7fe9f7fe167648b0b9085cc25", size = 39647, upload-time = "2025-10-06T05:36:03.409Z" }, + { url = "https://files.pythonhosted.org/packages/0a/f5/603d0d6a02cfd4c8f2a095a54672b3cf967ad688a60fb9faf04fc4887f65/frozenlist-1.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:ac913f8403b36a2c8610bbfd25b8013488533e71e62b4b4adce9c86c8cea905b", size = 44064, upload-time = "2025-10-06T05:36:04.368Z" }, + { url = "https://files.pythonhosted.org/packages/5d/16/c2c9ab44e181f043a86f9a8f84d5124b62dbcb3a02c0977ec72b9ac1d3e0/frozenlist-1.8.0-cp311-cp311-win_arm64.whl", hash = "sha256:d4d3214a0f8394edfa3e303136d0575eece0745ff2b47bd2cb2e66dd92d4351a", size = 39937, upload-time = "2025-10-06T05:36:05.669Z" }, + { url = "https://files.pythonhosted.org/packages/69/29/948b9aa87e75820a38650af445d2ef2b6b8a6fab1a23b6bb9e4ef0be2d59/frozenlist-1.8.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:78f7b9e5d6f2fdb88cdde9440dc147259b62b9d3b019924def9f6478be254ac1", size = 87782, upload-time = "2025-10-06T05:36:06.649Z" }, + { url = "https://files.pythonhosted.org/packages/64/80/4f6e318ee2a7c0750ed724fa33a4bdf1eacdc5a39a7a24e818a773cd91af/frozenlist-1.8.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:229bf37d2e4acdaf808fd3f06e854a4a7a3661e871b10dc1f8f1896a3b05f18b", size = 50594, upload-time = "2025-10-06T05:36:07.69Z" }, + { url = "https://files.pythonhosted.org/packages/2b/94/5c8a2b50a496b11dd519f4a24cb5496cf125681dd99e94c604ccdea9419a/frozenlist-1.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f833670942247a14eafbb675458b4e61c82e002a148f49e68257b79296e865c4", size = 50448, upload-time = "2025-10-06T05:36:08.78Z" }, + { url = "https://files.pythonhosted.org/packages/6a/bd/d91c5e39f490a49df14320f4e8c80161cfcce09f1e2cde1edd16a551abb3/frozenlist-1.8.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:494a5952b1c597ba44e0e78113a7266e656b9794eec897b19ead706bd7074383", size = 242411, upload-time = "2025-10-06T05:36:09.801Z" }, + { url = "https://files.pythonhosted.org/packages/8f/83/f61505a05109ef3293dfb1ff594d13d64a2324ac3482be2cedc2be818256/frozenlist-1.8.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96f423a119f4777a4a056b66ce11527366a8bb92f54e541ade21f2374433f6d4", size = 243014, upload-time = "2025-10-06T05:36:11.394Z" }, + { url = "https://files.pythonhosted.org/packages/d8/cb/cb6c7b0f7d4023ddda30cf56b8b17494eb3a79e3fda666bf735f63118b35/frozenlist-1.8.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3462dd9475af2025c31cc61be6652dfa25cbfb56cbbf52f4ccfe029f38decaf8", size = 234909, upload-time = "2025-10-06T05:36:12.598Z" }, + { url = "https://files.pythonhosted.org/packages/31/c5/cd7a1f3b8b34af009fb17d4123c5a778b44ae2804e3ad6b86204255f9ec5/frozenlist-1.8.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c4c800524c9cd9bac5166cd6f55285957fcfc907db323e193f2afcd4d9abd69b", size = 250049, upload-time = "2025-10-06T05:36:14.065Z" }, + { url = "https://files.pythonhosted.org/packages/c0/01/2f95d3b416c584a1e7f0e1d6d31998c4a795f7544069ee2e0962a4b60740/frozenlist-1.8.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d6a5df73acd3399d893dafc71663ad22534b5aa4f94e8a2fabfe856c3c1b6a52", size = 256485, upload-time = "2025-10-06T05:36:15.39Z" }, + { url = "https://files.pythonhosted.org/packages/ce/03/024bf7720b3abaebcff6d0793d73c154237b85bdf67b7ed55e5e9596dc9a/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:405e8fe955c2280ce66428b3ca55e12b3c4e9c336fb2103a4937e891c69a4a29", size = 237619, upload-time = "2025-10-06T05:36:16.558Z" }, + { url = "https://files.pythonhosted.org/packages/69/fa/f8abdfe7d76b731f5d8bd217827cf6764d4f1d9763407e42717b4bed50a0/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:908bd3f6439f2fef9e85031b59fd4f1297af54415fb60e4254a95f75b3cab3f3", size = 250320, upload-time = "2025-10-06T05:36:17.821Z" }, + { url = "https://files.pythonhosted.org/packages/f5/3c/b051329f718b463b22613e269ad72138cc256c540f78a6de89452803a47d/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:294e487f9ec720bd8ffcebc99d575f7eff3568a08a253d1ee1a0378754b74143", size = 246820, upload-time = "2025-10-06T05:36:19.046Z" }, + { url = "https://files.pythonhosted.org/packages/0f/ae/58282e8f98e444b3f4dd42448ff36fa38bef29e40d40f330b22e7108f565/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:74c51543498289c0c43656701be6b077f4b265868fa7f8a8859c197006efb608", size = 250518, upload-time = "2025-10-06T05:36:20.763Z" }, + { url = "https://files.pythonhosted.org/packages/8f/96/007e5944694d66123183845a106547a15944fbbb7154788cbf7272789536/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:776f352e8329135506a1d6bf16ac3f87bc25b28e765949282dcc627af36123aa", size = 239096, upload-time = "2025-10-06T05:36:22.129Z" }, + { url = "https://files.pythonhosted.org/packages/66/bb/852b9d6db2fa40be96f29c0d1205c306288f0684df8fd26ca1951d461a56/frozenlist-1.8.0-cp312-cp312-win32.whl", hash = "sha256:433403ae80709741ce34038da08511d4a77062aa924baf411ef73d1146e74faf", size = 39985, upload-time = "2025-10-06T05:36:23.661Z" }, + { url = "https://files.pythonhosted.org/packages/b8/af/38e51a553dd66eb064cdf193841f16f077585d4d28394c2fa6235cb41765/frozenlist-1.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:34187385b08f866104f0c0617404c8eb08165ab1272e884abc89c112e9c00746", size = 44591, upload-time = "2025-10-06T05:36:24.958Z" }, + { url = "https://files.pythonhosted.org/packages/a7/06/1dc65480ab147339fecc70797e9c2f69d9cea9cf38934ce08df070fdb9cb/frozenlist-1.8.0-cp312-cp312-win_arm64.whl", hash = "sha256:fe3c58d2f5db5fbd18c2987cba06d51b0529f52bc3a6cdc33d3f4eab725104bd", size = 40102, upload-time = "2025-10-06T05:36:26.333Z" }, + { url = "https://files.pythonhosted.org/packages/2d/40/0832c31a37d60f60ed79e9dfb5a92e1e2af4f40a16a29abcc7992af9edff/frozenlist-1.8.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8d92f1a84bb12d9e56f818b3a746f3efba93c1b63c8387a73dde655e1e42282a", size = 85717, upload-time = "2025-10-06T05:36:27.341Z" }, + { url = "https://files.pythonhosted.org/packages/30/ba/b0b3de23f40bc55a7057bd38434e25c34fa48e17f20ee273bbde5e0650f3/frozenlist-1.8.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96153e77a591c8adc2ee805756c61f59fef4cf4073a9275ee86fe8cba41241f7", size = 49651, upload-time = "2025-10-06T05:36:28.855Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ab/6e5080ee374f875296c4243c381bbdef97a9ac39c6e3ce1d5f7d42cb78d6/frozenlist-1.8.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f21f00a91358803399890ab167098c131ec2ddd5f8f5fd5fe9c9f2c6fcd91e40", size = 49417, upload-time = "2025-10-06T05:36:29.877Z" }, + { url = "https://files.pythonhosted.org/packages/d5/4e/e4691508f9477ce67da2015d8c00acd751e6287739123113a9fca6f1604e/frozenlist-1.8.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fb30f9626572a76dfe4293c7194a09fb1fe93ba94c7d4f720dfae3b646b45027", size = 234391, upload-time = "2025-10-06T05:36:31.301Z" }, + { url = "https://files.pythonhosted.org/packages/40/76/c202df58e3acdf12969a7895fd6f3bc016c642e6726aa63bd3025e0fc71c/frozenlist-1.8.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eaa352d7047a31d87dafcacbabe89df0aa506abb5b1b85a2fb91bc3faa02d822", size = 233048, upload-time = "2025-10-06T05:36:32.531Z" }, + { url = "https://files.pythonhosted.org/packages/f9/c0/8746afb90f17b73ca5979c7a3958116e105ff796e718575175319b5bb4ce/frozenlist-1.8.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:03ae967b4e297f58f8c774c7eabcce57fe3c2434817d4385c50661845a058121", size = 226549, upload-time = "2025-10-06T05:36:33.706Z" }, + { url = "https://files.pythonhosted.org/packages/7e/eb/4c7eefc718ff72f9b6c4893291abaae5fbc0c82226a32dcd8ef4f7a5dbef/frozenlist-1.8.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f6292f1de555ffcc675941d65fffffb0a5bcd992905015f85d0592201793e0e5", size = 239833, upload-time = "2025-10-06T05:36:34.947Z" }, + { url = "https://files.pythonhosted.org/packages/c2/4e/e5c02187cf704224f8b21bee886f3d713ca379535f16893233b9d672ea71/frozenlist-1.8.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29548f9b5b5e3460ce7378144c3010363d8035cea44bc0bf02d57f5a685e084e", size = 245363, upload-time = "2025-10-06T05:36:36.534Z" }, + { url = "https://files.pythonhosted.org/packages/1f/96/cb85ec608464472e82ad37a17f844889c36100eed57bea094518bf270692/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ec3cc8c5d4084591b4237c0a272cc4f50a5b03396a47d9caaf76f5d7b38a4f11", size = 229314, upload-time = "2025-10-06T05:36:38.582Z" }, + { url = "https://files.pythonhosted.org/packages/5d/6f/4ae69c550e4cee66b57887daeebe006fe985917c01d0fff9caab9883f6d0/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:517279f58009d0b1f2e7c1b130b377a349405da3f7621ed6bfae50b10adf20c1", size = 243365, upload-time = "2025-10-06T05:36:40.152Z" }, + { url = "https://files.pythonhosted.org/packages/7a/58/afd56de246cf11780a40a2c28dc7cbabbf06337cc8ddb1c780a2d97e88d8/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:db1e72ede2d0d7ccb213f218df6a078a9c09a7de257c2fe8fcef16d5925230b1", size = 237763, upload-time = "2025-10-06T05:36:41.355Z" }, + { url = "https://files.pythonhosted.org/packages/cb/36/cdfaf6ed42e2644740d4a10452d8e97fa1c062e2a8006e4b09f1b5fd7d63/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b4dec9482a65c54a5044486847b8a66bf10c9cb4926d42927ec4e8fd5db7fed8", size = 240110, upload-time = "2025-10-06T05:36:42.716Z" }, + { url = "https://files.pythonhosted.org/packages/03/a8/9ea226fbefad669f11b52e864c55f0bd57d3c8d7eb07e9f2e9a0b39502e1/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:21900c48ae04d13d416f0e1e0c4d81f7931f73a9dfa0b7a8746fb2fe7dd970ed", size = 233717, upload-time = "2025-10-06T05:36:44.251Z" }, + { url = "https://files.pythonhosted.org/packages/1e/0b/1b5531611e83ba7d13ccc9988967ea1b51186af64c42b7a7af465dcc9568/frozenlist-1.8.0-cp313-cp313-win32.whl", hash = "sha256:8b7b94a067d1c504ee0b16def57ad5738701e4ba10cec90529f13fa03c833496", size = 39628, upload-time = "2025-10-06T05:36:45.423Z" }, + { url = "https://files.pythonhosted.org/packages/d8/cf/174c91dbc9cc49bc7b7aab74d8b734e974d1faa8f191c74af9b7e80848e6/frozenlist-1.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:878be833caa6a3821caf85eb39c5ba92d28e85df26d57afb06b35b2efd937231", size = 43882, upload-time = "2025-10-06T05:36:46.796Z" }, + { url = "https://files.pythonhosted.org/packages/c1/17/502cd212cbfa96eb1388614fe39a3fc9ab87dbbe042b66f97acb57474834/frozenlist-1.8.0-cp313-cp313-win_arm64.whl", hash = "sha256:44389d135b3ff43ba8cc89ff7f51f5a0bb6b63d829c8300f79a2fe4fe61bcc62", size = 39676, upload-time = "2025-10-06T05:36:47.8Z" }, + { url = "https://files.pythonhosted.org/packages/d2/5c/3bbfaa920dfab09e76946a5d2833a7cbdf7b9b4a91c714666ac4855b88b4/frozenlist-1.8.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:e25ac20a2ef37e91c1b39938b591457666a0fa835c7783c3a8f33ea42870db94", size = 89235, upload-time = "2025-10-06T05:36:48.78Z" }, + { url = "https://files.pythonhosted.org/packages/d2/d6/f03961ef72166cec1687e84e8925838442b615bd0b8854b54923ce5b7b8a/frozenlist-1.8.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:07cdca25a91a4386d2e76ad992916a85038a9b97561bf7a3fd12d5d9ce31870c", size = 50742, upload-time = "2025-10-06T05:36:49.837Z" }, + { url = "https://files.pythonhosted.org/packages/1e/bb/a6d12b7ba4c3337667d0e421f7181c82dda448ce4e7ad7ecd249a16fa806/frozenlist-1.8.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:4e0c11f2cc6717e0a741f84a527c52616140741cd812a50422f83dc31749fb52", size = 51725, upload-time = "2025-10-06T05:36:50.851Z" }, + { url = "https://files.pythonhosted.org/packages/bc/71/d1fed0ffe2c2ccd70b43714c6cab0f4188f09f8a67a7914a6b46ee30f274/frozenlist-1.8.0-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b3210649ee28062ea6099cfda39e147fa1bc039583c8ee4481cb7811e2448c51", size = 284533, upload-time = "2025-10-06T05:36:51.898Z" }, + { url = "https://files.pythonhosted.org/packages/c9/1f/fb1685a7b009d89f9bf78a42d94461bc06581f6e718c39344754a5d9bada/frozenlist-1.8.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:581ef5194c48035a7de2aefc72ac6539823bb71508189e5de01d60c9dcd5fa65", size = 292506, upload-time = "2025-10-06T05:36:53.101Z" }, + { url = "https://files.pythonhosted.org/packages/e6/3b/b991fe1612703f7e0d05c0cf734c1b77aaf7c7d321df4572e8d36e7048c8/frozenlist-1.8.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3ef2d026f16a2b1866e1d86fc4e1291e1ed8a387b2c333809419a2f8b3a77b82", size = 274161, upload-time = "2025-10-06T05:36:54.309Z" }, + { url = "https://files.pythonhosted.org/packages/ca/ec/c5c618767bcdf66e88945ec0157d7f6c4a1322f1473392319b7a2501ded7/frozenlist-1.8.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5500ef82073f599ac84d888e3a8c1f77ac831183244bfd7f11eaa0289fb30714", size = 294676, upload-time = "2025-10-06T05:36:55.566Z" }, + { url = "https://files.pythonhosted.org/packages/7c/ce/3934758637d8f8a88d11f0585d6495ef54b2044ed6ec84492a91fa3b27aa/frozenlist-1.8.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:50066c3997d0091c411a66e710f4e11752251e6d2d73d70d8d5d4c76442a199d", size = 300638, upload-time = "2025-10-06T05:36:56.758Z" }, + { url = "https://files.pythonhosted.org/packages/fc/4f/a7e4d0d467298f42de4b41cbc7ddaf19d3cfeabaf9ff97c20c6c7ee409f9/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:5c1c8e78426e59b3f8005e9b19f6ff46e5845895adbde20ece9218319eca6506", size = 283067, upload-time = "2025-10-06T05:36:57.965Z" }, + { url = "https://files.pythonhosted.org/packages/dc/48/c7b163063d55a83772b268e6d1affb960771b0e203b632cfe09522d67ea5/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:eefdba20de0d938cec6a89bd4d70f346a03108a19b9df4248d3cf0d88f1b0f51", size = 292101, upload-time = "2025-10-06T05:36:59.237Z" }, + { url = "https://files.pythonhosted.org/packages/9f/d0/2366d3c4ecdc2fd391e0afa6e11500bfba0ea772764d631bbf82f0136c9d/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:cf253e0e1c3ceb4aaff6df637ce033ff6535fb8c70a764a8f46aafd3d6ab798e", size = 289901, upload-time = "2025-10-06T05:37:00.811Z" }, + { url = "https://files.pythonhosted.org/packages/b8/94/daff920e82c1b70e3618a2ac39fbc01ae3e2ff6124e80739ce5d71c9b920/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:032efa2674356903cd0261c4317a561a6850f3ac864a63fc1583147fb05a79b0", size = 289395, upload-time = "2025-10-06T05:37:02.115Z" }, + { url = "https://files.pythonhosted.org/packages/e3/20/bba307ab4235a09fdcd3cc5508dbabd17c4634a1af4b96e0f69bfe551ebd/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6da155091429aeba16851ecb10a9104a108bcd32f6c1642867eadaee401c1c41", size = 283659, upload-time = "2025-10-06T05:37:03.711Z" }, + { url = "https://files.pythonhosted.org/packages/fd/00/04ca1c3a7a124b6de4f8a9a17cc2fcad138b4608e7a3fc5877804b8715d7/frozenlist-1.8.0-cp313-cp313t-win32.whl", hash = "sha256:0f96534f8bfebc1a394209427d0f8a63d343c9779cda6fc25e8e121b5fd8555b", size = 43492, upload-time = "2025-10-06T05:37:04.915Z" }, + { url = "https://files.pythonhosted.org/packages/59/5e/c69f733a86a94ab10f68e496dc6b7e8bc078ebb415281d5698313e3af3a1/frozenlist-1.8.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5d63a068f978fc69421fb0e6eb91a9603187527c86b7cd3f534a5b77a592b888", size = 48034, upload-time = "2025-10-06T05:37:06.343Z" }, + { url = "https://files.pythonhosted.org/packages/16/6c/be9d79775d8abe79b05fa6d23da99ad6e7763a1d080fbae7290b286093fd/frozenlist-1.8.0-cp313-cp313t-win_arm64.whl", hash = "sha256:bf0a7e10b077bf5fb9380ad3ae8ce20ef919a6ad93b4552896419ac7e1d8e042", size = 41749, upload-time = "2025-10-06T05:37:07.431Z" }, + { url = "https://files.pythonhosted.org/packages/f1/c8/85da824b7e7b9b6e7f7705b2ecaf9591ba6f79c1177f324c2735e41d36a2/frozenlist-1.8.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:cee686f1f4cadeb2136007ddedd0aaf928ab95216e7691c63e50a8ec066336d0", size = 86127, upload-time = "2025-10-06T05:37:08.438Z" }, + { url = "https://files.pythonhosted.org/packages/8e/e8/a1185e236ec66c20afd72399522f142c3724c785789255202d27ae992818/frozenlist-1.8.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:119fb2a1bd47307e899c2fac7f28e85b9a543864df47aa7ec9d3c1b4545f096f", size = 49698, upload-time = "2025-10-06T05:37:09.48Z" }, + { url = "https://files.pythonhosted.org/packages/a1/93/72b1736d68f03fda5fdf0f2180fb6caaae3894f1b854d006ac61ecc727ee/frozenlist-1.8.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4970ece02dbc8c3a92fcc5228e36a3e933a01a999f7094ff7c23fbd2beeaa67c", size = 49749, upload-time = "2025-10-06T05:37:10.569Z" }, + { url = "https://files.pythonhosted.org/packages/a7/b2/fabede9fafd976b991e9f1b9c8c873ed86f202889b864756f240ce6dd855/frozenlist-1.8.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:cba69cb73723c3f329622e34bdbf5ce1f80c21c290ff04256cff1cd3c2036ed2", size = 231298, upload-time = "2025-10-06T05:37:11.993Z" }, + { url = "https://files.pythonhosted.org/packages/3a/3b/d9b1e0b0eed36e70477ffb8360c49c85c8ca8ef9700a4e6711f39a6e8b45/frozenlist-1.8.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:778a11b15673f6f1df23d9586f83c4846c471a8af693a22e066508b77d201ec8", size = 232015, upload-time = "2025-10-06T05:37:13.194Z" }, + { url = "https://files.pythonhosted.org/packages/dc/94/be719d2766c1138148564a3960fc2c06eb688da592bdc25adcf856101be7/frozenlist-1.8.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0325024fe97f94c41c08872db482cf8ac4800d80e79222c6b0b7b162d5b13686", size = 225038, upload-time = "2025-10-06T05:37:14.577Z" }, + { url = "https://files.pythonhosted.org/packages/e4/09/6712b6c5465f083f52f50cf74167b92d4ea2f50e46a9eea0523d658454ae/frozenlist-1.8.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:97260ff46b207a82a7567b581ab4190bd4dfa09f4db8a8b49d1a958f6aa4940e", size = 240130, upload-time = "2025-10-06T05:37:15.781Z" }, + { url = "https://files.pythonhosted.org/packages/f8/d4/cd065cdcf21550b54f3ce6a22e143ac9e4836ca42a0de1022da8498eac89/frozenlist-1.8.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:54b2077180eb7f83dd52c40b2750d0a9f175e06a42e3213ce047219de902717a", size = 242845, upload-time = "2025-10-06T05:37:17.037Z" }, + { url = "https://files.pythonhosted.org/packages/62/c3/f57a5c8c70cd1ead3d5d5f776f89d33110b1addae0ab010ad774d9a44fb9/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:2f05983daecab868a31e1da44462873306d3cbfd76d1f0b5b69c473d21dbb128", size = 229131, upload-time = "2025-10-06T05:37:18.221Z" }, + { url = "https://files.pythonhosted.org/packages/6c/52/232476fe9cb64f0742f3fde2b7d26c1dac18b6d62071c74d4ded55e0ef94/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:33f48f51a446114bc5d251fb2954ab0164d5be02ad3382abcbfe07e2531d650f", size = 240542, upload-time = "2025-10-06T05:37:19.771Z" }, + { url = "https://files.pythonhosted.org/packages/5f/85/07bf3f5d0fb5414aee5f47d33c6f5c77bfe49aac680bfece33d4fdf6a246/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:154e55ec0655291b5dd1b8731c637ecdb50975a2ae70c606d100750a540082f7", size = 237308, upload-time = "2025-10-06T05:37:20.969Z" }, + { url = "https://files.pythonhosted.org/packages/11/99/ae3a33d5befd41ac0ca2cc7fd3aa707c9c324de2e89db0e0f45db9a64c26/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:4314debad13beb564b708b4a496020e5306c7333fa9a3ab90374169a20ffab30", size = 238210, upload-time = "2025-10-06T05:37:22.252Z" }, + { url = "https://files.pythonhosted.org/packages/b2/60/b1d2da22f4970e7a155f0adde9b1435712ece01b3cd45ba63702aea33938/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:073f8bf8becba60aa931eb3bc420b217bb7d5b8f4750e6f8b3be7f3da85d38b7", size = 231972, upload-time = "2025-10-06T05:37:23.5Z" }, + { url = "https://files.pythonhosted.org/packages/3f/ab/945b2f32de889993b9c9133216c068b7fcf257d8595a0ac420ac8677cab0/frozenlist-1.8.0-cp314-cp314-win32.whl", hash = "sha256:bac9c42ba2ac65ddc115d930c78d24ab8d4f465fd3fc473cdedfccadb9429806", size = 40536, upload-time = "2025-10-06T05:37:25.581Z" }, + { url = "https://files.pythonhosted.org/packages/59/ad/9caa9b9c836d9ad6f067157a531ac48b7d36499f5036d4141ce78c230b1b/frozenlist-1.8.0-cp314-cp314-win_amd64.whl", hash = "sha256:3e0761f4d1a44f1d1a47996511752cf3dcec5bbdd9cc2b4fe595caf97754b7a0", size = 44330, upload-time = "2025-10-06T05:37:26.928Z" }, + { url = "https://files.pythonhosted.org/packages/82/13/e6950121764f2676f43534c555249f57030150260aee9dcf7d64efda11dd/frozenlist-1.8.0-cp314-cp314-win_arm64.whl", hash = "sha256:d1eaff1d00c7751b7c6662e9c5ba6eb2c17a2306ba5e2a37f24ddf3cc953402b", size = 40627, upload-time = "2025-10-06T05:37:28.075Z" }, + { url = "https://files.pythonhosted.org/packages/c0/c7/43200656ecc4e02d3f8bc248df68256cd9572b3f0017f0a0c4e93440ae23/frozenlist-1.8.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:d3bb933317c52d7ea5004a1c442eef86f426886fba134ef8cf4226ea6ee1821d", size = 89238, upload-time = "2025-10-06T05:37:29.373Z" }, + { url = "https://files.pythonhosted.org/packages/d1/29/55c5f0689b9c0fb765055629f472c0de484dcaf0acee2f7707266ae3583c/frozenlist-1.8.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:8009897cdef112072f93a0efdce29cd819e717fd2f649ee3016efd3cd885a7ed", size = 50738, upload-time = "2025-10-06T05:37:30.792Z" }, + { url = "https://files.pythonhosted.org/packages/ba/7d/b7282a445956506fa11da8c2db7d276adcbf2b17d8bb8407a47685263f90/frozenlist-1.8.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2c5dcbbc55383e5883246d11fd179782a9d07a986c40f49abe89ddf865913930", size = 51739, upload-time = "2025-10-06T05:37:32.127Z" }, + { url = "https://files.pythonhosted.org/packages/62/1c/3d8622e60d0b767a5510d1d3cf21065b9db874696a51ea6d7a43180a259c/frozenlist-1.8.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:39ecbc32f1390387d2aa4f5a995e465e9e2f79ba3adcac92d68e3e0afae6657c", size = 284186, upload-time = "2025-10-06T05:37:33.21Z" }, + { url = "https://files.pythonhosted.org/packages/2d/14/aa36d5f85a89679a85a1d44cd7a6657e0b1c75f61e7cad987b203d2daca8/frozenlist-1.8.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92db2bf818d5cc8d9c1f1fc56b897662e24ea5adb36ad1f1d82875bd64e03c24", size = 292196, upload-time = "2025-10-06T05:37:36.107Z" }, + { url = "https://files.pythonhosted.org/packages/05/23/6bde59eb55abd407d34f77d39a5126fb7b4f109a3f611d3929f14b700c66/frozenlist-1.8.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2dc43a022e555de94c3b68a4ef0b11c4f747d12c024a520c7101709a2144fb37", size = 273830, upload-time = "2025-10-06T05:37:37.663Z" }, + { url = "https://files.pythonhosted.org/packages/d2/3f/22cff331bfad7a8afa616289000ba793347fcd7bc275f3b28ecea2a27909/frozenlist-1.8.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cb89a7f2de3602cfed448095bab3f178399646ab7c61454315089787df07733a", size = 294289, upload-time = "2025-10-06T05:37:39.261Z" }, + { url = "https://files.pythonhosted.org/packages/a4/89/5b057c799de4838b6c69aa82b79705f2027615e01be996d2486a69ca99c4/frozenlist-1.8.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:33139dc858c580ea50e7e60a1b0ea003efa1fd42e6ec7fdbad78fff65fad2fd2", size = 300318, upload-time = "2025-10-06T05:37:43.213Z" }, + { url = "https://files.pythonhosted.org/packages/30/de/2c22ab3eb2a8af6d69dc799e48455813bab3690c760de58e1bf43b36da3e/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:168c0969a329b416119507ba30b9ea13688fafffac1b7822802537569a1cb0ef", size = 282814, upload-time = "2025-10-06T05:37:45.337Z" }, + { url = "https://files.pythonhosted.org/packages/59/f7/970141a6a8dbd7f556d94977858cfb36fa9b66e0892c6dd780d2219d8cd8/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:28bd570e8e189d7f7b001966435f9dac6718324b5be2990ac496cf1ea9ddb7fe", size = 291762, upload-time = "2025-10-06T05:37:46.657Z" }, + { url = "https://files.pythonhosted.org/packages/c1/15/ca1adae83a719f82df9116d66f5bb28bb95557b3951903d39135620ef157/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b2a095d45c5d46e5e79ba1e5b9cb787f541a8dee0433836cea4b96a2c439dcd8", size = 289470, upload-time = "2025-10-06T05:37:47.946Z" }, + { url = "https://files.pythonhosted.org/packages/ac/83/dca6dc53bf657d371fbc88ddeb21b79891e747189c5de990b9dfff2ccba1/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:eab8145831a0d56ec9c4139b6c3e594c7a83c2c8be25d5bcf2d86136a532287a", size = 289042, upload-time = "2025-10-06T05:37:49.499Z" }, + { url = "https://files.pythonhosted.org/packages/96/52/abddd34ca99be142f354398700536c5bd315880ed0a213812bc491cff5e4/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:974b28cf63cc99dfb2188d8d222bc6843656188164848c4f679e63dae4b0708e", size = 283148, upload-time = "2025-10-06T05:37:50.745Z" }, + { url = "https://files.pythonhosted.org/packages/af/d3/76bd4ed4317e7119c2b7f57c3f6934aba26d277acc6309f873341640e21f/frozenlist-1.8.0-cp314-cp314t-win32.whl", hash = "sha256:342c97bf697ac5480c0a7ec73cd700ecfa5a8a40ac923bd035484616efecc2df", size = 44676, upload-time = "2025-10-06T05:37:52.222Z" }, + { url = "https://files.pythonhosted.org/packages/89/76/c615883b7b521ead2944bb3480398cbb07e12b7b4e4d073d3752eb721558/frozenlist-1.8.0-cp314-cp314t-win_amd64.whl", hash = "sha256:06be8f67f39c8b1dc671f5d83aaefd3358ae5cdcf8314552c57e7ed3e6475bdd", size = 49451, upload-time = "2025-10-06T05:37:53.425Z" }, + { url = "https://files.pythonhosted.org/packages/e0/a3/5982da14e113d07b325230f95060e2169f5311b1017ea8af2a29b374c289/frozenlist-1.8.0-cp314-cp314t-win_arm64.whl", hash = "sha256:102e6314ca4da683dca92e3b1355490fed5f313b768500084fbe6371fddfdb79", size = 42507, upload-time = "2025-10-06T05:37:54.513Z" }, + { url = "https://files.pythonhosted.org/packages/c2/59/ae5cdac87a00962122ea37bb346d41b66aec05f9ce328fa2b9e216f8967b/frozenlist-1.8.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d8b7138e5cd0647e4523d6685b0eac5d4be9a184ae9634492f25c6eb38c12a47", size = 86967, upload-time = "2025-10-06T05:37:55.607Z" }, + { url = "https://files.pythonhosted.org/packages/8a/10/17059b2db5a032fd9323c41c39e9d1f5f9d0c8f04d1e4e3e788573086e61/frozenlist-1.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a6483e309ca809f1efd154b4d37dc6d9f61037d6c6a81c2dc7a15cb22c8c5dca", size = 49984, upload-time = "2025-10-06T05:37:57.049Z" }, + { url = "https://files.pythonhosted.org/packages/4b/de/ad9d82ca8e5fa8f0c636e64606553c79e2b859ad253030b62a21fe9986f5/frozenlist-1.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1b9290cf81e95e93fdf90548ce9d3c1211cf574b8e3f4b3b7cb0537cf2227068", size = 50240, upload-time = "2025-10-06T05:37:58.145Z" }, + { url = "https://files.pythonhosted.org/packages/4e/45/3dfb7767c2a67d123650122b62ce13c731b6c745bc14424eea67678b508c/frozenlist-1.8.0-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:59a6a5876ca59d1b63af8cd5e7ffffb024c3dc1e9cf9301b21a2e76286505c95", size = 219472, upload-time = "2025-10-06T05:37:59.239Z" }, + { url = "https://files.pythonhosted.org/packages/0b/bf/5bf23d913a741b960d5c1dac7c1985d8a2a1d015772b2d18ea168b08e7ff/frozenlist-1.8.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6dc4126390929823e2d2d9dc79ab4046ed74680360fc5f38b585c12c66cdf459", size = 221531, upload-time = "2025-10-06T05:38:00.521Z" }, + { url = "https://files.pythonhosted.org/packages/d0/03/27ec393f3b55860859f4b74cdc8c2a4af3dbf3533305e8eacf48a4fd9a54/frozenlist-1.8.0-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:332db6b2563333c5671fecacd085141b5800cb866be16d5e3eb15a2086476675", size = 219211, upload-time = "2025-10-06T05:38:01.842Z" }, + { url = "https://files.pythonhosted.org/packages/3a/ad/0fd00c404fa73fe9b169429e9a972d5ed807973c40ab6b3cf9365a33d360/frozenlist-1.8.0-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9ff15928d62a0b80bb875655c39bf517938c7d589554cbd2669be42d97c2cb61", size = 231775, upload-time = "2025-10-06T05:38:03.384Z" }, + { url = "https://files.pythonhosted.org/packages/8a/c3/86962566154cb4d2995358bc8331bfc4ea19d07db1a96f64935a1607f2b6/frozenlist-1.8.0-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7bf6cdf8e07c8151fba6fe85735441240ec7f619f935a5205953d58009aef8c6", size = 236631, upload-time = "2025-10-06T05:38:04.609Z" }, + { url = "https://files.pythonhosted.org/packages/ea/9e/6ffad161dbd83782d2c66dc4d378a9103b31770cb1e67febf43aea42d202/frozenlist-1.8.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:48e6d3f4ec5c7273dfe83ff27c91083c6c9065af655dc2684d2c200c94308bb5", size = 218632, upload-time = "2025-10-06T05:38:05.917Z" }, + { url = "https://files.pythonhosted.org/packages/58/b2/4677eee46e0a97f9b30735e6ad0bf6aba3e497986066eb68807ac85cf60f/frozenlist-1.8.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:1a7607e17ad33361677adcd1443edf6f5da0ce5e5377b798fba20fae194825f3", size = 235967, upload-time = "2025-10-06T05:38:07.614Z" }, + { url = "https://files.pythonhosted.org/packages/05/f3/86e75f8639c5a93745ca7addbbc9de6af56aebb930d233512b17e46f6493/frozenlist-1.8.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:5a3a935c3a4e89c733303a2d5a7c257ea44af3a56c8202df486b7f5de40f37e1", size = 228799, upload-time = "2025-10-06T05:38:08.845Z" }, + { url = "https://files.pythonhosted.org/packages/30/00/39aad3a7f0d98f5eb1d99a3c311215674ed87061aecee7851974b335c050/frozenlist-1.8.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:940d4a017dbfed9daf46a3b086e1d2167e7012ee297fef9e1c545c4d022f5178", size = 230566, upload-time = "2025-10-06T05:38:10.52Z" }, + { url = "https://files.pythonhosted.org/packages/0d/4d/aa144cac44568d137846ddc4d5210fb5d9719eb1d7ec6fa2728a54b5b94a/frozenlist-1.8.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b9be22a69a014bc47e78072d0ecae716f5eb56c15238acca0f43d6eb8e4a5bda", size = 217715, upload-time = "2025-10-06T05:38:11.832Z" }, + { url = "https://files.pythonhosted.org/packages/64/4c/8f665921667509d25a0dd72540513bc86b356c95541686f6442a3283019f/frozenlist-1.8.0-cp39-cp39-win32.whl", hash = "sha256:1aa77cb5697069af47472e39612976ed05343ff2e84a3dcf15437b232cbfd087", size = 39933, upload-time = "2025-10-06T05:38:13.061Z" }, + { url = "https://files.pythonhosted.org/packages/79/bd/bcc926f87027fad5e59926ff12d136e1082a115025d33c032d1cd69ab377/frozenlist-1.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:7398c222d1d405e796970320036b1b563892b65809d9e5261487bb2c7f7b5c6a", size = 44121, upload-time = "2025-10-06T05:38:14.572Z" }, + { url = "https://files.pythonhosted.org/packages/4c/07/9c2e4eb7584af4b705237b971b89a4155a8e57599c4483a131a39256a9a0/frozenlist-1.8.0-cp39-cp39-win_arm64.whl", hash = "sha256:b4f3b365f31c6cd4af24545ca0a244a53688cad8834e32f56831c4923b50a103", size = 40312, upload-time = "2025-10-06T05:38:15.699Z" }, + { url = "https://files.pythonhosted.org/packages/9a/9a/e35b4a917281c0b8419d4207f4334c8e8c5dbf4f3f5f9ada73958d937dcc/frozenlist-1.8.0-py3-none-any.whl", hash = "sha256:0c18a16eab41e82c295618a77502e17b195883241c563b00f0aa5106fc4eaa0d", size = 13409, upload-time = "2025-10-06T05:38:16.721Z" }, ] [[package]] @@ -1025,7 +2114,8 @@ name = "httpx" version = "0.28.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "anyio" }, + { name = "anyio", version = "4.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "anyio", version = "4.12.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "certifi" }, { name = "httpcore" }, { name = "idna" }, @@ -1036,30 +2126,48 @@ wheels = [ ] [[package]] -name = "identify" -version = "2.6.13" +name = "idna" +version = "3.11" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/82/ca/ffbabe3635bb839aa36b3a893c91a9b0d368cb4d8073e03a12896970af82/identify-2.6.13.tar.gz", hash = "sha256:da8d6c828e773620e13bfa86ea601c5a5310ba4bcd65edf378198b56a1f9fb32", size = 99243, upload-time = "2025-08-09T19:35:00.6Z" } +sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902", size = 194582, upload-time = "2025-10-12T14:55:20.501Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e7/ce/461b60a3ee109518c055953729bf9ed089a04db895d47e95444071dcdef2/identify-2.6.13-py2.py3-none-any.whl", hash = "sha256:60381139b3ae39447482ecc406944190f690d4a2997f2584062089848361b33b", size = 99153, upload-time = "2025-08-09T19:34:59.1Z" }, + { url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" }, ] [[package]] -name = "idna" -version = "3.10" +name = "iniconfig" +version = "2.1.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" } +resolution-markers = [ + "python_full_version == '3.9.*'", + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793, upload-time = "2025-03-19T20:09:59.721Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" }, + { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050, upload-time = "2025-03-19T20:10:01.071Z" }, ] [[package]] name = "iniconfig" -version = "2.1.0" +version = "2.3.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793, upload-time = "2025-03-19T20:09:59.721Z" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", size = 20503, upload-time = "2025-10-18T21:55:43.219Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050, upload-time = "2025-03-19T20:10:01.071Z" }, + { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" }, +] + +[[package]] +name = "isort" +version = "5.13.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/87/f9/c1eb8635a24e87ade2efce21e3ce8cd6b8630bb685ddc9cdaca1349b2eb5/isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109", size = 175303, upload-time = "2023-12-13T20:37:26.124Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/b3/8def84f539e7d2289a02f0524b944b15d7c75dab7628bedf1c4f0992029c/isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6", size = 92310, upload-time = "2023-12-13T20:37:23.244Z" }, ] [[package]] @@ -1067,7 +2175,8 @@ name = "jinja2" version = "3.1.6" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "markupsafe" }, + { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "markupsafe", version = "3.0.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } wheels = [ @@ -1076,283 +2185,698 @@ wheels = [ [[package]] name = "jiter" -version = "0.10.0" +version = "0.9.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/84/72/c28662416d9807bb5a38625eadedb82d4bd14fd2700c308ece7acdb8e89f/jiter-0.9.1.tar.gz", hash = "sha256:7852990068b6e06102ecdc44c1619855a2af63347bfb5e7e009928dcacf04fdd", size = 162540, upload-time = "2025-05-18T17:47:14.707Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2b/5f/7f6aaca7943c644b4fd220650771f39dbfb74f9690efc6fb8c0d4092a399/jiter-0.9.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:c0163baa7ee85860fdc14cc39263014500df901eeffdf94c1eab9a2d713b2a9d", size = 312882, upload-time = "2025-05-18T17:45:14.056Z" }, + { url = "https://files.pythonhosted.org/packages/86/0d/aac9eafc5d46bdf5c4f127ac1ce85e434d003bb5e3ae886f5e726a988cf6/jiter-0.9.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:514d4dd845e0af4da15112502e6fcb952f0721f27f17e530454e379472b90c14", size = 311743, upload-time = "2025-05-18T17:45:16.196Z" }, + { url = "https://files.pythonhosted.org/packages/b8/54/fab1f4d8634af7bb1ad6dc49bee50ea9f649de0e5309c80192ace739f968/jiter-0.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b879faee1cc1a67fde3f3f370041239fd260ac452bd53e861aa4a94a51e3fd02", size = 1085889, upload-time = "2025-05-18T17:45:17.883Z" }, + { url = "https://files.pythonhosted.org/packages/bd/86/bf4ed251d8035d5d72a46c8f9969bd5054fad052371cbea0cb161060e660/jiter-0.9.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:20a5ce641f93bfb8d8e336f8c4a045e491652f41eaacc707b15b245ece611e72", size = 1117896, upload-time = "2025-05-18T17:45:19.82Z" }, + { url = "https://files.pythonhosted.org/packages/62/40/b04c40deccd5edd5f2a3853f4a80dc0ddbe157d1d523a573fb3d224315fc/jiter-0.9.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8575b1d2b49df04ca82d658882f4a432b7ed315a69126a379df4d10aeb416021", size = 1211956, upload-time = "2025-05-18T17:45:21.606Z" }, + { url = "https://files.pythonhosted.org/packages/85/f0/114e9893e4ef5b423718efe9b3da01117539c333f06ef19543c68c8b7ed1/jiter-0.9.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cc61831699904e0c58e82943f529713833db87acd13f95a3c0feb791f862d47b", size = 1219691, upload-time = "2025-05-18T17:45:23.061Z" }, + { url = "https://files.pythonhosted.org/packages/02/9a/1aeac4541ce1c59c65dc76dbab642232da3d8db0581df3e61b8943033bd7/jiter-0.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0fb733faf4d0e730d6663873249c1acb572fc8bd9dae3836ceda69751f27c5be", size = 352604, upload-time = "2025-05-18T17:45:24.485Z" }, + { url = "https://files.pythonhosted.org/packages/6b/27/446ec6ca0a25d9d2f45ad546633a2b4a1b6a7f28fb6819c7056b163c5aee/jiter-0.9.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d903b3bb917c0df24f2ef62f587c8f32f6003cb2f97264109ca56c023262557f", size = 1147136, upload-time = "2025-05-18T17:45:25.832Z" }, + { url = "https://files.pythonhosted.org/packages/09/9d/c8540bc097b07e106d060c21395c6fa6561223e7366c948a04ef0aa39979/jiter-0.9.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:eac3eb5206845b170142c016ae467eca523a25459dc9c53fcd8e154ea263406c", size = 1255843, upload-time = "2025-05-18T17:45:27.513Z" }, + { url = "https://files.pythonhosted.org/packages/d3/61/9b377ecf4e09e325e90f77a7a4859ec933162f58ff5c6b7730aff6352033/jiter-0.9.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7ea0c20cfc61acc5335bb8ee36d639e6a4ded03f34f878b2b3038bb9f3bb553c", size = 1257536, upload-time = "2025-05-18T17:45:29.304Z" }, + { url = "https://files.pythonhosted.org/packages/ed/f6/b6754e11ac9d02f05a2d713c0846ce813a69c1f6f7de7f1ae216c4e35ace/jiter-0.9.1-cp310-cp310-win32.whl", hash = "sha256:0f8f812dd6d2b4112db9ab4c1079c4fe73e553a500e936657fdda394fa2517e1", size = 214064, upload-time = "2025-05-18T17:45:31.037Z" }, + { url = "https://files.pythonhosted.org/packages/1d/cb/7b9c5d6f73499d1fb5e97e36e8078f3bea00d7541a973117eccf9db1e079/jiter-0.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:f7f0198889170e7af6210509803e6527b402efc6c26f42e2896883597a10426f", size = 209952, upload-time = "2025-05-18T17:45:32.772Z" }, + { url = "https://files.pythonhosted.org/packages/ee/3b/9f9deaef471e346354c832b6627e0d1b9ba3d9611d0e0fd394c2acf2a615/jiter-0.9.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:6b8564e3198c4c8d835fc95cc54d6bcbd2fd8dc33a047fecc12c208491196995", size = 312737, upload-time = "2025-05-18T17:45:34.456Z" }, + { url = "https://files.pythonhosted.org/packages/36/00/76fa6d519f8289aad32ec1caf3716eb700ba48e3212d1dda71e74c385a5c/jiter-0.9.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:90b92044588d14efe89b394eca735adc4ac096eba82dc75d93c3083b1eebce8d", size = 313357, upload-time = "2025-05-18T17:45:36.672Z" }, + { url = "https://files.pythonhosted.org/packages/b3/e9/f864ebe9ddf07761d5bdd3148b45a5d433c6cbce7c7e8be29baf806fa612/jiter-0.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3505f7f419b355c7788fcaae0dfc4c6ccbc50c0dc3633a2da797e841c5a423dc", size = 1085946, upload-time = "2025-05-18T17:45:37.989Z" }, + { url = "https://files.pythonhosted.org/packages/82/a1/ed02d4c86d620989dcd392366daa67198961eedaf2e66f7a68f0d3846dba/jiter-0.9.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:93af8c3f4a3bf145c690e857a945eb5c655534bf95c67e1447d85c02e5af64d7", size = 1118090, upload-time = "2025-05-18T17:45:39.322Z" }, + { url = "https://files.pythonhosted.org/packages/d3/01/d107531d215a57cda3cbc4adfcf3119166dd32adc1c332c1f3f36efd3484/jiter-0.9.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:43b81dd21e260a249780764921b1f9a6379cb31e24e7b61e6bf0799f38ec4b91", size = 1212231, upload-time = "2025-05-18T17:45:40.738Z" }, + { url = "https://files.pythonhosted.org/packages/45/1e/6801a81a2ef1f917fe9a7d2139e576dd4f53497c309dab9461136922709c/jiter-0.9.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:db639fad5631b3d1692609f6dd77b64e8578321b7aeec07a026acd2c867c04a5", size = 1219263, upload-time = "2025-05-18T17:45:42.698Z" }, + { url = "https://files.pythonhosted.org/packages/a5/d4/40082e8666cfdb24461855e9bb29fe77f063cc65a6c903291f2e5225f780/jiter-0.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15356b943e70ca7ab3b587ffaffadc0158467f6c4e0b491e52a0743c4bdf5ba1", size = 350364, upload-time = "2025-05-18T17:45:44.257Z" }, + { url = "https://files.pythonhosted.org/packages/c4/09/09bc72dd143f76acd55e04c3a45b9f9ee3ed28e00b49924e3702ad041812/jiter-0.9.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:53a7033a46141ff815518a6972d657c75d8f5946b9315e1c25b07e9677c1ff6c", size = 1146802, upload-time = "2025-05-18T17:45:45.945Z" }, + { url = "https://files.pythonhosted.org/packages/5b/34/9d15a9c04d5760537b432134447bde94b936ec73dc922b4d14a48def2e1f/jiter-0.9.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:68cf519a6f00b8127f9be64a37e97e978094438abced5adebe088a98c64bdcff", size = 1256019, upload-time = "2025-05-18T17:45:47.544Z" }, + { url = "https://files.pythonhosted.org/packages/8f/01/1fcd165fb28968a54bb46a209d5919f7649b96608eef7dc4622ea378b95a/jiter-0.9.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9098abdd34cd9ddeb04768cc4f5fc725ebd9a52978c488da74e58a837ce93506", size = 1257610, upload-time = "2025-05-18T17:45:48.902Z" }, + { url = "https://files.pythonhosted.org/packages/9f/87/93ac6a57331dd90e4c896ac852bf8ce6b28b40dace4b9698a207dbb99af2/jiter-0.9.1-cp311-cp311-win32.whl", hash = "sha256:7179ce96aecd096af890dd57b84133e47a59fbde32a77734f09bafa6a4da619e", size = 214515, upload-time = "2025-05-18T17:45:50.248Z" }, + { url = "https://files.pythonhosted.org/packages/bb/ee/3678b8a3bd5f6471d0a492540e7ff9c63db278d844214458ec5cfb22adb2/jiter-0.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:e6517f5b7b6f60fd77fc1099572f445be19553c6f61b907ab5b413fb7179663f", size = 212258, upload-time = "2025-05-18T17:45:51.983Z" }, + { url = "https://files.pythonhosted.org/packages/ba/a7/5b3ce91b5bb83bf47e85ab2efda26a1706fb52498a2abe79df09af7dfa8f/jiter-0.9.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:f330c5023ce4153ceb3e8abe76ecab8c5b525824bcec4e781791d044e5b5fc3a", size = 307494, upload-time = "2025-05-18T17:45:53.639Z" }, + { url = "https://files.pythonhosted.org/packages/fd/9a/006ebbb5ab55fd9f47c219f9de7fdedd38694c158ddd6760a15f7a6fcdc8/jiter-0.9.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:77de4d2d529ece2d43fc0dbe90971e9e18f42ed6dd50b40fe232e799efb72c29", size = 312782, upload-time = "2025-05-18T17:45:55.384Z" }, + { url = "https://files.pythonhosted.org/packages/17/da/a437705850c8cf6b8c93769ff6fcb3abcbfeb9c12b690c5f1631682d4286/jiter-0.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ed3eec217a70762a01ecfbecea27eda91d7d5792bdef41096d2c672a9e3c1fe", size = 1087076, upload-time = "2025-05-18T17:45:56.866Z" }, + { url = "https://files.pythonhosted.org/packages/e6/8b/f463a03de974d437abc312a0ca6212e2b014b7023a880fd6956ebfde15c7/jiter-0.9.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d000bb8b9b3a90fb61ff864869461c56ad2dad5f0fa71127464cb65e69ec864b", size = 1118826, upload-time = "2025-05-18T17:45:58.359Z" }, + { url = "https://files.pythonhosted.org/packages/6a/04/4d9289d8610f2b10886b4bd32b0c6e036fdeabc86cc9a902e50434a066bd/jiter-0.9.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3610aed85fad26d5e107ce4e246c236b612e539b382d490761aacc4aa5d7cdbf", size = 1213155, upload-time = "2025-05-18T17:45:59.719Z" }, + { url = "https://files.pythonhosted.org/packages/f3/4c/851c0a7c95e333d5213558fc76d217a7760de8b704299c007537af49e1de/jiter-0.9.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ae8f1f42f4b0ed244f88bb863d0777292e76e43ee2dc0dac4d63fe29bee183e5", size = 1215024, upload-time = "2025-05-18T17:46:01.083Z" }, + { url = "https://files.pythonhosted.org/packages/8f/24/9c62f5775645715ded77a4cf03b9f3c36d4909ee35b07f65bb4ccaad4bfd/jiter-0.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2082da43e7b6174c3522a6905a9ee9187c9771e32cad7ab58360f189595a7c3f", size = 350280, upload-time = "2025-05-18T17:46:02.912Z" }, + { url = "https://files.pythonhosted.org/packages/d9/79/54a4b1074f1f048ca822a2f4a738fa7b623203540a59ec99d0b0277c38ef/jiter-0.9.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d82b2b8bc089c4ebff99907bdb890730e05c58169d5493473c916518f8d29f5c", size = 1150978, upload-time = "2025-05-18T17:46:04.229Z" }, + { url = "https://files.pythonhosted.org/packages/9c/1b/caaa8d274ba82486dfb582e32f431412f2e178344ebf6a231b8606c048fd/jiter-0.9.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:8b7214d4064759ff34846311cabcf49715e8a7286a4431bc7444537ee2f21b1a", size = 1257583, upload-time = "2025-05-18T17:46:06.113Z" }, + { url = "https://files.pythonhosted.org/packages/19/f7/a5f991075b16b76b15e4da7939243f373ff4369ce41145be428c7c43d905/jiter-0.9.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:136a635797b27aeb5cacea4d0ffeff5c80081089217c5891bd28968e5df97824", size = 1258268, upload-time = "2025-05-18T17:46:08.564Z" }, + { url = "https://files.pythonhosted.org/packages/94/8f/6fabe1aa77637be629e73db2ee3059889b893c4be391f0e038b71948d208/jiter-0.9.1-cp312-cp312-win32.whl", hash = "sha256:5da9a4e2939c4af7617fe01f7e3978fba224d93def72bc748d173f148a8b637f", size = 214250, upload-time = "2025-05-18T17:46:10.108Z" }, + { url = "https://files.pythonhosted.org/packages/7d/18/6f118d22acf5930d5a46c4f6853eead883af8c097d83e2a2971308864423/jiter-0.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:d1434a05965d0c1f033061f21553fef5c3a352f3e880a0f503e79e6b639db10c", size = 211070, upload-time = "2025-05-18T17:46:11.39Z" }, + { url = "https://files.pythonhosted.org/packages/e2/36/4b5c7c96ce4795376e546bcabd96d8fe8667c9fdeb946523ca382cc30eaa/jiter-0.9.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:cb0629af6a12804ace5f093884c2f14d5075d95951a086054e106cfdb6b8862f", size = 307047, upload-time = "2025-05-18T17:46:13.192Z" }, + { url = "https://files.pythonhosted.org/packages/3e/20/7635fb02fe62cd90899dc1c64c972c1470106eede55ce35fc6e3868251af/jiter-0.9.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d15cc2b5602fb5a16689afb507b27c650167152203394efa429a5139553dd993", size = 311796, upload-time = "2025-05-18T17:46:14.455Z" }, + { url = "https://files.pythonhosted.org/packages/e4/43/7e4a38c63b9f1a5795d406a7cf1e8a42af0e51d05d5c5b866708a345d49e/jiter-0.9.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffbf9279273b41fb8c4360ad2590a8eea82b36665728f57b0d7b095a904016d9", size = 1086812, upload-time = "2025-05-18T17:46:15.765Z" }, + { url = "https://files.pythonhosted.org/packages/30/17/3d5ad7a1e12bb172040c2e206068ee766a320c6b6327a0a52a9c05bf4cd6/jiter-0.9.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3fca2935783d4309eed77ed2acd625f93a07b79693f7d8e58e3c18ac8981e9ea", size = 1118218, upload-time = "2025-05-18T17:46:17.876Z" }, + { url = "https://files.pythonhosted.org/packages/a0/f7/9f46d976a91f339898783962043c36b8c9fe103135f264ae25dddad9838e/jiter-0.9.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f3f5f14d63924d3b226236c746ceb37f5ac9d3ce1251762819024f84904b4a0f", size = 1211346, upload-time = "2025-05-18T17:46:19.823Z" }, + { url = "https://files.pythonhosted.org/packages/93/71/cf594ec8c76188b5e42fc4f00a9cdfb3f675631234f5a1ac5413fe6684cb/jiter-0.9.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0d43dcddb437096ac48e85f6be8355d806ab9246051f95263933fa5e18d026aa", size = 1214466, upload-time = "2025-05-18T17:46:21.639Z" }, + { url = "https://files.pythonhosted.org/packages/e2/e5/efd89f27838ea9d8257c9bc8edd58a953e06ca304c7d2b397fdd2a932e51/jiter-0.9.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19773c6f730523effbca88c4a15658b481cf81e4c981fcd1212dd4beaa0cd37a", size = 350245, upload-time = "2025-05-18T17:46:22.962Z" }, + { url = "https://files.pythonhosted.org/packages/b3/78/b7960c8a04d593687659007e6b7f911ef3f877eb11cd2503267ad5b2da0b/jiter-0.9.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:01fcc08b6d3e29562d72edfcd6c5b0aab30b964fb0c99ad8287c2dffeb6fd38c", size = 1149223, upload-time = "2025-05-18T17:46:25.732Z" }, + { url = "https://files.pythonhosted.org/packages/65/60/4777b5a70febeece230593a82a69d0d19b5b6e36a8b3afcc4b43528c2657/jiter-0.9.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:448afc1a801a518ed438667229f380bb0b8503f379d170ac947575cb7e1e4edf", size = 1257025, upload-time = "2025-05-18T17:46:27.162Z" }, + { url = "https://files.pythonhosted.org/packages/e8/c1/8fe3483537d85bc381bdab2a4952707d92944b1ac32074f7b33de188c2d0/jiter-0.9.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:f321fb984ed7544e77346714a25ffa5bbefddd1adcc32c8fba49030a119a31c6", size = 1257882, upload-time = "2025-05-18T17:46:29.21Z" }, + { url = "https://files.pythonhosted.org/packages/7b/1a/4453114fb7b3722f8d232b3c08114535e455d7d2d4d83b44cede53ed42ae/jiter-0.9.1-cp313-cp313-win32.whl", hash = "sha256:7db7c9a95d72668545606aeaf110549f4f42679eaa3ce5c32f8f26c1838550d8", size = 214946, upload-time = "2025-05-18T17:46:30.607Z" }, + { url = "https://files.pythonhosted.org/packages/15/d0/237d7dbaaafb08a6f719c8495663b76d70d6c5880a02c7b092f21292458b/jiter-0.9.1-cp313-cp313-win_amd64.whl", hash = "sha256:a6b750ef1201fe4c431f869705607ece4adaf592e497efb6bc4138efaebb4f59", size = 209888, upload-time = "2025-05-18T17:46:31.89Z" }, + { url = "https://files.pythonhosted.org/packages/51/32/e90c89adbea8342b6e470f3be9c213b628ae3842810553df15d5afb386ce/jiter-0.9.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:4096dba935aa2730c7642146b065855a0f5853fd9bbe22de9e3dd39fcacc37fe", size = 311645, upload-time = "2025-05-18T17:46:33.196Z" }, + { url = "https://files.pythonhosted.org/packages/29/40/98fee5bab390c27d20ba82c73d12afd1db89aabeef641ae7629a31a7100f/jiter-0.9.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13ad975e0d9d2f7e54b30d9ae8e2e1c97be422e75606bddc67427721ad13cd1c", size = 352754, upload-time = "2025-05-18T17:46:34.457Z" }, + { url = "https://files.pythonhosted.org/packages/9b/17/b0fa4ee5bdcb252b2407fc9528f11d8af717b7218455d23018cf314ccf6a/jiter-0.9.1-cp313-cp313t-win_amd64.whl", hash = "sha256:f11992b20f8a2d336b98b31bff4d8bfcc4bd5aef7840594e32d6cb44fb9b96cf", size = 212573, upload-time = "2025-05-18T17:46:35.855Z" }, + { url = "https://files.pythonhosted.org/packages/26/ca/1c7438d66969a13938266492de65daf752754ec59f2a3f3716027c7d708f/jiter-0.9.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:95065923a49ae387bab62b1bf5f798beb12e6fb4469a079fdd0ecad64b40b272", size = 313516, upload-time = "2025-05-18T17:46:37.568Z" }, + { url = "https://files.pythonhosted.org/packages/e8/d9/3a6300309e312f8ed529ae57d565f69abdb520e4f12460cefa7996d0716c/jiter-0.9.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a179fbc5c7922844a673be35099a3036a7276dc63753c6c81a77c3cb525f2f8d", size = 308161, upload-time = "2025-05-18T17:46:39.697Z" }, + { url = "https://files.pythonhosted.org/packages/b3/91/2aca15be38514daf8f1a1460fd9c4b652ed09148fe109520298858be7928/jiter-0.9.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abd30dc5c0183d31faf30ce8279d723809c54b3fe6d95d922d4a4b31bc462799", size = 1086100, upload-time = "2025-05-18T17:46:41.176Z" }, + { url = "https://files.pythonhosted.org/packages/9f/6f/f7ba3dfe7be08bf58939324e0bb4f4aa605eff7f2c2ac140a41221cf50a4/jiter-0.9.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9765512bdeae269843e6615377f48123432da247e18048d05e9c5685377c241c", size = 1118922, upload-time = "2025-05-18T17:46:42.651Z" }, + { url = "https://files.pythonhosted.org/packages/b5/4e/b1f4d9bdba81de293e1b8672598300a9195cf3d77b0acc5f331a75695b58/jiter-0.9.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6f15cdbdc1e1e89e0d9ea581de63e03975043a4b40ab87d5554fdc440357b771", size = 1212327, upload-time = "2025-05-18T17:46:44.193Z" }, + { url = "https://files.pythonhosted.org/packages/3e/ab/e417aaf5a62067bd91c5f7ed4e5ab83bd46f349449adde1159ad8e2d3a21/jiter-0.9.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b1a639b2cfe56b5b687c678ed45d68f46dfb922c2f338fdfb227eb500053929d", size = 1220860, upload-time = "2025-05-18T17:46:45.728Z" }, + { url = "https://files.pythonhosted.org/packages/1e/50/c5ba756c641ca8ebc1e4ff07c03ce5c8ef5052b0238f514436f8de3c9fc4/jiter-0.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41955c9d83c8470de9cc64c97b04a3ffd2f32815bb2c4307f44d8e21542b74df", size = 344077, upload-time = "2025-05-18T17:46:47.49Z" }, + { url = "https://files.pythonhosted.org/packages/c6/b3/bd7d8d4bad65aa1f4a20562233080054149785c0d7f7b9027e761335d882/jiter-0.9.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f26f6d42c330e26a6ba3471b390364faad96f3ca965a6c579957810b0c078efa", size = 1148785, upload-time = "2025-05-18T17:46:48.906Z" }, + { url = "https://files.pythonhosted.org/packages/c0/12/bfd9a167709f96171312d1e0ae2c1be70a167abcc3bff6f3441967e3626a/jiter-0.9.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6a23e01bd7e918f27f02d3df8721b8a395211070a8a65aeb353209b8c72720cf", size = 1255962, upload-time = "2025-05-18T17:46:50.775Z" }, + { url = "https://files.pythonhosted.org/packages/5f/3c/3a79020862d2511b854b350bc9229cf228fd38b836e94f274ca940e22e95/jiter-0.9.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8a96ad217989dd9df661711c3fa2e6fb2601c4bbb482e89718110bdafbc16c9e", size = 1257561, upload-time = "2025-05-18T17:46:52.291Z" }, + { url = "https://files.pythonhosted.org/packages/93/d3/7f6f8e57613d4947a872980befa6af19de9252e310ea4a512eed0fe1e064/jiter-0.9.1-cp38-cp38-win32.whl", hash = "sha256:4b180e7baa4747b3834c5a9202b1ba30dc64797f45236d9142cdb2a8807763cf", size = 215019, upload-time = "2025-05-18T17:46:54.068Z" }, + { url = "https://files.pythonhosted.org/packages/9b/5d/b6f0cd60c8f702936f253644a92dee19e2c82010290e4607af462033351f/jiter-0.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:baf881de1fbc7b3343cce24f75a2ab6350e03fc13d16d00f452929788a6cdc3f", size = 199563, upload-time = "2025-05-18T17:46:55.795Z" }, + { url = "https://files.pythonhosted.org/packages/4f/3a/a8a4768af26578c87894bb130bcd6fb6c97f4cb36ed7a20a664412d41935/jiter-0.9.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:ec95aa1b433c50b2b129456b4680b239ec93206ea3f86cfd41b6a70be5beb2f3", size = 313942, upload-time = "2025-05-18T17:46:57.153Z" }, + { url = "https://files.pythonhosted.org/packages/63/74/05977891db48000d985a5f573493c43adf0f190eada670e51b92c9ed9139/jiter-0.9.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5d92cb50d135dbdd33b638fa2e0c6af25e1d635d38da13aa9ab05d021fb0c869", size = 308160, upload-time = "2025-05-18T17:46:58.439Z" }, + { url = "https://files.pythonhosted.org/packages/21/54/75f529e90442c8ad41acd8cf08323a4f3dcaa105710b2c8a1fda56e3a462/jiter-0.9.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b146dc2464f1d96007271d08bdf79288a5f1aa4aae5329eb79dcffb1181c703e", size = 1086503, upload-time = "2025-05-18T17:47:00.286Z" }, + { url = "https://files.pythonhosted.org/packages/bf/fa/02532a7ce7b712c576125d4f2614e77bc897c95b2b15e21ee25f42b3ff34/jiter-0.9.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fcf20ba858658ecd54b4710172d92009afa66d41d967c86d11607592a3c220fa", size = 1120444, upload-time = "2025-05-18T17:47:01.713Z" }, + { url = "https://files.pythonhosted.org/packages/91/c2/ab8cebaea6f2691eddcc5b6c67deb1399adbd85f12ad836f7cd77be78bf8/jiter-0.9.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:147fccc44bebdb672d4c601e9312730488b840d415e201e89c8ea0929a63dacf", size = 1212370, upload-time = "2025-05-18T17:47:03.145Z" }, + { url = "https://files.pythonhosted.org/packages/13/e3/90dddb7877b67cc0e1ddb864c2ca74314def26ff6542431a6e3061e0f805/jiter-0.9.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a428061aae26efaa6fb690ef9e7d6224aefe4eef7524165d073beb3cdad75f6f", size = 1221210, upload-time = "2025-05-18T17:47:05.042Z" }, + { url = "https://files.pythonhosted.org/packages/81/76/90ee847519a94a4a1a8bad7addce7019f424aea03c55eacf068469226760/jiter-0.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7164d92bb901784bd3c098ac0b0beae4306ea6c741dbd3a375449a8affc5366", size = 353774, upload-time = "2025-05-18T17:47:06.445Z" }, + { url = "https://files.pythonhosted.org/packages/59/a6/614a5d672d4b9c6bc9ad34579f0522577a0a78cc265069fca96543a832ca/jiter-0.9.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:93049a562233808914a2b938b0c745d7049db1667b3f42f0f5cf48e617393ba5", size = 1148581, upload-time = "2025-05-18T17:47:07.821Z" }, + { url = "https://files.pythonhosted.org/packages/2d/94/c100147c310361fa83e25c4c6ce17723532147580252962b89e6085795c2/jiter-0.9.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f6dcf2cb16cc15d82a018e20eeaf169e6f6cd8c426f4c312ebe11710c623bed2", size = 1256636, upload-time = "2025-05-18T17:47:09.189Z" }, + { url = "https://files.pythonhosted.org/packages/51/9a/dc82e218ba839052899df555e34f16b8ad1d7da9c01be208f65a5bf0083c/jiter-0.9.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2da9d485a7c526817cde9ff8b3394fa50ff5b782b86b6896378a3ba8844550f2", size = 1258099, upload-time = "2025-05-18T17:47:10.568Z" }, + { url = "https://files.pythonhosted.org/packages/58/d5/d853e069624038950265ac0e877985b249049b624e925dab6cd11035140c/jiter-0.9.1-cp39-cp39-win32.whl", hash = "sha256:ea58c155d827d24e5ba8d7958ec4738b26be0894c0881a91d88b39ff48bb06c9", size = 214611, upload-time = "2025-05-18T17:47:12.012Z" }, + { url = "https://files.pythonhosted.org/packages/cb/8d/7b6b1ee6e3d9d1a06237bbdfe4c6bb21baf323d3f70a0cc8f203de40c6b2/jiter-0.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:be2e911ecdb438951290c2079fe4190e7cc5be9e849df4caeb085b83ed620ff6", size = 211171, upload-time = "2025-05-18T17:47:13.47Z" }, +] + +[[package]] +name = "jiter" +version = "0.12.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ee/9d/ae7ddb4b8ab3fb1b51faf4deb36cb48a4fbbd7cb36bad6a5fca4741306f7/jiter-0.10.0.tar.gz", hash = "sha256:07a7142c38aacc85194391108dc91b5b57093c978a9932bd86a36862759d9500", size = 162759, upload-time = "2025-05-18T19:04:59.73Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/be/7e/4011b5c77bec97cb2b572f566220364e3e21b51c48c5bd9c4a9c26b41b67/jiter-0.10.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:cd2fb72b02478f06a900a5782de2ef47e0396b3e1f7d5aba30daeb1fce66f303", size = 317215, upload-time = "2025-05-18T19:03:04.303Z" }, - { url = "https://files.pythonhosted.org/packages/8a/4f/144c1b57c39692efc7ea7d8e247acf28e47d0912800b34d0ad815f6b2824/jiter-0.10.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:32bb468e3af278f095d3fa5b90314728a6916d89ba3d0ffb726dd9bf7367285e", size = 322814, upload-time = "2025-05-18T19:03:06.433Z" }, - { url = "https://files.pythonhosted.org/packages/63/1f/db977336d332a9406c0b1f0b82be6f71f72526a806cbb2281baf201d38e3/jiter-0.10.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa8b3e0068c26ddedc7abc6fac37da2d0af16b921e288a5a613f4b86f050354f", size = 345237, upload-time = "2025-05-18T19:03:07.833Z" }, - { url = "https://files.pythonhosted.org/packages/d7/1c/aa30a4a775e8a672ad7f21532bdbfb269f0706b39c6ff14e1f86bdd9e5ff/jiter-0.10.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:286299b74cc49e25cd42eea19b72aa82c515d2f2ee12d11392c56d8701f52224", size = 370999, upload-time = "2025-05-18T19:03:09.338Z" }, - { url = "https://files.pythonhosted.org/packages/35/df/f8257abc4207830cb18880781b5f5b716bad5b2a22fb4330cfd357407c5b/jiter-0.10.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6ed5649ceeaeffc28d87fb012d25a4cd356dcd53eff5acff1f0466b831dda2a7", size = 491109, upload-time = "2025-05-18T19:03:11.13Z" }, - { url = "https://files.pythonhosted.org/packages/06/76/9e1516fd7b4278aa13a2cc7f159e56befbea9aa65c71586305e7afa8b0b3/jiter-0.10.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2ab0051160cb758a70716448908ef14ad476c3774bd03ddce075f3c1f90a3d6", size = 388608, upload-time = "2025-05-18T19:03:12.911Z" }, - { url = "https://files.pythonhosted.org/packages/6d/64/67750672b4354ca20ca18d3d1ccf2c62a072e8a2d452ac3cf8ced73571ef/jiter-0.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:03997d2f37f6b67d2f5c475da4412be584e1cec273c1cfc03d642c46db43f8cf", size = 352454, upload-time = "2025-05-18T19:03:14.741Z" }, - { url = "https://files.pythonhosted.org/packages/96/4d/5c4e36d48f169a54b53a305114be3efa2bbffd33b648cd1478a688f639c1/jiter-0.10.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c404a99352d839fed80d6afd6c1d66071f3bacaaa5c4268983fc10f769112e90", size = 391833, upload-time = "2025-05-18T19:03:16.426Z" }, - { url = "https://files.pythonhosted.org/packages/0b/de/ce4a6166a78810bd83763d2fa13f85f73cbd3743a325469a4a9289af6dae/jiter-0.10.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:66e989410b6666d3ddb27a74c7e50d0829704ede652fd4c858e91f8d64b403d0", size = 523646, upload-time = "2025-05-18T19:03:17.704Z" }, - { url = "https://files.pythonhosted.org/packages/a2/a6/3bc9acce53466972964cf4ad85efecb94f9244539ab6da1107f7aed82934/jiter-0.10.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:b532d3af9ef4f6374609a3bcb5e05a1951d3bf6190dc6b176fdb277c9bbf15ee", size = 514735, upload-time = "2025-05-18T19:03:19.44Z" }, - { url = "https://files.pythonhosted.org/packages/b4/d8/243c2ab8426a2a4dea85ba2a2ba43df379ccece2145320dfd4799b9633c5/jiter-0.10.0-cp310-cp310-win32.whl", hash = "sha256:da9be20b333970e28b72edc4dff63d4fec3398e05770fb3205f7fb460eb48dd4", size = 210747, upload-time = "2025-05-18T19:03:21.184Z" }, - { url = "https://files.pythonhosted.org/packages/37/7a/8021bd615ef7788b98fc76ff533eaac846322c170e93cbffa01979197a45/jiter-0.10.0-cp310-cp310-win_amd64.whl", hash = "sha256:f59e533afed0c5b0ac3eba20d2548c4a550336d8282ee69eb07b37ea526ee4e5", size = 207484, upload-time = "2025-05-18T19:03:23.046Z" }, - { url = "https://files.pythonhosted.org/packages/1b/dd/6cefc6bd68b1c3c979cecfa7029ab582b57690a31cd2f346c4d0ce7951b6/jiter-0.10.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:3bebe0c558e19902c96e99217e0b8e8b17d570906e72ed8a87170bc290b1e978", size = 317473, upload-time = "2025-05-18T19:03:25.942Z" }, - { url = "https://files.pythonhosted.org/packages/be/cf/fc33f5159ce132be1d8dd57251a1ec7a631c7df4bd11e1cd198308c6ae32/jiter-0.10.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:558cc7e44fd8e507a236bee6a02fa17199ba752874400a0ca6cd6e2196cdb7dc", size = 321971, upload-time = "2025-05-18T19:03:27.255Z" }, - { url = "https://files.pythonhosted.org/packages/68/a4/da3f150cf1d51f6c472616fb7650429c7ce053e0c962b41b68557fdf6379/jiter-0.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d613e4b379a07d7c8453c5712ce7014e86c6ac93d990a0b8e7377e18505e98d", size = 345574, upload-time = "2025-05-18T19:03:28.63Z" }, - { url = "https://files.pythonhosted.org/packages/84/34/6e8d412e60ff06b186040e77da5f83bc158e9735759fcae65b37d681f28b/jiter-0.10.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f62cf8ba0618eda841b9bf61797f21c5ebd15a7a1e19daab76e4e4b498d515b2", size = 371028, upload-time = "2025-05-18T19:03:30.292Z" }, - { url = "https://files.pythonhosted.org/packages/fb/d9/9ee86173aae4576c35a2f50ae930d2ccb4c4c236f6cb9353267aa1d626b7/jiter-0.10.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:919d139cdfa8ae8945112398511cb7fca58a77382617d279556b344867a37e61", size = 491083, upload-time = "2025-05-18T19:03:31.654Z" }, - { url = "https://files.pythonhosted.org/packages/d9/2c/f955de55e74771493ac9e188b0f731524c6a995dffdcb8c255b89c6fb74b/jiter-0.10.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:13ddbc6ae311175a3b03bd8994881bc4635c923754932918e18da841632349db", size = 388821, upload-time = "2025-05-18T19:03:33.184Z" }, - { url = "https://files.pythonhosted.org/packages/81/5a/0e73541b6edd3f4aada586c24e50626c7815c561a7ba337d6a7eb0a915b4/jiter-0.10.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c440ea003ad10927a30521a9062ce10b5479592e8a70da27f21eeb457b4a9c5", size = 352174, upload-time = "2025-05-18T19:03:34.965Z" }, - { url = "https://files.pythonhosted.org/packages/1c/c0/61eeec33b8c75b31cae42be14d44f9e6fe3ac15a4e58010256ac3abf3638/jiter-0.10.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:dc347c87944983481e138dea467c0551080c86b9d21de6ea9306efb12ca8f606", size = 391869, upload-time = "2025-05-18T19:03:36.436Z" }, - { url = "https://files.pythonhosted.org/packages/41/22/5beb5ee4ad4ef7d86f5ea5b4509f680a20706c4a7659e74344777efb7739/jiter-0.10.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:13252b58c1f4d8c5b63ab103c03d909e8e1e7842d302473f482915d95fefd605", size = 523741, upload-time = "2025-05-18T19:03:38.168Z" }, - { url = "https://files.pythonhosted.org/packages/ea/10/768e8818538e5817c637b0df52e54366ec4cebc3346108a4457ea7a98f32/jiter-0.10.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7d1bbf3c465de4a24ab12fb7766a0003f6f9bce48b8b6a886158c4d569452dc5", size = 514527, upload-time = "2025-05-18T19:03:39.577Z" }, - { url = "https://files.pythonhosted.org/packages/73/6d/29b7c2dc76ce93cbedabfd842fc9096d01a0550c52692dfc33d3cc889815/jiter-0.10.0-cp311-cp311-win32.whl", hash = "sha256:db16e4848b7e826edca4ccdd5b145939758dadf0dc06e7007ad0e9cfb5928ae7", size = 210765, upload-time = "2025-05-18T19:03:41.271Z" }, - { url = "https://files.pythonhosted.org/packages/c2/c9/d394706deb4c660137caf13e33d05a031d734eb99c051142e039d8ceb794/jiter-0.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:9c9c1d5f10e18909e993f9641f12fe1c77b3e9b533ee94ffa970acc14ded3812", size = 209234, upload-time = "2025-05-18T19:03:42.918Z" }, - { url = "https://files.pythonhosted.org/packages/6d/b5/348b3313c58f5fbfb2194eb4d07e46a35748ba6e5b3b3046143f3040bafa/jiter-0.10.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1e274728e4a5345a6dde2d343c8da018b9d4bd4350f5a472fa91f66fda44911b", size = 312262, upload-time = "2025-05-18T19:03:44.637Z" }, - { url = "https://files.pythonhosted.org/packages/9c/4a/6a2397096162b21645162825f058d1709a02965606e537e3304b02742e9b/jiter-0.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7202ae396446c988cb2a5feb33a543ab2165b786ac97f53b59aafb803fef0744", size = 320124, upload-time = "2025-05-18T19:03:46.341Z" }, - { url = "https://files.pythonhosted.org/packages/2a/85/1ce02cade7516b726dd88f59a4ee46914bf79d1676d1228ef2002ed2f1c9/jiter-0.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23ba7722d6748b6920ed02a8f1726fb4b33e0fd2f3f621816a8b486c66410ab2", size = 345330, upload-time = "2025-05-18T19:03:47.596Z" }, - { url = "https://files.pythonhosted.org/packages/75/d0/bb6b4f209a77190ce10ea8d7e50bf3725fc16d3372d0a9f11985a2b23eff/jiter-0.10.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:371eab43c0a288537d30e1f0b193bc4eca90439fc08a022dd83e5e07500ed026", size = 369670, upload-time = "2025-05-18T19:03:49.334Z" }, - { url = "https://files.pythonhosted.org/packages/a0/f5/a61787da9b8847a601e6827fbc42ecb12be2c925ced3252c8ffcb56afcaf/jiter-0.10.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c675736059020365cebc845a820214765162728b51ab1e03a1b7b3abb70f74c", size = 489057, upload-time = "2025-05-18T19:03:50.66Z" }, - { url = "https://files.pythonhosted.org/packages/12/e4/6f906272810a7b21406c760a53aadbe52e99ee070fc5c0cb191e316de30b/jiter-0.10.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c5867d40ab716e4684858e4887489685968a47e3ba222e44cde6e4a2154f959", size = 389372, upload-time = "2025-05-18T19:03:51.98Z" }, - { url = "https://files.pythonhosted.org/packages/e2/ba/77013b0b8ba904bf3762f11e0129b8928bff7f978a81838dfcc958ad5728/jiter-0.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:395bb9a26111b60141757d874d27fdea01b17e8fac958b91c20128ba8f4acc8a", size = 352038, upload-time = "2025-05-18T19:03:53.703Z" }, - { url = "https://files.pythonhosted.org/packages/67/27/c62568e3ccb03368dbcc44a1ef3a423cb86778a4389e995125d3d1aaa0a4/jiter-0.10.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6842184aed5cdb07e0c7e20e5bdcfafe33515ee1741a6835353bb45fe5d1bd95", size = 391538, upload-time = "2025-05-18T19:03:55.046Z" }, - { url = "https://files.pythonhosted.org/packages/c0/72/0d6b7e31fc17a8fdce76164884edef0698ba556b8eb0af9546ae1a06b91d/jiter-0.10.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:62755d1bcea9876770d4df713d82606c8c1a3dca88ff39046b85a048566d56ea", size = 523557, upload-time = "2025-05-18T19:03:56.386Z" }, - { url = "https://files.pythonhosted.org/packages/2f/09/bc1661fbbcbeb6244bd2904ff3a06f340aa77a2b94e5a7373fd165960ea3/jiter-0.10.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:533efbce2cacec78d5ba73a41756beff8431dfa1694b6346ce7af3a12c42202b", size = 514202, upload-time = "2025-05-18T19:03:57.675Z" }, - { url = "https://files.pythonhosted.org/packages/1b/84/5a5d5400e9d4d54b8004c9673bbe4403928a00d28529ff35b19e9d176b19/jiter-0.10.0-cp312-cp312-win32.whl", hash = "sha256:8be921f0cadd245e981b964dfbcd6fd4bc4e254cdc069490416dd7a2632ecc01", size = 211781, upload-time = "2025-05-18T19:03:59.025Z" }, - { url = "https://files.pythonhosted.org/packages/9b/52/7ec47455e26f2d6e5f2ea4951a0652c06e5b995c291f723973ae9e724a65/jiter-0.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:a7c7d785ae9dda68c2678532a5a1581347e9c15362ae9f6e68f3fdbfb64f2e49", size = 206176, upload-time = "2025-05-18T19:04:00.305Z" }, - { url = "https://files.pythonhosted.org/packages/2e/b0/279597e7a270e8d22623fea6c5d4eeac328e7d95c236ed51a2b884c54f70/jiter-0.10.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:e0588107ec8e11b6f5ef0e0d656fb2803ac6cf94a96b2b9fc675c0e3ab5e8644", size = 311617, upload-time = "2025-05-18T19:04:02.078Z" }, - { url = "https://files.pythonhosted.org/packages/91/e3/0916334936f356d605f54cc164af4060e3e7094364add445a3bc79335d46/jiter-0.10.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cafc4628b616dc32530c20ee53d71589816cf385dd9449633e910d596b1f5c8a", size = 318947, upload-time = "2025-05-18T19:04:03.347Z" }, - { url = "https://files.pythonhosted.org/packages/6a/8e/fd94e8c02d0e94539b7d669a7ebbd2776e51f329bb2c84d4385e8063a2ad/jiter-0.10.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:520ef6d981172693786a49ff5b09eda72a42e539f14788124a07530f785c3ad6", size = 344618, upload-time = "2025-05-18T19:04:04.709Z" }, - { url = "https://files.pythonhosted.org/packages/6f/b0/f9f0a2ec42c6e9c2e61c327824687f1e2415b767e1089c1d9135f43816bd/jiter-0.10.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:554dedfd05937f8fc45d17ebdf298fe7e0c77458232bcb73d9fbbf4c6455f5b3", size = 368829, upload-time = "2025-05-18T19:04:06.912Z" }, - { url = "https://files.pythonhosted.org/packages/e8/57/5bbcd5331910595ad53b9fd0c610392ac68692176f05ae48d6ce5c852967/jiter-0.10.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5bc299da7789deacf95f64052d97f75c16d4fc8c4c214a22bf8d859a4288a1c2", size = 491034, upload-time = "2025-05-18T19:04:08.222Z" }, - { url = "https://files.pythonhosted.org/packages/9b/be/c393df00e6e6e9e623a73551774449f2f23b6ec6a502a3297aeeece2c65a/jiter-0.10.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5161e201172de298a8a1baad95eb85db4fb90e902353b1f6a41d64ea64644e25", size = 388529, upload-time = "2025-05-18T19:04:09.566Z" }, - { url = "https://files.pythonhosted.org/packages/42/3e/df2235c54d365434c7f150b986a6e35f41ebdc2f95acea3036d99613025d/jiter-0.10.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2e2227db6ba93cb3e2bf67c87e594adde0609f146344e8207e8730364db27041", size = 350671, upload-time = "2025-05-18T19:04:10.98Z" }, - { url = "https://files.pythonhosted.org/packages/c6/77/71b0b24cbcc28f55ab4dbfe029f9a5b73aeadaba677843fc6dc9ed2b1d0a/jiter-0.10.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:15acb267ea5e2c64515574b06a8bf393fbfee6a50eb1673614aa45f4613c0cca", size = 390864, upload-time = "2025-05-18T19:04:12.722Z" }, - { url = "https://files.pythonhosted.org/packages/6a/d3/ef774b6969b9b6178e1d1e7a89a3bd37d241f3d3ec5f8deb37bbd203714a/jiter-0.10.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:901b92f2e2947dc6dfcb52fd624453862e16665ea909a08398dde19c0731b7f4", size = 522989, upload-time = "2025-05-18T19:04:14.261Z" }, - { url = "https://files.pythonhosted.org/packages/0c/41/9becdb1d8dd5d854142f45a9d71949ed7e87a8e312b0bede2de849388cb9/jiter-0.10.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:d0cb9a125d5a3ec971a094a845eadde2db0de85b33c9f13eb94a0c63d463879e", size = 513495, upload-time = "2025-05-18T19:04:15.603Z" }, - { url = "https://files.pythonhosted.org/packages/9c/36/3468e5a18238bdedae7c4d19461265b5e9b8e288d3f86cd89d00cbb48686/jiter-0.10.0-cp313-cp313-win32.whl", hash = "sha256:48a403277ad1ee208fb930bdf91745e4d2d6e47253eedc96e2559d1e6527006d", size = 211289, upload-time = "2025-05-18T19:04:17.541Z" }, - { url = "https://files.pythonhosted.org/packages/7e/07/1c96b623128bcb913706e294adb5f768fb7baf8db5e1338ce7b4ee8c78ef/jiter-0.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:75f9eb72ecb640619c29bf714e78c9c46c9c4eaafd644bf78577ede459f330d4", size = 205074, upload-time = "2025-05-18T19:04:19.21Z" }, - { url = "https://files.pythonhosted.org/packages/54/46/caa2c1342655f57d8f0f2519774c6d67132205909c65e9aa8255e1d7b4f4/jiter-0.10.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:28ed2a4c05a1f32ef0e1d24c2611330219fed727dae01789f4a335617634b1ca", size = 318225, upload-time = "2025-05-18T19:04:20.583Z" }, - { url = "https://files.pythonhosted.org/packages/43/84/c7d44c75767e18946219ba2d703a5a32ab37b0bc21886a97bc6062e4da42/jiter-0.10.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14a4c418b1ec86a195f1ca69da8b23e8926c752b685af665ce30777233dfe070", size = 350235, upload-time = "2025-05-18T19:04:22.363Z" }, - { url = "https://files.pythonhosted.org/packages/01/16/f5a0135ccd968b480daad0e6ab34b0c7c5ba3bc447e5088152696140dcb3/jiter-0.10.0-cp313-cp313t-win_amd64.whl", hash = "sha256:d7bfed2fe1fe0e4dda6ef682cee888ba444b21e7a6553e03252e4feb6cf0adca", size = 207278, upload-time = "2025-05-18T19:04:23.627Z" }, - { url = "https://files.pythonhosted.org/packages/1c/9b/1d646da42c3de6c2188fdaa15bce8ecb22b635904fc68be025e21249ba44/jiter-0.10.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:5e9251a5e83fab8d87799d3e1a46cb4b7f2919b895c6f4483629ed2446f66522", size = 310866, upload-time = "2025-05-18T19:04:24.891Z" }, - { url = "https://files.pythonhosted.org/packages/ad/0e/26538b158e8a7c7987e94e7aeb2999e2e82b1f9d2e1f6e9874ddf71ebda0/jiter-0.10.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:023aa0204126fe5b87ccbcd75c8a0d0261b9abdbbf46d55e7ae9f8e22424eeb8", size = 318772, upload-time = "2025-05-18T19:04:26.161Z" }, - { url = "https://files.pythonhosted.org/packages/7b/fb/d302893151caa1c2636d6574d213e4b34e31fd077af6050a9c5cbb42f6fb/jiter-0.10.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c189c4f1779c05f75fc17c0c1267594ed918996a231593a21a5ca5438445216", size = 344534, upload-time = "2025-05-18T19:04:27.495Z" }, - { url = "https://files.pythonhosted.org/packages/01/d8/5780b64a149d74e347c5128d82176eb1e3241b1391ac07935693466d6219/jiter-0.10.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:15720084d90d1098ca0229352607cd68256c76991f6b374af96f36920eae13c4", size = 369087, upload-time = "2025-05-18T19:04:28.896Z" }, - { url = "https://files.pythonhosted.org/packages/e8/5b/f235a1437445160e777544f3ade57544daf96ba7e96c1a5b24a6f7ac7004/jiter-0.10.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e4f2fb68e5f1cfee30e2b2a09549a00683e0fde4c6a2ab88c94072fc33cb7426", size = 490694, upload-time = "2025-05-18T19:04:30.183Z" }, - { url = "https://files.pythonhosted.org/packages/85/a9/9c3d4617caa2ff89cf61b41e83820c27ebb3f7b5fae8a72901e8cd6ff9be/jiter-0.10.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ce541693355fc6da424c08b7edf39a2895f58d6ea17d92cc2b168d20907dee12", size = 388992, upload-time = "2025-05-18T19:04:32.028Z" }, - { url = "https://files.pythonhosted.org/packages/68/b1/344fd14049ba5c94526540af7eb661871f9c54d5f5601ff41a959b9a0bbd/jiter-0.10.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31c50c40272e189d50006ad5c73883caabb73d4e9748a688b216e85a9a9ca3b9", size = 351723, upload-time = "2025-05-18T19:04:33.467Z" }, - { url = "https://files.pythonhosted.org/packages/41/89/4c0e345041186f82a31aee7b9d4219a910df672b9fef26f129f0cda07a29/jiter-0.10.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fa3402a2ff9815960e0372a47b75c76979d74402448509ccd49a275fa983ef8a", size = 392215, upload-time = "2025-05-18T19:04:34.827Z" }, - { url = "https://files.pythonhosted.org/packages/55/58/ee607863e18d3f895feb802154a2177d7e823a7103f000df182e0f718b38/jiter-0.10.0-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:1956f934dca32d7bb647ea21d06d93ca40868b505c228556d3373cbd255ce853", size = 522762, upload-time = "2025-05-18T19:04:36.19Z" }, - { url = "https://files.pythonhosted.org/packages/15/d0/9123fb41825490d16929e73c212de9a42913d68324a8ce3c8476cae7ac9d/jiter-0.10.0-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:fcedb049bdfc555e261d6f65a6abe1d5ad68825b7202ccb9692636c70fcced86", size = 513427, upload-time = "2025-05-18T19:04:37.544Z" }, - { url = "https://files.pythonhosted.org/packages/d8/b3/2bd02071c5a2430d0b70403a34411fc519c2f227da7b03da9ba6a956f931/jiter-0.10.0-cp314-cp314-win32.whl", hash = "sha256:ac509f7eccca54b2a29daeb516fb95b6f0bd0d0d8084efaf8ed5dfc7b9f0b357", size = 210127, upload-time = "2025-05-18T19:04:38.837Z" }, - { url = "https://files.pythonhosted.org/packages/03/0c/5fe86614ea050c3ecd728ab4035534387cd41e7c1855ef6c031f1ca93e3f/jiter-0.10.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5ed975b83a2b8639356151cef5c0d597c68376fc4922b45d0eb384ac058cfa00", size = 318527, upload-time = "2025-05-18T19:04:40.612Z" }, - { url = "https://files.pythonhosted.org/packages/b3/4a/4175a563579e884192ba6e81725fc0448b042024419be8d83aa8a80a3f44/jiter-0.10.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3aa96f2abba33dc77f79b4cf791840230375f9534e5fac927ccceb58c5e604a5", size = 354213, upload-time = "2025-05-18T19:04:41.894Z" }, - { url = "https://files.pythonhosted.org/packages/98/fd/aced428e2bd3c6c1132f67c5a708f9e7fd161d0ca8f8c5862b17b93cdf0a/jiter-0.10.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:bd6292a43c0fc09ce7c154ec0fa646a536b877d1e8f2f96c19707f65355b5a4d", size = 317665, upload-time = "2025-05-18T19:04:43.417Z" }, - { url = "https://files.pythonhosted.org/packages/b6/2e/47d42f15d53ed382aef8212a737101ae2720e3697a954f9b95af06d34e89/jiter-0.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:39de429dcaeb6808d75ffe9effefe96a4903c6a4b376b2f6d08d77c1aaee2f18", size = 312152, upload-time = "2025-05-18T19:04:44.797Z" }, - { url = "https://files.pythonhosted.org/packages/7b/02/aae834228ef4834fc18718724017995ace8da5f70aa1ec225b9bc2b2d7aa/jiter-0.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52ce124f13a7a616fad3bb723f2bfb537d78239d1f7f219566dc52b6f2a9e48d", size = 346708, upload-time = "2025-05-18T19:04:46.127Z" }, - { url = "https://files.pythonhosted.org/packages/35/d4/6ff39dee2d0a9abd69d8a3832ce48a3aa644eed75e8515b5ff86c526ca9a/jiter-0.10.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:166f3606f11920f9a1746b2eea84fa2c0a5d50fd313c38bdea4edc072000b0af", size = 371360, upload-time = "2025-05-18T19:04:47.448Z" }, - { url = "https://files.pythonhosted.org/packages/a9/67/c749d962b4eb62445867ae4e64a543cbb5d63cc7d78ada274ac515500a7f/jiter-0.10.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:28dcecbb4ba402916034fc14eba7709f250c4d24b0c43fc94d187ee0580af181", size = 492105, upload-time = "2025-05-18T19:04:48.792Z" }, - { url = "https://files.pythonhosted.org/packages/f6/d3/8fe1b1bae5161f27b1891c256668f598fa4c30c0a7dacd668046a6215fca/jiter-0.10.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86c5aa6910f9bebcc7bc4f8bc461aff68504388b43bfe5e5c0bd21efa33b52f4", size = 389577, upload-time = "2025-05-18T19:04:50.13Z" }, - { url = "https://files.pythonhosted.org/packages/ef/28/ecb19d789b4777898a4252bfaac35e3f8caf16c93becd58dcbaac0dc24ad/jiter-0.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ceeb52d242b315d7f1f74b441b6a167f78cea801ad7c11c36da77ff2d42e8a28", size = 353849, upload-time = "2025-05-18T19:04:51.443Z" }, - { url = "https://files.pythonhosted.org/packages/77/69/261f798f84790da6482ebd8c87ec976192b8c846e79444d0a2e0d33ebed8/jiter-0.10.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ff76d8887c8c8ee1e772274fcf8cc1071c2c58590d13e33bd12d02dc9a560397", size = 392029, upload-time = "2025-05-18T19:04:52.792Z" }, - { url = "https://files.pythonhosted.org/packages/cb/08/b8d15140d4d91f16faa2f5d416c1a71ab1bbe2b66c57197b692d04c0335f/jiter-0.10.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a9be4d0fa2b79f7222a88aa488bd89e2ae0a0a5b189462a12def6ece2faa45f1", size = 524386, upload-time = "2025-05-18T19:04:54.203Z" }, - { url = "https://files.pythonhosted.org/packages/9b/1d/23c41765cc95c0e23ac492a88450d34bf0fd87a37218d1b97000bffe0f53/jiter-0.10.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9ab7fd8738094139b6c1ab1822d6f2000ebe41515c537235fd45dabe13ec9324", size = 515234, upload-time = "2025-05-18T19:04:55.838Z" }, - { url = "https://files.pythonhosted.org/packages/9f/14/381d8b151132e79790579819c3775be32820569f23806769658535fe467f/jiter-0.10.0-cp39-cp39-win32.whl", hash = "sha256:5f51e048540dd27f204ff4a87f5d79294ea0aa3aa552aca34934588cf27023cf", size = 211436, upload-time = "2025-05-18T19:04:57.183Z" }, - { url = "https://files.pythonhosted.org/packages/59/66/f23ae51dea8ee8ce429027b60008ca895d0fa0704f0c7fe5f09014a6cffb/jiter-0.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:1b28302349dc65703a9e4ead16f163b1c339efffbe1049c30a44b001a2a4fff9", size = 208777, upload-time = "2025-05-18T19:04:58.454Z" }, +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/45/9d/e0660989c1370e25848bb4c52d061c71837239738ad937e83edca174c273/jiter-0.12.0.tar.gz", hash = "sha256:64dfcd7d5c168b38d3f9f8bba7fc639edb3418abcc74f22fdbe6b8938293f30b", size = 168294, upload-time = "2025-11-09T20:49:23.302Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3b/91/13cb9505f7be74a933f37da3af22e029f6ba64f5669416cb8b2774bc9682/jiter-0.12.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:e7acbaba9703d5de82a2c98ae6a0f59ab9770ab5af5fa35e43a303aee962cf65", size = 316652, upload-time = "2025-11-09T20:46:41.021Z" }, + { url = "https://files.pythonhosted.org/packages/4e/76/4e9185e5d9bb4e482cf6dec6410d5f78dfeb374cfcecbbe9888d07c52daa/jiter-0.12.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:364f1a7294c91281260364222f535bc427f56d4de1d8ffd718162d21fbbd602e", size = 319829, upload-time = "2025-11-09T20:46:43.281Z" }, + { url = "https://files.pythonhosted.org/packages/86/af/727de50995d3a153138139f259baae2379d8cb0522c0c00419957bc478a6/jiter-0.12.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85ee4d25805d4fb23f0a5167a962ef8e002dbfb29c0989378488e32cf2744b62", size = 350568, upload-time = "2025-11-09T20:46:45.075Z" }, + { url = "https://files.pythonhosted.org/packages/6a/c1/d6e9f4b7a3d5ac63bcbdfddeb50b2dcfbdc512c86cffc008584fdc350233/jiter-0.12.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:796f466b7942107eb889c08433b6e31b9a7ed31daceaecf8af1be26fb26c0ca8", size = 369052, upload-time = "2025-11-09T20:46:46.818Z" }, + { url = "https://files.pythonhosted.org/packages/eb/be/00824cd530f30ed73fa8a4f9f3890a705519e31ccb9e929f1e22062e7c76/jiter-0.12.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:35506cb71f47dba416694e67af996bbdefb8e3608f1f78799c2e1f9058b01ceb", size = 481585, upload-time = "2025-11-09T20:46:48.319Z" }, + { url = "https://files.pythonhosted.org/packages/74/b6/2ad7990dff9504d4b5052eef64aa9574bd03d722dc7edced97aad0d47be7/jiter-0.12.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:726c764a90c9218ec9e4f99a33d6bf5ec169163f2ca0fc21b654e88c2abc0abc", size = 380541, upload-time = "2025-11-09T20:46:49.643Z" }, + { url = "https://files.pythonhosted.org/packages/b5/c7/f3c26ecbc1adbf1db0d6bba99192143d8fe8504729d9594542ecc4445784/jiter-0.12.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:baa47810c5565274810b726b0dc86d18dce5fd17b190ebdc3890851d7b2a0e74", size = 364423, upload-time = "2025-11-09T20:46:51.731Z" }, + { url = "https://files.pythonhosted.org/packages/18/51/eac547bf3a2d7f7e556927278e14c56a0604b8cddae75815d5739f65f81d/jiter-0.12.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f8ec0259d3f26c62aed4d73b198c53e316ae11f0f69c8fbe6682c6dcfa0fcce2", size = 389958, upload-time = "2025-11-09T20:46:53.432Z" }, + { url = "https://files.pythonhosted.org/packages/2c/1f/9ca592e67175f2db156cff035e0d817d6004e293ee0c1d73692d38fcb596/jiter-0.12.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:79307d74ea83465b0152fa23e5e297149506435535282f979f18b9033c0bb025", size = 522084, upload-time = "2025-11-09T20:46:54.848Z" }, + { url = "https://files.pythonhosted.org/packages/83/ff/597d9cdc3028f28224f53e1a9d063628e28b7a5601433e3196edda578cdd/jiter-0.12.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:cf6e6dd18927121fec86739f1a8906944703941d000f0639f3eb6281cc601dca", size = 513054, upload-time = "2025-11-09T20:46:56.487Z" }, + { url = "https://files.pythonhosted.org/packages/24/6d/1970bce1351bd02e3afcc5f49e4f7ef3dabd7fb688f42be7e8091a5b809a/jiter-0.12.0-cp310-cp310-win32.whl", hash = "sha256:b6ae2aec8217327d872cbfb2c1694489057b9433afce447955763e6ab015b4c4", size = 206368, upload-time = "2025-11-09T20:46:58.638Z" }, + { url = "https://files.pythonhosted.org/packages/e3/6b/eb1eb505b2d86709b59ec06681a2b14a94d0941db091f044b9f0e16badc0/jiter-0.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:c7f49ce90a71e44f7e1aa9e7ec415b9686bbc6a5961e57eab511015e6759bc11", size = 204847, upload-time = "2025-11-09T20:47:00.295Z" }, + { url = "https://files.pythonhosted.org/packages/32/f9/eaca4633486b527ebe7e681c431f529b63fe2709e7c5242fc0f43f77ce63/jiter-0.12.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d8f8a7e317190b2c2d60eb2e8aa835270b008139562d70fe732e1c0020ec53c9", size = 316435, upload-time = "2025-11-09T20:47:02.087Z" }, + { url = "https://files.pythonhosted.org/packages/10/c1/40c9f7c22f5e6ff715f28113ebaba27ab85f9af2660ad6e1dd6425d14c19/jiter-0.12.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2218228a077e784c6c8f1a8e5d6b8cb1dea62ce25811c356364848554b2056cd", size = 320548, upload-time = "2025-11-09T20:47:03.409Z" }, + { url = "https://files.pythonhosted.org/packages/6b/1b/efbb68fe87e7711b00d2cfd1f26bb4bfc25a10539aefeaa7727329ffb9cb/jiter-0.12.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9354ccaa2982bf2188fd5f57f79f800ef622ec67beb8329903abf6b10da7d423", size = 351915, upload-time = "2025-11-09T20:47:05.171Z" }, + { url = "https://files.pythonhosted.org/packages/15/2d/c06e659888c128ad1e838123d0638f0efad90cc30860cb5f74dd3f2fc0b3/jiter-0.12.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8f2607185ea89b4af9a604d4c7ec40e45d3ad03ee66998b031134bc510232bb7", size = 368966, upload-time = "2025-11-09T20:47:06.508Z" }, + { url = "https://files.pythonhosted.org/packages/6b/20/058db4ae5fb07cf6a4ab2e9b9294416f606d8e467fb74c2184b2a1eeacba/jiter-0.12.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3a585a5e42d25f2e71db5f10b171f5e5ea641d3aa44f7df745aa965606111cc2", size = 482047, upload-time = "2025-11-09T20:47:08.382Z" }, + { url = "https://files.pythonhosted.org/packages/49/bb/dc2b1c122275e1de2eb12905015d61e8316b2f888bdaac34221c301495d6/jiter-0.12.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bd9e21d34edff5a663c631f850edcb786719c960ce887a5661e9c828a53a95d9", size = 380835, upload-time = "2025-11-09T20:47:09.81Z" }, + { url = "https://files.pythonhosted.org/packages/23/7d/38f9cd337575349de16da575ee57ddb2d5a64d425c9367f5ef9e4612e32e/jiter-0.12.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a612534770470686cd5431478dc5a1b660eceb410abade6b1b74e320ca98de6", size = 364587, upload-time = "2025-11-09T20:47:11.529Z" }, + { url = "https://files.pythonhosted.org/packages/f0/a3/b13e8e61e70f0bb06085099c4e2462647f53cc2ca97614f7fedcaa2bb9f3/jiter-0.12.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3985aea37d40a908f887b34d05111e0aae822943796ebf8338877fee2ab67725", size = 390492, upload-time = "2025-11-09T20:47:12.993Z" }, + { url = "https://files.pythonhosted.org/packages/07/71/e0d11422ed027e21422f7bc1883c61deba2d9752b720538430c1deadfbca/jiter-0.12.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b1207af186495f48f72529f8d86671903c8c10127cac6381b11dddc4aaa52df6", size = 522046, upload-time = "2025-11-09T20:47:14.6Z" }, + { url = "https://files.pythonhosted.org/packages/9f/59/b968a9aa7102a8375dbbdfbd2aeebe563c7e5dddf0f47c9ef1588a97e224/jiter-0.12.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ef2fb241de583934c9915a33120ecc06d94aa3381a134570f59eed784e87001e", size = 513392, upload-time = "2025-11-09T20:47:16.011Z" }, + { url = "https://files.pythonhosted.org/packages/ca/e4/7df62002499080dbd61b505c5cb351aa09e9959d176cac2aa8da6f93b13b/jiter-0.12.0-cp311-cp311-win32.whl", hash = "sha256:453b6035672fecce8007465896a25b28a6b59cfe8fbc974b2563a92f5a92a67c", size = 206096, upload-time = "2025-11-09T20:47:17.344Z" }, + { url = "https://files.pythonhosted.org/packages/bb/60/1032b30ae0572196b0de0e87dce3b6c26a1eff71aad5fe43dee3082d32e0/jiter-0.12.0-cp311-cp311-win_amd64.whl", hash = "sha256:ca264b9603973c2ad9435c71a8ec8b49f8f715ab5ba421c85a51cde9887e421f", size = 204899, upload-time = "2025-11-09T20:47:19.365Z" }, + { url = "https://files.pythonhosted.org/packages/49/d5/c145e526fccdb834063fb45c071df78b0cc426bbaf6de38b0781f45d956f/jiter-0.12.0-cp311-cp311-win_arm64.whl", hash = "sha256:cb00ef392e7d684f2754598c02c409f376ddcef857aae796d559e6cacc2d78a5", size = 188070, upload-time = "2025-11-09T20:47:20.75Z" }, + { url = "https://files.pythonhosted.org/packages/92/c9/5b9f7b4983f1b542c64e84165075335e8a236fa9e2ea03a0c79780062be8/jiter-0.12.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:305e061fa82f4680607a775b2e8e0bcb071cd2205ac38e6ef48c8dd5ebe1cf37", size = 314449, upload-time = "2025-11-09T20:47:22.999Z" }, + { url = "https://files.pythonhosted.org/packages/98/6e/e8efa0e78de00db0aee82c0cf9e8b3f2027efd7f8a71f859d8f4be8e98ef/jiter-0.12.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5c1860627048e302a528333c9307c818c547f214d8659b0705d2195e1a94b274", size = 319855, upload-time = "2025-11-09T20:47:24.779Z" }, + { url = "https://files.pythonhosted.org/packages/20/26/894cd88e60b5d58af53bec5c6759d1292bd0b37a8b5f60f07abf7a63ae5f/jiter-0.12.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df37577a4f8408f7e0ec3205d2a8f87672af8f17008358063a4d6425b6081ce3", size = 350171, upload-time = "2025-11-09T20:47:26.469Z" }, + { url = "https://files.pythonhosted.org/packages/f5/27/a7b818b9979ac31b3763d25f3653ec3a954044d5e9f5d87f2f247d679fd1/jiter-0.12.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:75fdd787356c1c13a4f40b43c2156276ef7a71eb487d98472476476d803fb2cf", size = 365590, upload-time = "2025-11-09T20:47:27.918Z" }, + { url = "https://files.pythonhosted.org/packages/ba/7e/e46195801a97673a83746170b17984aa8ac4a455746354516d02ca5541b4/jiter-0.12.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1eb5db8d9c65b112aacf14fcd0faae9913d07a8afea5ed06ccdd12b724e966a1", size = 479462, upload-time = "2025-11-09T20:47:29.654Z" }, + { url = "https://files.pythonhosted.org/packages/ca/75/f833bfb009ab4bd11b1c9406d333e3b4357709ed0570bb48c7c06d78c7dd/jiter-0.12.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:73c568cc27c473f82480abc15d1301adf333a7ea4f2e813d6a2c7d8b6ba8d0df", size = 378983, upload-time = "2025-11-09T20:47:31.026Z" }, + { url = "https://files.pythonhosted.org/packages/71/b3/7a69d77943cc837d30165643db753471aff5df39692d598da880a6e51c24/jiter-0.12.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4321e8a3d868919bcb1abb1db550d41f2b5b326f72df29e53b2df8b006eb9403", size = 361328, upload-time = "2025-11-09T20:47:33.286Z" }, + { url = "https://files.pythonhosted.org/packages/b0/ac/a78f90caf48d65ba70d8c6efc6f23150bc39dc3389d65bbec2a95c7bc628/jiter-0.12.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0a51bad79f8cc9cac2b4b705039f814049142e0050f30d91695a2d9a6611f126", size = 386740, upload-time = "2025-11-09T20:47:34.703Z" }, + { url = "https://files.pythonhosted.org/packages/39/b6/5d31c2cc8e1b6a6bcf3c5721e4ca0a3633d1ab4754b09bc7084f6c4f5327/jiter-0.12.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:2a67b678f6a5f1dd6c36d642d7db83e456bc8b104788262aaefc11a22339f5a9", size = 520875, upload-time = "2025-11-09T20:47:36.058Z" }, + { url = "https://files.pythonhosted.org/packages/30/b5/4df540fae4e9f68c54b8dab004bd8c943a752f0b00efd6e7d64aa3850339/jiter-0.12.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efe1a211fe1fd14762adea941e3cfd6c611a136e28da6c39272dbb7a1bbe6a86", size = 511457, upload-time = "2025-11-09T20:47:37.932Z" }, + { url = "https://files.pythonhosted.org/packages/07/65/86b74010e450a1a77b2c1aabb91d4a91dd3cd5afce99f34d75fd1ac64b19/jiter-0.12.0-cp312-cp312-win32.whl", hash = "sha256:d779d97c834b4278276ec703dc3fc1735fca50af63eb7262f05bdb4e62203d44", size = 204546, upload-time = "2025-11-09T20:47:40.47Z" }, + { url = "https://files.pythonhosted.org/packages/1c/c7/6659f537f9562d963488e3e55573498a442503ced01f7e169e96a6110383/jiter-0.12.0-cp312-cp312-win_amd64.whl", hash = "sha256:e8269062060212b373316fe69236096aaf4c49022d267c6736eebd66bbbc60bb", size = 205196, upload-time = "2025-11-09T20:47:41.794Z" }, + { url = "https://files.pythonhosted.org/packages/21/f4/935304f5169edadfec7f9c01eacbce4c90bb9a82035ac1de1f3bd2d40be6/jiter-0.12.0-cp312-cp312-win_arm64.whl", hash = "sha256:06cb970936c65de926d648af0ed3d21857f026b1cf5525cb2947aa5e01e05789", size = 186100, upload-time = "2025-11-09T20:47:43.007Z" }, + { url = "https://files.pythonhosted.org/packages/3d/a6/97209693b177716e22576ee1161674d1d58029eb178e01866a0422b69224/jiter-0.12.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:6cc49d5130a14b732e0612bc76ae8db3b49898732223ef8b7599aa8d9810683e", size = 313658, upload-time = "2025-11-09T20:47:44.424Z" }, + { url = "https://files.pythonhosted.org/packages/06/4d/125c5c1537c7d8ee73ad3d530a442d6c619714b95027143f1b61c0b4dfe0/jiter-0.12.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:37f27a32ce36364d2fa4f7fdc507279db604d27d239ea2e044c8f148410defe1", size = 318605, upload-time = "2025-11-09T20:47:45.973Z" }, + { url = "https://files.pythonhosted.org/packages/99/bf/a840b89847885064c41a5f52de6e312e91fa84a520848ee56c97e4fa0205/jiter-0.12.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbc0944aa3d4b4773e348cda635252824a78f4ba44328e042ef1ff3f6080d1cf", size = 349803, upload-time = "2025-11-09T20:47:47.535Z" }, + { url = "https://files.pythonhosted.org/packages/8a/88/e63441c28e0db50e305ae23e19c1d8fae012d78ed55365da392c1f34b09c/jiter-0.12.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:da25c62d4ee1ffbacb97fac6dfe4dcd6759ebdc9015991e92a6eae5816287f44", size = 365120, upload-time = "2025-11-09T20:47:49.284Z" }, + { url = "https://files.pythonhosted.org/packages/0a/7c/49b02714af4343970eb8aca63396bc1c82fa01197dbb1e9b0d274b550d4e/jiter-0.12.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:048485c654b838140b007390b8182ba9774621103bd4d77c9c3f6f117474ba45", size = 479918, upload-time = "2025-11-09T20:47:50.807Z" }, + { url = "https://files.pythonhosted.org/packages/69/ba/0a809817fdd5a1db80490b9150645f3aae16afad166960bcd562be194f3b/jiter-0.12.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:635e737fbb7315bef0037c19b88b799143d2d7d3507e61a76751025226b3ac87", size = 379008, upload-time = "2025-11-09T20:47:52.211Z" }, + { url = "https://files.pythonhosted.org/packages/5f/c3/c9fc0232e736c8877d9e6d83d6eeb0ba4e90c6c073835cc2e8f73fdeef51/jiter-0.12.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e017c417b1ebda911bd13b1e40612704b1f5420e30695112efdbed8a4b389ed", size = 361785, upload-time = "2025-11-09T20:47:53.512Z" }, + { url = "https://files.pythonhosted.org/packages/96/61/61f69b7e442e97ca6cd53086ddc1cf59fb830549bc72c0a293713a60c525/jiter-0.12.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:89b0bfb8b2bf2351fba36bb211ef8bfceba73ef58e7f0c68fb67b5a2795ca2f9", size = 386108, upload-time = "2025-11-09T20:47:54.893Z" }, + { url = "https://files.pythonhosted.org/packages/e9/2e/76bb3332f28550c8f1eba3bf6e5efe211efda0ddbbaf24976bc7078d42a5/jiter-0.12.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:f5aa5427a629a824a543672778c9ce0c5e556550d1569bb6ea28a85015287626", size = 519937, upload-time = "2025-11-09T20:47:56.253Z" }, + { url = "https://files.pythonhosted.org/packages/84/d6/fa96efa87dc8bff2094fb947f51f66368fa56d8d4fc9e77b25d7fbb23375/jiter-0.12.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ed53b3d6acbcb0fd0b90f20c7cb3b24c357fe82a3518934d4edfa8c6898e498c", size = 510853, upload-time = "2025-11-09T20:47:58.32Z" }, + { url = "https://files.pythonhosted.org/packages/8a/28/93f67fdb4d5904a708119a6ab58a8f1ec226ff10a94a282e0215402a8462/jiter-0.12.0-cp313-cp313-win32.whl", hash = "sha256:4747de73d6b8c78f2e253a2787930f4fffc68da7fa319739f57437f95963c4de", size = 204699, upload-time = "2025-11-09T20:47:59.686Z" }, + { url = "https://files.pythonhosted.org/packages/c4/1f/30b0eb087045a0abe2a5c9c0c0c8da110875a1d3be83afd4a9a4e548be3c/jiter-0.12.0-cp313-cp313-win_amd64.whl", hash = "sha256:e25012eb0c456fcc13354255d0338cd5397cce26c77b2832b3c4e2e255ea5d9a", size = 204258, upload-time = "2025-11-09T20:48:01.01Z" }, + { url = "https://files.pythonhosted.org/packages/2c/f4/2b4daf99b96bce6fc47971890b14b2a36aef88d7beb9f057fafa032c6141/jiter-0.12.0-cp313-cp313-win_arm64.whl", hash = "sha256:c97b92c54fe6110138c872add030a1f99aea2401ddcdaa21edf74705a646dd60", size = 185503, upload-time = "2025-11-09T20:48:02.35Z" }, + { url = "https://files.pythonhosted.org/packages/39/ca/67bb15a7061d6fe20b9b2a2fd783e296a1e0f93468252c093481a2f00efa/jiter-0.12.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:53839b35a38f56b8be26a7851a48b89bc47e5d88e900929df10ed93b95fea3d6", size = 317965, upload-time = "2025-11-09T20:48:03.783Z" }, + { url = "https://files.pythonhosted.org/packages/18/af/1788031cd22e29c3b14bc6ca80b16a39a0b10e611367ffd480c06a259831/jiter-0.12.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94f669548e55c91ab47fef8bddd9c954dab1938644e715ea49d7e117015110a4", size = 345831, upload-time = "2025-11-09T20:48:05.55Z" }, + { url = "https://files.pythonhosted.org/packages/05/17/710bf8472d1dff0d3caf4ced6031060091c1320f84ee7d5dcbed1f352417/jiter-0.12.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:351d54f2b09a41600ffea43d081522d792e81dcfb915f6d2d242744c1cc48beb", size = 361272, upload-time = "2025-11-09T20:48:06.951Z" }, + { url = "https://files.pythonhosted.org/packages/fb/f1/1dcc4618b59761fef92d10bcbb0b038b5160be653b003651566a185f1a5c/jiter-0.12.0-cp313-cp313t-win_amd64.whl", hash = "sha256:2a5e90604620f94bf62264e7c2c038704d38217b7465b863896c6d7c902b06c7", size = 204604, upload-time = "2025-11-09T20:48:08.328Z" }, + { url = "https://files.pythonhosted.org/packages/d9/32/63cb1d9f1c5c6632a783c0052cde9ef7ba82688f7065e2f0d5f10a7e3edb/jiter-0.12.0-cp313-cp313t-win_arm64.whl", hash = "sha256:88ef757017e78d2860f96250f9393b7b577b06a956ad102c29c8237554380db3", size = 185628, upload-time = "2025-11-09T20:48:09.572Z" }, + { url = "https://files.pythonhosted.org/packages/a8/99/45c9f0dbe4a1416b2b9a8a6d1236459540f43d7fb8883cff769a8db0612d/jiter-0.12.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:c46d927acd09c67a9fb1416df45c5a04c27e83aae969267e98fba35b74e99525", size = 312478, upload-time = "2025-11-09T20:48:10.898Z" }, + { url = "https://files.pythonhosted.org/packages/4c/a7/54ae75613ba9e0f55fcb0bc5d1f807823b5167cc944e9333ff322e9f07dd/jiter-0.12.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:774ff60b27a84a85b27b88cd5583899c59940bcc126caca97eb2a9df6aa00c49", size = 318706, upload-time = "2025-11-09T20:48:12.266Z" }, + { url = "https://files.pythonhosted.org/packages/59/31/2aa241ad2c10774baf6c37f8b8e1f39c07db358f1329f4eb40eba179c2a2/jiter-0.12.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c5433fab222fb072237df3f637d01b81f040a07dcac1cb4a5c75c7aa9ed0bef1", size = 351894, upload-time = "2025-11-09T20:48:13.673Z" }, + { url = "https://files.pythonhosted.org/packages/54/4f/0f2759522719133a9042781b18cc94e335b6d290f5e2d3e6899d6af933e3/jiter-0.12.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:f8c593c6e71c07866ec6bfb790e202a833eeec885022296aff6b9e0b92d6a70e", size = 365714, upload-time = "2025-11-09T20:48:15.083Z" }, + { url = "https://files.pythonhosted.org/packages/dc/6f/806b895f476582c62a2f52c453151edd8a0fde5411b0497baaa41018e878/jiter-0.12.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:90d32894d4c6877a87ae00c6b915b609406819dce8bc0d4e962e4de2784e567e", size = 478989, upload-time = "2025-11-09T20:48:16.706Z" }, + { url = "https://files.pythonhosted.org/packages/86/6c/012d894dc6e1033acd8db2b8346add33e413ec1c7c002598915278a37f79/jiter-0.12.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:798e46eed9eb10c3adbbacbd3bdb5ecd4cf7064e453d00dbef08802dae6937ff", size = 378615, upload-time = "2025-11-09T20:48:18.614Z" }, + { url = "https://files.pythonhosted.org/packages/87/30/d718d599f6700163e28e2c71c0bbaf6dace692e7df2592fd793ac9276717/jiter-0.12.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3f1368f0a6719ea80013a4eb90ba72e75d7ea67cfc7846db2ca504f3df0169a", size = 364745, upload-time = "2025-11-09T20:48:20.117Z" }, + { url = "https://files.pythonhosted.org/packages/8f/85/315b45ce4b6ddc7d7fceca24068543b02bdc8782942f4ee49d652e2cc89f/jiter-0.12.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:65f04a9d0b4406f7e51279710b27484af411896246200e461d80d3ba0caa901a", size = 386502, upload-time = "2025-11-09T20:48:21.543Z" }, + { url = "https://files.pythonhosted.org/packages/74/0b/ce0434fb40c5b24b368fe81b17074d2840748b4952256bab451b72290a49/jiter-0.12.0-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:fd990541982a24281d12b67a335e44f117e4c6cbad3c3b75c7dea68bf4ce3a67", size = 519845, upload-time = "2025-11-09T20:48:22.964Z" }, + { url = "https://files.pythonhosted.org/packages/e8/a3/7a7a4488ba052767846b9c916d208b3ed114e3eb670ee984e4c565b9cf0d/jiter-0.12.0-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:b111b0e9152fa7df870ecaebb0bd30240d9f7fff1f2003bcb4ed0f519941820b", size = 510701, upload-time = "2025-11-09T20:48:24.483Z" }, + { url = "https://files.pythonhosted.org/packages/c3/16/052ffbf9d0467b70af24e30f91e0579e13ded0c17bb4a8eb2aed3cb60131/jiter-0.12.0-cp314-cp314-win32.whl", hash = "sha256:a78befb9cc0a45b5a5a0d537b06f8544c2ebb60d19d02c41ff15da28a9e22d42", size = 205029, upload-time = "2025-11-09T20:48:25.749Z" }, + { url = "https://files.pythonhosted.org/packages/e4/18/3cf1f3f0ccc789f76b9a754bdb7a6977e5d1d671ee97a9e14f7eb728d80e/jiter-0.12.0-cp314-cp314-win_amd64.whl", hash = "sha256:e1fe01c082f6aafbe5c8faf0ff074f38dfb911d53f07ec333ca03f8f6226debf", size = 204960, upload-time = "2025-11-09T20:48:27.415Z" }, + { url = "https://files.pythonhosted.org/packages/02/68/736821e52ecfdeeb0f024b8ab01b5a229f6b9293bbdb444c27efade50b0f/jiter-0.12.0-cp314-cp314-win_arm64.whl", hash = "sha256:d72f3b5a432a4c546ea4bedc84cce0c3404874f1d1676260b9c7f048a9855451", size = 185529, upload-time = "2025-11-09T20:48:29.125Z" }, + { url = "https://files.pythonhosted.org/packages/30/61/12ed8ee7a643cce29ac97c2281f9ce3956eb76b037e88d290f4ed0d41480/jiter-0.12.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:e6ded41aeba3603f9728ed2b6196e4df875348ab97b28fc8afff115ed42ba7a7", size = 318974, upload-time = "2025-11-09T20:48:30.87Z" }, + { url = "https://files.pythonhosted.org/packages/2d/c6/f3041ede6d0ed5e0e79ff0de4c8f14f401bbf196f2ef3971cdbe5fd08d1d/jiter-0.12.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a947920902420a6ada6ad51892082521978e9dd44a802663b001436e4b771684", size = 345932, upload-time = "2025-11-09T20:48:32.658Z" }, + { url = "https://files.pythonhosted.org/packages/d5/5d/4d94835889edd01ad0e2dbfc05f7bdfaed46292e7b504a6ac7839aa00edb/jiter-0.12.0-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:add5e227e0554d3a52cf390a7635edaffdf4f8fce4fdbcef3cc2055bb396a30c", size = 367243, upload-time = "2025-11-09T20:48:34.093Z" }, + { url = "https://files.pythonhosted.org/packages/fd/76/0051b0ac2816253a99d27baf3dda198663aff882fa6ea7deeb94046da24e/jiter-0.12.0-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f9b1cda8fcb736250d7e8711d4580ebf004a46771432be0ae4796944b5dfa5d", size = 479315, upload-time = "2025-11-09T20:48:35.507Z" }, + { url = "https://files.pythonhosted.org/packages/70/ae/83f793acd68e5cb24e483f44f482a1a15601848b9b6f199dacb970098f77/jiter-0.12.0-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:deeb12a2223fe0135c7ff1356a143d57f95bbf1f4a66584f1fc74df21d86b993", size = 380714, upload-time = "2025-11-09T20:48:40.014Z" }, + { url = "https://files.pythonhosted.org/packages/b1/5e/4808a88338ad2c228b1126b93fcd8ba145e919e886fe910d578230dabe3b/jiter-0.12.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c596cc0f4cb574877550ce4ecd51f8037469146addd676d7c1a30ebe6391923f", size = 365168, upload-time = "2025-11-09T20:48:41.462Z" }, + { url = "https://files.pythonhosted.org/packages/0c/d4/04619a9e8095b42aef436b5aeb4c0282b4ff1b27d1db1508df9f5dc82750/jiter-0.12.0-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5ab4c823b216a4aeab3fdbf579c5843165756bd9ad87cc6b1c65919c4715f783", size = 387893, upload-time = "2025-11-09T20:48:42.921Z" }, + { url = "https://files.pythonhosted.org/packages/17/ea/d3c7e62e4546fdc39197fa4a4315a563a89b95b6d54c0d25373842a59cbe/jiter-0.12.0-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:e427eee51149edf962203ff8db75a7514ab89be5cb623fb9cea1f20b54f1107b", size = 520828, upload-time = "2025-11-09T20:48:44.278Z" }, + { url = "https://files.pythonhosted.org/packages/cc/0b/c6d3562a03fd767e31cb119d9041ea7958c3c80cb3d753eafb19b3b18349/jiter-0.12.0-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:edb868841f84c111255ba5e80339d386d937ec1fdce419518ce1bd9370fac5b6", size = 511009, upload-time = "2025-11-09T20:48:45.726Z" }, + { url = "https://files.pythonhosted.org/packages/aa/51/2cb4468b3448a8385ebcd15059d325c9ce67df4e2758d133ab9442b19834/jiter-0.12.0-cp314-cp314t-win32.whl", hash = "sha256:8bbcfe2791dfdb7c5e48baf646d37a6a3dcb5a97a032017741dea9f817dca183", size = 205110, upload-time = "2025-11-09T20:48:47.033Z" }, + { url = "https://files.pythonhosted.org/packages/b2/c5/ae5ec83dec9c2d1af805fd5fe8f74ebded9c8670c5210ec7820ce0dbeb1e/jiter-0.12.0-cp314-cp314t-win_amd64.whl", hash = "sha256:2fa940963bf02e1d8226027ef461e36af472dea85d36054ff835aeed944dd873", size = 205223, upload-time = "2025-11-09T20:48:49.076Z" }, + { url = "https://files.pythonhosted.org/packages/97/9a/3c5391907277f0e55195550cf3fa8e293ae9ee0c00fb402fec1e38c0c82f/jiter-0.12.0-cp314-cp314t-win_arm64.whl", hash = "sha256:506c9708dd29b27288f9f8f1140c3cb0e3d8ddb045956d7757b1fa0e0f39a473", size = 185564, upload-time = "2025-11-09T20:48:50.376Z" }, + { url = "https://files.pythonhosted.org/packages/7d/da/3e1fbd1f03f89ff0b4469d481be0b5cf2880c8e7b56fd80303b3ab5ae52d/jiter-0.12.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c9d28b218d5f9e5f69a0787a196322a5056540cb378cac8ff542b4fa7219966c", size = 319378, upload-time = "2025-11-09T20:48:51.761Z" }, + { url = "https://files.pythonhosted.org/packages/c7/4e/e07d69285e9e19a153050a6d281d2f0968600753a8fed8a3a141d6ffc140/jiter-0.12.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d0ee12028daf8cfcf880dd492349a122a64f42c059b6c62a2b0c96a83a8da820", size = 312195, upload-time = "2025-11-09T20:48:53.547Z" }, + { url = "https://files.pythonhosted.org/packages/2d/82/1f1cb5231b36af9f3d6d5b6030e70110faf14fd143419fc5fe7d852e691a/jiter-0.12.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b135ebe757a82d67ed2821526e72d0acf87dd61f6013e20d3c45b8048af927b", size = 352777, upload-time = "2025-11-09T20:48:55.058Z" }, + { url = "https://files.pythonhosted.org/packages/6a/5e/728393bbbc99b31e8f7a4fdd8fa55e455a0a9648f79097d9088baf1f676f/jiter-0.12.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:15d7fafb81af8a9e3039fc305529a61cd933eecee33b4251878a1c89859552a3", size = 370738, upload-time = "2025-11-09T20:48:56.632Z" }, + { url = "https://files.pythonhosted.org/packages/30/08/ac92f0df7b14ac82f2fe0a382a8000e600ab90af95798d4a7db0c1bd0736/jiter-0.12.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:92d1f41211d8a8fe412faad962d424d334764c01dac6691c44691c2e4d3eedaf", size = 483744, upload-time = "2025-11-09T20:48:58.006Z" }, + { url = "https://files.pythonhosted.org/packages/7e/f4/dbfa4e759a2b82e969a14c3d0a91b176f1ed94717183a2f495cf94a651b9/jiter-0.12.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3a64a48d7c917b8f32f25c176df8749ecf08cec17c466114727efe7441e17f6d", size = 382888, upload-time = "2025-11-09T20:48:59.471Z" }, + { url = "https://files.pythonhosted.org/packages/6c/d9/b86fff7f748b0bb54222a8f132ffaf4d1be56b4591fa76d3cfdd701a33e5/jiter-0.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:122046f3b3710b85de99d9aa2f3f0492a8233a2f54a64902b096efc27ea747b5", size = 366465, upload-time = "2025-11-09T20:49:01.408Z" }, + { url = "https://files.pythonhosted.org/packages/93/3c/1152d8b433317a568927e13c1b125c680e6c058ff5d304833be8469bd4f2/jiter-0.12.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:27ec39225e03c32c6b863ba879deb427882f243ae46f0d82d68b695fa5b48b40", size = 392603, upload-time = "2025-11-09T20:49:02.784Z" }, + { url = "https://files.pythonhosted.org/packages/6e/92/ff19d8fb87f3f9438eb7464862c8d0126455bc046b345d59b21443640c62/jiter-0.12.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:26b9e155ddc132225a39b1995b3b9f0fe0f79a6d5cbbeacf103271e7d309b404", size = 523780, upload-time = "2025-11-09T20:49:04.42Z" }, + { url = "https://files.pythonhosted.org/packages/87/3a/4260e2d84e4a293c36d2a8e8b8dcd69609c671f3bd310e4625359217c517/jiter-0.12.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9ab05b7c58e29bb9e60b70c2e0094c98df79a1e42e397b9bb6eaa989b7a66dd0", size = 514874, upload-time = "2025-11-09T20:49:05.844Z" }, + { url = "https://files.pythonhosted.org/packages/2e/f7/574d2cb79e86feb035ade18c2254da71d04417555907c9df51dd6b183426/jiter-0.12.0-cp39-cp39-win32.whl", hash = "sha256:59f9f9df87ed499136db1c2b6c9efb902f964bed42a582ab7af413b6a293e7b0", size = 208329, upload-time = "2025-11-09T20:49:07.444Z" }, + { url = "https://files.pythonhosted.org/packages/05/ce/50725ec39782d8c973f19ae2d7dd3d192d01332c7cbde48c75e16a3e85a9/jiter-0.12.0-cp39-cp39-win_amd64.whl", hash = "sha256:d3719596a1ebe7a48a498e8d5d0c4bf7553321d4c3eee1d620628d51351a3928", size = 206557, upload-time = "2025-11-09T20:49:08.888Z" }, + { url = "https://files.pythonhosted.org/packages/fe/54/5339ef1ecaa881c6948669956567a64d2670941925f245c434f494ffb0e5/jiter-0.12.0-graalpy311-graalpy242_311_native-macosx_10_12_x86_64.whl", hash = "sha256:4739a4657179ebf08f85914ce50332495811004cc1747852e8b2041ed2aab9b8", size = 311144, upload-time = "2025-11-09T20:49:10.503Z" }, + { url = "https://files.pythonhosted.org/packages/27/74/3446c652bffbd5e81ab354e388b1b5fc1d20daac34ee0ed11ff096b1b01a/jiter-0.12.0-graalpy311-graalpy242_311_native-macosx_11_0_arm64.whl", hash = "sha256:41da8def934bf7bec16cb24bd33c0ca62126d2d45d81d17b864bd5ad721393c3", size = 305877, upload-time = "2025-11-09T20:49:12.269Z" }, + { url = "https://files.pythonhosted.org/packages/a1/f4/ed76ef9043450f57aac2d4fbeb27175aa0eb9c38f833be6ef6379b3b9a86/jiter-0.12.0-graalpy311-graalpy242_311_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c44ee814f499c082e69872d426b624987dbc5943ab06e9bbaa4f81989fdb79e", size = 340419, upload-time = "2025-11-09T20:49:13.803Z" }, + { url = "https://files.pythonhosted.org/packages/21/01/857d4608f5edb0664aa791a3d45702e1a5bcfff9934da74035e7b9803846/jiter-0.12.0-graalpy311-graalpy242_311_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cd2097de91cf03eaa27b3cbdb969addf83f0179c6afc41bbc4513705e013c65d", size = 347212, upload-time = "2025-11-09T20:49:15.643Z" }, + { url = "https://files.pythonhosted.org/packages/cb/f5/12efb8ada5f5c9edc1d4555fe383c1fb2eac05ac5859258a72d61981d999/jiter-0.12.0-graalpy312-graalpy250_312_native-macosx_10_12_x86_64.whl", hash = "sha256:e8547883d7b96ef2e5fe22b88f8a4c8725a56e7f4abafff20fd5272d634c7ecb", size = 309974, upload-time = "2025-11-09T20:49:17.187Z" }, + { url = "https://files.pythonhosted.org/packages/85/15/d6eb3b770f6a0d332675141ab3962fd4a7c270ede3515d9f3583e1d28276/jiter-0.12.0-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:89163163c0934854a668ed783a2546a0617f71706a2551a4a0666d91ab365d6b", size = 304233, upload-time = "2025-11-09T20:49:18.734Z" }, + { url = "https://files.pythonhosted.org/packages/8c/3e/e7e06743294eea2cf02ced6aa0ff2ad237367394e37a0e2b4a1108c67a36/jiter-0.12.0-graalpy312-graalpy250_312_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d96b264ab7d34bbb2312dedc47ce07cd53f06835eacbc16dde3761f47c3a9e7f", size = 338537, upload-time = "2025-11-09T20:49:20.317Z" }, + { url = "https://files.pythonhosted.org/packages/2f/9c/6753e6522b8d0ef07d3a3d239426669e984fb0eba15a315cdbc1253904e4/jiter-0.12.0-graalpy312-graalpy250_312_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c24e864cb30ab82311c6425655b0cdab0a98c5d973b065c66a3f020740c2324c", size = 346110, upload-time = "2025-11-09T20:49:21.817Z" }, +] + +[[package]] +name = "markdown2" +version = "2.5.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/42/f8/b2ae8bf5f28f9b510ae097415e6e4cb63226bb28d7ee01aec03a755ba03b/markdown2-2.5.4.tar.gz", hash = "sha256:a09873f0b3c23dbfae589b0080587df52ad75bb09a5fa6559147554736676889", size = 145652, upload-time = "2025-07-27T16:16:24.307Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b8/06/2697b5043c3ecb720ce0d243fc7cf5024c0b5b1e450506e9b21939019963/markdown2-2.5.4-py3-none-any.whl", hash = "sha256:3c4b2934e677be7fec0e6f2de4410e116681f4ad50ec8e5ba7557be506d3f439", size = 49954, upload-time = "2025-07-27T16:16:23.026Z" }, ] [[package]] name = "markupsafe" -version = "3.0.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537, upload-time = "2024-10-18T15:21:54.129Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/04/90/d08277ce111dd22f77149fd1a5d4653eeb3b3eaacbdfcbae5afb2600eebd/MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8", size = 14357, upload-time = "2024-10-18T15:20:51.44Z" }, - { url = "https://files.pythonhosted.org/packages/04/e1/6e2194baeae0bca1fae6629dc0cbbb968d4d941469cbab11a3872edff374/MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158", size = 12393, upload-time = "2024-10-18T15:20:52.426Z" }, - { url = "https://files.pythonhosted.org/packages/1d/69/35fa85a8ece0a437493dc61ce0bb6d459dcba482c34197e3efc829aa357f/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579", size = 21732, upload-time = "2024-10-18T15:20:53.578Z" }, - { url = "https://files.pythonhosted.org/packages/22/35/137da042dfb4720b638d2937c38a9c2df83fe32d20e8c8f3185dbfef05f7/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d", size = 20866, upload-time = "2024-10-18T15:20:55.06Z" }, - { url = "https://files.pythonhosted.org/packages/29/28/6d029a903727a1b62edb51863232152fd335d602def598dade38996887f0/MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb", size = 20964, upload-time = "2024-10-18T15:20:55.906Z" }, - { url = "https://files.pythonhosted.org/packages/cc/cd/07438f95f83e8bc028279909d9c9bd39e24149b0d60053a97b2bc4f8aa51/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b", size = 21977, upload-time = "2024-10-18T15:20:57.189Z" }, - { url = "https://files.pythonhosted.org/packages/29/01/84b57395b4cc062f9c4c55ce0df7d3108ca32397299d9df00fedd9117d3d/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c", size = 21366, upload-time = "2024-10-18T15:20:58.235Z" }, - { url = "https://files.pythonhosted.org/packages/bd/6e/61ebf08d8940553afff20d1fb1ba7294b6f8d279df9fd0c0db911b4bbcfd/MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171", size = 21091, upload-time = "2024-10-18T15:20:59.235Z" }, - { url = "https://files.pythonhosted.org/packages/11/23/ffbf53694e8c94ebd1e7e491de185124277964344733c45481f32ede2499/MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50", size = 15065, upload-time = "2024-10-18T15:21:00.307Z" }, - { url = "https://files.pythonhosted.org/packages/44/06/e7175d06dd6e9172d4a69a72592cb3f7a996a9c396eee29082826449bbc3/MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a", size = 15514, upload-time = "2024-10-18T15:21:01.122Z" }, - { url = "https://files.pythonhosted.org/packages/6b/28/bbf83e3f76936960b850435576dd5e67034e200469571be53f69174a2dfd/MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d", size = 14353, upload-time = "2024-10-18T15:21:02.187Z" }, - { url = "https://files.pythonhosted.org/packages/6c/30/316d194b093cde57d448a4c3209f22e3046c5bb2fb0820b118292b334be7/MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93", size = 12392, upload-time = "2024-10-18T15:21:02.941Z" }, - { url = "https://files.pythonhosted.org/packages/f2/96/9cdafba8445d3a53cae530aaf83c38ec64c4d5427d975c974084af5bc5d2/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832", size = 23984, upload-time = "2024-10-18T15:21:03.953Z" }, - { url = "https://files.pythonhosted.org/packages/f1/a4/aefb044a2cd8d7334c8a47d3fb2c9f328ac48cb349468cc31c20b539305f/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84", size = 23120, upload-time = "2024-10-18T15:21:06.495Z" }, - { url = "https://files.pythonhosted.org/packages/8d/21/5e4851379f88f3fad1de30361db501300d4f07bcad047d3cb0449fc51f8c/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca", size = 23032, upload-time = "2024-10-18T15:21:07.295Z" }, - { url = "https://files.pythonhosted.org/packages/00/7b/e92c64e079b2d0d7ddf69899c98842f3f9a60a1ae72657c89ce2655c999d/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798", size = 24057, upload-time = "2024-10-18T15:21:08.073Z" }, - { url = "https://files.pythonhosted.org/packages/f9/ac/46f960ca323037caa0a10662ef97d0a4728e890334fc156b9f9e52bcc4ca/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e", size = 23359, upload-time = "2024-10-18T15:21:09.318Z" }, - { url = "https://files.pythonhosted.org/packages/69/84/83439e16197337b8b14b6a5b9c2105fff81d42c2a7c5b58ac7b62ee2c3b1/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4", size = 23306, upload-time = "2024-10-18T15:21:10.185Z" }, - { url = "https://files.pythonhosted.org/packages/9a/34/a15aa69f01e2181ed8d2b685c0d2f6655d5cca2c4db0ddea775e631918cd/MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", size = 15094, upload-time = "2024-10-18T15:21:11.005Z" }, - { url = "https://files.pythonhosted.org/packages/da/b8/3a3bd761922d416f3dc5d00bfbed11f66b1ab89a0c2b6e887240a30b0f6b/MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", size = 15521, upload-time = "2024-10-18T15:21:12.911Z" }, - { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274, upload-time = "2024-10-18T15:21:13.777Z" }, - { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348, upload-time = "2024-10-18T15:21:14.822Z" }, - { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149, upload-time = "2024-10-18T15:21:15.642Z" }, - { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118, upload-time = "2024-10-18T15:21:17.133Z" }, - { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993, upload-time = "2024-10-18T15:21:18.064Z" }, - { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178, upload-time = "2024-10-18T15:21:18.859Z" }, - { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319, upload-time = "2024-10-18T15:21:19.671Z" }, - { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352, upload-time = "2024-10-18T15:21:20.971Z" }, - { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097, upload-time = "2024-10-18T15:21:22.646Z" }, - { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601, upload-time = "2024-10-18T15:21:23.499Z" }, - { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274, upload-time = "2024-10-18T15:21:24.577Z" }, - { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352, upload-time = "2024-10-18T15:21:25.382Z" }, - { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122, upload-time = "2024-10-18T15:21:26.199Z" }, - { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085, upload-time = "2024-10-18T15:21:27.029Z" }, - { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978, upload-time = "2024-10-18T15:21:27.846Z" }, - { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208, upload-time = "2024-10-18T15:21:28.744Z" }, - { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357, upload-time = "2024-10-18T15:21:29.545Z" }, - { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344, upload-time = "2024-10-18T15:21:30.366Z" }, - { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101, upload-time = "2024-10-18T15:21:31.207Z" }, - { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603, upload-time = "2024-10-18T15:21:32.032Z" }, - { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510, upload-time = "2024-10-18T15:21:33.625Z" }, - { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486, upload-time = "2024-10-18T15:21:34.611Z" }, - { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480, upload-time = "2024-10-18T15:21:35.398Z" }, - { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914, upload-time = "2024-10-18T15:21:36.231Z" }, - { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796, upload-time = "2024-10-18T15:21:37.073Z" }, - { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473, upload-time = "2024-10-18T15:21:37.932Z" }, - { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114, upload-time = "2024-10-18T15:21:39.799Z" }, - { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098, upload-time = "2024-10-18T15:21:40.813Z" }, - { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208, upload-time = "2024-10-18T15:21:41.814Z" }, - { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739, upload-time = "2024-10-18T15:21:42.784Z" }, - { url = "https://files.pythonhosted.org/packages/a7/ea/9b1530c3fdeeca613faeb0fb5cbcf2389d816072fab72a71b45749ef6062/MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a", size = 14344, upload-time = "2024-10-18T15:21:43.721Z" }, - { url = "https://files.pythonhosted.org/packages/4b/c2/fbdbfe48848e7112ab05e627e718e854d20192b674952d9042ebd8c9e5de/MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff", size = 12389, upload-time = "2024-10-18T15:21:44.666Z" }, - { url = "https://files.pythonhosted.org/packages/f0/25/7a7c6e4dbd4f867d95d94ca15449e91e52856f6ed1905d58ef1de5e211d0/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13", size = 21607, upload-time = "2024-10-18T15:21:45.452Z" }, - { url = "https://files.pythonhosted.org/packages/53/8f/f339c98a178f3c1e545622206b40986a4c3307fe39f70ccd3d9df9a9e425/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144", size = 20728, upload-time = "2024-10-18T15:21:46.295Z" }, - { url = "https://files.pythonhosted.org/packages/1a/03/8496a1a78308456dbd50b23a385c69b41f2e9661c67ea1329849a598a8f9/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29", size = 20826, upload-time = "2024-10-18T15:21:47.134Z" }, - { url = "https://files.pythonhosted.org/packages/e6/cf/0a490a4bd363048c3022f2f475c8c05582179bb179defcee4766fb3dcc18/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0", size = 21843, upload-time = "2024-10-18T15:21:48.334Z" }, - { url = "https://files.pythonhosted.org/packages/19/a3/34187a78613920dfd3cdf68ef6ce5e99c4f3417f035694074beb8848cd77/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0", size = 21219, upload-time = "2024-10-18T15:21:49.587Z" }, - { url = "https://files.pythonhosted.org/packages/17/d8/5811082f85bb88410ad7e452263af048d685669bbbfb7b595e8689152498/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178", size = 20946, upload-time = "2024-10-18T15:21:50.441Z" }, - { url = "https://files.pythonhosted.org/packages/7c/31/bd635fb5989440d9365c5e3c47556cfea121c7803f5034ac843e8f37c2f2/MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f", size = 15063, upload-time = "2024-10-18T15:21:51.385Z" }, - { url = "https://files.pythonhosted.org/packages/b3/73/085399401383ce949f727afec55ec3abd76648d04b9f22e1c0e99cb4bec3/MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a", size = 15506, upload-time = "2024-10-18T15:21:52.974Z" }, +version = "2.1.5" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/87/5b/aae44c6655f3801e81aa3eef09dbbf012431987ba564d7231722f68df02d/MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b", size = 19384, upload-time = "2024-02-02T16:31:22.863Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e4/54/ad5eb37bf9d51800010a74e4665425831a9db4e7c4e0fde4352e391e808e/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc", size = 18206, upload-time = "2024-02-02T16:30:04.105Z" }, + { url = "https://files.pythonhosted.org/packages/6a/4a/a4d49415e600bacae038c67f9fecc1d5433b9d3c71a4de6f33537b89654c/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5", size = 14079, upload-time = "2024-02-02T16:30:06.5Z" }, + { url = "https://files.pythonhosted.org/packages/0a/7b/85681ae3c33c385b10ac0f8dd025c30af83c78cec1c37a6aa3b55e67f5ec/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46", size = 26620, upload-time = "2024-02-02T16:30:08.31Z" }, + { url = "https://files.pythonhosted.org/packages/7c/52/2b1b570f6b8b803cef5ac28fdf78c0da318916c7d2fe9402a84d591b394c/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f", size = 25818, upload-time = "2024-02-02T16:30:09.577Z" }, + { url = "https://files.pythonhosted.org/packages/29/fe/a36ba8c7ca55621620b2d7c585313efd10729e63ef81e4e61f52330da781/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900", size = 25493, upload-time = "2024-02-02T16:30:11.488Z" }, + { url = "https://files.pythonhosted.org/packages/60/ae/9c60231cdfda003434e8bd27282b1f4e197ad5a710c14bee8bea8a9ca4f0/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff", size = 30630, upload-time = "2024-02-02T16:30:13.144Z" }, + { url = "https://files.pythonhosted.org/packages/65/dc/1510be4d179869f5dafe071aecb3f1f41b45d37c02329dfba01ff59e5ac5/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad", size = 29745, upload-time = "2024-02-02T16:30:14.222Z" }, + { url = "https://files.pythonhosted.org/packages/30/39/8d845dd7d0b0613d86e0ef89549bfb5f61ed781f59af45fc96496e897f3a/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd", size = 30021, upload-time = "2024-02-02T16:30:16.032Z" }, + { url = "https://files.pythonhosted.org/packages/c7/5c/356a6f62e4f3c5fbf2602b4771376af22a3b16efa74eb8716fb4e328e01e/MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4", size = 16659, upload-time = "2024-02-02T16:30:17.079Z" }, + { url = "https://files.pythonhosted.org/packages/69/48/acbf292615c65f0604a0c6fc402ce6d8c991276e16c80c46a8f758fbd30c/MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5", size = 17213, upload-time = "2024-02-02T16:30:18.251Z" }, + { url = "https://files.pythonhosted.org/packages/11/e7/291e55127bb2ae67c64d66cef01432b5933859dfb7d6949daa721b89d0b3/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f", size = 18219, upload-time = "2024-02-02T16:30:19.988Z" }, + { url = "https://files.pythonhosted.org/packages/6b/cb/aed7a284c00dfa7c0682d14df85ad4955a350a21d2e3b06d8240497359bf/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2", size = 14098, upload-time = "2024-02-02T16:30:21.063Z" }, + { url = "https://files.pythonhosted.org/packages/1c/cf/35fe557e53709e93feb65575c93927942087e9b97213eabc3fe9d5b25a55/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced", size = 29014, upload-time = "2024-02-02T16:30:22.926Z" }, + { url = "https://files.pythonhosted.org/packages/97/18/c30da5e7a0e7f4603abfc6780574131221d9148f323752c2755d48abad30/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5", size = 28220, upload-time = "2024-02-02T16:30:24.76Z" }, + { url = "https://files.pythonhosted.org/packages/0c/40/2e73e7d532d030b1e41180807a80d564eda53babaf04d65e15c1cf897e40/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c", size = 27756, upload-time = "2024-02-02T16:30:25.877Z" }, + { url = "https://files.pythonhosted.org/packages/18/46/5dca760547e8c59c5311b332f70605d24c99d1303dd9a6e1fc3ed0d73561/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f", size = 33988, upload-time = "2024-02-02T16:30:26.935Z" }, + { url = "https://files.pythonhosted.org/packages/6d/c5/27febe918ac36397919cd4a67d5579cbbfa8da027fa1238af6285bb368ea/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a", size = 32718, upload-time = "2024-02-02T16:30:28.111Z" }, + { url = "https://files.pythonhosted.org/packages/f8/81/56e567126a2c2bc2684d6391332e357589a96a76cb9f8e5052d85cb0ead8/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f", size = 33317, upload-time = "2024-02-02T16:30:29.214Z" }, + { url = "https://files.pythonhosted.org/packages/00/0b/23f4b2470accb53285c613a3ab9ec19dc944eaf53592cb6d9e2af8aa24cc/MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906", size = 16670, upload-time = "2024-02-02T16:30:30.915Z" }, + { url = "https://files.pythonhosted.org/packages/b7/a2/c78a06a9ec6d04b3445a949615c4c7ed86a0b2eb68e44e7541b9d57067cc/MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617", size = 17224, upload-time = "2024-02-02T16:30:32.09Z" }, + { url = "https://files.pythonhosted.org/packages/53/bd/583bf3e4c8d6a321938c13f49d44024dbe5ed63e0a7ba127e454a66da974/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1", size = 18215, upload-time = "2024-02-02T16:30:33.081Z" }, + { url = "https://files.pythonhosted.org/packages/48/d6/e7cd795fc710292c3af3a06d80868ce4b02bfbbf370b7cee11d282815a2a/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4", size = 14069, upload-time = "2024-02-02T16:30:34.148Z" }, + { url = "https://files.pythonhosted.org/packages/51/b5/5d8ec796e2a08fc814a2c7d2584b55f889a55cf17dd1a90f2beb70744e5c/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee", size = 29452, upload-time = "2024-02-02T16:30:35.149Z" }, + { url = "https://files.pythonhosted.org/packages/0a/0d/2454f072fae3b5a137c119abf15465d1771319dfe9e4acbb31722a0fff91/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5", size = 28462, upload-time = "2024-02-02T16:30:36.166Z" }, + { url = "https://files.pythonhosted.org/packages/2d/75/fd6cb2e68780f72d47e6671840ca517bda5ef663d30ada7616b0462ad1e3/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b", size = 27869, upload-time = "2024-02-02T16:30:37.834Z" }, + { url = "https://files.pythonhosted.org/packages/b0/81/147c477391c2750e8fc7705829f7351cf1cd3be64406edcf900dc633feb2/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a", size = 33906, upload-time = "2024-02-02T16:30:39.366Z" }, + { url = "https://files.pythonhosted.org/packages/8b/ff/9a52b71839d7a256b563e85d11050e307121000dcebc97df120176b3ad93/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f", size = 32296, upload-time = "2024-02-02T16:30:40.413Z" }, + { url = "https://files.pythonhosted.org/packages/88/07/2dc76aa51b481eb96a4c3198894f38b480490e834479611a4053fbf08623/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169", size = 33038, upload-time = "2024-02-02T16:30:42.243Z" }, + { url = "https://files.pythonhosted.org/packages/96/0c/620c1fb3661858c0e37eb3cbffd8c6f732a67cd97296f725789679801b31/MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad", size = 16572, upload-time = "2024-02-02T16:30:43.326Z" }, + { url = "https://files.pythonhosted.org/packages/3f/14/c3554d512d5f9100a95e737502f4a2323a1959f6d0d01e0d0997b35f7b10/MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb", size = 17127, upload-time = "2024-02-02T16:30:44.418Z" }, + { url = "https://files.pythonhosted.org/packages/f8/ff/2c942a82c35a49df5de3a630ce0a8456ac2969691b230e530ac12314364c/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a", size = 18192, upload-time = "2024-02-02T16:30:57.715Z" }, + { url = "https://files.pythonhosted.org/packages/4f/14/6f294b9c4f969d0c801a4615e221c1e084722ea6114ab2114189c5b8cbe0/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46", size = 14072, upload-time = "2024-02-02T16:30:58.844Z" }, + { url = "https://files.pythonhosted.org/packages/81/d4/fd74714ed30a1dedd0b82427c02fa4deec64f173831ec716da11c51a50aa/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532", size = 26928, upload-time = "2024-02-02T16:30:59.922Z" }, + { url = "https://files.pythonhosted.org/packages/c7/bd/50319665ce81bb10e90d1cf76f9e1aa269ea6f7fa30ab4521f14d122a3df/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab", size = 26106, upload-time = "2024-02-02T16:31:01.582Z" }, + { url = "https://files.pythonhosted.org/packages/4c/6f/f2b0f675635b05f6afd5ea03c094557bdb8622fa8e673387444fe8d8e787/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68", size = 25781, upload-time = "2024-02-02T16:31:02.71Z" }, + { url = "https://files.pythonhosted.org/packages/51/e0/393467cf899b34a9d3678e78961c2c8cdf49fb902a959ba54ece01273fb1/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0", size = 30518, upload-time = "2024-02-02T16:31:04.392Z" }, + { url = "https://files.pythonhosted.org/packages/f6/02/5437e2ad33047290dafced9df741d9efc3e716b75583bbd73a9984f1b6f7/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4", size = 29669, upload-time = "2024-02-02T16:31:05.53Z" }, + { url = "https://files.pythonhosted.org/packages/0e/7d/968284145ffd9d726183ed6237c77938c021abacde4e073020f920e060b2/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3", size = 29933, upload-time = "2024-02-02T16:31:06.636Z" }, + { url = "https://files.pythonhosted.org/packages/bf/f3/ecb00fc8ab02b7beae8699f34db9357ae49d9f21d4d3de6f305f34fa949e/MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff", size = 16656, upload-time = "2024-02-02T16:31:07.767Z" }, + { url = "https://files.pythonhosted.org/packages/92/21/357205f03514a49b293e214ac39de01fadd0970a6e05e4bf1ddd0ffd0881/MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029", size = 17206, upload-time = "2024-02-02T16:31:08.843Z" }, + { url = "https://files.pythonhosted.org/packages/0f/31/780bb297db036ba7b7bbede5e1d7f1e14d704ad4beb3ce53fb495d22bc62/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf", size = 18193, upload-time = "2024-02-02T16:31:10.155Z" }, + { url = "https://files.pythonhosted.org/packages/6c/77/d77701bbef72892affe060cdacb7a2ed7fd68dae3b477a8642f15ad3b132/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2", size = 14073, upload-time = "2024-02-02T16:31:11.442Z" }, + { url = "https://files.pythonhosted.org/packages/d9/a7/1e558b4f78454c8a3a0199292d96159eb4d091f983bc35ef258314fe7269/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8", size = 26486, upload-time = "2024-02-02T16:31:12.488Z" }, + { url = "https://files.pythonhosted.org/packages/5f/5a/360da85076688755ea0cceb92472923086993e86b5613bbae9fbc14136b0/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3", size = 25685, upload-time = "2024-02-02T16:31:13.726Z" }, + { url = "https://files.pythonhosted.org/packages/6a/18/ae5a258e3401f9b8312f92b028c54d7026a97ec3ab20bfaddbdfa7d8cce8/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465", size = 25338, upload-time = "2024-02-02T16:31:14.812Z" }, + { url = "https://files.pythonhosted.org/packages/0b/cc/48206bd61c5b9d0129f4d75243b156929b04c94c09041321456fd06a876d/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e", size = 30439, upload-time = "2024-02-02T16:31:15.946Z" }, + { url = "https://files.pythonhosted.org/packages/d1/06/a41c112ab9ffdeeb5f77bc3e331fdadf97fa65e52e44ba31880f4e7f983c/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea", size = 29531, upload-time = "2024-02-02T16:31:17.13Z" }, + { url = "https://files.pythonhosted.org/packages/02/8c/ab9a463301a50dab04d5472e998acbd4080597abc048166ded5c7aa768c8/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6", size = 29823, upload-time = "2024-02-02T16:31:18.247Z" }, + { url = "https://files.pythonhosted.org/packages/bc/29/9bc18da763496b055d8e98ce476c8e718dcfd78157e17f555ce6dd7d0895/MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf", size = 16658, upload-time = "2024-02-02T16:31:19.583Z" }, + { url = "https://files.pythonhosted.org/packages/f6/f8/4da07de16f10551ca1f640c92b5f316f9394088b183c6a57183df6de5ae4/MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5", size = 17211, upload-time = "2024-02-02T16:31:20.96Z" }, +] + +[[package]] +name = "markupsafe" +version = "3.0.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +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" }, + { url = "https://files.pythonhosted.org/packages/30/ac/0273f6fcb5f42e314c6d8cd99effae6a5354604d461b8d392b5ec9530a54/markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0bf2a864d67e76e5c9a34dc26ec616a66b9888e25e7b9460e1c76d3293bd9dbf", size = 22940, upload-time = "2025-09-27T18:36:22.249Z" }, + { url = "https://files.pythonhosted.org/packages/19/ae/31c1be199ef767124c042c6c3e904da327a2f7f0cd63a0337e1eca2967a8/markupsafe-3.0.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc51efed119bc9cfdf792cdeaa4d67e8f6fcccab66ed4bfdd6bde3e59bfcbb2f", size = 21887, upload-time = "2025-09-27T18:36:23.535Z" }, + { url = "https://files.pythonhosted.org/packages/b2/76/7edcab99d5349a4532a459e1fe64f0b0467a3365056ae550d3bcf3f79e1e/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:068f375c472b3e7acbe2d5318dea141359e6900156b5b2ba06a30b169086b91a", size = 23692, upload-time = "2025-09-27T18:36:24.823Z" }, + { url = "https://files.pythonhosted.org/packages/a4/28/6e74cdd26d7514849143d69f0bf2399f929c37dc2b31e6829fd2045b2765/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:7be7b61bb172e1ed687f1754f8e7484f1c8019780f6f6b0786e76bb01c2ae115", size = 21471, upload-time = "2025-09-27T18:36:25.95Z" }, + { url = "https://files.pythonhosted.org/packages/62/7e/a145f36a5c2945673e590850a6f8014318d5577ed7e5920a4b3448e0865d/markupsafe-3.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f9e130248f4462aaa8e2552d547f36ddadbeaa573879158d721bbd33dfe4743a", size = 22923, upload-time = "2025-09-27T18:36:27.109Z" }, + { url = "https://files.pythonhosted.org/packages/0f/62/d9c46a7f5c9adbeeeda52f5b8d802e1094e9717705a645efc71b0913a0a8/markupsafe-3.0.3-cp311-cp311-win32.whl", hash = "sha256:0db14f5dafddbb6d9208827849fad01f1a2609380add406671a26386cdf15a19", size = 14572, upload-time = "2025-09-27T18:36:28.045Z" }, + { url = "https://files.pythonhosted.org/packages/83/8a/4414c03d3f891739326e1783338e48fb49781cc915b2e0ee052aa490d586/markupsafe-3.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:de8a88e63464af587c950061a5e6a67d3632e36df62b986892331d4620a35c01", size = 15077, upload-time = "2025-09-27T18:36:29.025Z" }, + { url = "https://files.pythonhosted.org/packages/35/73/893072b42e6862f319b5207adc9ae06070f095b358655f077f69a35601f0/markupsafe-3.0.3-cp311-cp311-win_arm64.whl", hash = "sha256:3b562dd9e9ea93f13d53989d23a7e775fdfd1066c33494ff43f5418bc8c58a5c", size = 13876, upload-time = "2025-09-27T18:36:29.954Z" }, + { url = "https://files.pythonhosted.org/packages/5a/72/147da192e38635ada20e0a2e1a51cf8823d2119ce8883f7053879c2199b5/markupsafe-3.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d53197da72cc091b024dd97249dfc7794d6a56530370992a5e1a08983ad9230e", size = 11615, upload-time = "2025-09-27T18:36:30.854Z" }, + { url = "https://files.pythonhosted.org/packages/9a/81/7e4e08678a1f98521201c3079f77db69fb552acd56067661f8c2f534a718/markupsafe-3.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1872df69a4de6aead3491198eaf13810b565bdbeec3ae2dc8780f14458ec73ce", size = 12020, upload-time = "2025-09-27T18:36:31.971Z" }, + { url = "https://files.pythonhosted.org/packages/1e/2c/799f4742efc39633a1b54a92eec4082e4f815314869865d876824c257c1e/markupsafe-3.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3a7e8ae81ae39e62a41ec302f972ba6ae23a5c5396c8e60113e9066ef893da0d", size = 24332, upload-time = "2025-09-27T18:36:32.813Z" }, + { url = "https://files.pythonhosted.org/packages/3c/2e/8d0c2ab90a8c1d9a24f0399058ab8519a3279d1bd4289511d74e909f060e/markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d6dd0be5b5b189d31db7cda48b91d7e0a9795f31430b7f271219ab30f1d3ac9d", size = 22947, upload-time = "2025-09-27T18:36:33.86Z" }, + { url = "https://files.pythonhosted.org/packages/2c/54/887f3092a85238093a0b2154bd629c89444f395618842e8b0c41783898ea/markupsafe-3.0.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:94c6f0bb423f739146aec64595853541634bde58b2135f27f61c1ffd1cd4d16a", size = 21962, upload-time = "2025-09-27T18:36:35.099Z" }, + { url = "https://files.pythonhosted.org/packages/c9/2f/336b8c7b6f4a4d95e91119dc8521402461b74a485558d8f238a68312f11c/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:be8813b57049a7dc738189df53d69395eba14fb99345e0a5994914a3864c8a4b", size = 23760, upload-time = "2025-09-27T18:36:36.001Z" }, + { url = "https://files.pythonhosted.org/packages/32/43/67935f2b7e4982ffb50a4d169b724d74b62a3964bc1a9a527f5ac4f1ee2b/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:83891d0e9fb81a825d9a6d61e3f07550ca70a076484292a70fde82c4b807286f", size = 21529, upload-time = "2025-09-27T18:36:36.906Z" }, + { url = "https://files.pythonhosted.org/packages/89/e0/4486f11e51bbba8b0c041098859e869e304d1c261e59244baa3d295d47b7/markupsafe-3.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:77f0643abe7495da77fb436f50f8dab76dbc6e5fd25d39589a0f1fe6548bfa2b", size = 23015, upload-time = "2025-09-27T18:36:37.868Z" }, + { url = "https://files.pythonhosted.org/packages/2f/e1/78ee7a023dac597a5825441ebd17170785a9dab23de95d2c7508ade94e0e/markupsafe-3.0.3-cp312-cp312-win32.whl", hash = "sha256:d88b440e37a16e651bda4c7c2b930eb586fd15ca7406cb39e211fcff3bf3017d", size = 14540, upload-time = "2025-09-27T18:36:38.761Z" }, + { url = "https://files.pythonhosted.org/packages/aa/5b/bec5aa9bbbb2c946ca2733ef9c4ca91c91b6a24580193e891b5f7dbe8e1e/markupsafe-3.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:26a5784ded40c9e318cfc2bdb30fe164bdb8665ded9cd64d500a34fb42067b1c", size = 15105, upload-time = "2025-09-27T18:36:39.701Z" }, + { url = "https://files.pythonhosted.org/packages/e5/f1/216fc1bbfd74011693a4fd837e7026152e89c4bcf3e77b6692fba9923123/markupsafe-3.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:35add3b638a5d900e807944a078b51922212fb3dedb01633a8defc4b01a3c85f", size = 13906, upload-time = "2025-09-27T18:36:40.689Z" }, + { url = "https://files.pythonhosted.org/packages/38/2f/907b9c7bbba283e68f20259574b13d005c121a0fa4c175f9bed27c4597ff/markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", size = 11622, upload-time = "2025-09-27T18:36:41.777Z" }, + { url = "https://files.pythonhosted.org/packages/9c/d9/5f7756922cdd676869eca1c4e3c0cd0df60ed30199ffd775e319089cb3ed/markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", size = 12029, upload-time = "2025-09-27T18:36:43.257Z" }, + { url = "https://files.pythonhosted.org/packages/00/07/575a68c754943058c78f30db02ee03a64b3c638586fba6a6dd56830b30a3/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", size = 24374, upload-time = "2025-09-27T18:36:44.508Z" }, + { url = "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", size = 22980, upload-time = "2025-09-27T18:36:45.385Z" }, + { url = "https://files.pythonhosted.org/packages/7f/71/544260864f893f18b6827315b988c146b559391e6e7e8f7252839b1b846a/markupsafe-3.0.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", size = 21990, upload-time = "2025-09-27T18:36:46.916Z" }, + { url = "https://files.pythonhosted.org/packages/c2/28/b50fc2f74d1ad761af2f5dcce7492648b983d00a65b8c0e0cb457c82ebbe/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", size = 23784, upload-time = "2025-09-27T18:36:47.884Z" }, + { url = "https://files.pythonhosted.org/packages/ed/76/104b2aa106a208da8b17a2fb72e033a5a9d7073c68f7e508b94916ed47a9/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", size = 21588, upload-time = "2025-09-27T18:36:48.82Z" }, + { url = "https://files.pythonhosted.org/packages/b5/99/16a5eb2d140087ebd97180d95249b00a03aa87e29cc224056274f2e45fd6/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", size = 23041, upload-time = "2025-09-27T18:36:49.797Z" }, + { url = "https://files.pythonhosted.org/packages/19/bc/e7140ed90c5d61d77cea142eed9f9c303f4c4806f60a1044c13e3f1471d0/markupsafe-3.0.3-cp313-cp313-win32.whl", hash = "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed", size = 14543, upload-time = "2025-09-27T18:36:51.584Z" }, + { url = "https://files.pythonhosted.org/packages/05/73/c4abe620b841b6b791f2edc248f556900667a5a1cf023a6646967ae98335/markupsafe-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5", size = 15113, upload-time = "2025-09-27T18:36:52.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3a/fa34a0f7cfef23cf9500d68cb7c32dd64ffd58a12b09225fb03dd37d5b80/markupsafe-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485", size = 13911, upload-time = "2025-09-27T18:36:53.513Z" }, + { url = "https://files.pythonhosted.org/packages/e4/d7/e05cd7efe43a88a17a37b3ae96e79a19e846f3f456fe79c57ca61356ef01/markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", size = 11658, upload-time = "2025-09-27T18:36:54.819Z" }, + { url = "https://files.pythonhosted.org/packages/99/9e/e412117548182ce2148bdeacdda3bb494260c0b0184360fe0d56389b523b/markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", size = 12066, upload-time = "2025-09-27T18:36:55.714Z" }, + { url = "https://files.pythonhosted.org/packages/bc/e6/fa0ffcda717ef64a5108eaa7b4f5ed28d56122c9a6d70ab8b72f9f715c80/markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", size = 25639, upload-time = "2025-09-27T18:36:56.908Z" }, + { url = "https://files.pythonhosted.org/packages/96/ec/2102e881fe9d25fc16cb4b25d5f5cde50970967ffa5dddafdb771237062d/markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", size = 23569, upload-time = "2025-09-27T18:36:57.913Z" }, + { url = "https://files.pythonhosted.org/packages/4b/30/6f2fce1f1f205fc9323255b216ca8a235b15860c34b6798f810f05828e32/markupsafe-3.0.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", size = 23284, upload-time = "2025-09-27T18:36:58.833Z" }, + { url = "https://files.pythonhosted.org/packages/58/47/4a0ccea4ab9f5dcb6f79c0236d954acb382202721e704223a8aafa38b5c8/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", size = 24801, upload-time = "2025-09-27T18:36:59.739Z" }, + { url = "https://files.pythonhosted.org/packages/6a/70/3780e9b72180b6fecb83a4814d84c3bf4b4ae4bf0b19c27196104149734c/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", size = 22769, upload-time = "2025-09-27T18:37:00.719Z" }, + { url = "https://files.pythonhosted.org/packages/98/c5/c03c7f4125180fc215220c035beac6b9cb684bc7a067c84fc69414d315f5/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", size = 23642, upload-time = "2025-09-27T18:37:01.673Z" }, + { url = "https://files.pythonhosted.org/packages/80/d6/2d1b89f6ca4bff1036499b1e29a1d02d282259f3681540e16563f27ebc23/markupsafe-3.0.3-cp313-cp313t-win32.whl", hash = "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354", size = 14612, upload-time = "2025-09-27T18:37:02.639Z" }, + { url = "https://files.pythonhosted.org/packages/2b/98/e48a4bfba0a0ffcf9925fe2d69240bfaa19c6f7507b8cd09c70684a53c1e/markupsafe-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218", size = 15200, upload-time = "2025-09-27T18:37:03.582Z" }, + { url = "https://files.pythonhosted.org/packages/0e/72/e3cc540f351f316e9ed0f092757459afbc595824ca724cbc5a5d4263713f/markupsafe-3.0.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287", size = 13973, upload-time = "2025-09-27T18:37:04.929Z" }, + { url = "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", size = 11619, upload-time = "2025-09-27T18:37:06.342Z" }, + { url = "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", size = 12029, upload-time = "2025-09-27T18:37:07.213Z" }, + { url = "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", size = 24408, upload-time = "2025-09-27T18:37:09.572Z" }, + { url = "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", size = 23005, upload-time = "2025-09-27T18:37:10.58Z" }, + { url = "https://files.pythonhosted.org/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", size = 22048, upload-time = "2025-09-27T18:37:11.547Z" }, + { url = "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", size = 23821, upload-time = "2025-09-27T18:37:12.48Z" }, + { url = "https://files.pythonhosted.org/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", size = 21606, upload-time = "2025-09-27T18:37:13.485Z" }, + { url = "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", size = 23043, upload-time = "2025-09-27T18:37:14.408Z" }, + { url = "https://files.pythonhosted.org/packages/46/11/f333a06fc16236d5238bfe74daccbca41459dcd8d1fa952e8fbd5dccfb70/markupsafe-3.0.3-cp314-cp314-win32.whl", hash = "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", size = 14747, upload-time = "2025-09-27T18:37:15.36Z" }, + { url = "https://files.pythonhosted.org/packages/28/52/182836104b33b444e400b14f797212f720cbc9ed6ba34c800639d154e821/markupsafe-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", size = 15341, upload-time = "2025-09-27T18:37:16.496Z" }, + { url = "https://files.pythonhosted.org/packages/6f/18/acf23e91bd94fd7b3031558b1f013adfa21a8e407a3fdb32745538730382/markupsafe-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", size = 14073, upload-time = "2025-09-27T18:37:17.476Z" }, + { url = "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", size = 11661, upload-time = "2025-09-27T18:37:18.453Z" }, + { url = "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", size = 12069, upload-time = "2025-09-27T18:37:19.332Z" }, + { url = "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", size = 25670, upload-time = "2025-09-27T18:37:20.245Z" }, + { url = "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", size = 23598, upload-time = "2025-09-27T18:37:21.177Z" }, + { url = "https://files.pythonhosted.org/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", size = 23261, upload-time = "2025-09-27T18:37:22.167Z" }, + { url = "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", size = 24835, upload-time = "2025-09-27T18:37:23.296Z" }, + { url = "https://files.pythonhosted.org/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", size = 22733, upload-time = "2025-09-27T18:37:24.237Z" }, + { url = "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", size = 23672, upload-time = "2025-09-27T18:37:25.271Z" }, + { url = "https://files.pythonhosted.org/packages/fb/df/5bd7a48c256faecd1d36edc13133e51397e41b73bb77e1a69deab746ebac/markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", size = 14819, upload-time = "2025-09-27T18:37:26.285Z" }, + { url = "https://files.pythonhosted.org/packages/1a/8a/0402ba61a2f16038b48b39bccca271134be00c5c9f0f623208399333c448/markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", size = 15426, upload-time = "2025-09-27T18:37:27.316Z" }, + { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146, upload-time = "2025-09-27T18:37:28.327Z" }, + { url = "https://files.pythonhosted.org/packages/56/23/0d8c13a44bde9154821586520840643467aee574d8ce79a17da539ee7fed/markupsafe-3.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:15d939a21d546304880945ca1ecb8a039db6b4dc49b2c5a400387cdae6a62e26", size = 11623, upload-time = "2025-09-27T18:37:29.296Z" }, + { url = "https://files.pythonhosted.org/packages/fd/23/07a2cb9a8045d5f3f0890a8c3bc0859d7a47bfd9a560b563899bec7b72ed/markupsafe-3.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f71a396b3bf33ecaa1626c255855702aca4d3d9fea5e051b41ac59a9c1c41edc", size = 12049, upload-time = "2025-09-27T18:37:30.234Z" }, + { url = "https://files.pythonhosted.org/packages/bc/e4/6be85eb81503f8e11b61c0b6369b6e077dcf0a74adbd9ebf6b349937b4e9/markupsafe-3.0.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0f4b68347f8c5eab4a13419215bdfd7f8c9b19f2b25520968adfad23eb0ce60c", size = 21923, upload-time = "2025-09-27T18:37:31.177Z" }, + { url = "https://files.pythonhosted.org/packages/6f/bc/4dc914ead3fe6ddaef035341fee0fc956949bbd27335b611829292b89ee2/markupsafe-3.0.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e8fc20152abba6b83724d7ff268c249fa196d8259ff481f3b1476383f8f24e42", size = 20543, upload-time = "2025-09-27T18:37:32.168Z" }, + { url = "https://files.pythonhosted.org/packages/89/6e/5fe81fbcfba4aef4093d5f856e5c774ec2057946052d18d168219b7bd9f9/markupsafe-3.0.3-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:949b8d66bc381ee8b007cd945914c721d9aba8e27f71959d750a46f7c282b20b", size = 20585, upload-time = "2025-09-27T18:37:33.166Z" }, + { url = "https://files.pythonhosted.org/packages/f6/f6/e0e5a3d3ae9c4020f696cd055f940ef86b64fe88de26f3a0308b9d3d048c/markupsafe-3.0.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:3537e01efc9d4dccdf77221fb1cb3b8e1a38d5428920e0657ce299b20324d758", size = 21387, upload-time = "2025-09-27T18:37:34.185Z" }, + { url = "https://files.pythonhosted.org/packages/c8/25/651753ef4dea08ea790f4fbb65146a9a44a014986996ca40102e237aa49a/markupsafe-3.0.3-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:591ae9f2a647529ca990bc681daebdd52c8791ff06c2bfa05b65163e28102ef2", size = 20133, upload-time = "2025-09-27T18:37:35.138Z" }, + { url = "https://files.pythonhosted.org/packages/dc/0a/c3cf2b4fef5f0426e8a6d7fce3cb966a17817c568ce59d76b92a233fdbec/markupsafe-3.0.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a320721ab5a1aba0a233739394eb907f8c8da5c98c9181d1161e77a0c8e36f2d", size = 20588, upload-time = "2025-09-27T18:37:36.096Z" }, + { url = "https://files.pythonhosted.org/packages/cd/1b/a7782984844bd519ad4ffdbebbba2671ec5d0ebbeac34736c15fb86399e8/markupsafe-3.0.3-cp39-cp39-win32.whl", hash = "sha256:df2449253ef108a379b8b5d6b43f4b1a8e81a061d6537becd5582fba5f9196d7", size = 14566, upload-time = "2025-09-27T18:37:37.09Z" }, + { url = "https://files.pythonhosted.org/packages/18/1f/8d9c20e1c9440e215a44be5ab64359e207fcb4f675543f1cf9a2a7f648d0/markupsafe-3.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:7c3fb7d25180895632e5d3148dbdc29ea38ccb7fd210aa27acbd1201a1902c6e", size = 15053, upload-time = "2025-09-27T18:37:38.054Z" }, + { url = "https://files.pythonhosted.org/packages/4e/d3/fe08482b5cd995033556d45041a4f4e76e7f0521112a9c9991d40d39825f/markupsafe-3.0.3-cp39-cp39-win_arm64.whl", hash = "sha256:38664109c14ffc9e7437e86b4dceb442b0096dfe3541d7864d9cbe1da4cf36c8", size = 13928, upload-time = "2025-09-27T18:37:39.037Z" }, +] + +[[package]] +name = "mccabe" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e7/ff/0ffefdcac38932a54d2b5eed4e0ba8a408f215002cd178ad1df0f2806ff8/mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325", size = 9658, upload-time = "2022-01-24T01:14:51.113Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/27/1a/1f68f9ba0c207934b35b86a8ca3aad8395a3d6dd7921c0686e23853ff5a9/mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e", size = 7350, upload-time = "2022-01-24T01:14:49.62Z" }, ] [[package]] name = "multidict" -version = "6.6.4" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "typing-extensions", marker = "python_full_version < '3.11'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/69/7f/0652e6ed47ab288e3756ea9c0df8b14950781184d4bd7883f4d87dd41245/multidict-6.6.4.tar.gz", hash = "sha256:d2d4e4787672911b48350df02ed3fa3fffdc2f2e8ca06dd6afdf34189b76a9dd", size = 101843, upload-time = "2025-08-11T12:08:48.217Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/eb/6b/86f353088c1358e76fd30b0146947fddecee812703b604ee901e85cd2a80/multidict-6.6.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b8aa6f0bd8125ddd04a6593437bad6a7e70f300ff4180a531654aa2ab3f6d58f", size = 77054, upload-time = "2025-08-11T12:06:02.99Z" }, - { url = "https://files.pythonhosted.org/packages/19/5d/c01dc3d3788bb877bd7f5753ea6eb23c1beeca8044902a8f5bfb54430f63/multidict-6.6.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b9e5853bbd7264baca42ffc53391b490d65fe62849bf2c690fa3f6273dbcd0cb", size = 44914, upload-time = "2025-08-11T12:06:05.264Z" }, - { url = "https://files.pythonhosted.org/packages/46/44/964dae19ea42f7d3e166474d8205f14bb811020e28bc423d46123ddda763/multidict-6.6.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0af5f9dee472371e36d6ae38bde009bd8ce65ac7335f55dcc240379d7bed1495", size = 44601, upload-time = "2025-08-11T12:06:06.627Z" }, - { url = "https://files.pythonhosted.org/packages/31/20/0616348a1dfb36cb2ab33fc9521de1f27235a397bf3f59338e583afadd17/multidict-6.6.4-cp310-cp310-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:d24f351e4d759f5054b641c81e8291e5d122af0fca5c72454ff77f7cbe492de8", size = 224821, upload-time = "2025-08-11T12:06:08.06Z" }, - { url = "https://files.pythonhosted.org/packages/14/26/5d8923c69c110ff51861af05bd27ca6783011b96725d59ccae6d9daeb627/multidict-6.6.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:db6a3810eec08280a172a6cd541ff4a5f6a97b161d93ec94e6c4018917deb6b7", size = 242608, upload-time = "2025-08-11T12:06:09.697Z" }, - { url = "https://files.pythonhosted.org/packages/5c/cc/e2ad3ba9459aa34fa65cf1f82a5c4a820a2ce615aacfb5143b8817f76504/multidict-6.6.4-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a1b20a9d56b2d81e2ff52ecc0670d583eaabaa55f402e8d16dd062373dbbe796", size = 222324, upload-time = "2025-08-11T12:06:10.905Z" }, - { url = "https://files.pythonhosted.org/packages/19/db/4ed0f65701afbc2cb0c140d2d02928bb0fe38dd044af76e58ad7c54fd21f/multidict-6.6.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8c9854df0eaa610a23494c32a6f44a3a550fb398b6b51a56e8c6b9b3689578db", size = 253234, upload-time = "2025-08-11T12:06:12.658Z" }, - { url = "https://files.pythonhosted.org/packages/94/c1/5160c9813269e39ae14b73debb907bfaaa1beee1762da8c4fb95df4764ed/multidict-6.6.4-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4bb7627fd7a968f41905a4d6343b0d63244a0623f006e9ed989fa2b78f4438a0", size = 251613, upload-time = "2025-08-11T12:06:13.97Z" }, - { url = "https://files.pythonhosted.org/packages/05/a9/48d1bd111fc2f8fb98b2ed7f9a115c55a9355358432a19f53c0b74d8425d/multidict-6.6.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:caebafea30ed049c57c673d0b36238b1748683be2593965614d7b0e99125c877", size = 241649, upload-time = "2025-08-11T12:06:15.204Z" }, - { url = "https://files.pythonhosted.org/packages/85/2a/f7d743df0019408768af8a70d2037546a2be7b81fbb65f040d76caafd4c5/multidict-6.6.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ad887a8250eb47d3ab083d2f98db7f48098d13d42eb7a3b67d8a5c795f224ace", size = 239238, upload-time = "2025-08-11T12:06:16.467Z" }, - { url = "https://files.pythonhosted.org/packages/cb/b8/4f4bb13323c2d647323f7919201493cf48ebe7ded971717bfb0f1a79b6bf/multidict-6.6.4-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:ed8358ae7d94ffb7c397cecb62cbac9578a83ecefc1eba27b9090ee910e2efb6", size = 233517, upload-time = "2025-08-11T12:06:18.107Z" }, - { url = "https://files.pythonhosted.org/packages/33/29/4293c26029ebfbba4f574febd2ed01b6f619cfa0d2e344217d53eef34192/multidict-6.6.4-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:ecab51ad2462197a4c000b6d5701fc8585b80eecb90583635d7e327b7b6923eb", size = 243122, upload-time = "2025-08-11T12:06:19.361Z" }, - { url = "https://files.pythonhosted.org/packages/20/60/a1c53628168aa22447bfde3a8730096ac28086704a0d8c590f3b63388d0c/multidict-6.6.4-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:c5c97aa666cf70e667dfa5af945424ba1329af5dd988a437efeb3a09430389fb", size = 248992, upload-time = "2025-08-11T12:06:20.661Z" }, - { url = "https://files.pythonhosted.org/packages/a3/3b/55443a0c372f33cae5d9ec37a6a973802884fa0ab3586659b197cf8cc5e9/multidict-6.6.4-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:9a950b7cf54099c1209f455ac5970b1ea81410f2af60ed9eb3c3f14f0bfcf987", size = 243708, upload-time = "2025-08-11T12:06:21.891Z" }, - { url = "https://files.pythonhosted.org/packages/7c/60/a18c6900086769312560b2626b18e8cca22d9e85b1186ba77f4755b11266/multidict-6.6.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:163c7ea522ea9365a8a57832dea7618e6cbdc3cd75f8c627663587459a4e328f", size = 237498, upload-time = "2025-08-11T12:06:23.206Z" }, - { url = "https://files.pythonhosted.org/packages/11/3d/8bdd8bcaff2951ce2affccca107a404925a2beafedd5aef0b5e4a71120a6/multidict-6.6.4-cp310-cp310-win32.whl", hash = "sha256:17d2cbbfa6ff20821396b25890f155f40c986f9cfbce5667759696d83504954f", size = 41415, upload-time = "2025-08-11T12:06:24.77Z" }, - { url = "https://files.pythonhosted.org/packages/c0/53/cab1ad80356a4cd1b685a254b680167059b433b573e53872fab245e9fc95/multidict-6.6.4-cp310-cp310-win_amd64.whl", hash = "sha256:ce9a40fbe52e57e7edf20113a4eaddfacac0561a0879734e636aa6d4bb5e3fb0", size = 46046, upload-time = "2025-08-11T12:06:25.893Z" }, - { url = "https://files.pythonhosted.org/packages/cf/9a/874212b6f5c1c2d870d0a7adc5bb4cfe9b0624fa15cdf5cf757c0f5087ae/multidict-6.6.4-cp310-cp310-win_arm64.whl", hash = "sha256:01d0959807a451fe9fdd4da3e139cb5b77f7328baf2140feeaf233e1d777b729", size = 43147, upload-time = "2025-08-11T12:06:27.534Z" }, - { url = "https://files.pythonhosted.org/packages/6b/7f/90a7f01e2d005d6653c689039977f6856718c75c5579445effb7e60923d1/multidict-6.6.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c7a0e9b561e6460484318a7612e725df1145d46b0ef57c6b9866441bf6e27e0c", size = 76472, upload-time = "2025-08-11T12:06:29.006Z" }, - { url = "https://files.pythonhosted.org/packages/54/a3/bed07bc9e2bb302ce752f1dabc69e884cd6a676da44fb0e501b246031fdd/multidict-6.6.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6bf2f10f70acc7a2446965ffbc726e5fc0b272c97a90b485857e5c70022213eb", size = 44634, upload-time = "2025-08-11T12:06:30.374Z" }, - { url = "https://files.pythonhosted.org/packages/a7/4b/ceeb4f8f33cf81277da464307afeaf164fb0297947642585884f5cad4f28/multidict-6.6.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:66247d72ed62d5dd29752ffc1d3b88f135c6a8de8b5f63b7c14e973ef5bda19e", size = 44282, upload-time = "2025-08-11T12:06:31.958Z" }, - { url = "https://files.pythonhosted.org/packages/03/35/436a5da8702b06866189b69f655ffdb8f70796252a8772a77815f1812679/multidict-6.6.4-cp311-cp311-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:105245cc6b76f51e408451a844a54e6823bbd5a490ebfe5bdfc79798511ceded", size = 229696, upload-time = "2025-08-11T12:06:33.087Z" }, - { url = "https://files.pythonhosted.org/packages/b6/0e/915160be8fecf1fca35f790c08fb74ca684d752fcba62c11daaf3d92c216/multidict-6.6.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cbbc54e58b34c3bae389ef00046be0961f30fef7cb0dd9c7756aee376a4f7683", size = 246665, upload-time = "2025-08-11T12:06:34.448Z" }, - { url = "https://files.pythonhosted.org/packages/08/ee/2f464330acd83f77dcc346f0b1a0eaae10230291450887f96b204b8ac4d3/multidict-6.6.4-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:56c6b3652f945c9bc3ac6c8178cd93132b8d82dd581fcbc3a00676c51302bc1a", size = 225485, upload-time = "2025-08-11T12:06:35.672Z" }, - { url = "https://files.pythonhosted.org/packages/71/cc/9a117f828b4d7fbaec6adeed2204f211e9caf0a012692a1ee32169f846ae/multidict-6.6.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b95494daf857602eccf4c18ca33337dd2be705bccdb6dddbfc9d513e6addb9d9", size = 257318, upload-time = "2025-08-11T12:06:36.98Z" }, - { url = "https://files.pythonhosted.org/packages/25/77/62752d3dbd70e27fdd68e86626c1ae6bccfebe2bb1f84ae226363e112f5a/multidict-6.6.4-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e5b1413361cef15340ab9dc61523e653d25723e82d488ef7d60a12878227ed50", size = 254689, upload-time = "2025-08-11T12:06:38.233Z" }, - { url = "https://files.pythonhosted.org/packages/00/6e/fac58b1072a6fc59af5e7acb245e8754d3e1f97f4f808a6559951f72a0d4/multidict-6.6.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e167bf899c3d724f9662ef00b4f7fef87a19c22b2fead198a6f68b263618df52", size = 246709, upload-time = "2025-08-11T12:06:39.517Z" }, - { url = "https://files.pythonhosted.org/packages/01/ef/4698d6842ef5e797c6db7744b0081e36fb5de3d00002cc4c58071097fac3/multidict-6.6.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:aaea28ba20a9026dfa77f4b80369e51cb767c61e33a2d4043399c67bd95fb7c6", size = 243185, upload-time = "2025-08-11T12:06:40.796Z" }, - { url = "https://files.pythonhosted.org/packages/aa/c9/d82e95ae1d6e4ef396934e9b0e942dfc428775f9554acf04393cce66b157/multidict-6.6.4-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:8c91cdb30809a96d9ecf442ec9bc45e8cfaa0f7f8bdf534e082c2443a196727e", size = 237838, upload-time = "2025-08-11T12:06:42.595Z" }, - { url = "https://files.pythonhosted.org/packages/57/cf/f94af5c36baaa75d44fab9f02e2a6bcfa0cd90acb44d4976a80960759dbc/multidict-6.6.4-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:1a0ccbfe93ca114c5d65a2471d52d8829e56d467c97b0e341cf5ee45410033b3", size = 246368, upload-time = "2025-08-11T12:06:44.304Z" }, - { url = "https://files.pythonhosted.org/packages/4a/fe/29f23460c3d995f6a4b678cb2e9730e7277231b981f0b234702f0177818a/multidict-6.6.4-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:55624b3f321d84c403cb7d8e6e982f41ae233d85f85db54ba6286f7295dc8a9c", size = 253339, upload-time = "2025-08-11T12:06:45.597Z" }, - { url = "https://files.pythonhosted.org/packages/29/b6/fd59449204426187b82bf8a75f629310f68c6adc9559dc922d5abe34797b/multidict-6.6.4-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:4a1fb393a2c9d202cb766c76208bd7945bc194eba8ac920ce98c6e458f0b524b", size = 246933, upload-time = "2025-08-11T12:06:46.841Z" }, - { url = "https://files.pythonhosted.org/packages/19/52/d5d6b344f176a5ac3606f7a61fb44dc746e04550e1a13834dff722b8d7d6/multidict-6.6.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:43868297a5759a845fa3a483fb4392973a95fb1de891605a3728130c52b8f40f", size = 242225, upload-time = "2025-08-11T12:06:48.588Z" }, - { url = "https://files.pythonhosted.org/packages/ec/d3/5b2281ed89ff4d5318d82478a2a2450fcdfc3300da48ff15c1778280ad26/multidict-6.6.4-cp311-cp311-win32.whl", hash = "sha256:ed3b94c5e362a8a84d69642dbeac615452e8af9b8eb825b7bc9f31a53a1051e2", size = 41306, upload-time = "2025-08-11T12:06:49.95Z" }, - { url = "https://files.pythonhosted.org/packages/74/7d/36b045c23a1ab98507aefd44fd8b264ee1dd5e5010543c6fccf82141ccef/multidict-6.6.4-cp311-cp311-win_amd64.whl", hash = "sha256:d8c112f7a90d8ca5d20213aa41eac690bb50a76da153e3afb3886418e61cb22e", size = 46029, upload-time = "2025-08-11T12:06:51.082Z" }, - { url = "https://files.pythonhosted.org/packages/0f/5e/553d67d24432c5cd52b49047f2d248821843743ee6d29a704594f656d182/multidict-6.6.4-cp311-cp311-win_arm64.whl", hash = "sha256:3bb0eae408fa1996d87247ca0d6a57b7fc1dcf83e8a5c47ab82c558c250d4adf", size = 43017, upload-time = "2025-08-11T12:06:52.243Z" }, - { url = "https://files.pythonhosted.org/packages/05/f6/512ffd8fd8b37fb2680e5ac35d788f1d71bbaf37789d21a820bdc441e565/multidict-6.6.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0ffb87be160942d56d7b87b0fdf098e81ed565add09eaa1294268c7f3caac4c8", size = 76516, upload-time = "2025-08-11T12:06:53.393Z" }, - { url = "https://files.pythonhosted.org/packages/99/58/45c3e75deb8855c36bd66cc1658007589662ba584dbf423d01df478dd1c5/multidict-6.6.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d191de6cbab2aff5de6c5723101705fd044b3e4c7cfd587a1929b5028b9714b3", size = 45394, upload-time = "2025-08-11T12:06:54.555Z" }, - { url = "https://files.pythonhosted.org/packages/fd/ca/e8c4472a93a26e4507c0b8e1f0762c0d8a32de1328ef72fd704ef9cc5447/multidict-6.6.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:38a0956dd92d918ad5feff3db8fcb4a5eb7dba114da917e1a88475619781b57b", size = 43591, upload-time = "2025-08-11T12:06:55.672Z" }, - { url = "https://files.pythonhosted.org/packages/05/51/edf414f4df058574a7265034d04c935aa84a89e79ce90fcf4df211f47b16/multidict-6.6.4-cp312-cp312-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:6865f6d3b7900ae020b495d599fcf3765653bc927951c1abb959017f81ae8287", size = 237215, upload-time = "2025-08-11T12:06:57.213Z" }, - { url = "https://files.pythonhosted.org/packages/c8/45/8b3d6dbad8cf3252553cc41abea09ad527b33ce47a5e199072620b296902/multidict-6.6.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0a2088c126b6f72db6c9212ad827d0ba088c01d951cee25e758c450da732c138", size = 258299, upload-time = "2025-08-11T12:06:58.946Z" }, - { url = "https://files.pythonhosted.org/packages/3c/e8/8ca2e9a9f5a435fc6db40438a55730a4bf4956b554e487fa1b9ae920f825/multidict-6.6.4-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0f37bed7319b848097085d7d48116f545985db988e2256b2e6f00563a3416ee6", size = 242357, upload-time = "2025-08-11T12:07:00.301Z" }, - { url = "https://files.pythonhosted.org/packages/0f/84/80c77c99df05a75c28490b2af8f7cba2a12621186e0a8b0865d8e745c104/multidict-6.6.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:01368e3c94032ba6ca0b78e7ccb099643466cf24f8dc8eefcfdc0571d56e58f9", size = 268369, upload-time = "2025-08-11T12:07:01.638Z" }, - { url = "https://files.pythonhosted.org/packages/0d/e9/920bfa46c27b05fb3e1ad85121fd49f441492dca2449c5bcfe42e4565d8a/multidict-6.6.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8fe323540c255db0bffee79ad7f048c909f2ab0edb87a597e1c17da6a54e493c", size = 269341, upload-time = "2025-08-11T12:07:02.943Z" }, - { url = "https://files.pythonhosted.org/packages/af/65/753a2d8b05daf496f4a9c367fe844e90a1b2cac78e2be2c844200d10cc4c/multidict-6.6.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8eb3025f17b0a4c3cd08cda49acf312a19ad6e8a4edd9dbd591e6506d999402", size = 256100, upload-time = "2025-08-11T12:07:04.564Z" }, - { url = "https://files.pythonhosted.org/packages/09/54/655be13ae324212bf0bc15d665a4e34844f34c206f78801be42f7a0a8aaa/multidict-6.6.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:bbc14f0365534d35a06970d6a83478b249752e922d662dc24d489af1aa0d1be7", size = 253584, upload-time = "2025-08-11T12:07:05.914Z" }, - { url = "https://files.pythonhosted.org/packages/5c/74/ab2039ecc05264b5cec73eb018ce417af3ebb384ae9c0e9ed42cb33f8151/multidict-6.6.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:75aa52fba2d96bf972e85451b99d8e19cc37ce26fd016f6d4aa60da9ab2b005f", size = 251018, upload-time = "2025-08-11T12:07:08.301Z" }, - { url = "https://files.pythonhosted.org/packages/af/0a/ccbb244ac848e56c6427f2392741c06302bbfba49c0042f1eb3c5b606497/multidict-6.6.4-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4fefd4a815e362d4f011919d97d7b4a1e566f1dde83dc4ad8cfb5b41de1df68d", size = 251477, upload-time = "2025-08-11T12:07:10.248Z" }, - { url = "https://files.pythonhosted.org/packages/0e/b0/0ed49bba775b135937f52fe13922bc64a7eaf0a3ead84a36e8e4e446e096/multidict-6.6.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:db9801fe021f59a5b375ab778973127ca0ac52429a26e2fd86aa9508f4d26eb7", size = 263575, upload-time = "2025-08-11T12:07:11.928Z" }, - { url = "https://files.pythonhosted.org/packages/3e/d9/7fb85a85e14de2e44dfb6a24f03c41e2af8697a6df83daddb0e9b7569f73/multidict-6.6.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:a650629970fa21ac1fb06ba25dabfc5b8a2054fcbf6ae97c758aa956b8dba802", size = 259649, upload-time = "2025-08-11T12:07:13.244Z" }, - { url = "https://files.pythonhosted.org/packages/03/9e/b3a459bcf9b6e74fa461a5222a10ff9b544cb1cd52fd482fb1b75ecda2a2/multidict-6.6.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:452ff5da78d4720d7516a3a2abd804957532dd69296cb77319c193e3ffb87e24", size = 251505, upload-time = "2025-08-11T12:07:14.57Z" }, - { url = "https://files.pythonhosted.org/packages/86/a2/8022f78f041dfe6d71e364001a5cf987c30edfc83c8a5fb7a3f0974cff39/multidict-6.6.4-cp312-cp312-win32.whl", hash = "sha256:8c2fcb12136530ed19572bbba61b407f655e3953ba669b96a35036a11a485793", size = 41888, upload-time = "2025-08-11T12:07:15.904Z" }, - { url = "https://files.pythonhosted.org/packages/c7/eb/d88b1780d43a56db2cba24289fa744a9d216c1a8546a0dc3956563fd53ea/multidict-6.6.4-cp312-cp312-win_amd64.whl", hash = "sha256:047d9425860a8c9544fed1b9584f0c8bcd31bcde9568b047c5e567a1025ecd6e", size = 46072, upload-time = "2025-08-11T12:07:17.045Z" }, - { url = "https://files.pythonhosted.org/packages/9f/16/b929320bf5750e2d9d4931835a4c638a19d2494a5b519caaaa7492ebe105/multidict-6.6.4-cp312-cp312-win_arm64.whl", hash = "sha256:14754eb72feaa1e8ae528468f24250dd997b8e2188c3d2f593f9eba259e4b364", size = 43222, upload-time = "2025-08-11T12:07:18.328Z" }, - { url = "https://files.pythonhosted.org/packages/3a/5d/e1db626f64f60008320aab00fbe4f23fc3300d75892a3381275b3d284580/multidict-6.6.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f46a6e8597f9bd71b31cc708195d42b634c8527fecbcf93febf1052cacc1f16e", size = 75848, upload-time = "2025-08-11T12:07:19.912Z" }, - { url = "https://files.pythonhosted.org/packages/4c/aa/8b6f548d839b6c13887253af4e29c939af22a18591bfb5d0ee6f1931dae8/multidict-6.6.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:22e38b2bc176c5eb9c0a0e379f9d188ae4cd8b28c0f53b52bce7ab0a9e534657", size = 45060, upload-time = "2025-08-11T12:07:21.163Z" }, - { url = "https://files.pythonhosted.org/packages/eb/c6/f5e97e5d99a729bc2aa58eb3ebfa9f1e56a9b517cc38c60537c81834a73f/multidict-6.6.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5df8afd26f162da59e218ac0eefaa01b01b2e6cd606cffa46608f699539246da", size = 43269, upload-time = "2025-08-11T12:07:22.392Z" }, - { url = "https://files.pythonhosted.org/packages/dc/31/d54eb0c62516776f36fe67f84a732f97e0b0e12f98d5685bebcc6d396910/multidict-6.6.4-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:49517449b58d043023720aa58e62b2f74ce9b28f740a0b5d33971149553d72aa", size = 237158, upload-time = "2025-08-11T12:07:23.636Z" }, - { url = "https://files.pythonhosted.org/packages/c4/1c/8a10c1c25b23156e63b12165a929d8eb49a6ed769fdbefb06e6f07c1e50d/multidict-6.6.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ae9408439537c5afdca05edd128a63f56a62680f4b3c234301055d7a2000220f", size = 257076, upload-time = "2025-08-11T12:07:25.049Z" }, - { url = "https://files.pythonhosted.org/packages/ad/86/90e20b5771d6805a119e483fd3d1e8393e745a11511aebca41f0da38c3e2/multidict-6.6.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:87a32d20759dc52a9e850fe1061b6e41ab28e2998d44168a8a341b99ded1dba0", size = 240694, upload-time = "2025-08-11T12:07:26.458Z" }, - { url = "https://files.pythonhosted.org/packages/e7/49/484d3e6b535bc0555b52a0a26ba86e4d8d03fd5587d4936dc59ba7583221/multidict-6.6.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:52e3c8d43cdfff587ceedce9deb25e6ae77daba560b626e97a56ddcad3756879", size = 266350, upload-time = "2025-08-11T12:07:27.94Z" }, - { url = "https://files.pythonhosted.org/packages/bf/b4/aa4c5c379b11895083d50021e229e90c408d7d875471cb3abf721e4670d6/multidict-6.6.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ad8850921d3a8d8ff6fbef790e773cecfc260bbfa0566998980d3fa8f520bc4a", size = 267250, upload-time = "2025-08-11T12:07:29.303Z" }, - { url = "https://files.pythonhosted.org/packages/80/e5/5e22c5bf96a64bdd43518b1834c6d95a4922cc2066b7d8e467dae9b6cee6/multidict-6.6.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:497a2954adc25c08daff36f795077f63ad33e13f19bfff7736e72c785391534f", size = 254900, upload-time = "2025-08-11T12:07:30.764Z" }, - { url = "https://files.pythonhosted.org/packages/17/38/58b27fed927c07035abc02befacab42491e7388ca105e087e6e0215ead64/multidict-6.6.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:024ce601f92d780ca1617ad4be5ac15b501cc2414970ffa2bb2bbc2bd5a68fa5", size = 252355, upload-time = "2025-08-11T12:07:32.205Z" }, - { url = "https://files.pythonhosted.org/packages/d0/a1/dad75d23a90c29c02b5d6f3d7c10ab36c3197613be5d07ec49c7791e186c/multidict-6.6.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:a693fc5ed9bdd1c9e898013e0da4dcc640de7963a371c0bd458e50e046bf6438", size = 250061, upload-time = "2025-08-11T12:07:33.623Z" }, - { url = "https://files.pythonhosted.org/packages/b8/1a/ac2216b61c7f116edab6dc3378cca6c70dc019c9a457ff0d754067c58b20/multidict-6.6.4-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:190766dac95aab54cae5b152a56520fd99298f32a1266d66d27fdd1b5ac00f4e", size = 249675, upload-time = "2025-08-11T12:07:34.958Z" }, - { url = "https://files.pythonhosted.org/packages/d4/79/1916af833b800d13883e452e8e0977c065c4ee3ab7a26941fbfdebc11895/multidict-6.6.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:34d8f2a5ffdceab9dcd97c7a016deb2308531d5f0fced2bb0c9e1df45b3363d7", size = 261247, upload-time = "2025-08-11T12:07:36.588Z" }, - { url = "https://files.pythonhosted.org/packages/c5/65/d1f84fe08ac44a5fc7391cbc20a7cedc433ea616b266284413fd86062f8c/multidict-6.6.4-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:59e8d40ab1f5a8597abcef00d04845155a5693b5da00d2c93dbe88f2050f2812", size = 257960, upload-time = "2025-08-11T12:07:39.735Z" }, - { url = "https://files.pythonhosted.org/packages/13/b5/29ec78057d377b195ac2c5248c773703a6b602e132a763e20ec0457e7440/multidict-6.6.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:467fe64138cfac771f0e949b938c2e1ada2b5af22f39692aa9258715e9ea613a", size = 250078, upload-time = "2025-08-11T12:07:41.525Z" }, - { url = "https://files.pythonhosted.org/packages/c4/0e/7e79d38f70a872cae32e29b0d77024bef7834b0afb406ddae6558d9e2414/multidict-6.6.4-cp313-cp313-win32.whl", hash = "sha256:14616a30fe6d0a48d0a48d1a633ab3b8bec4cf293aac65f32ed116f620adfd69", size = 41708, upload-time = "2025-08-11T12:07:43.405Z" }, - { url = "https://files.pythonhosted.org/packages/9d/34/746696dffff742e97cd6a23da953e55d0ea51fa601fa2ff387b3edcfaa2c/multidict-6.6.4-cp313-cp313-win_amd64.whl", hash = "sha256:40cd05eaeb39e2bc8939451f033e57feaa2ac99e07dbca8afe2be450a4a3b6cf", size = 45912, upload-time = "2025-08-11T12:07:45.082Z" }, - { url = "https://files.pythonhosted.org/packages/c7/87/3bac136181e271e29170d8d71929cdeddeb77f3e8b6a0c08da3a8e9da114/multidict-6.6.4-cp313-cp313-win_arm64.whl", hash = "sha256:f6eb37d511bfae9e13e82cb4d1af36b91150466f24d9b2b8a9785816deb16605", size = 43076, upload-time = "2025-08-11T12:07:46.746Z" }, - { url = "https://files.pythonhosted.org/packages/64/94/0a8e63e36c049b571c9ae41ee301ada29c3fee9643d9c2548d7d558a1d99/multidict-6.6.4-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:6c84378acd4f37d1b507dfa0d459b449e2321b3ba5f2338f9b085cf7a7ba95eb", size = 82812, upload-time = "2025-08-11T12:07:48.402Z" }, - { url = "https://files.pythonhosted.org/packages/25/1a/be8e369dfcd260d2070a67e65dd3990dd635cbd735b98da31e00ea84cd4e/multidict-6.6.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0e0558693063c75f3d952abf645c78f3c5dfdd825a41d8c4d8156fc0b0da6e7e", size = 48313, upload-time = "2025-08-11T12:07:49.679Z" }, - { url = "https://files.pythonhosted.org/packages/26/5a/dd4ade298674b2f9a7b06a32c94ffbc0497354df8285f27317c66433ce3b/multidict-6.6.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3f8e2384cb83ebd23fd07e9eada8ba64afc4c759cd94817433ab8c81ee4b403f", size = 46777, upload-time = "2025-08-11T12:07:51.318Z" }, - { url = "https://files.pythonhosted.org/packages/89/db/98aa28bc7e071bfba611ac2ae803c24e96dd3a452b4118c587d3d872c64c/multidict-6.6.4-cp313-cp313t-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:f996b87b420995a9174b2a7c1a8daf7db4750be6848b03eb5e639674f7963773", size = 229321, upload-time = "2025-08-11T12:07:52.965Z" }, - { url = "https://files.pythonhosted.org/packages/c7/bc/01ddda2a73dd9d167bd85d0e8ef4293836a8f82b786c63fb1a429bc3e678/multidict-6.6.4-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cc356250cffd6e78416cf5b40dc6a74f1edf3be8e834cf8862d9ed5265cf9b0e", size = 249954, upload-time = "2025-08-11T12:07:54.423Z" }, - { url = "https://files.pythonhosted.org/packages/06/78/6b7c0f020f9aa0acf66d0ab4eb9f08375bac9a50ff5e3edb1c4ccd59eafc/multidict-6.6.4-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:dadf95aa862714ea468a49ad1e09fe00fcc9ec67d122f6596a8d40caf6cec7d0", size = 228612, upload-time = "2025-08-11T12:07:55.914Z" }, - { url = "https://files.pythonhosted.org/packages/00/44/3faa416f89b2d5d76e9d447296a81521e1c832ad6e40b92f990697b43192/multidict-6.6.4-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7dd57515bebffd8ebd714d101d4c434063322e4fe24042e90ced41f18b6d3395", size = 257528, upload-time = "2025-08-11T12:07:57.371Z" }, - { url = "https://files.pythonhosted.org/packages/05/5f/77c03b89af0fcb16f018f668207768191fb9dcfb5e3361a5e706a11db2c9/multidict-6.6.4-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:967af5f238ebc2eb1da4e77af5492219fbd9b4b812347da39a7b5f5c72c0fa45", size = 256329, upload-time = "2025-08-11T12:07:58.844Z" }, - { url = "https://files.pythonhosted.org/packages/cf/e9/ed750a2a9afb4f8dc6f13dc5b67b514832101b95714f1211cd42e0aafc26/multidict-6.6.4-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2a4c6875c37aae9794308ec43e3530e4aa0d36579ce38d89979bbf89582002bb", size = 247928, upload-time = "2025-08-11T12:08:01.037Z" }, - { url = "https://files.pythonhosted.org/packages/1f/b5/e0571bc13cda277db7e6e8a532791d4403dacc9850006cb66d2556e649c0/multidict-6.6.4-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:7f683a551e92bdb7fac545b9c6f9fa2aebdeefa61d607510b3533286fcab67f5", size = 245228, upload-time = "2025-08-11T12:08:02.96Z" }, - { url = "https://files.pythonhosted.org/packages/f3/a3/69a84b0eccb9824491f06368f5b86e72e4af54c3067c37c39099b6687109/multidict-6.6.4-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:3ba5aaf600edaf2a868a391779f7a85d93bed147854925f34edd24cc70a3e141", size = 235869, upload-time = "2025-08-11T12:08:04.746Z" }, - { url = "https://files.pythonhosted.org/packages/a9/9d/28802e8f9121a6a0804fa009debf4e753d0a59969ea9f70be5f5fdfcb18f/multidict-6.6.4-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:580b643b7fd2c295d83cad90d78419081f53fd532d1f1eb67ceb7060f61cff0d", size = 243446, upload-time = "2025-08-11T12:08:06.332Z" }, - { url = "https://files.pythonhosted.org/packages/38/ea/6c98add069b4878c1d66428a5f5149ddb6d32b1f9836a826ac764b9940be/multidict-6.6.4-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:37b7187197da6af3ee0b044dbc9625afd0c885f2800815b228a0e70f9a7f473d", size = 252299, upload-time = "2025-08-11T12:08:07.931Z" }, - { url = "https://files.pythonhosted.org/packages/3a/09/8fe02d204473e14c0af3affd50af9078839dfca1742f025cca765435d6b4/multidict-6.6.4-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e1b93790ed0bc26feb72e2f08299691ceb6da5e9e14a0d13cc74f1869af327a0", size = 246926, upload-time = "2025-08-11T12:08:09.467Z" }, - { url = "https://files.pythonhosted.org/packages/37/3d/7b1e10d774a6df5175ecd3c92bff069e77bed9ec2a927fdd4ff5fe182f67/multidict-6.6.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a506a77ddee1efcca81ecbeae27ade3e09cdf21a8ae854d766c2bb4f14053f92", size = 243383, upload-time = "2025-08-11T12:08:10.981Z" }, - { url = "https://files.pythonhosted.org/packages/50/b0/a6fae46071b645ae98786ab738447de1ef53742eaad949f27e960864bb49/multidict-6.6.4-cp313-cp313t-win32.whl", hash = "sha256:f93b2b2279883d1d0a9e1bd01f312d6fc315c5e4c1f09e112e4736e2f650bc4e", size = 47775, upload-time = "2025-08-11T12:08:12.439Z" }, - { url = "https://files.pythonhosted.org/packages/b2/0a/2436550b1520091af0600dff547913cb2d66fbac27a8c33bc1b1bccd8d98/multidict-6.6.4-cp313-cp313t-win_amd64.whl", hash = "sha256:6d46a180acdf6e87cc41dc15d8f5c2986e1e8739dc25dbb7dac826731ef381a4", size = 53100, upload-time = "2025-08-11T12:08:13.823Z" }, - { url = "https://files.pythonhosted.org/packages/97/ea/43ac51faff934086db9c072a94d327d71b7d8b40cd5dcb47311330929ef0/multidict-6.6.4-cp313-cp313t-win_arm64.whl", hash = "sha256:756989334015e3335d087a27331659820d53ba432befdef6a718398b0a8493ad", size = 45501, upload-time = "2025-08-11T12:08:15.173Z" }, - { url = "https://files.pythonhosted.org/packages/d4/d3/f04c5db316caee9b5b2cbba66270b358c922a959855995bedde87134287c/multidict-6.6.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:af7618b591bae552b40dbb6f93f5518328a949dac626ee75927bba1ecdeea9f4", size = 76977, upload-time = "2025-08-11T12:08:16.667Z" }, - { url = "https://files.pythonhosted.org/packages/70/39/a6200417d883e510728ab3caec02d3b66ff09e1c85e0aab2ba311abfdf06/multidict-6.6.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b6819f83aef06f560cb15482d619d0e623ce9bf155115150a85ab11b8342a665", size = 44878, upload-time = "2025-08-11T12:08:18.157Z" }, - { url = "https://files.pythonhosted.org/packages/6f/7e/815be31ed35571b137d65232816f61513fcd97b2717d6a9d7800b5a0c6e0/multidict-6.6.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4d09384e75788861e046330308e7af54dd306aaf20eb760eb1d0de26b2bea2cb", size = 44546, upload-time = "2025-08-11T12:08:19.694Z" }, - { url = "https://files.pythonhosted.org/packages/e2/f1/21b5bff6a8c3e2aff56956c241941ace6b8820e1abe6b12d3c52868a773d/multidict-6.6.4-cp39-cp39-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:a59c63061f1a07b861c004e53869eb1211ffd1a4acbca330e3322efa6dd02978", size = 223020, upload-time = "2025-08-11T12:08:21.554Z" }, - { url = "https://files.pythonhosted.org/packages/15/59/37083f1dd3439979a0ffeb1906818d978d88b4cc7f4600a9f89b1cb6713c/multidict-6.6.4-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:350f6b0fe1ced61e778037fdc7613f4051c8baf64b1ee19371b42a3acdb016a0", size = 240528, upload-time = "2025-08-11T12:08:23.45Z" }, - { url = "https://files.pythonhosted.org/packages/d1/f0/f054d123c87784307a27324c829eb55bcfd2e261eb785fcabbd832c8dc4a/multidict-6.6.4-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0c5cbac6b55ad69cb6aa17ee9343dfbba903118fd530348c330211dc7aa756d1", size = 219540, upload-time = "2025-08-11T12:08:24.965Z" }, - { url = "https://files.pythonhosted.org/packages/e8/26/8f78ce17b7118149c17f238f28fba2a850b660b860f9b024a34d0191030f/multidict-6.6.4-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:630f70c32b8066ddfd920350bc236225814ad94dfa493fe1910ee17fe4365cbb", size = 251182, upload-time = "2025-08-11T12:08:26.511Z" }, - { url = "https://files.pythonhosted.org/packages/00/c3/a21466322d69f6594fe22d9379200f99194d21c12a5bbf8c2a39a46b83b6/multidict-6.6.4-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f8d4916a81697faec6cb724a273bd5457e4c6c43d82b29f9dc02c5542fd21fc9", size = 249371, upload-time = "2025-08-11T12:08:28.075Z" }, - { url = "https://files.pythonhosted.org/packages/c2/8e/2e673124eb05cf8dc82e9265eccde01a36bcbd3193e27799b8377123c976/multidict-6.6.4-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8e42332cf8276bb7645d310cdecca93a16920256a5b01bebf747365f86a1675b", size = 239235, upload-time = "2025-08-11T12:08:29.937Z" }, - { url = "https://files.pythonhosted.org/packages/2b/2d/bdd9f05e7c89e30a4b0e4faf0681a30748f8d1310f68cfdc0e3571e75bd5/multidict-6.6.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f3be27440f7644ab9a13a6fc86f09cdd90b347c3c5e30c6d6d860de822d7cb53", size = 237410, upload-time = "2025-08-11T12:08:31.872Z" }, - { url = "https://files.pythonhosted.org/packages/46/4c/3237b83f8ca9a2673bb08fc340c15da005a80f5cc49748b587c8ae83823b/multidict-6.6.4-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:21f216669109e02ef3e2415ede07f4f8987f00de8cdfa0cc0b3440d42534f9f0", size = 232979, upload-time = "2025-08-11T12:08:33.399Z" }, - { url = "https://files.pythonhosted.org/packages/55/a6/a765decff625ae9bc581aed303cd1837955177dafc558859a69f56f56ba8/multidict-6.6.4-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:d9890d68c45d1aeac5178ded1d1cccf3bc8d7accf1f976f79bf63099fb16e4bd", size = 240979, upload-time = "2025-08-11T12:08:35.02Z" }, - { url = "https://files.pythonhosted.org/packages/6b/2d/9c75975cb0c66ea33cae1443bb265b2b3cd689bffcbc68872565f401da23/multidict-6.6.4-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:edfdcae97cdc5d1a89477c436b61f472c4d40971774ac4729c613b4b133163cb", size = 246849, upload-time = "2025-08-11T12:08:37.038Z" }, - { url = "https://files.pythonhosted.org/packages/3e/71/d21ac0843c1d8751fb5dcf8a1f436625d39d4577bc27829799d09b419af7/multidict-6.6.4-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:0b2e886624be5773e69cf32bcb8534aecdeb38943520b240fed3d5596a430f2f", size = 241798, upload-time = "2025-08-11T12:08:38.669Z" }, - { url = "https://files.pythonhosted.org/packages/94/3d/1d8911e53092837bd11b1c99d71de3e2a9a26f8911f864554677663242aa/multidict-6.6.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:be5bf4b3224948032a845d12ab0f69f208293742df96dc14c4ff9b09e508fc17", size = 235315, upload-time = "2025-08-11T12:08:40.266Z" }, - { url = "https://files.pythonhosted.org/packages/86/c5/4b758df96376f73e936b1942c6c2dfc17e37ed9d5ff3b01a811496966ca0/multidict-6.6.4-cp39-cp39-win32.whl", hash = "sha256:10a68a9191f284fe9d501fef4efe93226e74df92ce7a24e301371293bd4918ae", size = 41434, upload-time = "2025-08-11T12:08:41.965Z" }, - { url = "https://files.pythonhosted.org/packages/58/16/f1dfa2a0f25f2717a5e9e5fe8fd30613f7fe95e3530cec8d11f5de0b709c/multidict-6.6.4-cp39-cp39-win_amd64.whl", hash = "sha256:ee25f82f53262f9ac93bd7e58e47ea1bdcc3393cef815847e397cba17e284210", size = 46186, upload-time = "2025-08-11T12:08:43.367Z" }, - { url = "https://files.pythonhosted.org/packages/88/7d/a0568bac65438c494cb6950b29f394d875a796a237536ac724879cf710c9/multidict-6.6.4-cp39-cp39-win_arm64.whl", hash = "sha256:f9867e55590e0855bcec60d4f9a092b69476db64573c9fe17e92b0c50614c16a", size = 43115, upload-time = "2025-08-11T12:08:45.126Z" }, - { url = "https://files.pythonhosted.org/packages/fd/69/b547032297c7e63ba2af494edba695d781af8a0c6e89e4d06cf848b21d80/multidict-6.6.4-py3-none-any.whl", hash = "sha256:27d8f8e125c07cb954e54d75d04905a9bba8a439c1d84aca94949d4d03d8601c", size = 12313, upload-time = "2025-08-11T12:08:46.891Z" }, -] - -[[package]] -name = "nodeenv" -version = "1.9.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/43/16/fc88b08840de0e0a72a2f9d8c6bae36be573e475a6326ae854bcc549fc45/nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f", size = 47437, upload-time = "2024-06-04T18:44:11.171Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9", size = 22314, upload-time = "2024-06-04T18:44:08.352Z" }, +version = "6.1.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d6/be/504b89a5e9ca731cd47487e91c469064f8ae5af93b7259758dcfc2b9c848/multidict-6.1.0.tar.gz", hash = "sha256:22ae2ebf9b0c69d206c003e2f6a914ea33f0a932d4aa16f236afc049d9958f4a", size = 64002, upload-time = "2024-09-09T23:49:38.163Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/29/68/259dee7fd14cf56a17c554125e534f6274c2860159692a414d0b402b9a6d/multidict-6.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3380252550e372e8511d49481bd836264c009adb826b23fefcc5dd3c69692f60", size = 48628, upload-time = "2024-09-09T23:47:18.278Z" }, + { url = "https://files.pythonhosted.org/packages/50/79/53ba256069fe5386a4a9e80d4e12857ced9de295baf3e20c68cdda746e04/multidict-6.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:99f826cbf970077383d7de805c0681799491cb939c25450b9b5b3ced03ca99f1", size = 29327, upload-time = "2024-09-09T23:47:20.224Z" }, + { url = "https://files.pythonhosted.org/packages/ff/10/71f1379b05b196dae749b5ac062e87273e3f11634f447ebac12a571d90ae/multidict-6.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a114d03b938376557927ab23f1e950827c3b893ccb94b62fd95d430fd0e5cf53", size = 29689, upload-time = "2024-09-09T23:47:21.667Z" }, + { url = "https://files.pythonhosted.org/packages/71/45/70bac4f87438ded36ad4793793c0095de6572d433d98575a5752629ef549/multidict-6.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1c416351ee6271b2f49b56ad7f308072f6f44b37118d69c2cad94f3fa8a40d5", size = 126639, upload-time = "2024-09-09T23:47:23.333Z" }, + { url = "https://files.pythonhosted.org/packages/80/cf/17f35b3b9509b4959303c05379c4bfb0d7dd05c3306039fc79cf035bbac0/multidict-6.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6b5d83030255983181005e6cfbac1617ce9746b219bc2aad52201ad121226581", size = 134315, upload-time = "2024-09-09T23:47:24.99Z" }, + { url = "https://files.pythonhosted.org/packages/ef/1f/652d70ab5effb33c031510a3503d4d6efc5ec93153562f1ee0acdc895a57/multidict-6.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3e97b5e938051226dc025ec80980c285b053ffb1e25a3db2a3aa3bc046bf7f56", size = 129471, upload-time = "2024-09-09T23:47:26.305Z" }, + { url = "https://files.pythonhosted.org/packages/a6/64/2dd6c4c681688c0165dea3975a6a4eab4944ea30f35000f8b8af1df3148c/multidict-6.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d618649d4e70ac6efcbba75be98b26ef5078faad23592f9b51ca492953012429", size = 124585, upload-time = "2024-09-09T23:47:27.958Z" }, + { url = "https://files.pythonhosted.org/packages/87/56/e6ee5459894c7e554b57ba88f7257dc3c3d2d379cb15baaa1e265b8c6165/multidict-6.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10524ebd769727ac77ef2278390fb0068d83f3acb7773792a5080f2b0abf7748", size = 116957, upload-time = "2024-09-09T23:47:29.376Z" }, + { url = "https://files.pythonhosted.org/packages/36/9e/616ce5e8d375c24b84f14fc263c7ef1d8d5e8ef529dbc0f1df8ce71bb5b8/multidict-6.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ff3827aef427c89a25cc96ded1759271a93603aba9fb977a6d264648ebf989db", size = 128609, upload-time = "2024-09-09T23:47:31.038Z" }, + { url = "https://files.pythonhosted.org/packages/8c/4f/4783e48a38495d000f2124020dc96bacc806a4340345211b1ab6175a6cb4/multidict-6.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:06809f4f0f7ab7ea2cabf9caca7d79c22c0758b58a71f9d32943ae13c7ace056", size = 123016, upload-time = "2024-09-09T23:47:32.47Z" }, + { url = "https://files.pythonhosted.org/packages/3e/b3/4950551ab8fc39862ba5e9907dc821f896aa829b4524b4deefd3e12945ab/multidict-6.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f179dee3b863ab1c59580ff60f9d99f632f34ccb38bf67a33ec6b3ecadd0fd76", size = 133542, upload-time = "2024-09-09T23:47:34.103Z" }, + { url = "https://files.pythonhosted.org/packages/96/4d/f0ce6ac9914168a2a71df117935bb1f1781916acdecbb43285e225b484b8/multidict-6.1.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:aaed8b0562be4a0876ee3b6946f6869b7bcdb571a5d1496683505944e268b160", size = 130163, upload-time = "2024-09-09T23:47:35.716Z" }, + { url = "https://files.pythonhosted.org/packages/be/72/17c9f67e7542a49dd252c5ae50248607dfb780bcc03035907dafefb067e3/multidict-6.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3c8b88a2ccf5493b6c8da9076fb151ba106960a2df90c2633f342f120751a9e7", size = 126832, upload-time = "2024-09-09T23:47:37.116Z" }, + { url = "https://files.pythonhosted.org/packages/71/9f/72d719e248cbd755c8736c6d14780533a1606ffb3fbb0fbd77da9f0372da/multidict-6.1.0-cp310-cp310-win32.whl", hash = "sha256:4a9cb68166a34117d6646c0023c7b759bf197bee5ad4272f420a0141d7eb03a0", size = 26402, upload-time = "2024-09-09T23:47:38.863Z" }, + { url = "https://files.pythonhosted.org/packages/04/5a/d88cd5d00a184e1ddffc82aa2e6e915164a6d2641ed3606e766b5d2f275a/multidict-6.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:20b9b5fbe0b88d0bdef2012ef7dee867f874b72528cf1d08f1d59b0e3850129d", size = 28800, upload-time = "2024-09-09T23:47:40.056Z" }, + { url = "https://files.pythonhosted.org/packages/93/13/df3505a46d0cd08428e4c8169a196131d1b0c4b515c3649829258843dde6/multidict-6.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3efe2c2cb5763f2f1b275ad2bf7a287d3f7ebbef35648a9726e3b69284a4f3d6", size = 48570, upload-time = "2024-09-09T23:47:41.36Z" }, + { url = "https://files.pythonhosted.org/packages/f0/e1/a215908bfae1343cdb72f805366592bdd60487b4232d039c437fe8f5013d/multidict-6.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7053d3b0353a8b9de430a4f4b4268ac9a4fb3481af37dfe49825bf45ca24156", size = 29316, upload-time = "2024-09-09T23:47:42.612Z" }, + { url = "https://files.pythonhosted.org/packages/70/0f/6dc70ddf5d442702ed74f298d69977f904960b82368532c88e854b79f72b/multidict-6.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:27e5fc84ccef8dfaabb09d82b7d179c7cf1a3fbc8a966f8274fcb4ab2eb4cadb", size = 29640, upload-time = "2024-09-09T23:47:44.028Z" }, + { url = "https://files.pythonhosted.org/packages/d8/6d/9c87b73a13d1cdea30b321ef4b3824449866bd7f7127eceed066ccb9b9ff/multidict-6.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e2b90b43e696f25c62656389d32236e049568b39320e2735d51f08fd362761b", size = 131067, upload-time = "2024-09-09T23:47:45.617Z" }, + { url = "https://files.pythonhosted.org/packages/cc/1e/1b34154fef373371fd6c65125b3d42ff5f56c7ccc6bfff91b9b3c60ae9e0/multidict-6.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d83a047959d38a7ff552ff94be767b7fd79b831ad1cd9920662db05fec24fe72", size = 138507, upload-time = "2024-09-09T23:47:47.429Z" }, + { url = "https://files.pythonhosted.org/packages/fb/e0/0bc6b2bac6e461822b5f575eae85da6aae76d0e2a79b6665d6206b8e2e48/multidict-6.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d1a9dd711d0877a1ece3d2e4fea11a8e75741ca21954c919406b44e7cf971304", size = 133905, upload-time = "2024-09-09T23:47:48.878Z" }, + { url = "https://files.pythonhosted.org/packages/ba/af/73d13b918071ff9b2205fcf773d316e0f8fefb4ec65354bbcf0b10908cc6/multidict-6.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec2abea24d98246b94913b76a125e855eb5c434f7c46546046372fe60f666351", size = 129004, upload-time = "2024-09-09T23:47:50.124Z" }, + { url = "https://files.pythonhosted.org/packages/74/21/23960627b00ed39643302d81bcda44c9444ebcdc04ee5bedd0757513f259/multidict-6.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4867cafcbc6585e4b678876c489b9273b13e9fff9f6d6d66add5e15d11d926cb", size = 121308, upload-time = "2024-09-09T23:47:51.97Z" }, + { url = "https://files.pythonhosted.org/packages/8b/5c/cf282263ffce4a596ed0bb2aa1a1dddfe1996d6a62d08842a8d4b33dca13/multidict-6.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5b48204e8d955c47c55b72779802b219a39acc3ee3d0116d5080c388970b76e3", size = 132608, upload-time = "2024-09-09T23:47:53.201Z" }, + { url = "https://files.pythonhosted.org/packages/d7/3e/97e778c041c72063f42b290888daff008d3ab1427f5b09b714f5a8eff294/multidict-6.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d8fff389528cad1618fb4b26b95550327495462cd745d879a8c7c2115248e399", size = 127029, upload-time = "2024-09-09T23:47:54.435Z" }, + { url = "https://files.pythonhosted.org/packages/47/ac/3efb7bfe2f3aefcf8d103e9a7162572f01936155ab2f7ebcc7c255a23212/multidict-6.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a7a9541cd308eed5e30318430a9c74d2132e9a8cb46b901326272d780bf2d423", size = 137594, upload-time = "2024-09-09T23:47:55.659Z" }, + { url = "https://files.pythonhosted.org/packages/42/9b/6c6e9e8dc4f915fc90a9b7798c44a30773dea2995fdcb619870e705afe2b/multidict-6.1.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:da1758c76f50c39a2efd5e9859ce7d776317eb1dd34317c8152ac9251fc574a3", size = 134556, upload-time = "2024-09-09T23:47:56.98Z" }, + { url = "https://files.pythonhosted.org/packages/1d/10/8e881743b26aaf718379a14ac58572a240e8293a1c9d68e1418fb11c0f90/multidict-6.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c943a53e9186688b45b323602298ab727d8865d8c9ee0b17f8d62d14b56f0753", size = 130993, upload-time = "2024-09-09T23:47:58.163Z" }, + { url = "https://files.pythonhosted.org/packages/45/84/3eb91b4b557442802d058a7579e864b329968c8d0ea57d907e7023c677f2/multidict-6.1.0-cp311-cp311-win32.whl", hash = "sha256:90f8717cb649eea3504091e640a1b8568faad18bd4b9fcd692853a04475a4b80", size = 26405, upload-time = "2024-09-09T23:47:59.391Z" }, + { url = "https://files.pythonhosted.org/packages/9f/0b/ad879847ecbf6d27e90a6eabb7eff6b62c129eefe617ea45eae7c1f0aead/multidict-6.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:82176036e65644a6cc5bd619f65f6f19781e8ec2e5330f51aa9ada7504cc1926", size = 28795, upload-time = "2024-09-09T23:48:00.359Z" }, + { url = "https://files.pythonhosted.org/packages/fd/16/92057c74ba3b96d5e211b553895cd6dc7cc4d1e43d9ab8fafc727681ef71/multidict-6.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b04772ed465fa3cc947db808fa306d79b43e896beb677a56fb2347ca1a49c1fa", size = 48713, upload-time = "2024-09-09T23:48:01.893Z" }, + { url = "https://files.pythonhosted.org/packages/94/3d/37d1b8893ae79716179540b89fc6a0ee56b4a65fcc0d63535c6f5d96f217/multidict-6.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6180c0ae073bddeb5a97a38c03f30c233e0a4d39cd86166251617d1bbd0af436", size = 29516, upload-time = "2024-09-09T23:48:03.463Z" }, + { url = "https://files.pythonhosted.org/packages/a2/12/adb6b3200c363062f805275b4c1e656be2b3681aada66c80129932ff0bae/multidict-6.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:071120490b47aa997cca00666923a83f02c7fbb44f71cf7f136df753f7fa8761", size = 29557, upload-time = "2024-09-09T23:48:04.905Z" }, + { url = "https://files.pythonhosted.org/packages/47/e9/604bb05e6e5bce1e6a5cf80a474e0f072e80d8ac105f1b994a53e0b28c42/multidict-6.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50b3a2710631848991d0bf7de077502e8994c804bb805aeb2925a981de58ec2e", size = 130170, upload-time = "2024-09-09T23:48:06.862Z" }, + { url = "https://files.pythonhosted.org/packages/7e/13/9efa50801785eccbf7086b3c83b71a4fb501a4d43549c2f2f80b8787d69f/multidict-6.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b58c621844d55e71c1b7f7c498ce5aa6985d743a1a59034c57a905b3f153c1ef", size = 134836, upload-time = "2024-09-09T23:48:08.537Z" }, + { url = "https://files.pythonhosted.org/packages/bf/0f/93808b765192780d117814a6dfcc2e75de6dcc610009ad408b8814dca3ba/multidict-6.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55b6d90641869892caa9ca42ff913f7ff1c5ece06474fbd32fb2cf6834726c95", size = 133475, upload-time = "2024-09-09T23:48:09.865Z" }, + { url = "https://files.pythonhosted.org/packages/d3/c8/529101d7176fe7dfe1d99604e48d69c5dfdcadb4f06561f465c8ef12b4df/multidict-6.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b820514bfc0b98a30e3d85462084779900347e4d49267f747ff54060cc33925", size = 131049, upload-time = "2024-09-09T23:48:11.115Z" }, + { url = "https://files.pythonhosted.org/packages/ca/0c/fc85b439014d5a58063e19c3a158a889deec399d47b5269a0f3b6a2e28bc/multidict-6.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10a9b09aba0c5b48c53761b7c720aaaf7cf236d5fe394cd399c7ba662d5f9966", size = 120370, upload-time = "2024-09-09T23:48:12.78Z" }, + { url = "https://files.pythonhosted.org/packages/db/46/d4416eb20176492d2258fbd47b4abe729ff3b6e9c829ea4236f93c865089/multidict-6.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e16bf3e5fc9f44632affb159d30a437bfe286ce9e02754759be5536b169b305", size = 125178, upload-time = "2024-09-09T23:48:14.295Z" }, + { url = "https://files.pythonhosted.org/packages/5b/46/73697ad7ec521df7de5531a32780bbfd908ded0643cbe457f981a701457c/multidict-6.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76f364861c3bfc98cbbcbd402d83454ed9e01a5224bb3a28bf70002a230f73e2", size = 119567, upload-time = "2024-09-09T23:48:16.284Z" }, + { url = "https://files.pythonhosted.org/packages/cd/ed/51f060e2cb0e7635329fa6ff930aa5cffa17f4c7f5c6c3ddc3500708e2f2/multidict-6.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:820c661588bd01a0aa62a1283f20d2be4281b086f80dad9e955e690c75fb54a2", size = 129822, upload-time = "2024-09-09T23:48:17.835Z" }, + { url = "https://files.pythonhosted.org/packages/df/9e/ee7d1954b1331da3eddea0c4e08d9142da5f14b1321c7301f5014f49d492/multidict-6.1.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0e5f362e895bc5b9e67fe6e4ded2492d8124bdf817827f33c5b46c2fe3ffaca6", size = 128656, upload-time = "2024-09-09T23:48:19.576Z" }, + { url = "https://files.pythonhosted.org/packages/77/00/8538f11e3356b5d95fa4b024aa566cde7a38aa7a5f08f4912b32a037c5dc/multidict-6.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ec660d19bbc671e3a6443325f07263be452c453ac9e512f5eb935e7d4ac28b3", size = 125360, upload-time = "2024-09-09T23:48:20.957Z" }, + { url = "https://files.pythonhosted.org/packages/be/05/5d334c1f2462d43fec2363cd00b1c44c93a78c3925d952e9a71caf662e96/multidict-6.1.0-cp312-cp312-win32.whl", hash = "sha256:58130ecf8f7b8112cdb841486404f1282b9c86ccb30d3519faf301b2e5659133", size = 26382, upload-time = "2024-09-09T23:48:22.351Z" }, + { url = "https://files.pythonhosted.org/packages/a3/bf/f332a13486b1ed0496d624bcc7e8357bb8053823e8cd4b9a18edc1d97e73/multidict-6.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:188215fc0aafb8e03341995e7c4797860181562380f81ed0a87ff455b70bf1f1", size = 28529, upload-time = "2024-09-09T23:48:23.478Z" }, + { url = "https://files.pythonhosted.org/packages/22/67/1c7c0f39fe069aa4e5d794f323be24bf4d33d62d2a348acdb7991f8f30db/multidict-6.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:d569388c381b24671589335a3be6e1d45546c2988c2ebe30fdcada8457a31008", size = 48771, upload-time = "2024-09-09T23:48:24.594Z" }, + { url = "https://files.pythonhosted.org/packages/3c/25/c186ee7b212bdf0df2519eacfb1981a017bda34392c67542c274651daf23/multidict-6.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:052e10d2d37810b99cc170b785945421141bf7bb7d2f8799d431e7db229c385f", size = 29533, upload-time = "2024-09-09T23:48:26.187Z" }, + { url = "https://files.pythonhosted.org/packages/67/5e/04575fd837e0958e324ca035b339cea174554f6f641d3fb2b4f2e7ff44a2/multidict-6.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f90c822a402cb865e396a504f9fc8173ef34212a342d92e362ca498cad308e28", size = 29595, upload-time = "2024-09-09T23:48:27.305Z" }, + { url = "https://files.pythonhosted.org/packages/d3/b2/e56388f86663810c07cfe4a3c3d87227f3811eeb2d08450b9e5d19d78876/multidict-6.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b225d95519a5bf73860323e633a664b0d85ad3d5bede6d30d95b35d4dfe8805b", size = 130094, upload-time = "2024-09-09T23:48:28.544Z" }, + { url = "https://files.pythonhosted.org/packages/6c/ee/30ae9b4186a644d284543d55d491fbd4239b015d36b23fea43b4c94f7052/multidict-6.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:23bfd518810af7de1116313ebd9092cb9aa629beb12f6ed631ad53356ed6b86c", size = 134876, upload-time = "2024-09-09T23:48:30.098Z" }, + { url = "https://files.pythonhosted.org/packages/84/c7/70461c13ba8ce3c779503c70ec9d0345ae84de04521c1f45a04d5f48943d/multidict-6.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c09fcfdccdd0b57867577b719c69e347a436b86cd83747f179dbf0cc0d4c1f3", size = 133500, upload-time = "2024-09-09T23:48:31.793Z" }, + { url = "https://files.pythonhosted.org/packages/4a/9f/002af221253f10f99959561123fae676148dd730e2daa2cd053846a58507/multidict-6.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf6bea52ec97e95560af5ae576bdac3aa3aae0b6758c6efa115236d9e07dae44", size = 131099, upload-time = "2024-09-09T23:48:33.193Z" }, + { url = "https://files.pythonhosted.org/packages/82/42/d1c7a7301d52af79d88548a97e297f9d99c961ad76bbe6f67442bb77f097/multidict-6.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57feec87371dbb3520da6192213c7d6fc892d5589a93db548331954de8248fd2", size = 120403, upload-time = "2024-09-09T23:48:34.942Z" }, + { url = "https://files.pythonhosted.org/packages/68/f3/471985c2c7ac707547553e8f37cff5158030d36bdec4414cb825fbaa5327/multidict-6.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0c3f390dc53279cbc8ba976e5f8035eab997829066756d811616b652b00a23a3", size = 125348, upload-time = "2024-09-09T23:48:36.222Z" }, + { url = "https://files.pythonhosted.org/packages/67/2c/e6df05c77e0e433c214ec1d21ddd203d9a4770a1f2866a8ca40a545869a0/multidict-6.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:59bfeae4b25ec05b34f1956eaa1cb38032282cd4dfabc5056d0a1ec4d696d3aa", size = 119673, upload-time = "2024-09-09T23:48:37.588Z" }, + { url = "https://files.pythonhosted.org/packages/c5/cd/bc8608fff06239c9fb333f9db7743a1b2eafe98c2666c9a196e867a3a0a4/multidict-6.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b2f59caeaf7632cc633b5cf6fc449372b83bbdf0da4ae04d5be36118e46cc0aa", size = 129927, upload-time = "2024-09-09T23:48:39.128Z" }, + { url = "https://files.pythonhosted.org/packages/44/8e/281b69b7bc84fc963a44dc6e0bbcc7150e517b91df368a27834299a526ac/multidict-6.1.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:37bb93b2178e02b7b618893990941900fd25b6b9ac0fa49931a40aecdf083fe4", size = 128711, upload-time = "2024-09-09T23:48:40.55Z" }, + { url = "https://files.pythonhosted.org/packages/12/a4/63e7cd38ed29dd9f1881d5119f272c898ca92536cdb53ffe0843197f6c85/multidict-6.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4e9f48f58c2c523d5a06faea47866cd35b32655c46b443f163d08c6d0ddb17d6", size = 125519, upload-time = "2024-09-09T23:48:42.446Z" }, + { url = "https://files.pythonhosted.org/packages/38/e0/4f5855037a72cd8a7a2f60a3952d9aa45feedb37ae7831642102604e8a37/multidict-6.1.0-cp313-cp313-win32.whl", hash = "sha256:3a37ffb35399029b45c6cc33640a92bef403c9fd388acce75cdc88f58bd19a81", size = 26426, upload-time = "2024-09-09T23:48:43.936Z" }, + { url = "https://files.pythonhosted.org/packages/7e/a5/17ee3a4db1e310b7405f5d25834460073a8ccd86198ce044dfaf69eac073/multidict-6.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:e9aa71e15d9d9beaad2c6b9319edcdc0a49a43ef5c0a4c8265ca9ee7d6c67774", size = 28531, upload-time = "2024-09-09T23:48:45.122Z" }, + { url = "https://files.pythonhosted.org/packages/3e/6a/af41f3aaf5f00fd86cc7d470a2f5b25299b0c84691163b8757f4a1a205f2/multidict-6.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:db7457bac39421addd0c8449933ac32d8042aae84a14911a757ae6ca3eef1392", size = 48597, upload-time = "2024-09-09T23:48:46.391Z" }, + { url = "https://files.pythonhosted.org/packages/d9/d6/3d4082760ed11b05734f8bf32a0615b99e7d9d2b3730ad698a4d7377c00a/multidict-6.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d094ddec350a2fb899fec68d8353c78233debde9b7d8b4beeafa70825f1c281a", size = 29338, upload-time = "2024-09-09T23:48:47.891Z" }, + { url = "https://files.pythonhosted.org/packages/9d/7f/5d1ce7f47d44393d429922910afbe88fcd29ee3069babbb47507a4c3a7ea/multidict-6.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5845c1fd4866bb5dd3125d89b90e57ed3138241540897de748cdf19de8a2fca2", size = 29562, upload-time = "2024-09-09T23:48:49.254Z" }, + { url = "https://files.pythonhosted.org/packages/ce/ec/c425257671af9308a9b626e2e21f7f43841616e4551de94eb3c92aca75b2/multidict-6.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9079dfc6a70abe341f521f78405b8949f96db48da98aeb43f9907f342f627cdc", size = 130980, upload-time = "2024-09-09T23:48:50.606Z" }, + { url = "https://files.pythonhosted.org/packages/d8/d7/d4220ad2633a89b314593e9b85b5bc9287a7c563c7f9108a4a68d9da5374/multidict-6.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3914f5aaa0f36d5d60e8ece6a308ee1c9784cd75ec8151062614657a114c4478", size = 136694, upload-time = "2024-09-09T23:48:52.042Z" }, + { url = "https://files.pythonhosted.org/packages/a1/2a/13e554db5830c8d40185a2e22aa8325516a5de9634c3fb2caf3886a829b3/multidict-6.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c08be4f460903e5a9d0f76818db3250f12e9c344e79314d1d570fc69d7f4eae4", size = 131616, upload-time = "2024-09-09T23:48:54.283Z" }, + { url = "https://files.pythonhosted.org/packages/2e/a9/83692e37d8152f104333132105b67100aabfb2e96a87f6bed67f566035a7/multidict-6.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d093be959277cb7dee84b801eb1af388b6ad3ca6a6b6bf1ed7585895789d027d", size = 129664, upload-time = "2024-09-09T23:48:55.785Z" }, + { url = "https://files.pythonhosted.org/packages/cc/1c/1718cd518fb9da7e8890d9d1611c1af0ea5e60f68ff415d026e38401ed36/multidict-6.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3702ea6872c5a2a4eeefa6ffd36b042e9773f05b1f37ae3ef7264b1163c2dcf6", size = 121855, upload-time = "2024-09-09T23:48:57.333Z" }, + { url = "https://files.pythonhosted.org/packages/2b/92/f6ed67514b0e3894198f0eb42dcde22f0851ea35f4561a1e4acf36c7b1be/multidict-6.1.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:2090f6a85cafc5b2db085124d752757c9d251548cedabe9bd31afe6363e0aff2", size = 127928, upload-time = "2024-09-09T23:48:58.778Z" }, + { url = "https://files.pythonhosted.org/packages/f7/30/c66954115a4dc4dc3c84e02c8ae11bb35a43d79ef93122c3c3a40c4d459b/multidict-6.1.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:f67f217af4b1ff66c68a87318012de788dd95fcfeb24cc889011f4e1c7454dfd", size = 122793, upload-time = "2024-09-09T23:49:00.244Z" }, + { url = "https://files.pythonhosted.org/packages/62/c9/d386d01b43871e8e1631eb7b3695f6af071b7ae1ab716caf371100f0eb24/multidict-6.1.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:189f652a87e876098bbc67b4da1049afb5f5dfbaa310dd67c594b01c10388db6", size = 132762, upload-time = "2024-09-09T23:49:02.188Z" }, + { url = "https://files.pythonhosted.org/packages/69/ff/f70cb0a2f7a358acf48e32139ce3a150ff18c961ee9c714cc8c0dc7e3584/multidict-6.1.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:6bb5992037f7a9eff7991ebe4273ea7f51f1c1c511e6a2ce511d0e7bdb754492", size = 127872, upload-time = "2024-09-09T23:49:04.389Z" }, + { url = "https://files.pythonhosted.org/packages/89/5b/abea7db3ba4cd07752a9b560f9275a11787cd13f86849b5d99c1ceea921d/multidict-6.1.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f4c2b9e770c4e393876e35a7046879d195cd123b4f116d299d442b335bcd", size = 126161, upload-time = "2024-09-09T23:49:06.306Z" }, + { url = "https://files.pythonhosted.org/packages/22/03/acc77a4667cca4462ee974fc39990803e58fa573d5a923d6e82b7ef6da7e/multidict-6.1.0-cp38-cp38-win32.whl", hash = "sha256:e27bbb6d14416713a8bd7aaa1313c0fc8d44ee48d74497a0ff4c3a1b6ccb5167", size = 26338, upload-time = "2024-09-09T23:49:07.782Z" }, + { url = "https://files.pythonhosted.org/packages/90/bf/3d0c1cc9c8163abc24625fae89c0ade1ede9bccb6eceb79edf8cff3cca46/multidict-6.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:22f3105d4fb15c8f57ff3959a58fcab6ce36814486500cd7485651230ad4d4ef", size = 28736, upload-time = "2024-09-09T23:49:09.126Z" }, + { url = "https://files.pythonhosted.org/packages/e7/c9/9e153a6572b38ac5ff4434113af38acf8d5e9957897cdb1f513b3d6614ed/multidict-6.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:4e18b656c5e844539d506a0a06432274d7bd52a7487e6828c63a63d69185626c", size = 48550, upload-time = "2024-09-09T23:49:10.475Z" }, + { url = "https://files.pythonhosted.org/packages/76/f5/79565ddb629eba6c7f704f09a09df085c8dc04643b12506f10f718cee37a/multidict-6.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a185f876e69897a6f3325c3f19f26a297fa058c5e456bfcff8015e9a27e83ae1", size = 29298, upload-time = "2024-09-09T23:49:12.119Z" }, + { url = "https://files.pythonhosted.org/packages/60/1b/9851878b704bc98e641a3e0bce49382ae9e05743dac6d97748feb5b7baba/multidict-6.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ab7c4ceb38d91570a650dba194e1ca87c2b543488fe9309b4212694174fd539c", size = 29641, upload-time = "2024-09-09T23:49:13.714Z" }, + { url = "https://files.pythonhosted.org/packages/89/87/d451d45aab9e422cb0fb2f7720c31a4c1d3012c740483c37f642eba568fb/multidict-6.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e617fb6b0b6953fffd762669610c1c4ffd05632c138d61ac7e14ad187870669c", size = 126202, upload-time = "2024-09-09T23:49:15.238Z" }, + { url = "https://files.pythonhosted.org/packages/fa/b4/27cbe9f3e2e469359887653f2e45470272eef7295139916cc21107c6b48c/multidict-6.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:16e5f4bf4e603eb1fdd5d8180f1a25f30056f22e55ce51fb3d6ad4ab29f7d96f", size = 133925, upload-time = "2024-09-09T23:49:16.786Z" }, + { url = "https://files.pythonhosted.org/packages/4d/a3/afc841899face8adfd004235ce759a37619f6ec99eafd959650c5ce4df57/multidict-6.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f4c035da3f544b1882bac24115f3e2e8760f10a0107614fc9839fd232200b875", size = 129039, upload-time = "2024-09-09T23:49:18.381Z" }, + { url = "https://files.pythonhosted.org/packages/5e/41/0d0fb18c1ad574f807196f5f3d99164edf9de3e169a58c6dc2d6ed5742b9/multidict-6.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:957cf8e4b6e123a9eea554fa7ebc85674674b713551de587eb318a2df3e00255", size = 124072, upload-time = "2024-09-09T23:49:20.115Z" }, + { url = "https://files.pythonhosted.org/packages/00/22/defd7a2e71a44e6e5b9a5428f972e5b572e7fe28e404dfa6519bbf057c93/multidict-6.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:483a6aea59cb89904e1ceabd2b47368b5600fb7de78a6e4a2c2987b2d256cf30", size = 116532, upload-time = "2024-09-09T23:49:21.685Z" }, + { url = "https://files.pythonhosted.org/packages/91/25/f7545102def0b1d456ab6449388eed2dfd822debba1d65af60194904a23a/multidict-6.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:87701f25a2352e5bf7454caa64757642734da9f6b11384c1f9d1a8e699758057", size = 128173, upload-time = "2024-09-09T23:49:23.657Z" }, + { url = "https://files.pythonhosted.org/packages/45/79/3dbe8d35fc99f5ea610813a72ab55f426cb9cf482f860fa8496e5409be11/multidict-6.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:682b987361e5fd7a139ed565e30d81fd81e9629acc7d925a205366877d8c8657", size = 122654, upload-time = "2024-09-09T23:49:25.7Z" }, + { url = "https://files.pythonhosted.org/packages/97/cb/209e735eeab96e1b160825b5d0b36c56d3862abff828fc43999bb957dcad/multidict-6.1.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce2186a7df133a9c895dea3331ddc5ddad42cdd0d1ea2f0a51e5d161e4762f28", size = 133197, upload-time = "2024-09-09T23:49:27.906Z" }, + { url = "https://files.pythonhosted.org/packages/e4/3a/a13808a7ada62808afccea67837a79d00ad6581440015ef00f726d064c2d/multidict-6.1.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9f636b730f7e8cb19feb87094949ba54ee5357440b9658b2a32a5ce4bce53972", size = 129754, upload-time = "2024-09-09T23:49:29.508Z" }, + { url = "https://files.pythonhosted.org/packages/77/dd/8540e139eafb240079242da8f8ffdf9d3f4b4ad1aac5a786cd4050923783/multidict-6.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:73eae06aa53af2ea5270cc066dcaf02cc60d2994bbb2c4ef5764949257d10f43", size = 126402, upload-time = "2024-09-09T23:49:31.243Z" }, + { url = "https://files.pythonhosted.org/packages/86/99/e82e1a275d8b1ea16d3a251474262258dbbe41c05cce0c01bceda1fc8ea5/multidict-6.1.0-cp39-cp39-win32.whl", hash = "sha256:1ca0083e80e791cffc6efce7660ad24af66c8d4079d2a750b29001b53ff59ada", size = 26421, upload-time = "2024-09-09T23:49:32.648Z" }, + { url = "https://files.pythonhosted.org/packages/86/1c/9fa630272355af7e4446a2c7550c259f11ee422ab2d30ff90a0a71cf3d9e/multidict-6.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:aa466da5b15ccea564bdab9c89175c762bc12825f4659c11227f515cee76fa4a", size = 28791, upload-time = "2024-09-09T23:49:34.725Z" }, + { url = "https://files.pythonhosted.org/packages/99/b7/b9e70fde2c0f0c9af4cc5277782a89b66d35948ea3369ec9f598358c3ac5/multidict-6.1.0-py3-none-any.whl", hash = "sha256:48e171e52d1c4d33888e529b999e5900356b9ae588c2f09a52dcefb158b27506", size = 10051, upload-time = "2024-09-09T23:49:36.506Z" }, +] + +[[package]] +name = "multidict" +version = "6.7.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/80/1e/5492c365f222f907de1039b91f922b93fa4f764c713ee858d235495d8f50/multidict-6.7.0.tar.gz", hash = "sha256:c6e99d9a65ca282e578dfea819cfa9c0a62b2499d8677392e09feaf305e9e6f5", size = 101834, upload-time = "2025-10-06T14:52:30.657Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a9/63/7bdd4adc330abcca54c85728db2327130e49e52e8c3ce685cec44e0f2e9f/multidict-6.7.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:9f474ad5acda359c8758c8accc22032c6abe6dc87a8be2440d097785e27a9349", size = 77153, upload-time = "2025-10-06T14:48:26.409Z" }, + { url = "https://files.pythonhosted.org/packages/3f/bb/b6c35ff175ed1a3142222b78455ee31be71a8396ed3ab5280fbe3ebe4e85/multidict-6.7.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4b7a9db5a870f780220e931d0002bbfd88fb53aceb6293251e2c839415c1b20e", size = 44993, upload-time = "2025-10-06T14:48:28.4Z" }, + { url = "https://files.pythonhosted.org/packages/e0/1f/064c77877c5fa6df6d346e68075c0f6998547afe952d6471b4c5f6a7345d/multidict-6.7.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:03ca744319864e92721195fa28c7a3b2bc7b686246b35e4078c1e4d0eb5466d3", size = 44607, upload-time = "2025-10-06T14:48:29.581Z" }, + { url = "https://files.pythonhosted.org/packages/04/7a/bf6aa92065dd47f287690000b3d7d332edfccb2277634cadf6a810463c6a/multidict-6.7.0-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:f0e77e3c0008bc9316e662624535b88d360c3a5d3f81e15cf12c139a75250046", size = 241847, upload-time = "2025-10-06T14:48:32.107Z" }, + { url = "https://files.pythonhosted.org/packages/94/39/297a8de920f76eda343e4ce05f3b489f0ab3f9504f2576dfb37b7c08ca08/multidict-6.7.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:08325c9e5367aa379a3496aa9a022fe8837ff22e00b94db256d3a1378c76ab32", size = 242616, upload-time = "2025-10-06T14:48:34.054Z" }, + { url = "https://files.pythonhosted.org/packages/39/3a/d0eee2898cfd9d654aea6cb8c4addc2f9756e9a7e09391cfe55541f917f7/multidict-6.7.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e2862408c99f84aa571ab462d25236ef9cb12a602ea959ba9c9009a54902fc73", size = 222333, upload-time = "2025-10-06T14:48:35.9Z" }, + { url = "https://files.pythonhosted.org/packages/05/48/3b328851193c7a4240815b71eea165b49248867bbb6153a0aee227a0bb47/multidict-6.7.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4d72a9a2d885f5c208b0cb91ff2ed43636bb7e345ec839ff64708e04f69a13cc", size = 253239, upload-time = "2025-10-06T14:48:37.302Z" }, + { url = "https://files.pythonhosted.org/packages/b1/ca/0706a98c8d126a89245413225ca4a3fefc8435014de309cf8b30acb68841/multidict-6.7.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:478cc36476687bac1514d651cbbaa94b86b0732fb6855c60c673794c7dd2da62", size = 251618, upload-time = "2025-10-06T14:48:38.963Z" }, + { url = "https://files.pythonhosted.org/packages/5e/4f/9c7992f245554d8b173f6f0a048ad24b3e645d883f096857ec2c0822b8bd/multidict-6.7.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6843b28b0364dc605f21481c90fadb5f60d9123b442eb8a726bb74feef588a84", size = 241655, upload-time = "2025-10-06T14:48:40.312Z" }, + { url = "https://files.pythonhosted.org/packages/31/79/26a85991ae67efd1c0b1fc2e0c275b8a6aceeb155a68861f63f87a798f16/multidict-6.7.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:23bfeee5316266e5ee2d625df2d2c602b829435fc3a235c2ba2131495706e4a0", size = 239245, upload-time = "2025-10-06T14:48:41.848Z" }, + { url = "https://files.pythonhosted.org/packages/14/1e/75fa96394478930b79d0302eaf9a6c69f34005a1a5251ac8b9c336486ec9/multidict-6.7.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:680878b9f3d45c31e1f730eef731f9b0bc1da456155688c6745ee84eb818e90e", size = 233523, upload-time = "2025-10-06T14:48:43.749Z" }, + { url = "https://files.pythonhosted.org/packages/b2/5e/085544cb9f9c4ad2b5d97467c15f856df8d9bac410cffd5c43991a5d878b/multidict-6.7.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:eb866162ef2f45063acc7a53a88ef6fe8bf121d45c30ea3c9cd87ce7e191a8d4", size = 243129, upload-time = "2025-10-06T14:48:45.225Z" }, + { url = "https://files.pythonhosted.org/packages/b9/c3/e9d9e2f20c9474e7a8fcef28f863c5cbd29bb5adce6b70cebe8bdad0039d/multidict-6.7.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:df0e3bf7993bdbeca5ac25aa859cf40d39019e015c9c91809ba7093967f7a648", size = 248999, upload-time = "2025-10-06T14:48:46.703Z" }, + { url = "https://files.pythonhosted.org/packages/b5/3f/df171b6efa3239ae33b97b887e42671cd1d94d460614bfb2c30ffdab3b95/multidict-6.7.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:661709cdcd919a2ece2234f9bae7174e5220c80b034585d7d8a755632d3e2111", size = 243711, upload-time = "2025-10-06T14:48:48.146Z" }, + { url = "https://files.pythonhosted.org/packages/3c/2f/9b5564888c4e14b9af64c54acf149263721a283aaf4aa0ae89b091d5d8c1/multidict-6.7.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:096f52730c3fb8ed419db2d44391932b63891b2c5ed14850a7e215c0ba9ade36", size = 237504, upload-time = "2025-10-06T14:48:49.447Z" }, + { url = "https://files.pythonhosted.org/packages/6c/3a/0bd6ca0f7d96d790542d591c8c3354c1e1b6bfd2024d4d92dc3d87485ec7/multidict-6.7.0-cp310-cp310-win32.whl", hash = "sha256:afa8a2978ec65d2336305550535c9c4ff50ee527914328c8677b3973ade52b85", size = 41422, upload-time = "2025-10-06T14:48:50.789Z" }, + { url = "https://files.pythonhosted.org/packages/00/35/f6a637ea2c75f0d3b7c7d41b1189189acff0d9deeb8b8f35536bb30f5e33/multidict-6.7.0-cp310-cp310-win_amd64.whl", hash = "sha256:b15b3afff74f707b9275d5ba6a91ae8f6429c3ffb29bbfd216b0b375a56f13d7", size = 46050, upload-time = "2025-10-06T14:48:51.938Z" }, + { url = "https://files.pythonhosted.org/packages/e7/b8/f7bf8329b39893d02d9d95cf610c75885d12fc0f402b1c894e1c8e01c916/multidict-6.7.0-cp310-cp310-win_arm64.whl", hash = "sha256:4b73189894398d59131a66ff157837b1fafea9974be486d036bb3d32331fdbf0", size = 43153, upload-time = "2025-10-06T14:48:53.146Z" }, + { url = "https://files.pythonhosted.org/packages/34/9e/5c727587644d67b2ed479041e4b1c58e30afc011e3d45d25bbe35781217c/multidict-6.7.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4d409aa42a94c0b3fa617708ef5276dfe81012ba6753a0370fcc9d0195d0a1fc", size = 76604, upload-time = "2025-10-06T14:48:54.277Z" }, + { url = "https://files.pythonhosted.org/packages/17/e4/67b5c27bd17c085a5ea8f1ec05b8a3e5cba0ca734bfcad5560fb129e70ca/multidict-6.7.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:14c9e076eede3b54c636f8ce1c9c252b5f057c62131211f0ceeec273810c9721", size = 44715, upload-time = "2025-10-06T14:48:55.445Z" }, + { url = "https://files.pythonhosted.org/packages/4d/e1/866a5d77be6ea435711bef2a4291eed11032679b6b28b56b4776ab06ba3e/multidict-6.7.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4c09703000a9d0fa3c3404b27041e574cc7f4df4c6563873246d0e11812a94b6", size = 44332, upload-time = "2025-10-06T14:48:56.706Z" }, + { url = "https://files.pythonhosted.org/packages/31/61/0c2d50241ada71ff61a79518db85ada85fdabfcf395d5968dae1cbda04e5/multidict-6.7.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:a265acbb7bb33a3a2d626afbe756371dce0279e7b17f4f4eda406459c2b5ff1c", size = 245212, upload-time = "2025-10-06T14:48:58.042Z" }, + { url = "https://files.pythonhosted.org/packages/ac/e0/919666a4e4b57fff1b57f279be1c9316e6cdc5de8a8b525d76f6598fefc7/multidict-6.7.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:51cb455de290ae462593e5b1cb1118c5c22ea7f0d3620d9940bf695cea5a4bd7", size = 246671, upload-time = "2025-10-06T14:49:00.004Z" }, + { url = "https://files.pythonhosted.org/packages/a1/cc/d027d9c5a520f3321b65adea289b965e7bcbd2c34402663f482648c716ce/multidict-6.7.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:db99677b4457c7a5c5a949353e125ba72d62b35f74e26da141530fbb012218a7", size = 225491, upload-time = "2025-10-06T14:49:01.393Z" }, + { url = "https://files.pythonhosted.org/packages/75/c4/bbd633980ce6155a28ff04e6a6492dd3335858394d7bb752d8b108708558/multidict-6.7.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f470f68adc395e0183b92a2f4689264d1ea4b40504a24d9882c27375e6662bb9", size = 257322, upload-time = "2025-10-06T14:49:02.745Z" }, + { url = "https://files.pythonhosted.org/packages/4c/6d/d622322d344f1f053eae47e033b0b3f965af01212de21b10bcf91be991fb/multidict-6.7.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0db4956f82723cc1c270de9c6e799b4c341d327762ec78ef82bb962f79cc07d8", size = 254694, upload-time = "2025-10-06T14:49:04.15Z" }, + { url = "https://files.pythonhosted.org/packages/a8/9f/78f8761c2705d4c6d7516faed63c0ebdac569f6db1bef95e0d5218fdc146/multidict-6.7.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3e56d780c238f9e1ae66a22d2adf8d16f485381878250db8d496623cd38b22bd", size = 246715, upload-time = "2025-10-06T14:49:05.967Z" }, + { url = "https://files.pythonhosted.org/packages/78/59/950818e04f91b9c2b95aab3d923d9eabd01689d0dcd889563988e9ea0fd8/multidict-6.7.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9d14baca2ee12c1a64740d4531356ba50b82543017f3ad6de0deb943c5979abb", size = 243189, upload-time = "2025-10-06T14:49:07.37Z" }, + { url = "https://files.pythonhosted.org/packages/7a/3d/77c79e1934cad2ee74991840f8a0110966d9599b3af95964c0cd79bb905b/multidict-6.7.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:295a92a76188917c7f99cda95858c822f9e4aae5824246bba9b6b44004ddd0a6", size = 237845, upload-time = "2025-10-06T14:49:08.759Z" }, + { url = "https://files.pythonhosted.org/packages/63/1b/834ce32a0a97a3b70f86437f685f880136677ac00d8bce0027e9fd9c2db7/multidict-6.7.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:39f1719f57adbb767ef592a50ae5ebb794220d1188f9ca93de471336401c34d2", size = 246374, upload-time = "2025-10-06T14:49:10.574Z" }, + { url = "https://files.pythonhosted.org/packages/23/ef/43d1c3ba205b5dec93dc97f3fba179dfa47910fc73aaaea4f7ceb41cec2a/multidict-6.7.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:0a13fb8e748dfc94749f622de065dd5c1def7e0d2216dba72b1d8069a389c6ff", size = 253345, upload-time = "2025-10-06T14:49:12.331Z" }, + { url = "https://files.pythonhosted.org/packages/6b/03/eaf95bcc2d19ead522001f6a650ef32811aa9e3624ff0ad37c445c7a588c/multidict-6.7.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e3aa16de190d29a0ea1b48253c57d99a68492c8dd8948638073ab9e74dc9410b", size = 246940, upload-time = "2025-10-06T14:49:13.821Z" }, + { url = "https://files.pythonhosted.org/packages/e8/df/ec8a5fd66ea6cd6f525b1fcbb23511b033c3e9bc42b81384834ffa484a62/multidict-6.7.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a048ce45dcdaaf1defb76b2e684f997fb5abf74437b6cb7b22ddad934a964e34", size = 242229, upload-time = "2025-10-06T14:49:15.603Z" }, + { url = "https://files.pythonhosted.org/packages/8a/a2/59b405d59fd39ec86d1142630e9049243015a5f5291ba49cadf3c090c541/multidict-6.7.0-cp311-cp311-win32.whl", hash = "sha256:a90af66facec4cebe4181b9e62a68be65e45ac9b52b67de9eec118701856e7ff", size = 41308, upload-time = "2025-10-06T14:49:16.871Z" }, + { url = "https://files.pythonhosted.org/packages/32/0f/13228f26f8b882c34da36efa776c3b7348455ec383bab4a66390e42963ae/multidict-6.7.0-cp311-cp311-win_amd64.whl", hash = "sha256:95b5ffa4349df2887518bb839409bcf22caa72d82beec453216802f475b23c81", size = 46037, upload-time = "2025-10-06T14:49:18.457Z" }, + { url = "https://files.pythonhosted.org/packages/84/1f/68588e31b000535a3207fd3c909ebeec4fb36b52c442107499c18a896a2a/multidict-6.7.0-cp311-cp311-win_arm64.whl", hash = "sha256:329aa225b085b6f004a4955271a7ba9f1087e39dcb7e65f6284a988264a63912", size = 43023, upload-time = "2025-10-06T14:49:19.648Z" }, + { url = "https://files.pythonhosted.org/packages/c2/9e/9f61ac18d9c8b475889f32ccfa91c9f59363480613fc807b6e3023d6f60b/multidict-6.7.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:8a3862568a36d26e650a19bb5cbbba14b71789032aebc0423f8cc5f150730184", size = 76877, upload-time = "2025-10-06T14:49:20.884Z" }, + { url = "https://files.pythonhosted.org/packages/38/6f/614f09a04e6184f8824268fce4bc925e9849edfa654ddd59f0b64508c595/multidict-6.7.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:960c60b5849b9b4f9dcc9bea6e3626143c252c74113df2c1540aebce70209b45", size = 45467, upload-time = "2025-10-06T14:49:22.054Z" }, + { url = "https://files.pythonhosted.org/packages/b3/93/c4f67a436dd026f2e780c433277fff72be79152894d9fc36f44569cab1a6/multidict-6.7.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2049be98fb57a31b4ccf870bf377af2504d4ae35646a19037ec271e4c07998aa", size = 43834, upload-time = "2025-10-06T14:49:23.566Z" }, + { url = "https://files.pythonhosted.org/packages/7f/f5/013798161ca665e4a422afbc5e2d9e4070142a9ff8905e482139cd09e4d0/multidict-6.7.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:0934f3843a1860dd465d38895c17fce1f1cb37295149ab05cd1b9a03afacb2a7", size = 250545, upload-time = "2025-10-06T14:49:24.882Z" }, + { url = "https://files.pythonhosted.org/packages/71/2f/91dbac13e0ba94669ea5119ba267c9a832f0cb65419aca75549fcf09a3dc/multidict-6.7.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b3e34f3a1b8131ba06f1a73adab24f30934d148afcd5f5de9a73565a4404384e", size = 258305, upload-time = "2025-10-06T14:49:26.778Z" }, + { url = "https://files.pythonhosted.org/packages/ef/b0/754038b26f6e04488b48ac621f779c341338d78503fb45403755af2df477/multidict-6.7.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:efbb54e98446892590dc2458c19c10344ee9a883a79b5cec4bc34d6656e8d546", size = 242363, upload-time = "2025-10-06T14:49:28.562Z" }, + { url = "https://files.pythonhosted.org/packages/87/15/9da40b9336a7c9fa606c4cf2ed80a649dffeb42b905d4f63a1d7eb17d746/multidict-6.7.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a35c5fc61d4f51eb045061e7967cfe3123d622cd500e8868e7c0c592a09fedc4", size = 268375, upload-time = "2025-10-06T14:49:29.96Z" }, + { url = "https://files.pythonhosted.org/packages/82/72/c53fcade0cc94dfaad583105fd92b3a783af2091eddcb41a6d5a52474000/multidict-6.7.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29fe6740ebccba4175af1b9b87bf553e9c15cd5868ee967e010efcf94e4fd0f1", size = 269346, upload-time = "2025-10-06T14:49:31.404Z" }, + { url = "https://files.pythonhosted.org/packages/0d/e2/9baffdae21a76f77ef8447f1a05a96ec4bc0a24dae08767abc0a2fe680b8/multidict-6.7.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:123e2a72e20537add2f33a79e605f6191fba2afda4cbb876e35c1a7074298a7d", size = 256107, upload-time = "2025-10-06T14:49:32.974Z" }, + { url = "https://files.pythonhosted.org/packages/3c/06/3f06f611087dc60d65ef775f1fb5aca7c6d61c6db4990e7cda0cef9b1651/multidict-6.7.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b284e319754366c1aee2267a2036248b24eeb17ecd5dc16022095e747f2f4304", size = 253592, upload-time = "2025-10-06T14:49:34.52Z" }, + { url = "https://files.pythonhosted.org/packages/20/24/54e804ec7945b6023b340c412ce9c3f81e91b3bf5fa5ce65558740141bee/multidict-6.7.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:803d685de7be4303b5a657b76e2f6d1240e7e0a8aa2968ad5811fa2285553a12", size = 251024, upload-time = "2025-10-06T14:49:35.956Z" }, + { url = "https://files.pythonhosted.org/packages/14/48/011cba467ea0b17ceb938315d219391d3e421dfd35928e5dbdc3f4ae76ef/multidict-6.7.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c04a328260dfd5db8c39538f999f02779012268f54614902d0afc775d44e0a62", size = 251484, upload-time = "2025-10-06T14:49:37.631Z" }, + { url = "https://files.pythonhosted.org/packages/0d/2f/919258b43bb35b99fa127435cfb2d91798eb3a943396631ef43e3720dcf4/multidict-6.7.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8a19cdb57cd3df4cd865849d93ee14920fb97224300c88501f16ecfa2604b4e0", size = 263579, upload-time = "2025-10-06T14:49:39.502Z" }, + { url = "https://files.pythonhosted.org/packages/31/22/a0e884d86b5242b5a74cf08e876bdf299e413016b66e55511f7a804a366e/multidict-6.7.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9b2fd74c52accced7e75de26023b7dccee62511a600e62311b918ec5c168fc2a", size = 259654, upload-time = "2025-10-06T14:49:41.32Z" }, + { url = "https://files.pythonhosted.org/packages/b2/e5/17e10e1b5c5f5a40f2fcbb45953c9b215f8a4098003915e46a93f5fcaa8f/multidict-6.7.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3e8bfdd0e487acf992407a140d2589fe598238eaeffa3da8448d63a63cd363f8", size = 251511, upload-time = "2025-10-06T14:49:46.021Z" }, + { url = "https://files.pythonhosted.org/packages/e3/9a/201bb1e17e7af53139597069c375e7b0dcbd47594604f65c2d5359508566/multidict-6.7.0-cp312-cp312-win32.whl", hash = "sha256:dd32a49400a2c3d52088e120ee00c1e3576cbff7e10b98467962c74fdb762ed4", size = 41895, upload-time = "2025-10-06T14:49:48.718Z" }, + { url = "https://files.pythonhosted.org/packages/46/e2/348cd32faad84eaf1d20cce80e2bb0ef8d312c55bca1f7fa9865e7770aaf/multidict-6.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:92abb658ef2d7ef22ac9f8bb88e8b6c3e571671534e029359b6d9e845923eb1b", size = 46073, upload-time = "2025-10-06T14:49:50.28Z" }, + { url = "https://files.pythonhosted.org/packages/25/ec/aad2613c1910dce907480e0c3aa306905830f25df2e54ccc9dea450cb5aa/multidict-6.7.0-cp312-cp312-win_arm64.whl", hash = "sha256:490dab541a6a642ce1a9d61a4781656b346a55c13038f0b1244653828e3a83ec", size = 43226, upload-time = "2025-10-06T14:49:52.304Z" }, + { url = "https://files.pythonhosted.org/packages/d2/86/33272a544eeb36d66e4d9a920602d1a2f57d4ebea4ef3cdfe5a912574c95/multidict-6.7.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:bee7c0588aa0076ce77c0ea5d19a68d76ad81fcd9fe8501003b9a24f9d4000f6", size = 76135, upload-time = "2025-10-06T14:49:54.26Z" }, + { url = "https://files.pythonhosted.org/packages/91/1c/eb97db117a1ebe46d457a3d235a7b9d2e6dcab174f42d1b67663dd9e5371/multidict-6.7.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7ef6b61cad77091056ce0e7ce69814ef72afacb150b7ac6a3e9470def2198159", size = 45117, upload-time = "2025-10-06T14:49:55.82Z" }, + { url = "https://files.pythonhosted.org/packages/f1/d8/6c3442322e41fb1dd4de8bd67bfd11cd72352ac131f6368315617de752f1/multidict-6.7.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9c0359b1ec12b1d6849c59f9d319610b7f20ef990a6d454ab151aa0e3b9f78ca", size = 43472, upload-time = "2025-10-06T14:49:57.048Z" }, + { url = "https://files.pythonhosted.org/packages/75/3f/e2639e80325af0b6c6febdf8e57cc07043ff15f57fa1ef808f4ccb5ac4cd/multidict-6.7.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:cd240939f71c64bd658f186330603aac1a9a81bf6273f523fca63673cb7378a8", size = 249342, upload-time = "2025-10-06T14:49:58.368Z" }, + { url = "https://files.pythonhosted.org/packages/5d/cc/84e0585f805cbeaa9cbdaa95f9a3d6aed745b9d25700623ac89a6ecff400/multidict-6.7.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a60a4d75718a5efa473ebd5ab685786ba0c67b8381f781d1be14da49f1a2dc60", size = 257082, upload-time = "2025-10-06T14:49:59.89Z" }, + { url = "https://files.pythonhosted.org/packages/b0/9c/ac851c107c92289acbbf5cfb485694084690c1b17e555f44952c26ddc5bd/multidict-6.7.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:53a42d364f323275126aff81fb67c5ca1b7a04fda0546245730a55c8c5f24bc4", size = 240704, upload-time = "2025-10-06T14:50:01.485Z" }, + { url = "https://files.pythonhosted.org/packages/50/cc/5f93e99427248c09da95b62d64b25748a5f5c98c7c2ab09825a1d6af0e15/multidict-6.7.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3b29b980d0ddbecb736735ee5bef69bb2ddca56eff603c86f3f29a1128299b4f", size = 266355, upload-time = "2025-10-06T14:50:02.955Z" }, + { url = "https://files.pythonhosted.org/packages/ec/0c/2ec1d883ceb79c6f7f6d7ad90c919c898f5d1c6ea96d322751420211e072/multidict-6.7.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f8a93b1c0ed2d04b97a5e9336fd2d33371b9a6e29ab7dd6503d63407c20ffbaf", size = 267259, upload-time = "2025-10-06T14:50:04.446Z" }, + { url = "https://files.pythonhosted.org/packages/c6/2d/f0b184fa88d6630aa267680bdb8623fb69cb0d024b8c6f0d23f9a0f406d3/multidict-6.7.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9ff96e8815eecacc6645da76c413eb3b3d34cfca256c70b16b286a687d013c32", size = 254903, upload-time = "2025-10-06T14:50:05.98Z" }, + { url = "https://files.pythonhosted.org/packages/06/c9/11ea263ad0df7dfabcad404feb3c0dd40b131bc7f232d5537f2fb1356951/multidict-6.7.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7516c579652f6a6be0e266aec0acd0db80829ca305c3d771ed898538804c2036", size = 252365, upload-time = "2025-10-06T14:50:07.511Z" }, + { url = "https://files.pythonhosted.org/packages/41/88/d714b86ee2c17d6e09850c70c9d310abac3d808ab49dfa16b43aba9d53fd/multidict-6.7.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:040f393368e63fb0f3330e70c26bfd336656bed925e5cbe17c9da839a6ab13ec", size = 250062, upload-time = "2025-10-06T14:50:09.074Z" }, + { url = "https://files.pythonhosted.org/packages/15/fe/ad407bb9e818c2b31383f6131ca19ea7e35ce93cf1310fce69f12e89de75/multidict-6.7.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b3bc26a951007b1057a1c543af845f1c7e3e71cc240ed1ace7bf4484aa99196e", size = 249683, upload-time = "2025-10-06T14:50:10.714Z" }, + { url = "https://files.pythonhosted.org/packages/8c/a4/a89abdb0229e533fb925e7c6e5c40201c2873efebc9abaf14046a4536ee6/multidict-6.7.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7b022717c748dd1992a83e219587aabe45980d88969f01b316e78683e6285f64", size = 261254, upload-time = "2025-10-06T14:50:12.28Z" }, + { url = "https://files.pythonhosted.org/packages/8d/aa/0e2b27bd88b40a4fb8dc53dd74eecac70edaa4c1dd0707eb2164da3675b3/multidict-6.7.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:9600082733859f00d79dee64effc7aef1beb26adb297416a4ad2116fd61374bd", size = 257967, upload-time = "2025-10-06T14:50:14.16Z" }, + { url = "https://files.pythonhosted.org/packages/d0/8e/0c67b7120d5d5f6d874ed85a085f9dc770a7f9d8813e80f44a9fec820bb7/multidict-6.7.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:94218fcec4d72bc61df51c198d098ce2b378e0ccbac41ddbed5ef44092913288", size = 250085, upload-time = "2025-10-06T14:50:15.639Z" }, + { url = "https://files.pythonhosted.org/packages/ba/55/b73e1d624ea4b8fd4dd07a3bb70f6e4c7c6c5d9d640a41c6ffe5cdbd2a55/multidict-6.7.0-cp313-cp313-win32.whl", hash = "sha256:a37bd74c3fa9d00be2d7b8eca074dc56bd8077ddd2917a839bd989612671ed17", size = 41713, upload-time = "2025-10-06T14:50:17.066Z" }, + { url = "https://files.pythonhosted.org/packages/32/31/75c59e7d3b4205075b4c183fa4ca398a2daf2303ddf616b04ae6ef55cffe/multidict-6.7.0-cp313-cp313-win_amd64.whl", hash = "sha256:30d193c6cc6d559db42b6bcec8a5d395d34d60c9877a0b71ecd7c204fcf15390", size = 45915, upload-time = "2025-10-06T14:50:18.264Z" }, + { url = "https://files.pythonhosted.org/packages/31/2a/8987831e811f1184c22bc2e45844934385363ee61c0a2dcfa8f71b87e608/multidict-6.7.0-cp313-cp313-win_arm64.whl", hash = "sha256:ea3334cabe4d41b7ccd01e4d349828678794edbc2d3ae97fc162a3312095092e", size = 43077, upload-time = "2025-10-06T14:50:19.853Z" }, + { url = "https://files.pythonhosted.org/packages/e8/68/7b3a5170a382a340147337b300b9eb25a9ddb573bcdfff19c0fa3f31ffba/multidict-6.7.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:ad9ce259f50abd98a1ca0aa6e490b58c316a0fce0617f609723e40804add2c00", size = 83114, upload-time = "2025-10-06T14:50:21.223Z" }, + { url = "https://files.pythonhosted.org/packages/55/5c/3fa2d07c84df4e302060f555bbf539310980362236ad49f50eeb0a1c1eb9/multidict-6.7.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:07f5594ac6d084cbb5de2df218d78baf55ef150b91f0ff8a21cc7a2e3a5a58eb", size = 48442, upload-time = "2025-10-06T14:50:22.871Z" }, + { url = "https://files.pythonhosted.org/packages/fc/56/67212d33239797f9bd91962bb899d72bb0f4c35a8652dcdb8ed049bef878/multidict-6.7.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:0591b48acf279821a579282444814a2d8d0af624ae0bc600aa4d1b920b6e924b", size = 46885, upload-time = "2025-10-06T14:50:24.258Z" }, + { url = "https://files.pythonhosted.org/packages/46/d1/908f896224290350721597a61a69cd19b89ad8ee0ae1f38b3f5cd12ea2ac/multidict-6.7.0-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:749a72584761531d2b9467cfbdfd29487ee21124c304c4b6cb760d8777b27f9c", size = 242588, upload-time = "2025-10-06T14:50:25.716Z" }, + { url = "https://files.pythonhosted.org/packages/ab/67/8604288bbd68680eee0ab568fdcb56171d8b23a01bcd5cb0c8fedf6e5d99/multidict-6.7.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b4c3d199f953acd5b446bf7c0de1fe25d94e09e79086f8dc2f48a11a129cdf1", size = 249966, upload-time = "2025-10-06T14:50:28.192Z" }, + { url = "https://files.pythonhosted.org/packages/20/33/9228d76339f1ba51e3efef7da3ebd91964d3006217aae13211653193c3ff/multidict-6.7.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:9fb0211dfc3b51efea2f349ec92c114d7754dd62c01f81c3e32b765b70c45c9b", size = 228618, upload-time = "2025-10-06T14:50:29.82Z" }, + { url = "https://files.pythonhosted.org/packages/f8/2d/25d9b566d10cab1c42b3b9e5b11ef79c9111eaf4463b8c257a3bd89e0ead/multidict-6.7.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a027ec240fe73a8d6281872690b988eed307cd7d91b23998ff35ff577ca688b5", size = 257539, upload-time = "2025-10-06T14:50:31.731Z" }, + { url = "https://files.pythonhosted.org/packages/b6/b1/8d1a965e6637fc33de3c0d8f414485c2b7e4af00f42cab3d84e7b955c222/multidict-6.7.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d1d964afecdf3a8288789df2f5751dc0a8261138c3768d9af117ed384e538fad", size = 256345, upload-time = "2025-10-06T14:50:33.26Z" }, + { url = "https://files.pythonhosted.org/packages/ba/0c/06b5a8adbdeedada6f4fb8d8f193d44a347223b11939b42953eeb6530b6b/multidict-6.7.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:caf53b15b1b7df9fbd0709aa01409000a2b4dd03a5f6f5cc548183c7c8f8b63c", size = 247934, upload-time = "2025-10-06T14:50:34.808Z" }, + { url = "https://files.pythonhosted.org/packages/8f/31/b2491b5fe167ca044c6eb4b8f2c9f3b8a00b24c432c365358eadac5d7625/multidict-6.7.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:654030da3197d927f05a536a66186070e98765aa5142794c9904555d3a9d8fb5", size = 245243, upload-time = "2025-10-06T14:50:36.436Z" }, + { url = "https://files.pythonhosted.org/packages/61/1a/982913957cb90406c8c94f53001abd9eafc271cb3e70ff6371590bec478e/multidict-6.7.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:2090d3718829d1e484706a2f525e50c892237b2bf9b17a79b059cb98cddc2f10", size = 235878, upload-time = "2025-10-06T14:50:37.953Z" }, + { url = "https://files.pythonhosted.org/packages/be/c0/21435d804c1a1cf7a2608593f4d19bca5bcbd7a81a70b253fdd1c12af9c0/multidict-6.7.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:2d2cfeec3f6f45651b3d408c4acec0ebf3daa9bc8a112a084206f5db5d05b754", size = 243452, upload-time = "2025-10-06T14:50:39.574Z" }, + { url = "https://files.pythonhosted.org/packages/54/0a/4349d540d4a883863191be6eb9a928846d4ec0ea007d3dcd36323bb058ac/multidict-6.7.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:4ef089f985b8c194d341eb2c24ae6e7408c9a0e2e5658699c92f497437d88c3c", size = 252312, upload-time = "2025-10-06T14:50:41.612Z" }, + { url = "https://files.pythonhosted.org/packages/26/64/d5416038dbda1488daf16b676e4dbfd9674dde10a0cc8f4fc2b502d8125d/multidict-6.7.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e93a0617cd16998784bf4414c7e40f17a35d2350e5c6f0bd900d3a8e02bd3762", size = 246935, upload-time = "2025-10-06T14:50:43.972Z" }, + { url = "https://files.pythonhosted.org/packages/9f/8c/8290c50d14e49f35e0bd4abc25e1bc7711149ca9588ab7d04f886cdf03d9/multidict-6.7.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f0feece2ef8ebc42ed9e2e8c78fc4aa3cf455733b507c09ef7406364c94376c6", size = 243385, upload-time = "2025-10-06T14:50:45.648Z" }, + { url = "https://files.pythonhosted.org/packages/ef/a0/f83ae75e42d694b3fbad3e047670e511c138be747bc713cf1b10d5096416/multidict-6.7.0-cp313-cp313t-win32.whl", hash = "sha256:19a1d55338ec1be74ef62440ca9e04a2f001a04d0cc49a4983dc320ff0f3212d", size = 47777, upload-time = "2025-10-06T14:50:47.154Z" }, + { url = "https://files.pythonhosted.org/packages/dc/80/9b174a92814a3830b7357307a792300f42c9e94664b01dee8e457551fa66/multidict-6.7.0-cp313-cp313t-win_amd64.whl", hash = "sha256:3da4fb467498df97e986af166b12d01f05d2e04f978a9c1c680ea1988e0bc4b6", size = 53104, upload-time = "2025-10-06T14:50:48.851Z" }, + { url = "https://files.pythonhosted.org/packages/cc/28/04baeaf0428d95bb7a7bea0e691ba2f31394338ba424fb0679a9ed0f4c09/multidict-6.7.0-cp313-cp313t-win_arm64.whl", hash = "sha256:b4121773c49a0776461f4a904cdf6264c88e42218aaa8407e803ca8025872792", size = 45503, upload-time = "2025-10-06T14:50:50.16Z" }, + { url = "https://files.pythonhosted.org/packages/e2/b1/3da6934455dd4b261d4c72f897e3a5728eba81db59959f3a639245891baa/multidict-6.7.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3bab1e4aff7adaa34410f93b1f8e57c4b36b9af0426a76003f441ee1d3c7e842", size = 75128, upload-time = "2025-10-06T14:50:51.92Z" }, + { url = "https://files.pythonhosted.org/packages/14/2c/f069cab5b51d175a1a2cb4ccdf7a2c2dabd58aa5bd933fa036a8d15e2404/multidict-6.7.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:b8512bac933afc3e45fb2b18da8e59b78d4f408399a960339598374d4ae3b56b", size = 44410, upload-time = "2025-10-06T14:50:53.275Z" }, + { url = "https://files.pythonhosted.org/packages/42/e2/64bb41266427af6642b6b128e8774ed84c11b80a90702c13ac0a86bb10cc/multidict-6.7.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:79dcf9e477bc65414ebfea98ffd013cb39552b5ecd62908752e0e413d6d06e38", size = 43205, upload-time = "2025-10-06T14:50:54.911Z" }, + { url = "https://files.pythonhosted.org/packages/02/68/6b086fef8a3f1a8541b9236c594f0c9245617c29841f2e0395d979485cde/multidict-6.7.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:31bae522710064b5cbeddaf2e9f32b1abab70ac6ac91d42572502299e9953128", size = 245084, upload-time = "2025-10-06T14:50:56.369Z" }, + { url = "https://files.pythonhosted.org/packages/15/ee/f524093232007cd7a75c1d132df70f235cfd590a7c9eaccd7ff422ef4ae8/multidict-6.7.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4a0df7ff02397bb63e2fd22af2c87dfa39e8c7f12947bc524dbdc528282c7e34", size = 252667, upload-time = "2025-10-06T14:50:57.991Z" }, + { url = "https://files.pythonhosted.org/packages/02/a5/eeb3f43ab45878f1895118c3ef157a480db58ede3f248e29b5354139c2c9/multidict-6.7.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7a0222514e8e4c514660e182d5156a415c13ef0aabbd71682fc714e327b95e99", size = 233590, upload-time = "2025-10-06T14:50:59.589Z" }, + { url = "https://files.pythonhosted.org/packages/6a/1e/76d02f8270b97269d7e3dbd45644b1785bda457b474315f8cf999525a193/multidict-6.7.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2397ab4daaf2698eb51a76721e98db21ce4f52339e535725de03ea962b5a3202", size = 264112, upload-time = "2025-10-06T14:51:01.183Z" }, + { url = "https://files.pythonhosted.org/packages/76/0b/c28a70ecb58963847c2a8efe334904cd254812b10e535aefb3bcce513918/multidict-6.7.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8891681594162635948a636c9fe0ff21746aeb3dd5463f6e25d9bea3a8a39ca1", size = 261194, upload-time = "2025-10-06T14:51:02.794Z" }, + { url = "https://files.pythonhosted.org/packages/b4/63/2ab26e4209773223159b83aa32721b4021ffb08102f8ac7d689c943fded1/multidict-6.7.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:18706cc31dbf402a7945916dd5cddf160251b6dab8a2c5f3d6d5a55949f676b3", size = 248510, upload-time = "2025-10-06T14:51:04.724Z" }, + { url = "https://files.pythonhosted.org/packages/93/cd/06c1fa8282af1d1c46fd55c10a7930af652afdce43999501d4d68664170c/multidict-6.7.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:f844a1bbf1d207dd311a56f383f7eda2d0e134921d45751842d8235e7778965d", size = 248395, upload-time = "2025-10-06T14:51:06.306Z" }, + { url = "https://files.pythonhosted.org/packages/99/ac/82cb419dd6b04ccf9e7e61befc00c77614fc8134362488b553402ecd55ce/multidict-6.7.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:d4393e3581e84e5645506923816b9cc81f5609a778c7e7534054091acc64d1c6", size = 239520, upload-time = "2025-10-06T14:51:08.091Z" }, + { url = "https://files.pythonhosted.org/packages/fa/f3/a0f9bf09493421bd8716a362e0cd1d244f5a6550f5beffdd6b47e885b331/multidict-6.7.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:fbd18dc82d7bf274b37aa48d664534330af744e03bccf696d6f4c6042e7d19e7", size = 245479, upload-time = "2025-10-06T14:51:10.365Z" }, + { url = "https://files.pythonhosted.org/packages/8d/01/476d38fc73a212843f43c852b0eee266b6971f0e28329c2184a8df90c376/multidict-6.7.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:b6234e14f9314731ec45c42fc4554b88133ad53a09092cc48a88e771c125dadb", size = 258903, upload-time = "2025-10-06T14:51:12.466Z" }, + { url = "https://files.pythonhosted.org/packages/49/6d/23faeb0868adba613b817d0e69c5f15531b24d462af8012c4f6de4fa8dc3/multidict-6.7.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:08d4379f9744d8f78d98c8673c06e202ffa88296f009c71bbafe8a6bf847d01f", size = 252333, upload-time = "2025-10-06T14:51:14.48Z" }, + { url = "https://files.pythonhosted.org/packages/1e/cc/48d02ac22b30fa247f7dad82866e4b1015431092f4ba6ebc7e77596e0b18/multidict-6.7.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:9fe04da3f79387f450fd0061d4dd2e45a72749d31bf634aecc9e27f24fdc4b3f", size = 243411, upload-time = "2025-10-06T14:51:16.072Z" }, + { url = "https://files.pythonhosted.org/packages/4a/03/29a8bf5a18abf1fe34535c88adbdfa88c9fb869b5a3b120692c64abe8284/multidict-6.7.0-cp314-cp314-win32.whl", hash = "sha256:fbafe31d191dfa7c4c51f7a6149c9fb7e914dcf9ffead27dcfd9f1ae382b3885", size = 40940, upload-time = "2025-10-06T14:51:17.544Z" }, + { url = "https://files.pythonhosted.org/packages/82/16/7ed27b680791b939de138f906d5cf2b4657b0d45ca6f5dd6236fdddafb1a/multidict-6.7.0-cp314-cp314-win_amd64.whl", hash = "sha256:2f67396ec0310764b9222a1728ced1ab638f61aadc6226f17a71dd9324f9a99c", size = 45087, upload-time = "2025-10-06T14:51:18.875Z" }, + { url = "https://files.pythonhosted.org/packages/cd/3c/e3e62eb35a1950292fe39315d3c89941e30a9d07d5d2df42965ab041da43/multidict-6.7.0-cp314-cp314-win_arm64.whl", hash = "sha256:ba672b26069957ee369cfa7fc180dde1fc6f176eaf1e6beaf61fbebbd3d9c000", size = 42368, upload-time = "2025-10-06T14:51:20.225Z" }, + { url = "https://files.pythonhosted.org/packages/8b/40/cd499bd0dbc5f1136726db3153042a735fffd0d77268e2ee20d5f33c010f/multidict-6.7.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:c1dcc7524066fa918c6a27d61444d4ee7900ec635779058571f70d042d86ed63", size = 82326, upload-time = "2025-10-06T14:51:21.588Z" }, + { url = "https://files.pythonhosted.org/packages/13/8a/18e031eca251c8df76daf0288e6790561806e439f5ce99a170b4af30676b/multidict-6.7.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:27e0b36c2d388dc7b6ced3406671b401e84ad7eb0656b8f3a2f46ed0ce483718", size = 48065, upload-time = "2025-10-06T14:51:22.93Z" }, + { url = "https://files.pythonhosted.org/packages/40/71/5e6701277470a87d234e433fb0a3a7deaf3bcd92566e421e7ae9776319de/multidict-6.7.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2a7baa46a22e77f0988e3b23d4ede5513ebec1929e34ee9495be535662c0dfe2", size = 46475, upload-time = "2025-10-06T14:51:24.352Z" }, + { url = "https://files.pythonhosted.org/packages/fe/6a/bab00cbab6d9cfb57afe1663318f72ec28289ea03fd4e8236bb78429893a/multidict-6.7.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:7bf77f54997a9166a2f5675d1201520586439424c2511723a7312bdb4bcc034e", size = 239324, upload-time = "2025-10-06T14:51:25.822Z" }, + { url = "https://files.pythonhosted.org/packages/2a/5f/8de95f629fc22a7769ade8b41028e3e5a822c1f8904f618d175945a81ad3/multidict-6.7.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e011555abada53f1578d63389610ac8a5400fc70ce71156b0aa30d326f1a5064", size = 246877, upload-time = "2025-10-06T14:51:27.604Z" }, + { url = "https://files.pythonhosted.org/packages/23/b4/38881a960458f25b89e9f4a4fdcb02ac101cfa710190db6e5528841e67de/multidict-6.7.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:28b37063541b897fd6a318007373930a75ca6d6ac7c940dbe14731ffdd8d498e", size = 225824, upload-time = "2025-10-06T14:51:29.664Z" }, + { url = "https://files.pythonhosted.org/packages/1e/39/6566210c83f8a261575f18e7144736059f0c460b362e96e9cf797a24b8e7/multidict-6.7.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:05047ada7a2fde2631a0ed706f1fd68b169a681dfe5e4cf0f8e4cb6618bbc2cd", size = 253558, upload-time = "2025-10-06T14:51:31.684Z" }, + { url = "https://files.pythonhosted.org/packages/00/a3/67f18315100f64c269f46e6c0319fa87ba68f0f64f2b8e7fd7c72b913a0b/multidict-6.7.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:716133f7d1d946a4e1b91b1756b23c088881e70ff180c24e864c26192ad7534a", size = 252339, upload-time = "2025-10-06T14:51:33.699Z" }, + { url = "https://files.pythonhosted.org/packages/c8/2a/1cb77266afee2458d82f50da41beba02159b1d6b1f7973afc9a1cad1499b/multidict-6.7.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d1bed1b467ef657f2a0ae62844a607909ef1c6889562de5e1d505f74457d0b96", size = 244895, upload-time = "2025-10-06T14:51:36.189Z" }, + { url = "https://files.pythonhosted.org/packages/dd/72/09fa7dd487f119b2eb9524946ddd36e2067c08510576d43ff68469563b3b/multidict-6.7.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ca43bdfa5d37bd6aee89d85e1d0831fb86e25541be7e9d376ead1b28974f8e5e", size = 241862, upload-time = "2025-10-06T14:51:41.291Z" }, + { url = "https://files.pythonhosted.org/packages/65/92/bc1f8bd0853d8669300f732c801974dfc3702c3eeadae2f60cef54dc69d7/multidict-6.7.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:44b546bd3eb645fd26fb949e43c02a25a2e632e2ca21a35e2e132c8105dc8599", size = 232376, upload-time = "2025-10-06T14:51:43.55Z" }, + { url = "https://files.pythonhosted.org/packages/09/86/ac39399e5cb9d0c2ac8ef6e10a768e4d3bc933ac808d49c41f9dc23337eb/multidict-6.7.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:a6ef16328011d3f468e7ebc326f24c1445f001ca1dec335b2f8e66bed3006394", size = 240272, upload-time = "2025-10-06T14:51:45.265Z" }, + { url = "https://files.pythonhosted.org/packages/3d/b6/fed5ac6b8563ec72df6cb1ea8dac6d17f0a4a1f65045f66b6d3bf1497c02/multidict-6.7.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:5aa873cbc8e593d361ae65c68f85faadd755c3295ea2c12040ee146802f23b38", size = 248774, upload-time = "2025-10-06T14:51:46.836Z" }, + { url = "https://files.pythonhosted.org/packages/6b/8d/b954d8c0dc132b68f760aefd45870978deec6818897389dace00fcde32ff/multidict-6.7.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:3d7b6ccce016e29df4b7ca819659f516f0bc7a4b3efa3bb2012ba06431b044f9", size = 242731, upload-time = "2025-10-06T14:51:48.541Z" }, + { url = "https://files.pythonhosted.org/packages/16/9d/a2dac7009125d3540c2f54e194829ea18ac53716c61b655d8ed300120b0f/multidict-6.7.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:171b73bd4ee683d307599b66793ac80981b06f069b62eea1c9e29c9241aa66b0", size = 240193, upload-time = "2025-10-06T14:51:50.355Z" }, + { url = "https://files.pythonhosted.org/packages/39/ca/c05f144128ea232ae2178b008d5011d4e2cea86e4ee8c85c2631b1b94802/multidict-6.7.0-cp314-cp314t-win32.whl", hash = "sha256:b2d7f80c4e1fd010b07cb26820aae86b7e73b681ee4889684fb8d2d4537aab13", size = 48023, upload-time = "2025-10-06T14:51:51.883Z" }, + { url = "https://files.pythonhosted.org/packages/ba/8f/0a60e501584145588be1af5cc829265701ba3c35a64aec8e07cbb71d39bb/multidict-6.7.0-cp314-cp314t-win_amd64.whl", hash = "sha256:09929cab6fcb68122776d575e03c6cc64ee0b8fca48d17e135474b042ce515cd", size = 53507, upload-time = "2025-10-06T14:51:53.672Z" }, + { url = "https://files.pythonhosted.org/packages/7f/ae/3148b988a9c6239903e786eac19c889fab607c31d6efa7fb2147e5680f23/multidict-6.7.0-cp314-cp314t-win_arm64.whl", hash = "sha256:cc41db090ed742f32bd2d2c721861725e6109681eddf835d0a82bd3a5c382827", size = 44804, upload-time = "2025-10-06T14:51:55.415Z" }, + { url = "https://files.pythonhosted.org/packages/90/d7/4cf84257902265c4250769ac49f4eaab81c182ee9aff8bf59d2714dbb174/multidict-6.7.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:363eb68a0a59bd2303216d2346e6c441ba10d36d1f9969fcb6f1ba700de7bb5c", size = 77073, upload-time = "2025-10-06T14:51:57.386Z" }, + { url = "https://files.pythonhosted.org/packages/6d/51/194e999630a656e76c2965a1590d12faa5cd528170f2abaa04423e09fe8d/multidict-6.7.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d874eb056410ca05fed180b6642e680373688efafc7f077b2a2f61811e873a40", size = 44928, upload-time = "2025-10-06T14:51:58.791Z" }, + { url = "https://files.pythonhosted.org/packages/e5/6b/2a195373c33068c9158e0941d0b46cfcc9c1d894ca2eb137d1128081dff0/multidict-6.7.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8b55d5497b51afdfde55925e04a022f1de14d4f4f25cdfd4f5d9b0aa96166851", size = 44581, upload-time = "2025-10-06T14:52:00.174Z" }, + { url = "https://files.pythonhosted.org/packages/69/7b/7f4f2e644b6978bf011a5fd9a5ebb7c21de3f38523b1f7897d36a1ac1311/multidict-6.7.0-cp39-cp39-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:f8e5c0031b90ca9ce555e2e8fd5c3b02a25f14989cbc310701823832c99eb687", size = 239901, upload-time = "2025-10-06T14:52:02.416Z" }, + { url = "https://files.pythonhosted.org/packages/3c/b5/952c72786710a031aa204a9adf7db66d7f97a2c6573889d58b9e60fe6702/multidict-6.7.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9cf41880c991716f3c7cec48e2f19ae4045fc9db5fc9cff27347ada24d710bb5", size = 240534, upload-time = "2025-10-06T14:52:04.105Z" }, + { url = "https://files.pythonhosted.org/packages/f3/ef/109fe1f2471e4c458c74242c7e4a833f2d9fc8a6813cd7ee345b0bad18f9/multidict-6.7.0-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8cfc12a8630a29d601f48d47787bd7eb730e475e83edb5d6c5084317463373eb", size = 219545, upload-time = "2025-10-06T14:52:06.208Z" }, + { url = "https://files.pythonhosted.org/packages/42/bd/327d91288114967f9fe90dc53de70aa3fec1b9073e46aa32c4828f771a87/multidict-6.7.0-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3996b50c3237c4aec17459217c1e7bbdead9a22a0fcd3c365564fbd16439dde6", size = 251187, upload-time = "2025-10-06T14:52:08.049Z" }, + { url = "https://files.pythonhosted.org/packages/f4/13/a8b078ebbaceb7819fd28cd004413c33b98f1b70d542a62e6a00b74fb09f/multidict-6.7.0-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7f5170993a0dd3ab871c74f45c0a21a4e2c37a2f2b01b5f722a2ad9c6650469e", size = 249379, upload-time = "2025-10-06T14:52:09.831Z" }, + { url = "https://files.pythonhosted.org/packages/e3/6d/ab12e1246be4d65d1f55de1e6f6aaa9b8120eddcfdd1d290439c7833d5ce/multidict-6.7.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ec81878ddf0e98817def1e77d4f50dae5ef5b0e4fe796fae3bd674304172416e", size = 239241, upload-time = "2025-10-06T14:52:11.561Z" }, + { url = "https://files.pythonhosted.org/packages/bb/d7/079a93625208c173b8fa756396814397c0fd9fee61ef87b75a748820b86e/multidict-6.7.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9281bf5b34f59afbc6b1e477a372e9526b66ca446f4bf62592839c195a718b32", size = 237418, upload-time = "2025-10-06T14:52:13.671Z" }, + { url = "https://files.pythonhosted.org/packages/c9/29/03777c2212274aa9440918d604dc9d6af0e6b4558c611c32c3dcf1a13870/multidict-6.7.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:68af405971779d8b37198726f2b6fe3955db846fee42db7a4286fc542203934c", size = 232987, upload-time = "2025-10-06T14:52:15.708Z" }, + { url = "https://files.pythonhosted.org/packages/d9/00/11188b68d85a84e8050ee34724d6ded19ad03975caebe0c8dcb2829b37bf/multidict-6.7.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3ba3ef510467abb0667421a286dc906e30eb08569365f5cdb131d7aff7c2dd84", size = 240985, upload-time = "2025-10-06T14:52:17.317Z" }, + { url = "https://files.pythonhosted.org/packages/df/0c/12eef6aeda21859c6cdf7d75bd5516d83be3efe3d8cc45fd1a3037f5b9dc/multidict-6.7.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:b61189b29081a20c7e4e0b49b44d5d44bb0dc92be3c6d06a11cc043f81bf9329", size = 246855, upload-time = "2025-10-06T14:52:19.096Z" }, + { url = "https://files.pythonhosted.org/packages/69/f6/076120fd8bb3975f09228e288e08bff6b9f1bfd5166397c7ba284f622ab2/multidict-6.7.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:fb287618b9c7aa3bf8d825f02d9201b2f13078a5ed3b293c8f4d953917d84d5e", size = 241804, upload-time = "2025-10-06T14:52:21.166Z" }, + { url = "https://files.pythonhosted.org/packages/5f/51/41bb950c81437b88a93e6ddfca1d8763569ae861e638442838c4375f7497/multidict-6.7.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:521f33e377ff64b96c4c556b81c55d0cfffb96a11c194fd0c3f1e56f3d8dd5a4", size = 235321, upload-time = "2025-10-06T14:52:23.208Z" }, + { url = "https://files.pythonhosted.org/packages/5a/cf/5bbd31f055199d56c1f6b04bbadad3ccb24e6d5d4db75db774fc6d6674b8/multidict-6.7.0-cp39-cp39-win32.whl", hash = "sha256:ce8fdc2dca699f8dbf055a61d73eaa10482569ad20ee3c36ef9641f69afa8c91", size = 41435, upload-time = "2025-10-06T14:52:24.735Z" }, + { url = "https://files.pythonhosted.org/packages/af/01/547ffe9c2faec91c26965c152f3fea6cff068b6037401f61d310cc861ff4/multidict-6.7.0-cp39-cp39-win_amd64.whl", hash = "sha256:7e73299c99939f089dd9b2120a04a516b95cdf8c1cd2b18c53ebf0de80b1f18f", size = 46193, upload-time = "2025-10-06T14:52:26.101Z" }, + { url = "https://files.pythonhosted.org/packages/27/77/cfa5461d1d2651d6fc24216c92b4a21d4e385a41c46e0d9f3b070675167b/multidict-6.7.0-cp39-cp39-win_arm64.whl", hash = "sha256:6bdce131e14b04fd34a809b6380dbfd826065c3e2fe8a50dbae659fa0c390546", size = 43118, upload-time = "2025-10-06T14:52:27.876Z" }, + { url = "https://files.pythonhosted.org/packages/b7/da/7d22601b625e241d4f23ef1ebff8acfc60da633c9e7e7922e24d10f592b3/multidict-6.7.0-py3-none-any.whl", hash = "sha256:394fc5c42a333c9ffc3e421a4c85e08580d990e08b99f6bf35b4132114c5dcb3", size = 12317, upload-time = "2025-10-06T14:52:29.272Z" }, +] + +[[package]] +name = "mypy-extensions" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/6e/371856a3fb9d31ca8dac321cda606860fa4548858c0cc45d9d1d4ca2628b/mypy_extensions-1.1.0.tar.gz", hash = "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558", size = 6343, upload-time = "2025-04-22T14:54:24.164Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505", size = 4963, upload-time = "2025-04-22T14:54:22.983Z" }, +] + +[[package]] +name = "numpy" +version = "1.24.4" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/a4/9b/027bec52c633f6556dba6b722d9a0befb40498b9ceddd29cbe67a45a127c/numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463", size = 10911229, upload-time = "2023-06-26T13:39:33.218Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6b/80/6cdfb3e275d95155a34659163b83c09e3a3ff9f1456880bec6cc63d71083/numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64", size = 19789140, upload-time = "2023-06-26T13:22:33.184Z" }, + { url = "https://files.pythonhosted.org/packages/64/5f/3f01d753e2175cfade1013eea08db99ba1ee4bdb147ebcf3623b75d12aa7/numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1", size = 13854297, upload-time = "2023-06-26T13:22:59.541Z" }, + { url = "https://files.pythonhosted.org/packages/5a/b3/2f9c21d799fa07053ffa151faccdceeb69beec5a010576b8991f614021f7/numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4", size = 13995611, upload-time = "2023-06-26T13:23:22.167Z" }, + { url = "https://files.pythonhosted.org/packages/10/be/ae5bf4737cb79ba437879915791f6f26d92583c738d7d960ad94e5c36adf/numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6", size = 17282357, upload-time = "2023-06-26T13:23:51.446Z" }, + { url = "https://files.pythonhosted.org/packages/c0/64/908c1087be6285f40e4b3e79454552a701664a079321cff519d8c7051d06/numpy-1.24.4-cp310-cp310-win32.whl", hash = "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc", size = 12429222, upload-time = "2023-06-26T13:24:13.849Z" }, + { url = "https://files.pythonhosted.org/packages/22/55/3d5a7c1142e0d9329ad27cece17933b0e2ab4e54ddc5c1861fbfeb3f7693/numpy-1.24.4-cp310-cp310-win_amd64.whl", hash = "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e", size = 14841514, upload-time = "2023-06-26T13:24:38.129Z" }, + { url = "https://files.pythonhosted.org/packages/a9/cc/5ed2280a27e5dab12994c884f1f4d8c3bd4d885d02ae9e52a9d213a6a5e2/numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810", size = 19775508, upload-time = "2023-06-26T13:25:08.882Z" }, + { url = "https://files.pythonhosted.org/packages/c0/bc/77635c657a3668cf652806210b8662e1aff84b818a55ba88257abf6637a8/numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254", size = 13840033, upload-time = "2023-06-26T13:25:33.417Z" }, + { url = "https://files.pythonhosted.org/packages/a7/4c/96cdaa34f54c05e97c1c50f39f98d608f96f0677a6589e64e53104e22904/numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7", size = 13991951, upload-time = "2023-06-26T13:25:55.725Z" }, + { url = "https://files.pythonhosted.org/packages/22/97/dfb1a31bb46686f09e68ea6ac5c63fdee0d22d7b23b8f3f7ea07712869ef/numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5", size = 17278923, upload-time = "2023-06-26T13:26:25.658Z" }, + { url = "https://files.pythonhosted.org/packages/35/e2/76a11e54139654a324d107da1d98f99e7aa2a7ef97cfd7c631fba7dbde71/numpy-1.24.4-cp311-cp311-win32.whl", hash = "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d", size = 12422446, upload-time = "2023-06-26T13:26:49.302Z" }, + { url = "https://files.pythonhosted.org/packages/d8/ec/ebef2f7d7c28503f958f0f8b992e7ce606fb74f9e891199329d5f5f87404/numpy-1.24.4-cp311-cp311-win_amd64.whl", hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694", size = 14834466, upload-time = "2023-06-26T13:27:16.029Z" }, + { url = "https://files.pythonhosted.org/packages/11/10/943cfb579f1a02909ff96464c69893b1d25be3731b5d3652c2e0cf1281ea/numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61", size = 19780722, upload-time = "2023-06-26T13:27:49.573Z" }, + { url = "https://files.pythonhosted.org/packages/a7/ae/f53b7b265fdc701e663fbb322a8e9d4b14d9cb7b2385f45ddfabfc4327e4/numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f", size = 13843102, upload-time = "2023-06-26T13:28:12.288Z" }, + { url = "https://files.pythonhosted.org/packages/25/6f/2586a50ad72e8dbb1d8381f837008a0321a3516dfd7cb57fc8cf7e4bb06b/numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e", size = 14039616, upload-time = "2023-06-26T13:28:35.659Z" }, + { url = "https://files.pythonhosted.org/packages/98/5d/5738903efe0ecb73e51eb44feafba32bdba2081263d40c5043568ff60faf/numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc", size = 17316263, upload-time = "2023-06-26T13:29:09.272Z" }, + { url = "https://files.pythonhosted.org/packages/d1/57/8d328f0b91c733aa9aa7ee540dbc49b58796c862b4fbcb1146c701e888da/numpy-1.24.4-cp38-cp38-win32.whl", hash = "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2", size = 12455660, upload-time = "2023-06-26T13:29:33.434Z" }, + { url = "https://files.pythonhosted.org/packages/69/65/0d47953afa0ad569d12de5f65d964321c208492064c38fe3b0b9744f8d44/numpy-1.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706", size = 14868112, upload-time = "2023-06-26T13:29:58.385Z" }, + { url = "https://files.pythonhosted.org/packages/9a/cd/d5b0402b801c8a8b56b04c1e85c6165efab298d2f0ab741c2406516ede3a/numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400", size = 19816549, upload-time = "2023-06-26T13:30:36.976Z" }, + { url = "https://files.pythonhosted.org/packages/14/27/638aaa446f39113a3ed38b37a66243e21b38110d021bfcb940c383e120f2/numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f", size = 13879950, upload-time = "2023-06-26T13:31:01.787Z" }, + { url = "https://files.pythonhosted.org/packages/8f/27/91894916e50627476cff1a4e4363ab6179d01077d71b9afed41d9e1f18bf/numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9", size = 14030228, upload-time = "2023-06-26T13:31:26.696Z" }, + { url = "https://files.pythonhosted.org/packages/7a/7c/d7b2a0417af6428440c0ad7cb9799073e507b1a465f827d058b826236964/numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d", size = 17311170, upload-time = "2023-06-26T13:31:56.615Z" }, + { url = "https://files.pythonhosted.org/packages/18/9d/e02ace5d7dfccee796c37b995c63322674daf88ae2f4a4724c5dd0afcc91/numpy-1.24.4-cp39-cp39-win32.whl", hash = "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835", size = 12454918, upload-time = "2023-06-26T13:32:16.8Z" }, + { url = "https://files.pythonhosted.org/packages/63/38/6cc19d6b8bfa1d1a459daf2b3fe325453153ca7019976274b6f33d8b5663/numpy-1.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8", size = 14867441, upload-time = "2023-06-26T13:32:40.521Z" }, + { url = "https://files.pythonhosted.org/packages/a4/fd/8dff40e25e937c94257455c237b9b6bf5a30d42dd1cc11555533be099492/numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef", size = 19156590, upload-time = "2023-06-26T13:33:10.36Z" }, + { url = "https://files.pythonhosted.org/packages/42/e7/4bf953c6e05df90c6d351af69966384fed8e988d0e8c54dad7103b59f3ba/numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a", size = 16705744, upload-time = "2023-06-26T13:33:36.703Z" }, + { url = "https://files.pythonhosted.org/packages/fc/dd/9106005eb477d022b60b3817ed5937a43dad8fd1f20b0610ea8a32fcb407/numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2", size = 14734290, upload-time = "2023-06-26T13:34:05.409Z" }, ] [[package]] @@ -1360,7 +2884,7 @@ name = "numpy" version = "2.0.2" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version < '3.10'", + "python_full_version == '3.9.*'", ] sdist = { url = "https://files.pythonhosted.org/packages/a9/75/10dd1f8116a8b796cb2c737b674e02d02e80454bda953fa7e65d8c12b016/numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78", size = 18902015, upload-time = "2024-08-26T20:19:40.945Z" } wheels = [ @@ -1477,105 +3001,132 @@ wheels = [ [[package]] name = "numpy" -version = "2.3.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.11'", -] -sdist = { url = "https://files.pythonhosted.org/packages/37/7d/3fec4199c5ffb892bed55cff901e4f39a58c81df9c44c280499e92cad264/numpy-2.3.2.tar.gz", hash = "sha256:e0486a11ec30cdecb53f184d496d1c6a20786c81e55e41640270130056f8ee48", size = 20489306, upload-time = "2025-07-24T21:32:07.553Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/96/26/1320083986108998bd487e2931eed2aeedf914b6e8905431487543ec911d/numpy-2.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:852ae5bed3478b92f093e30f785c98e0cb62fa0a939ed057c31716e18a7a22b9", size = 21259016, upload-time = "2025-07-24T20:24:35.214Z" }, - { url = "https://files.pythonhosted.org/packages/c4/2b/792b341463fa93fc7e55abbdbe87dac316c5b8cb5e94fb7a59fb6fa0cda5/numpy-2.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7a0e27186e781a69959d0230dd9909b5e26024f8da10683bd6344baea1885168", size = 14451158, upload-time = "2025-07-24T20:24:58.397Z" }, - { url = "https://files.pythonhosted.org/packages/b7/13/e792d7209261afb0c9f4759ffef6135b35c77c6349a151f488f531d13595/numpy-2.3.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:f0a1a8476ad77a228e41619af2fa9505cf69df928e9aaa165746584ea17fed2b", size = 5379817, upload-time = "2025-07-24T20:25:07.746Z" }, - { url = "https://files.pythonhosted.org/packages/49/ce/055274fcba4107c022b2113a213c7287346563f48d62e8d2a5176ad93217/numpy-2.3.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:cbc95b3813920145032412f7e33d12080f11dc776262df1712e1638207dde9e8", size = 6913606, upload-time = "2025-07-24T20:25:18.84Z" }, - { url = "https://files.pythonhosted.org/packages/17/f2/e4d72e6bc5ff01e2ab613dc198d560714971900c03674b41947e38606502/numpy-2.3.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f75018be4980a7324edc5930fe39aa391d5734531b1926968605416ff58c332d", size = 14589652, upload-time = "2025-07-24T20:25:40.356Z" }, - { url = "https://files.pythonhosted.org/packages/c8/b0/fbeee3000a51ebf7222016e2939b5c5ecf8000a19555d04a18f1e02521b8/numpy-2.3.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:20b8200721840f5621b7bd03f8dcd78de33ec522fc40dc2641aa09537df010c3", size = 16938816, upload-time = "2025-07-24T20:26:05.721Z" }, - { url = "https://files.pythonhosted.org/packages/a9/ec/2f6c45c3484cc159621ea8fc000ac5a86f1575f090cac78ac27193ce82cd/numpy-2.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1f91e5c028504660d606340a084db4b216567ded1056ea2b4be4f9d10b67197f", size = 16370512, upload-time = "2025-07-24T20:26:30.545Z" }, - { url = "https://files.pythonhosted.org/packages/b5/01/dd67cf511850bd7aefd6347aaae0956ed415abea741ae107834aae7d6d4e/numpy-2.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:fb1752a3bb9a3ad2d6b090b88a9a0ae1cd6f004ef95f75825e2f382c183b2097", size = 18884947, upload-time = "2025-07-24T20:26:58.24Z" }, - { url = "https://files.pythonhosted.org/packages/a7/17/2cf60fd3e6a61d006778735edf67a222787a8c1a7842aed43ef96d777446/numpy-2.3.2-cp311-cp311-win32.whl", hash = "sha256:4ae6863868aaee2f57503c7a5052b3a2807cf7a3914475e637a0ecd366ced220", size = 6599494, upload-time = "2025-07-24T20:27:09.786Z" }, - { url = "https://files.pythonhosted.org/packages/d5/03/0eade211c504bda872a594f045f98ddcc6caef2b7c63610946845e304d3f/numpy-2.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:240259d6564f1c65424bcd10f435145a7644a65a6811cfc3201c4a429ba79170", size = 13087889, upload-time = "2025-07-24T20:27:29.558Z" }, - { url = "https://files.pythonhosted.org/packages/13/32/2c7979d39dafb2a25087e12310fc7f3b9d3c7d960df4f4bc97955ae0ce1d/numpy-2.3.2-cp311-cp311-win_arm64.whl", hash = "sha256:4209f874d45f921bde2cff1ffcd8a3695f545ad2ffbef6d3d3c6768162efab89", size = 10459560, upload-time = "2025-07-24T20:27:46.803Z" }, - { url = "https://files.pythonhosted.org/packages/00/6d/745dd1c1c5c284d17725e5c802ca4d45cfc6803519d777f087b71c9f4069/numpy-2.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:bc3186bea41fae9d8e90c2b4fb5f0a1f5a690682da79b92574d63f56b529080b", size = 20956420, upload-time = "2025-07-24T20:28:18.002Z" }, - { url = "https://files.pythonhosted.org/packages/bc/96/e7b533ea5740641dd62b07a790af5d9d8fec36000b8e2d0472bd7574105f/numpy-2.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2f4f0215edb189048a3c03bd5b19345bdfa7b45a7a6f72ae5945d2a28272727f", size = 14184660, upload-time = "2025-07-24T20:28:39.522Z" }, - { url = "https://files.pythonhosted.org/packages/2b/53/102c6122db45a62aa20d1b18c9986f67e6b97e0d6fbc1ae13e3e4c84430c/numpy-2.3.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:8b1224a734cd509f70816455c3cffe13a4f599b1bf7130f913ba0e2c0b2006c0", size = 5113382, upload-time = "2025-07-24T20:28:48.544Z" }, - { url = "https://files.pythonhosted.org/packages/2b/21/376257efcbf63e624250717e82b4fae93d60178f09eb03ed766dbb48ec9c/numpy-2.3.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:3dcf02866b977a38ba3ec10215220609ab9667378a9e2150615673f3ffd6c73b", size = 6647258, upload-time = "2025-07-24T20:28:59.104Z" }, - { url = "https://files.pythonhosted.org/packages/91/ba/f4ebf257f08affa464fe6036e13f2bf9d4642a40228781dc1235da81be9f/numpy-2.3.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:572d5512df5470f50ada8d1972c5f1082d9a0b7aa5944db8084077570cf98370", size = 14281409, upload-time = "2025-07-24T20:40:30.298Z" }, - { url = "https://files.pythonhosted.org/packages/59/ef/f96536f1df42c668cbacb727a8c6da7afc9c05ece6d558927fb1722693e1/numpy-2.3.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8145dd6d10df13c559d1e4314df29695613575183fa2e2d11fac4c208c8a1f73", size = 16641317, upload-time = "2025-07-24T20:40:56.625Z" }, - { url = "https://files.pythonhosted.org/packages/f6/a7/af813a7b4f9a42f498dde8a4c6fcbff8100eed00182cc91dbaf095645f38/numpy-2.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:103ea7063fa624af04a791c39f97070bf93b96d7af7eb23530cd087dc8dbe9dc", size = 16056262, upload-time = "2025-07-24T20:41:20.797Z" }, - { url = "https://files.pythonhosted.org/packages/8b/5d/41c4ef8404caaa7f05ed1cfb06afe16a25895260eacbd29b4d84dff2920b/numpy-2.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fc927d7f289d14f5e037be917539620603294454130b6de200091e23d27dc9be", size = 18579342, upload-time = "2025-07-24T20:41:50.753Z" }, - { url = "https://files.pythonhosted.org/packages/a1/4f/9950e44c5a11636f4a3af6e825ec23003475cc9a466edb7a759ed3ea63bd/numpy-2.3.2-cp312-cp312-win32.whl", hash = "sha256:d95f59afe7f808c103be692175008bab926b59309ade3e6d25009e9a171f7036", size = 6320610, upload-time = "2025-07-24T20:42:01.551Z" }, - { url = "https://files.pythonhosted.org/packages/7c/2f/244643a5ce54a94f0a9a2ab578189c061e4a87c002e037b0829dd77293b6/numpy-2.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:9e196ade2400c0c737d93465327d1ae7c06c7cb8a1756121ebf54b06ca183c7f", size = 12786292, upload-time = "2025-07-24T20:42:20.738Z" }, - { url = "https://files.pythonhosted.org/packages/54/cd/7b5f49d5d78db7badab22d8323c1b6ae458fbf86c4fdfa194ab3cd4eb39b/numpy-2.3.2-cp312-cp312-win_arm64.whl", hash = "sha256:ee807923782faaf60d0d7331f5e86da7d5e3079e28b291973c545476c2b00d07", size = 10194071, upload-time = "2025-07-24T20:42:36.657Z" }, - { url = "https://files.pythonhosted.org/packages/1c/c0/c6bb172c916b00700ed3bf71cb56175fd1f7dbecebf8353545d0b5519f6c/numpy-2.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c8d9727f5316a256425892b043736d63e89ed15bbfe6556c5ff4d9d4448ff3b3", size = 20949074, upload-time = "2025-07-24T20:43:07.813Z" }, - { url = "https://files.pythonhosted.org/packages/20/4e/c116466d22acaf4573e58421c956c6076dc526e24a6be0903219775d862e/numpy-2.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:efc81393f25f14d11c9d161e46e6ee348637c0a1e8a54bf9dedc472a3fae993b", size = 14177311, upload-time = "2025-07-24T20:43:29.335Z" }, - { url = "https://files.pythonhosted.org/packages/78/45/d4698c182895af189c463fc91d70805d455a227261d950e4e0f1310c2550/numpy-2.3.2-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:dd937f088a2df683cbb79dda9a772b62a3e5a8a7e76690612c2737f38c6ef1b6", size = 5106022, upload-time = "2025-07-24T20:43:37.999Z" }, - { url = "https://files.pythonhosted.org/packages/9f/76/3e6880fef4420179309dba72a8c11f6166c431cf6dee54c577af8906f914/numpy-2.3.2-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:11e58218c0c46c80509186e460d79fbdc9ca1eb8d8aee39d8f2dc768eb781089", size = 6640135, upload-time = "2025-07-24T20:43:49.28Z" }, - { url = "https://files.pythonhosted.org/packages/34/fa/87ff7f25b3c4ce9085a62554460b7db686fef1e0207e8977795c7b7d7ba1/numpy-2.3.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5ad4ebcb683a1f99f4f392cc522ee20a18b2bb12a2c1c42c3d48d5a1adc9d3d2", size = 14278147, upload-time = "2025-07-24T20:44:10.328Z" }, - { url = "https://files.pythonhosted.org/packages/1d/0f/571b2c7a3833ae419fe69ff7b479a78d313581785203cc70a8db90121b9a/numpy-2.3.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:938065908d1d869c7d75d8ec45f735a034771c6ea07088867f713d1cd3bbbe4f", size = 16635989, upload-time = "2025-07-24T20:44:34.88Z" }, - { url = "https://files.pythonhosted.org/packages/24/5a/84ae8dca9c9a4c592fe11340b36a86ffa9fd3e40513198daf8a97839345c/numpy-2.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:66459dccc65d8ec98cc7df61307b64bf9e08101f9598755d42d8ae65d9a7a6ee", size = 16053052, upload-time = "2025-07-24T20:44:58.872Z" }, - { url = "https://files.pythonhosted.org/packages/57/7c/e5725d99a9133b9813fcf148d3f858df98511686e853169dbaf63aec6097/numpy-2.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a7af9ed2aa9ec5950daf05bb11abc4076a108bd3c7db9aa7251d5f107079b6a6", size = 18577955, upload-time = "2025-07-24T20:45:26.714Z" }, - { url = "https://files.pythonhosted.org/packages/ae/11/7c546fcf42145f29b71e4d6f429e96d8d68e5a7ba1830b2e68d7418f0bbd/numpy-2.3.2-cp313-cp313-win32.whl", hash = "sha256:906a30249315f9c8e17b085cc5f87d3f369b35fedd0051d4a84686967bdbbd0b", size = 6311843, upload-time = "2025-07-24T20:49:24.444Z" }, - { url = "https://files.pythonhosted.org/packages/aa/6f/a428fd1cb7ed39b4280d057720fed5121b0d7754fd2a9768640160f5517b/numpy-2.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:c63d95dc9d67b676e9108fe0d2182987ccb0f11933c1e8959f42fa0da8d4fa56", size = 12782876, upload-time = "2025-07-24T20:49:43.227Z" }, - { url = "https://files.pythonhosted.org/packages/65/85/4ea455c9040a12595fb6c43f2c217257c7b52dd0ba332c6a6c1d28b289fe/numpy-2.3.2-cp313-cp313-win_arm64.whl", hash = "sha256:b05a89f2fb84d21235f93de47129dd4f11c16f64c87c33f5e284e6a3a54e43f2", size = 10192786, upload-time = "2025-07-24T20:49:59.443Z" }, - { url = "https://files.pythonhosted.org/packages/80/23/8278f40282d10c3f258ec3ff1b103d4994bcad78b0cba9208317f6bb73da/numpy-2.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4e6ecfeddfa83b02318f4d84acf15fbdbf9ded18e46989a15a8b6995dfbf85ab", size = 21047395, upload-time = "2025-07-24T20:45:58.821Z" }, - { url = "https://files.pythonhosted.org/packages/1f/2d/624f2ce4a5df52628b4ccd16a4f9437b37c35f4f8a50d00e962aae6efd7a/numpy-2.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:508b0eada3eded10a3b55725b40806a4b855961040180028f52580c4729916a2", size = 14300374, upload-time = "2025-07-24T20:46:20.207Z" }, - { url = "https://files.pythonhosted.org/packages/f6/62/ff1e512cdbb829b80a6bd08318a58698867bca0ca2499d101b4af063ee97/numpy-2.3.2-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:754d6755d9a7588bdc6ac47dc4ee97867271b17cee39cb87aef079574366db0a", size = 5228864, upload-time = "2025-07-24T20:46:30.58Z" }, - { url = "https://files.pythonhosted.org/packages/7d/8e/74bc18078fff03192d4032cfa99d5a5ca937807136d6f5790ce07ca53515/numpy-2.3.2-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:a9f66e7d2b2d7712410d3bc5684149040ef5f19856f20277cd17ea83e5006286", size = 6737533, upload-time = "2025-07-24T20:46:46.111Z" }, - { url = "https://files.pythonhosted.org/packages/19/ea/0731efe2c9073ccca5698ef6a8c3667c4cf4eea53fcdcd0b50140aba03bc/numpy-2.3.2-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:de6ea4e5a65d5a90c7d286ddff2b87f3f4ad61faa3db8dabe936b34c2275b6f8", size = 14352007, upload-time = "2025-07-24T20:47:07.1Z" }, - { url = "https://files.pythonhosted.org/packages/cf/90/36be0865f16dfed20f4bc7f75235b963d5939707d4b591f086777412ff7b/numpy-2.3.2-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a3ef07ec8cbc8fc9e369c8dcd52019510c12da4de81367d8b20bc692aa07573a", size = 16701914, upload-time = "2025-07-24T20:47:32.459Z" }, - { url = "https://files.pythonhosted.org/packages/94/30/06cd055e24cb6c38e5989a9e747042b4e723535758e6153f11afea88c01b/numpy-2.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:27c9f90e7481275c7800dc9c24b7cc40ace3fdb970ae4d21eaff983a32f70c91", size = 16132708, upload-time = "2025-07-24T20:47:58.129Z" }, - { url = "https://files.pythonhosted.org/packages/9a/14/ecede608ea73e58267fd7cb78f42341b3b37ba576e778a1a06baffbe585c/numpy-2.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:07b62978075b67eee4065b166d000d457c82a1efe726cce608b9db9dd66a73a5", size = 18651678, upload-time = "2025-07-24T20:48:25.402Z" }, - { url = "https://files.pythonhosted.org/packages/40/f3/2fe6066b8d07c3685509bc24d56386534c008b462a488b7f503ba82b8923/numpy-2.3.2-cp313-cp313t-win32.whl", hash = "sha256:c771cfac34a4f2c0de8e8c97312d07d64fd8f8ed45bc9f5726a7e947270152b5", size = 6441832, upload-time = "2025-07-24T20:48:37.181Z" }, - { url = "https://files.pythonhosted.org/packages/0b/ba/0937d66d05204d8f28630c9c60bc3eda68824abde4cf756c4d6aad03b0c6/numpy-2.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:72dbebb2dcc8305c431b2836bcc66af967df91be793d63a24e3d9b741374c450", size = 12927049, upload-time = "2025-07-24T20:48:56.24Z" }, - { url = "https://files.pythonhosted.org/packages/e9/ed/13542dd59c104d5e654dfa2ac282c199ba64846a74c2c4bcdbc3a0f75df1/numpy-2.3.2-cp313-cp313t-win_arm64.whl", hash = "sha256:72c6df2267e926a6d5286b0a6d556ebe49eae261062059317837fda12ddf0c1a", size = 10262935, upload-time = "2025-07-24T20:49:13.136Z" }, - { url = "https://files.pythonhosted.org/packages/c9/7c/7659048aaf498f7611b783e000c7268fcc4dcf0ce21cd10aad7b2e8f9591/numpy-2.3.2-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:448a66d052d0cf14ce9865d159bfc403282c9bc7bb2a31b03cc18b651eca8b1a", size = 20950906, upload-time = "2025-07-24T20:50:30.346Z" }, - { url = "https://files.pythonhosted.org/packages/80/db/984bea9d4ddf7112a04cfdfb22b1050af5757864cfffe8e09e44b7f11a10/numpy-2.3.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:546aaf78e81b4081b2eba1d105c3b34064783027a06b3ab20b6eba21fb64132b", size = 14185607, upload-time = "2025-07-24T20:50:51.923Z" }, - { url = "https://files.pythonhosted.org/packages/e4/76/b3d6f414f4eca568f469ac112a3b510938d892bc5a6c190cb883af080b77/numpy-2.3.2-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:87c930d52f45df092f7578889711a0768094debf73cfcde105e2d66954358125", size = 5114110, upload-time = "2025-07-24T20:51:01.041Z" }, - { url = "https://files.pythonhosted.org/packages/9e/d2/6f5e6826abd6bca52392ed88fe44a4b52aacb60567ac3bc86c67834c3a56/numpy-2.3.2-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:8dc082ea901a62edb8f59713c6a7e28a85daddcb67454c839de57656478f5b19", size = 6642050, upload-time = "2025-07-24T20:51:11.64Z" }, - { url = "https://files.pythonhosted.org/packages/c4/43/f12b2ade99199e39c73ad182f103f9d9791f48d885c600c8e05927865baf/numpy-2.3.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:af58de8745f7fa9ca1c0c7c943616c6fe28e75d0c81f5c295810e3c83b5be92f", size = 14296292, upload-time = "2025-07-24T20:51:33.488Z" }, - { url = "https://files.pythonhosted.org/packages/5d/f9/77c07d94bf110a916b17210fac38680ed8734c236bfed9982fd8524a7b47/numpy-2.3.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed5527c4cf10f16c6d0b6bee1f89958bccb0ad2522c8cadc2efd318bcd545f5", size = 16638913, upload-time = "2025-07-24T20:51:58.517Z" }, - { url = "https://files.pythonhosted.org/packages/9b/d1/9d9f2c8ea399cc05cfff8a7437453bd4e7d894373a93cdc46361bbb49a7d/numpy-2.3.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:095737ed986e00393ec18ec0b21b47c22889ae4b0cd2d5e88342e08b01141f58", size = 16071180, upload-time = "2025-07-24T20:52:22.827Z" }, - { url = "https://files.pythonhosted.org/packages/4c/41/82e2c68aff2a0c9bf315e47d61951099fed65d8cb2c8d9dc388cb87e947e/numpy-2.3.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b5e40e80299607f597e1a8a247ff8d71d79c5b52baa11cc1cce30aa92d2da6e0", size = 18576809, upload-time = "2025-07-24T20:52:51.015Z" }, - { url = "https://files.pythonhosted.org/packages/14/14/4b4fd3efb0837ed252d0f583c5c35a75121038a8c4e065f2c259be06d2d8/numpy-2.3.2-cp314-cp314-win32.whl", hash = "sha256:7d6e390423cc1f76e1b8108c9b6889d20a7a1f59d9a60cac4a050fa734d6c1e2", size = 6366410, upload-time = "2025-07-24T20:56:44.949Z" }, - { url = "https://files.pythonhosted.org/packages/11/9e/b4c24a6b8467b61aced5c8dc7dcfce23621baa2e17f661edb2444a418040/numpy-2.3.2-cp314-cp314-win_amd64.whl", hash = "sha256:b9d0878b21e3918d76d2209c924ebb272340da1fb51abc00f986c258cd5e957b", size = 12918821, upload-time = "2025-07-24T20:57:06.479Z" }, - { url = "https://files.pythonhosted.org/packages/0e/0f/0dc44007c70b1007c1cef86b06986a3812dd7106d8f946c09cfa75782556/numpy-2.3.2-cp314-cp314-win_arm64.whl", hash = "sha256:2738534837c6a1d0c39340a190177d7d66fdf432894f469728da901f8f6dc910", size = 10477303, upload-time = "2025-07-24T20:57:22.879Z" }, - { url = "https://files.pythonhosted.org/packages/8b/3e/075752b79140b78ddfc9c0a1634d234cfdbc6f9bbbfa6b7504e445ad7d19/numpy-2.3.2-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:4d002ecf7c9b53240be3bb69d80f86ddbd34078bae04d87be81c1f58466f264e", size = 21047524, upload-time = "2025-07-24T20:53:22.086Z" }, - { url = "https://files.pythonhosted.org/packages/fe/6d/60e8247564a72426570d0e0ea1151b95ce5bd2f1597bb878a18d32aec855/numpy-2.3.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:293b2192c6bcce487dbc6326de5853787f870aeb6c43f8f9c6496db5b1781e45", size = 14300519, upload-time = "2025-07-24T20:53:44.053Z" }, - { url = "https://files.pythonhosted.org/packages/4d/73/d8326c442cd428d47a067070c3ac6cc3b651a6e53613a1668342a12d4479/numpy-2.3.2-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:0a4f2021a6da53a0d580d6ef5db29947025ae8b35b3250141805ea9a32bbe86b", size = 5228972, upload-time = "2025-07-24T20:53:53.81Z" }, - { url = "https://files.pythonhosted.org/packages/34/2e/e71b2d6dad075271e7079db776196829019b90ce3ece5c69639e4f6fdc44/numpy-2.3.2-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:9c144440db4bf3bb6372d2c3e49834cc0ff7bb4c24975ab33e01199e645416f2", size = 6737439, upload-time = "2025-07-24T20:54:04.742Z" }, - { url = "https://files.pythonhosted.org/packages/15/b0/d004bcd56c2c5e0500ffc65385eb6d569ffd3363cb5e593ae742749b2daa/numpy-2.3.2-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f92d6c2a8535dc4fe4419562294ff957f83a16ebdec66df0805e473ffaad8bd0", size = 14352479, upload-time = "2025-07-24T20:54:25.819Z" }, - { url = "https://files.pythonhosted.org/packages/11/e3/285142fcff8721e0c99b51686426165059874c150ea9ab898e12a492e291/numpy-2.3.2-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cefc2219baa48e468e3db7e706305fcd0c095534a192a08f31e98d83a7d45fb0", size = 16702805, upload-time = "2025-07-24T20:54:50.814Z" }, - { url = "https://files.pythonhosted.org/packages/33/c3/33b56b0e47e604af2c7cd065edca892d180f5899599b76830652875249a3/numpy-2.3.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:76c3e9501ceb50b2ff3824c3589d5d1ab4ac857b0ee3f8f49629d0de55ecf7c2", size = 16133830, upload-time = "2025-07-24T20:55:17.306Z" }, - { url = "https://files.pythonhosted.org/packages/6e/ae/7b1476a1f4d6a48bc669b8deb09939c56dd2a439db1ab03017844374fb67/numpy-2.3.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:122bf5ed9a0221b3419672493878ba4967121514b1d7d4656a7580cd11dddcbf", size = 18652665, upload-time = "2025-07-24T20:55:46.665Z" }, - { url = "https://files.pythonhosted.org/packages/14/ba/5b5c9978c4bb161034148ade2de9db44ec316fab89ce8c400db0e0c81f86/numpy-2.3.2-cp314-cp314t-win32.whl", hash = "sha256:6f1ae3dcb840edccc45af496f312528c15b1f79ac318169d094e85e4bb35fdf1", size = 6514777, upload-time = "2025-07-24T20:55:57.66Z" }, - { url = "https://files.pythonhosted.org/packages/eb/46/3dbaf0ae7c17cdc46b9f662c56da2054887b8d9e737c1476f335c83d33db/numpy-2.3.2-cp314-cp314t-win_amd64.whl", hash = "sha256:087ffc25890d89a43536f75c5fe8770922008758e8eeeef61733957041ed2f9b", size = 13111856, upload-time = "2025-07-24T20:56:17.318Z" }, - { url = "https://files.pythonhosted.org/packages/c1/9e/1652778bce745a67b5fe05adde60ed362d38eb17d919a540e813d30f6874/numpy-2.3.2-cp314-cp314t-win_arm64.whl", hash = "sha256:092aeb3449833ea9c0bf0089d70c29ae480685dd2377ec9cdbbb620257f84631", size = 10544226, upload-time = "2025-07-24T20:56:34.509Z" }, - { url = "https://files.pythonhosted.org/packages/cf/ea/50ebc91d28b275b23b7128ef25c3d08152bc4068f42742867e07a870a42a/numpy-2.3.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:14a91ebac98813a49bc6aa1a0dfc09513dcec1d97eaf31ca21a87221a1cdcb15", size = 21130338, upload-time = "2025-07-24T20:57:54.37Z" }, - { url = "https://files.pythonhosted.org/packages/9f/57/cdd5eac00dd5f137277355c318a955c0d8fb8aa486020c22afd305f8b88f/numpy-2.3.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:71669b5daae692189540cffc4c439468d35a3f84f0c88b078ecd94337f6cb0ec", size = 14375776, upload-time = "2025-07-24T20:58:16.303Z" }, - { url = "https://files.pythonhosted.org/packages/83/85/27280c7f34fcd305c2209c0cdca4d70775e4859a9eaa92f850087f8dea50/numpy-2.3.2-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:69779198d9caee6e547adb933941ed7520f896fd9656834c300bdf4dd8642712", size = 5304882, upload-time = "2025-07-24T20:58:26.199Z" }, - { url = "https://files.pythonhosted.org/packages/48/b4/6500b24d278e15dd796f43824e69939d00981d37d9779e32499e823aa0aa/numpy-2.3.2-pp311-pypy311_pp73-macosx_14_0_x86_64.whl", hash = "sha256:2c3271cc4097beb5a60f010bcc1cc204b300bb3eafb4399376418a83a1c6373c", size = 6818405, upload-time = "2025-07-24T20:58:37.341Z" }, - { url = "https://files.pythonhosted.org/packages/9b/c9/142c1e03f199d202da8e980c2496213509291b6024fd2735ad28ae7065c7/numpy-2.3.2-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8446acd11fe3dc1830568c941d44449fd5cb83068e5c70bd5a470d323d448296", size = 14419651, upload-time = "2025-07-24T20:58:59.048Z" }, - { url = "https://files.pythonhosted.org/packages/8b/95/8023e87cbea31a750a6c00ff9427d65ebc5fef104a136bfa69f76266d614/numpy-2.3.2-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:aa098a5ab53fa407fded5870865c6275a5cd4101cfdef8d6fafc48286a96e981", size = 16760166, upload-time = "2025-07-24T21:28:56.38Z" }, - { url = "https://files.pythonhosted.org/packages/78/e3/6690b3f85a05506733c7e90b577e4762517404ea78bab2ca3a5cb1aeb78d/numpy-2.3.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:6936aff90dda378c09bea075af0d9c675fe3a977a9d2402f95a87f440f59f619", size = 12977811, upload-time = "2025-07-24T21:29:18.234Z" }, +version = "2.4.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/a4/7a/6a3d14e205d292b738db449d0de649b373a59edb0d0b4493821d0a3e8718/numpy-2.4.0.tar.gz", hash = "sha256:6e504f7b16118198f138ef31ba24d985b124c2c469fe8467007cf30fd992f934", size = 20685720, upload-time = "2025-12-20T16:18:19.023Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/26/7e/7bae7cbcc2f8132271967aa03e03954fc1e48aa1f3bf32b29ca95fbef352/numpy-2.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:316b2f2584682318539f0bcaca5a496ce9ca78c88066579ebd11fd06f8e4741e", size = 16940166, upload-time = "2025-12-20T16:15:43.434Z" }, + { url = "https://files.pythonhosted.org/packages/0f/27/6c13f5b46776d6246ec884ac5817452672156a506d08a1f2abb39961930a/numpy-2.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a2718c1de8504121714234b6f8241d0019450353276c88b9453c9c3d92e101db", size = 12641781, upload-time = "2025-12-20T16:15:45.701Z" }, + { url = "https://files.pythonhosted.org/packages/14/1c/83b4998d4860d15283241d9e5215f28b40ac31f497c04b12fa7f428ff370/numpy-2.4.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:21555da4ec4a0c942520ead42c3b0dc9477441e085c42b0fbdd6a084869a6f6b", size = 5470247, upload-time = "2025-12-20T16:15:47.943Z" }, + { url = "https://files.pythonhosted.org/packages/54/08/cbce72c835d937795571b0464b52069f869c9e78b0c076d416c5269d2718/numpy-2.4.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:413aa561266a4be2d06cd2b9665e89d9f54c543f418773076a76adcf2af08bc7", size = 6799807, upload-time = "2025-12-20T16:15:49.795Z" }, + { url = "https://files.pythonhosted.org/packages/ff/be/2e647961cd8c980591d75cdcd9e8f647d69fbe05e2a25613dc0a2ea5fb1a/numpy-2.4.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0feafc9e03128074689183031181fac0897ff169692d8492066e949041096548", size = 14701992, upload-time = "2025-12-20T16:15:51.615Z" }, + { url = "https://files.pythonhosted.org/packages/a2/fb/e1652fb8b6fd91ce6ed429143fe2e01ce714711e03e5b762615e7b36172c/numpy-2.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a8fdfed3deaf1928fb7667d96e0567cdf58c2b370ea2ee7e586aa383ec2cb346", size = 16646871, upload-time = "2025-12-20T16:15:54.129Z" }, + { url = "https://files.pythonhosted.org/packages/62/23/d841207e63c4322842f7cd042ae981cffe715c73376dcad8235fb31debf1/numpy-2.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e06a922a469cae9a57100864caf4f8a97a1026513793969f8ba5b63137a35d25", size = 16487190, upload-time = "2025-12-20T16:15:56.147Z" }, + { url = "https://files.pythonhosted.org/packages/bc/a0/6a842c8421ebfdec0a230e65f61e0dabda6edbef443d999d79b87c273965/numpy-2.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:927ccf5cd17c48f801f4ed43a7e5673a2724bd2171460be3e3894e6e332ef83a", size = 18580762, upload-time = "2025-12-20T16:15:58.524Z" }, + { url = "https://files.pythonhosted.org/packages/0a/d1/c79e0046641186f2134dde05e6181825b911f8bdcef31b19ddd16e232847/numpy-2.4.0-cp311-cp311-win32.whl", hash = "sha256:882567b7ae57c1b1a0250208cc21a7976d8cbcc49d5a322e607e6f09c9e0bd53", size = 6233359, upload-time = "2025-12-20T16:16:00.938Z" }, + { url = "https://files.pythonhosted.org/packages/fc/f0/74965001d231f28184d6305b8cdc1b6fcd4bf23033f6cb039cfe76c9fca7/numpy-2.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:8b986403023c8f3bf8f487c2e6186afda156174d31c175f747d8934dfddf3479", size = 12601132, upload-time = "2025-12-20T16:16:02.484Z" }, + { url = "https://files.pythonhosted.org/packages/65/32/55408d0f46dfebce38017f5bd931affa7256ad6beac1a92a012e1fbc67a7/numpy-2.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:3f3096405acc48887458bbf9f6814d43785ac7ba2a57ea6442b581dedbc60ce6", size = 10573977, upload-time = "2025-12-20T16:16:04.77Z" }, + { url = "https://files.pythonhosted.org/packages/8b/ff/f6400ffec95de41c74b8e73df32e3fff1830633193a7b1e409be7fb1bb8c/numpy-2.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2a8b6bb8369abefb8bd1801b054ad50e02b3275c8614dc6e5b0373c305291037", size = 16653117, upload-time = "2025-12-20T16:16:06.709Z" }, + { url = "https://files.pythonhosted.org/packages/fd/28/6c23e97450035072e8d830a3c411bf1abd1f42c611ff9d29e3d8f55c6252/numpy-2.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2e284ca13d5a8367e43734148622caf0b261b275673823593e3e3634a6490f83", size = 12369711, upload-time = "2025-12-20T16:16:08.758Z" }, + { url = "https://files.pythonhosted.org/packages/bc/af/acbef97b630ab1bb45e6a7d01d1452e4251aa88ce680ac36e56c272120ec/numpy-2.4.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:49ff32b09f5aa0cd30a20c2b39db3e669c845589f2b7fc910365210887e39344", size = 5198355, upload-time = "2025-12-20T16:16:10.902Z" }, + { url = "https://files.pythonhosted.org/packages/c1/c8/4e0d436b66b826f2e53330adaa6311f5cac9871a5b5c31ad773b27f25a74/numpy-2.4.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:36cbfb13c152b1c7c184ddac43765db8ad672567e7bafff2cc755a09917ed2e6", size = 6545298, upload-time = "2025-12-20T16:16:12.607Z" }, + { url = "https://files.pythonhosted.org/packages/ef/27/e1f5d144ab54eac34875e79037011d511ac57b21b220063310cb96c80fbc/numpy-2.4.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:35ddc8f4914466e6fc954c76527aa91aa763682a4f6d73249ef20b418fe6effb", size = 14398387, upload-time = "2025-12-20T16:16:14.257Z" }, + { url = "https://files.pythonhosted.org/packages/67/64/4cb909dd5ab09a9a5d086eff9586e69e827b88a5585517386879474f4cf7/numpy-2.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dc578891de1db95b2a35001b695451767b580bb45753717498213c5ff3c41d63", size = 16363091, upload-time = "2025-12-20T16:16:17.32Z" }, + { url = "https://files.pythonhosted.org/packages/9d/9c/8efe24577523ec6809261859737cf117b0eb6fdb655abdfdc81b2e468ce4/numpy-2.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:98e81648e0b36e325ab67e46b5400a7a6d4a22b8a7c8e8bbfe20e7db7906bf95", size = 16176394, upload-time = "2025-12-20T16:16:19.524Z" }, + { url = "https://files.pythonhosted.org/packages/61/f0/1687441ece7b47a62e45a1f82015352c240765c707928edd8aef875d5951/numpy-2.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d57b5046c120561ba8fa8e4030fbb8b822f3063910fa901ffadf16e2b7128ad6", size = 18287378, upload-time = "2025-12-20T16:16:22.866Z" }, + { url = "https://files.pythonhosted.org/packages/d3/6f/f868765d44e6fc466467ed810ba9d8d6db1add7d4a748abfa2a4c99a3194/numpy-2.4.0-cp312-cp312-win32.whl", hash = "sha256:92190db305a6f48734d3982f2c60fa30d6b5ee9bff10f2887b930d7b40119f4c", size = 5955432, upload-time = "2025-12-20T16:16:25.06Z" }, + { url = "https://files.pythonhosted.org/packages/d4/b5/94c1e79fcbab38d1ca15e13777477b2914dd2d559b410f96949d6637b085/numpy-2.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:680060061adb2d74ce352628cb798cfdec399068aa7f07ba9fb818b2b3305f98", size = 12306201, upload-time = "2025-12-20T16:16:26.979Z" }, + { url = "https://files.pythonhosted.org/packages/70/09/c39dadf0b13bb0768cd29d6a3aaff1fb7c6905ac40e9aaeca26b1c086e06/numpy-2.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:39699233bc72dd482da1415dcb06076e32f60eddc796a796c5fb6c5efce94667", size = 10308234, upload-time = "2025-12-20T16:16:29.417Z" }, + { url = "https://files.pythonhosted.org/packages/a7/0d/853fd96372eda07c824d24adf02e8bc92bb3731b43a9b2a39161c3667cc4/numpy-2.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a152d86a3ae00ba5f47b3acf3b827509fd0b6cb7d3259665e63dafbad22a75ea", size = 16649088, upload-time = "2025-12-20T16:16:31.421Z" }, + { url = "https://files.pythonhosted.org/packages/e3/37/cc636f1f2a9f585434e20a3e6e63422f70bfe4f7f6698e941db52ea1ac9a/numpy-2.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:39b19251dec4de8ff8496cd0806cbe27bf0684f765abb1f4809554de93785f2d", size = 12364065, upload-time = "2025-12-20T16:16:33.491Z" }, + { url = "https://files.pythonhosted.org/packages/ed/69/0b78f37ca3690969beee54103ce5f6021709134e8020767e93ba691a72f1/numpy-2.4.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:009bd0ea12d3c784b6639a8457537016ce5172109e585338e11334f6a7bb88ee", size = 5192640, upload-time = "2025-12-20T16:16:35.636Z" }, + { url = "https://files.pythonhosted.org/packages/1d/2a/08569f8252abf590294dbb09a430543ec8f8cc710383abfb3e75cc73aeda/numpy-2.4.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:5fe44e277225fd3dff6882d86d3d447205d43532c3627313d17e754fb3905a0e", size = 6541556, upload-time = "2025-12-20T16:16:37.276Z" }, + { url = "https://files.pythonhosted.org/packages/93/e9/a949885a4e177493d61519377952186b6cbfdf1d6002764c664ba28349b5/numpy-2.4.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f935c4493eda9069851058fa0d9e39dbf6286be690066509305e52912714dbb2", size = 14396562, upload-time = "2025-12-20T16:16:38.953Z" }, + { url = "https://files.pythonhosted.org/packages/99/98/9d4ad53b0e9ef901c2ef1d550d2136f5ac42d3fd2988390a6def32e23e48/numpy-2.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8cfa5f29a695cb7438965e6c3e8d06e0416060cf0d709c1b1c1653a939bf5c2a", size = 16351719, upload-time = "2025-12-20T16:16:41.503Z" }, + { url = "https://files.pythonhosted.org/packages/28/de/5f3711a38341d6e8dd619f6353251a0cdd07f3d6d101a8fd46f4ef87f895/numpy-2.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ba0cb30acd3ef11c94dc27fbfba68940652492bc107075e7ffe23057f9425681", size = 16176053, upload-time = "2025-12-20T16:16:44.552Z" }, + { url = "https://files.pythonhosted.org/packages/2a/5b/2a3753dc43916501b4183532e7ace862e13211042bceafa253afb5c71272/numpy-2.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:60e8c196cd82cbbd4f130b5290007e13e6de3eca79f0d4d38014769d96a7c475", size = 18277859, upload-time = "2025-12-20T16:16:47.174Z" }, + { url = "https://files.pythonhosted.org/packages/2c/c5/a18bcdd07a941db3076ef489d036ab16d2bfc2eae0cf27e5a26e29189434/numpy-2.4.0-cp313-cp313-win32.whl", hash = "sha256:5f48cb3e88fbc294dc90e215d86fbaf1c852c63dbdb6c3a3e63f45c4b57f7344", size = 5953849, upload-time = "2025-12-20T16:16:49.554Z" }, + { url = "https://files.pythonhosted.org/packages/4f/f1/719010ff8061da6e8a26e1980cf090412d4f5f8060b31f0c45d77dd67a01/numpy-2.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:a899699294f28f7be8992853c0c60741f16ff199205e2e6cdca155762cbaa59d", size = 12302840, upload-time = "2025-12-20T16:16:51.227Z" }, + { url = "https://files.pythonhosted.org/packages/f5/5a/b3d259083ed8b4d335270c76966cb6cf14a5d1b69e1a608994ac57a659e6/numpy-2.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:9198f447e1dc5647d07c9a6bbe2063cc0132728cc7175b39dbc796da5b54920d", size = 10308509, upload-time = "2025-12-20T16:16:53.313Z" }, + { url = "https://files.pythonhosted.org/packages/31/01/95edcffd1bb6c0633df4e808130545c4f07383ab629ac7e316fb44fff677/numpy-2.4.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:74623f2ab5cc3f7c886add4f735d1031a1d2be4a4ae63c0546cfd74e7a31ddf6", size = 12491815, upload-time = "2025-12-20T16:16:55.496Z" }, + { url = "https://files.pythonhosted.org/packages/59/ea/5644b8baa92cc1c7163b4b4458c8679852733fa74ca49c942cfa82ded4e0/numpy-2.4.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:0804a8e4ab070d1d35496e65ffd3cf8114c136a2b81f61dfab0de4b218aacfd5", size = 5320321, upload-time = "2025-12-20T16:16:57.468Z" }, + { url = "https://files.pythonhosted.org/packages/26/4e/e10938106d70bc21319bd6a86ae726da37edc802ce35a3a71ecdf1fdfe7f/numpy-2.4.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:02a2038eb27f9443a8b266a66911e926566b5a6ffd1a689b588f7f35b81e7dc3", size = 6641635, upload-time = "2025-12-20T16:16:59.379Z" }, + { url = "https://files.pythonhosted.org/packages/b3/8d/a8828e3eaf5c0b4ab116924df82f24ce3416fa38d0674d8f708ddc6c8aac/numpy-2.4.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1889b3a3f47a7b5bee16bc25a2145bd7cb91897f815ce3499db64c7458b6d91d", size = 14456053, upload-time = "2025-12-20T16:17:01.768Z" }, + { url = "https://files.pythonhosted.org/packages/68/a1/17d97609d87d4520aa5ae2dcfb32305654550ac6a35effb946d303e594ce/numpy-2.4.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:85eef4cb5625c47ee6425c58a3502555e10f45ee973da878ac8248ad58c136f3", size = 16401702, upload-time = "2025-12-20T16:17:04.235Z" }, + { url = "https://files.pythonhosted.org/packages/18/32/0f13c1b2d22bea1118356b8b963195446f3af124ed7a5adfa8fdecb1b6ca/numpy-2.4.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6dc8b7e2f4eb184b37655195f421836cfae6f58197b67e3ffc501f1333d993fa", size = 16242493, upload-time = "2025-12-20T16:17:06.856Z" }, + { url = "https://files.pythonhosted.org/packages/ae/23/48f21e3d309fbc137c068a1475358cbd3a901b3987dcfc97a029ab3068e2/numpy-2.4.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:44aba2f0cafd287871a495fb3163408b0bd25bbce135c6f621534a07f4f7875c", size = 18324222, upload-time = "2025-12-20T16:17:09.392Z" }, + { url = "https://files.pythonhosted.org/packages/ac/52/41f3d71296a3dcaa4f456aaa3c6fc8e745b43d0552b6bde56571bb4b4a0f/numpy-2.4.0-cp313-cp313t-win32.whl", hash = "sha256:20c115517513831860c573996e395707aa9fb691eb179200125c250e895fcd93", size = 6076216, upload-time = "2025-12-20T16:17:11.437Z" }, + { url = "https://files.pythonhosted.org/packages/35/ff/46fbfe60ab0710d2a2b16995f708750307d30eccbb4c38371ea9e986866e/numpy-2.4.0-cp313-cp313t-win_amd64.whl", hash = "sha256:b48e35f4ab6f6a7597c46e301126ceba4c44cd3280e3750f85db48b082624fa4", size = 12444263, upload-time = "2025-12-20T16:17:13.182Z" }, + { url = "https://files.pythonhosted.org/packages/a3/e3/9189ab319c01d2ed556c932ccf55064c5d75bb5850d1df7a482ce0badead/numpy-2.4.0-cp313-cp313t-win_arm64.whl", hash = "sha256:4d1cfce39e511069b11e67cd0bd78ceff31443b7c9e5c04db73c7a19f572967c", size = 10378265, upload-time = "2025-12-20T16:17:15.211Z" }, + { url = "https://files.pythonhosted.org/packages/ab/ed/52eac27de39d5e5a6c9aadabe672bc06f55e24a3d9010cd1183948055d76/numpy-2.4.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:c95eb6db2884917d86cde0b4d4cf31adf485c8ec36bf8696dd66fa70de96f36b", size = 16647476, upload-time = "2025-12-20T16:17:17.671Z" }, + { url = "https://files.pythonhosted.org/packages/77/c0/990ce1b7fcd4e09aeaa574e2a0a839589e4b08b2ca68070f1acb1fea6736/numpy-2.4.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:65167da969cd1ec3a1df31cb221ca3a19a8aaa25370ecb17d428415e93c1935e", size = 12374563, upload-time = "2025-12-20T16:17:20.216Z" }, + { url = "https://files.pythonhosted.org/packages/37/7c/8c5e389c6ae8f5fd2277a988600d79e9625db3fff011a2d87ac80b881a4c/numpy-2.4.0-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:3de19cfecd1465d0dcf8a5b5ea8b3155b42ed0b639dba4b71e323d74f2a3be5e", size = 5203107, upload-time = "2025-12-20T16:17:22.47Z" }, + { url = "https://files.pythonhosted.org/packages/e6/94/ca5b3bd6a8a70a5eec9a0b8dd7f980c1eff4b8a54970a9a7fef248ef564f/numpy-2.4.0-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:6c05483c3136ac4c91b4e81903cb53a8707d316f488124d0398499a4f8e8ef51", size = 6538067, upload-time = "2025-12-20T16:17:24.001Z" }, + { url = "https://files.pythonhosted.org/packages/79/43/993eb7bb5be6761dde2b3a3a594d689cec83398e3f58f4758010f3b85727/numpy-2.4.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:36667db4d6c1cea79c8930ab72fadfb4060feb4bfe724141cd4bd064d2e5f8ce", size = 14411926, upload-time = "2025-12-20T16:17:25.822Z" }, + { url = "https://files.pythonhosted.org/packages/03/75/d4c43b61de473912496317a854dac54f1efec3eeb158438da6884b70bb90/numpy-2.4.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9a818668b674047fd88c4cddada7ab8f1c298812783e8328e956b78dc4807f9f", size = 16354295, upload-time = "2025-12-20T16:17:28.308Z" }, + { url = "https://files.pythonhosted.org/packages/b8/0a/b54615b47ee8736a6461a4bb6749128dd3435c5a759d5663f11f0e9af4ac/numpy-2.4.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:1ee32359fb7543b7b7bd0b2f46294db27e29e7bbdf70541e81b190836cd83ded", size = 16190242, upload-time = "2025-12-20T16:17:30.993Z" }, + { url = "https://files.pythonhosted.org/packages/98/ce/ea207769aacad6246525ec6c6bbd66a2bf56c72443dc10e2f90feed29290/numpy-2.4.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:e493962256a38f58283de033d8af176c5c91c084ea30f15834f7545451c42059", size = 18280875, upload-time = "2025-12-20T16:17:33.327Z" }, + { url = "https://files.pythonhosted.org/packages/17/ef/ec409437aa962ea372ed601c519a2b141701683ff028f894b7466f0ab42b/numpy-2.4.0-cp314-cp314-win32.whl", hash = "sha256:6bbaebf0d11567fa8926215ae731e1d58e6ec28a8a25235b8a47405d301332db", size = 6002530, upload-time = "2025-12-20T16:17:35.729Z" }, + { url = "https://files.pythonhosted.org/packages/5f/4a/5cb94c787a3ed1ac65e1271b968686521169a7b3ec0b6544bb3ca32960b0/numpy-2.4.0-cp314-cp314-win_amd64.whl", hash = "sha256:3d857f55e7fdf7c38ab96c4558c95b97d1c685be6b05c249f5fdafcbd6f9899e", size = 12435890, upload-time = "2025-12-20T16:17:37.599Z" }, + { url = "https://files.pythonhosted.org/packages/48/a0/04b89db963af9de1104975e2544f30de89adbf75b9e75f7dd2599be12c79/numpy-2.4.0-cp314-cp314-win_arm64.whl", hash = "sha256:bb50ce5fb202a26fd5404620e7ef820ad1ab3558b444cb0b55beb7ef66cd2d63", size = 10591892, upload-time = "2025-12-20T16:17:39.649Z" }, + { url = "https://files.pythonhosted.org/packages/53/e5/d74b5ccf6712c06c7a545025a6a71bfa03bdc7e0568b405b0d655232fd92/numpy-2.4.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:355354388cba60f2132df297e2d53053d4063f79077b67b481d21276d61fc4df", size = 12494312, upload-time = "2025-12-20T16:17:41.714Z" }, + { url = "https://files.pythonhosted.org/packages/c2/08/3ca9cc2ddf54dfee7ae9a6479c071092a228c68aef08252aa08dac2af002/numpy-2.4.0-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:1d8f9fde5f6dc1b6fc34df8162f3b3079365468703fee7f31d4e0cc8c63baed9", size = 5322862, upload-time = "2025-12-20T16:17:44.145Z" }, + { url = "https://files.pythonhosted.org/packages/87/74/0bb63a68394c0c1e52670cfff2e309afa41edbe11b3327d9af29e4383f34/numpy-2.4.0-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:e0434aa22c821f44eeb4c650b81c7fbdd8c0122c6c4b5a576a76d5a35625ecd9", size = 6644986, upload-time = "2025-12-20T16:17:46.203Z" }, + { url = "https://files.pythonhosted.org/packages/06/8f/9264d9bdbcf8236af2823623fe2f3981d740fc3461e2787e231d97c38c28/numpy-2.4.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:40483b2f2d3ba7aad426443767ff5632ec3156ef09742b96913787d13c336471", size = 14457958, upload-time = "2025-12-20T16:17:48.017Z" }, + { url = "https://files.pythonhosted.org/packages/8c/d9/f9a69ae564bbc7236a35aa883319364ef5fd41f72aa320cc1cbe66148fe2/numpy-2.4.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d9e6a7664ddd9746e20b7325351fe1a8408d0a2bf9c63b5e898290ddc8f09544", size = 16398394, upload-time = "2025-12-20T16:17:50.409Z" }, + { url = "https://files.pythonhosted.org/packages/34/c7/39241501408dde7f885d241a98caba5421061a2c6d2b2197ac5e3aa842d8/numpy-2.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ecb0019d44f4cdb50b676c5d0cb4b1eae8e15d1ed3d3e6639f986fc92b2ec52c", size = 16241044, upload-time = "2025-12-20T16:17:52.661Z" }, + { url = "https://files.pythonhosted.org/packages/7c/95/cae7effd90e065a95e59fe710eeee05d7328ed169776dfdd9f789e032125/numpy-2.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:d0ffd9e2e4441c96a9c91ec1783285d80bf835b677853fc2770a89d50c1e48ac", size = 18321772, upload-time = "2025-12-20T16:17:54.947Z" }, + { url = "https://files.pythonhosted.org/packages/96/df/3c6c279accd2bfb968a76298e5b276310bd55d243df4fa8ac5816d79347d/numpy-2.4.0-cp314-cp314t-win32.whl", hash = "sha256:77f0d13fa87036d7553bf81f0e1fe3ce68d14c9976c9851744e4d3e91127e95f", size = 6148320, upload-time = "2025-12-20T16:17:57.249Z" }, + { url = "https://files.pythonhosted.org/packages/92/8d/f23033cce252e7a75cae853d17f582e86534c46404dea1c8ee094a9d6d84/numpy-2.4.0-cp314-cp314t-win_amd64.whl", hash = "sha256:b1f5b45829ac1848893f0ddf5cb326110604d6df96cdc255b0bf9edd154104d4", size = 12623460, upload-time = "2025-12-20T16:17:58.963Z" }, + { url = "https://files.pythonhosted.org/packages/a4/4f/1f8475907d1a7c4ef9020edf7f39ea2422ec896849245f00688e4b268a71/numpy-2.4.0-cp314-cp314t-win_arm64.whl", hash = "sha256:23a3e9d1a6f360267e8fbb38ba5db355a6a7e9be71d7fce7ab3125e88bb646c8", size = 10661799, upload-time = "2025-12-20T16:18:01.078Z" }, + { url = "https://files.pythonhosted.org/packages/4b/ef/088e7c7342f300aaf3ee5f2c821c4b9996a1bef2aaf6a49cc8ab4883758e/numpy-2.4.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b54c83f1c0c0f1d748dca0af516062b8829d53d1f0c402be24b4257a9c48ada6", size = 16819003, upload-time = "2025-12-20T16:18:03.41Z" }, + { url = "https://files.pythonhosted.org/packages/ff/ce/a53017b5443b4b84517182d463fc7bcc2adb4faa8b20813f8e5f5aeb5faa/numpy-2.4.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:aabb081ca0ec5d39591fc33018cd4b3f96e1a2dd6756282029986d00a785fba4", size = 12567105, upload-time = "2025-12-20T16:18:05.594Z" }, + { url = "https://files.pythonhosted.org/packages/77/58/5ff91b161f2ec650c88a626c3905d938c89aaadabd0431e6d9c1330c83e2/numpy-2.4.0-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:8eafe7c36c8430b7794edeab3087dec7bf31d634d92f2af9949434b9d1964cba", size = 5395590, upload-time = "2025-12-20T16:18:08.031Z" }, + { url = "https://files.pythonhosted.org/packages/1d/4e/f1a084106df8c2df8132fc437e56987308e0524836aa7733721c8429d4fe/numpy-2.4.0-pp311-pypy311_pp73-macosx_14_0_x86_64.whl", hash = "sha256:2f585f52b2baf07ff3356158d9268ea095e221371f1074fadea2f42544d58b4d", size = 6709947, upload-time = "2025-12-20T16:18:09.836Z" }, + { url = "https://files.pythonhosted.org/packages/63/09/3d8aeb809c0332c3f642da812ac2e3d74fc9252b3021f8c30c82e99e3f3d/numpy-2.4.0-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:32ed06d0fe9cae27d8fb5f400c63ccee72370599c75e683a6358dd3a4fb50aaf", size = 14535119, upload-time = "2025-12-20T16:18:12.105Z" }, + { url = "https://files.pythonhosted.org/packages/fd/7f/68f0fc43a2cbdc6bb239160c754d87c922f60fbaa0fa3cd3d312b8a7f5ee/numpy-2.4.0-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:57c540ed8fb1f05cb997c6761cd56db72395b0d6985e90571ff660452ade4f98", size = 16475815, upload-time = "2025-12-20T16:18:14.433Z" }, + { url = "https://files.pythonhosted.org/packages/11/73/edeacba3167b1ca66d51b1a5a14697c2c40098b5ffa01811c67b1785a5ab/numpy-2.4.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:a39fb973a726e63223287adc6dafe444ce75af952d711e400f3bf2b36ef55a7b", size = 12489376, upload-time = "2025-12-20T16:18:16.524Z" }, ] [[package]] name = "openai" -version = "1.102.0" +version = "2.2.0" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] dependencies = [ - { name = "anyio" }, - { name = "distro" }, - { name = "httpx" }, - { name = "jiter" }, - { name = "pydantic" }, - { name = "sniffio" }, - { name = "tqdm" }, - { name = "typing-extensions" }, + { name = "anyio", version = "4.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "distro", marker = "python_full_version < '3.9'" }, + { name = "httpx", marker = "python_full_version < '3.9'" }, + { name = "jiter", version = "0.9.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pydantic", version = "2.10.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "sniffio", marker = "python_full_version < '3.9'" }, + { name = "tqdm", marker = "python_full_version < '3.9'" }, + { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b8/b1/8201e321a7d64a25c6f5a560320272d8be70547add40311fceb916518632/openai-2.2.0.tar.gz", hash = "sha256:bc49d077a8bf0e370eec4d038bc05e232c20855a19df0b58e5b3e5a8da7d33e0", size = 588512, upload-time = "2025-10-06T18:08:13.665Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/92/6aeef1836e66dfec7f7f160a4f06d7041be7f6ccfc47a2f0f5738b332245/openai-2.2.0-py3-none-any.whl", hash = "sha256:d222e63436e33f3134a3d7ce490dc2d2f146fa98036eb65cc225df3ce163916f", size = 998972, upload-time = "2025-10-06T18:08:11.775Z" }, +] + +[[package]] +name = "openai" +version = "2.14.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", ] -sdist = { url = "https://files.pythonhosted.org/packages/07/55/da5598ed5c6bdd9939633854049cddc5cbac0da938dfcfcb3c6b119c16c0/openai-1.102.0.tar.gz", hash = "sha256:2e0153bcd64a6523071e90211cbfca1f2bbc5ceedd0993ba932a5869f93b7fc9", size = 519027, upload-time = "2025-08-26T20:50:29.397Z" } +dependencies = [ + { name = "anyio", version = "4.12.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "distro", marker = "python_full_version >= '3.9'" }, + { name = "httpx", marker = "python_full_version >= '3.9'" }, + { name = "jiter", version = "0.12.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "sniffio", marker = "python_full_version >= '3.9'" }, + { name = "tqdm", marker = "python_full_version >= '3.9'" }, + { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d8/b1/12fe1c196bea326261718eb037307c1c1fe1dedc2d2d4de777df822e6238/openai-2.14.0.tar.gz", hash = "sha256:419357bedde9402d23bf8f2ee372fca1985a73348debba94bddff06f19459952", size = 626938, upload-time = "2025-12-19T03:28:45.742Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/bd/0d/c9e7016d82c53c5b5e23e2bad36daebb8921ed44f69c0a985c6529a35106/openai-1.102.0-py3-none-any.whl", hash = "sha256:d751a7e95e222b5325306362ad02a7aa96e1fab3ed05b5888ce1c7ca63451345", size = 812015, upload-time = "2025-08-26T20:50:27.219Z" }, + { url = "https://files.pythonhosted.org/packages/27/4b/7c1a00c2c3fbd004253937f7520f692a9650767aa73894d7a34f0d65d3f4/openai-2.14.0-py3-none-any.whl", hash = "sha256:7ea40aca4ffc4c4a776e77679021b47eec1160e341f42ae086ba949c9dcc9183", size = 1067558, upload-time = "2025-12-19T03:28:43.727Z" }, ] [[package]] @@ -1601,7 +3152,8 @@ name = "parsimonious" version = "0.10.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "regex" }, + { name = "regex", version = "2024.11.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "regex", version = "2025.11.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/7b/91/abdc50c4ef06fdf8d047f60ee777ca9b2a7885e1a9cea81343fbecda52d7/parsimonious-0.10.0.tar.gz", hash = "sha256:8281600da180ec8ae35427a4ab4f7b82bfec1e3d1e52f80cb60ea82b9512501c", size = 52172, upload-time = "2022-09-03T17:01:17.004Z" } wheels = [ @@ -1617,169 +3169,414 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191, upload-time = "2023-12-10T22:30:43.14Z" }, ] +[[package]] +name = "pdoc" +version = "14.7.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "astunparse", marker = "python_full_version < '3.9'" }, + { name = "jinja2", marker = "python_full_version < '3.9'" }, + { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pygments", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/50/e801b13b07efecaf8c2349c64edfffdd7bc1d9ebb9837f840c0e8af11cf8/pdoc-14.7.0.tar.gz", hash = "sha256:2d28af9c0acc39180744ad0543e4bbc3223ecba0d1302db315ec521c51f71f93", size = 154626, upload-time = "2024-09-11T23:35:36.132Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/27/bb/6dfa7e6f4eeed22d3311af76256615da637f821d584cf7b7aab5f4cbffc5/pdoc-14.7.0-py3-none-any.whl", hash = "sha256:72377a907efc6b2c5b3c56b717ef34f11d93621dced3b663f3aede0b844c0ad2", size = 144805, upload-time = "2024-09-11T23:35:34.385Z" }, +] + [[package]] name = "pdoc" version = "15.0.4" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] dependencies = [ - { name = "jinja2" }, - { name = "markupsafe" }, - { name = "pygments" }, + { name = "jinja2", marker = "python_full_version == '3.9.*'" }, + { name = "markupsafe", version = "3.0.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "pygments", marker = "python_full_version == '3.9.*'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/91/5c/e94c1ab4aa2f8a9cc29d81e1c513c6216946cb3a90957ef7115b12e9363d/pdoc-15.0.4.tar.gz", hash = "sha256:cf9680f10f5b4863381f44ef084b1903f8f356acb0d4cc6b64576ba9fb712c82", size = 155678, upload-time = "2025-06-04T17:05:49.639Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/fd/2c/87250ac73ca8730b2c4e0185b573585f0b42e09562132e6c29d00b3a9bb9/pdoc-15.0.4-py3-none-any.whl", hash = "sha256:f9028e85e7bb8475b054e69bde1f6d26fc4693d25d9fa1b1ce9009bec7f7a5c4", size = 145978, upload-time = "2025-06-04T17:05:48.473Z" }, ] +[[package]] +name = "pdoc" +version = "16.0.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "jinja2", marker = "python_full_version >= '3.10'" }, + { name = "markdown2", marker = "python_full_version >= '3.10'" }, + { name = "markupsafe", version = "3.0.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "pygments", marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ac/fe/ab3f34a5fb08c6b698439a2c2643caf8fef0d61a86dd3fdcd5501c670ab8/pdoc-16.0.0.tar.gz", hash = "sha256:fdadc40cc717ec53919e3cd720390d4e3bcd40405cb51c4918c119447f913514", size = 111890, upload-time = "2025-10-27T16:02:16.345Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/16/a1/56a17b7f9e18c2bb8df73f3833345d97083b344708b97bab148fdd7e0b82/pdoc-16.0.0-py3-none-any.whl", hash = "sha256:070b51de2743b9b1a4e0ab193a06c9e6c12cf4151cf9137656eebb16e8556628", size = 100014, upload-time = "2025-10-27T16:02:15.007Z" }, +] + +[[package]] +name = "platformdirs" +version = "4.3.6" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/13/fc/128cc9cb8f03208bdbf93d3aa862e16d376844a14f9a0ce5cf4507372de4/platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907", size = 21302, upload-time = "2024-09-17T19:06:50.688Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3c/a6/bc1012356d8ece4d66dd75c4b9fc6c1f6650ddd5991e421177d9f8f671be/platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb", size = 18439, upload-time = "2024-09-17T19:06:49.212Z" }, +] + [[package]] name = "platformdirs" version = "4.4.0" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] sdist = { url = "https://files.pythonhosted.org/packages/23/e8/21db9c9987b0e728855bd57bff6984f67952bea55d6f75e055c46b5383e8/platformdirs-4.4.0.tar.gz", hash = "sha256:ca753cf4d81dc309bc67b0ea38fd15dc97bc30ce419a7f58d13eb3bf14c4febf", size = 21634, upload-time = "2025-08-26T14:32:04.268Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/40/4b/2028861e724d3bd36227adfa20d3fd24c3fc6d52032f4a93c133be5d17ce/platformdirs-4.4.0-py3-none-any.whl", hash = "sha256:abd01743f24e5287cd7a5db3752faf1a2d65353f38ec26d98e25a6db65958c85", size = 18654, upload-time = "2025-08-26T14:32:02.735Z" }, ] +[[package]] +name = "platformdirs" +version = "4.5.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/cf/86/0248f086a84f01b37aaec0fa567b397df1a119f73c16f6c7a9aac73ea309/platformdirs-4.5.1.tar.gz", hash = "sha256:61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda", size = 21715, upload-time = "2025-12-05T13:52:58.638Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/28/3bfe2fa5a7b9c46fe7e13c97bda14c895fb10fa2ebf1d0abb90e0cea7ee1/platformdirs-4.5.1-py3-none-any.whl", hash = "sha256:d03afa3963c806a9bed9d5125c8f4cb2fdaf74a55ab60e5d59b3fde758104d31", size = 18731, upload-time = "2025-12-05T13:52:56.823Z" }, +] + +[[package]] +name = "pluggy" +version = "1.5.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", size = 67955, upload-time = "2024-04-20T21:34:42.531Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556, upload-time = "2024-04-20T21:34:40.434Z" }, +] + [[package]] name = "pluggy" version = "1.6.0" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, ] [[package]] -name = "pre-commit" -version = "4.3.0" +name = "prettytable" +version = "3.11.0" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] dependencies = [ - { name = "cfgv" }, - { name = "identify" }, - { name = "nodeenv" }, - { name = "pyyaml" }, - { name = "virtualenv" }, + { name = "wcwidth", marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ff/29/7cf5bbc236333876e4b41f56e06857a87937ce4bf91e117a6991a2dbb02a/pre_commit-4.3.0.tar.gz", hash = "sha256:499fe450cc9d42e9d58e606262795ecb64dd05438943c62b66f6a8673da30b16", size = 193792, upload-time = "2025-08-09T18:56:14.651Z" } +sdist = { url = "https://files.pythonhosted.org/packages/28/57/0a642bec16d5736b9baaac7e830bedccd10341dc2858075c34d5aec5c8b6/prettytable-3.11.0.tar.gz", hash = "sha256:7e23ca1e68bbfd06ba8de98bf553bf3493264c96d5e8a615c0471025deeba722", size = 57527, upload-time = "2024-08-12T13:29:59.315Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5b/a5/987a405322d78a73b66e39e4a90e4ef156fd7141bf71df987e50717c321b/pre_commit-4.3.0-py2.py3-none-any.whl", hash = "sha256:2b0747ad7e6e967169136edffee14c16e148a778a54e4f967921aa1ebf2308d8", size = 220965, upload-time = "2025-08-09T18:56:13.192Z" }, + { url = "https://files.pythonhosted.org/packages/d9/5a/bfdc26c0e19156992b1dc9de47f0b2e8992fe43db9981d814f860bdce2b3/prettytable-3.11.0-py3-none-any.whl", hash = "sha256:aa17083feb6c71da11a68b2c213b04675c4af4ce9c541762632ca3f2cb3546dd", size = 28734, upload-time = "2024-08-12T13:29:31.981Z" }, ] [[package]] name = "prettytable" version = "3.16.0" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] dependencies = [ - { name = "wcwidth" }, + { name = "wcwidth", marker = "python_full_version == '3.9.*'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/99/b1/85e18ac92afd08c533603e3393977b6bc1443043115a47bb094f3b98f94f/prettytable-3.16.0.tar.gz", hash = "sha256:3c64b31719d961bf69c9a7e03d0c1e477320906a98da63952bc6698d6164ff57", size = 66276, upload-time = "2025-03-24T19:39:04.008Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/02/c7/5613524e606ea1688b3bdbf48aa64bafb6d0a4ac3750274c43b6158a390f/prettytable-3.16.0-py3-none-any.whl", hash = "sha256:b5eccfabb82222f5aa46b798ff02a8452cf530a352c31bddfa29be41242863aa", size = 33863, upload-time = "2025-03-24T19:39:02.359Z" }, ] +[[package]] +name = "prettytable" +version = "3.17.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +dependencies = [ + { name = "wcwidth", marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/79/45/b0847d88d6cfeb4413566738c8bbf1e1995fad3d42515327ff32cc1eb578/prettytable-3.17.0.tar.gz", hash = "sha256:59f2590776527f3c9e8cf9fe7b66dd215837cca96a9c39567414cbc632e8ddb0", size = 67892, upload-time = "2025-11-14T17:33:20.212Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ee/8c/83087ebc47ab0396ce092363001fa37c17153119ee282700c0713a195853/prettytable-3.17.0-py3-none-any.whl", hash = "sha256:aad69b294ddbe3e1f95ef8886a060ed1666a0b83018bbf56295f6f226c43d287", size = 34433, upload-time = "2025-11-14T17:33:19.093Z" }, +] + +[[package]] +name = "propcache" +version = "0.2.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/a9/4d/5e5a60b78dbc1d464f8a7bbaeb30957257afdc8512cbb9dfd5659304f5cd/propcache-0.2.0.tar.gz", hash = "sha256:df81779732feb9d01e5d513fad0122efb3d53bbc75f61b2a4f29a020bc985e70", size = 40951, upload-time = "2024-10-07T12:56:36.896Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3a/08/1963dfb932b8d74d5b09098507b37e9b96c835ba89ab8aad35aa330f4ff3/propcache-0.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c5869b8fd70b81835a6f187c5fdbe67917a04d7e52b6e7cc4e5fe39d55c39d58", size = 80712, upload-time = "2024-10-07T12:54:02.193Z" }, + { url = "https://files.pythonhosted.org/packages/e6/59/49072aba9bf8a8ed958e576182d46f038e595b17ff7408bc7e8807e721e1/propcache-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:952e0d9d07609d9c5be361f33b0d6d650cd2bae393aabb11d9b719364521984b", size = 46301, upload-time = "2024-10-07T12:54:03.576Z" }, + { url = "https://files.pythonhosted.org/packages/33/a2/6b1978c2e0d80a678e2c483f45e5443c15fe5d32c483902e92a073314ef1/propcache-0.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:33ac8f098df0585c0b53009f039dfd913b38c1d2edafed0cedcc0c32a05aa110", size = 45581, upload-time = "2024-10-07T12:54:05.415Z" }, + { url = "https://files.pythonhosted.org/packages/43/95/55acc9adff8f997c7572f23d41993042290dfb29e404cdadb07039a4386f/propcache-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97e48e8875e6c13909c800fa344cd54cc4b2b0db1d5f911f840458a500fde2c2", size = 208659, upload-time = "2024-10-07T12:54:06.742Z" }, + { url = "https://files.pythonhosted.org/packages/bd/2c/ef7371ff715e6cd19ea03fdd5637ecefbaa0752fee5b0f2fe8ea8407ee01/propcache-0.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:388f3217649d6d59292b722d940d4d2e1e6a7003259eb835724092a1cca0203a", size = 222613, upload-time = "2024-10-07T12:54:08.204Z" }, + { url = "https://files.pythonhosted.org/packages/5e/1c/fef251f79fd4971a413fa4b1ae369ee07727b4cc2c71e2d90dfcde664fbb/propcache-0.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f571aea50ba5623c308aa146eb650eebf7dbe0fd8c5d946e28343cb3b5aad577", size = 221067, upload-time = "2024-10-07T12:54:10.449Z" }, + { url = "https://files.pythonhosted.org/packages/8d/e7/22e76ae6fc5a1708bdce92bdb49de5ebe89a173db87e4ef597d6bbe9145a/propcache-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3dfafb44f7bb35c0c06eda6b2ab4bfd58f02729e7c4045e179f9a861b07c9850", size = 208920, upload-time = "2024-10-07T12:54:11.903Z" }, + { url = "https://files.pythonhosted.org/packages/04/3e/f10aa562781bcd8a1e0b37683a23bef32bdbe501d9cc7e76969becaac30d/propcache-0.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a3ebe9a75be7ab0b7da2464a77bb27febcb4fab46a34f9288f39d74833db7f61", size = 200050, upload-time = "2024-10-07T12:54:13.292Z" }, + { url = "https://files.pythonhosted.org/packages/d0/98/8ac69f638358c5f2a0043809c917802f96f86026e86726b65006830f3dc6/propcache-0.2.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d2f0d0f976985f85dfb5f3d685697ef769faa6b71993b46b295cdbbd6be8cc37", size = 202346, upload-time = "2024-10-07T12:54:14.644Z" }, + { url = "https://files.pythonhosted.org/packages/ee/78/4acfc5544a5075d8e660af4d4e468d60c418bba93203d1363848444511ad/propcache-0.2.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:a3dc1a4b165283bd865e8f8cb5f0c64c05001e0718ed06250d8cac9bec115b48", size = 199750, upload-time = "2024-10-07T12:54:16.286Z" }, + { url = "https://files.pythonhosted.org/packages/a2/8f/90ada38448ca2e9cf25adc2fe05d08358bda1b9446f54a606ea38f41798b/propcache-0.2.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:9e0f07b42d2a50c7dd2d8675d50f7343d998c64008f1da5fef888396b7f84630", size = 201279, upload-time = "2024-10-07T12:54:17.752Z" }, + { url = "https://files.pythonhosted.org/packages/08/31/0e299f650f73903da851f50f576ef09bfffc8e1519e6a2f1e5ed2d19c591/propcache-0.2.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:e63e3e1e0271f374ed489ff5ee73d4b6e7c60710e1f76af5f0e1a6117cd26394", size = 211035, upload-time = "2024-10-07T12:54:19.109Z" }, + { url = "https://files.pythonhosted.org/packages/85/3e/e356cc6b09064bff1c06d0b2413593e7c925726f0139bc7acef8a21e87a8/propcache-0.2.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:56bb5c98f058a41bb58eead194b4db8c05b088c93d94d5161728515bd52b052b", size = 215565, upload-time = "2024-10-07T12:54:20.578Z" }, + { url = "https://files.pythonhosted.org/packages/8b/54/4ef7236cd657e53098bd05aa59cbc3cbf7018fba37b40eaed112c3921e51/propcache-0.2.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7665f04d0c7f26ff8bb534e1c65068409bf4687aa2534faf7104d7182debb336", size = 207604, upload-time = "2024-10-07T12:54:22.588Z" }, + { url = "https://files.pythonhosted.org/packages/1f/27/d01d7799c068443ee64002f0655d82fb067496897bf74b632e28ee6a32cf/propcache-0.2.0-cp310-cp310-win32.whl", hash = "sha256:7cf18abf9764746b9c8704774d8b06714bcb0a63641518a3a89c7f85cc02c2ad", size = 40526, upload-time = "2024-10-07T12:54:23.867Z" }, + { url = "https://files.pythonhosted.org/packages/bb/44/6c2add5eeafb7f31ff0d25fbc005d930bea040a1364cf0f5768750ddf4d1/propcache-0.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:cfac69017ef97db2438efb854edf24f5a29fd09a536ff3a992b75990720cdc99", size = 44958, upload-time = "2024-10-07T12:54:24.983Z" }, + { url = "https://files.pythonhosted.org/packages/e0/1c/71eec730e12aec6511e702ad0cd73c2872eccb7cad39de8ba3ba9de693ef/propcache-0.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:63f13bf09cc3336eb04a837490b8f332e0db41da66995c9fd1ba04552e516354", size = 80811, upload-time = "2024-10-07T12:54:26.165Z" }, + { url = "https://files.pythonhosted.org/packages/89/c3/7e94009f9a4934c48a371632197406a8860b9f08e3f7f7d922ab69e57a41/propcache-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:608cce1da6f2672a56b24a015b42db4ac612ee709f3d29f27a00c943d9e851de", size = 46365, upload-time = "2024-10-07T12:54:28.034Z" }, + { url = "https://files.pythonhosted.org/packages/c0/1d/c700d16d1d6903aeab28372fe9999762f074b80b96a0ccc953175b858743/propcache-0.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:466c219deee4536fbc83c08d09115249db301550625c7fef1c5563a584c9bc87", size = 45602, upload-time = "2024-10-07T12:54:29.148Z" }, + { url = "https://files.pythonhosted.org/packages/2e/5e/4a3e96380805bf742712e39a4534689f4cddf5fa2d3a93f22e9fd8001b23/propcache-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc2db02409338bf36590aa985a461b2c96fce91f8e7e0f14c50c5fcc4f229016", size = 236161, upload-time = "2024-10-07T12:54:31.557Z" }, + { url = "https://files.pythonhosted.org/packages/a5/85/90132481183d1436dff6e29f4fa81b891afb6cb89a7306f32ac500a25932/propcache-0.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a6ed8db0a556343d566a5c124ee483ae113acc9a557a807d439bcecc44e7dfbb", size = 244938, upload-time = "2024-10-07T12:54:33.051Z" }, + { url = "https://files.pythonhosted.org/packages/4a/89/c893533cb45c79c970834274e2d0f6d64383ec740be631b6a0a1d2b4ddc0/propcache-0.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:91997d9cb4a325b60d4e3f20967f8eb08dfcb32b22554d5ef78e6fd1dda743a2", size = 243576, upload-time = "2024-10-07T12:54:34.497Z" }, + { url = "https://files.pythonhosted.org/packages/8c/56/98c2054c8526331a05f205bf45cbb2cda4e58e56df70e76d6a509e5d6ec6/propcache-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c7dde9e533c0a49d802b4f3f218fa9ad0a1ce21f2c2eb80d5216565202acab4", size = 236011, upload-time = "2024-10-07T12:54:35.903Z" }, + { url = "https://files.pythonhosted.org/packages/2d/0c/8b8b9f8a6e1abd869c0fa79b907228e7abb966919047d294ef5df0d136cf/propcache-0.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffcad6c564fe6b9b8916c1aefbb37a362deebf9394bd2974e9d84232e3e08504", size = 224834, upload-time = "2024-10-07T12:54:37.238Z" }, + { url = "https://files.pythonhosted.org/packages/18/bb/397d05a7298b7711b90e13108db697732325cafdcd8484c894885c1bf109/propcache-0.2.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:97a58a28bcf63284e8b4d7b460cbee1edaab24634e82059c7b8c09e65284f178", size = 224946, upload-time = "2024-10-07T12:54:38.72Z" }, + { url = "https://files.pythonhosted.org/packages/25/19/4fc08dac19297ac58135c03770b42377be211622fd0147f015f78d47cd31/propcache-0.2.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:945db8ee295d3af9dbdbb698cce9bbc5c59b5c3fe328bbc4387f59a8a35f998d", size = 217280, upload-time = "2024-10-07T12:54:40.089Z" }, + { url = "https://files.pythonhosted.org/packages/7e/76/c79276a43df2096ce2aba07ce47576832b1174c0c480fe6b04bd70120e59/propcache-0.2.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:39e104da444a34830751715f45ef9fc537475ba21b7f1f5b0f4d71a3b60d7fe2", size = 220088, upload-time = "2024-10-07T12:54:41.726Z" }, + { url = "https://files.pythonhosted.org/packages/c3/9a/8a8cf428a91b1336b883f09c8b884e1734c87f724d74b917129a24fe2093/propcache-0.2.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:c5ecca8f9bab618340c8e848d340baf68bcd8ad90a8ecd7a4524a81c1764b3db", size = 233008, upload-time = "2024-10-07T12:54:43.742Z" }, + { url = "https://files.pythonhosted.org/packages/25/7b/768a8969abd447d5f0f3333df85c6a5d94982a1bc9a89c53c154bf7a8b11/propcache-0.2.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:c436130cc779806bdf5d5fae0d848713105472b8566b75ff70048c47d3961c5b", size = 237719, upload-time = "2024-10-07T12:54:45.065Z" }, + { url = "https://files.pythonhosted.org/packages/ed/0d/e5d68ccc7976ef8b57d80613ac07bbaf0614d43f4750cf953f0168ef114f/propcache-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:191db28dc6dcd29d1a3e063c3be0b40688ed76434622c53a284e5427565bbd9b", size = 227729, upload-time = "2024-10-07T12:54:46.405Z" }, + { url = "https://files.pythonhosted.org/packages/05/64/17eb2796e2d1c3d0c431dc5f40078d7282f4645af0bb4da9097fbb628c6c/propcache-0.2.0-cp311-cp311-win32.whl", hash = "sha256:5f2564ec89058ee7c7989a7b719115bdfe2a2fb8e7a4543b8d1c0cc4cf6478c1", size = 40473, upload-time = "2024-10-07T12:54:47.694Z" }, + { url = "https://files.pythonhosted.org/packages/83/c5/e89fc428ccdc897ade08cd7605f174c69390147526627a7650fb883e0cd0/propcache-0.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:6e2e54267980349b723cff366d1e29b138b9a60fa376664a157a342689553f71", size = 44921, upload-time = "2024-10-07T12:54:48.935Z" }, + { url = "https://files.pythonhosted.org/packages/7c/46/a41ca1097769fc548fc9216ec4c1471b772cc39720eb47ed7e38ef0006a9/propcache-0.2.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:2ee7606193fb267be4b2e3b32714f2d58cad27217638db98a60f9efb5efeccc2", size = 80800, upload-time = "2024-10-07T12:54:50.409Z" }, + { url = "https://files.pythonhosted.org/packages/75/4f/93df46aab9cc473498ff56be39b5f6ee1e33529223d7a4d8c0a6101a9ba2/propcache-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:91ee8fc02ca52e24bcb77b234f22afc03288e1dafbb1f88fe24db308910c4ac7", size = 46443, upload-time = "2024-10-07T12:54:51.634Z" }, + { url = "https://files.pythonhosted.org/packages/0b/17/308acc6aee65d0f9a8375e36c4807ac6605d1f38074b1581bd4042b9fb37/propcache-0.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2e900bad2a8456d00a113cad8c13343f3b1f327534e3589acc2219729237a2e8", size = 45676, upload-time = "2024-10-07T12:54:53.454Z" }, + { url = "https://files.pythonhosted.org/packages/65/44/626599d2854d6c1d4530b9a05e7ff2ee22b790358334b475ed7c89f7d625/propcache-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f52a68c21363c45297aca15561812d542f8fc683c85201df0bebe209e349f793", size = 246191, upload-time = "2024-10-07T12:54:55.438Z" }, + { url = "https://files.pythonhosted.org/packages/f2/df/5d996d7cb18df076debae7d76ac3da085c0575a9f2be6b1f707fe227b54c/propcache-0.2.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e41d67757ff4fbc8ef2af99b338bfb955010444b92929e9e55a6d4dcc3c4f09", size = 251791, upload-time = "2024-10-07T12:54:57.441Z" }, + { url = "https://files.pythonhosted.org/packages/2e/6d/9f91e5dde8b1f662f6dd4dff36098ed22a1ef4e08e1316f05f4758f1576c/propcache-0.2.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a64e32f8bd94c105cc27f42d3b658902b5bcc947ece3c8fe7bc1b05982f60e89", size = 253434, upload-time = "2024-10-07T12:54:58.857Z" }, + { url = "https://files.pythonhosted.org/packages/3c/e9/1b54b7e26f50b3e0497cd13d3483d781d284452c2c50dd2a615a92a087a3/propcache-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:55346705687dbd7ef0d77883ab4f6fabc48232f587925bdaf95219bae072491e", size = 248150, upload-time = "2024-10-07T12:55:00.19Z" }, + { url = "https://files.pythonhosted.org/packages/a7/ef/a35bf191c8038fe3ce9a414b907371c81d102384eda5dbafe6f4dce0cf9b/propcache-0.2.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:00181262b17e517df2cd85656fcd6b4e70946fe62cd625b9d74ac9977b64d8d9", size = 233568, upload-time = "2024-10-07T12:55:01.723Z" }, + { url = "https://files.pythonhosted.org/packages/97/d9/d00bb9277a9165a5e6d60f2142cd1a38a750045c9c12e47ae087f686d781/propcache-0.2.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6994984550eaf25dd7fc7bd1b700ff45c894149341725bb4edc67f0ffa94efa4", size = 229874, upload-time = "2024-10-07T12:55:03.962Z" }, + { url = "https://files.pythonhosted.org/packages/8e/78/c123cf22469bdc4b18efb78893e69c70a8b16de88e6160b69ca6bdd88b5d/propcache-0.2.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:56295eb1e5f3aecd516d91b00cfd8bf3a13991de5a479df9e27dd569ea23959c", size = 225857, upload-time = "2024-10-07T12:55:06.439Z" }, + { url = "https://files.pythonhosted.org/packages/31/1b/fd6b2f1f36d028820d35475be78859d8c89c8f091ad30e377ac49fd66359/propcache-0.2.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:439e76255daa0f8151d3cb325f6dd4a3e93043e6403e6491813bcaaaa8733887", size = 227604, upload-time = "2024-10-07T12:55:08.254Z" }, + { url = "https://files.pythonhosted.org/packages/99/36/b07be976edf77a07233ba712e53262937625af02154353171716894a86a6/propcache-0.2.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:f6475a1b2ecb310c98c28d271a30df74f9dd436ee46d09236a6b750a7599ce57", size = 238430, upload-time = "2024-10-07T12:55:09.766Z" }, + { url = "https://files.pythonhosted.org/packages/0d/64/5822f496c9010e3966e934a011ac08cac8734561842bc7c1f65586e0683c/propcache-0.2.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3444cdba6628accf384e349014084b1cacd866fbb88433cd9d279d90a54e0b23", size = 244814, upload-time = "2024-10-07T12:55:11.145Z" }, + { url = "https://files.pythonhosted.org/packages/fd/bd/8657918a35d50b18a9e4d78a5df7b6c82a637a311ab20851eef4326305c1/propcache-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4a9d9b4d0a9b38d1c391bb4ad24aa65f306c6f01b512e10a8a34a2dc5675d348", size = 235922, upload-time = "2024-10-07T12:55:12.508Z" }, + { url = "https://files.pythonhosted.org/packages/a8/6f/ec0095e1647b4727db945213a9f395b1103c442ef65e54c62e92a72a3f75/propcache-0.2.0-cp312-cp312-win32.whl", hash = "sha256:69d3a98eebae99a420d4b28756c8ce6ea5a29291baf2dc9ff9414b42676f61d5", size = 40177, upload-time = "2024-10-07T12:55:13.814Z" }, + { url = "https://files.pythonhosted.org/packages/20/a2/bd0896fdc4f4c1db46d9bc361c8c79a9bf08ccc08ba054a98e38e7ba1557/propcache-0.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:ad9c9b99b05f163109466638bd30ada1722abb01bbb85c739c50b6dc11f92dc3", size = 44446, upload-time = "2024-10-07T12:55:14.972Z" }, + { url = "https://files.pythonhosted.org/packages/a8/a7/5f37b69197d4f558bfef5b4bceaff7c43cc9b51adf5bd75e9081d7ea80e4/propcache-0.2.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ecddc221a077a8132cf7c747d5352a15ed763b674c0448d811f408bf803d9ad7", size = 78120, upload-time = "2024-10-07T12:55:16.179Z" }, + { url = "https://files.pythonhosted.org/packages/c8/cd/48ab2b30a6b353ecb95a244915f85756d74f815862eb2ecc7a518d565b48/propcache-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0e53cb83fdd61cbd67202735e6a6687a7b491c8742dfc39c9e01e80354956763", size = 45127, upload-time = "2024-10-07T12:55:18.275Z" }, + { url = "https://files.pythonhosted.org/packages/a5/ba/0a1ef94a3412aab057bd996ed5f0ac7458be5bf469e85c70fa9ceb43290b/propcache-0.2.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92fe151145a990c22cbccf9ae15cae8ae9eddabfc949a219c9f667877e40853d", size = 44419, upload-time = "2024-10-07T12:55:19.487Z" }, + { url = "https://files.pythonhosted.org/packages/b4/6c/ca70bee4f22fa99eacd04f4d2f1699be9d13538ccf22b3169a61c60a27fa/propcache-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6a21ef516d36909931a2967621eecb256018aeb11fc48656e3257e73e2e247a", size = 229611, upload-time = "2024-10-07T12:55:21.377Z" }, + { url = "https://files.pythonhosted.org/packages/19/70/47b872a263e8511ca33718d96a10c17d3c853aefadeb86dc26e8421184b9/propcache-0.2.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f88a4095e913f98988f5b338c1d4d5d07dbb0b6bad19892fd447484e483ba6b", size = 234005, upload-time = "2024-10-07T12:55:22.898Z" }, + { url = "https://files.pythonhosted.org/packages/4f/be/3b0ab8c84a22e4a3224719099c1229ddfdd8a6a1558cf75cb55ee1e35c25/propcache-0.2.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5a5b3bb545ead161be780ee85a2b54fdf7092815995661947812dde94a40f6fb", size = 237270, upload-time = "2024-10-07T12:55:24.354Z" }, + { url = "https://files.pythonhosted.org/packages/04/d8/f071bb000d4b8f851d312c3c75701e586b3f643fe14a2e3409b1b9ab3936/propcache-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67aeb72e0f482709991aa91345a831d0b707d16b0257e8ef88a2ad246a7280bf", size = 231877, upload-time = "2024-10-07T12:55:25.774Z" }, + { url = "https://files.pythonhosted.org/packages/93/e7/57a035a1359e542bbb0a7df95aad6b9871ebee6dce2840cb157a415bd1f3/propcache-0.2.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c997f8c44ec9b9b0bcbf2d422cc00a1d9b9c681f56efa6ca149a941e5560da2", size = 217848, upload-time = "2024-10-07T12:55:27.148Z" }, + { url = "https://files.pythonhosted.org/packages/f0/93/d1dea40f112ec183398fb6c42fde340edd7bab202411c4aa1a8289f461b6/propcache-0.2.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:2a66df3d4992bc1d725b9aa803e8c5a66c010c65c741ad901e260ece77f58d2f", size = 216987, upload-time = "2024-10-07T12:55:29.294Z" }, + { url = "https://files.pythonhosted.org/packages/62/4c/877340871251145d3522c2b5d25c16a1690ad655fbab7bb9ece6b117e39f/propcache-0.2.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:3ebbcf2a07621f29638799828b8d8668c421bfb94c6cb04269130d8de4fb7136", size = 212451, upload-time = "2024-10-07T12:55:30.643Z" }, + { url = "https://files.pythonhosted.org/packages/7c/bb/a91b72efeeb42906ef58ccf0cdb87947b54d7475fee3c93425d732f16a61/propcache-0.2.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:1235c01ddaa80da8235741e80815ce381c5267f96cc49b1477fdcf8c047ef325", size = 212879, upload-time = "2024-10-07T12:55:32.024Z" }, + { url = "https://files.pythonhosted.org/packages/9b/7f/ee7fea8faac57b3ec5d91ff47470c6c5d40d7f15d0b1fccac806348fa59e/propcache-0.2.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3947483a381259c06921612550867b37d22e1df6d6d7e8361264b6d037595f44", size = 222288, upload-time = "2024-10-07T12:55:33.401Z" }, + { url = "https://files.pythonhosted.org/packages/ff/d7/acd67901c43d2e6b20a7a973d9d5fd543c6e277af29b1eb0e1f7bd7ca7d2/propcache-0.2.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:d5bed7f9805cc29c780f3aee05de3262ee7ce1f47083cfe9f77471e9d6777e83", size = 228257, upload-time = "2024-10-07T12:55:35.381Z" }, + { url = "https://files.pythonhosted.org/packages/8d/6f/6272ecc7a8daad1d0754cfc6c8846076a8cb13f810005c79b15ce0ef0cf2/propcache-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e4a91d44379f45f5e540971d41e4626dacd7f01004826a18cb048e7da7e96544", size = 221075, upload-time = "2024-10-07T12:55:36.789Z" }, + { url = "https://files.pythonhosted.org/packages/7c/bd/c7a6a719a6b3dd8b3aeadb3675b5783983529e4a3185946aa444d3e078f6/propcache-0.2.0-cp313-cp313-win32.whl", hash = "sha256:f902804113e032e2cdf8c71015651c97af6418363bea8d78dc0911d56c335032", size = 39654, upload-time = "2024-10-07T12:55:38.762Z" }, + { url = "https://files.pythonhosted.org/packages/88/e7/0eef39eff84fa3e001b44de0bd41c7c0e3432e7648ffd3d64955910f002d/propcache-0.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:8f188cfcc64fb1266f4684206c9de0e80f54622c3f22a910cbd200478aeae61e", size = 43705, upload-time = "2024-10-07T12:55:39.921Z" }, + { url = "https://files.pythonhosted.org/packages/b4/94/2c3d64420fd58ed462e2b416386d48e72dec027cf7bb572066cf3866e939/propcache-0.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:53d1bd3f979ed529f0805dd35ddaca330f80a9a6d90bc0121d2ff398f8ed8861", size = 82315, upload-time = "2024-10-07T12:55:41.166Z" }, + { url = "https://files.pythonhosted.org/packages/73/b7/9e2a17d9a126f2012b22ddc5d0979c28ca75104e24945214790c1d787015/propcache-0.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:83928404adf8fb3d26793665633ea79b7361efa0287dfbd372a7e74311d51ee6", size = 47188, upload-time = "2024-10-07T12:55:42.316Z" }, + { url = "https://files.pythonhosted.org/packages/80/ef/18af27caaae5589c08bb5a461cfa136b83b7e7983be604f2140d91f92b97/propcache-0.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:77a86c261679ea5f3896ec060be9dc8e365788248cc1e049632a1be682442063", size = 46314, upload-time = "2024-10-07T12:55:43.544Z" }, + { url = "https://files.pythonhosted.org/packages/fa/df/8dbd3e472baf73251c0fbb571a3f0a4e3a40c52a1c8c2a6c46ab08736ff9/propcache-0.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:218db2a3c297a3768c11a34812e63b3ac1c3234c3a086def9c0fee50d35add1f", size = 212874, upload-time = "2024-10-07T12:55:44.823Z" }, + { url = "https://files.pythonhosted.org/packages/7c/57/5d4d783ac594bd56434679b8643673ae12de1ce758116fd8912a7f2313ec/propcache-0.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7735e82e3498c27bcb2d17cb65d62c14f1100b71723b68362872bca7d0913d90", size = 224578, upload-time = "2024-10-07T12:55:46.253Z" }, + { url = "https://files.pythonhosted.org/packages/66/27/072be8ad434c9a3aa1b561f527984ea0ed4ac072fd18dfaaa2aa2d6e6a2b/propcache-0.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:20a617c776f520c3875cf4511e0d1db847a076d720714ae35ffe0df3e440be68", size = 222636, upload-time = "2024-10-07T12:55:47.608Z" }, + { url = "https://files.pythonhosted.org/packages/c3/f1/69a30ff0928d07f50bdc6f0147fd9a08e80904fd3fdb711785e518de1021/propcache-0.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67b69535c870670c9f9b14a75d28baa32221d06f6b6fa6f77a0a13c5a7b0a5b9", size = 213573, upload-time = "2024-10-07T12:55:49.82Z" }, + { url = "https://files.pythonhosted.org/packages/a8/2e/c16716ae113fe0a3219978df3665a6fea049d81d50bd28c4ae72a4c77567/propcache-0.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4569158070180c3855e9c0791c56be3ceeb192defa2cdf6a3f39e54319e56b89", size = 205438, upload-time = "2024-10-07T12:55:51.231Z" }, + { url = "https://files.pythonhosted.org/packages/e1/df/80e2c5cd5ed56a7bfb1aa58cedb79617a152ae43de7c0a7e800944a6b2e2/propcache-0.2.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:db47514ffdbd91ccdc7e6f8407aac4ee94cc871b15b577c1c324236b013ddd04", size = 202352, upload-time = "2024-10-07T12:55:52.596Z" }, + { url = "https://files.pythonhosted.org/packages/0f/4e/79f665fa04839f30ffb2903211c718b9660fbb938ac7a4df79525af5aeb3/propcache-0.2.0-cp38-cp38-musllinux_1_2_armv7l.whl", hash = "sha256:2a60ad3e2553a74168d275a0ef35e8c0a965448ffbc3b300ab3a5bb9956c2162", size = 200476, upload-time = "2024-10-07T12:55:54.016Z" }, + { url = "https://files.pythonhosted.org/packages/a9/39/b9ea7b011521dd7cfd2f89bb6b8b304f3c789ea6285445bc145bebc83094/propcache-0.2.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:662dd62358bdeaca0aee5761de8727cfd6861432e3bb828dc2a693aa0471a563", size = 201581, upload-time = "2024-10-07T12:55:56.246Z" }, + { url = "https://files.pythonhosted.org/packages/e4/81/e8e96c97aa0b675a14e37b12ca9c9713b15cfacf0869e64bf3ab389fabf1/propcache-0.2.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:25a1f88b471b3bc911d18b935ecb7115dff3a192b6fef46f0bfaf71ff4f12418", size = 225628, upload-time = "2024-10-07T12:55:57.686Z" }, + { url = "https://files.pythonhosted.org/packages/eb/99/15f998c502c214f6c7f51462937605d514a8943a9a6c1fa10f40d2710976/propcache-0.2.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:f60f0ac7005b9f5a6091009b09a419ace1610e163fa5deaba5ce3484341840e7", size = 229270, upload-time = "2024-10-07T12:55:59.065Z" }, + { url = "https://files.pythonhosted.org/packages/ff/3a/a9f1a0c0e5b994b8f1a1c71bea56bb3e9eeec821cb4dd61e14051c4ba00b/propcache-0.2.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:74acd6e291f885678631b7ebc85d2d4aec458dd849b8c841b57ef04047833bed", size = 207771, upload-time = "2024-10-07T12:56:00.393Z" }, + { url = "https://files.pythonhosted.org/packages/ff/3e/6103906a66d6713f32880cf6a5ba84a1406b4d66e1b9389bb9b8e1789f9e/propcache-0.2.0-cp38-cp38-win32.whl", hash = "sha256:d9b6ddac6408194e934002a69bcaadbc88c10b5f38fb9307779d1c629181815d", size = 41015, upload-time = "2024-10-07T12:56:01.953Z" }, + { url = "https://files.pythonhosted.org/packages/37/23/a30214b4c1f2bea24cc1197ef48d67824fbc41d5cf5472b17c37fef6002c/propcache-0.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:676135dcf3262c9c5081cc8f19ad55c8a64e3f7282a21266d05544450bffc3a5", size = 45749, upload-time = "2024-10-07T12:56:03.095Z" }, + { url = "https://files.pythonhosted.org/packages/38/05/797e6738c9f44ab5039e3ff329540c934eabbe8ad7e63c305c75844bc86f/propcache-0.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:25c8d773a62ce0451b020c7b29a35cfbc05de8b291163a7a0f3b7904f27253e6", size = 81903, upload-time = "2024-10-07T12:56:04.651Z" }, + { url = "https://files.pythonhosted.org/packages/9f/84/8d5edb9a73e1a56b24dd8f2adb6aac223109ff0e8002313d52e5518258ba/propcache-0.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:375a12d7556d462dc64d70475a9ee5982465fbb3d2b364f16b86ba9135793638", size = 46960, upload-time = "2024-10-07T12:56:06.38Z" }, + { url = "https://files.pythonhosted.org/packages/e7/77/388697bedda984af0d12d68e536b98129b167282da3401965c8450de510e/propcache-0.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1ec43d76b9677637a89d6ab86e1fef70d739217fefa208c65352ecf0282be957", size = 46133, upload-time = "2024-10-07T12:56:07.606Z" }, + { url = "https://files.pythonhosted.org/packages/e2/dc/60d444610bc5b1d7a758534f58362b1bcee736a785473f8a39c91f05aad1/propcache-0.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f45eec587dafd4b2d41ac189c2156461ebd0c1082d2fe7013571598abb8505d1", size = 211105, upload-time = "2024-10-07T12:56:08.826Z" }, + { url = "https://files.pythonhosted.org/packages/bc/c6/40eb0dd1de6f8e84f454615ab61f68eb4a58f9d63d6f6eaf04300ac0cc17/propcache-0.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bc092ba439d91df90aea38168e11f75c655880c12782facf5cf9c00f3d42b562", size = 226613, upload-time = "2024-10-07T12:56:11.184Z" }, + { url = "https://files.pythonhosted.org/packages/de/b6/e078b5e9de58e20db12135eb6a206b4b43cb26c6b62ee0fe36ac40763a64/propcache-0.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fa1076244f54bb76e65e22cb6910365779d5c3d71d1f18b275f1dfc7b0d71b4d", size = 225587, upload-time = "2024-10-07T12:56:15.294Z" }, + { url = "https://files.pythonhosted.org/packages/ce/4e/97059dd24494d1c93d1efb98bb24825e1930265b41858dd59c15cb37a975/propcache-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:682a7c79a2fbf40f5dbb1eb6bfe2cd865376deeac65acf9beb607505dced9e12", size = 211826, upload-time = "2024-10-07T12:56:16.997Z" }, + { url = "https://files.pythonhosted.org/packages/fc/23/4dbf726602a989d2280fe130a9b9dd71faa8d3bb8cd23d3261ff3c23f692/propcache-0.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8e40876731f99b6f3c897b66b803c9e1c07a989b366c6b5b475fafd1f7ba3fb8", size = 203140, upload-time = "2024-10-07T12:56:18.368Z" }, + { url = "https://files.pythonhosted.org/packages/5b/ce/f3bff82c885dbd9ae9e43f134d5b02516c3daa52d46f7a50e4f52ef9121f/propcache-0.2.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:363ea8cd3c5cb6679f1c2f5f1f9669587361c062e4899fce56758efa928728f8", size = 208841, upload-time = "2024-10-07T12:56:19.859Z" }, + { url = "https://files.pythonhosted.org/packages/29/d7/19a4d3b4c7e95d08f216da97035d0b103d0c90411c6f739d47088d2da1f0/propcache-0.2.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:140fbf08ab3588b3468932974a9331aff43c0ab8a2ec2c608b6d7d1756dbb6cb", size = 203315, upload-time = "2024-10-07T12:56:21.256Z" }, + { url = "https://files.pythonhosted.org/packages/db/87/5748212a18beb8d4ab46315c55ade8960d1e2cdc190764985b2d229dd3f4/propcache-0.2.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:e70fac33e8b4ac63dfc4c956fd7d85a0b1139adcfc0d964ce288b7c527537fea", size = 204724, upload-time = "2024-10-07T12:56:23.644Z" }, + { url = "https://files.pythonhosted.org/packages/84/2a/c3d2f989fc571a5bad0fabcd970669ccb08c8f9b07b037ecddbdab16a040/propcache-0.2.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:b33d7a286c0dc1a15f5fc864cc48ae92a846df287ceac2dd499926c3801054a6", size = 215514, upload-time = "2024-10-07T12:56:25.733Z" }, + { url = "https://files.pythonhosted.org/packages/c9/1f/4c44c133b08bc5f776afcb8f0833889c2636b8a83e07ea1d9096c1e401b0/propcache-0.2.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:f6d5749fdd33d90e34c2efb174c7e236829147a2713334d708746e94c4bde40d", size = 220063, upload-time = "2024-10-07T12:56:28.497Z" }, + { url = "https://files.pythonhosted.org/packages/2e/25/280d0a3bdaee68db74c0acd9a472e59e64b516735b59cffd3a326ff9058a/propcache-0.2.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:22aa8f2272d81d9317ff5756bb108021a056805ce63dd3630e27d042c8092798", size = 211620, upload-time = "2024-10-07T12:56:29.891Z" }, + { url = "https://files.pythonhosted.org/packages/28/8c/266898981b7883c1563c35954f9ce9ced06019fdcc487a9520150c48dc91/propcache-0.2.0-cp39-cp39-win32.whl", hash = "sha256:73e4b40ea0eda421b115248d7e79b59214411109a5bc47d0d48e4c73e3b8fcf9", size = 41049, upload-time = "2024-10-07T12:56:31.246Z" }, + { url = "https://files.pythonhosted.org/packages/af/53/a3e5b937f58e757a940716b88105ec4c211c42790c1ea17052b46dc16f16/propcache-0.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:9517d5e9e0731957468c29dbfd0f976736a0e55afaea843726e887f36fe017df", size = 45587, upload-time = "2024-10-07T12:56:33.416Z" }, + { url = "https://files.pythonhosted.org/packages/3d/b6/e6d98278f2d49b22b4d033c9f792eda783b9ab2094b041f013fc69bcde87/propcache-0.2.0-py3-none-any.whl", hash = "sha256:2ccc28197af5313706511fab3a8b66dcd6da067a1331372c82ea1cb74285e036", size = 11603, upload-time = "2024-10-07T12:56:35.137Z" }, +] + [[package]] name = "propcache" -version = "0.3.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a6/16/43264e4a779dd8588c21a70f0709665ee8f611211bdd2c87d952cfa7c776/propcache-0.3.2.tar.gz", hash = "sha256:20d7d62e4e7ef05f221e0db2856b979540686342e7dd9973b815599c7057e168", size = 44139, upload-time = "2025-06-09T22:56:06.081Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ab/14/510deed325e262afeb8b360043c5d7c960da7d3ecd6d6f9496c9c56dc7f4/propcache-0.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:22d9962a358aedbb7a2e36187ff273adeaab9743373a272976d2e348d08c7770", size = 73178, upload-time = "2025-06-09T22:53:40.126Z" }, - { url = "https://files.pythonhosted.org/packages/cd/4e/ad52a7925ff01c1325653a730c7ec3175a23f948f08626a534133427dcff/propcache-0.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0d0fda578d1dc3f77b6b5a5dce3b9ad69a8250a891760a548df850a5e8da87f3", size = 43133, upload-time = "2025-06-09T22:53:41.965Z" }, - { url = "https://files.pythonhosted.org/packages/63/7c/e9399ba5da7780871db4eac178e9c2e204c23dd3e7d32df202092a1ed400/propcache-0.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3def3da3ac3ce41562d85db655d18ebac740cb3fa4367f11a52b3da9d03a5cc3", size = 43039, upload-time = "2025-06-09T22:53:43.268Z" }, - { url = "https://files.pythonhosted.org/packages/22/e1/58da211eb8fdc6fc854002387d38f415a6ca5f5c67c1315b204a5d3e9d7a/propcache-0.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9bec58347a5a6cebf239daba9bda37dffec5b8d2ce004d9fe4edef3d2815137e", size = 201903, upload-time = "2025-06-09T22:53:44.872Z" }, - { url = "https://files.pythonhosted.org/packages/c4/0a/550ea0f52aac455cb90111c8bab995208443e46d925e51e2f6ebdf869525/propcache-0.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:55ffda449a507e9fbd4aca1a7d9aa6753b07d6166140e5a18d2ac9bc49eac220", size = 213362, upload-time = "2025-06-09T22:53:46.707Z" }, - { url = "https://files.pythonhosted.org/packages/5a/af/9893b7d878deda9bb69fcf54600b247fba7317761b7db11fede6e0f28bd0/propcache-0.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:64a67fb39229a8a8491dd42f864e5e263155e729c2e7ff723d6e25f596b1e8cb", size = 210525, upload-time = "2025-06-09T22:53:48.547Z" }, - { url = "https://files.pythonhosted.org/packages/7c/bb/38fd08b278ca85cde36d848091ad2b45954bc5f15cce494bb300b9285831/propcache-0.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9da1cf97b92b51253d5b68cf5a2b9e0dafca095e36b7f2da335e27dc6172a614", size = 198283, upload-time = "2025-06-09T22:53:50.067Z" }, - { url = "https://files.pythonhosted.org/packages/78/8c/9fe55bd01d362bafb413dfe508c48753111a1e269737fa143ba85693592c/propcache-0.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5f559e127134b07425134b4065be45b166183fdcb433cb6c24c8e4149056ad50", size = 191872, upload-time = "2025-06-09T22:53:51.438Z" }, - { url = "https://files.pythonhosted.org/packages/54/14/4701c33852937a22584e08abb531d654c8bcf7948a8f87ad0a4822394147/propcache-0.3.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:aff2e4e06435d61f11a428360a932138d0ec288b0a31dd9bd78d200bd4a2b339", size = 199452, upload-time = "2025-06-09T22:53:53.229Z" }, - { url = "https://files.pythonhosted.org/packages/16/44/447f2253d859602095356007657ee535e0093215ea0b3d1d6a41d16e5201/propcache-0.3.2-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:4927842833830942a5d0a56e6f4839bc484785b8e1ce8d287359794818633ba0", size = 191567, upload-time = "2025-06-09T22:53:54.541Z" }, - { url = "https://files.pythonhosted.org/packages/f2/b3/e4756258749bb2d3b46defcff606a2f47410bab82be5824a67e84015b267/propcache-0.3.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:6107ddd08b02654a30fb8ad7a132021759d750a82578b94cd55ee2772b6ebea2", size = 193015, upload-time = "2025-06-09T22:53:56.44Z" }, - { url = "https://files.pythonhosted.org/packages/1e/df/e6d3c7574233164b6330b9fd697beeac402afd367280e6dc377bb99b43d9/propcache-0.3.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:70bd8b9cd6b519e12859c99f3fc9a93f375ebd22a50296c3a295028bea73b9e7", size = 204660, upload-time = "2025-06-09T22:53:57.839Z" }, - { url = "https://files.pythonhosted.org/packages/b2/53/e4d31dd5170b4a0e2e6b730f2385a96410633b4833dc25fe5dffd1f73294/propcache-0.3.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:2183111651d710d3097338dd1893fcf09c9f54e27ff1a8795495a16a469cc90b", size = 206105, upload-time = "2025-06-09T22:53:59.638Z" }, - { url = "https://files.pythonhosted.org/packages/7f/fe/74d54cf9fbe2a20ff786e5f7afcfde446588f0cf15fb2daacfbc267b866c/propcache-0.3.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:fb075ad271405dcad8e2a7ffc9a750a3bf70e533bd86e89f0603e607b93aa64c", size = 196980, upload-time = "2025-06-09T22:54:01.071Z" }, - { url = "https://files.pythonhosted.org/packages/22/ec/c469c9d59dada8a7679625e0440b544fe72e99311a4679c279562051f6fc/propcache-0.3.2-cp310-cp310-win32.whl", hash = "sha256:404d70768080d3d3bdb41d0771037da19d8340d50b08e104ca0e7f9ce55fce70", size = 37679, upload-time = "2025-06-09T22:54:03.003Z" }, - { url = "https://files.pythonhosted.org/packages/38/35/07a471371ac89d418f8d0b699c75ea6dca2041fbda360823de21f6a9ce0a/propcache-0.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:7435d766f978b4ede777002e6b3b6641dd229cd1da8d3d3106a45770365f9ad9", size = 41459, upload-time = "2025-06-09T22:54:04.134Z" }, - { url = "https://files.pythonhosted.org/packages/80/8d/e8b436717ab9c2cfc23b116d2c297305aa4cd8339172a456d61ebf5669b8/propcache-0.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0b8d2f607bd8f80ddc04088bc2a037fdd17884a6fcadc47a96e334d72f3717be", size = 74207, upload-time = "2025-06-09T22:54:05.399Z" }, - { url = "https://files.pythonhosted.org/packages/d6/29/1e34000e9766d112171764b9fa3226fa0153ab565d0c242c70e9945318a7/propcache-0.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:06766d8f34733416e2e34f46fea488ad5d60726bb9481d3cddf89a6fa2d9603f", size = 43648, upload-time = "2025-06-09T22:54:08.023Z" }, - { url = "https://files.pythonhosted.org/packages/46/92/1ad5af0df781e76988897da39b5f086c2bf0f028b7f9bd1f409bb05b6874/propcache-0.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a2dc1f4a1df4fecf4e6f68013575ff4af84ef6f478fe5344317a65d38a8e6dc9", size = 43496, upload-time = "2025-06-09T22:54:09.228Z" }, - { url = "https://files.pythonhosted.org/packages/b3/ce/e96392460f9fb68461fabab3e095cb00c8ddf901205be4eae5ce246e5b7e/propcache-0.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:be29c4f4810c5789cf10ddf6af80b041c724e629fa51e308a7a0fb19ed1ef7bf", size = 217288, upload-time = "2025-06-09T22:54:10.466Z" }, - { url = "https://files.pythonhosted.org/packages/c5/2a/866726ea345299f7ceefc861a5e782b045545ae6940851930a6adaf1fca6/propcache-0.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59d61f6970ecbd8ff2e9360304d5c8876a6abd4530cb752c06586849ac8a9dc9", size = 227456, upload-time = "2025-06-09T22:54:11.828Z" }, - { url = "https://files.pythonhosted.org/packages/de/03/07d992ccb6d930398689187e1b3c718339a1c06b8b145a8d9650e4726166/propcache-0.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:62180e0b8dbb6b004baec00a7983e4cc52f5ada9cd11f48c3528d8cfa7b96a66", size = 225429, upload-time = "2025-06-09T22:54:13.823Z" }, - { url = "https://files.pythonhosted.org/packages/5d/e6/116ba39448753b1330f48ab8ba927dcd6cf0baea8a0ccbc512dfb49ba670/propcache-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c144ca294a204c470f18cf4c9d78887810d04a3e2fbb30eea903575a779159df", size = 213472, upload-time = "2025-06-09T22:54:15.232Z" }, - { url = "https://files.pythonhosted.org/packages/a6/85/f01f5d97e54e428885a5497ccf7f54404cbb4f906688a1690cd51bf597dc/propcache-0.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c5c2a784234c28854878d68978265617aa6dc0780e53d44b4d67f3651a17a9a2", size = 204480, upload-time = "2025-06-09T22:54:17.104Z" }, - { url = "https://files.pythonhosted.org/packages/e3/79/7bf5ab9033b8b8194cc3f7cf1aaa0e9c3256320726f64a3e1f113a812dce/propcache-0.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5745bc7acdafa978ca1642891b82c19238eadc78ba2aaa293c6863b304e552d7", size = 214530, upload-time = "2025-06-09T22:54:18.512Z" }, - { url = "https://files.pythonhosted.org/packages/31/0b/bd3e0c00509b609317df4a18e6b05a450ef2d9a963e1d8bc9c9415d86f30/propcache-0.3.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:c0075bf773d66fa8c9d41f66cc132ecc75e5bb9dd7cce3cfd14adc5ca184cb95", size = 205230, upload-time = "2025-06-09T22:54:19.947Z" }, - { url = "https://files.pythonhosted.org/packages/7a/23/fae0ff9b54b0de4e819bbe559508da132d5683c32d84d0dc2ccce3563ed4/propcache-0.3.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5f57aa0847730daceff0497f417c9de353c575d8da3579162cc74ac294c5369e", size = 206754, upload-time = "2025-06-09T22:54:21.716Z" }, - { url = "https://files.pythonhosted.org/packages/b7/7f/ad6a3c22630aaa5f618b4dc3c3598974a72abb4c18e45a50b3cdd091eb2f/propcache-0.3.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:eef914c014bf72d18efb55619447e0aecd5fb7c2e3fa7441e2e5d6099bddff7e", size = 218430, upload-time = "2025-06-09T22:54:23.17Z" }, - { url = "https://files.pythonhosted.org/packages/5b/2c/ba4f1c0e8a4b4c75910742f0d333759d441f65a1c7f34683b4a74c0ee015/propcache-0.3.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:2a4092e8549031e82facf3decdbc0883755d5bbcc62d3aea9d9e185549936dcf", size = 223884, upload-time = "2025-06-09T22:54:25.539Z" }, - { url = "https://files.pythonhosted.org/packages/88/e4/ebe30fc399e98572019eee82ad0caf512401661985cbd3da5e3140ffa1b0/propcache-0.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:85871b050f174bc0bfb437efbdb68aaf860611953ed12418e4361bc9c392749e", size = 211480, upload-time = "2025-06-09T22:54:26.892Z" }, - { url = "https://files.pythonhosted.org/packages/96/0a/7d5260b914e01d1d0906f7f38af101f8d8ed0dc47426219eeaf05e8ea7c2/propcache-0.3.2-cp311-cp311-win32.whl", hash = "sha256:36c8d9b673ec57900c3554264e630d45980fd302458e4ac801802a7fd2ef7897", size = 37757, upload-time = "2025-06-09T22:54:28.241Z" }, - { url = "https://files.pythonhosted.org/packages/e1/2d/89fe4489a884bc0da0c3278c552bd4ffe06a1ace559db5ef02ef24ab446b/propcache-0.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:e53af8cb6a781b02d2ea079b5b853ba9430fcbe18a8e3ce647d5982a3ff69f39", size = 41500, upload-time = "2025-06-09T22:54:29.4Z" }, - { url = "https://files.pythonhosted.org/packages/a8/42/9ca01b0a6f48e81615dca4765a8f1dd2c057e0540f6116a27dc5ee01dfb6/propcache-0.3.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:8de106b6c84506b31c27168582cd3cb3000a6412c16df14a8628e5871ff83c10", size = 73674, upload-time = "2025-06-09T22:54:30.551Z" }, - { url = "https://files.pythonhosted.org/packages/af/6e/21293133beb550f9c901bbece755d582bfaf2176bee4774000bd4dd41884/propcache-0.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:28710b0d3975117239c76600ea351934ac7b5ff56e60953474342608dbbb6154", size = 43570, upload-time = "2025-06-09T22:54:32.296Z" }, - { url = "https://files.pythonhosted.org/packages/0c/c8/0393a0a3a2b8760eb3bde3c147f62b20044f0ddac81e9d6ed7318ec0d852/propcache-0.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce26862344bdf836650ed2487c3d724b00fbfec4233a1013f597b78c1cb73615", size = 43094, upload-time = "2025-06-09T22:54:33.929Z" }, - { url = "https://files.pythonhosted.org/packages/37/2c/489afe311a690399d04a3e03b069225670c1d489eb7b044a566511c1c498/propcache-0.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bca54bd347a253af2cf4544bbec232ab982f4868de0dd684246b67a51bc6b1db", size = 226958, upload-time = "2025-06-09T22:54:35.186Z" }, - { url = "https://files.pythonhosted.org/packages/9d/ca/63b520d2f3d418c968bf596839ae26cf7f87bead026b6192d4da6a08c467/propcache-0.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:55780d5e9a2ddc59711d727226bb1ba83a22dd32f64ee15594b9392b1f544eb1", size = 234894, upload-time = "2025-06-09T22:54:36.708Z" }, - { url = "https://files.pythonhosted.org/packages/11/60/1d0ed6fff455a028d678df30cc28dcee7af77fa2b0e6962ce1df95c9a2a9/propcache-0.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:035e631be25d6975ed87ab23153db6a73426a48db688070d925aa27e996fe93c", size = 233672, upload-time = "2025-06-09T22:54:38.062Z" }, - { url = "https://files.pythonhosted.org/packages/37/7c/54fd5301ef38505ab235d98827207176a5c9b2aa61939b10a460ca53e123/propcache-0.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee6f22b6eaa39297c751d0e80c0d3a454f112f5c6481214fcf4c092074cecd67", size = 224395, upload-time = "2025-06-09T22:54:39.634Z" }, - { url = "https://files.pythonhosted.org/packages/ee/1a/89a40e0846f5de05fdc6779883bf46ba980e6df4d2ff8fb02643de126592/propcache-0.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ca3aee1aa955438c4dba34fc20a9f390e4c79967257d830f137bd5a8a32ed3b", size = 212510, upload-time = "2025-06-09T22:54:41.565Z" }, - { url = "https://files.pythonhosted.org/packages/5e/33/ca98368586c9566a6b8d5ef66e30484f8da84c0aac3f2d9aec6d31a11bd5/propcache-0.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7a4f30862869fa2b68380d677cc1c5fcf1e0f2b9ea0cf665812895c75d0ca3b8", size = 222949, upload-time = "2025-06-09T22:54:43.038Z" }, - { url = "https://files.pythonhosted.org/packages/ba/11/ace870d0aafe443b33b2f0b7efdb872b7c3abd505bfb4890716ad7865e9d/propcache-0.3.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:b77ec3c257d7816d9f3700013639db7491a434644c906a2578a11daf13176251", size = 217258, upload-time = "2025-06-09T22:54:44.376Z" }, - { url = "https://files.pythonhosted.org/packages/5b/d2/86fd6f7adffcfc74b42c10a6b7db721d1d9ca1055c45d39a1a8f2a740a21/propcache-0.3.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:cab90ac9d3f14b2d5050928483d3d3b8fb6b4018893fc75710e6aa361ecb2474", size = 213036, upload-time = "2025-06-09T22:54:46.243Z" }, - { url = "https://files.pythonhosted.org/packages/07/94/2d7d1e328f45ff34a0a284cf5a2847013701e24c2a53117e7c280a4316b3/propcache-0.3.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:0b504d29f3c47cf6b9e936c1852246c83d450e8e063d50562115a6be6d3a2535", size = 227684, upload-time = "2025-06-09T22:54:47.63Z" }, - { url = "https://files.pythonhosted.org/packages/b7/05/37ae63a0087677e90b1d14710e532ff104d44bc1efa3b3970fff99b891dc/propcache-0.3.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:ce2ac2675a6aa41ddb2a0c9cbff53780a617ac3d43e620f8fd77ba1c84dcfc06", size = 234562, upload-time = "2025-06-09T22:54:48.982Z" }, - { url = "https://files.pythonhosted.org/packages/a4/7c/3f539fcae630408d0bd8bf3208b9a647ccad10976eda62402a80adf8fc34/propcache-0.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:62b4239611205294cc433845b914131b2a1f03500ff3c1ed093ed216b82621e1", size = 222142, upload-time = "2025-06-09T22:54:50.424Z" }, - { url = "https://files.pythonhosted.org/packages/7c/d2/34b9eac8c35f79f8a962546b3e97e9d4b990c420ee66ac8255d5d9611648/propcache-0.3.2-cp312-cp312-win32.whl", hash = "sha256:df4a81b9b53449ebc90cc4deefb052c1dd934ba85012aa912c7ea7b7e38b60c1", size = 37711, upload-time = "2025-06-09T22:54:52.072Z" }, - { url = "https://files.pythonhosted.org/packages/19/61/d582be5d226cf79071681d1b46b848d6cb03d7b70af7063e33a2787eaa03/propcache-0.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:7046e79b989d7fe457bb755844019e10f693752d169076138abf17f31380800c", size = 41479, upload-time = "2025-06-09T22:54:53.234Z" }, - { url = "https://files.pythonhosted.org/packages/dc/d1/8c747fafa558c603c4ca19d8e20b288aa0c7cda74e9402f50f31eb65267e/propcache-0.3.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ca592ed634a73ca002967458187109265e980422116c0a107cf93d81f95af945", size = 71286, upload-time = "2025-06-09T22:54:54.369Z" }, - { url = "https://files.pythonhosted.org/packages/61/99/d606cb7986b60d89c36de8a85d58764323b3a5ff07770a99d8e993b3fa73/propcache-0.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9ecb0aad4020e275652ba3975740f241bd12a61f1a784df044cf7477a02bc252", size = 42425, upload-time = "2025-06-09T22:54:55.642Z" }, - { url = "https://files.pythonhosted.org/packages/8c/96/ef98f91bbb42b79e9bb82bdd348b255eb9d65f14dbbe3b1594644c4073f7/propcache-0.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7f08f1cc28bd2eade7a8a3d2954ccc673bb02062e3e7da09bc75d843386b342f", size = 41846, upload-time = "2025-06-09T22:54:57.246Z" }, - { url = "https://files.pythonhosted.org/packages/5b/ad/3f0f9a705fb630d175146cd7b1d2bf5555c9beaed54e94132b21aac098a6/propcache-0.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1a342c834734edb4be5ecb1e9fb48cb64b1e2320fccbd8c54bf8da8f2a84c33", size = 208871, upload-time = "2025-06-09T22:54:58.975Z" }, - { url = "https://files.pythonhosted.org/packages/3a/38/2085cda93d2c8b6ec3e92af2c89489a36a5886b712a34ab25de9fbca7992/propcache-0.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a544caaae1ac73f1fecfae70ded3e93728831affebd017d53449e3ac052ac1e", size = 215720, upload-time = "2025-06-09T22:55:00.471Z" }, - { url = "https://files.pythonhosted.org/packages/61/c1/d72ea2dc83ac7f2c8e182786ab0fc2c7bd123a1ff9b7975bee671866fe5f/propcache-0.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:310d11aa44635298397db47a3ebce7db99a4cc4b9bbdfcf6c98a60c8d5261cf1", size = 215203, upload-time = "2025-06-09T22:55:01.834Z" }, - { url = "https://files.pythonhosted.org/packages/af/81/b324c44ae60c56ef12007105f1460d5c304b0626ab0cc6b07c8f2a9aa0b8/propcache-0.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c1396592321ac83157ac03a2023aa6cc4a3cc3cfdecb71090054c09e5a7cce3", size = 206365, upload-time = "2025-06-09T22:55:03.199Z" }, - { url = "https://files.pythonhosted.org/packages/09/73/88549128bb89e66d2aff242488f62869014ae092db63ccea53c1cc75a81d/propcache-0.3.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8cabf5b5902272565e78197edb682017d21cf3b550ba0460ee473753f28d23c1", size = 196016, upload-time = "2025-06-09T22:55:04.518Z" }, - { url = "https://files.pythonhosted.org/packages/b9/3f/3bdd14e737d145114a5eb83cb172903afba7242f67c5877f9909a20d948d/propcache-0.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0a2f2235ac46a7aa25bdeb03a9e7060f6ecbd213b1f9101c43b3090ffb971ef6", size = 205596, upload-time = "2025-06-09T22:55:05.942Z" }, - { url = "https://files.pythonhosted.org/packages/0f/ca/2f4aa819c357d3107c3763d7ef42c03980f9ed5c48c82e01e25945d437c1/propcache-0.3.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:92b69e12e34869a6970fd2f3da91669899994b47c98f5d430b781c26f1d9f387", size = 200977, upload-time = "2025-06-09T22:55:07.792Z" }, - { url = "https://files.pythonhosted.org/packages/cd/4a/e65276c7477533c59085251ae88505caf6831c0e85ff8b2e31ebcbb949b1/propcache-0.3.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:54e02207c79968ebbdffc169591009f4474dde3b4679e16634d34c9363ff56b4", size = 197220, upload-time = "2025-06-09T22:55:09.173Z" }, - { url = "https://files.pythonhosted.org/packages/7c/54/fc7152e517cf5578278b242396ce4d4b36795423988ef39bb8cd5bf274c8/propcache-0.3.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4adfb44cb588001f68c5466579d3f1157ca07f7504fc91ec87862e2b8e556b88", size = 210642, upload-time = "2025-06-09T22:55:10.62Z" }, - { url = "https://files.pythonhosted.org/packages/b9/80/abeb4a896d2767bf5f1ea7b92eb7be6a5330645bd7fb844049c0e4045d9d/propcache-0.3.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:fd3e6019dc1261cd0291ee8919dd91fbab7b169bb76aeef6c716833a3f65d206", size = 212789, upload-time = "2025-06-09T22:55:12.029Z" }, - { url = "https://files.pythonhosted.org/packages/b3/db/ea12a49aa7b2b6d68a5da8293dcf50068d48d088100ac016ad92a6a780e6/propcache-0.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4c181cad81158d71c41a2bce88edce078458e2dd5ffee7eddd6b05da85079f43", size = 205880, upload-time = "2025-06-09T22:55:13.45Z" }, - { url = "https://files.pythonhosted.org/packages/d1/e5/9076a0bbbfb65d1198007059c65639dfd56266cf8e477a9707e4b1999ff4/propcache-0.3.2-cp313-cp313-win32.whl", hash = "sha256:8a08154613f2249519e549de2330cf8e2071c2887309a7b07fb56098f5170a02", size = 37220, upload-time = "2025-06-09T22:55:15.284Z" }, - { url = "https://files.pythonhosted.org/packages/d3/f5/b369e026b09a26cd77aa88d8fffd69141d2ae00a2abaaf5380d2603f4b7f/propcache-0.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:e41671f1594fc4ab0a6dec1351864713cb3a279910ae8b58f884a88a0a632c05", size = 40678, upload-time = "2025-06-09T22:55:16.445Z" }, - { url = "https://files.pythonhosted.org/packages/a4/3a/6ece377b55544941a08d03581c7bc400a3c8cd3c2865900a68d5de79e21f/propcache-0.3.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:9a3cf035bbaf035f109987d9d55dc90e4b0e36e04bbbb95af3055ef17194057b", size = 76560, upload-time = "2025-06-09T22:55:17.598Z" }, - { url = "https://files.pythonhosted.org/packages/0c/da/64a2bb16418740fa634b0e9c3d29edff1db07f56d3546ca2d86ddf0305e1/propcache-0.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:156c03d07dc1323d8dacaa221fbe028c5c70d16709cdd63502778e6c3ccca1b0", size = 44676, upload-time = "2025-06-09T22:55:18.922Z" }, - { url = "https://files.pythonhosted.org/packages/36/7b/f025e06ea51cb72c52fb87e9b395cced02786610b60a3ed51da8af017170/propcache-0.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:74413c0ba02ba86f55cf60d18daab219f7e531620c15f1e23d95563f505efe7e", size = 44701, upload-time = "2025-06-09T22:55:20.106Z" }, - { url = "https://files.pythonhosted.org/packages/a4/00/faa1b1b7c3b74fc277f8642f32a4c72ba1d7b2de36d7cdfb676db7f4303e/propcache-0.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f066b437bb3fa39c58ff97ab2ca351db465157d68ed0440abecb21715eb24b28", size = 276934, upload-time = "2025-06-09T22:55:21.5Z" }, - { url = "https://files.pythonhosted.org/packages/74/ab/935beb6f1756e0476a4d5938ff44bf0d13a055fed880caf93859b4f1baf4/propcache-0.3.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1304b085c83067914721e7e9d9917d41ad87696bf70f0bc7dee450e9c71ad0a", size = 278316, upload-time = "2025-06-09T22:55:22.918Z" }, - { url = "https://files.pythonhosted.org/packages/f8/9d/994a5c1ce4389610838d1caec74bdf0e98b306c70314d46dbe4fcf21a3e2/propcache-0.3.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ab50cef01b372763a13333b4e54021bdcb291fc9a8e2ccb9c2df98be51bcde6c", size = 282619, upload-time = "2025-06-09T22:55:24.651Z" }, - { url = "https://files.pythonhosted.org/packages/2b/00/a10afce3d1ed0287cef2e09506d3be9822513f2c1e96457ee369adb9a6cd/propcache-0.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fad3b2a085ec259ad2c2842666b2a0a49dea8463579c606426128925af1ed725", size = 265896, upload-time = "2025-06-09T22:55:26.049Z" }, - { url = "https://files.pythonhosted.org/packages/2e/a8/2aa6716ffa566ca57c749edb909ad27884680887d68517e4be41b02299f3/propcache-0.3.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:261fa020c1c14deafd54c76b014956e2f86991af198c51139faf41c4d5e83892", size = 252111, upload-time = "2025-06-09T22:55:27.381Z" }, - { url = "https://files.pythonhosted.org/packages/36/4f/345ca9183b85ac29c8694b0941f7484bf419c7f0fea2d1e386b4f7893eed/propcache-0.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:46d7f8aa79c927e5f987ee3a80205c987717d3659f035c85cf0c3680526bdb44", size = 268334, upload-time = "2025-06-09T22:55:28.747Z" }, - { url = "https://files.pythonhosted.org/packages/3e/ca/fcd54f78b59e3f97b3b9715501e3147f5340167733d27db423aa321e7148/propcache-0.3.2-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:6d8f3f0eebf73e3c0ff0e7853f68be638b4043c65a70517bb575eff54edd8dbe", size = 255026, upload-time = "2025-06-09T22:55:30.184Z" }, - { url = "https://files.pythonhosted.org/packages/8b/95/8e6a6bbbd78ac89c30c225210a5c687790e532ba4088afb8c0445b77ef37/propcache-0.3.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:03c89c1b14a5452cf15403e291c0ccd7751d5b9736ecb2c5bab977ad6c5bcd81", size = 250724, upload-time = "2025-06-09T22:55:31.646Z" }, - { url = "https://files.pythonhosted.org/packages/ee/b0/0dd03616142baba28e8b2d14ce5df6631b4673850a3d4f9c0f9dd714a404/propcache-0.3.2-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:0cc17efde71e12bbaad086d679ce575268d70bc123a5a71ea7ad76f70ba30bba", size = 268868, upload-time = "2025-06-09T22:55:33.209Z" }, - { url = "https://files.pythonhosted.org/packages/c5/98/2c12407a7e4fbacd94ddd32f3b1e3d5231e77c30ef7162b12a60e2dd5ce3/propcache-0.3.2-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:acdf05d00696bc0447e278bb53cb04ca72354e562cf88ea6f9107df8e7fd9770", size = 271322, upload-time = "2025-06-09T22:55:35.065Z" }, - { url = "https://files.pythonhosted.org/packages/35/91/9cb56efbb428b006bb85db28591e40b7736847b8331d43fe335acf95f6c8/propcache-0.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4445542398bd0b5d32df908031cb1b30d43ac848e20470a878b770ec2dcc6330", size = 265778, upload-time = "2025-06-09T22:55:36.45Z" }, - { url = "https://files.pythonhosted.org/packages/9a/4c/b0fe775a2bdd01e176b14b574be679d84fc83958335790f7c9a686c1f468/propcache-0.3.2-cp313-cp313t-win32.whl", hash = "sha256:f86e5d7cd03afb3a1db8e9f9f6eff15794e79e791350ac48a8c924e6f439f394", size = 41175, upload-time = "2025-06-09T22:55:38.436Z" }, - { url = "https://files.pythonhosted.org/packages/a4/ff/47f08595e3d9b5e149c150f88d9714574f1a7cbd89fe2817158a952674bf/propcache-0.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:9704bedf6e7cbe3c65eca4379a9b53ee6a83749f047808cbb5044d40d7d72198", size = 44857, upload-time = "2025-06-09T22:55:39.687Z" }, - { url = "https://files.pythonhosted.org/packages/6c/39/8ea9bcfaaff16fd0b0fc901ee522e24c9ec44b4ca0229cfffb8066a06959/propcache-0.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a7fad897f14d92086d6b03fdd2eb844777b0c4d7ec5e3bac0fbae2ab0602bbe5", size = 74678, upload-time = "2025-06-09T22:55:41.227Z" }, - { url = "https://files.pythonhosted.org/packages/d3/85/cab84c86966e1d354cf90cdc4ba52f32f99a5bca92a1529d666d957d7686/propcache-0.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1f43837d4ca000243fd7fd6301947d7cb93360d03cd08369969450cc6b2ce3b4", size = 43829, upload-time = "2025-06-09T22:55:42.417Z" }, - { url = "https://files.pythonhosted.org/packages/23/f7/9cb719749152d8b26d63801b3220ce2d3931312b2744d2b3a088b0ee9947/propcache-0.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:261df2e9474a5949c46e962065d88eb9b96ce0f2bd30e9d3136bcde84befd8f2", size = 43729, upload-time = "2025-06-09T22:55:43.651Z" }, - { url = "https://files.pythonhosted.org/packages/a2/a2/0b2b5a210ff311260002a315f6f9531b65a36064dfb804655432b2f7d3e3/propcache-0.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e514326b79e51f0a177daab1052bc164d9d9e54133797a3a58d24c9c87a3fe6d", size = 204483, upload-time = "2025-06-09T22:55:45.327Z" }, - { url = "https://files.pythonhosted.org/packages/3f/e0/7aff5de0c535f783b0c8be5bdb750c305c1961d69fbb136939926e155d98/propcache-0.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d4a996adb6904f85894570301939afeee65f072b4fd265ed7e569e8d9058e4ec", size = 217425, upload-time = "2025-06-09T22:55:46.729Z" }, - { url = "https://files.pythonhosted.org/packages/92/1d/65fa889eb3b2a7d6e4ed3c2b568a9cb8817547a1450b572de7bf24872800/propcache-0.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:76cace5d6b2a54e55b137669b30f31aa15977eeed390c7cbfb1dafa8dfe9a701", size = 214723, upload-time = "2025-06-09T22:55:48.342Z" }, - { url = "https://files.pythonhosted.org/packages/9a/e2/eecf6989870988dfd731de408a6fa366e853d361a06c2133b5878ce821ad/propcache-0.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31248e44b81d59d6addbb182c4720f90b44e1efdc19f58112a3c3a1615fb47ef", size = 200166, upload-time = "2025-06-09T22:55:49.775Z" }, - { url = "https://files.pythonhosted.org/packages/12/06/c32be4950967f18f77489268488c7cdc78cbfc65a8ba8101b15e526b83dc/propcache-0.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:abb7fa19dbf88d3857363e0493b999b8011eea856b846305d8c0512dfdf8fbb1", size = 194004, upload-time = "2025-06-09T22:55:51.335Z" }, - { url = "https://files.pythonhosted.org/packages/46/6c/17b521a6b3b7cbe277a4064ff0aa9129dd8c89f425a5a9b6b4dd51cc3ff4/propcache-0.3.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:d81ac3ae39d38588ad0549e321e6f773a4e7cc68e7751524a22885d5bbadf886", size = 203075, upload-time = "2025-06-09T22:55:52.681Z" }, - { url = "https://files.pythonhosted.org/packages/62/cb/3bdba2b736b3e45bc0e40f4370f745b3e711d439ffbffe3ae416393eece9/propcache-0.3.2-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:cc2782eb0f7a16462285b6f8394bbbd0e1ee5f928034e941ffc444012224171b", size = 195407, upload-time = "2025-06-09T22:55:54.048Z" }, - { url = "https://files.pythonhosted.org/packages/29/bd/760c5c6a60a4a2c55a421bc34a25ba3919d49dee411ddb9d1493bb51d46e/propcache-0.3.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:db429c19a6c7e8a1c320e6a13c99799450f411b02251fb1b75e6217cf4a14fcb", size = 196045, upload-time = "2025-06-09T22:55:55.485Z" }, - { url = "https://files.pythonhosted.org/packages/76/58/ced2757a46f55b8c84358d6ab8de4faf57cba831c51e823654da7144b13a/propcache-0.3.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:21d8759141a9e00a681d35a1f160892a36fb6caa715ba0b832f7747da48fb6ea", size = 208432, upload-time = "2025-06-09T22:55:56.884Z" }, - { url = "https://files.pythonhosted.org/packages/bb/ec/d98ea8d5a4d8fe0e372033f5254eddf3254344c0c5dc6c49ab84349e4733/propcache-0.3.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:2ca6d378f09adb13837614ad2754fa8afaee330254f404299611bce41a8438cb", size = 210100, upload-time = "2025-06-09T22:55:58.498Z" }, - { url = "https://files.pythonhosted.org/packages/56/84/b6d8a7ecf3f62d7dd09d9d10bbf89fad6837970ef868b35b5ffa0d24d9de/propcache-0.3.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:34a624af06c048946709f4278b4176470073deda88d91342665d95f7c6270fbe", size = 200712, upload-time = "2025-06-09T22:55:59.906Z" }, - { url = "https://files.pythonhosted.org/packages/bf/32/889f4903ddfe4a9dc61da71ee58b763758cf2d608fe1decede06e6467f8d/propcache-0.3.2-cp39-cp39-win32.whl", hash = "sha256:4ba3fef1c30f306b1c274ce0b8baaa2c3cdd91f645c48f06394068f37d3837a1", size = 38187, upload-time = "2025-06-09T22:56:01.212Z" }, - { url = "https://files.pythonhosted.org/packages/67/74/d666795fb9ba1dc139d30de64f3b6fd1ff9c9d3d96ccfdb992cd715ce5d2/propcache-0.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:7a2368eed65fc69a7a7a40b27f22e85e7627b74216f0846b04ba5c116e191ec9", size = 42025, upload-time = "2025-06-09T22:56:02.875Z" }, - { url = "https://files.pythonhosted.org/packages/cc/35/cc0aaecf278bb4575b8555f2b137de5ab821595ddae9da9d3cd1da4072c7/propcache-0.3.2-py3-none-any.whl", hash = "sha256:98f1ec44fb675f5052cccc8e609c46ed23a35a1cfd18545ad4e29002d858a43f", size = 12663, upload-time = "2025-06-09T22:56:04.484Z" }, +version = "0.4.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz", hash = "sha256:f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d", size = 46442, upload-time = "2025-10-08T19:49:02.291Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3c/0e/934b541323035566a9af292dba85a195f7b78179114f2c6ebb24551118a9/propcache-0.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7c2d1fa3201efaf55d730400d945b5b3ab6e672e100ba0f9a409d950ab25d7db", size = 79534, upload-time = "2025-10-08T19:46:02.083Z" }, + { url = "https://files.pythonhosted.org/packages/a1/6b/db0d03d96726d995dc7171286c6ba9d8d14251f37433890f88368951a44e/propcache-0.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1eb2994229cc8ce7fe9b3db88f5465f5fd8651672840b2e426b88cdb1a30aac8", size = 45526, upload-time = "2025-10-08T19:46:03.884Z" }, + { url = "https://files.pythonhosted.org/packages/e4/c3/82728404aea669e1600f304f2609cde9e665c18df5a11cdd57ed73c1dceb/propcache-0.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:66c1f011f45a3b33d7bcb22daed4b29c0c9e2224758b6be00686731e1b46f925", size = 47263, upload-time = "2025-10-08T19:46:05.405Z" }, + { url = "https://files.pythonhosted.org/packages/df/1b/39313ddad2bf9187a1432654c38249bab4562ef535ef07f5eb6eb04d0b1b/propcache-0.4.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9a52009f2adffe195d0b605c25ec929d26b36ef986ba85244891dee3b294df21", size = 201012, upload-time = "2025-10-08T19:46:07.165Z" }, + { url = "https://files.pythonhosted.org/packages/5b/01/f1d0b57d136f294a142acf97f4ed58c8e5b974c21e543000968357115011/propcache-0.4.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5d4e2366a9c7b837555cf02fb9be2e3167d333aff716332ef1b7c3a142ec40c5", size = 209491, upload-time = "2025-10-08T19:46:08.909Z" }, + { url = "https://files.pythonhosted.org/packages/a1/c8/038d909c61c5bb039070b3fb02ad5cccdb1dde0d714792e251cdb17c9c05/propcache-0.4.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:9d2b6caef873b4f09e26ea7e33d65f42b944837563a47a94719cc3544319a0db", size = 215319, upload-time = "2025-10-08T19:46:10.7Z" }, + { url = "https://files.pythonhosted.org/packages/08/57/8c87e93142b2c1fa2408e45695205a7ba05fb5db458c0bf5c06ba0e09ea6/propcache-0.4.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2b16ec437a8c8a965ecf95739448dd938b5c7f56e67ea009f4300d8df05f32b7", size = 196856, upload-time = "2025-10-08T19:46:12.003Z" }, + { url = "https://files.pythonhosted.org/packages/42/df/5615fec76aa561987a534759b3686008a288e73107faa49a8ae5795a9f7a/propcache-0.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:296f4c8ed03ca7476813fe666c9ea97869a8d7aec972618671b33a38a5182ef4", size = 193241, upload-time = "2025-10-08T19:46:13.495Z" }, + { url = "https://files.pythonhosted.org/packages/d5/21/62949eb3a7a54afe8327011c90aca7e03547787a88fb8bd9726806482fea/propcache-0.4.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:1f0978529a418ebd1f49dad413a2b68af33f85d5c5ca5c6ca2a3bed375a7ac60", size = 190552, upload-time = "2025-10-08T19:46:14.938Z" }, + { url = "https://files.pythonhosted.org/packages/30/ee/ab4d727dd70806e5b4de96a798ae7ac6e4d42516f030ee60522474b6b332/propcache-0.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fd138803047fb4c062b1c1dd95462f5209456bfab55c734458f15d11da288f8f", size = 200113, upload-time = "2025-10-08T19:46:16.695Z" }, + { url = "https://files.pythonhosted.org/packages/8a/0b/38b46208e6711b016aa8966a3ac793eee0d05c7159d8342aa27fc0bc365e/propcache-0.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8c9b3cbe4584636d72ff556d9036e0c9317fa27b3ac1f0f558e7e84d1c9c5900", size = 200778, upload-time = "2025-10-08T19:46:18.023Z" }, + { url = "https://files.pythonhosted.org/packages/cf/81/5abec54355ed344476bee711e9f04815d4b00a311ab0535599204eecc257/propcache-0.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f93243fdc5657247533273ac4f86ae106cc6445a0efacb9a1bfe982fcfefd90c", size = 193047, upload-time = "2025-10-08T19:46:19.449Z" }, + { url = "https://files.pythonhosted.org/packages/ec/b6/1f237c04e32063cb034acd5f6ef34ef3a394f75502e72703545631ab1ef6/propcache-0.4.1-cp310-cp310-win32.whl", hash = "sha256:a0ee98db9c5f80785b266eb805016e36058ac72c51a064040f2bc43b61101cdb", size = 38093, upload-time = "2025-10-08T19:46:20.643Z" }, + { url = "https://files.pythonhosted.org/packages/a6/67/354aac4e0603a15f76439caf0427781bcd6797f370377f75a642133bc954/propcache-0.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:1cdb7988c4e5ac7f6d175a28a9aa0c94cb6f2ebe52756a3c0cda98d2809a9e37", size = 41638, upload-time = "2025-10-08T19:46:21.935Z" }, + { url = "https://files.pythonhosted.org/packages/e0/e1/74e55b9fd1a4c209ff1a9a824bf6c8b3d1fc5a1ac3eabe23462637466785/propcache-0.4.1-cp310-cp310-win_arm64.whl", hash = "sha256:d82ad62b19645419fe79dd63b3f9253e15b30e955c0170e5cebc350c1844e581", size = 38229, upload-time = "2025-10-08T19:46:23.368Z" }, + { url = "https://files.pythonhosted.org/packages/8c/d4/4e2c9aaf7ac2242b9358f98dccd8f90f2605402f5afeff6c578682c2c491/propcache-0.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:60a8fda9644b7dfd5dece8c61d8a85e271cb958075bfc4e01083c148b61a7caf", size = 80208, upload-time = "2025-10-08T19:46:24.597Z" }, + { url = "https://files.pythonhosted.org/packages/c2/21/d7b68e911f9c8e18e4ae43bdbc1e1e9bbd971f8866eb81608947b6f585ff/propcache-0.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c30b53e7e6bda1d547cabb47c825f3843a0a1a42b0496087bb58d8fedf9f41b5", size = 45777, upload-time = "2025-10-08T19:46:25.733Z" }, + { url = "https://files.pythonhosted.org/packages/d3/1d/11605e99ac8ea9435651ee71ab4cb4bf03f0949586246476a25aadfec54a/propcache-0.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6918ecbd897443087a3b7cd978d56546a812517dcaaca51b49526720571fa93e", size = 47647, upload-time = "2025-10-08T19:46:27.304Z" }, + { url = "https://files.pythonhosted.org/packages/58/1a/3c62c127a8466c9c843bccb503d40a273e5cc69838805f322e2826509e0d/propcache-0.4.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3d902a36df4e5989763425a8ab9e98cd8ad5c52c823b34ee7ef307fd50582566", size = 214929, upload-time = "2025-10-08T19:46:28.62Z" }, + { url = "https://files.pythonhosted.org/packages/56/b9/8fa98f850960b367c4b8fe0592e7fc341daa7a9462e925228f10a60cf74f/propcache-0.4.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a9695397f85973bb40427dedddf70d8dc4a44b22f1650dd4af9eedf443d45165", size = 221778, upload-time = "2025-10-08T19:46:30.358Z" }, + { url = "https://files.pythonhosted.org/packages/46/a6/0ab4f660eb59649d14b3d3d65c439421cf2f87fe5dd68591cbe3c1e78a89/propcache-0.4.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2bb07ffd7eaad486576430c89f9b215f9e4be68c4866a96e97db9e97fead85dc", size = 228144, upload-time = "2025-10-08T19:46:32.607Z" }, + { url = "https://files.pythonhosted.org/packages/52/6a/57f43e054fb3d3a56ac9fc532bc684fc6169a26c75c353e65425b3e56eef/propcache-0.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fd6f30fdcf9ae2a70abd34da54f18da086160e4d7d9251f81f3da0ff84fc5a48", size = 210030, upload-time = "2025-10-08T19:46:33.969Z" }, + { url = "https://files.pythonhosted.org/packages/40/e2/27e6feebb5f6b8408fa29f5efbb765cd54c153ac77314d27e457a3e993b7/propcache-0.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:fc38cba02d1acba4e2869eef1a57a43dfbd3d49a59bf90dda7444ec2be6a5570", size = 208252, upload-time = "2025-10-08T19:46:35.309Z" }, + { url = "https://files.pythonhosted.org/packages/9e/f8/91c27b22ccda1dbc7967f921c42825564fa5336a01ecd72eb78a9f4f53c2/propcache-0.4.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:67fad6162281e80e882fb3ec355398cf72864a54069d060321f6cd0ade95fe85", size = 202064, upload-time = "2025-10-08T19:46:36.993Z" }, + { url = "https://files.pythonhosted.org/packages/f2/26/7f00bd6bd1adba5aafe5f4a66390f243acab58eab24ff1a08bebb2ef9d40/propcache-0.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f10207adf04d08bec185bae14d9606a1444715bc99180f9331c9c02093e1959e", size = 212429, upload-time = "2025-10-08T19:46:38.398Z" }, + { url = "https://files.pythonhosted.org/packages/84/89/fd108ba7815c1117ddca79c228f3f8a15fc82a73bca8b142eb5de13b2785/propcache-0.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e9b0d8d0845bbc4cfcdcbcdbf5086886bc8157aa963c31c777ceff7846c77757", size = 216727, upload-time = "2025-10-08T19:46:39.732Z" }, + { url = "https://files.pythonhosted.org/packages/79/37/3ec3f7e3173e73f1d600495d8b545b53802cbf35506e5732dd8578db3724/propcache-0.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:981333cb2f4c1896a12f4ab92a9cc8f09ea664e9b7dbdc4eff74627af3a11c0f", size = 205097, upload-time = "2025-10-08T19:46:41.025Z" }, + { url = "https://files.pythonhosted.org/packages/61/b0/b2631c19793f869d35f47d5a3a56fb19e9160d3c119f15ac7344fc3ccae7/propcache-0.4.1-cp311-cp311-win32.whl", hash = "sha256:f1d2f90aeec838a52f1c1a32fe9a619fefd5e411721a9117fbf82aea638fe8a1", size = 38084, upload-time = "2025-10-08T19:46:42.693Z" }, + { url = "https://files.pythonhosted.org/packages/f4/78/6cce448e2098e9f3bfc91bb877f06aa24b6ccace872e39c53b2f707c4648/propcache-0.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:364426a62660f3f699949ac8c621aad6977be7126c5807ce48c0aeb8e7333ea6", size = 41637, upload-time = "2025-10-08T19:46:43.778Z" }, + { url = "https://files.pythonhosted.org/packages/9c/e9/754f180cccd7f51a39913782c74717c581b9cc8177ad0e949f4d51812383/propcache-0.4.1-cp311-cp311-win_arm64.whl", hash = "sha256:e53f3a38d3510c11953f3e6a33f205c6d1b001129f972805ca9b42fc308bc239", size = 38064, upload-time = "2025-10-08T19:46:44.872Z" }, + { url = "https://files.pythonhosted.org/packages/a2/0f/f17b1b2b221d5ca28b4b876e8bb046ac40466513960646bda8e1853cdfa2/propcache-0.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e153e9cd40cc8945138822807139367f256f89c6810c2634a4f6902b52d3b4e2", size = 80061, upload-time = "2025-10-08T19:46:46.075Z" }, + { url = "https://files.pythonhosted.org/packages/76/47/8ccf75935f51448ba9a16a71b783eb7ef6b9ee60f5d14c7f8a8a79fbeed7/propcache-0.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cd547953428f7abb73c5ad82cbb32109566204260d98e41e5dfdc682eb7f8403", size = 46037, upload-time = "2025-10-08T19:46:47.23Z" }, + { url = "https://files.pythonhosted.org/packages/0a/b6/5c9a0e42df4d00bfb4a3cbbe5cf9f54260300c88a0e9af1f47ca5ce17ac0/propcache-0.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f048da1b4f243fc44f205dfd320933a951b8d89e0afd4c7cacc762a8b9165207", size = 47324, upload-time = "2025-10-08T19:46:48.384Z" }, + { url = "https://files.pythonhosted.org/packages/9e/d3/6c7ee328b39a81ee877c962469f1e795f9db87f925251efeb0545e0020d0/propcache-0.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ec17c65562a827bba85e3872ead335f95405ea1674860d96483a02f5c698fa72", size = 225505, upload-time = "2025-10-08T19:46:50.055Z" }, + { url = "https://files.pythonhosted.org/packages/01/5d/1c53f4563490b1d06a684742cc6076ef944bc6457df6051b7d1a877c057b/propcache-0.4.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:405aac25c6394ef275dee4c709be43745d36674b223ba4eb7144bf4d691b7367", size = 230242, upload-time = "2025-10-08T19:46:51.815Z" }, + { url = "https://files.pythonhosted.org/packages/20/e1/ce4620633b0e2422207c3cb774a0ee61cac13abc6217763a7b9e2e3f4a12/propcache-0.4.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0013cb6f8dde4b2a2f66903b8ba740bdfe378c943c4377a200551ceb27f379e4", size = 238474, upload-time = "2025-10-08T19:46:53.208Z" }, + { url = "https://files.pythonhosted.org/packages/46/4b/3aae6835b8e5f44ea6a68348ad90f78134047b503765087be2f9912140ea/propcache-0.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:15932ab57837c3368b024473a525e25d316d8353016e7cc0e5ba9eb343fbb1cf", size = 221575, upload-time = "2025-10-08T19:46:54.511Z" }, + { url = "https://files.pythonhosted.org/packages/6e/a5/8a5e8678bcc9d3a1a15b9a29165640d64762d424a16af543f00629c87338/propcache-0.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:031dce78b9dc099f4c29785d9cf5577a3faf9ebf74ecbd3c856a7b92768c3df3", size = 216736, upload-time = "2025-10-08T19:46:56.212Z" }, + { url = "https://files.pythonhosted.org/packages/f1/63/b7b215eddeac83ca1c6b934f89d09a625aa9ee4ba158338854c87210cc36/propcache-0.4.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ab08df6c9a035bee56e31af99be621526bd237bea9f32def431c656b29e41778", size = 213019, upload-time = "2025-10-08T19:46:57.595Z" }, + { url = "https://files.pythonhosted.org/packages/57/74/f580099a58c8af587cac7ba19ee7cb418506342fbbe2d4a4401661cca886/propcache-0.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4d7af63f9f93fe593afbf104c21b3b15868efb2c21d07d8732c0c4287e66b6a6", size = 220376, upload-time = "2025-10-08T19:46:59.067Z" }, + { url = "https://files.pythonhosted.org/packages/c4/ee/542f1313aff7eaf19c2bb758c5d0560d2683dac001a1c96d0774af799843/propcache-0.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:cfc27c945f422e8b5071b6e93169679e4eb5bf73bbcbf1ba3ae3a83d2f78ebd9", size = 226988, upload-time = "2025-10-08T19:47:00.544Z" }, + { url = "https://files.pythonhosted.org/packages/8f/18/9c6b015dd9c6930f6ce2229e1f02fb35298b847f2087ea2b436a5bfa7287/propcache-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:35c3277624a080cc6ec6f847cbbbb5b49affa3598c4535a0a4682a697aaa5c75", size = 215615, upload-time = "2025-10-08T19:47:01.968Z" }, + { url = "https://files.pythonhosted.org/packages/80/9e/e7b85720b98c45a45e1fca6a177024934dc9bc5f4d5dd04207f216fc33ed/propcache-0.4.1-cp312-cp312-win32.whl", hash = "sha256:671538c2262dadb5ba6395e26c1731e1d52534bfe9ae56d0b5573ce539266aa8", size = 38066, upload-time = "2025-10-08T19:47:03.503Z" }, + { url = "https://files.pythonhosted.org/packages/54/09/d19cff2a5aaac632ec8fc03737b223597b1e347416934c1b3a7df079784c/propcache-0.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:cb2d222e72399fcf5890d1d5cc1060857b9b236adff2792ff48ca2dfd46c81db", size = 41655, upload-time = "2025-10-08T19:47:04.973Z" }, + { url = "https://files.pythonhosted.org/packages/68/ab/6b5c191bb5de08036a8c697b265d4ca76148efb10fa162f14af14fb5f076/propcache-0.4.1-cp312-cp312-win_arm64.whl", hash = "sha256:204483131fb222bdaaeeea9f9e6c6ed0cac32731f75dfc1d4a567fc1926477c1", size = 37789, upload-time = "2025-10-08T19:47:06.077Z" }, + { url = "https://files.pythonhosted.org/packages/bf/df/6d9c1b6ac12b003837dde8a10231a7344512186e87b36e855bef32241942/propcache-0.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:43eedf29202c08550aac1d14e0ee619b0430aaef78f85864c1a892294fbc28cf", size = 77750, upload-time = "2025-10-08T19:47:07.648Z" }, + { url = "https://files.pythonhosted.org/packages/8b/e8/677a0025e8a2acf07d3418a2e7ba529c9c33caf09d3c1f25513023c1db56/propcache-0.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d62cdfcfd89ccb8de04e0eda998535c406bf5e060ffd56be6c586cbcc05b3311", size = 44780, upload-time = "2025-10-08T19:47:08.851Z" }, + { url = "https://files.pythonhosted.org/packages/89/a4/92380f7ca60f99ebae761936bc48a72a639e8a47b29050615eef757cb2a7/propcache-0.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cae65ad55793da34db5f54e4029b89d3b9b9490d8abe1b4c7ab5d4b8ec7ebf74", size = 46308, upload-time = "2025-10-08T19:47:09.982Z" }, + { url = "https://files.pythonhosted.org/packages/2d/48/c5ac64dee5262044348d1d78a5f85dd1a57464a60d30daee946699963eb3/propcache-0.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:333ddb9031d2704a301ee3e506dc46b1fe5f294ec198ed6435ad5b6a085facfe", size = 208182, upload-time = "2025-10-08T19:47:11.319Z" }, + { url = "https://files.pythonhosted.org/packages/c6/0c/cd762dd011a9287389a6a3eb43aa30207bde253610cca06824aeabfe9653/propcache-0.4.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:fd0858c20f078a32cf55f7e81473d96dcf3b93fd2ccdb3d40fdf54b8573df3af", size = 211215, upload-time = "2025-10-08T19:47:13.146Z" }, + { url = "https://files.pythonhosted.org/packages/30/3e/49861e90233ba36890ae0ca4c660e95df565b2cd15d4a68556ab5865974e/propcache-0.4.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:678ae89ebc632c5c204c794f8dab2837c5f159aeb59e6ed0539500400577298c", size = 218112, upload-time = "2025-10-08T19:47:14.913Z" }, + { url = "https://files.pythonhosted.org/packages/f1/8b/544bc867e24e1bd48f3118cecd3b05c694e160a168478fa28770f22fd094/propcache-0.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d472aeb4fbf9865e0c6d622d7f4d54a4e101a89715d8904282bb5f9a2f476c3f", size = 204442, upload-time = "2025-10-08T19:47:16.277Z" }, + { url = "https://files.pythonhosted.org/packages/50/a6/4282772fd016a76d3e5c0df58380a5ea64900afd836cec2c2f662d1b9bb3/propcache-0.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4d3df5fa7e36b3225954fba85589da77a0fe6a53e3976de39caf04a0db4c36f1", size = 199398, upload-time = "2025-10-08T19:47:17.962Z" }, + { url = "https://files.pythonhosted.org/packages/3e/ec/d8a7cd406ee1ddb705db2139f8a10a8a427100347bd698e7014351c7af09/propcache-0.4.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:ee17f18d2498f2673e432faaa71698032b0127ebf23ae5974eeaf806c279df24", size = 196920, upload-time = "2025-10-08T19:47:19.355Z" }, + { url = "https://files.pythonhosted.org/packages/f6/6c/f38ab64af3764f431e359f8baf9e0a21013e24329e8b85d2da32e8ed07ca/propcache-0.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:580e97762b950f993ae618e167e7be9256b8353c2dcd8b99ec100eb50f5286aa", size = 203748, upload-time = "2025-10-08T19:47:21.338Z" }, + { url = "https://files.pythonhosted.org/packages/d6/e3/fa846bd70f6534d647886621388f0a265254d30e3ce47e5c8e6e27dbf153/propcache-0.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:501d20b891688eb8e7aa903021f0b72d5a55db40ffaab27edefd1027caaafa61", size = 205877, upload-time = "2025-10-08T19:47:23.059Z" }, + { url = "https://files.pythonhosted.org/packages/e2/39/8163fc6f3133fea7b5f2827e8eba2029a0277ab2c5beee6c1db7b10fc23d/propcache-0.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9a0bd56e5b100aef69bd8562b74b46254e7c8812918d3baa700c8a8009b0af66", size = 199437, upload-time = "2025-10-08T19:47:24.445Z" }, + { url = "https://files.pythonhosted.org/packages/93/89/caa9089970ca49c7c01662bd0eeedfe85494e863e8043565aeb6472ce8fe/propcache-0.4.1-cp313-cp313-win32.whl", hash = "sha256:bcc9aaa5d80322bc2fb24bb7accb4a30f81e90ab8d6ba187aec0744bc302ad81", size = 37586, upload-time = "2025-10-08T19:47:25.736Z" }, + { url = "https://files.pythonhosted.org/packages/f5/ab/f76ec3c3627c883215b5c8080debb4394ef5a7a29be811f786415fc1e6fd/propcache-0.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:381914df18634f5494334d201e98245c0596067504b9372d8cf93f4bb23e025e", size = 40790, upload-time = "2025-10-08T19:47:26.847Z" }, + { url = "https://files.pythonhosted.org/packages/59/1b/e71ae98235f8e2ba5004d8cb19765a74877abf189bc53fc0c80d799e56c3/propcache-0.4.1-cp313-cp313-win_arm64.whl", hash = "sha256:8873eb4460fd55333ea49b7d189749ecf6e55bf85080f11b1c4530ed3034cba1", size = 37158, upload-time = "2025-10-08T19:47:27.961Z" }, + { url = "https://files.pythonhosted.org/packages/83/ce/a31bbdfc24ee0dcbba458c8175ed26089cf109a55bbe7b7640ed2470cfe9/propcache-0.4.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:92d1935ee1f8d7442da9c0c4fa7ac20d07e94064184811b685f5c4fada64553b", size = 81451, upload-time = "2025-10-08T19:47:29.445Z" }, + { url = "https://files.pythonhosted.org/packages/25/9c/442a45a470a68456e710d96cacd3573ef26a1d0a60067e6a7d5e655621ed/propcache-0.4.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:473c61b39e1460d386479b9b2f337da492042447c9b685f28be4f74d3529e566", size = 46374, upload-time = "2025-10-08T19:47:30.579Z" }, + { url = "https://files.pythonhosted.org/packages/f4/bf/b1d5e21dbc3b2e889ea4327044fb16312a736d97640fb8b6aa3f9c7b3b65/propcache-0.4.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c0ef0aaafc66fbd87842a3fe3902fd889825646bc21149eafe47be6072725835", size = 48396, upload-time = "2025-10-08T19:47:31.79Z" }, + { url = "https://files.pythonhosted.org/packages/f4/04/5b4c54a103d480e978d3c8a76073502b18db0c4bc17ab91b3cb5092ad949/propcache-0.4.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f95393b4d66bfae908c3ca8d169d5f79cd65636ae15b5e7a4f6e67af675adb0e", size = 275950, upload-time = "2025-10-08T19:47:33.481Z" }, + { url = "https://files.pythonhosted.org/packages/b4/c1/86f846827fb969c4b78b0af79bba1d1ea2156492e1b83dea8b8a6ae27395/propcache-0.4.1-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c07fda85708bc48578467e85099645167a955ba093be0a2dcba962195676e859", size = 273856, upload-time = "2025-10-08T19:47:34.906Z" }, + { url = "https://files.pythonhosted.org/packages/36/1d/fc272a63c8d3bbad6878c336c7a7dea15e8f2d23a544bda43205dfa83ada/propcache-0.4.1-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:af223b406d6d000830c6f65f1e6431783fc3f713ba3e6cc8c024d5ee96170a4b", size = 280420, upload-time = "2025-10-08T19:47:36.338Z" }, + { url = "https://files.pythonhosted.org/packages/07/0c/01f2219d39f7e53d52e5173bcb09c976609ba30209912a0680adfb8c593a/propcache-0.4.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a78372c932c90ee474559c5ddfffd718238e8673c340dc21fe45c5b8b54559a0", size = 263254, upload-time = "2025-10-08T19:47:37.692Z" }, + { url = "https://files.pythonhosted.org/packages/2d/18/cd28081658ce597898f0c4d174d4d0f3c5b6d4dc27ffafeef835c95eb359/propcache-0.4.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:564d9f0d4d9509e1a870c920a89b2fec951b44bf5ba7d537a9e7c1ccec2c18af", size = 261205, upload-time = "2025-10-08T19:47:39.659Z" }, + { url = "https://files.pythonhosted.org/packages/7a/71/1f9e22eb8b8316701c2a19fa1f388c8a3185082607da8e406a803c9b954e/propcache-0.4.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:17612831fda0138059cc5546f4d12a2aacfb9e47068c06af35c400ba58ba7393", size = 247873, upload-time = "2025-10-08T19:47:41.084Z" }, + { url = "https://files.pythonhosted.org/packages/4a/65/3d4b61f36af2b4eddba9def857959f1016a51066b4f1ce348e0cf7881f58/propcache-0.4.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:41a89040cb10bd345b3c1a873b2bf36413d48da1def52f268a055f7398514874", size = 262739, upload-time = "2025-10-08T19:47:42.51Z" }, + { url = "https://files.pythonhosted.org/packages/2a/42/26746ab087faa77c1c68079b228810436ccd9a5ce9ac85e2b7307195fd06/propcache-0.4.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e35b88984e7fa64aacecea39236cee32dd9bd8c55f57ba8a75cf2399553f9bd7", size = 263514, upload-time = "2025-10-08T19:47:43.927Z" }, + { url = "https://files.pythonhosted.org/packages/94/13/630690fe201f5502d2403dd3cfd451ed8858fe3c738ee88d095ad2ff407b/propcache-0.4.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6f8b465489f927b0df505cbe26ffbeed4d6d8a2bbc61ce90eb074ff129ef0ab1", size = 257781, upload-time = "2025-10-08T19:47:45.448Z" }, + { url = "https://files.pythonhosted.org/packages/92/f7/1d4ec5841505f423469efbfc381d64b7b467438cd5a4bbcbb063f3b73d27/propcache-0.4.1-cp313-cp313t-win32.whl", hash = "sha256:2ad890caa1d928c7c2965b48f3a3815c853180831d0e5503d35cf00c472f4717", size = 41396, upload-time = "2025-10-08T19:47:47.202Z" }, + { url = "https://files.pythonhosted.org/packages/48/f0/615c30622316496d2cbbc29f5985f7777d3ada70f23370608c1d3e081c1f/propcache-0.4.1-cp313-cp313t-win_amd64.whl", hash = "sha256:f7ee0e597f495cf415bcbd3da3caa3bd7e816b74d0d52b8145954c5e6fd3ff37", size = 44897, upload-time = "2025-10-08T19:47:48.336Z" }, + { url = "https://files.pythonhosted.org/packages/fd/ca/6002e46eccbe0e33dcd4069ef32f7f1c9e243736e07adca37ae8c4830ec3/propcache-0.4.1-cp313-cp313t-win_arm64.whl", hash = "sha256:929d7cbe1f01bb7baffb33dc14eb5691c95831450a26354cd210a8155170c93a", size = 39789, upload-time = "2025-10-08T19:47:49.876Z" }, + { url = "https://files.pythonhosted.org/packages/8e/5c/bca52d654a896f831b8256683457ceddd490ec18d9ec50e97dfd8fc726a8/propcache-0.4.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3f7124c9d820ba5548d431afb4632301acf965db49e666aa21c305cbe8c6de12", size = 78152, upload-time = "2025-10-08T19:47:51.051Z" }, + { url = "https://files.pythonhosted.org/packages/65/9b/03b04e7d82a5f54fb16113d839f5ea1ede58a61e90edf515f6577c66fa8f/propcache-0.4.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:c0d4b719b7da33599dfe3b22d3db1ef789210a0597bc650b7cee9c77c2be8c5c", size = 44869, upload-time = "2025-10-08T19:47:52.594Z" }, + { url = "https://files.pythonhosted.org/packages/b2/fa/89a8ef0468d5833a23fff277b143d0573897cf75bd56670a6d28126c7d68/propcache-0.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:9f302f4783709a78240ebc311b793f123328716a60911d667e0c036bc5dcbded", size = 46596, upload-time = "2025-10-08T19:47:54.073Z" }, + { url = "https://files.pythonhosted.org/packages/86/bd/47816020d337f4a746edc42fe8d53669965138f39ee117414c7d7a340cfe/propcache-0.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c80ee5802e3fb9ea37938e7eecc307fb984837091d5fd262bb37238b1ae97641", size = 206981, upload-time = "2025-10-08T19:47:55.715Z" }, + { url = "https://files.pythonhosted.org/packages/df/f6/c5fa1357cc9748510ee55f37173eb31bfde6d94e98ccd9e6f033f2fc06e1/propcache-0.4.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ed5a841e8bb29a55fb8159ed526b26adc5bdd7e8bd7bf793ce647cb08656cdf4", size = 211490, upload-time = "2025-10-08T19:47:57.499Z" }, + { url = "https://files.pythonhosted.org/packages/80/1e/e5889652a7c4a3846683401a48f0f2e5083ce0ec1a8a5221d8058fbd1adf/propcache-0.4.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:55c72fd6ea2da4c318e74ffdf93c4fe4e926051133657459131a95c846d16d44", size = 215371, upload-time = "2025-10-08T19:47:59.317Z" }, + { url = "https://files.pythonhosted.org/packages/b2/f2/889ad4b2408f72fe1a4f6a19491177b30ea7bf1a0fd5f17050ca08cfc882/propcache-0.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8326e144341460402713f91df60ade3c999d601e7eb5ff8f6f7862d54de0610d", size = 201424, upload-time = "2025-10-08T19:48:00.67Z" }, + { url = "https://files.pythonhosted.org/packages/27/73/033d63069b57b0812c8bd19f311faebeceb6ba31b8f32b73432d12a0b826/propcache-0.4.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:060b16ae65bc098da7f6d25bf359f1f31f688384858204fe5d652979e0015e5b", size = 197566, upload-time = "2025-10-08T19:48:02.604Z" }, + { url = "https://files.pythonhosted.org/packages/dc/89/ce24f3dc182630b4e07aa6d15f0ff4b14ed4b9955fae95a0b54c58d66c05/propcache-0.4.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:89eb3fa9524f7bec9de6e83cf3faed9d79bffa560672c118a96a171a6f55831e", size = 193130, upload-time = "2025-10-08T19:48:04.499Z" }, + { url = "https://files.pythonhosted.org/packages/a9/24/ef0d5fd1a811fb5c609278d0209c9f10c35f20581fcc16f818da959fc5b4/propcache-0.4.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:dee69d7015dc235f526fe80a9c90d65eb0039103fe565776250881731f06349f", size = 202625, upload-time = "2025-10-08T19:48:06.213Z" }, + { url = "https://files.pythonhosted.org/packages/f5/02/98ec20ff5546f68d673df2f7a69e8c0d076b5abd05ca882dc7ee3a83653d/propcache-0.4.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:5558992a00dfd54ccbc64a32726a3357ec93825a418a401f5cc67df0ac5d9e49", size = 204209, upload-time = "2025-10-08T19:48:08.432Z" }, + { url = "https://files.pythonhosted.org/packages/a0/87/492694f76759b15f0467a2a93ab68d32859672b646aa8a04ce4864e7932d/propcache-0.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:c9b822a577f560fbd9554812526831712c1436d2c046cedee4c3796d3543b144", size = 197797, upload-time = "2025-10-08T19:48:09.968Z" }, + { url = "https://files.pythonhosted.org/packages/ee/36/66367de3575db1d2d3f3d177432bd14ee577a39d3f5d1b3d5df8afe3b6e2/propcache-0.4.1-cp314-cp314-win32.whl", hash = "sha256:ab4c29b49d560fe48b696cdcb127dd36e0bc2472548f3bf56cc5cb3da2b2984f", size = 38140, upload-time = "2025-10-08T19:48:11.232Z" }, + { url = "https://files.pythonhosted.org/packages/0c/2a/a758b47de253636e1b8aef181c0b4f4f204bf0dd964914fb2af90a95b49b/propcache-0.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:5a103c3eb905fcea0ab98be99c3a9a5ab2de60228aa5aceedc614c0281cf6153", size = 41257, upload-time = "2025-10-08T19:48:12.707Z" }, + { url = "https://files.pythonhosted.org/packages/34/5e/63bd5896c3fec12edcbd6f12508d4890d23c265df28c74b175e1ef9f4f3b/propcache-0.4.1-cp314-cp314-win_arm64.whl", hash = "sha256:74c1fb26515153e482e00177a1ad654721bf9207da8a494a0c05e797ad27b992", size = 38097, upload-time = "2025-10-08T19:48:13.923Z" }, + { url = "https://files.pythonhosted.org/packages/99/85/9ff785d787ccf9bbb3f3106f79884a130951436f58392000231b4c737c80/propcache-0.4.1-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:824e908bce90fb2743bd6b59db36eb4f45cd350a39637c9f73b1c1ea66f5b75f", size = 81455, upload-time = "2025-10-08T19:48:15.16Z" }, + { url = "https://files.pythonhosted.org/packages/90/85/2431c10c8e7ddb1445c1f7c4b54d886e8ad20e3c6307e7218f05922cad67/propcache-0.4.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:c2b5e7db5328427c57c8e8831abda175421b709672f6cfc3d630c3b7e2146393", size = 46372, upload-time = "2025-10-08T19:48:16.424Z" }, + { url = "https://files.pythonhosted.org/packages/01/20/b0972d902472da9bcb683fa595099911f4d2e86e5683bcc45de60dd05dc3/propcache-0.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6f6ff873ed40292cd4969ef5310179afd5db59fdf055897e282485043fc80ad0", size = 48411, upload-time = "2025-10-08T19:48:17.577Z" }, + { url = "https://files.pythonhosted.org/packages/e2/e3/7dc89f4f21e8f99bad3d5ddb3a3389afcf9da4ac69e3deb2dcdc96e74169/propcache-0.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:49a2dc67c154db2c1463013594c458881a069fcf98940e61a0569016a583020a", size = 275712, upload-time = "2025-10-08T19:48:18.901Z" }, + { url = "https://files.pythonhosted.org/packages/20/67/89800c8352489b21a8047c773067644e3897f02ecbbd610f4d46b7f08612/propcache-0.4.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:005f08e6a0529984491e37d8dbc3dd86f84bd78a8ceb5fa9a021f4c48d4984be", size = 273557, upload-time = "2025-10-08T19:48:20.762Z" }, + { url = "https://files.pythonhosted.org/packages/e2/a1/b52b055c766a54ce6d9c16d9aca0cad8059acd9637cdf8aa0222f4a026ef/propcache-0.4.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5c3310452e0d31390da9035c348633b43d7e7feb2e37be252be6da45abd1abcc", size = 280015, upload-time = "2025-10-08T19:48:22.592Z" }, + { url = "https://files.pythonhosted.org/packages/48/c8/33cee30bd890672c63743049f3c9e4be087e6780906bfc3ec58528be59c1/propcache-0.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4c3c70630930447f9ef1caac7728c8ad1c56bc5015338b20fed0d08ea2480b3a", size = 262880, upload-time = "2025-10-08T19:48:23.947Z" }, + { url = "https://files.pythonhosted.org/packages/0c/b1/8f08a143b204b418285c88b83d00edbd61afbc2c6415ffafc8905da7038b/propcache-0.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8e57061305815dfc910a3634dcf584f08168a8836e6999983569f51a8544cd89", size = 260938, upload-time = "2025-10-08T19:48:25.656Z" }, + { url = "https://files.pythonhosted.org/packages/cf/12/96e4664c82ca2f31e1c8dff86afb867348979eb78d3cb8546a680287a1e9/propcache-0.4.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:521a463429ef54143092c11a77e04056dd00636f72e8c45b70aaa3140d639726", size = 247641, upload-time = "2025-10-08T19:48:27.207Z" }, + { url = "https://files.pythonhosted.org/packages/18/ed/e7a9cfca28133386ba52278136d42209d3125db08d0a6395f0cba0c0285c/propcache-0.4.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:120c964da3fdc75e3731aa392527136d4ad35868cc556fd09bb6d09172d9a367", size = 262510, upload-time = "2025-10-08T19:48:28.65Z" }, + { url = "https://files.pythonhosted.org/packages/f5/76/16d8bf65e8845dd62b4e2b57444ab81f07f40caa5652b8969b87ddcf2ef6/propcache-0.4.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:d8f353eb14ee3441ee844ade4277d560cdd68288838673273b978e3d6d2c8f36", size = 263161, upload-time = "2025-10-08T19:48:30.133Z" }, + { url = "https://files.pythonhosted.org/packages/e7/70/c99e9edb5d91d5ad8a49fa3c1e8285ba64f1476782fed10ab251ff413ba1/propcache-0.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ab2943be7c652f09638800905ee1bab2c544e537edb57d527997a24c13dc1455", size = 257393, upload-time = "2025-10-08T19:48:31.567Z" }, + { url = "https://files.pythonhosted.org/packages/08/02/87b25304249a35c0915d236575bc3574a323f60b47939a2262b77632a3ee/propcache-0.4.1-cp314-cp314t-win32.whl", hash = "sha256:05674a162469f31358c30bcaa8883cb7829fa3110bf9c0991fe27d7896c42d85", size = 42546, upload-time = "2025-10-08T19:48:32.872Z" }, + { url = "https://files.pythonhosted.org/packages/cb/ef/3c6ecf8b317aa982f309835e8f96987466123c6e596646d4e6a1dfcd080f/propcache-0.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:990f6b3e2a27d683cb7602ed6c86f15ee6b43b1194736f9baaeb93d0016633b1", size = 46259, upload-time = "2025-10-08T19:48:34.226Z" }, + { url = "https://files.pythonhosted.org/packages/c4/2d/346e946d4951f37eca1e4f55be0f0174c52cd70720f84029b02f296f4a38/propcache-0.4.1-cp314-cp314t-win_arm64.whl", hash = "sha256:ecef2343af4cc68e05131e45024ba34f6095821988a9d0a02aa7c73fcc448aa9", size = 40428, upload-time = "2025-10-08T19:48:35.441Z" }, + { url = "https://files.pythonhosted.org/packages/9b/01/0ebaec9003f5d619a7475165961f8e3083cf8644d704b60395df3601632d/propcache-0.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3d233076ccf9e450c8b3bc6720af226b898ef5d051a2d145f7d765e6e9f9bcff", size = 80277, upload-time = "2025-10-08T19:48:36.647Z" }, + { url = "https://files.pythonhosted.org/packages/34/58/04af97ac586b4ef6b9026c3fd36ee7798b737a832f5d3440a4280dcebd3a/propcache-0.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:357f5bb5c377a82e105e44bd3d52ba22b616f7b9773714bff93573988ef0a5fb", size = 45865, upload-time = "2025-10-08T19:48:37.859Z" }, + { url = "https://files.pythonhosted.org/packages/7c/19/b65d98ae21384518b291d9939e24a8aeac4fdb5101b732576f8f7540e834/propcache-0.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cbc3b6dfc728105b2a57c06791eb07a94229202ea75c59db644d7d496b698cac", size = 47636, upload-time = "2025-10-08T19:48:39.038Z" }, + { url = "https://files.pythonhosted.org/packages/b3/0f/317048c6d91c356c7154dca5af019e6effeb7ee15fa6a6db327cc19e12b4/propcache-0.4.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:182b51b421f0501952d938dc0b0eb45246a5b5153c50d42b495ad5fb7517c888", size = 201126, upload-time = "2025-10-08T19:48:40.774Z" }, + { url = "https://files.pythonhosted.org/packages/71/69/0b2a7a5a6ee83292b4b997dbd80549d8ce7d40b6397c1646c0d9495f5a85/propcache-0.4.1-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4b536b39c5199b96fc6245eb5fb796c497381d3942f169e44e8e392b29c9ebcc", size = 209837, upload-time = "2025-10-08T19:48:42.167Z" }, + { url = "https://files.pythonhosted.org/packages/a5/92/c699ac495a6698df6e497fc2de27af4b6ace10d8e76528357ce153722e45/propcache-0.4.1-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:db65d2af507bbfbdcedb254a11149f894169d90488dd3e7190f7cdcb2d6cd57a", size = 215578, upload-time = "2025-10-08T19:48:43.56Z" }, + { url = "https://files.pythonhosted.org/packages/b3/ee/14de81c5eb02c0ee4f500b4e39c4e1bd0677c06e72379e6ab18923c773fc/propcache-0.4.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fd2dbc472da1f772a4dae4fa24be938a6c544671a912e30529984dd80400cd88", size = 197187, upload-time = "2025-10-08T19:48:45.309Z" }, + { url = "https://files.pythonhosted.org/packages/1d/94/48dce9aaa6d8dd5a0859bad75158ec522546d4ac23f8e2f05fac469477dd/propcache-0.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:daede9cd44e0f8bdd9e6cc9a607fc81feb80fae7a5fc6cecaff0e0bb32e42d00", size = 193478, upload-time = "2025-10-08T19:48:47.743Z" }, + { url = "https://files.pythonhosted.org/packages/60/b5/0516b563e801e1ace212afde869a0596a0d7115eec0b12d296d75633fb29/propcache-0.4.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:71b749281b816793678ae7f3d0d84bd36e694953822eaad408d682efc5ca18e0", size = 190650, upload-time = "2025-10-08T19:48:49.373Z" }, + { url = "https://files.pythonhosted.org/packages/24/89/e0f7d4a5978cd56f8cd67735f74052f257dc471ec901694e430f0d1572fe/propcache-0.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:0002004213ee1f36cfb3f9a42b5066100c44276b9b72b4e1504cddd3d692e86e", size = 200251, upload-time = "2025-10-08T19:48:51.4Z" }, + { url = "https://files.pythonhosted.org/packages/06/7d/a1fac863d473876ed4406c914f2e14aa82d2f10dd207c9e16fc383cc5a24/propcache-0.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:fe49d0a85038f36ba9e3ffafa1103e61170b28e95b16622e11be0a0ea07c6781", size = 200919, upload-time = "2025-10-08T19:48:53.227Z" }, + { url = "https://files.pythonhosted.org/packages/c3/4e/f86a256ff24944cf5743e4e6c6994e3526f6acfcfb55e21694c2424f758c/propcache-0.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:99d43339c83aaf4d32bda60928231848eee470c6bda8d02599cc4cebe872d183", size = 193211, upload-time = "2025-10-08T19:48:55.027Z" }, + { url = "https://files.pythonhosted.org/packages/6e/3f/3fbad5f4356b068f1b047d300a6ff2c66614d7030f078cd50be3fec04228/propcache-0.4.1-cp39-cp39-win32.whl", hash = "sha256:a129e76735bc792794d5177069691c3217898b9f5cee2b2661471e52ffe13f19", size = 38314, upload-time = "2025-10-08T19:48:56.792Z" }, + { url = "https://files.pythonhosted.org/packages/a4/45/d78d136c3a3d215677abb886785aae744da2c3005bcb99e58640c56529b1/propcache-0.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:948dab269721ae9a87fd16c514a0a2c2a1bdb23a9a61b969b0f9d9ee2968546f", size = 41912, upload-time = "2025-10-08T19:48:57.995Z" }, + { url = "https://files.pythonhosted.org/packages/fc/2a/b0632941f25139f4e58450b307242951f7c2717a5704977c6d5323a800af/propcache-0.4.1-cp39-cp39-win_arm64.whl", hash = "sha256:5fd37c406dd6dc85aa743e214cef35dc54bbdd1419baac4f6ae5e5b1a2976938", size = 38450, upload-time = "2025-10-08T19:48:59.349Z" }, + { url = "https://files.pythonhosted.org/packages/5b/5a/bc7b4a4ef808fa59a816c17b20c4bef6884daebbdf627ff2a161da67da19/propcache-0.4.1-py3-none-any.whl", hash = "sha256:af2a6052aeb6cf17d3e46ee169099044fd8224cbaf75c76a2ef596e8163e2237", size = 13305, upload-time = "2025-10-08T19:49:00.792Z" }, ] [[package]] @@ -1824,126 +3621,290 @@ wheels = [ [[package]] name = "pydantic" -version = "2.11.7" +version = "2.10.6" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "annotated-types", marker = "python_full_version < '3.9'" }, + { name = "pydantic-core", version = "2.27.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b7/ae/d5220c5c52b158b1de7ca89fc5edb72f304a70a4c540c84c8844bf4008de/pydantic-2.10.6.tar.gz", hash = "sha256:ca5daa827cce33de7a42be142548b0096bf05a7e7b365aebfa5f8eeec7128236", size = 761681, upload-time = "2025-01-24T01:42:12.693Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/3c/8cc1cc84deffa6e25d2d0c688ebb80635dfdbf1dbea3e30c541c8cf4d860/pydantic-2.10.6-py3-none-any.whl", hash = "sha256:427d664bf0b8a2b34ff5dd0f5a18df00591adcee7198fbd71981054cef37b584", size = 431696, upload-time = "2025-01-24T01:42:10.371Z" }, +] + +[[package]] +name = "pydantic" +version = "2.12.5" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "annotated-types", marker = "python_full_version >= '3.9'" }, + { name = "pydantic-core", version = "2.41.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "typing-inspection", marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/69/44/36f1a6e523abc58ae5f928898e4aca2e0ea509b5aa6f6f392a5d882be928/pydantic-2.12.5.tar.gz", hash = "sha256:4d351024c75c0f085a9febbb665ce8c0c6ec5d30e903bdb6394b7ede26aebb49", size = 821591, upload-time = "2025-11-26T15:11:46.471Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5a/87/b70ad306ebb6f9b585f114d0ac2137d792b48be34d732d60e597c2f8465a/pydantic-2.12.5-py3-none-any.whl", hash = "sha256:e561593fccf61e8a20fc46dfc2dfe075b8be7d0188df33f221ad1f0139180f9d", size = 463580, upload-time = "2025-11-26T15:11:44.605Z" }, +] + +[[package]] +name = "pydantic-core" +version = "2.27.2" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] dependencies = [ - { name = "annotated-types" }, - { name = "pydantic-core" }, - { name = "typing-extensions" }, - { name = "typing-inspection" }, + { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/00/dd/4325abf92c39ba8623b5af936ddb36ffcfe0beae70405d456ab1fb2f5b8c/pydantic-2.11.7.tar.gz", hash = "sha256:d989c3c6cb79469287b1569f7447a17848c998458d49ebe294e975b9baf0f0db", size = 788350, upload-time = "2025-06-14T08:33:17.137Z" } +sdist = { url = "https://files.pythonhosted.org/packages/fc/01/f3e5ac5e7c25833db5eb555f7b7ab24cd6f8c322d3a3ad2d67a952dc0abc/pydantic_core-2.27.2.tar.gz", hash = "sha256:eb026e5a4c1fee05726072337ff51d1efb6f59090b7da90d30ea58625b1ffb39", size = 413443, upload-time = "2024-12-18T11:31:54.917Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6a/c0/ec2b1c8712ca690e5d61979dee872603e92b8a32f94cc1b72d53beab008a/pydantic-2.11.7-py3-none-any.whl", hash = "sha256:dde5df002701f6de26248661f6835bbe296a47bf73990135c7d07ce741b9623b", size = 444782, upload-time = "2025-06-14T08:33:14.905Z" }, + { url = "https://files.pythonhosted.org/packages/3a/bc/fed5f74b5d802cf9a03e83f60f18864e90e3aed7223adaca5ffb7a8d8d64/pydantic_core-2.27.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2d367ca20b2f14095a8f4fa1210f5a7b78b8a20009ecced6b12818f455b1e9fa", size = 1895938, upload-time = "2024-12-18T11:27:14.406Z" }, + { url = "https://files.pythonhosted.org/packages/71/2a/185aff24ce844e39abb8dd680f4e959f0006944f4a8a0ea372d9f9ae2e53/pydantic_core-2.27.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:491a2b73db93fab69731eaee494f320faa4e093dbed776be1a829c2eb222c34c", size = 1815684, upload-time = "2024-12-18T11:27:16.489Z" }, + { url = "https://files.pythonhosted.org/packages/c3/43/fafabd3d94d159d4f1ed62e383e264f146a17dd4d48453319fd782e7979e/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7969e133a6f183be60e9f6f56bfae753585680f3b7307a8e555a948d443cc05a", size = 1829169, upload-time = "2024-12-18T11:27:22.16Z" }, + { url = "https://files.pythonhosted.org/packages/a2/d1/f2dfe1a2a637ce6800b799aa086d079998959f6f1215eb4497966efd2274/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3de9961f2a346257caf0aa508a4da705467f53778e9ef6fe744c038119737ef5", size = 1867227, upload-time = "2024-12-18T11:27:25.097Z" }, + { url = "https://files.pythonhosted.org/packages/7d/39/e06fcbcc1c785daa3160ccf6c1c38fea31f5754b756e34b65f74e99780b5/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e2bb4d3e5873c37bb3dd58714d4cd0b0e6238cebc4177ac8fe878f8b3aa8e74c", size = 2037695, upload-time = "2024-12-18T11:27:28.656Z" }, + { url = "https://files.pythonhosted.org/packages/7a/67/61291ee98e07f0650eb756d44998214231f50751ba7e13f4f325d95249ab/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:280d219beebb0752699480fe8f1dc61ab6615c2046d76b7ab7ee38858de0a4e7", size = 2741662, upload-time = "2024-12-18T11:27:30.798Z" }, + { url = "https://files.pythonhosted.org/packages/32/90/3b15e31b88ca39e9e626630b4c4a1f5a0dfd09076366f4219429e6786076/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47956ae78b6422cbd46f772f1746799cbb862de838fd8d1fbd34a82e05b0983a", size = 1993370, upload-time = "2024-12-18T11:27:33.692Z" }, + { url = "https://files.pythonhosted.org/packages/ff/83/c06d333ee3a67e2e13e07794995c1535565132940715931c1c43bfc85b11/pydantic_core-2.27.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:14d4a5c49d2f009d62a2a7140d3064f686d17a5d1a268bc641954ba181880236", size = 1996813, upload-time = "2024-12-18T11:27:37.111Z" }, + { url = "https://files.pythonhosted.org/packages/7c/f7/89be1c8deb6e22618a74f0ca0d933fdcb8baa254753b26b25ad3acff8f74/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:337b443af21d488716f8d0b6164de833e788aa6bd7e3a39c005febc1284f4962", size = 2005287, upload-time = "2024-12-18T11:27:40.566Z" }, + { url = "https://files.pythonhosted.org/packages/b7/7d/8eb3e23206c00ef7feee17b83a4ffa0a623eb1a9d382e56e4aa46fd15ff2/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:03d0f86ea3184a12f41a2d23f7ccb79cdb5a18e06993f8a45baa8dfec746f0e9", size = 2128414, upload-time = "2024-12-18T11:27:43.757Z" }, + { url = "https://files.pythonhosted.org/packages/4e/99/fe80f3ff8dd71a3ea15763878d464476e6cb0a2db95ff1c5c554133b6b83/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7041c36f5680c6e0f08d922aed302e98b3745d97fe1589db0a3eebf6624523af", size = 2155301, upload-time = "2024-12-18T11:27:47.36Z" }, + { url = "https://files.pythonhosted.org/packages/2b/a3/e50460b9a5789ca1451b70d4f52546fa9e2b420ba3bfa6100105c0559238/pydantic_core-2.27.2-cp310-cp310-win32.whl", hash = "sha256:50a68f3e3819077be2c98110c1f9dcb3817e93f267ba80a2c05bb4f8799e2ff4", size = 1816685, upload-time = "2024-12-18T11:27:50.508Z" }, + { url = "https://files.pythonhosted.org/packages/57/4c/a8838731cb0f2c2a39d3535376466de6049034d7b239c0202a64aaa05533/pydantic_core-2.27.2-cp310-cp310-win_amd64.whl", hash = "sha256:e0fd26b16394ead34a424eecf8a31a1f5137094cabe84a1bcb10fa6ba39d3d31", size = 1982876, upload-time = "2024-12-18T11:27:53.54Z" }, + { url = "https://files.pythonhosted.org/packages/c2/89/f3450af9d09d44eea1f2c369f49e8f181d742f28220f88cc4dfaae91ea6e/pydantic_core-2.27.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:8e10c99ef58cfdf2a66fc15d66b16c4a04f62bca39db589ae8cba08bc55331bc", size = 1893421, upload-time = "2024-12-18T11:27:55.409Z" }, + { url = "https://files.pythonhosted.org/packages/9e/e3/71fe85af2021f3f386da42d291412e5baf6ce7716bd7101ea49c810eda90/pydantic_core-2.27.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:26f32e0adf166a84d0cb63be85c562ca8a6fa8de28e5f0d92250c6b7e9e2aff7", size = 1814998, upload-time = "2024-12-18T11:27:57.252Z" }, + { url = "https://files.pythonhosted.org/packages/a6/3c/724039e0d848fd69dbf5806894e26479577316c6f0f112bacaf67aa889ac/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c19d1ea0673cd13cc2f872f6c9ab42acc4e4f492a7ca9d3795ce2b112dd7e15", size = 1826167, upload-time = "2024-12-18T11:27:59.146Z" }, + { url = "https://files.pythonhosted.org/packages/2b/5b/1b29e8c1fb5f3199a9a57c1452004ff39f494bbe9bdbe9a81e18172e40d3/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e68c4446fe0810e959cdff46ab0a41ce2f2c86d227d96dc3847af0ba7def306", size = 1865071, upload-time = "2024-12-18T11:28:02.625Z" }, + { url = "https://files.pythonhosted.org/packages/89/6c/3985203863d76bb7d7266e36970d7e3b6385148c18a68cc8915fd8c84d57/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9640b0059ff4f14d1f37321b94061c6db164fbe49b334b31643e0528d100d99", size = 2036244, upload-time = "2024-12-18T11:28:04.442Z" }, + { url = "https://files.pythonhosted.org/packages/0e/41/f15316858a246b5d723f7d7f599f79e37493b2e84bfc789e58d88c209f8a/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:40d02e7d45c9f8af700f3452f329ead92da4c5f4317ca9b896de7ce7199ea459", size = 2737470, upload-time = "2024-12-18T11:28:07.679Z" }, + { url = "https://files.pythonhosted.org/packages/a8/7c/b860618c25678bbd6d1d99dbdfdf0510ccb50790099b963ff78a124b754f/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c1fd185014191700554795c99b347d64f2bb637966c4cfc16998a0ca700d048", size = 1992291, upload-time = "2024-12-18T11:28:10.297Z" }, + { url = "https://files.pythonhosted.org/packages/bf/73/42c3742a391eccbeab39f15213ecda3104ae8682ba3c0c28069fbcb8c10d/pydantic_core-2.27.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d81d2068e1c1228a565af076598f9e7451712700b673de8f502f0334f281387d", size = 1994613, upload-time = "2024-12-18T11:28:13.362Z" }, + { url = "https://files.pythonhosted.org/packages/94/7a/941e89096d1175d56f59340f3a8ebaf20762fef222c298ea96d36a6328c5/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1a4207639fb02ec2dbb76227d7c751a20b1a6b4bc52850568e52260cae64ca3b", size = 2002355, upload-time = "2024-12-18T11:28:16.587Z" }, + { url = "https://files.pythonhosted.org/packages/6e/95/2359937a73d49e336a5a19848713555605d4d8d6940c3ec6c6c0ca4dcf25/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:3de3ce3c9ddc8bbd88f6e0e304dea0e66d843ec9de1b0042b0911c1663ffd474", size = 2126661, upload-time = "2024-12-18T11:28:18.407Z" }, + { url = "https://files.pythonhosted.org/packages/2b/4c/ca02b7bdb6012a1adef21a50625b14f43ed4d11f1fc237f9d7490aa5078c/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:30c5f68ded0c36466acede341551106821043e9afaad516adfb6e8fa80a4e6a6", size = 2153261, upload-time = "2024-12-18T11:28:21.471Z" }, + { url = "https://files.pythonhosted.org/packages/72/9d/a241db83f973049a1092a079272ffe2e3e82e98561ef6214ab53fe53b1c7/pydantic_core-2.27.2-cp311-cp311-win32.whl", hash = "sha256:c70c26d2c99f78b125a3459f8afe1aed4d9687c24fd677c6a4436bc042e50d6c", size = 1812361, upload-time = "2024-12-18T11:28:23.53Z" }, + { url = "https://files.pythonhosted.org/packages/e8/ef/013f07248041b74abd48a385e2110aa3a9bbfef0fbd97d4e6d07d2f5b89a/pydantic_core-2.27.2-cp311-cp311-win_amd64.whl", hash = "sha256:08e125dbdc505fa69ca7d9c499639ab6407cfa909214d500897d02afb816e7cc", size = 1982484, upload-time = "2024-12-18T11:28:25.391Z" }, + { url = "https://files.pythonhosted.org/packages/10/1c/16b3a3e3398fd29dca77cea0a1d998d6bde3902fa2706985191e2313cc76/pydantic_core-2.27.2-cp311-cp311-win_arm64.whl", hash = "sha256:26f0d68d4b235a2bae0c3fc585c585b4ecc51382db0e3ba402a22cbc440915e4", size = 1867102, upload-time = "2024-12-18T11:28:28.593Z" }, + { url = "https://files.pythonhosted.org/packages/d6/74/51c8a5482ca447871c93e142d9d4a92ead74de6c8dc5e66733e22c9bba89/pydantic_core-2.27.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9e0c8cfefa0ef83b4da9588448b6d8d2a2bf1a53c3f1ae5fca39eb3061e2f0b0", size = 1893127, upload-time = "2024-12-18T11:28:30.346Z" }, + { url = "https://files.pythonhosted.org/packages/d3/f3/c97e80721735868313c58b89d2de85fa80fe8dfeeed84dc51598b92a135e/pydantic_core-2.27.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:83097677b8e3bd7eaa6775720ec8e0405f1575015a463285a92bfdfe254529ef", size = 1811340, upload-time = "2024-12-18T11:28:32.521Z" }, + { url = "https://files.pythonhosted.org/packages/9e/91/840ec1375e686dbae1bd80a9e46c26a1e0083e1186abc610efa3d9a36180/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:172fce187655fece0c90d90a678424b013f8fbb0ca8b036ac266749c09438cb7", size = 1822900, upload-time = "2024-12-18T11:28:34.507Z" }, + { url = "https://files.pythonhosted.org/packages/f6/31/4240bc96025035500c18adc149aa6ffdf1a0062a4b525c932065ceb4d868/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:519f29f5213271eeeeb3093f662ba2fd512b91c5f188f3bb7b27bc5973816934", size = 1869177, upload-time = "2024-12-18T11:28:36.488Z" }, + { url = "https://files.pythonhosted.org/packages/fa/20/02fbaadb7808be578317015c462655c317a77a7c8f0ef274bc016a784c54/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05e3a55d124407fffba0dd6b0c0cd056d10e983ceb4e5dbd10dda135c31071d6", size = 2038046, upload-time = "2024-12-18T11:28:39.409Z" }, + { url = "https://files.pythonhosted.org/packages/06/86/7f306b904e6c9eccf0668248b3f272090e49c275bc488a7b88b0823444a4/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c3ed807c7b91de05e63930188f19e921d1fe90de6b4f5cd43ee7fcc3525cb8c", size = 2685386, upload-time = "2024-12-18T11:28:41.221Z" }, + { url = "https://files.pythonhosted.org/packages/8d/f0/49129b27c43396581a635d8710dae54a791b17dfc50c70164866bbf865e3/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fb4aadc0b9a0c063206846d603b92030eb6f03069151a625667f982887153e2", size = 1997060, upload-time = "2024-12-18T11:28:44.709Z" }, + { url = "https://files.pythonhosted.org/packages/0d/0f/943b4af7cd416c477fd40b187036c4f89b416a33d3cc0ab7b82708a667aa/pydantic_core-2.27.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28ccb213807e037460326424ceb8b5245acb88f32f3d2777427476e1b32c48c4", size = 2004870, upload-time = "2024-12-18T11:28:46.839Z" }, + { url = "https://files.pythonhosted.org/packages/35/40/aea70b5b1a63911c53a4c8117c0a828d6790483f858041f47bab0b779f44/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:de3cd1899e2c279b140adde9357c4495ed9d47131b4a4eaff9052f23398076b3", size = 1999822, upload-time = "2024-12-18T11:28:48.896Z" }, + { url = "https://files.pythonhosted.org/packages/f2/b3/807b94fd337d58effc5498fd1a7a4d9d59af4133e83e32ae39a96fddec9d/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:220f892729375e2d736b97d0e51466252ad84c51857d4d15f5e9692f9ef12be4", size = 2130364, upload-time = "2024-12-18T11:28:50.755Z" }, + { url = "https://files.pythonhosted.org/packages/fc/df/791c827cd4ee6efd59248dca9369fb35e80a9484462c33c6649a8d02b565/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a0fcd29cd6b4e74fe8ddd2c90330fd8edf2e30cb52acda47f06dd615ae72da57", size = 2158303, upload-time = "2024-12-18T11:28:54.122Z" }, + { url = "https://files.pythonhosted.org/packages/9b/67/4e197c300976af185b7cef4c02203e175fb127e414125916bf1128b639a9/pydantic_core-2.27.2-cp312-cp312-win32.whl", hash = "sha256:1e2cb691ed9834cd6a8be61228471d0a503731abfb42f82458ff27be7b2186fc", size = 1834064, upload-time = "2024-12-18T11:28:56.074Z" }, + { url = "https://files.pythonhosted.org/packages/1f/ea/cd7209a889163b8dcca139fe32b9687dd05249161a3edda62860430457a5/pydantic_core-2.27.2-cp312-cp312-win_amd64.whl", hash = "sha256:cc3f1a99a4f4f9dd1de4fe0312c114e740b5ddead65bb4102884b384c15d8bc9", size = 1989046, upload-time = "2024-12-18T11:28:58.107Z" }, + { url = "https://files.pythonhosted.org/packages/bc/49/c54baab2f4658c26ac633d798dab66b4c3a9bbf47cff5284e9c182f4137a/pydantic_core-2.27.2-cp312-cp312-win_arm64.whl", hash = "sha256:3911ac9284cd8a1792d3cb26a2da18f3ca26c6908cc434a18f730dc0db7bfa3b", size = 1885092, upload-time = "2024-12-18T11:29:01.335Z" }, + { url = "https://files.pythonhosted.org/packages/41/b1/9bc383f48f8002f99104e3acff6cba1231b29ef76cfa45d1506a5cad1f84/pydantic_core-2.27.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7d14bd329640e63852364c306f4d23eb744e0f8193148d4044dd3dacdaacbd8b", size = 1892709, upload-time = "2024-12-18T11:29:03.193Z" }, + { url = "https://files.pythonhosted.org/packages/10/6c/e62b8657b834f3eb2961b49ec8e301eb99946245e70bf42c8817350cbefc/pydantic_core-2.27.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82f91663004eb8ed30ff478d77c4d1179b3563df6cdb15c0817cd1cdaf34d154", size = 1811273, upload-time = "2024-12-18T11:29:05.306Z" }, + { url = "https://files.pythonhosted.org/packages/ba/15/52cfe49c8c986e081b863b102d6b859d9defc63446b642ccbbb3742bf371/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71b24c7d61131bb83df10cc7e687433609963a944ccf45190cfc21e0887b08c9", size = 1823027, upload-time = "2024-12-18T11:29:07.294Z" }, + { url = "https://files.pythonhosted.org/packages/b1/1c/b6f402cfc18ec0024120602bdbcebc7bdd5b856528c013bd4d13865ca473/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fa8e459d4954f608fa26116118bb67f56b93b209c39b008277ace29937453dc9", size = 1868888, upload-time = "2024-12-18T11:29:09.249Z" }, + { url = "https://files.pythonhosted.org/packages/bd/7b/8cb75b66ac37bc2975a3b7de99f3c6f355fcc4d89820b61dffa8f1e81677/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce8918cbebc8da707ba805b7fd0b382816858728ae7fe19a942080c24e5b7cd1", size = 2037738, upload-time = "2024-12-18T11:29:11.23Z" }, + { url = "https://files.pythonhosted.org/packages/c8/f1/786d8fe78970a06f61df22cba58e365ce304bf9b9f46cc71c8c424e0c334/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eda3f5c2a021bbc5d976107bb302e0131351c2ba54343f8a496dc8783d3d3a6a", size = 2685138, upload-time = "2024-12-18T11:29:16.396Z" }, + { url = "https://files.pythonhosted.org/packages/a6/74/d12b2cd841d8724dc8ffb13fc5cef86566a53ed358103150209ecd5d1999/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd8086fa684c4775c27f03f062cbb9eaa6e17f064307e86b21b9e0abc9c0f02e", size = 1997025, upload-time = "2024-12-18T11:29:20.25Z" }, + { url = "https://files.pythonhosted.org/packages/a0/6e/940bcd631bc4d9a06c9539b51f070b66e8f370ed0933f392db6ff350d873/pydantic_core-2.27.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8d9b3388db186ba0c099a6d20f0604a44eabdeef1777ddd94786cdae158729e4", size = 2004633, upload-time = "2024-12-18T11:29:23.877Z" }, + { url = "https://files.pythonhosted.org/packages/50/cc/a46b34f1708d82498c227d5d80ce615b2dd502ddcfd8376fc14a36655af1/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7a66efda2387de898c8f38c0cf7f14fca0b51a8ef0b24bfea5849f1b3c95af27", size = 1999404, upload-time = "2024-12-18T11:29:25.872Z" }, + { url = "https://files.pythonhosted.org/packages/ca/2d/c365cfa930ed23bc58c41463bae347d1005537dc8db79e998af8ba28d35e/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:18a101c168e4e092ab40dbc2503bdc0f62010e95d292b27827871dc85450d7ee", size = 2130130, upload-time = "2024-12-18T11:29:29.252Z" }, + { url = "https://files.pythonhosted.org/packages/f4/d7/eb64d015c350b7cdb371145b54d96c919d4db516817f31cd1c650cae3b21/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ba5dd002f88b78a4215ed2f8ddbdf85e8513382820ba15ad5ad8955ce0ca19a1", size = 2157946, upload-time = "2024-12-18T11:29:31.338Z" }, + { url = "https://files.pythonhosted.org/packages/a4/99/bddde3ddde76c03b65dfd5a66ab436c4e58ffc42927d4ff1198ffbf96f5f/pydantic_core-2.27.2-cp313-cp313-win32.whl", hash = "sha256:1ebaf1d0481914d004a573394f4be3a7616334be70261007e47c2a6fe7e50130", size = 1834387, upload-time = "2024-12-18T11:29:33.481Z" }, + { url = "https://files.pythonhosted.org/packages/71/47/82b5e846e01b26ac6f1893d3c5f9f3a2eb6ba79be26eef0b759b4fe72946/pydantic_core-2.27.2-cp313-cp313-win_amd64.whl", hash = "sha256:953101387ecf2f5652883208769a79e48db18c6df442568a0b5ccd8c2723abee", size = 1990453, upload-time = "2024-12-18T11:29:35.533Z" }, + { url = "https://files.pythonhosted.org/packages/51/b2/b2b50d5ecf21acf870190ae5d093602d95f66c9c31f9d5de6062eb329ad1/pydantic_core-2.27.2-cp313-cp313-win_arm64.whl", hash = "sha256:ac4dbfd1691affb8f48c2c13241a2e3b60ff23247cbcf981759c768b6633cf8b", size = 1885186, upload-time = "2024-12-18T11:29:37.649Z" }, + { url = "https://files.pythonhosted.org/packages/43/53/13e9917fc69c0a4aea06fd63ed6a8d6cda9cf140ca9584d49c1650b0ef5e/pydantic_core-2.27.2-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d3e8d504bdd3f10835468f29008d72fc8359d95c9c415ce6e767203db6127506", size = 1899595, upload-time = "2024-12-18T11:29:40.887Z" }, + { url = "https://files.pythonhosted.org/packages/f4/20/26c549249769ed84877f862f7bb93f89a6ee08b4bee1ed8781616b7fbb5e/pydantic_core-2.27.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:521eb9b7f036c9b6187f0b47318ab0d7ca14bd87f776240b90b21c1f4f149320", size = 1775010, upload-time = "2024-12-18T11:29:44.823Z" }, + { url = "https://files.pythonhosted.org/packages/35/eb/8234e05452d92d2b102ffa1b56d801c3567e628fdc63f02080fdfc68fd5e/pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85210c4d99a0114f5a9481b44560d7d1e35e32cc5634c656bc48e590b669b145", size = 1830727, upload-time = "2024-12-18T11:29:46.904Z" }, + { url = "https://files.pythonhosted.org/packages/8f/df/59f915c8b929d5f61e5a46accf748a87110ba145156f9326d1a7d28912b2/pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d716e2e30c6f140d7560ef1538953a5cd1a87264c737643d481f2779fc247fe1", size = 1868393, upload-time = "2024-12-18T11:29:49.098Z" }, + { url = "https://files.pythonhosted.org/packages/d5/52/81cf4071dca654d485c277c581db368b0c95b2b883f4d7b736ab54f72ddf/pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f66d89ba397d92f840f8654756196d93804278457b5fbede59598a1f9f90b228", size = 2040300, upload-time = "2024-12-18T11:29:51.43Z" }, + { url = "https://files.pythonhosted.org/packages/9c/00/05197ce1614f5c08d7a06e1d39d5d8e704dc81971b2719af134b844e2eaf/pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:669e193c1c576a58f132e3158f9dfa9662969edb1a250c54d8fa52590045f046", size = 2738785, upload-time = "2024-12-18T11:29:55.001Z" }, + { url = "https://files.pythonhosted.org/packages/f7/a3/5f19bc495793546825ab160e530330c2afcee2281c02b5ffafd0b32ac05e/pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdbe7629b996647b99c01b37f11170a57ae675375b14b8c13b8518b8320ced5", size = 1996493, upload-time = "2024-12-18T11:29:57.13Z" }, + { url = "https://files.pythonhosted.org/packages/ed/e8/e0102c2ec153dc3eed88aea03990e1b06cfbca532916b8a48173245afe60/pydantic_core-2.27.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d262606bf386a5ba0b0af3b97f37c83d7011439e3dc1a9298f21efb292e42f1a", size = 1998544, upload-time = "2024-12-18T11:30:00.681Z" }, + { url = "https://files.pythonhosted.org/packages/fb/a3/4be70845b555bd80aaee9f9812a7cf3df81550bce6dadb3cfee9c5d8421d/pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:cabb9bcb7e0d97f74df8646f34fc76fbf793b7f6dc2438517d7a9e50eee4f14d", size = 2007449, upload-time = "2024-12-18T11:30:02.985Z" }, + { url = "https://files.pythonhosted.org/packages/e3/9f/b779ed2480ba355c054e6d7ea77792467631d674b13d8257085a4bc7dcda/pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_armv7l.whl", hash = "sha256:d2d63f1215638d28221f664596b1ccb3944f6e25dd18cd3b86b0a4c408d5ebb9", size = 2129460, upload-time = "2024-12-18T11:30:06.55Z" }, + { url = "https://files.pythonhosted.org/packages/a0/f0/a6ab0681f6e95260c7fbf552874af7302f2ea37b459f9b7f00698f875492/pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bca101c00bff0adb45a833f8451b9105d9df18accb8743b08107d7ada14bd7da", size = 2159609, upload-time = "2024-12-18T11:30:09.428Z" }, + { url = "https://files.pythonhosted.org/packages/8a/2b/e1059506795104349712fbca647b18b3f4a7fd541c099e6259717441e1e0/pydantic_core-2.27.2-cp38-cp38-win32.whl", hash = "sha256:f6f8e111843bbb0dee4cb6594cdc73e79b3329b526037ec242a3e49012495b3b", size = 1819886, upload-time = "2024-12-18T11:30:11.777Z" }, + { url = "https://files.pythonhosted.org/packages/aa/6d/df49c17f024dfc58db0bacc7b03610058018dd2ea2eaf748ccbada4c3d06/pydantic_core-2.27.2-cp38-cp38-win_amd64.whl", hash = "sha256:fd1aea04935a508f62e0d0ef1f5ae968774a32afc306fb8545e06f5ff5cdf3ad", size = 1980773, upload-time = "2024-12-18T11:30:14.828Z" }, + { url = "https://files.pythonhosted.org/packages/27/97/3aef1ddb65c5ccd6eda9050036c956ff6ecbfe66cb7eb40f280f121a5bb0/pydantic_core-2.27.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c10eb4f1659290b523af58fa7cffb452a61ad6ae5613404519aee4bfbf1df993", size = 1896475, upload-time = "2024-12-18T11:30:18.316Z" }, + { url = "https://files.pythonhosted.org/packages/ad/d3/5668da70e373c9904ed2f372cb52c0b996426f302e0dee2e65634c92007d/pydantic_core-2.27.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ef592d4bad47296fb11f96cd7dc898b92e795032b4894dfb4076cfccd43a9308", size = 1772279, upload-time = "2024-12-18T11:30:20.547Z" }, + { url = "https://files.pythonhosted.org/packages/8a/9e/e44b8cb0edf04a2f0a1f6425a65ee089c1d6f9c4c2dcab0209127b6fdfc2/pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c61709a844acc6bf0b7dce7daae75195a10aac96a596ea1b776996414791ede4", size = 1829112, upload-time = "2024-12-18T11:30:23.255Z" }, + { url = "https://files.pythonhosted.org/packages/1c/90/1160d7ac700102effe11616e8119e268770f2a2aa5afb935f3ee6832987d/pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42c5f762659e47fdb7b16956c71598292f60a03aa92f8b6351504359dbdba6cf", size = 1866780, upload-time = "2024-12-18T11:30:25.742Z" }, + { url = "https://files.pythonhosted.org/packages/ee/33/13983426df09a36d22c15980008f8d9c77674fc319351813b5a2739b70f3/pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c9775e339e42e79ec99c441d9730fccf07414af63eac2f0e48e08fd38a64d76", size = 2037943, upload-time = "2024-12-18T11:30:28.036Z" }, + { url = "https://files.pythonhosted.org/packages/01/d7/ced164e376f6747e9158c89988c293cd524ab8d215ae4e185e9929655d5c/pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:57762139821c31847cfb2df63c12f725788bd9f04bc2fb392790959b8f70f118", size = 2740492, upload-time = "2024-12-18T11:30:30.412Z" }, + { url = "https://files.pythonhosted.org/packages/8b/1f/3dc6e769d5b7461040778816aab2b00422427bcaa4b56cc89e9c653b2605/pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d1e85068e818c73e048fe28cfc769040bb1f475524f4745a5dc621f75ac7630", size = 1995714, upload-time = "2024-12-18T11:30:34.358Z" }, + { url = "https://files.pythonhosted.org/packages/07/d7/a0bd09bc39283530b3f7c27033a814ef254ba3bd0b5cfd040b7abf1fe5da/pydantic_core-2.27.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:097830ed52fd9e427942ff3b9bc17fab52913b2f50f2880dc4a5611446606a54", size = 1997163, upload-time = "2024-12-18T11:30:37.979Z" }, + { url = "https://files.pythonhosted.org/packages/2d/bb/2db4ad1762e1c5699d9b857eeb41959191980de6feb054e70f93085e1bcd/pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:044a50963a614ecfae59bb1eaf7ea7efc4bc62f49ed594e18fa1e5d953c40e9f", size = 2005217, upload-time = "2024-12-18T11:30:40.367Z" }, + { url = "https://files.pythonhosted.org/packages/53/5f/23a5a3e7b8403f8dd8fc8a6f8b49f6b55c7d715b77dcf1f8ae919eeb5628/pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:4e0b4220ba5b40d727c7f879eac379b822eee5d8fff418e9d3381ee45b3b0362", size = 2127899, upload-time = "2024-12-18T11:30:42.737Z" }, + { url = "https://files.pythonhosted.org/packages/c2/ae/aa38bb8dd3d89c2f1d8362dd890ee8f3b967330821d03bbe08fa01ce3766/pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5e4f4bb20d75e9325cc9696c6802657b58bc1dbbe3022f32cc2b2b632c3fbb96", size = 2155726, upload-time = "2024-12-18T11:30:45.279Z" }, + { url = "https://files.pythonhosted.org/packages/98/61/4f784608cc9e98f70839187117ce840480f768fed5d386f924074bf6213c/pydantic_core-2.27.2-cp39-cp39-win32.whl", hash = "sha256:cca63613e90d001b9f2f9a9ceb276c308bfa2a43fafb75c8031c4f66039e8c6e", size = 1817219, upload-time = "2024-12-18T11:30:47.718Z" }, + { url = "https://files.pythonhosted.org/packages/57/82/bb16a68e4a1a858bb3768c2c8f1ff8d8978014e16598f001ea29a25bf1d1/pydantic_core-2.27.2-cp39-cp39-win_amd64.whl", hash = "sha256:77d1bca19b0f7021b3a982e6f903dcd5b2b06076def36a652e3907f596e29f67", size = 1985382, upload-time = "2024-12-18T11:30:51.871Z" }, + { url = "https://files.pythonhosted.org/packages/46/72/af70981a341500419e67d5cb45abe552a7c74b66326ac8877588488da1ac/pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2bf14caea37e91198329b828eae1618c068dfb8ef17bb33287a7ad4b61ac314e", size = 1891159, upload-time = "2024-12-18T11:30:54.382Z" }, + { url = "https://files.pythonhosted.org/packages/ad/3d/c5913cccdef93e0a6a95c2d057d2c2cba347815c845cda79ddd3c0f5e17d/pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:b0cb791f5b45307caae8810c2023a184c74605ec3bcbb67d13846c28ff731ff8", size = 1768331, upload-time = "2024-12-18T11:30:58.178Z" }, + { url = "https://files.pythonhosted.org/packages/f6/f0/a3ae8fbee269e4934f14e2e0e00928f9346c5943174f2811193113e58252/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:688d3fd9fcb71f41c4c015c023d12a79d1c4c0732ec9eb35d96e3388a120dcf3", size = 1822467, upload-time = "2024-12-18T11:31:00.6Z" }, + { url = "https://files.pythonhosted.org/packages/d7/7a/7bbf241a04e9f9ea24cd5874354a83526d639b02674648af3f350554276c/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d591580c34f4d731592f0e9fe40f9cc1b430d297eecc70b962e93c5c668f15f", size = 1979797, upload-time = "2024-12-18T11:31:07.243Z" }, + { url = "https://files.pythonhosted.org/packages/4f/5f/4784c6107731f89e0005a92ecb8a2efeafdb55eb992b8e9d0a2be5199335/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:82f986faf4e644ffc189a7f1aafc86e46ef70372bb153e7001e8afccc6e54133", size = 1987839, upload-time = "2024-12-18T11:31:09.775Z" }, + { url = "https://files.pythonhosted.org/packages/6d/a7/61246562b651dff00de86a5f01b6e4befb518df314c54dec187a78d81c84/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:bec317a27290e2537f922639cafd54990551725fc844249e64c523301d0822fc", size = 1998861, upload-time = "2024-12-18T11:31:13.469Z" }, + { url = "https://files.pythonhosted.org/packages/86/aa/837821ecf0c022bbb74ca132e117c358321e72e7f9702d1b6a03758545e2/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:0296abcb83a797db256b773f45773da397da75a08f5fcaef41f2044adec05f50", size = 2116582, upload-time = "2024-12-18T11:31:17.423Z" }, + { url = "https://files.pythonhosted.org/packages/81/b0/5e74656e95623cbaa0a6278d16cf15e10a51f6002e3ec126541e95c29ea3/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:0d75070718e369e452075a6017fbf187f788e17ed67a3abd47fa934d001863d9", size = 2151985, upload-time = "2024-12-18T11:31:19.901Z" }, + { url = "https://files.pythonhosted.org/packages/63/37/3e32eeb2a451fddaa3898e2163746b0cffbbdbb4740d38372db0490d67f3/pydantic_core-2.27.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7e17b560be3c98a8e3aa66ce828bdebb9e9ac6ad5466fba92eb74c4c95cb1151", size = 2004715, upload-time = "2024-12-18T11:31:22.821Z" }, + { url = "https://files.pythonhosted.org/packages/29/0e/dcaea00c9dbd0348b723cae82b0e0c122e0fa2b43fa933e1622fd237a3ee/pydantic_core-2.27.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c33939a82924da9ed65dab5a65d427205a73181d8098e79b6b426bdf8ad4e656", size = 1891733, upload-time = "2024-12-18T11:31:26.876Z" }, + { url = "https://files.pythonhosted.org/packages/86/d3/e797bba8860ce650272bda6383a9d8cad1d1c9a75a640c9d0e848076f85e/pydantic_core-2.27.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:00bad2484fa6bda1e216e7345a798bd37c68fb2d97558edd584942aa41b7d278", size = 1768375, upload-time = "2024-12-18T11:31:29.276Z" }, + { url = "https://files.pythonhosted.org/packages/41/f7/f847b15fb14978ca2b30262548f5fc4872b2724e90f116393eb69008299d/pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c817e2b40aba42bac6f457498dacabc568c3b7a986fc9ba7c8d9d260b71485fb", size = 1822307, upload-time = "2024-12-18T11:31:33.123Z" }, + { url = "https://files.pythonhosted.org/packages/9c/63/ed80ec8255b587b2f108e514dc03eed1546cd00f0af281e699797f373f38/pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:251136cdad0cb722e93732cb45ca5299fb56e1344a833640bf93b2803f8d1bfd", size = 1979971, upload-time = "2024-12-18T11:31:35.755Z" }, + { url = "https://files.pythonhosted.org/packages/a9/6d/6d18308a45454a0de0e975d70171cadaf454bc7a0bf86b9c7688e313f0bb/pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d2088237af596f0a524d3afc39ab3b036e8adb054ee57cbb1dcf8e09da5b29cc", size = 1987616, upload-time = "2024-12-18T11:31:38.534Z" }, + { url = "https://files.pythonhosted.org/packages/82/8a/05f8780f2c1081b800a7ca54c1971e291c2d07d1a50fb23c7e4aef4ed403/pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d4041c0b966a84b4ae7a09832eb691a35aec90910cd2dbe7a208de59be77965b", size = 1998943, upload-time = "2024-12-18T11:31:41.853Z" }, + { url = "https://files.pythonhosted.org/packages/5e/3e/fe5b6613d9e4c0038434396b46c5303f5ade871166900b357ada4766c5b7/pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:8083d4e875ebe0b864ffef72a4304827015cff328a1be6e22cc850753bfb122b", size = 2116654, upload-time = "2024-12-18T11:31:44.756Z" }, + { url = "https://files.pythonhosted.org/packages/db/ad/28869f58938fad8cc84739c4e592989730bfb69b7c90a8fff138dff18e1e/pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f141ee28a0ad2123b6611b6ceff018039df17f32ada8b534e6aa039545a3efb2", size = 2152292, upload-time = "2024-12-18T11:31:48.613Z" }, + { url = "https://files.pythonhosted.org/packages/a1/0c/c5c5cd3689c32ed1fe8c5d234b079c12c281c051759770c05b8bed6412b5/pydantic_core-2.27.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7d0c8399fcc1848491f00e0314bd59fb34a9c008761bcb422a057670c3f65e35", size = 2004961, upload-time = "2024-12-18T11:31:52.446Z" }, ] [[package]] name = "pydantic-core" -version = "2.33.2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "typing-extensions" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz", hash = "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", size = 435195, upload-time = "2025-04-23T18:33:52.104Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e5/92/b31726561b5dae176c2d2c2dc43a9c5bfba5d32f96f8b4c0a600dd492447/pydantic_core-2.33.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2b3d326aaef0c0399d9afffeb6367d5e26ddc24d351dbc9c636840ac355dc5d8", size = 2028817, upload-time = "2025-04-23T18:30:43.919Z" }, - { url = "https://files.pythonhosted.org/packages/a3/44/3f0b95fafdaca04a483c4e685fe437c6891001bf3ce8b2fded82b9ea3aa1/pydantic_core-2.33.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e5b2671f05ba48b94cb90ce55d8bdcaaedb8ba00cc5359f6810fc918713983d", size = 1861357, upload-time = "2025-04-23T18:30:46.372Z" }, - { url = "https://files.pythonhosted.org/packages/30/97/e8f13b55766234caae05372826e8e4b3b96e7b248be3157f53237682e43c/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0069c9acc3f3981b9ff4cdfaf088e98d83440a4c7ea1bc07460af3d4dc22e72d", size = 1898011, upload-time = "2025-04-23T18:30:47.591Z" }, - { url = "https://files.pythonhosted.org/packages/9b/a3/99c48cf7bafc991cc3ee66fd544c0aae8dc907b752f1dad2d79b1b5a471f/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d53b22f2032c42eaaf025f7c40c2e3b94568ae077a606f006d206a463bc69572", size = 1982730, upload-time = "2025-04-23T18:30:49.328Z" }, - { url = "https://files.pythonhosted.org/packages/de/8e/a5b882ec4307010a840fb8b58bd9bf65d1840c92eae7534c7441709bf54b/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0405262705a123b7ce9f0b92f123334d67b70fd1f20a9372b907ce1080c7ba02", size = 2136178, upload-time = "2025-04-23T18:30:50.907Z" }, - { url = "https://files.pythonhosted.org/packages/e4/bb/71e35fc3ed05af6834e890edb75968e2802fe98778971ab5cba20a162315/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4b25d91e288e2c4e0662b8038a28c6a07eaac3e196cfc4ff69de4ea3db992a1b", size = 2736462, upload-time = "2025-04-23T18:30:52.083Z" }, - { url = "https://files.pythonhosted.org/packages/31/0d/c8f7593e6bc7066289bbc366f2235701dcbebcd1ff0ef8e64f6f239fb47d/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bdfe4b3789761f3bcb4b1ddf33355a71079858958e3a552f16d5af19768fef2", size = 2005652, upload-time = "2025-04-23T18:30:53.389Z" }, - { url = "https://files.pythonhosted.org/packages/d2/7a/996d8bd75f3eda405e3dd219ff5ff0a283cd8e34add39d8ef9157e722867/pydantic_core-2.33.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:efec8db3266b76ef9607c2c4c419bdb06bf335ae433b80816089ea7585816f6a", size = 2113306, upload-time = "2025-04-23T18:30:54.661Z" }, - { url = "https://files.pythonhosted.org/packages/ff/84/daf2a6fb2db40ffda6578a7e8c5a6e9c8affb251a05c233ae37098118788/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:031c57d67ca86902726e0fae2214ce6770bbe2f710dc33063187a68744a5ecac", size = 2073720, upload-time = "2025-04-23T18:30:56.11Z" }, - { url = "https://files.pythonhosted.org/packages/77/fb/2258da019f4825128445ae79456a5499c032b55849dbd5bed78c95ccf163/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:f8de619080e944347f5f20de29a975c2d815d9ddd8be9b9b7268e2e3ef68605a", size = 2244915, upload-time = "2025-04-23T18:30:57.501Z" }, - { url = "https://files.pythonhosted.org/packages/d8/7a/925ff73756031289468326e355b6fa8316960d0d65f8b5d6b3a3e7866de7/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:73662edf539e72a9440129f231ed3757faab89630d291b784ca99237fb94db2b", size = 2241884, upload-time = "2025-04-23T18:30:58.867Z" }, - { url = "https://files.pythonhosted.org/packages/0b/b0/249ee6d2646f1cdadcb813805fe76265745c4010cf20a8eba7b0e639d9b2/pydantic_core-2.33.2-cp310-cp310-win32.whl", hash = "sha256:0a39979dcbb70998b0e505fb1556a1d550a0781463ce84ebf915ba293ccb7e22", size = 1910496, upload-time = "2025-04-23T18:31:00.078Z" }, - { url = "https://files.pythonhosted.org/packages/66/ff/172ba8f12a42d4b552917aa65d1f2328990d3ccfc01d5b7c943ec084299f/pydantic_core-2.33.2-cp310-cp310-win_amd64.whl", hash = "sha256:b0379a2b24882fef529ec3b4987cb5d003b9cda32256024e6fe1586ac45fc640", size = 1955019, upload-time = "2025-04-23T18:31:01.335Z" }, - { url = "https://files.pythonhosted.org/packages/3f/8d/71db63483d518cbbf290261a1fc2839d17ff89fce7089e08cad07ccfce67/pydantic_core-2.33.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4c5b0a576fb381edd6d27f0a85915c6daf2f8138dc5c267a57c08a62900758c7", size = 2028584, upload-time = "2025-04-23T18:31:03.106Z" }, - { url = "https://files.pythonhosted.org/packages/24/2f/3cfa7244ae292dd850989f328722d2aef313f74ffc471184dc509e1e4e5a/pydantic_core-2.33.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e799c050df38a639db758c617ec771fd8fb7a5f8eaaa4b27b101f266b216a246", size = 1855071, upload-time = "2025-04-23T18:31:04.621Z" }, - { url = "https://files.pythonhosted.org/packages/b3/d3/4ae42d33f5e3f50dd467761304be2fa0a9417fbf09735bc2cce003480f2a/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dc46a01bf8d62f227d5ecee74178ffc448ff4e5197c756331f71efcc66dc980f", size = 1897823, upload-time = "2025-04-23T18:31:06.377Z" }, - { url = "https://files.pythonhosted.org/packages/f4/f3/aa5976e8352b7695ff808599794b1fba2a9ae2ee954a3426855935799488/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a144d4f717285c6d9234a66778059f33a89096dfb9b39117663fd8413d582dcc", size = 1983792, upload-time = "2025-04-23T18:31:07.93Z" }, - { url = "https://files.pythonhosted.org/packages/d5/7a/cda9b5a23c552037717f2b2a5257e9b2bfe45e687386df9591eff7b46d28/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:73cf6373c21bc80b2e0dc88444f41ae60b2f070ed02095754eb5a01df12256de", size = 2136338, upload-time = "2025-04-23T18:31:09.283Z" }, - { url = "https://files.pythonhosted.org/packages/2b/9f/b8f9ec8dd1417eb9da784e91e1667d58a2a4a7b7b34cf4af765ef663a7e5/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3dc625f4aa79713512d1976fe9f0bc99f706a9dee21dfd1810b4bbbf228d0e8a", size = 2730998, upload-time = "2025-04-23T18:31:11.7Z" }, - { url = "https://files.pythonhosted.org/packages/47/bc/cd720e078576bdb8255d5032c5d63ee5c0bf4b7173dd955185a1d658c456/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b21b5549499972441da4758d662aeea93f1923f953e9cbaff14b8b9565aef", size = 2003200, upload-time = "2025-04-23T18:31:13.536Z" }, - { url = "https://files.pythonhosted.org/packages/ca/22/3602b895ee2cd29d11a2b349372446ae9727c32e78a94b3d588a40fdf187/pydantic_core-2.33.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bdc25f3681f7b78572699569514036afe3c243bc3059d3942624e936ec93450e", size = 2113890, upload-time = "2025-04-23T18:31:15.011Z" }, - { url = "https://files.pythonhosted.org/packages/ff/e6/e3c5908c03cf00d629eb38393a98fccc38ee0ce8ecce32f69fc7d7b558a7/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:fe5b32187cbc0c862ee201ad66c30cf218e5ed468ec8dc1cf49dec66e160cc4d", size = 2073359, upload-time = "2025-04-23T18:31:16.393Z" }, - { url = "https://files.pythonhosted.org/packages/12/e7/6a36a07c59ebefc8777d1ffdaf5ae71b06b21952582e4b07eba88a421c79/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:bc7aee6f634a6f4a95676fcb5d6559a2c2a390330098dba5e5a5f28a2e4ada30", size = 2245883, upload-time = "2025-04-23T18:31:17.892Z" }, - { url = "https://files.pythonhosted.org/packages/16/3f/59b3187aaa6cc0c1e6616e8045b284de2b6a87b027cce2ffcea073adf1d2/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:235f45e5dbcccf6bd99f9f472858849f73d11120d76ea8707115415f8e5ebebf", size = 2241074, upload-time = "2025-04-23T18:31:19.205Z" }, - { url = "https://files.pythonhosted.org/packages/e0/ed/55532bb88f674d5d8f67ab121a2a13c385df382de2a1677f30ad385f7438/pydantic_core-2.33.2-cp311-cp311-win32.whl", hash = "sha256:6368900c2d3ef09b69cb0b913f9f8263b03786e5b2a387706c5afb66800efd51", size = 1910538, upload-time = "2025-04-23T18:31:20.541Z" }, - { url = "https://files.pythonhosted.org/packages/fe/1b/25b7cccd4519c0b23c2dd636ad39d381abf113085ce4f7bec2b0dc755eb1/pydantic_core-2.33.2-cp311-cp311-win_amd64.whl", hash = "sha256:1e063337ef9e9820c77acc768546325ebe04ee38b08703244c1309cccc4f1bab", size = 1952909, upload-time = "2025-04-23T18:31:22.371Z" }, - { url = "https://files.pythonhosted.org/packages/49/a9/d809358e49126438055884c4366a1f6227f0f84f635a9014e2deb9b9de54/pydantic_core-2.33.2-cp311-cp311-win_arm64.whl", hash = "sha256:6b99022f1d19bc32a4c2a0d544fc9a76e3be90f0b3f4af413f87d38749300e65", size = 1897786, upload-time = "2025-04-23T18:31:24.161Z" }, - { url = "https://files.pythonhosted.org/packages/18/8a/2b41c97f554ec8c71f2a8a5f85cb56a8b0956addfe8b0efb5b3d77e8bdc3/pydantic_core-2.33.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a7ec89dc587667f22b6a0b6579c249fca9026ce7c333fc142ba42411fa243cdc", size = 2009000, upload-time = "2025-04-23T18:31:25.863Z" }, - { url = "https://files.pythonhosted.org/packages/a1/02/6224312aacb3c8ecbaa959897af57181fb6cf3a3d7917fd44d0f2917e6f2/pydantic_core-2.33.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3c6db6e52c6d70aa0d00d45cdb9b40f0433b96380071ea80b09277dba021ddf7", size = 1847996, upload-time = "2025-04-23T18:31:27.341Z" }, - { url = "https://files.pythonhosted.org/packages/d6/46/6dcdf084a523dbe0a0be59d054734b86a981726f221f4562aed313dbcb49/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e61206137cbc65e6d5256e1166f88331d3b6238e082d9f74613b9b765fb9025", size = 1880957, upload-time = "2025-04-23T18:31:28.956Z" }, - { url = "https://files.pythonhosted.org/packages/ec/6b/1ec2c03837ac00886ba8160ce041ce4e325b41d06a034adbef11339ae422/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb8c529b2819c37140eb51b914153063d27ed88e3bdc31b71198a198e921e011", size = 1964199, upload-time = "2025-04-23T18:31:31.025Z" }, - { url = "https://files.pythonhosted.org/packages/2d/1d/6bf34d6adb9debd9136bd197ca72642203ce9aaaa85cfcbfcf20f9696e83/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c52b02ad8b4e2cf14ca7b3d918f3eb0ee91e63b3167c32591e57c4317e134f8f", size = 2120296, upload-time = "2025-04-23T18:31:32.514Z" }, - { url = "https://files.pythonhosted.org/packages/e0/94/2bd0aaf5a591e974b32a9f7123f16637776c304471a0ab33cf263cf5591a/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:96081f1605125ba0855dfda83f6f3df5ec90c61195421ba72223de35ccfb2f88", size = 2676109, upload-time = "2025-04-23T18:31:33.958Z" }, - { url = "https://files.pythonhosted.org/packages/f9/41/4b043778cf9c4285d59742281a769eac371b9e47e35f98ad321349cc5d61/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f57a69461af2a5fa6e6bbd7a5f60d3b7e6cebb687f55106933188e79ad155c1", size = 2002028, upload-time = "2025-04-23T18:31:39.095Z" }, - { url = "https://files.pythonhosted.org/packages/cb/d5/7bb781bf2748ce3d03af04d5c969fa1308880e1dca35a9bd94e1a96a922e/pydantic_core-2.33.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:572c7e6c8bb4774d2ac88929e3d1f12bc45714ae5ee6d9a788a9fb35e60bb04b", size = 2100044, upload-time = "2025-04-23T18:31:41.034Z" }, - { url = "https://files.pythonhosted.org/packages/fe/36/def5e53e1eb0ad896785702a5bbfd25eed546cdcf4087ad285021a90ed53/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:db4b41f9bd95fbe5acd76d89920336ba96f03e149097365afe1cb092fceb89a1", size = 2058881, upload-time = "2025-04-23T18:31:42.757Z" }, - { url = "https://files.pythonhosted.org/packages/01/6c/57f8d70b2ee57fc3dc8b9610315949837fa8c11d86927b9bb044f8705419/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:fa854f5cf7e33842a892e5c73f45327760bc7bc516339fda888c75ae60edaeb6", size = 2227034, upload-time = "2025-04-23T18:31:44.304Z" }, - { url = "https://files.pythonhosted.org/packages/27/b9/9c17f0396a82b3d5cbea4c24d742083422639e7bb1d5bf600e12cb176a13/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5f483cfb75ff703095c59e365360cb73e00185e01aaea067cd19acffd2ab20ea", size = 2234187, upload-time = "2025-04-23T18:31:45.891Z" }, - { url = "https://files.pythonhosted.org/packages/b0/6a/adf5734ffd52bf86d865093ad70b2ce543415e0e356f6cacabbc0d9ad910/pydantic_core-2.33.2-cp312-cp312-win32.whl", hash = "sha256:9cb1da0f5a471435a7bc7e439b8a728e8b61e59784b2af70d7c169f8dd8ae290", size = 1892628, upload-time = "2025-04-23T18:31:47.819Z" }, - { url = "https://files.pythonhosted.org/packages/43/e4/5479fecb3606c1368d496a825d8411e126133c41224c1e7238be58b87d7e/pydantic_core-2.33.2-cp312-cp312-win_amd64.whl", hash = "sha256:f941635f2a3d96b2973e867144fde513665c87f13fe0e193c158ac51bfaaa7b2", size = 1955866, upload-time = "2025-04-23T18:31:49.635Z" }, - { url = "https://files.pythonhosted.org/packages/0d/24/8b11e8b3e2be9dd82df4b11408a67c61bb4dc4f8e11b5b0fc888b38118b5/pydantic_core-2.33.2-cp312-cp312-win_arm64.whl", hash = "sha256:cca3868ddfaccfbc4bfb1d608e2ccaaebe0ae628e1416aeb9c4d88c001bb45ab", size = 1888894, upload-time = "2025-04-23T18:31:51.609Z" }, - { url = "https://files.pythonhosted.org/packages/46/8c/99040727b41f56616573a28771b1bfa08a3d3fe74d3d513f01251f79f172/pydantic_core-2.33.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1082dd3e2d7109ad8b7da48e1d4710c8d06c253cbc4a27c1cff4fbcaa97a9e3f", size = 2015688, upload-time = "2025-04-23T18:31:53.175Z" }, - { url = "https://files.pythonhosted.org/packages/3a/cc/5999d1eb705a6cefc31f0b4a90e9f7fc400539b1a1030529700cc1b51838/pydantic_core-2.33.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f517ca031dfc037a9c07e748cefd8d96235088b83b4f4ba8939105d20fa1dcd6", size = 1844808, upload-time = "2025-04-23T18:31:54.79Z" }, - { url = "https://files.pythonhosted.org/packages/6f/5e/a0a7b8885c98889a18b6e376f344da1ef323d270b44edf8174d6bce4d622/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a9f2c9dd19656823cb8250b0724ee9c60a82f3cdf68a080979d13092a3b0fef", size = 1885580, upload-time = "2025-04-23T18:31:57.393Z" }, - { url = "https://files.pythonhosted.org/packages/3b/2a/953581f343c7d11a304581156618c3f592435523dd9d79865903272c256a/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2b0a451c263b01acebe51895bfb0e1cc842a5c666efe06cdf13846c7418caa9a", size = 1973859, upload-time = "2025-04-23T18:31:59.065Z" }, - { url = "https://files.pythonhosted.org/packages/e6/55/f1a813904771c03a3f97f676c62cca0c0a4138654107c1b61f19c644868b/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ea40a64d23faa25e62a70ad163571c0b342b8bf66d5fa612ac0dec4f069d916", size = 2120810, upload-time = "2025-04-23T18:32:00.78Z" }, - { url = "https://files.pythonhosted.org/packages/aa/c3/053389835a996e18853ba107a63caae0b9deb4a276c6b472931ea9ae6e48/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb2d542b4d66f9470e8065c5469ec676978d625a8b7a363f07d9a501a9cb36a", size = 2676498, upload-time = "2025-04-23T18:32:02.418Z" }, - { url = "https://files.pythonhosted.org/packages/eb/3c/f4abd740877a35abade05e437245b192f9d0ffb48bbbbd708df33d3cda37/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdac5d6ffa1b5a83bca06ffe7583f5576555e6c8b3a91fbd25ea7780f825f7d", size = 2000611, upload-time = "2025-04-23T18:32:04.152Z" }, - { url = "https://files.pythonhosted.org/packages/59/a7/63ef2fed1837d1121a894d0ce88439fe3e3b3e48c7543b2a4479eb99c2bd/pydantic_core-2.33.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04a1a413977ab517154eebb2d326da71638271477d6ad87a769102f7c2488c56", size = 2107924, upload-time = "2025-04-23T18:32:06.129Z" }, - { url = "https://files.pythonhosted.org/packages/04/8f/2551964ef045669801675f1cfc3b0d74147f4901c3ffa42be2ddb1f0efc4/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c8e7af2f4e0194c22b5b37205bfb293d166a7344a5b0d0eaccebc376546d77d5", size = 2063196, upload-time = "2025-04-23T18:32:08.178Z" }, - { url = "https://files.pythonhosted.org/packages/26/bd/d9602777e77fc6dbb0c7db9ad356e9a985825547dce5ad1d30ee04903918/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:5c92edd15cd58b3c2d34873597a1e20f13094f59cf88068adb18947df5455b4e", size = 2236389, upload-time = "2025-04-23T18:32:10.242Z" }, - { url = "https://files.pythonhosted.org/packages/42/db/0e950daa7e2230423ab342ae918a794964b053bec24ba8af013fc7c94846/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:65132b7b4a1c0beded5e057324b7e16e10910c106d43675d9bd87d4f38dde162", size = 2239223, upload-time = "2025-04-23T18:32:12.382Z" }, - { url = "https://files.pythonhosted.org/packages/58/4d/4f937099c545a8a17eb52cb67fe0447fd9a373b348ccfa9a87f141eeb00f/pydantic_core-2.33.2-cp313-cp313-win32.whl", hash = "sha256:52fb90784e0a242bb96ec53f42196a17278855b0f31ac7c3cc6f5c1ec4811849", size = 1900473, upload-time = "2025-04-23T18:32:14.034Z" }, - { url = "https://files.pythonhosted.org/packages/a0/75/4a0a9bac998d78d889def5e4ef2b065acba8cae8c93696906c3a91f310ca/pydantic_core-2.33.2-cp313-cp313-win_amd64.whl", hash = "sha256:c083a3bdd5a93dfe480f1125926afcdbf2917ae714bdb80b36d34318b2bec5d9", size = 1955269, upload-time = "2025-04-23T18:32:15.783Z" }, - { url = "https://files.pythonhosted.org/packages/f9/86/1beda0576969592f1497b4ce8e7bc8cbdf614c352426271b1b10d5f0aa64/pydantic_core-2.33.2-cp313-cp313-win_arm64.whl", hash = "sha256:e80b087132752f6b3d714f041ccf74403799d3b23a72722ea2e6ba2e892555b9", size = 1893921, upload-time = "2025-04-23T18:32:18.473Z" }, - { url = "https://files.pythonhosted.org/packages/a4/7d/e09391c2eebeab681df2b74bfe6c43422fffede8dc74187b2b0bf6fd7571/pydantic_core-2.33.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", size = 1806162, upload-time = "2025-04-23T18:32:20.188Z" }, - { url = "https://files.pythonhosted.org/packages/f1/3d/847b6b1fed9f8ed3bb95a9ad04fbd0b212e832d4f0f50ff4d9ee5a9f15cf/pydantic_core-2.33.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5", size = 1981560, upload-time = "2025-04-23T18:32:22.354Z" }, - { url = "https://files.pythonhosted.org/packages/6f/9a/e73262f6c6656262b5fdd723ad90f518f579b7bc8622e43a942eec53c938/pydantic_core-2.33.2-cp313-cp313t-win_amd64.whl", hash = "sha256:c2fc0a768ef76c15ab9238afa6da7f69895bb5d1ee83aeea2e3509af4472d0b9", size = 1935777, upload-time = "2025-04-23T18:32:25.088Z" }, - { url = "https://files.pythonhosted.org/packages/53/ea/bbe9095cdd771987d13c82d104a9c8559ae9aec1e29f139e286fd2e9256e/pydantic_core-2.33.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:a2b911a5b90e0374d03813674bf0a5fbbb7741570dcd4b4e85a2e48d17def29d", size = 2028677, upload-time = "2025-04-23T18:32:27.227Z" }, - { url = "https://files.pythonhosted.org/packages/49/1d/4ac5ed228078737d457a609013e8f7edc64adc37b91d619ea965758369e5/pydantic_core-2.33.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6fa6dfc3e4d1f734a34710f391ae822e0a8eb8559a85c6979e14e65ee6ba2954", size = 1864735, upload-time = "2025-04-23T18:32:29.019Z" }, - { url = "https://files.pythonhosted.org/packages/23/9a/2e70d6388d7cda488ae38f57bc2f7b03ee442fbcf0d75d848304ac7e405b/pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c54c939ee22dc8e2d545da79fc5381f1c020d6d3141d3bd747eab59164dc89fb", size = 1898467, upload-time = "2025-04-23T18:32:31.119Z" }, - { url = "https://files.pythonhosted.org/packages/ff/2e/1568934feb43370c1ffb78a77f0baaa5a8b6897513e7a91051af707ffdc4/pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:53a57d2ed685940a504248187d5685e49eb5eef0f696853647bf37c418c538f7", size = 1983041, upload-time = "2025-04-23T18:32:33.655Z" }, - { url = "https://files.pythonhosted.org/packages/01/1a/1a1118f38ab64eac2f6269eb8c120ab915be30e387bb561e3af904b12499/pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09fb9dd6571aacd023fe6aaca316bd01cf60ab27240d7eb39ebd66a3a15293b4", size = 2136503, upload-time = "2025-04-23T18:32:35.519Z" }, - { url = "https://files.pythonhosted.org/packages/5c/da/44754d1d7ae0f22d6d3ce6c6b1486fc07ac2c524ed8f6eca636e2e1ee49b/pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0e6116757f7959a712db11f3e9c0a99ade00a5bbedae83cb801985aa154f071b", size = 2736079, upload-time = "2025-04-23T18:32:37.659Z" }, - { url = "https://files.pythonhosted.org/packages/4d/98/f43cd89172220ec5aa86654967b22d862146bc4d736b1350b4c41e7c9c03/pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d55ab81c57b8ff8548c3e4947f119551253f4e3787a7bbc0b6b3ca47498a9d3", size = 2006508, upload-time = "2025-04-23T18:32:39.637Z" }, - { url = "https://files.pythonhosted.org/packages/2b/cc/f77e8e242171d2158309f830f7d5d07e0531b756106f36bc18712dc439df/pydantic_core-2.33.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c20c462aa4434b33a2661701b861604913f912254e441ab8d78d30485736115a", size = 2113693, upload-time = "2025-04-23T18:32:41.818Z" }, - { url = "https://files.pythonhosted.org/packages/54/7a/7be6a7bd43e0a47c147ba7fbf124fe8aaf1200bc587da925509641113b2d/pydantic_core-2.33.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:44857c3227d3fb5e753d5fe4a3420d6376fa594b07b621e220cd93703fe21782", size = 2074224, upload-time = "2025-04-23T18:32:44.033Z" }, - { url = "https://files.pythonhosted.org/packages/2a/07/31cf8fadffbb03be1cb520850e00a8490c0927ec456e8293cafda0726184/pydantic_core-2.33.2-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:eb9b459ca4df0e5c87deb59d37377461a538852765293f9e6ee834f0435a93b9", size = 2245403, upload-time = "2025-04-23T18:32:45.836Z" }, - { url = "https://files.pythonhosted.org/packages/b6/8d/bbaf4c6721b668d44f01861f297eb01c9b35f612f6b8e14173cb204e6240/pydantic_core-2.33.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9fcd347d2cc5c23b06de6d3b7b8275be558a0c90549495c699e379a80bf8379e", size = 2242331, upload-time = "2025-04-23T18:32:47.618Z" }, - { url = "https://files.pythonhosted.org/packages/bb/93/3cc157026bca8f5006250e74515119fcaa6d6858aceee8f67ab6dc548c16/pydantic_core-2.33.2-cp39-cp39-win32.whl", hash = "sha256:83aa99b1285bc8f038941ddf598501a86f1536789740991d7d8756e34f1e74d9", size = 1910571, upload-time = "2025-04-23T18:32:49.401Z" }, - { url = "https://files.pythonhosted.org/packages/5b/90/7edc3b2a0d9f0dda8806c04e511a67b0b7a41d2187e2003673a996fb4310/pydantic_core-2.33.2-cp39-cp39-win_amd64.whl", hash = "sha256:f481959862f57f29601ccced557cc2e817bce7533ab8e01a797a48b49c9692b3", size = 1956504, upload-time = "2025-04-23T18:32:51.287Z" }, - { url = "https://files.pythonhosted.org/packages/30/68/373d55e58b7e83ce371691f6eaa7175e3a24b956c44628eb25d7da007917/pydantic_core-2.33.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5c4aa4e82353f65e548c476b37e64189783aa5384903bfea4f41580f255fddfa", size = 2023982, upload-time = "2025-04-23T18:32:53.14Z" }, - { url = "https://files.pythonhosted.org/packages/a4/16/145f54ac08c96a63d8ed6442f9dec17b2773d19920b627b18d4f10a061ea/pydantic_core-2.33.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d946c8bf0d5c24bf4fe333af284c59a19358aa3ec18cb3dc4370080da1e8ad29", size = 1858412, upload-time = "2025-04-23T18:32:55.52Z" }, - { url = "https://files.pythonhosted.org/packages/41/b1/c6dc6c3e2de4516c0bb2c46f6a373b91b5660312342a0cf5826e38ad82fa/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87b31b6846e361ef83fedb187bb5b4372d0da3f7e28d85415efa92d6125d6e6d", size = 1892749, upload-time = "2025-04-23T18:32:57.546Z" }, - { url = "https://files.pythonhosted.org/packages/12/73/8cd57e20afba760b21b742106f9dbdfa6697f1570b189c7457a1af4cd8a0/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa9d91b338f2df0508606f7009fde642391425189bba6d8c653afd80fd6bb64e", size = 2067527, upload-time = "2025-04-23T18:32:59.771Z" }, - { url = "https://files.pythonhosted.org/packages/e3/d5/0bb5d988cc019b3cba4a78f2d4b3854427fc47ee8ec8e9eaabf787da239c/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2058a32994f1fde4ca0480ab9d1e75a0e8c87c22b53a3ae66554f9af78f2fe8c", size = 2108225, upload-time = "2025-04-23T18:33:04.51Z" }, - { url = "https://files.pythonhosted.org/packages/f1/c5/00c02d1571913d496aabf146106ad8239dc132485ee22efe08085084ff7c/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:0e03262ab796d986f978f79c943fc5f620381be7287148b8010b4097f79a39ec", size = 2069490, upload-time = "2025-04-23T18:33:06.391Z" }, - { url = "https://files.pythonhosted.org/packages/22/a8/dccc38768274d3ed3a59b5d06f59ccb845778687652daa71df0cab4040d7/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:1a8695a8d00c73e50bff9dfda4d540b7dee29ff9b8053e38380426a85ef10052", size = 2237525, upload-time = "2025-04-23T18:33:08.44Z" }, - { url = "https://files.pythonhosted.org/packages/d4/e7/4f98c0b125dda7cf7ccd14ba936218397b44f50a56dd8c16a3091df116c3/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:fa754d1850735a0b0e03bcffd9d4b4343eb417e47196e4485d9cca326073a42c", size = 2238446, upload-time = "2025-04-23T18:33:10.313Z" }, - { url = "https://files.pythonhosted.org/packages/ce/91/2ec36480fdb0b783cd9ef6795753c1dea13882f2e68e73bce76ae8c21e6a/pydantic_core-2.33.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a11c8d26a50bfab49002947d3d237abe4d9e4b5bdc8846a63537b6488e197808", size = 2066678, upload-time = "2025-04-23T18:33:12.224Z" }, - { url = "https://files.pythonhosted.org/packages/7b/27/d4ae6487d73948d6f20dddcd94be4ea43e74349b56eba82e9bdee2d7494c/pydantic_core-2.33.2-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:dd14041875d09cc0f9308e37a6f8b65f5585cf2598a53aa0123df8b129d481f8", size = 2025200, upload-time = "2025-04-23T18:33:14.199Z" }, - { url = "https://files.pythonhosted.org/packages/f1/b8/b3cb95375f05d33801024079b9392a5ab45267a63400bf1866e7ce0f0de4/pydantic_core-2.33.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:d87c561733f66531dced0da6e864f44ebf89a8fba55f31407b00c2f7f9449593", size = 1859123, upload-time = "2025-04-23T18:33:16.555Z" }, - { url = "https://files.pythonhosted.org/packages/05/bc/0d0b5adeda59a261cd30a1235a445bf55c7e46ae44aea28f7bd6ed46e091/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f82865531efd18d6e07a04a17331af02cb7a651583c418df8266f17a63c6612", size = 1892852, upload-time = "2025-04-23T18:33:18.513Z" }, - { url = "https://files.pythonhosted.org/packages/3e/11/d37bdebbda2e449cb3f519f6ce950927b56d62f0b84fd9cb9e372a26a3d5/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bfb5112df54209d820d7bf9317c7a6c9025ea52e49f46b6a2060104bba37de7", size = 2067484, upload-time = "2025-04-23T18:33:20.475Z" }, - { url = "https://files.pythonhosted.org/packages/8c/55/1f95f0a05ce72ecb02a8a8a1c3be0579bbc29b1d5ab68f1378b7bebc5057/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:64632ff9d614e5eecfb495796ad51b0ed98c453e447a76bcbeeb69615079fc7e", size = 2108896, upload-time = "2025-04-23T18:33:22.501Z" }, - { url = "https://files.pythonhosted.org/packages/53/89/2b2de6c81fa131f423246a9109d7b2a375e83968ad0800d6e57d0574629b/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:f889f7a40498cc077332c7ab6b4608d296d852182211787d4f3ee377aaae66e8", size = 2069475, upload-time = "2025-04-23T18:33:24.528Z" }, - { url = "https://files.pythonhosted.org/packages/b8/e9/1f7efbe20d0b2b10f6718944b5d8ece9152390904f29a78e68d4e7961159/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:de4b83bb311557e439b9e186f733f6c645b9417c84e2eb8203f3f820a4b988bf", size = 2239013, upload-time = "2025-04-23T18:33:26.621Z" }, - { url = "https://files.pythonhosted.org/packages/3c/b2/5309c905a93811524a49b4e031e9851a6b00ff0fb668794472ea7746b448/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:82f68293f055f51b51ea42fafc74b6aad03e70e191799430b90c13d643059ebb", size = 2238715, upload-time = "2025-04-23T18:33:28.656Z" }, - { url = "https://files.pythonhosted.org/packages/32/56/8a7ca5d2cd2cda1d245d34b1c9a942920a718082ae8e54e5f3e5a58b7add/pydantic_core-2.33.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:329467cecfb529c925cf2bbd4d60d2c509bc2fb52a20c1045bf09bb70971a9c1", size = 2066757, upload-time = "2025-04-23T18:33:30.645Z" }, - { url = "https://files.pythonhosted.org/packages/08/98/dbf3fdfabaf81cda5622154fda78ea9965ac467e3239078e0dcd6df159e7/pydantic_core-2.33.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:87acbfcf8e90ca885206e98359d7dca4bcbb35abdc0ff66672a293e1d7a19101", size = 2024034, upload-time = "2025-04-23T18:33:32.843Z" }, - { url = "https://files.pythonhosted.org/packages/8d/99/7810aa9256e7f2ccd492590f86b79d370df1e9292f1f80b000b6a75bd2fb/pydantic_core-2.33.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:7f92c15cd1e97d4b12acd1cc9004fa092578acfa57b67ad5e43a197175d01a64", size = 1858578, upload-time = "2025-04-23T18:33:34.912Z" }, - { url = "https://files.pythonhosted.org/packages/d8/60/bc06fa9027c7006cc6dd21e48dbf39076dc39d9abbaf718a1604973a9670/pydantic_core-2.33.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3f26877a748dc4251cfcfda9dfb5f13fcb034f5308388066bcfe9031b63ae7d", size = 1892858, upload-time = "2025-04-23T18:33:36.933Z" }, - { url = "https://files.pythonhosted.org/packages/f2/40/9d03997d9518816c68b4dfccb88969756b9146031b61cd37f781c74c9b6a/pydantic_core-2.33.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dac89aea9af8cd672fa7b510e7b8c33b0bba9a43186680550ccf23020f32d535", size = 2068498, upload-time = "2025-04-23T18:33:38.997Z" }, - { url = "https://files.pythonhosted.org/packages/d8/62/d490198d05d2d86672dc269f52579cad7261ced64c2df213d5c16e0aecb1/pydantic_core-2.33.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:970919794d126ba8645f3837ab6046fb4e72bbc057b3709144066204c19a455d", size = 2108428, upload-time = "2025-04-23T18:33:41.18Z" }, - { url = "https://files.pythonhosted.org/packages/9a/ec/4cd215534fd10b8549015f12ea650a1a973da20ce46430b68fc3185573e8/pydantic_core-2.33.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:3eb3fe62804e8f859c49ed20a8451342de53ed764150cb14ca71357c765dc2a6", size = 2069854, upload-time = "2025-04-23T18:33:43.446Z" }, - { url = "https://files.pythonhosted.org/packages/1a/1a/abbd63d47e1d9b0d632fee6bb15785d0889c8a6e0a6c3b5a8e28ac1ec5d2/pydantic_core-2.33.2-pp39-pypy39_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:3abcd9392a36025e3bd55f9bd38d908bd17962cc49bc6da8e7e96285336e2bca", size = 2237859, upload-time = "2025-04-23T18:33:45.56Z" }, - { url = "https://files.pythonhosted.org/packages/80/1c/fa883643429908b1c90598fd2642af8839efd1d835b65af1f75fba4d94fe/pydantic_core-2.33.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:3a1c81334778f9e3af2f8aeb7a960736e5cab1dfebfb26aabca09afd2906c039", size = 2239059, upload-time = "2025-04-23T18:33:47.735Z" }, - { url = "https://files.pythonhosted.org/packages/d4/29/3cade8a924a61f60ccfa10842f75eb12787e1440e2b8660ceffeb26685e7/pydantic_core-2.33.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2807668ba86cb38c6817ad9bc66215ab8584d1d304030ce4f0887336f28a5e27", size = 2066661, upload-time = "2025-04-23T18:33:49.995Z" }, +version = "2.41.5" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/71/70/23b021c950c2addd24ec408e9ab05d59b035b39d97cdc1130e1bce647bb6/pydantic_core-2.41.5.tar.gz", hash = "sha256:08daa51ea16ad373ffd5e7606252cc32f07bc72b28284b6bc9c6df804816476e", size = 460952, upload-time = "2025-11-04T13:43:49.098Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c6/90/32c9941e728d564b411d574d8ee0cf09b12ec978cb22b294995bae5549a5/pydantic_core-2.41.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:77b63866ca88d804225eaa4af3e664c5faf3568cea95360d21f4725ab6e07146", size = 2107298, upload-time = "2025-11-04T13:39:04.116Z" }, + { url = "https://files.pythonhosted.org/packages/fb/a8/61c96a77fe28993d9a6fb0f4127e05430a267b235a124545d79fea46dd65/pydantic_core-2.41.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dfa8a0c812ac681395907e71e1274819dec685fec28273a28905df579ef137e2", size = 1901475, upload-time = "2025-11-04T13:39:06.055Z" }, + { url = "https://files.pythonhosted.org/packages/5d/b6/338abf60225acc18cdc08b4faef592d0310923d19a87fba1faf05af5346e/pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5921a4d3ca3aee735d9fd163808f5e8dd6c6972101e4adbda9a4667908849b97", size = 1918815, upload-time = "2025-11-04T13:39:10.41Z" }, + { url = "https://files.pythonhosted.org/packages/d1/1c/2ed0433e682983d8e8cba9c8d8ef274d4791ec6a6f24c58935b90e780e0a/pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e25c479382d26a2a41b7ebea1043564a937db462816ea07afa8a44c0866d52f9", size = 2065567, upload-time = "2025-11-04T13:39:12.244Z" }, + { url = "https://files.pythonhosted.org/packages/b3/24/cf84974ee7d6eae06b9e63289b7b8f6549d416b5c199ca2d7ce13bbcf619/pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f547144f2966e1e16ae626d8ce72b4cfa0caedc7fa28052001c94fb2fcaa1c52", size = 2230442, upload-time = "2025-11-04T13:39:13.962Z" }, + { url = "https://files.pythonhosted.org/packages/fd/21/4e287865504b3edc0136c89c9c09431be326168b1eb7841911cbc877a995/pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6f52298fbd394f9ed112d56f3d11aabd0d5bd27beb3084cc3d8ad069483b8941", size = 2350956, upload-time = "2025-11-04T13:39:15.889Z" }, + { url = "https://files.pythonhosted.org/packages/a8/76/7727ef2ffa4b62fcab916686a68a0426b9b790139720e1934e8ba797e238/pydantic_core-2.41.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:100baa204bb412b74fe285fb0f3a385256dad1d1879f0a5cb1499ed2e83d132a", size = 2068253, upload-time = "2025-11-04T13:39:17.403Z" }, + { url = "https://files.pythonhosted.org/packages/d5/8c/a4abfc79604bcb4c748e18975c44f94f756f08fb04218d5cb87eb0d3a63e/pydantic_core-2.41.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:05a2c8852530ad2812cb7914dc61a1125dc4e06252ee98e5638a12da6cc6fb6c", size = 2177050, upload-time = "2025-11-04T13:39:19.351Z" }, + { url = "https://files.pythonhosted.org/packages/67/b1/de2e9a9a79b480f9cb0b6e8b6ba4c50b18d4e89852426364c66aa82bb7b3/pydantic_core-2.41.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:29452c56df2ed968d18d7e21f4ab0ac55e71dc59524872f6fc57dcf4a3249ed2", size = 2147178, upload-time = "2025-11-04T13:39:21Z" }, + { url = "https://files.pythonhosted.org/packages/16/c1/dfb33f837a47b20417500efaa0378adc6635b3c79e8369ff7a03c494b4ac/pydantic_core-2.41.5-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:d5160812ea7a8a2ffbe233d8da666880cad0cbaf5d4de74ae15c313213d62556", size = 2341833, upload-time = "2025-11-04T13:39:22.606Z" }, + { url = "https://files.pythonhosted.org/packages/47/36/00f398642a0f4b815a9a558c4f1dca1b4020a7d49562807d7bc9ff279a6c/pydantic_core-2.41.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:df3959765b553b9440adfd3c795617c352154e497a4eaf3752555cfb5da8fc49", size = 2321156, upload-time = "2025-11-04T13:39:25.843Z" }, + { url = "https://files.pythonhosted.org/packages/7e/70/cad3acd89fde2010807354d978725ae111ddf6d0ea46d1ea1775b5c1bd0c/pydantic_core-2.41.5-cp310-cp310-win32.whl", hash = "sha256:1f8d33a7f4d5a7889e60dc39856d76d09333d8a6ed0f5f1190635cbec70ec4ba", size = 1989378, upload-time = "2025-11-04T13:39:27.92Z" }, + { url = "https://files.pythonhosted.org/packages/76/92/d338652464c6c367e5608e4488201702cd1cbb0f33f7b6a85a60fe5f3720/pydantic_core-2.41.5-cp310-cp310-win_amd64.whl", hash = "sha256:62de39db01b8d593e45871af2af9e497295db8d73b085f6bfd0b18c83c70a8f9", size = 2013622, upload-time = "2025-11-04T13:39:29.848Z" }, + { url = "https://files.pythonhosted.org/packages/e8/72/74a989dd9f2084b3d9530b0915fdda64ac48831c30dbf7c72a41a5232db8/pydantic_core-2.41.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:a3a52f6156e73e7ccb0f8cced536adccb7042be67cb45f9562e12b319c119da6", size = 2105873, upload-time = "2025-11-04T13:39:31.373Z" }, + { url = "https://files.pythonhosted.org/packages/12/44/37e403fd9455708b3b942949e1d7febc02167662bf1a7da5b78ee1ea2842/pydantic_core-2.41.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7f3bf998340c6d4b0c9a2f02d6a400e51f123b59565d74dc60d252ce888c260b", size = 1899826, upload-time = "2025-11-04T13:39:32.897Z" }, + { url = "https://files.pythonhosted.org/packages/33/7f/1d5cab3ccf44c1935a359d51a8a2a9e1a654b744b5e7f80d41b88d501eec/pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:378bec5c66998815d224c9ca994f1e14c0c21cb95d2f52b6021cc0b2a58f2a5a", size = 1917869, upload-time = "2025-11-04T13:39:34.469Z" }, + { url = "https://files.pythonhosted.org/packages/6e/6a/30d94a9674a7fe4f4744052ed6c5e083424510be1e93da5bc47569d11810/pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e7b576130c69225432866fe2f4a469a85a54ade141d96fd396dffcf607b558f8", size = 2063890, upload-time = "2025-11-04T13:39:36.053Z" }, + { url = "https://files.pythonhosted.org/packages/50/be/76e5d46203fcb2750e542f32e6c371ffa9b8ad17364cf94bb0818dbfb50c/pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6cb58b9c66f7e4179a2d5e0f849c48eff5c1fca560994d6eb6543abf955a149e", size = 2229740, upload-time = "2025-11-04T13:39:37.753Z" }, + { url = "https://files.pythonhosted.org/packages/d3/ee/fed784df0144793489f87db310a6bbf8118d7b630ed07aa180d6067e653a/pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:88942d3a3dff3afc8288c21e565e476fc278902ae4d6d134f1eeda118cc830b1", size = 2350021, upload-time = "2025-11-04T13:39:40.94Z" }, + { url = "https://files.pythonhosted.org/packages/c8/be/8fed28dd0a180dca19e72c233cbf58efa36df055e5b9d90d64fd1740b828/pydantic_core-2.41.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f31d95a179f8d64d90f6831d71fa93290893a33148d890ba15de25642c5d075b", size = 2066378, upload-time = "2025-11-04T13:39:42.523Z" }, + { url = "https://files.pythonhosted.org/packages/b0/3b/698cf8ae1d536a010e05121b4958b1257f0b5522085e335360e53a6b1c8b/pydantic_core-2.41.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c1df3d34aced70add6f867a8cf413e299177e0c22660cc767218373d0779487b", size = 2175761, upload-time = "2025-11-04T13:39:44.553Z" }, + { url = "https://files.pythonhosted.org/packages/b8/ba/15d537423939553116dea94ce02f9c31be0fa9d0b806d427e0308ec17145/pydantic_core-2.41.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4009935984bd36bd2c774e13f9a09563ce8de4abaa7226f5108262fa3e637284", size = 2146303, upload-time = "2025-11-04T13:39:46.238Z" }, + { url = "https://files.pythonhosted.org/packages/58/7f/0de669bf37d206723795f9c90c82966726a2ab06c336deba4735b55af431/pydantic_core-2.41.5-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:34a64bc3441dc1213096a20fe27e8e128bd3ff89921706e83c0b1ac971276594", size = 2340355, upload-time = "2025-11-04T13:39:48.002Z" }, + { url = "https://files.pythonhosted.org/packages/e5/de/e7482c435b83d7e3c3ee5ee4451f6e8973cff0eb6007d2872ce6383f6398/pydantic_core-2.41.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c9e19dd6e28fdcaa5a1de679aec4141f691023916427ef9bae8584f9c2fb3b0e", size = 2319875, upload-time = "2025-11-04T13:39:49.705Z" }, + { url = "https://files.pythonhosted.org/packages/fe/e6/8c9e81bb6dd7560e33b9053351c29f30c8194b72f2d6932888581f503482/pydantic_core-2.41.5-cp311-cp311-win32.whl", hash = "sha256:2c010c6ded393148374c0f6f0bf89d206bf3217f201faa0635dcd56bd1520f6b", size = 1987549, upload-time = "2025-11-04T13:39:51.842Z" }, + { url = "https://files.pythonhosted.org/packages/11/66/f14d1d978ea94d1bc21fc98fcf570f9542fe55bfcc40269d4e1a21c19bf7/pydantic_core-2.41.5-cp311-cp311-win_amd64.whl", hash = "sha256:76ee27c6e9c7f16f47db7a94157112a2f3a00e958bc626e2f4ee8bec5c328fbe", size = 2011305, upload-time = "2025-11-04T13:39:53.485Z" }, + { url = "https://files.pythonhosted.org/packages/56/d8/0e271434e8efd03186c5386671328154ee349ff0354d83c74f5caaf096ed/pydantic_core-2.41.5-cp311-cp311-win_arm64.whl", hash = "sha256:4bc36bbc0b7584de96561184ad7f012478987882ebf9f9c389b23f432ea3d90f", size = 1972902, upload-time = "2025-11-04T13:39:56.488Z" }, + { url = "https://files.pythonhosted.org/packages/5f/5d/5f6c63eebb5afee93bcaae4ce9a898f3373ca23df3ccaef086d0233a35a7/pydantic_core-2.41.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:f41a7489d32336dbf2199c8c0a215390a751c5b014c2c1c5366e817202e9cdf7", size = 2110990, upload-time = "2025-11-04T13:39:58.079Z" }, + { url = "https://files.pythonhosted.org/packages/aa/32/9c2e8ccb57c01111e0fd091f236c7b371c1bccea0fa85247ac55b1e2b6b6/pydantic_core-2.41.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:070259a8818988b9a84a449a2a7337c7f430a22acc0859c6b110aa7212a6d9c0", size = 1896003, upload-time = "2025-11-04T13:39:59.956Z" }, + { url = "https://files.pythonhosted.org/packages/68/b8/a01b53cb0e59139fbc9e4fda3e9724ede8de279097179be4ff31f1abb65a/pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e96cea19e34778f8d59fe40775a7a574d95816eb150850a85a7a4c8f4b94ac69", size = 1919200, upload-time = "2025-11-04T13:40:02.241Z" }, + { url = "https://files.pythonhosted.org/packages/38/de/8c36b5198a29bdaade07b5985e80a233a5ac27137846f3bc2d3b40a47360/pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ed2e99c456e3fadd05c991f8f437ef902e00eedf34320ba2b0842bd1c3ca3a75", size = 2052578, upload-time = "2025-11-04T13:40:04.401Z" }, + { url = "https://files.pythonhosted.org/packages/00/b5/0e8e4b5b081eac6cb3dbb7e60a65907549a1ce035a724368c330112adfdd/pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:65840751b72fbfd82c3c640cff9284545342a4f1eb1586ad0636955b261b0b05", size = 2208504, upload-time = "2025-11-04T13:40:06.072Z" }, + { url = "https://files.pythonhosted.org/packages/77/56/87a61aad59c7c5b9dc8caad5a41a5545cba3810c3e828708b3d7404f6cef/pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e536c98a7626a98feb2d3eaf75944ef6f3dbee447e1f841eae16f2f0a72d8ddc", size = 2335816, upload-time = "2025-11-04T13:40:07.835Z" }, + { url = "https://files.pythonhosted.org/packages/0d/76/941cc9f73529988688a665a5c0ecff1112b3d95ab48f81db5f7606f522d3/pydantic_core-2.41.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eceb81a8d74f9267ef4081e246ffd6d129da5d87e37a77c9bde550cb04870c1c", size = 2075366, upload-time = "2025-11-04T13:40:09.804Z" }, + { url = "https://files.pythonhosted.org/packages/d3/43/ebef01f69baa07a482844faaa0a591bad1ef129253ffd0cdaa9d8a7f72d3/pydantic_core-2.41.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d38548150c39b74aeeb0ce8ee1d8e82696f4a4e16ddc6de7b1d8823f7de4b9b5", size = 2171698, upload-time = "2025-11-04T13:40:12.004Z" }, + { url = "https://files.pythonhosted.org/packages/b1/87/41f3202e4193e3bacfc2c065fab7706ebe81af46a83d3e27605029c1f5a6/pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:c23e27686783f60290e36827f9c626e63154b82b116d7fe9adba1fda36da706c", size = 2132603, upload-time = "2025-11-04T13:40:13.868Z" }, + { url = "https://files.pythonhosted.org/packages/49/7d/4c00df99cb12070b6bccdef4a195255e6020a550d572768d92cc54dba91a/pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:482c982f814460eabe1d3bb0adfdc583387bd4691ef00b90575ca0d2b6fe2294", size = 2329591, upload-time = "2025-11-04T13:40:15.672Z" }, + { url = "https://files.pythonhosted.org/packages/cc/6a/ebf4b1d65d458f3cda6a7335d141305dfa19bdc61140a884d165a8a1bbc7/pydantic_core-2.41.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:bfea2a5f0b4d8d43adf9d7b8bf019fb46fdd10a2e5cde477fbcb9d1fa08c68e1", size = 2319068, upload-time = "2025-11-04T13:40:17.532Z" }, + { url = "https://files.pythonhosted.org/packages/49/3b/774f2b5cd4192d5ab75870ce4381fd89cf218af999515baf07e7206753f0/pydantic_core-2.41.5-cp312-cp312-win32.whl", hash = "sha256:b74557b16e390ec12dca509bce9264c3bbd128f8a2c376eaa68003d7f327276d", size = 1985908, upload-time = "2025-11-04T13:40:19.309Z" }, + { url = "https://files.pythonhosted.org/packages/86/45/00173a033c801cacf67c190fef088789394feaf88a98a7035b0e40d53dc9/pydantic_core-2.41.5-cp312-cp312-win_amd64.whl", hash = "sha256:1962293292865bca8e54702b08a4f26da73adc83dd1fcf26fbc875b35d81c815", size = 2020145, upload-time = "2025-11-04T13:40:21.548Z" }, + { url = "https://files.pythonhosted.org/packages/f9/22/91fbc821fa6d261b376a3f73809f907cec5ca6025642c463d3488aad22fb/pydantic_core-2.41.5-cp312-cp312-win_arm64.whl", hash = "sha256:1746d4a3d9a794cacae06a5eaaccb4b8643a131d45fbc9af23e353dc0a5ba5c3", size = 1976179, upload-time = "2025-11-04T13:40:23.393Z" }, + { url = "https://files.pythonhosted.org/packages/87/06/8806241ff1f70d9939f9af039c6c35f2360cf16e93c2ca76f184e76b1564/pydantic_core-2.41.5-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:941103c9be18ac8daf7b7adca8228f8ed6bb7a1849020f643b3a14d15b1924d9", size = 2120403, upload-time = "2025-11-04T13:40:25.248Z" }, + { url = "https://files.pythonhosted.org/packages/94/02/abfa0e0bda67faa65fef1c84971c7e45928e108fe24333c81f3bfe35d5f5/pydantic_core-2.41.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:112e305c3314f40c93998e567879e887a3160bb8689ef3d2c04b6cc62c33ac34", size = 1896206, upload-time = "2025-11-04T13:40:27.099Z" }, + { url = "https://files.pythonhosted.org/packages/15/df/a4c740c0943e93e6500f9eb23f4ca7ec9bf71b19e608ae5b579678c8d02f/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cbaad15cb0c90aa221d43c00e77bb33c93e8d36e0bf74760cd00e732d10a6a0", size = 1919307, upload-time = "2025-11-04T13:40:29.806Z" }, + { url = "https://files.pythonhosted.org/packages/9a/e3/6324802931ae1d123528988e0e86587c2072ac2e5394b4bc2bc34b61ff6e/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:03ca43e12fab6023fc79d28ca6b39b05f794ad08ec2feccc59a339b02f2b3d33", size = 2063258, upload-time = "2025-11-04T13:40:33.544Z" }, + { url = "https://files.pythonhosted.org/packages/c9/d4/2230d7151d4957dd79c3044ea26346c148c98fbf0ee6ebd41056f2d62ab5/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:dc799088c08fa04e43144b164feb0c13f9a0bc40503f8df3e9fde58a3c0c101e", size = 2214917, upload-time = "2025-11-04T13:40:35.479Z" }, + { url = "https://files.pythonhosted.org/packages/e6/9f/eaac5df17a3672fef0081b6c1bb0b82b33ee89aa5cec0d7b05f52fd4a1fa/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:97aeba56665b4c3235a0e52b2c2f5ae9cd071b8a8310ad27bddb3f7fb30e9aa2", size = 2332186, upload-time = "2025-11-04T13:40:37.436Z" }, + { url = "https://files.pythonhosted.org/packages/cf/4e/35a80cae583a37cf15604b44240e45c05e04e86f9cfd766623149297e971/pydantic_core-2.41.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:406bf18d345822d6c21366031003612b9c77b3e29ffdb0f612367352aab7d586", size = 2073164, upload-time = "2025-11-04T13:40:40.289Z" }, + { url = "https://files.pythonhosted.org/packages/bf/e3/f6e262673c6140dd3305d144d032f7bd5f7497d3871c1428521f19f9efa2/pydantic_core-2.41.5-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b93590ae81f7010dbe380cdeab6f515902ebcbefe0b9327cc4804d74e93ae69d", size = 2179146, upload-time = "2025-11-04T13:40:42.809Z" }, + { url = "https://files.pythonhosted.org/packages/75/c7/20bd7fc05f0c6ea2056a4565c6f36f8968c0924f19b7d97bbfea55780e73/pydantic_core-2.41.5-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:01a3d0ab748ee531f4ea6c3e48ad9dac84ddba4b0d82291f87248f2f9de8d740", size = 2137788, upload-time = "2025-11-04T13:40:44.752Z" }, + { url = "https://files.pythonhosted.org/packages/3a/8d/34318ef985c45196e004bc46c6eab2eda437e744c124ef0dbe1ff2c9d06b/pydantic_core-2.41.5-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:6561e94ba9dacc9c61bce40e2d6bdc3bfaa0259d3ff36ace3b1e6901936d2e3e", size = 2340133, upload-time = "2025-11-04T13:40:46.66Z" }, + { url = "https://files.pythonhosted.org/packages/9c/59/013626bf8c78a5a5d9350d12e7697d3d4de951a75565496abd40ccd46bee/pydantic_core-2.41.5-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:915c3d10f81bec3a74fbd4faebe8391013ba61e5a1a8d48c4455b923bdda7858", size = 2324852, upload-time = "2025-11-04T13:40:48.575Z" }, + { url = "https://files.pythonhosted.org/packages/1a/d9/c248c103856f807ef70c18a4f986693a46a8ffe1602e5d361485da502d20/pydantic_core-2.41.5-cp313-cp313-win32.whl", hash = "sha256:650ae77860b45cfa6e2cdafc42618ceafab3a2d9a3811fcfbd3bbf8ac3c40d36", size = 1994679, upload-time = "2025-11-04T13:40:50.619Z" }, + { url = "https://files.pythonhosted.org/packages/9e/8b/341991b158ddab181cff136acd2552c9f35bd30380422a639c0671e99a91/pydantic_core-2.41.5-cp313-cp313-win_amd64.whl", hash = "sha256:79ec52ec461e99e13791ec6508c722742ad745571f234ea6255bed38c6480f11", size = 2019766, upload-time = "2025-11-04T13:40:52.631Z" }, + { url = "https://files.pythonhosted.org/packages/73/7d/f2f9db34af103bea3e09735bb40b021788a5e834c81eedb541991badf8f5/pydantic_core-2.41.5-cp313-cp313-win_arm64.whl", hash = "sha256:3f84d5c1b4ab906093bdc1ff10484838aca54ef08de4afa9de0f5f14d69639cd", size = 1981005, upload-time = "2025-11-04T13:40:54.734Z" }, + { url = "https://files.pythonhosted.org/packages/ea/28/46b7c5c9635ae96ea0fbb779e271a38129df2550f763937659ee6c5dbc65/pydantic_core-2.41.5-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:3f37a19d7ebcdd20b96485056ba9e8b304e27d9904d233d7b1015db320e51f0a", size = 2119622, upload-time = "2025-11-04T13:40:56.68Z" }, + { url = "https://files.pythonhosted.org/packages/74/1a/145646e5687e8d9a1e8d09acb278c8535ebe9e972e1f162ed338a622f193/pydantic_core-2.41.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1d1d9764366c73f996edd17abb6d9d7649a7eb690006ab6adbda117717099b14", size = 1891725, upload-time = "2025-11-04T13:40:58.807Z" }, + { url = "https://files.pythonhosted.org/packages/23/04/e89c29e267b8060b40dca97bfc64a19b2a3cf99018167ea1677d96368273/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25e1c2af0fce638d5f1988b686f3b3ea8cd7de5f244ca147c777769e798a9cd1", size = 1915040, upload-time = "2025-11-04T13:41:00.853Z" }, + { url = "https://files.pythonhosted.org/packages/84/a3/15a82ac7bd97992a82257f777b3583d3e84bdb06ba6858f745daa2ec8a85/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:506d766a8727beef16b7adaeb8ee6217c64fc813646b424d0804d67c16eddb66", size = 2063691, upload-time = "2025-11-04T13:41:03.504Z" }, + { url = "https://files.pythonhosted.org/packages/74/9b/0046701313c6ef08c0c1cf0e028c67c770a4e1275ca73131563c5f2a310a/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4819fa52133c9aa3c387b3328f25c1facc356491e6135b459f1de698ff64d869", size = 2213897, upload-time = "2025-11-04T13:41:05.804Z" }, + { url = "https://files.pythonhosted.org/packages/8a/cd/6bac76ecd1b27e75a95ca3a9a559c643b3afcd2dd62086d4b7a32a18b169/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2b761d210c9ea91feda40d25b4efe82a1707da2ef62901466a42492c028553a2", size = 2333302, upload-time = "2025-11-04T13:41:07.809Z" }, + { url = "https://files.pythonhosted.org/packages/4c/d2/ef2074dc020dd6e109611a8be4449b98cd25e1b9b8a303c2f0fca2f2bcf7/pydantic_core-2.41.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22f0fb8c1c583a3b6f24df2470833b40207e907b90c928cc8d3594b76f874375", size = 2064877, upload-time = "2025-11-04T13:41:09.827Z" }, + { url = "https://files.pythonhosted.org/packages/18/66/e9db17a9a763d72f03de903883c057b2592c09509ccfe468187f2a2eef29/pydantic_core-2.41.5-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2782c870e99878c634505236d81e5443092fba820f0373997ff75f90f68cd553", size = 2180680, upload-time = "2025-11-04T13:41:12.379Z" }, + { url = "https://files.pythonhosted.org/packages/d3/9e/3ce66cebb929f3ced22be85d4c2399b8e85b622db77dad36b73c5387f8f8/pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:0177272f88ab8312479336e1d777f6b124537d47f2123f89cb37e0accea97f90", size = 2138960, upload-time = "2025-11-04T13:41:14.627Z" }, + { url = "https://files.pythonhosted.org/packages/a6/62/205a998f4327d2079326b01abee48e502ea739d174f0a89295c481a2272e/pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_armv7l.whl", hash = "sha256:63510af5e38f8955b8ee5687740d6ebf7c2a0886d15a6d65c32814613681bc07", size = 2339102, upload-time = "2025-11-04T13:41:16.868Z" }, + { url = "https://files.pythonhosted.org/packages/3c/0d/f05e79471e889d74d3d88f5bd20d0ed189ad94c2423d81ff8d0000aab4ff/pydantic_core-2.41.5-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:e56ba91f47764cc14f1daacd723e3e82d1a89d783f0f5afe9c364b8bb491ccdb", size = 2326039, upload-time = "2025-11-04T13:41:18.934Z" }, + { url = "https://files.pythonhosted.org/packages/ec/e1/e08a6208bb100da7e0c4b288eed624a703f4d129bde2da475721a80cab32/pydantic_core-2.41.5-cp314-cp314-win32.whl", hash = "sha256:aec5cf2fd867b4ff45b9959f8b20ea3993fc93e63c7363fe6851424c8a7e7c23", size = 1995126, upload-time = "2025-11-04T13:41:21.418Z" }, + { url = "https://files.pythonhosted.org/packages/48/5d/56ba7b24e9557f99c9237e29f5c09913c81eeb2f3217e40e922353668092/pydantic_core-2.41.5-cp314-cp314-win_amd64.whl", hash = "sha256:8e7c86f27c585ef37c35e56a96363ab8de4e549a95512445b85c96d3e2f7c1bf", size = 2015489, upload-time = "2025-11-04T13:41:24.076Z" }, + { url = "https://files.pythonhosted.org/packages/4e/bb/f7a190991ec9e3e0ba22e4993d8755bbc4a32925c0b5b42775c03e8148f9/pydantic_core-2.41.5-cp314-cp314-win_arm64.whl", hash = "sha256:e672ba74fbc2dc8eea59fb6d4aed6845e6905fc2a8afe93175d94a83ba2a01a0", size = 1977288, upload-time = "2025-11-04T13:41:26.33Z" }, + { url = "https://files.pythonhosted.org/packages/92/ed/77542d0c51538e32e15afe7899d79efce4b81eee631d99850edc2f5e9349/pydantic_core-2.41.5-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:8566def80554c3faa0e65ac30ab0932b9e3a5cd7f8323764303d468e5c37595a", size = 2120255, upload-time = "2025-11-04T13:41:28.569Z" }, + { url = "https://files.pythonhosted.org/packages/bb/3d/6913dde84d5be21e284439676168b28d8bbba5600d838b9dca99de0fad71/pydantic_core-2.41.5-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:b80aa5095cd3109962a298ce14110ae16b8c1aece8b72f9dafe81cf597ad80b3", size = 1863760, upload-time = "2025-11-04T13:41:31.055Z" }, + { url = "https://files.pythonhosted.org/packages/5a/f0/e5e6b99d4191da102f2b0eb9687aaa7f5bea5d9964071a84effc3e40f997/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3006c3dd9ba34b0c094c544c6006cc79e87d8612999f1a5d43b769b89181f23c", size = 1878092, upload-time = "2025-11-04T13:41:33.21Z" }, + { url = "https://files.pythonhosted.org/packages/71/48/36fb760642d568925953bcc8116455513d6e34c4beaa37544118c36aba6d/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:72f6c8b11857a856bcfa48c86f5368439f74453563f951e473514579d44aa612", size = 2053385, upload-time = "2025-11-04T13:41:35.508Z" }, + { url = "https://files.pythonhosted.org/packages/20/25/92dc684dd8eb75a234bc1c764b4210cf2646479d54b47bf46061657292a8/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5cb1b2f9742240e4bb26b652a5aeb840aa4b417c7748b6f8387927bc6e45e40d", size = 2218832, upload-time = "2025-11-04T13:41:37.732Z" }, + { url = "https://files.pythonhosted.org/packages/e2/09/f53e0b05023d3e30357d82eb35835d0f6340ca344720a4599cd663dca599/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bd3d54f38609ff308209bd43acea66061494157703364ae40c951f83ba99a1a9", size = 2327585, upload-time = "2025-11-04T13:41:40Z" }, + { url = "https://files.pythonhosted.org/packages/aa/4e/2ae1aa85d6af35a39b236b1b1641de73f5a6ac4d5a7509f77b814885760c/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ff4321e56e879ee8d2a879501c8e469414d948f4aba74a2d4593184eb326660", size = 2041078, upload-time = "2025-11-04T13:41:42.323Z" }, + { url = "https://files.pythonhosted.org/packages/cd/13/2e215f17f0ef326fc72afe94776edb77525142c693767fc347ed6288728d/pydantic_core-2.41.5-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d0d2568a8c11bf8225044aa94409e21da0cb09dcdafe9ecd10250b2baad531a9", size = 2173914, upload-time = "2025-11-04T13:41:45.221Z" }, + { url = "https://files.pythonhosted.org/packages/02/7a/f999a6dcbcd0e5660bc348a3991c8915ce6599f4f2c6ac22f01d7a10816c/pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_aarch64.whl", hash = "sha256:a39455728aabd58ceabb03c90e12f71fd30fa69615760a075b9fec596456ccc3", size = 2129560, upload-time = "2025-11-04T13:41:47.474Z" }, + { url = "https://files.pythonhosted.org/packages/3a/b1/6c990ac65e3b4c079a4fb9f5b05f5b013afa0f4ed6780a3dd236d2cbdc64/pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_armv7l.whl", hash = "sha256:239edca560d05757817c13dc17c50766136d21f7cd0fac50295499ae24f90fdf", size = 2329244, upload-time = "2025-11-04T13:41:49.992Z" }, + { url = "https://files.pythonhosted.org/packages/d9/02/3c562f3a51afd4d88fff8dffb1771b30cfdfd79befd9883ee094f5b6c0d8/pydantic_core-2.41.5-cp314-cp314t-musllinux_1_1_x86_64.whl", hash = "sha256:2a5e06546e19f24c6a96a129142a75cee553cc018ffee48a460059b1185f4470", size = 2331955, upload-time = "2025-11-04T13:41:54.079Z" }, + { url = "https://files.pythonhosted.org/packages/5c/96/5fb7d8c3c17bc8c62fdb031c47d77a1af698f1d7a406b0f79aaa1338f9ad/pydantic_core-2.41.5-cp314-cp314t-win32.whl", hash = "sha256:b4ececa40ac28afa90871c2cc2b9ffd2ff0bf749380fbdf57d165fd23da353aa", size = 1988906, upload-time = "2025-11-04T13:41:56.606Z" }, + { url = "https://files.pythonhosted.org/packages/22/ed/182129d83032702912c2e2d8bbe33c036f342cc735737064668585dac28f/pydantic_core-2.41.5-cp314-cp314t-win_amd64.whl", hash = "sha256:80aa89cad80b32a912a65332f64a4450ed00966111b6615ca6816153d3585a8c", size = 1981607, upload-time = "2025-11-04T13:41:58.889Z" }, + { url = "https://files.pythonhosted.org/packages/9f/ed/068e41660b832bb0b1aa5b58011dea2a3fe0ba7861ff38c4d4904c1c1a99/pydantic_core-2.41.5-cp314-cp314t-win_arm64.whl", hash = "sha256:35b44f37a3199f771c3eaa53051bc8a70cd7b54f333531c59e29fd4db5d15008", size = 1974769, upload-time = "2025-11-04T13:42:01.186Z" }, + { url = "https://files.pythonhosted.org/packages/54/db/160dffb57ed9a3705c4cbcbff0ac03bdae45f1ca7d58ab74645550df3fbd/pydantic_core-2.41.5-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:8bfeaf8735be79f225f3fefab7f941c712aaca36f1128c9d7e2352ee1aa87bdf", size = 2107999, upload-time = "2025-11-04T13:42:03.885Z" }, + { url = "https://files.pythonhosted.org/packages/a3/7d/88e7de946f60d9263cc84819f32513520b85c0f8322f9b8f6e4afc938383/pydantic_core-2.41.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:346285d28e4c8017da95144c7f3acd42740d637ff41946af5ce6e5e420502dd5", size = 1929745, upload-time = "2025-11-04T13:42:06.075Z" }, + { url = "https://files.pythonhosted.org/packages/d5/c2/aef51e5b283780e85e99ff19db0f05842d2d4a8a8cd15e63b0280029b08f/pydantic_core-2.41.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a75dafbf87d6276ddc5b2bf6fae5254e3d0876b626eb24969a574fff9149ee5d", size = 1920220, upload-time = "2025-11-04T13:42:08.457Z" }, + { url = "https://files.pythonhosted.org/packages/c7/97/492ab10f9ac8695cd76b2fdb24e9e61f394051df71594e9bcc891c9f586e/pydantic_core-2.41.5-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:7b93a4d08587e2b7e7882de461e82b6ed76d9026ce91ca7915e740ecc7855f60", size = 2067296, upload-time = "2025-11-04T13:42:10.817Z" }, + { url = "https://files.pythonhosted.org/packages/ec/23/984149650e5269c59a2a4c41d234a9570adc68ab29981825cfaf4cfad8f4/pydantic_core-2.41.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e8465ab91a4bd96d36dde3263f06caa6a8a6019e4113f24dc753d79a8b3a3f82", size = 2231548, upload-time = "2025-11-04T13:42:13.843Z" }, + { url = "https://files.pythonhosted.org/packages/71/0c/85bcbb885b9732c28bec67a222dbed5ed2d77baee1f8bba2002e8cd00c5c/pydantic_core-2.41.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:299e0a22e7ae2b85c1a57f104538b2656e8ab1873511fd718a1c1c6f149b77b5", size = 2362571, upload-time = "2025-11-04T13:42:16.208Z" }, + { url = "https://files.pythonhosted.org/packages/c0/4a/412d2048be12c334003e9b823a3fa3d038e46cc2d64dd8aab50b31b65499/pydantic_core-2.41.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:707625ef0983fcfb461acfaf14de2067c5942c6bb0f3b4c99158bed6fedd3cf3", size = 2068175, upload-time = "2025-11-04T13:42:18.911Z" }, + { url = "https://files.pythonhosted.org/packages/73/f4/c58b6a776b502d0a5540ad02e232514285513572060f0d78f7832ca3c98b/pydantic_core-2.41.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f41eb9797986d6ebac5e8edff36d5cef9de40def462311b3eb3eeded1431e425", size = 2177203, upload-time = "2025-11-04T13:42:22.578Z" }, + { url = "https://files.pythonhosted.org/packages/ed/ae/f06ea4c7e7a9eead3d165e7623cd2ea0cb788e277e4f935af63fc98fa4e6/pydantic_core-2.41.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0384e2e1021894b1ff5a786dbf94771e2986ebe2869533874d7e43bc79c6f504", size = 2148191, upload-time = "2025-11-04T13:42:24.89Z" }, + { url = "https://files.pythonhosted.org/packages/c1/57/25a11dcdc656bf5f8b05902c3c2934ac3ea296257cc4a3f79a6319e61856/pydantic_core-2.41.5-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:f0cd744688278965817fd0839c4a4116add48d23890d468bc436f78beb28abf5", size = 2343907, upload-time = "2025-11-04T13:42:27.683Z" }, + { url = "https://files.pythonhosted.org/packages/96/82/e33d5f4933d7a03327c0c43c65d575e5919d4974ffc026bc917a5f7b9f61/pydantic_core-2.41.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:753e230374206729bf0a807954bcc6c150d3743928a73faffee51ac6557a03c3", size = 2322174, upload-time = "2025-11-04T13:42:30.776Z" }, + { url = "https://files.pythonhosted.org/packages/81/45/4091be67ce9f469e81656f880f3506f6a5624121ec5eb3eab37d7581897d/pydantic_core-2.41.5-cp39-cp39-win32.whl", hash = "sha256:873e0d5b4fb9b89ef7c2d2a963ea7d02879d9da0da8d9d4933dee8ee86a8b460", size = 1990353, upload-time = "2025-11-04T13:42:33.111Z" }, + { url = "https://files.pythonhosted.org/packages/44/8a/a98aede18db6e9cd5d66bcacd8a409fcf8134204cdede2e7de35c5a2c5ef/pydantic_core-2.41.5-cp39-cp39-win_amd64.whl", hash = "sha256:e4f4a984405e91527a0d62649ee21138f8e3d0ef103be488c1dc11a80d7f184b", size = 2015698, upload-time = "2025-11-04T13:42:35.484Z" }, + { url = "https://files.pythonhosted.org/packages/11/72/90fda5ee3b97e51c494938a4a44c3a35a9c96c19bba12372fb9c634d6f57/pydantic_core-2.41.5-graalpy311-graalpy242_311_native-macosx_10_12_x86_64.whl", hash = "sha256:b96d5f26b05d03cc60f11a7761a5ded1741da411e7fe0909e27a5e6a0cb7b034", size = 2115441, upload-time = "2025-11-04T13:42:39.557Z" }, + { url = "https://files.pythonhosted.org/packages/1f/53/8942f884fa33f50794f119012dc6a1a02ac43a56407adaac20463df8e98f/pydantic_core-2.41.5-graalpy311-graalpy242_311_native-macosx_11_0_arm64.whl", hash = "sha256:634e8609e89ceecea15e2d61bc9ac3718caaaa71963717bf3c8f38bfde64242c", size = 1930291, upload-time = "2025-11-04T13:42:42.169Z" }, + { url = "https://files.pythonhosted.org/packages/79/c8/ecb9ed9cd942bce09fc888ee960b52654fbdbede4ba6c2d6e0d3b1d8b49c/pydantic_core-2.41.5-graalpy311-graalpy242_311_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:93e8740d7503eb008aa2df04d3b9735f845d43ae845e6dcd2be0b55a2da43cd2", size = 1948632, upload-time = "2025-11-04T13:42:44.564Z" }, + { url = "https://files.pythonhosted.org/packages/2e/1b/687711069de7efa6af934e74f601e2a4307365e8fdc404703afc453eab26/pydantic_core-2.41.5-graalpy311-graalpy242_311_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f15489ba13d61f670dcc96772e733aad1a6f9c429cc27574c6cdaed82d0146ad", size = 2138905, upload-time = "2025-11-04T13:42:47.156Z" }, + { url = "https://files.pythonhosted.org/packages/09/32/59b0c7e63e277fa7911c2fc70ccfb45ce4b98991e7ef37110663437005af/pydantic_core-2.41.5-graalpy312-graalpy250_312_native-macosx_10_12_x86_64.whl", hash = "sha256:7da7087d756b19037bc2c06edc6c170eeef3c3bafcb8f532ff17d64dc427adfd", size = 2110495, upload-time = "2025-11-04T13:42:49.689Z" }, + { url = "https://files.pythonhosted.org/packages/aa/81/05e400037eaf55ad400bcd318c05bb345b57e708887f07ddb2d20e3f0e98/pydantic_core-2.41.5-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:aabf5777b5c8ca26f7824cb4a120a740c9588ed58df9b2d196ce92fba42ff8dc", size = 1915388, upload-time = "2025-11-04T13:42:52.215Z" }, + { url = "https://files.pythonhosted.org/packages/6e/0d/e3549b2399f71d56476b77dbf3cf8937cec5cd70536bdc0e374a421d0599/pydantic_core-2.41.5-graalpy312-graalpy250_312_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c007fe8a43d43b3969e8469004e9845944f1a80e6acd47c150856bb87f230c56", size = 1942879, upload-time = "2025-11-04T13:42:56.483Z" }, + { url = "https://files.pythonhosted.org/packages/f7/07/34573da085946b6a313d7c42f82f16e8920bfd730665de2d11c0c37a74b5/pydantic_core-2.41.5-graalpy312-graalpy250_312_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:76d0819de158cd855d1cbb8fcafdf6f5cf1eb8e470abe056d5d161106e38062b", size = 2139017, upload-time = "2025-11-04T13:42:59.471Z" }, + { url = "https://files.pythonhosted.org/packages/e6/b0/1a2aa41e3b5a4ba11420aba2d091b2d17959c8d1519ece3627c371951e73/pydantic_core-2.41.5-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b5819cd790dbf0c5eb9f82c73c16b39a65dd6dd4d1439dcdea7816ec9adddab8", size = 2103351, upload-time = "2025-11-04T13:43:02.058Z" }, + { url = "https://files.pythonhosted.org/packages/a4/ee/31b1f0020baaf6d091c87900ae05c6aeae101fa4e188e1613c80e4f1ea31/pydantic_core-2.41.5-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5a4e67afbc95fa5c34cf27d9089bca7fcab4e51e57278d710320a70b956d1b9a", size = 1925363, upload-time = "2025-11-04T13:43:05.159Z" }, + { url = "https://files.pythonhosted.org/packages/e1/89/ab8e86208467e467a80deaca4e434adac37b10a9d134cd2f99b28a01e483/pydantic_core-2.41.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ece5c59f0ce7d001e017643d8d24da587ea1f74f6993467d85ae8a5ef9d4f42b", size = 2135615, upload-time = "2025-11-04T13:43:08.116Z" }, + { url = "https://files.pythonhosted.org/packages/99/0a/99a53d06dd0348b2008f2f30884b34719c323f16c3be4e6cc1203b74a91d/pydantic_core-2.41.5-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:16f80f7abe3351f8ea6858914ddc8c77e02578544a0ebc15b4c2e1a0e813b0b2", size = 2175369, upload-time = "2025-11-04T13:43:12.49Z" }, + { url = "https://files.pythonhosted.org/packages/6d/94/30ca3b73c6d485b9bb0bc66e611cff4a7138ff9736b7e66bcf0852151636/pydantic_core-2.41.5-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:33cb885e759a705b426baada1fe68cbb0a2e68e34c5d0d0289a364cf01709093", size = 2144218, upload-time = "2025-11-04T13:43:15.431Z" }, + { url = "https://files.pythonhosted.org/packages/87/57/31b4f8e12680b739a91f472b5671294236b82586889ef764b5fbc6669238/pydantic_core-2.41.5-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:c8d8b4eb992936023be7dee581270af5c6e0697a8559895f527f5b7105ecd36a", size = 2329951, upload-time = "2025-11-04T13:43:18.062Z" }, + { url = "https://files.pythonhosted.org/packages/7d/73/3c2c8edef77b8f7310e6fb012dbc4b8551386ed575b9eb6fb2506e28a7eb/pydantic_core-2.41.5-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:242a206cd0318f95cd21bdacff3fcc3aab23e79bba5cac3db5a841c9ef9c6963", size = 2318428, upload-time = "2025-11-04T13:43:20.679Z" }, + { url = "https://files.pythonhosted.org/packages/2f/02/8559b1f26ee0d502c74f9cca5c0d2fd97e967e083e006bbbb4e97f3a043a/pydantic_core-2.41.5-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d3a978c4f57a597908b7e697229d996d77a6d3c94901e9edee593adada95ce1a", size = 2147009, upload-time = "2025-11-04T13:43:23.286Z" }, + { url = "https://files.pythonhosted.org/packages/5f/9b/1b3f0e9f9305839d7e84912f9e8bfbd191ed1b1ef48083609f0dabde978c/pydantic_core-2.41.5-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:b2379fa7ed44ddecb5bfe4e48577d752db9fc10be00a6b7446e9663ba143de26", size = 2101980, upload-time = "2025-11-04T13:43:25.97Z" }, + { url = "https://files.pythonhosted.org/packages/a4/ed/d71fefcb4263df0da6a85b5d8a7508360f2f2e9b3bf5814be9c8bccdccc1/pydantic_core-2.41.5-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:266fb4cbf5e3cbd0b53669a6d1b039c45e3ce651fd5442eff4d07c2cc8d66808", size = 1923865, upload-time = "2025-11-04T13:43:28.763Z" }, + { url = "https://files.pythonhosted.org/packages/ce/3a/626b38db460d675f873e4444b4bb030453bbe7b4ba55df821d026a0493c4/pydantic_core-2.41.5-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:58133647260ea01e4d0500089a8c4f07bd7aa6ce109682b1426394988d8aaacc", size = 2134256, upload-time = "2025-11-04T13:43:31.71Z" }, + { url = "https://files.pythonhosted.org/packages/83/d9/8412d7f06f616bbc053d30cb4e5f76786af3221462ad5eee1f202021eb4e/pydantic_core-2.41.5-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:287dad91cfb551c363dc62899a80e9e14da1f0e2b6ebde82c806612ca2a13ef1", size = 2174762, upload-time = "2025-11-04T13:43:34.744Z" }, + { url = "https://files.pythonhosted.org/packages/55/4c/162d906b8e3ba3a99354e20faa1b49a85206c47de97a639510a0e673f5da/pydantic_core-2.41.5-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:03b77d184b9eb40240ae9fd676ca364ce1085f203e1b1256f8ab9984dca80a84", size = 2143141, upload-time = "2025-11-04T13:43:37.701Z" }, + { url = "https://files.pythonhosted.org/packages/1f/f2/f11dd73284122713f5f89fc940f370d035fa8e1e078d446b3313955157fe/pydantic_core-2.41.5-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:a668ce24de96165bb239160b3d854943128f4334822900534f2fe947930e5770", size = 2330317, upload-time = "2025-11-04T13:43:40.406Z" }, + { url = "https://files.pythonhosted.org/packages/88/9d/b06ca6acfe4abb296110fb1273a4d848a0bfb2ff65f3ee92127b3244e16b/pydantic_core-2.41.5-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f14f8f046c14563f8eb3f45f499cc658ab8d10072961e07225e507adb700e93f", size = 2316992, upload-time = "2025-11-04T13:43:43.602Z" }, + { url = "https://files.pythonhosted.org/packages/36/c7/cfc8e811f061c841d7990b0201912c3556bfeb99cdcb7ed24adc8d6f8704/pydantic_core-2.41.5-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:56121965f7a4dc965bff783d70b907ddf3d57f6eba29b6d2e5dabfaf07799c51", size = 2145302, upload-time = "2025-11-04T13:43:46.64Z" }, ] [[package]] @@ -1956,35 +3917,128 @@ wheels = [ ] [[package]] -name = "pytest" -version = "8.4.1" +name = "pylint" +version = "3.0.3" source = { registry = "https://pypi.org/simple" } dependencies = [ + { name = "astroid" }, { name = "colorama", marker = "sys_platform == 'win32'" }, - { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, - { name = "iniconfig" }, - { name = "packaging" }, - { name = "pluggy" }, - { name = "pygments" }, + { name = "dill" }, + { name = "isort" }, + { name = "mccabe" }, + { name = "platformdirs", version = "4.3.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "platformdirs", version = "4.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "platformdirs", version = "4.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, { name = "tomli", marker = "python_full_version < '3.11'" }, + { name = "tomlkit" }, + { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/24/4f/5ca8d654d69006b3a5d52332e56359448b5c5ce242574a8ff26cb260ac3d/pylint-3.0.3.tar.gz", hash = "sha256:58c2398b0301e049609a8429789ec6edf3aabe9b6c5fec916acd18639c16de8b", size = 441807, upload-time = "2023-12-11T13:20:22.023Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0b/59/289c76e3ebdaa2ce9910b366aea437dbc1e0e602a0a513abca757fc4997a/pylint-3.0.3-py3-none-any.whl", hash = "sha256:7a1585285aefc5165db81083c3e06363a27448f6b467b3b0f30dbd0ac1f73810", size = 510642, upload-time = "2023-12-11T13:20:16.441Z" }, +] + +[[package]] +name = "pytest" +version = "8.3.5" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "colorama", marker = "python_full_version < '3.9' and sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.9'" }, + { name = "iniconfig", version = "2.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "packaging", marker = "python_full_version < '3.9'" }, + { name = "pluggy", version = "1.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "tomli", marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ae/3c/c9d525a414d506893f0cd8a8d0de7706446213181570cdbd766691164e40/pytest-8.3.5.tar.gz", hash = "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845", size = 1450891, upload-time = "2025-03-02T12:54:54.503Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/30/3d/64ad57c803f1fa1e963a7946b6e0fea4a70df53c1a7fed304586539c2bac/pytest-8.3.5-py3-none-any.whl", hash = "sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820", size = 343634, upload-time = "2025-03-02T12:54:52.069Z" }, +] + +[[package]] +name = "pytest" +version = "8.4.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", +] +dependencies = [ + { name = "colorama", marker = "python_full_version == '3.9.*' and sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version == '3.9.*'" }, + { name = "iniconfig", version = "2.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "packaging", marker = "python_full_version == '3.9.*'" }, + { name = "pluggy", version = "1.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "pygments", marker = "python_full_version == '3.9.*'" }, + { name = "tomli", marker = "python_full_version == '3.9.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a3/5c/00a0e072241553e1a7496d638deababa67c5058571567b92a7eaa258397c/pytest-8.4.2.tar.gz", hash = "sha256:86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01", size = 1519618, upload-time = "2025-09-04T14:34:22.711Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl", hash = "sha256:872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79", size = 365750, upload-time = "2025-09-04T14:34:20.226Z" }, +] + +[[package]] +name = "pytest" +version = "9.0.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", ] -sdist = { url = "https://files.pythonhosted.org/packages/08/ba/45911d754e8eba3d5a841a5ce61a65a685ff1798421ac054f85aa8747dfb/pytest-8.4.1.tar.gz", hash = "sha256:7c67fd69174877359ed9371ec3af8a3d2b04741818c51e5e99cc1742251fa93c", size = 1517714, upload-time = "2025-06-18T05:48:06.109Z" } +dependencies = [ + { name = "colorama", marker = "python_full_version >= '3.10' and sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version == '3.10.*'" }, + { name = "iniconfig", version = "2.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "packaging", marker = "python_full_version >= '3.10'" }, + { name = "pluggy", version = "1.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "pygments", marker = "python_full_version >= '3.10'" }, + { name = "tomli", marker = "python_full_version == '3.10.*'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d1/db/7ef3487e0fb0049ddb5ce41d3a49c235bf9ad299b6a25d5780a89f19230f/pytest-9.0.2.tar.gz", hash = "sha256:75186651a92bd89611d1d9fc20f0b4345fd827c41ccd5c299a868a05d70edf11", size = 1568901, upload-time = "2025-12-06T21:30:51.014Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/29/16/c8a903f4c4dffe7a12843191437d7cd8e32751d5de349d45d3fe69544e87/pytest-8.4.1-py3-none-any.whl", hash = "sha256:539c70ba6fcead8e78eebbf1115e8b589e7565830d7d006a8723f19ac8a0afb7", size = 365474, upload-time = "2025-06-18T05:48:03.955Z" }, + { url = "https://files.pythonhosted.org/packages/3b/ab/b3226f0bd7cdcf710fbede2b3548584366da3b19b5021e74f5bde2a8fa3f/pytest-9.0.2-py3-none-any.whl", hash = "sha256:711ffd45bf766d5264d487b917733b453d917afd2b0ad65223959f59089f875b", size = 374801, upload-time = "2025-12-06T21:30:49.154Z" }, ] [[package]] name = "pytest-cov" -version = "6.2.1" +version = "5.0.0" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] dependencies = [ - { name = "coverage", extra = ["toml"] }, - { name = "pluggy" }, - { name = "pytest" }, + { name = "coverage", version = "7.6.1", source = { registry = "https://pypi.org/simple" }, extra = ["toml"], marker = "python_full_version < '3.9'" }, + { name = "pytest", version = "8.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/74/67/00efc8d11b630c56f15f4ad9c7f9223f1e5ec275aaae3fa9118c6a223ad2/pytest-cov-5.0.0.tar.gz", hash = "sha256:5837b58e9f6ebd335b0f8060eecce69b662415b16dc503883a02f45dfeb14857", size = 63042, upload-time = "2024-03-24T20:16:34.856Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/3a/af5b4fa5961d9a1e6237b530eb87dd04aea6eb83da09d2a4073d81b54ccf/pytest_cov-5.0.0-py3-none-any.whl", hash = "sha256:4f0764a1219df53214206bf1feea4633c3b558a2925c8b59f144f682861ce652", size = 21990, upload-time = "2024-03-24T20:16:32.444Z" }, +] + +[[package]] +name = "pytest-cov" +version = "7.0.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", ] -sdist = { url = "https://files.pythonhosted.org/packages/18/99/668cade231f434aaa59bbfbf49469068d2ddd945000621d3d165d2e7dd7b/pytest_cov-6.2.1.tar.gz", hash = "sha256:25cc6cc0a5358204b8108ecedc51a9b57b34cc6b8c967cc2c01a4e00d8a67da2", size = 69432, upload-time = "2025-06-12T10:47:47.684Z" } +dependencies = [ + { name = "coverage", version = "7.10.7", source = { registry = "https://pypi.org/simple" }, extra = ["toml"], marker = "python_full_version == '3.9.*'" }, + { name = "coverage", version = "7.13.1", source = { registry = "https://pypi.org/simple" }, extra = ["toml"], marker = "python_full_version >= '3.10'" }, + { name = "pluggy", version = "1.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "pytest", version = "9.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5e/f7/c933acc76f5208b3b00089573cf6a2bc26dc80a8aece8f52bb7d6b1855ca/pytest_cov-7.0.0.tar.gz", hash = "sha256:33c97eda2e049a0c5298e91f519302a1334c26ac65c1a483d6206fd458361af1", size = 54328, upload-time = "2025-09-09T10:57:02.113Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/bc/16/4ea354101abb1287856baa4af2732be351c7bee728065aed451b678153fd/pytest_cov-6.2.1-py3-none-any.whl", hash = "sha256:f5bc4c23f42f1cdd23c70b1dab1bbaef4fc505ba950d53e0081d0730dd7e86d5", size = 24644, upload-time = "2025-06-12T10:47:45.932Z" }, + { url = "https://files.pythonhosted.org/packages/ee/49/1377b49de7d0c1ce41292161ea0f721913fa8722c19fb9c1e3aa0367eecb/pytest_cov-7.0.0-py3-none-any.whl", hash = "sha256:3b8e9558b16cc1479da72058bdecf8073661c7f57f7d3c5f22a1c23507f2d861", size = 22424, upload-time = "2025-09-09T10:57:00.695Z" }, ] [[package]] @@ -1992,11 +4046,13 @@ name = "pytest-insta" version = "0.1.11" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version < '3.10'", + "python_full_version == '3.9.*'", + "python_full_version < '3.9'", ] dependencies = [ - { name = "pytest", marker = "python_full_version < '3.10'" }, - { name = "wrapt", marker = "python_full_version < '3.10'" }, + { name = "pytest", version = "8.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "wrapt", version = "1.17.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/01/c3/1502b3848c9111210b0a6c947958397eb07c5f5f218a6c91b1a59a270c9a/pytest-insta-0.1.11.tar.gz", hash = "sha256:cc0f338a8ac215dbf3b690198dc24a1c5987e2bef269f85170d415039cce06e5", size = 16256, upload-time = "2022-02-28T21:48:34.59Z" } wheels = [ @@ -2005,28 +4061,52 @@ wheels = [ [[package]] name = "pytest-insta" -version = "0.3.0" +version = "0.4.1" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.11'", + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", "python_full_version == '3.10.*'", ] dependencies = [ - { name = "pytest", marker = "python_full_version >= '3.10'" }, - { name = "wrapt", marker = "python_full_version >= '3.10'" }, + { name = "pytest", version = "9.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "wrapt", version = "2.0.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2a/31/d2ca30c6dec0c35cf49fb78ac1c1c35af721c2f402d8fc80dd0aa6286643/pytest_insta-0.4.1.tar.gz", hash = "sha256:2cb6e0c5745c3dc351661c592e5c2cfc4c62529e154d188329ff47e8a514e3c9", size = 10306, upload-time = "2025-11-22T20:03:30.172Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/33/a86f7617fe169f95686dfa3a3f507a2bc7a8d3729e6e8466a1a774a51f7d/pytest_insta-0.4.1-py3-none-any.whl", hash = "sha256:63b85ea2c38436e4d0b7633112cf3d0e583b5e40b82937031f33cb8cf42fd12c", size = 12930, upload-time = "2025-11-22T20:03:29.145Z" }, +] + +[[package]] +name = "pytest-xdist" +version = "3.6.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "execnet", marker = "python_full_version < '3.9'" }, + { name = "pytest", version = "8.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d0/5b/6ca4baca60c3f8361415501668cde3abd94dbad44293325833fd89d1a7c1/pytest_insta-0.3.0.tar.gz", hash = "sha256:9e6e1c70a021f68ccc4643360b2c2f8326cf3befba85f942c1da17b9caf713f7", size = 14960, upload-time = "2024-02-19T23:00:22.014Z" } +sdist = { url = "https://files.pythonhosted.org/packages/41/c4/3c310a19bc1f1e9ef50075582652673ef2bfc8cd62afef9585683821902f/pytest_xdist-3.6.1.tar.gz", hash = "sha256:ead156a4db231eec769737f57668ef58a2084a34b2e55c4a8fa20d861107300d", size = 84060, upload-time = "2024-04-28T19:29:54.414Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cb/d5/1459b2861cf703cf49d96b6f29731ee74f4ac7e34b0c60b0ff75bdd318bc/pytest_insta-0.3.0-py3-none-any.whl", hash = "sha256:93a105e3850f2887b120a581923b10bb313d722e00d369377a1d91aa535df704", size = 13660, upload-time = "2024-02-19T23:00:20.054Z" }, + { url = "https://files.pythonhosted.org/packages/6d/82/1d96bf03ee4c0fdc3c0cbe61470070e659ca78dc0086fb88b66c185e2449/pytest_xdist-3.6.1-py3-none-any.whl", hash = "sha256:9ed4adfb68a016610848639bb7e02c9352d5d9f03d04809919e2dafc3be4cca7", size = 46108, upload-time = "2024-04-28T19:29:52.813Z" }, ] [[package]] name = "pytest-xdist" version = "3.8.0" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] dependencies = [ - { name = "execnet" }, - { name = "pytest" }, + { name = "execnet", marker = "python_full_version >= '3.9'" }, + { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "pytest", version = "9.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/78/b4/439b179d1ff526791eb921115fca8e44e596a13efeda518b9d845a619450/pytest_xdist-3.8.0.tar.gz", hash = "sha256:7e578125ec9bc6050861aa93f2d59f1d8d085595d6551c2c90b6f4fad8d3a9f1", size = 88069, upload-time = "2025-07-01T13:30:59.346Z" } wheels = [ @@ -2035,11 +4115,11 @@ wheels = [ [[package]] name = "pyunormalize" -version = "16.0.0" +version = "17.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b3/08/568036c725dac746ecb267bb749ef930fb7907454fe69fce83c8557287fb/pyunormalize-16.0.0.tar.gz", hash = "sha256:2e1dfbb4a118154ae26f70710426a52a364b926c9191f764601f5a8cb12761f7", size = 49968, upload-time = "2024-09-17T17:08:18.245Z" } +sdist = { url = "https://files.pythonhosted.org/packages/25/ab/b912c484cfb96ba4834efe050bbf10c9e157bd8189eb859aefba8712b136/pyunormalize-17.0.0.tar.gz", hash = "sha256:0949a3e56817e287febcaf1b0cc4b5adf0bb107628d379335938040947eec792", size = 53121, upload-time = "2025-09-28T20:53:06.141Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/39/f9/9d86e56f716e0651194a5ad58be9c146fcaf1de6901ac6f3cd3affeeb74e/pyunormalize-16.0.0-py3-none-any.whl", hash = "sha256:c647d95e5d1e2ea9a2f448d1d95d8518348df24eab5c3fd32d2b5c3300a49152", size = 49173, upload-time = "2024-09-17T17:08:17.078Z" }, + { url = "https://files.pythonhosted.org/packages/92/80/61512483dc509e3ae8a42fb143479d1e406ce1d91f8f08d538a3dde39c6d/pyunormalize-17.0.0-py3-none-any.whl", hash = "sha256:f0d93b076f938db2b26d319d04f2b58505d1cd7a80b5b72badbe7d1aa4d2a31c", size = 51358, upload-time = "2025-09-28T20:53:04.876Z" }, ] [[package]] @@ -2062,167 +4142,278 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c9/31/097f2e132c4f16d99a22bfb777e0fd88bd8e1c634304e102f313af69ace5/pywin32-311-cp314-cp314-win32.whl", hash = "sha256:b7a2c10b93f8986666d0c803ee19b5990885872a7de910fc460f9b0c2fbf92ee", size = 8840714, upload-time = "2025-07-14T20:13:32.449Z" }, { url = "https://files.pythonhosted.org/packages/90/4b/07c77d8ba0e01349358082713400435347df8426208171ce297da32c313d/pywin32-311-cp314-cp314-win_amd64.whl", hash = "sha256:3aca44c046bd2ed8c90de9cb8427f581c479e594e99b5c0bb19b29c10fd6cb87", size = 9656800, upload-time = "2025-07-14T20:13:34.312Z" }, { url = "https://files.pythonhosted.org/packages/c0/d2/21af5c535501a7233e734b8af901574572da66fcc254cb35d0609c9080dd/pywin32-311-cp314-cp314-win_arm64.whl", hash = "sha256:a508e2d9025764a8270f93111a970e1d0fbfc33f4153b388bb649b7eec4f9b42", size = 8932540, upload-time = "2025-07-14T20:13:36.379Z" }, + { url = "https://files.pythonhosted.org/packages/75/20/6cd04d636a4c83458ecbb7c8220c13786a1a80d3f5fb568df39310e73e98/pywin32-311-cp38-cp38-win32.whl", hash = "sha256:6c6f2969607b5023b0d9ce2541f8d2cbb01c4f46bc87456017cf63b73f1e2d8c", size = 8766775, upload-time = "2025-07-14T20:12:55.029Z" }, + { url = "https://files.pythonhosted.org/packages/ff/6c/94c10268bae5d0d0c6509bdfb5aa08882d11a9ccdf89ff1cde59a6161afb/pywin32-311-cp38-cp38-win_amd64.whl", hash = "sha256:c8015b09fb9a5e188f83b7b04de91ddca4658cee2ae6f3bc483f0b21a77ef6cd", size = 9594743, upload-time = "2025-07-14T20:12:57.59Z" }, { url = "https://files.pythonhosted.org/packages/59/42/b86689aac0cdaee7ae1c58d464b0ff04ca909c19bb6502d4973cdd9f9544/pywin32-311-cp39-cp39-win32.whl", hash = "sha256:aba8f82d551a942cb20d4a83413ccbac30790b50efb89a75e4f586ac0bb8056b", size = 8760837, upload-time = "2025-07-14T20:12:59.59Z" }, { url = "https://files.pythonhosted.org/packages/9f/8a/1403d0353f8c5a2f0829d2b1c4becbf9da2f0a4d040886404fc4a5431e4d/pywin32-311-cp39-cp39-win_amd64.whl", hash = "sha256:e0c4cfb0621281fe40387df582097fd796e80430597cb9944f0ae70447bacd91", size = 9590187, upload-time = "2025-07-14T20:13:01.419Z" }, { url = "https://files.pythonhosted.org/packages/60/22/e0e8d802f124772cec9c75430b01a212f86f9de7546bda715e54140d5aeb/pywin32-311-cp39-cp39-win_arm64.whl", hash = "sha256:62ea666235135fee79bb154e695f3ff67370afefd71bd7fea7512fc70ef31e3d", size = 8778162, upload-time = "2025-07-14T20:13:03.544Z" }, ] [[package]] -name = "pyyaml" -version = "6.0.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631, upload-time = "2024-08-06T20:33:50.674Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/9b/95/a3fac87cb7158e231b5a6012e438c647e1a87f09f8e0d123acec8ab8bf71/PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", size = 184199, upload-time = "2024-08-06T20:31:40.178Z" }, - { url = "https://files.pythonhosted.org/packages/c7/7a/68bd47624dab8fd4afbfd3c48e3b79efe09098ae941de5b58abcbadff5cb/PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", size = 171758, upload-time = "2024-08-06T20:31:42.173Z" }, - { url = "https://files.pythonhosted.org/packages/49/ee/14c54df452143b9ee9f0f29074d7ca5516a36edb0b4cc40c3f280131656f/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", size = 718463, upload-time = "2024-08-06T20:31:44.263Z" }, - { url = "https://files.pythonhosted.org/packages/4d/61/de363a97476e766574650d742205be468921a7b532aa2499fcd886b62530/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", size = 719280, upload-time = "2024-08-06T20:31:50.199Z" }, - { url = "https://files.pythonhosted.org/packages/6b/4e/1523cb902fd98355e2e9ea5e5eb237cbc5f3ad5f3075fa65087aa0ecb669/PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", size = 751239, upload-time = "2024-08-06T20:31:52.292Z" }, - { url = "https://files.pythonhosted.org/packages/b7/33/5504b3a9a4464893c32f118a9cc045190a91637b119a9c881da1cf6b7a72/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", size = 695802, upload-time = "2024-08-06T20:31:53.836Z" }, - { url = "https://files.pythonhosted.org/packages/5c/20/8347dcabd41ef3a3cdc4f7b7a2aff3d06598c8779faa189cdbf878b626a4/PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", size = 720527, upload-time = "2024-08-06T20:31:55.565Z" }, - { url = "https://files.pythonhosted.org/packages/be/aa/5afe99233fb360d0ff37377145a949ae258aaab831bde4792b32650a4378/PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", size = 144052, upload-time = "2024-08-06T20:31:56.914Z" }, - { url = "https://files.pythonhosted.org/packages/b5/84/0fa4b06f6d6c958d207620fc60005e241ecedceee58931bb20138e1e5776/PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", size = 161774, upload-time = "2024-08-06T20:31:58.304Z" }, - { url = "https://files.pythonhosted.org/packages/f8/aa/7af4e81f7acba21a4c6be026da38fd2b872ca46226673c89a758ebdc4fd2/PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", size = 184612, upload-time = "2024-08-06T20:32:03.408Z" }, - { url = "https://files.pythonhosted.org/packages/8b/62/b9faa998fd185f65c1371643678e4d58254add437edb764a08c5a98fb986/PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", size = 172040, upload-time = "2024-08-06T20:32:04.926Z" }, - { url = "https://files.pythonhosted.org/packages/ad/0c/c804f5f922a9a6563bab712d8dcc70251e8af811fce4524d57c2c0fd49a4/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", size = 736829, upload-time = "2024-08-06T20:32:06.459Z" }, - { url = "https://files.pythonhosted.org/packages/51/16/6af8d6a6b210c8e54f1406a6b9481febf9c64a3109c541567e35a49aa2e7/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", size = 764167, upload-time = "2024-08-06T20:32:08.338Z" }, - { url = "https://files.pythonhosted.org/packages/75/e4/2c27590dfc9992f73aabbeb9241ae20220bd9452df27483b6e56d3975cc5/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", size = 762952, upload-time = "2024-08-06T20:32:14.124Z" }, - { url = "https://files.pythonhosted.org/packages/9b/97/ecc1abf4a823f5ac61941a9c00fe501b02ac3ab0e373c3857f7d4b83e2b6/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4", size = 735301, upload-time = "2024-08-06T20:32:16.17Z" }, - { url = "https://files.pythonhosted.org/packages/45/73/0f49dacd6e82c9430e46f4a027baa4ca205e8b0a9dce1397f44edc23559d/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", size = 756638, upload-time = "2024-08-06T20:32:18.555Z" }, - { url = "https://files.pythonhosted.org/packages/22/5f/956f0f9fc65223a58fbc14459bf34b4cc48dec52e00535c79b8db361aabd/PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", size = 143850, upload-time = "2024-08-06T20:32:19.889Z" }, - { url = "https://files.pythonhosted.org/packages/ed/23/8da0bbe2ab9dcdd11f4f4557ccaf95c10b9811b13ecced089d43ce59c3c8/PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", size = 161980, upload-time = "2024-08-06T20:32:21.273Z" }, - { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873, upload-time = "2024-08-06T20:32:25.131Z" }, - { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302, upload-time = "2024-08-06T20:32:26.511Z" }, - { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154, upload-time = "2024-08-06T20:32:28.363Z" }, - { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223, upload-time = "2024-08-06T20:32:30.058Z" }, - { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542, upload-time = "2024-08-06T20:32:31.881Z" }, - { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164, upload-time = "2024-08-06T20:32:37.083Z" }, - { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611, upload-time = "2024-08-06T20:32:38.898Z" }, - { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591, upload-time = "2024-08-06T20:32:40.241Z" }, - { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338, upload-time = "2024-08-06T20:32:41.93Z" }, - { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309, upload-time = "2024-08-06T20:32:43.4Z" }, - { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679, upload-time = "2024-08-06T20:32:44.801Z" }, - { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428, upload-time = "2024-08-06T20:32:46.432Z" }, - { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361, upload-time = "2024-08-06T20:32:51.188Z" }, - { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523, upload-time = "2024-08-06T20:32:53.019Z" }, - { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660, upload-time = "2024-08-06T20:32:54.708Z" }, - { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597, upload-time = "2024-08-06T20:32:56.985Z" }, - { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527, upload-time = "2024-08-06T20:33:03.001Z" }, - { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446, upload-time = "2024-08-06T20:33:04.33Z" }, - { url = "https://files.pythonhosted.org/packages/65/d8/b7a1db13636d7fb7d4ff431593c510c8b8fca920ade06ca8ef20015493c5/PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", size = 184777, upload-time = "2024-08-06T20:33:25.896Z" }, - { url = "https://files.pythonhosted.org/packages/0a/02/6ec546cd45143fdf9840b2c6be8d875116a64076218b61d68e12548e5839/PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f", size = 172318, upload-time = "2024-08-06T20:33:27.212Z" }, - { url = "https://files.pythonhosted.org/packages/0e/9a/8cc68be846c972bda34f6c2a93abb644fb2476f4dcc924d52175786932c9/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290", size = 720891, upload-time = "2024-08-06T20:33:28.974Z" }, - { url = "https://files.pythonhosted.org/packages/e9/6c/6e1b7f40181bc4805e2e07f4abc10a88ce4648e7e95ff1abe4ae4014a9b2/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12", size = 722614, upload-time = "2024-08-06T20:33:34.157Z" }, - { url = "https://files.pythonhosted.org/packages/3d/32/e7bd8535d22ea2874cef6a81021ba019474ace0d13a4819c2a4bce79bd6a/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19", size = 737360, upload-time = "2024-08-06T20:33:35.84Z" }, - { url = "https://files.pythonhosted.org/packages/d7/12/7322c1e30b9be969670b672573d45479edef72c9a0deac3bb2868f5d7469/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e", size = 699006, upload-time = "2024-08-06T20:33:37.501Z" }, - { url = "https://files.pythonhosted.org/packages/82/72/04fcad41ca56491995076630c3ec1e834be241664c0c09a64c9a2589b507/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725", size = 723577, upload-time = "2024-08-06T20:33:39.389Z" }, - { url = "https://files.pythonhosted.org/packages/ed/5e/46168b1f2757f1fcd442bc3029cd8767d88a98c9c05770d8b420948743bb/PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631", size = 144593, upload-time = "2024-08-06T20:33:46.63Z" }, - { url = "https://files.pythonhosted.org/packages/19/87/5124b1c1f2412bb95c59ec481eaf936cd32f0fe2a7b16b97b81c4c017a6a/PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", size = 162312, upload-time = "2024-08-06T20:33:49.073Z" }, +name = "regex" +version = "2024.11.6" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/8e/5f/bd69653fbfb76cf8604468d3b4ec4c403197144c7bfe0e6a5fc9e02a07cb/regex-2024.11.6.tar.gz", hash = "sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519", size = 399494, upload-time = "2024-11-06T20:12:31.635Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/95/3c/4651f6b130c6842a8f3df82461a8950f923925db8b6961063e82744bddcc/regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91", size = 482674, upload-time = "2024-11-06T20:08:57.575Z" }, + { url = "https://files.pythonhosted.org/packages/15/51/9f35d12da8434b489c7b7bffc205c474a0a9432a889457026e9bc06a297a/regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0", size = 287684, upload-time = "2024-11-06T20:08:59.787Z" }, + { url = "https://files.pythonhosted.org/packages/bd/18/b731f5510d1b8fb63c6b6d3484bfa9a59b84cc578ac8b5172970e05ae07c/regex-2024.11.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:164d8b7b3b4bcb2068b97428060b2a53be050085ef94eca7f240e7947f1b080e", size = 284589, upload-time = "2024-11-06T20:09:01.896Z" }, + { url = "https://files.pythonhosted.org/packages/78/a2/6dd36e16341ab95e4c6073426561b9bfdeb1a9c9b63ab1b579c2e96cb105/regex-2024.11.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3660c82f209655a06b587d55e723f0b813d3a7db2e32e5e7dc64ac2a9e86fde", size = 782511, upload-time = "2024-11-06T20:09:04.062Z" }, + { url = "https://files.pythonhosted.org/packages/1b/2b/323e72d5d2fd8de0d9baa443e1ed70363ed7e7b2fb526f5950c5cb99c364/regex-2024.11.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d22326fcdef5e08c154280b71163ced384b428343ae16a5ab2b3354aed12436e", size = 821149, upload-time = "2024-11-06T20:09:06.237Z" }, + { url = "https://files.pythonhosted.org/packages/90/30/63373b9ea468fbef8a907fd273e5c329b8c9535fee36fc8dba5fecac475d/regex-2024.11.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1ac758ef6aebfc8943560194e9fd0fa18bcb34d89fd8bd2af18183afd8da3a2", size = 809707, upload-time = "2024-11-06T20:09:07.715Z" }, + { url = "https://files.pythonhosted.org/packages/f2/98/26d3830875b53071f1f0ae6d547f1d98e964dd29ad35cbf94439120bb67a/regex-2024.11.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:997d6a487ff00807ba810e0f8332c18b4eb8d29463cfb7c820dc4b6e7562d0cf", size = 781702, upload-time = "2024-11-06T20:09:10.101Z" }, + { url = "https://files.pythonhosted.org/packages/87/55/eb2a068334274db86208ab9d5599ffa63631b9f0f67ed70ea7c82a69bbc8/regex-2024.11.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:02a02d2bb04fec86ad61f3ea7f49c015a0681bf76abb9857f945d26159d2968c", size = 771976, upload-time = "2024-11-06T20:09:11.566Z" }, + { url = "https://files.pythonhosted.org/packages/74/c0/be707bcfe98254d8f9d2cff55d216e946f4ea48ad2fd8cf1428f8c5332ba/regex-2024.11.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f02f93b92358ee3f78660e43b4b0091229260c5d5c408d17d60bf26b6c900e86", size = 697397, upload-time = "2024-11-06T20:09:13.119Z" }, + { url = "https://files.pythonhosted.org/packages/49/dc/bb45572ceb49e0f6509f7596e4ba7031f6819ecb26bc7610979af5a77f45/regex-2024.11.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:06eb1be98df10e81ebaded73fcd51989dcf534e3c753466e4b60c4697a003b67", size = 768726, upload-time = "2024-11-06T20:09:14.85Z" }, + { url = "https://files.pythonhosted.org/packages/5a/db/f43fd75dc4c0c2d96d0881967897926942e935d700863666f3c844a72ce6/regex-2024.11.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:040df6fe1a5504eb0f04f048e6d09cd7c7110fef851d7c567a6b6e09942feb7d", size = 775098, upload-time = "2024-11-06T20:09:16.504Z" }, + { url = "https://files.pythonhosted.org/packages/99/d7/f94154db29ab5a89d69ff893159b19ada89e76b915c1293e98603d39838c/regex-2024.11.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabbfc59f2c6edba2a6622c647b716e34e8e3867e0ab975412c5c2f79b82da2", size = 839325, upload-time = "2024-11-06T20:09:18.698Z" }, + { url = "https://files.pythonhosted.org/packages/f7/17/3cbfab1f23356fbbf07708220ab438a7efa1e0f34195bf857433f79f1788/regex-2024.11.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8447d2d39b5abe381419319f942de20b7ecd60ce86f16a23b0698f22e1b70008", size = 843277, upload-time = "2024-11-06T20:09:21.725Z" }, + { url = "https://files.pythonhosted.org/packages/7e/f2/48b393b51900456155de3ad001900f94298965e1cad1c772b87f9cfea011/regex-2024.11.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:da8f5fc57d1933de22a9e23eec290a0d8a5927a5370d24bda9a6abe50683fe62", size = 773197, upload-time = "2024-11-06T20:09:24.092Z" }, + { url = "https://files.pythonhosted.org/packages/45/3f/ef9589aba93e084cd3f8471fded352826dcae8489b650d0b9b27bc5bba8a/regex-2024.11.6-cp310-cp310-win32.whl", hash = "sha256:b489578720afb782f6ccf2840920f3a32e31ba28a4b162e13900c3e6bd3f930e", size = 261714, upload-time = "2024-11-06T20:09:26.36Z" }, + { url = "https://files.pythonhosted.org/packages/42/7e/5f1b92c8468290c465fd50c5318da64319133231415a8aa6ea5ab995a815/regex-2024.11.6-cp310-cp310-win_amd64.whl", hash = "sha256:5071b2093e793357c9d8b2929dfc13ac5f0a6c650559503bb81189d0a3814519", size = 274042, upload-time = "2024-11-06T20:09:28.762Z" }, + { url = "https://files.pythonhosted.org/packages/58/58/7e4d9493a66c88a7da6d205768119f51af0f684fe7be7bac8328e217a52c/regex-2024.11.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5478c6962ad548b54a591778e93cd7c456a7a29f8eca9c49e4f9a806dcc5d638", size = 482669, upload-time = "2024-11-06T20:09:31.064Z" }, + { url = "https://files.pythonhosted.org/packages/34/4c/8f8e631fcdc2ff978609eaeef1d6994bf2f028b59d9ac67640ed051f1218/regex-2024.11.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c89a8cc122b25ce6945f0423dc1352cb9593c68abd19223eebbd4e56612c5b7", size = 287684, upload-time = "2024-11-06T20:09:32.915Z" }, + { url = "https://files.pythonhosted.org/packages/c5/1b/f0e4d13e6adf866ce9b069e191f303a30ab1277e037037a365c3aad5cc9c/regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:94d87b689cdd831934fa3ce16cc15cd65748e6d689f5d2b8f4f4df2065c9fa20", size = 284589, upload-time = "2024-11-06T20:09:35.504Z" }, + { url = "https://files.pythonhosted.org/packages/25/4d/ab21047f446693887f25510887e6820b93f791992994f6498b0318904d4a/regex-2024.11.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1062b39a0a2b75a9c694f7a08e7183a80c63c0d62b301418ffd9c35f55aaa114", size = 792121, upload-time = "2024-11-06T20:09:37.701Z" }, + { url = "https://files.pythonhosted.org/packages/45/ee/c867e15cd894985cb32b731d89576c41a4642a57850c162490ea34b78c3b/regex-2024.11.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:167ed4852351d8a750da48712c3930b031f6efdaa0f22fa1933716bfcd6bf4a3", size = 831275, upload-time = "2024-11-06T20:09:40.371Z" }, + { url = "https://files.pythonhosted.org/packages/b3/12/b0f480726cf1c60f6536fa5e1c95275a77624f3ac8fdccf79e6727499e28/regex-2024.11.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d548dafee61f06ebdb584080621f3e0c23fff312f0de1afc776e2a2ba99a74f", size = 818257, upload-time = "2024-11-06T20:09:43.059Z" }, + { url = "https://files.pythonhosted.org/packages/bf/ce/0d0e61429f603bac433910d99ef1a02ce45a8967ffbe3cbee48599e62d88/regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a19f302cd1ce5dd01a9099aaa19cae6173306d1302a43b627f62e21cf18ac0", size = 792727, upload-time = "2024-11-06T20:09:48.19Z" }, + { url = "https://files.pythonhosted.org/packages/e4/c1/243c83c53d4a419c1556f43777ccb552bccdf79d08fda3980e4e77dd9137/regex-2024.11.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bec9931dfb61ddd8ef2ebc05646293812cb6b16b60cf7c9511a832b6f1854b55", size = 780667, upload-time = "2024-11-06T20:09:49.828Z" }, + { url = "https://files.pythonhosted.org/packages/c5/f4/75eb0dd4ce4b37f04928987f1d22547ddaf6c4bae697623c1b05da67a8aa/regex-2024.11.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9714398225f299aa85267fd222f7142fcb5c769e73d7733344efc46f2ef5cf89", size = 776963, upload-time = "2024-11-06T20:09:51.819Z" }, + { url = "https://files.pythonhosted.org/packages/16/5d/95c568574e630e141a69ff8a254c2f188b4398e813c40d49228c9bbd9875/regex-2024.11.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:202eb32e89f60fc147a41e55cb086db2a3f8cb82f9a9a88440dcfc5d37faae8d", size = 784700, upload-time = "2024-11-06T20:09:53.982Z" }, + { url = "https://files.pythonhosted.org/packages/8e/b5/f8495c7917f15cc6fee1e7f395e324ec3e00ab3c665a7dc9d27562fd5290/regex-2024.11.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4181b814e56078e9b00427ca358ec44333765f5ca1b45597ec7446d3a1ef6e34", size = 848592, upload-time = "2024-11-06T20:09:56.222Z" }, + { url = "https://files.pythonhosted.org/packages/1c/80/6dd7118e8cb212c3c60b191b932dc57db93fb2e36fb9e0e92f72a5909af9/regex-2024.11.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:068376da5a7e4da51968ce4c122a7cd31afaaec4fccc7856c92f63876e57b51d", size = 852929, upload-time = "2024-11-06T20:09:58.642Z" }, + { url = "https://files.pythonhosted.org/packages/11/9b/5a05d2040297d2d254baf95eeeb6df83554e5e1df03bc1a6687fc4ba1f66/regex-2024.11.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f2c4184420d881a3475fb2c6f4d95d53a8d50209a2500723d831036f7c45", size = 781213, upload-time = "2024-11-06T20:10:00.867Z" }, + { url = "https://files.pythonhosted.org/packages/26/b7/b14e2440156ab39e0177506c08c18accaf2b8932e39fb092074de733d868/regex-2024.11.6-cp311-cp311-win32.whl", hash = "sha256:c36f9b6f5f8649bb251a5f3f66564438977b7ef8386a52460ae77e6070d309d9", size = 261734, upload-time = "2024-11-06T20:10:03.361Z" }, + { url = "https://files.pythonhosted.org/packages/80/32/763a6cc01d21fb3819227a1cc3f60fd251c13c37c27a73b8ff4315433a8e/regex-2024.11.6-cp311-cp311-win_amd64.whl", hash = "sha256:02e28184be537f0e75c1f9b2f8847dc51e08e6e171c6bde130b2687e0c33cf60", size = 274052, upload-time = "2024-11-06T20:10:05.179Z" }, + { url = "https://files.pythonhosted.org/packages/ba/30/9a87ce8336b172cc232a0db89a3af97929d06c11ceaa19d97d84fa90a8f8/regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a", size = 483781, upload-time = "2024-11-06T20:10:07.07Z" }, + { url = "https://files.pythonhosted.org/packages/01/e8/00008ad4ff4be8b1844786ba6636035f7ef926db5686e4c0f98093612add/regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9", size = 288455, upload-time = "2024-11-06T20:10:09.117Z" }, + { url = "https://files.pythonhosted.org/packages/60/85/cebcc0aff603ea0a201667b203f13ba75d9fc8668fab917ac5b2de3967bc/regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2", size = 284759, upload-time = "2024-11-06T20:10:11.155Z" }, + { url = "https://files.pythonhosted.org/packages/94/2b/701a4b0585cb05472a4da28ee28fdfe155f3638f5e1ec92306d924e5faf0/regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4", size = 794976, upload-time = "2024-11-06T20:10:13.24Z" }, + { url = "https://files.pythonhosted.org/packages/4b/bf/fa87e563bf5fee75db8915f7352e1887b1249126a1be4813837f5dbec965/regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577", size = 833077, upload-time = "2024-11-06T20:10:15.37Z" }, + { url = "https://files.pythonhosted.org/packages/a1/56/7295e6bad94b047f4d0834e4779491b81216583c00c288252ef625c01d23/regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3", size = 823160, upload-time = "2024-11-06T20:10:19.027Z" }, + { url = "https://files.pythonhosted.org/packages/fb/13/e3b075031a738c9598c51cfbc4c7879e26729c53aa9cca59211c44235314/regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e", size = 796896, upload-time = "2024-11-06T20:10:21.85Z" }, + { url = "https://files.pythonhosted.org/packages/24/56/0b3f1b66d592be6efec23a795b37732682520b47c53da5a32c33ed7d84e3/regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe", size = 783997, upload-time = "2024-11-06T20:10:24.329Z" }, + { url = "https://files.pythonhosted.org/packages/f9/a1/eb378dada8b91c0e4c5f08ffb56f25fcae47bf52ad18f9b2f33b83e6d498/regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e", size = 781725, upload-time = "2024-11-06T20:10:28.067Z" }, + { url = "https://files.pythonhosted.org/packages/83/f2/033e7dec0cfd6dda93390089864732a3409246ffe8b042e9554afa9bff4e/regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29", size = 789481, upload-time = "2024-11-06T20:10:31.612Z" }, + { url = "https://files.pythonhosted.org/packages/83/23/15d4552ea28990a74e7696780c438aadd73a20318c47e527b47a4a5a596d/regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39", size = 852896, upload-time = "2024-11-06T20:10:34.054Z" }, + { url = "https://files.pythonhosted.org/packages/e3/39/ed4416bc90deedbfdada2568b2cb0bc1fdb98efe11f5378d9892b2a88f8f/regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51", size = 860138, upload-time = "2024-11-06T20:10:36.142Z" }, + { url = "https://files.pythonhosted.org/packages/93/2d/dd56bb76bd8e95bbce684326302f287455b56242a4f9c61f1bc76e28360e/regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad", size = 787692, upload-time = "2024-11-06T20:10:38.394Z" }, + { url = "https://files.pythonhosted.org/packages/0b/55/31877a249ab7a5156758246b9c59539abbeba22461b7d8adc9e8475ff73e/regex-2024.11.6-cp312-cp312-win32.whl", hash = "sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54", size = 262135, upload-time = "2024-11-06T20:10:40.367Z" }, + { url = "https://files.pythonhosted.org/packages/38/ec/ad2d7de49a600cdb8dd78434a1aeffe28b9d6fc42eb36afab4a27ad23384/regex-2024.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b", size = 273567, upload-time = "2024-11-06T20:10:43.467Z" }, + { url = "https://files.pythonhosted.org/packages/90/73/bcb0e36614601016552fa9344544a3a2ae1809dc1401b100eab02e772e1f/regex-2024.11.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a6ba92c0bcdf96cbf43a12c717eae4bc98325ca3730f6b130ffa2e3c3c723d84", size = 483525, upload-time = "2024-11-06T20:10:45.19Z" }, + { url = "https://files.pythonhosted.org/packages/0f/3f/f1a082a46b31e25291d830b369b6b0c5576a6f7fb89d3053a354c24b8a83/regex-2024.11.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:525eab0b789891ac3be914d36893bdf972d483fe66551f79d3e27146191a37d4", size = 288324, upload-time = "2024-11-06T20:10:47.177Z" }, + { url = "https://files.pythonhosted.org/packages/09/c9/4e68181a4a652fb3ef5099e077faf4fd2a694ea6e0f806a7737aff9e758a/regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:086a27a0b4ca227941700e0b31425e7a28ef1ae8e5e05a33826e17e47fbfdba0", size = 284617, upload-time = "2024-11-06T20:10:49.312Z" }, + { url = "https://files.pythonhosted.org/packages/fc/fd/37868b75eaf63843165f1d2122ca6cb94bfc0271e4428cf58c0616786dce/regex-2024.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bde01f35767c4a7899b7eb6e823b125a64de314a8ee9791367c9a34d56af18d0", size = 795023, upload-time = "2024-11-06T20:10:51.102Z" }, + { url = "https://files.pythonhosted.org/packages/c4/7c/d4cd9c528502a3dedb5c13c146e7a7a539a3853dc20209c8e75d9ba9d1b2/regex-2024.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b583904576650166b3d920d2bcce13971f6f9e9a396c673187f49811b2769dc7", size = 833072, upload-time = "2024-11-06T20:10:52.926Z" }, + { url = "https://files.pythonhosted.org/packages/4f/db/46f563a08f969159c5a0f0e722260568425363bea43bb7ae370becb66a67/regex-2024.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c4de13f06a0d54fa0d5ab1b7138bfa0d883220965a29616e3ea61b35d5f5fc7", size = 823130, upload-time = "2024-11-06T20:10:54.828Z" }, + { url = "https://files.pythonhosted.org/packages/db/60/1eeca2074f5b87df394fccaa432ae3fc06c9c9bfa97c5051aed70e6e00c2/regex-2024.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cde6e9f2580eb1665965ce9bf17ff4952f34f5b126beb509fee8f4e994f143c", size = 796857, upload-time = "2024-11-06T20:10:56.634Z" }, + { url = "https://files.pythonhosted.org/packages/10/db/ac718a08fcee981554d2f7bb8402f1faa7e868c1345c16ab1ebec54b0d7b/regex-2024.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d7f453dca13f40a02b79636a339c5b62b670141e63efd511d3f8f73fba162b3", size = 784006, upload-time = "2024-11-06T20:10:59.369Z" }, + { url = "https://files.pythonhosted.org/packages/c2/41/7da3fe70216cea93144bf12da2b87367590bcf07db97604edeea55dac9ad/regex-2024.11.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59dfe1ed21aea057a65c6b586afd2a945de04fc7db3de0a6e3ed5397ad491b07", size = 781650, upload-time = "2024-11-06T20:11:02.042Z" }, + { url = "https://files.pythonhosted.org/packages/a7/d5/880921ee4eec393a4752e6ab9f0fe28009435417c3102fc413f3fe81c4e5/regex-2024.11.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b97c1e0bd37c5cd7902e65f410779d39eeda155800b65fc4d04cc432efa9bc6e", size = 789545, upload-time = "2024-11-06T20:11:03.933Z" }, + { url = "https://files.pythonhosted.org/packages/dc/96/53770115e507081122beca8899ab7f5ae28ae790bfcc82b5e38976df6a77/regex-2024.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d1e379028e0fc2ae3654bac3cbbef81bf3fd571272a42d56c24007979bafb6", size = 853045, upload-time = "2024-11-06T20:11:06.497Z" }, + { url = "https://files.pythonhosted.org/packages/31/d3/1372add5251cc2d44b451bd94f43b2ec78e15a6e82bff6a290ef9fd8f00a/regex-2024.11.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:13291b39131e2d002a7940fb176e120bec5145f3aeb7621be6534e46251912c4", size = 860182, upload-time = "2024-11-06T20:11:09.06Z" }, + { url = "https://files.pythonhosted.org/packages/ed/e3/c446a64984ea9f69982ba1a69d4658d5014bc7a0ea468a07e1a1265db6e2/regex-2024.11.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f51f88c126370dcec4908576c5a627220da6c09d0bff31cfa89f2523843316d", size = 787733, upload-time = "2024-11-06T20:11:11.256Z" }, + { url = "https://files.pythonhosted.org/packages/2b/f1/e40c8373e3480e4f29f2692bd21b3e05f296d3afebc7e5dcf21b9756ca1c/regex-2024.11.6-cp313-cp313-win32.whl", hash = "sha256:63b13cfd72e9601125027202cad74995ab26921d8cd935c25f09c630436348ff", size = 262122, upload-time = "2024-11-06T20:11:13.161Z" }, + { url = "https://files.pythonhosted.org/packages/45/94/bc295babb3062a731f52621cdc992d123111282e291abaf23faa413443ea/regex-2024.11.6-cp313-cp313-win_amd64.whl", hash = "sha256:2b3361af3198667e99927da8b84c1b010752fa4b1115ee30beaa332cabc3ef1a", size = 273545, upload-time = "2024-11-06T20:11:15Z" }, + { url = "https://files.pythonhosted.org/packages/44/0f/207b37e6e08d548fac0aa00bf0b7464126315d58ab5161216b8cb3abb2aa/regex-2024.11.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3a51ccc315653ba012774efca4f23d1d2a8a8f278a6072e29c7147eee7da446b", size = 482777, upload-time = "2024-11-06T20:11:16.752Z" }, + { url = "https://files.pythonhosted.org/packages/5a/5a/586bafa294c5d2451265d3685815606c61e620f469cac3b946fff0a4aa48/regex-2024.11.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ad182d02e40de7459b73155deb8996bbd8e96852267879396fb274e8700190e3", size = 287751, upload-time = "2024-11-06T20:11:18.913Z" }, + { url = "https://files.pythonhosted.org/packages/08/92/9df786fad8a4e0766bfc9a2e334c5f0757356070c9639b2ec776b8cdef3d/regex-2024.11.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ba9b72e5643641b7d41fa1f6d5abda2c9a263ae835b917348fc3c928182ad467", size = 284552, upload-time = "2024-11-06T20:11:21.005Z" }, + { url = "https://files.pythonhosted.org/packages/0a/27/0b3cf7d9fbe43301aa3473d54406019a7380abe4e3c9ae250bac13c4fdb3/regex-2024.11.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40291b1b89ca6ad8d3f2b82782cc33807f1406cf68c8d440861da6304d8ffbbd", size = 783587, upload-time = "2024-11-06T20:11:23.17Z" }, + { url = "https://files.pythonhosted.org/packages/89/38/499b32cbb61163af60a5c5ff26aacea7836fe7e3d821e76af216e996088c/regex-2024.11.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cdf58d0e516ee426a48f7b2c03a332a4114420716d55769ff7108c37a09951bf", size = 822904, upload-time = "2024-11-06T20:11:25.49Z" }, + { url = "https://files.pythonhosted.org/packages/3f/a4/e3b11c643e5ae1059a08aeef971973f0c803d2a9ae2e7a86f97c68146a6c/regex-2024.11.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a36fdf2af13c2b14738f6e973aba563623cb77d753bbbd8d414d18bfaa3105dd", size = 809900, upload-time = "2024-11-06T20:11:27.382Z" }, + { url = "https://files.pythonhosted.org/packages/5a/c8/dc7153ceb5bcc344f5c4f0291ea45925a5f00009afa3849e91561ac2e847/regex-2024.11.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1cee317bfc014c2419a76bcc87f071405e3966da434e03e13beb45f8aced1a6", size = 785105, upload-time = "2024-11-06T20:11:29.428Z" }, + { url = "https://files.pythonhosted.org/packages/2a/29/841489ea52013062b22625fbaf49b0916aeb62bae2e56425ac30f9dead46/regex-2024.11.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50153825ee016b91549962f970d6a4442fa106832e14c918acd1c8e479916c4f", size = 773033, upload-time = "2024-11-06T20:11:32.175Z" }, + { url = "https://files.pythonhosted.org/packages/3e/4e/4a0da5e87f7c2dc73a8505785d5af2b1a19c66f4645b93caa50b7eb08242/regex-2024.11.6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ea1bfda2f7162605f6e8178223576856b3d791109f15ea99a9f95c16a7636fb5", size = 702374, upload-time = "2024-11-06T20:11:34.182Z" }, + { url = "https://files.pythonhosted.org/packages/94/6e/444e66346600d11e8a0f4bb31611973cffa772d5033ba1cf1f15de8a0d52/regex-2024.11.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:df951c5f4a1b1910f1a99ff42c473ff60f8225baa1cdd3539fe2819d9543e9df", size = 769990, upload-time = "2024-11-06T20:11:36.813Z" }, + { url = "https://files.pythonhosted.org/packages/da/28/95c3ed6cd51b27f54e59940400e2a3ddd3f8bbbc3aaf947e57a67104ecbd/regex-2024.11.6-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:072623554418a9911446278f16ecb398fb3b540147a7828c06e2011fa531e773", size = 775345, upload-time = "2024-11-06T20:11:39.079Z" }, + { url = "https://files.pythonhosted.org/packages/07/5d/0cd19cf44d96a7aa31526611c24235d21d27c23b65201cb2c5cac508dd42/regex-2024.11.6-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f654882311409afb1d780b940234208a252322c24a93b442ca714d119e68086c", size = 840379, upload-time = "2024-11-06T20:11:41.208Z" }, + { url = "https://files.pythonhosted.org/packages/2a/13/ec3f8d85b789ee1c6ffbdfd4092fd901416716317ee17bf51aa2890bac96/regex-2024.11.6-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:89d75e7293d2b3e674db7d4d9b1bee7f8f3d1609428e293771d1a962617150cc", size = 845842, upload-time = "2024-11-06T20:11:43.709Z" }, + { url = "https://files.pythonhosted.org/packages/50/cb/7170247e65afea2bf9204bcb2682f292b0a3a57d112478da199b84d59792/regex-2024.11.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:f65557897fc977a44ab205ea871b690adaef6b9da6afda4790a2484b04293a5f", size = 775026, upload-time = "2024-11-06T20:11:46.11Z" }, + { url = "https://files.pythonhosted.org/packages/cc/06/c817c9201f09b7d9dd033039ba90d8197c91e9fe2984141f2d1de270c159/regex-2024.11.6-cp38-cp38-win32.whl", hash = "sha256:6f44ec28b1f858c98d3036ad5d7d0bfc568bdd7a74f9c24e25f41ef1ebfd81a4", size = 261738, upload-time = "2024-11-06T20:11:48.611Z" }, + { url = "https://files.pythonhosted.org/packages/cf/69/c39e16320400842eb4358c982ef5fc680800866f35ebfd4dd38a22967ce0/regex-2024.11.6-cp38-cp38-win_amd64.whl", hash = "sha256:bb8f74f2f10dbf13a0be8de623ba4f9491faf58c24064f32b65679b021ed0001", size = 274094, upload-time = "2024-11-06T20:11:50.641Z" }, + { url = "https://files.pythonhosted.org/packages/89/23/c4a86df398e57e26f93b13ae63acce58771e04bdde86092502496fa57f9c/regex-2024.11.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5704e174f8ccab2026bd2f1ab6c510345ae8eac818b613d7d73e785f1310f839", size = 482682, upload-time = "2024-11-06T20:11:52.65Z" }, + { url = "https://files.pythonhosted.org/packages/3c/8b/45c24ab7a51a1658441b961b86209c43e6bb9d39caf1e63f46ce6ea03bc7/regex-2024.11.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:220902c3c5cc6af55d4fe19ead504de80eb91f786dc102fbd74894b1551f095e", size = 287679, upload-time = "2024-11-06T20:11:55.011Z" }, + { url = "https://files.pythonhosted.org/packages/7a/d1/598de10b17fdafc452d11f7dada11c3be4e379a8671393e4e3da3c4070df/regex-2024.11.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7e351589da0850c125f1600a4c4ba3c722efefe16b297de54300f08d734fbf", size = 284578, upload-time = "2024-11-06T20:11:57.033Z" }, + { url = "https://files.pythonhosted.org/packages/49/70/c7eaa219efa67a215846766fde18d92d54cb590b6a04ffe43cef30057622/regex-2024.11.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5056b185ca113c88e18223183aa1a50e66507769c9640a6ff75859619d73957b", size = 782012, upload-time = "2024-11-06T20:11:59.218Z" }, + { url = "https://files.pythonhosted.org/packages/89/e5/ef52c7eb117dd20ff1697968219971d052138965a4d3d9b95e92e549f505/regex-2024.11.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e34b51b650b23ed3354b5a07aab37034d9f923db2a40519139af34f485f77d0", size = 820580, upload-time = "2024-11-06T20:12:01.969Z" }, + { url = "https://files.pythonhosted.org/packages/5f/3f/9f5da81aff1d4167ac52711acf789df13e789fe6ac9545552e49138e3282/regex-2024.11.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5670bce7b200273eee1840ef307bfa07cda90b38ae56e9a6ebcc9f50da9c469b", size = 809110, upload-time = "2024-11-06T20:12:04.786Z" }, + { url = "https://files.pythonhosted.org/packages/86/44/2101cc0890c3621b90365c9ee8d7291a597c0722ad66eccd6ffa7f1bcc09/regex-2024.11.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08986dce1339bc932923e7d1232ce9881499a0e02925f7402fb7c982515419ef", size = 780919, upload-time = "2024-11-06T20:12:06.944Z" }, + { url = "https://files.pythonhosted.org/packages/ce/2e/3e0668d8d1c7c3c0d397bf54d92fc182575b3a26939aed5000d3cc78760f/regex-2024.11.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:93c0b12d3d3bc25af4ebbf38f9ee780a487e8bf6954c115b9f015822d3bb8e48", size = 771515, upload-time = "2024-11-06T20:12:09.9Z" }, + { url = "https://files.pythonhosted.org/packages/a6/49/1bc4584254355e3dba930a3a2fd7ad26ccba3ebbab7d9100db0aff2eedb0/regex-2024.11.6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:764e71f22ab3b305e7f4c21f1a97e1526a25ebdd22513e251cf376760213da13", size = 696957, upload-time = "2024-11-06T20:12:12.319Z" }, + { url = "https://files.pythonhosted.org/packages/c8/dd/42879c1fc8a37a887cd08e358af3d3ba9e23038cd77c7fe044a86d9450ba/regex-2024.11.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f056bf21105c2515c32372bbc057f43eb02aae2fda61052e2f7622c801f0b4e2", size = 768088, upload-time = "2024-11-06T20:12:15.149Z" }, + { url = "https://files.pythonhosted.org/packages/89/96/c05a0fe173cd2acd29d5e13c1adad8b706bcaa71b169e1ee57dcf2e74584/regex-2024.11.6-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:69ab78f848845569401469da20df3e081e6b5a11cb086de3eed1d48f5ed57c95", size = 774752, upload-time = "2024-11-06T20:12:17.416Z" }, + { url = "https://files.pythonhosted.org/packages/b5/f3/a757748066255f97f14506483436c5f6aded7af9e37bca04ec30c90ca683/regex-2024.11.6-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:86fddba590aad9208e2fa8b43b4c098bb0ec74f15718bb6a704e3c63e2cef3e9", size = 838862, upload-time = "2024-11-06T20:12:19.639Z" }, + { url = "https://files.pythonhosted.org/packages/5c/93/c6d2092fd479dcaeea40fc8fa673822829181ded77d294a7f950f1dda6e2/regex-2024.11.6-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:684d7a212682996d21ca12ef3c17353c021fe9de6049e19ac8481ec35574a70f", size = 842622, upload-time = "2024-11-06T20:12:21.841Z" }, + { url = "https://files.pythonhosted.org/packages/ff/9c/daa99532c72f25051a90ef90e1413a8d54413a9e64614d9095b0c1c154d0/regex-2024.11.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a03e02f48cd1abbd9f3b7e3586d97c8f7a9721c436f51a5245b3b9483044480b", size = 772713, upload-time = "2024-11-06T20:12:24.785Z" }, + { url = "https://files.pythonhosted.org/packages/13/5d/61a533ccb8c231b474ac8e3a7d70155b00dfc61af6cafdccd1947df6d735/regex-2024.11.6-cp39-cp39-win32.whl", hash = "sha256:41758407fc32d5c3c5de163888068cfee69cb4c2be844e7ac517a52770f9af57", size = 261756, upload-time = "2024-11-06T20:12:26.975Z" }, + { url = "https://files.pythonhosted.org/packages/dc/7b/e59b7f7c91ae110d154370c24133f947262525b5d6406df65f23422acc17/regex-2024.11.6-cp39-cp39-win_amd64.whl", hash = "sha256:b2837718570f95dd41675328e111345f9b7095d821bac435aac173ac80b19983", size = 274110, upload-time = "2024-11-06T20:12:29.368Z" }, ] [[package]] name = "regex" -version = "2025.9.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b2/5a/4c63457fbcaf19d138d72b2e9b39405954f98c0349b31c601bfcb151582c/regex-2025.9.1.tar.gz", hash = "sha256:88ac07b38d20b54d79e704e38aa3bd2c0f8027432164226bdee201a1c0c9c9ff", size = 400852, upload-time = "2025-09-01T22:10:10.479Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/46/c1/ed9ef923156105a78aa004f9390e5dd87eadc29f5ca8840f172cadb638de/regex-2025.9.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c5aa2a6a73bf218515484b36a0d20c6ad9dc63f6339ff6224147b0e2c095ee55", size = 484813, upload-time = "2025-09-01T22:07:45.528Z" }, - { url = "https://files.pythonhosted.org/packages/05/de/97957618a774c67f892609eee2fafe3e30703fbbba66de5e6b79d7196dbc/regex-2025.9.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8c2ff5c01d5e47ad5fc9d31bcd61e78c2fa0068ed00cab86b7320214446da766", size = 288981, upload-time = "2025-09-01T22:07:48.464Z" }, - { url = "https://files.pythonhosted.org/packages/3c/b0/441afadd0a6ffccbd58a9663e5bdd182daa237893e5f8ceec6ff9df4418a/regex-2025.9.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d49dc84e796b666181de8a9973284cad6616335f01b52bf099643253094920fc", size = 286608, upload-time = "2025-09-01T22:07:50.484Z" }, - { url = "https://files.pythonhosted.org/packages/6e/cf/d89aecaf17e999ab11a3ef73fc9ab8b64f4e156f121250ef84340b35338d/regex-2025.9.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d9914fe1040874f83c15fcea86d94ea54091b0666eab330aaab69e30d106aabe", size = 780459, upload-time = "2025-09-01T22:07:52.34Z" }, - { url = "https://files.pythonhosted.org/packages/f6/05/05884594a9975a29597917bbdd6837f7b97e8ac23faf22d628aa781e58f7/regex-2025.9.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e71bceb3947362ec5eabd2ca0870bb78eae4edfc60c6c21495133c01b6cd2df4", size = 849276, upload-time = "2025-09-01T22:07:54.591Z" }, - { url = "https://files.pythonhosted.org/packages/8c/8d/2b3067506838d02096bf107beb129b2ce328cdf776d6474b7f542c0a7bfd/regex-2025.9.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:67a74456f410fe5e869239ee7a5423510fe5121549af133809d9591a8075893f", size = 897320, upload-time = "2025-09-01T22:07:56.129Z" }, - { url = "https://files.pythonhosted.org/packages/9e/b3/0f9f7766e980b900df0ba9901b52871a2e4203698fb35cdebd219240d5f7/regex-2025.9.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5c3b96ed0223b32dbdc53a83149b6de7ca3acd5acd9c8e64b42a166228abe29c", size = 789931, upload-time = "2025-09-01T22:07:57.834Z" }, - { url = "https://files.pythonhosted.org/packages/47/9f/7b2f29c8f8b698eb44be5fc68e8b9c8d32e99635eac5defc98de114e9f35/regex-2025.9.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:113d5aa950f428faf46fd77d452df62ebb4cc6531cb619f6cc30a369d326bfbd", size = 780764, upload-time = "2025-09-01T22:07:59.413Z" }, - { url = "https://files.pythonhosted.org/packages/ac/ac/56176caa86155c14462531eb0a4ddc450d17ba8875001122b3b7c0cb01bf/regex-2025.9.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:fcdeb38de4f7f3d69d798f4f371189061446792a84e7c92b50054c87aae9c07c", size = 773610, upload-time = "2025-09-01T22:08:01.042Z" }, - { url = "https://files.pythonhosted.org/packages/39/e8/9d6b9bd43998268a9de2f35602077519cacc9cb149f7381758cf8f502ba7/regex-2025.9.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4bcdff370509164b67a6c8ec23c9fb40797b72a014766fdc159bb809bd74f7d8", size = 844090, upload-time = "2025-09-01T22:08:02.94Z" }, - { url = "https://files.pythonhosted.org/packages/fd/92/d89743b089005cae4cb81cc2fe177e180b7452e60f29de53af34349640f8/regex-2025.9.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:7383efdf6e8e8c61d85e00cfb2e2e18da1a621b8bfb4b0f1c2747db57b942b8f", size = 834775, upload-time = "2025-09-01T22:08:04.781Z" }, - { url = "https://files.pythonhosted.org/packages/01/8f/86a3e0aaa89295d2a3445bb238e56369963ef6b02a5b4aa3362f4e687413/regex-2025.9.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:1ec2bd3bdf0f73f7e9f48dca550ba7d973692d5e5e9a90ac42cc5f16c4432d8b", size = 778521, upload-time = "2025-09-01T22:08:06.596Z" }, - { url = "https://files.pythonhosted.org/packages/3e/df/72072acb370ee8577c255717f8a58264f1d0de40aa3c9e6ebd5271cac633/regex-2025.9.1-cp310-cp310-win32.whl", hash = "sha256:9627e887116c4e9c0986d5c3b4f52bcfe3df09850b704f62ec3cbf177a0ae374", size = 264105, upload-time = "2025-09-01T22:08:08.708Z" }, - { url = "https://files.pythonhosted.org/packages/97/73/fb82faaf0375aeaa1bb675008246c79b6779fa5688585a35327610ea0e2e/regex-2025.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:94533e32dc0065eca43912ee6649c90ea0681d59f56d43c45b5bcda9a740b3dd", size = 276131, upload-time = "2025-09-01T22:08:10.156Z" }, - { url = "https://files.pythonhosted.org/packages/d3/3a/77d7718a2493e54725494f44da1a1e55704743dc4b8fabe5b0596f7b8014/regex-2025.9.1-cp310-cp310-win_arm64.whl", hash = "sha256:a874a61bb580d48642ffd338570ee24ab13fa023779190513fcacad104a6e251", size = 268462, upload-time = "2025-09-01T22:08:11.651Z" }, - { url = "https://files.pythonhosted.org/packages/06/4d/f741543c0c59f96c6625bc6c11fea1da2e378b7d293ffff6f318edc0ce14/regex-2025.9.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:e5bcf112b09bfd3646e4db6bf2e598534a17d502b0c01ea6550ba4eca780c5e6", size = 484811, upload-time = "2025-09-01T22:08:12.834Z" }, - { url = "https://files.pythonhosted.org/packages/c2/bd/27e73e92635b6fbd51afc26a414a3133243c662949cd1cda677fe7bb09bd/regex-2025.9.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:67a0295a3c31d675a9ee0238d20238ff10a9a2fdb7a1323c798fc7029578b15c", size = 288977, upload-time = "2025-09-01T22:08:14.499Z" }, - { url = "https://files.pythonhosted.org/packages/eb/7d/7dc0c6efc8bc93cd6e9b947581f5fde8a5dbaa0af7c4ec818c5729fdc807/regex-2025.9.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ea8267fbadc7d4bd7c1301a50e85c2ff0de293ff9452a1a9f8d82c6cafe38179", size = 286606, upload-time = "2025-09-01T22:08:15.881Z" }, - { url = "https://files.pythonhosted.org/packages/d1/01/9b5c6dd394f97c8f2c12f6e8f96879c9ac27292a718903faf2e27a0c09f6/regex-2025.9.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6aeff21de7214d15e928fb5ce757f9495214367ba62875100d4c18d293750cc1", size = 792436, upload-time = "2025-09-01T22:08:17.38Z" }, - { url = "https://files.pythonhosted.org/packages/fc/24/b7430cfc6ee34bbb3db6ff933beb5e7692e5cc81e8f6f4da63d353566fb0/regex-2025.9.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:d89f1bbbbbc0885e1c230f7770d5e98f4f00b0ee85688c871d10df8b184a6323", size = 858705, upload-time = "2025-09-01T22:08:19.037Z" }, - { url = "https://files.pythonhosted.org/packages/d6/98/155f914b4ea6ae012663188545c4f5216c11926d09b817127639d618b003/regex-2025.9.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ca3affe8ddea498ba9d294ab05f5f2d3b5ad5d515bc0d4a9016dd592a03afe52", size = 905881, upload-time = "2025-09-01T22:08:20.377Z" }, - { url = "https://files.pythonhosted.org/packages/8a/a7/a470e7bc8259c40429afb6d6a517b40c03f2f3e455c44a01abc483a1c512/regex-2025.9.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:91892a7a9f0a980e4c2c85dd19bc14de2b219a3a8867c4b5664b9f972dcc0c78", size = 798968, upload-time = "2025-09-01T22:08:22.081Z" }, - { url = "https://files.pythonhosted.org/packages/1d/fa/33f6fec4d41449fea5f62fdf5e46d668a1c046730a7f4ed9f478331a8e3a/regex-2025.9.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e1cb40406f4ae862710615f9f636c1e030fd6e6abe0e0f65f6a695a2721440c6", size = 781884, upload-time = "2025-09-01T22:08:23.832Z" }, - { url = "https://files.pythonhosted.org/packages/42/de/2b45f36ab20da14eedddf5009d370625bc5942d9953fa7e5037a32d66843/regex-2025.9.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:94f6cff6f7e2149c7e6499a6ecd4695379eeda8ccbccb9726e8149f2fe382e92", size = 852935, upload-time = "2025-09-01T22:08:25.536Z" }, - { url = "https://files.pythonhosted.org/packages/1e/f9/878f4fc92c87e125e27aed0f8ee0d1eced9b541f404b048f66f79914475a/regex-2025.9.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:6c0226fb322b82709e78c49cc33484206647f8a39954d7e9de1567f5399becd0", size = 844340, upload-time = "2025-09-01T22:08:27.141Z" }, - { url = "https://files.pythonhosted.org/packages/90/c2/5b6f2bce6ece5f8427c718c085eca0de4bbb4db59f54db77aa6557aef3e9/regex-2025.9.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a12f59c7c380b4fcf7516e9cbb126f95b7a9518902bcf4a852423ff1dcd03e6a", size = 787238, upload-time = "2025-09-01T22:08:28.75Z" }, - { url = "https://files.pythonhosted.org/packages/47/66/1ef1081c831c5b611f6f55f6302166cfa1bc9574017410ba5595353f846a/regex-2025.9.1-cp311-cp311-win32.whl", hash = "sha256:49865e78d147a7a4f143064488da5d549be6bfc3f2579e5044cac61f5c92edd4", size = 264118, upload-time = "2025-09-01T22:08:30.388Z" }, - { url = "https://files.pythonhosted.org/packages/ad/e0/8adc550d7169df1d6b9be8ff6019cda5291054a0107760c2f30788b6195f/regex-2025.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:d34b901f6f2f02ef60f4ad3855d3a02378c65b094efc4b80388a3aeb700a5de7", size = 276151, upload-time = "2025-09-01T22:08:32.073Z" }, - { url = "https://files.pythonhosted.org/packages/cb/bd/46fef29341396d955066e55384fb93b0be7d64693842bf4a9a398db6e555/regex-2025.9.1-cp311-cp311-win_arm64.whl", hash = "sha256:47d7c2dab7e0b95b95fd580087b6ae196039d62306a592fa4e162e49004b6299", size = 268460, upload-time = "2025-09-01T22:08:33.281Z" }, - { url = "https://files.pythonhosted.org/packages/39/ef/a0372febc5a1d44c1be75f35d7e5aff40c659ecde864d7fa10e138f75e74/regex-2025.9.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:84a25164bd8dcfa9f11c53f561ae9766e506e580b70279d05a7946510bdd6f6a", size = 486317, upload-time = "2025-09-01T22:08:34.529Z" }, - { url = "https://files.pythonhosted.org/packages/b5/25/d64543fb7eb41a1024786d518cc57faf1ce64aa6e9ddba097675a0c2f1d2/regex-2025.9.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:645e88a73861c64c1af558dd12294fb4e67b5c1eae0096a60d7d8a2143a611c7", size = 289698, upload-time = "2025-09-01T22:08:36.162Z" }, - { url = "https://files.pythonhosted.org/packages/d8/dc/fbf31fc60be317bd9f6f87daa40a8a9669b3b392aa8fe4313df0a39d0722/regex-2025.9.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:10a450cba5cd5409526ee1d4449f42aad38dd83ac6948cbd6d7f71ca7018f7db", size = 287242, upload-time = "2025-09-01T22:08:37.794Z" }, - { url = "https://files.pythonhosted.org/packages/0f/74/f933a607a538f785da5021acf5323961b4620972e2c2f1f39b6af4b71db7/regex-2025.9.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e9dc5991592933a4192c166eeb67b29d9234f9c86344481173d1bc52f73a7104", size = 797441, upload-time = "2025-09-01T22:08:39.108Z" }, - { url = "https://files.pythonhosted.org/packages/89/d0/71fc49b4f20e31e97f199348b8c4d6e613e7b6a54a90eb1b090c2b8496d7/regex-2025.9.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a32291add816961aab472f4fad344c92871a2ee33c6c219b6598e98c1f0108f2", size = 862654, upload-time = "2025-09-01T22:08:40.586Z" }, - { url = "https://files.pythonhosted.org/packages/59/05/984edce1411a5685ba9abbe10d42cdd9450aab4a022271f9585539788150/regex-2025.9.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:588c161a68a383478e27442a678e3b197b13c5ba51dbba40c1ccb8c4c7bee9e9", size = 910862, upload-time = "2025-09-01T22:08:42.416Z" }, - { url = "https://files.pythonhosted.org/packages/b2/02/5c891bb5fe0691cc1bad336e3a94b9097fbcf9707ec8ddc1dce9f0397289/regex-2025.9.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:47829ffaf652f30d579534da9085fe30c171fa2a6744a93d52ef7195dc38218b", size = 801991, upload-time = "2025-09-01T22:08:44.072Z" }, - { url = "https://files.pythonhosted.org/packages/f1/ae/fd10d6ad179910f7a1b3e0a7fde1ef8bb65e738e8ac4fd6ecff3f52252e4/regex-2025.9.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e978e5a35b293ea43f140c92a3269b6ab13fe0a2bf8a881f7ac740f5a6ade85", size = 786651, upload-time = "2025-09-01T22:08:46.079Z" }, - { url = "https://files.pythonhosted.org/packages/30/cf/9d686b07bbc5bf94c879cc168db92542d6bc9fb67088d03479fef09ba9d3/regex-2025.9.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4cf09903e72411f4bf3ac1eddd624ecfd423f14b2e4bf1c8b547b72f248b7bf7", size = 856556, upload-time = "2025-09-01T22:08:48.376Z" }, - { url = "https://files.pythonhosted.org/packages/91/9d/302f8a29bb8a49528abbab2d357a793e2a59b645c54deae0050f8474785b/regex-2025.9.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:d016b0f77be63e49613c9e26aaf4a242f196cd3d7a4f15898f5f0ab55c9b24d2", size = 849001, upload-time = "2025-09-01T22:08:50.067Z" }, - { url = "https://files.pythonhosted.org/packages/93/fa/b4c6dbdedc85ef4caec54c817cd5f4418dbfa2453214119f2538082bf666/regex-2025.9.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:656563e620de6908cd1c9d4f7b9e0777e3341ca7db9d4383bcaa44709c90281e", size = 788138, upload-time = "2025-09-01T22:08:51.933Z" }, - { url = "https://files.pythonhosted.org/packages/4a/1b/91ee17a3cbf87f81e8c110399279d0e57f33405468f6e70809100f2ff7d8/regex-2025.9.1-cp312-cp312-win32.whl", hash = "sha256:df33f4ef07b68f7ab637b1dbd70accbf42ef0021c201660656601e8a9835de45", size = 264524, upload-time = "2025-09-01T22:08:53.75Z" }, - { url = "https://files.pythonhosted.org/packages/92/28/6ba31cce05b0f1ec6b787921903f83bd0acf8efde55219435572af83c350/regex-2025.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:5aba22dfbc60cda7c0853516104724dc904caa2db55f2c3e6e984eb858d3edf3", size = 275489, upload-time = "2025-09-01T22:08:55.037Z" }, - { url = "https://files.pythonhosted.org/packages/bd/ed/ea49f324db00196e9ef7fe00dd13c6164d5173dd0f1bbe495e61bb1fb09d/regex-2025.9.1-cp312-cp312-win_arm64.whl", hash = "sha256:ec1efb4c25e1849c2685fa95da44bfde1b28c62d356f9c8d861d4dad89ed56e9", size = 268589, upload-time = "2025-09-01T22:08:56.369Z" }, - { url = "https://files.pythonhosted.org/packages/98/25/b2959ce90c6138c5142fe5264ee1f9b71a0c502ca4c7959302a749407c79/regex-2025.9.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:bc6834727d1b98d710a63e6c823edf6ffbf5792eba35d3fa119531349d4142ef", size = 485932, upload-time = "2025-09-01T22:08:57.913Z" }, - { url = "https://files.pythonhosted.org/packages/49/2e/6507a2a85f3f2be6643438b7bd976e67ad73223692d6988eb1ff444106d3/regex-2025.9.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c3dc05b6d579875719bccc5f3037b4dc80433d64e94681a0061845bd8863c025", size = 289568, upload-time = "2025-09-01T22:08:59.258Z" }, - { url = "https://files.pythonhosted.org/packages/c7/d8/de4a4b57215d99868f1640e062a7907e185ec7476b4b689e2345487c1ff4/regex-2025.9.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:22213527df4c985ec4a729b055a8306272d41d2f45908d7bacb79be0fa7a75ad", size = 286984, upload-time = "2025-09-01T22:09:00.835Z" }, - { url = "https://files.pythonhosted.org/packages/03/15/e8cb403403a57ed316e80661db0e54d7aa2efcd85cb6156f33cc18746922/regex-2025.9.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8e3f6e3c5a5a1adc3f7ea1b5aec89abfc2f4fbfba55dafb4343cd1d084f715b2", size = 797514, upload-time = "2025-09-01T22:09:02.538Z" }, - { url = "https://files.pythonhosted.org/packages/e4/26/2446f2b9585fed61faaa7e2bbce3aca7dd8df6554c32addee4c4caecf24a/regex-2025.9.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:bcb89c02a0d6c2bec9b0bb2d8c78782699afe8434493bfa6b4021cc51503f249", size = 862586, upload-time = "2025-09-01T22:09:04.322Z" }, - { url = "https://files.pythonhosted.org/packages/fd/b8/82ffbe9c0992c31bbe6ae1c4b4e21269a5df2559102b90543c9b56724c3c/regex-2025.9.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b0e2f95413eb0c651cd1516a670036315b91b71767af83bc8525350d4375ccba", size = 910815, upload-time = "2025-09-01T22:09:05.978Z" }, - { url = "https://files.pythonhosted.org/packages/2f/d8/7303ea38911759c1ee30cc5bc623ee85d3196b733c51fd6703c34290a8d9/regex-2025.9.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:09a41dc039e1c97d3c2ed3e26523f748e58c4de3ea7a31f95e1cf9ff973fff5a", size = 802042, upload-time = "2025-09-01T22:09:07.865Z" }, - { url = "https://files.pythonhosted.org/packages/fc/0e/6ad51a55ed4b5af512bb3299a05d33309bda1c1d1e1808fa869a0bed31bc/regex-2025.9.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4f0b4258b161094f66857a26ee938d3fe7b8a5063861e44571215c44fbf0e5df", size = 786764, upload-time = "2025-09-01T22:09:09.362Z" }, - { url = "https://files.pythonhosted.org/packages/8d/d5/394e3ffae6baa5a9217bbd14d96e0e5da47bb069d0dbb8278e2681a2b938/regex-2025.9.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:bf70e18ac390e6977ea7e56f921768002cb0fa359c4199606c7219854ae332e0", size = 856557, upload-time = "2025-09-01T22:09:11.129Z" }, - { url = "https://files.pythonhosted.org/packages/cd/80/b288d3910c41194ad081b9fb4b371b76b0bbfdce93e7709fc98df27b37dc/regex-2025.9.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b84036511e1d2bb0a4ff1aec26951caa2dea8772b223c9e8a19ed8885b32dbac", size = 849108, upload-time = "2025-09-01T22:09:12.877Z" }, - { url = "https://files.pythonhosted.org/packages/d1/cd/5ec76bf626d0d5abdc277b7a1734696f5f3d14fbb4a3e2540665bc305d85/regex-2025.9.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c2e05dcdfe224047f2a59e70408274c325d019aad96227ab959403ba7d58d2d7", size = 788201, upload-time = "2025-09-01T22:09:14.561Z" }, - { url = "https://files.pythonhosted.org/packages/b5/36/674672f3fdead107565a2499f3007788b878188acec6d42bc141c5366c2c/regex-2025.9.1-cp313-cp313-win32.whl", hash = "sha256:3b9a62107a7441b81ca98261808fed30ae36ba06c8b7ee435308806bd53c1ed8", size = 264508, upload-time = "2025-09-01T22:09:16.193Z" }, - { url = "https://files.pythonhosted.org/packages/83/ad/931134539515eb64ce36c24457a98b83c1b2e2d45adf3254b94df3735a76/regex-2025.9.1-cp313-cp313-win_amd64.whl", hash = "sha256:b38afecc10c177eb34cfae68d669d5161880849ba70c05cbfbe409f08cc939d7", size = 275469, upload-time = "2025-09-01T22:09:17.462Z" }, - { url = "https://files.pythonhosted.org/packages/24/8c/96d34e61c0e4e9248836bf86d69cb224fd222f270fa9045b24e218b65604/regex-2025.9.1-cp313-cp313-win_arm64.whl", hash = "sha256:ec329890ad5e7ed9fc292858554d28d58d56bf62cf964faf0aa57964b21155a0", size = 268586, upload-time = "2025-09-01T22:09:18.948Z" }, - { url = "https://files.pythonhosted.org/packages/21/b1/453cbea5323b049181ec6344a803777914074b9726c9c5dc76749966d12d/regex-2025.9.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:72fb7a016467d364546f22b5ae86c45680a4e0de6b2a6f67441d22172ff641f1", size = 486111, upload-time = "2025-09-01T22:09:20.734Z" }, - { url = "https://files.pythonhosted.org/packages/f6/0e/92577f197bd2f7652c5e2857f399936c1876978474ecc5b068c6d8a79c86/regex-2025.9.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:c9527fa74eba53f98ad86be2ba003b3ebe97e94b6eb2b916b31b5f055622ef03", size = 289520, upload-time = "2025-09-01T22:09:22.249Z" }, - { url = "https://files.pythonhosted.org/packages/af/c6/b472398116cca7ea5a6c4d5ccd0fc543f7fd2492cb0c48d2852a11972f73/regex-2025.9.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c905d925d194c83a63f92422af7544ec188301451b292c8b487f0543726107ca", size = 287215, upload-time = "2025-09-01T22:09:23.657Z" }, - { url = "https://files.pythonhosted.org/packages/cf/11/f12ecb0cf9ca792a32bb92f758589a84149017467a544f2f6bfb45c0356d/regex-2025.9.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:74df7c74a63adcad314426b1f4ea6054a5ab25d05b0244f0c07ff9ce640fa597", size = 797855, upload-time = "2025-09-01T22:09:25.197Z" }, - { url = "https://files.pythonhosted.org/packages/46/88/bbb848f719a540fb5997e71310f16f0b33a92c5d4b4d72d4311487fff2a3/regex-2025.9.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4f6e935e98ea48c7a2e8be44494de337b57a204470e7f9c9c42f912c414cd6f5", size = 863363, upload-time = "2025-09-01T22:09:26.705Z" }, - { url = "https://files.pythonhosted.org/packages/54/a9/2321eb3e2838f575a78d48e03c1e83ea61bd08b74b7ebbdeca8abc50fc25/regex-2025.9.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4a62d033cd9ebefc7c5e466731a508dfabee827d80b13f455de68a50d3c2543d", size = 910202, upload-time = "2025-09-01T22:09:28.906Z" }, - { url = "https://files.pythonhosted.org/packages/33/07/d1d70835d7d11b7e126181f316f7213c4572ecf5c5c97bdbb969fb1f38a2/regex-2025.9.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ef971ebf2b93bdc88d8337238be4dfb851cc97ed6808eb04870ef67589415171", size = 801808, upload-time = "2025-09-01T22:09:30.733Z" }, - { url = "https://files.pythonhosted.org/packages/13/d1/29e4d1bed514ef2bf3a4ead3cb8bb88ca8af94130239a4e68aa765c35b1c/regex-2025.9.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:d936a1db208bdca0eca1f2bb2c1ba1d8370b226785c1e6db76e32a228ffd0ad5", size = 786824, upload-time = "2025-09-01T22:09:32.61Z" }, - { url = "https://files.pythonhosted.org/packages/33/27/20d8ccb1bee460faaa851e6e7cc4cfe852a42b70caa1dca22721ba19f02f/regex-2025.9.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:7e786d9e4469698fc63815b8de08a89165a0aa851720eb99f5e0ea9d51dd2b6a", size = 857406, upload-time = "2025-09-01T22:09:34.117Z" }, - { url = "https://files.pythonhosted.org/packages/74/fe/60c6132262dc36430d51e0c46c49927d113d3a38c1aba6a26c7744c84cf3/regex-2025.9.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:6b81d7dbc5466ad2c57ce3a0ddb717858fe1a29535c8866f8514d785fdb9fc5b", size = 848593, upload-time = "2025-09-01T22:09:35.598Z" }, - { url = "https://files.pythonhosted.org/packages/cc/ae/2d4ff915622fabbef1af28387bf71e7f2f4944a348b8460d061e85e29bf0/regex-2025.9.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:cd4890e184a6feb0ef195338a6ce68906a8903a0f2eb7e0ab727dbc0a3156273", size = 787951, upload-time = "2025-09-01T22:09:37.139Z" }, - { url = "https://files.pythonhosted.org/packages/85/37/dc127703a9e715a284cc2f7dbdd8a9776fd813c85c126eddbcbdd1ca5fec/regex-2025.9.1-cp314-cp314-win32.whl", hash = "sha256:34679a86230e46164c9e0396b56cab13c0505972343880b9e705083cc5b8ec86", size = 269833, upload-time = "2025-09-01T22:09:39.245Z" }, - { url = "https://files.pythonhosted.org/packages/83/bf/4bed4d3d0570e16771defd5f8f15f7ea2311edcbe91077436d6908956c4a/regex-2025.9.1-cp314-cp314-win_amd64.whl", hash = "sha256:a1196e530a6bfa5f4bde029ac5b0295a6ecfaaffbfffede4bbaf4061d9455b70", size = 278742, upload-time = "2025-09-01T22:09:40.651Z" }, - { url = "https://files.pythonhosted.org/packages/cf/3e/7d7ac6fd085023312421e0d69dfabdfb28e116e513fadbe9afe710c01893/regex-2025.9.1-cp314-cp314-win_arm64.whl", hash = "sha256:f46d525934871ea772930e997d577d48c6983e50f206ff7b66d4ac5f8941e993", size = 271860, upload-time = "2025-09-01T22:09:42.413Z" }, - { url = "https://files.pythonhosted.org/packages/ae/28/3f2b211686160f15ccf2ecd770e25c588fb776332956006e02ab93982a5f/regex-2025.9.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a13d20007dce3c4b00af5d84f6c191ed1c0f70928c6d9b6cd7b8d2f125df7f46", size = 484825, upload-time = "2025-09-01T22:09:44.502Z" }, - { url = "https://files.pythonhosted.org/packages/be/8d/88539f6ca5967022942ab64f2038a037b344db636c80852d2b4b147f6b1a/regex-2025.9.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d6b046b0a01cb713fd53ef36cb59db4b0062b343db28e83b52ac6aa01ee5b368", size = 288972, upload-time = "2025-09-01T22:09:46.415Z" }, - { url = "https://files.pythonhosted.org/packages/88/ad/0b9316cfe91d8a2917fbcd8cb7c990051745b5852f9f3088b93b4267fe68/regex-2025.9.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0fa9a7477288717f42dbd02ff5d13057549e9a8cdb81f224c313154cc10bab52", size = 286624, upload-time = "2025-09-01T22:09:47.823Z" }, - { url = "https://files.pythonhosted.org/packages/e9/6e/199003d956dac19ddaebb2ef3c068379918539a497dd4d4eb5561a1c5e3f/regex-2025.9.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b2b3ad150c6bc01a8cd5030040675060e2adbe6cbc50aadc4da42c6d32ec266e", size = 779882, upload-time = "2025-09-01T22:09:49.601Z" }, - { url = "https://files.pythonhosted.org/packages/69/0a/a4bed3424beefbf8322b8b581aa2e2a65cbfe358d968f58a2ab910d62927/regex-2025.9.1-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:aa88d5a82dfe80deaf04e8c39c8b0ad166d5d527097eb9431cb932c44bf88715", size = 848938, upload-time = "2025-09-01T22:09:51.155Z" }, - { url = "https://files.pythonhosted.org/packages/d2/01/c6c2bc65e97387523742c54daec1384a50d2575d1189e844e4e320e145e9/regex-2025.9.1-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6f1dae2cf6c2dbc6fd2526653692c144721b3cf3f769d2a3c3aa44d0f38b9a58", size = 896747, upload-time = "2025-09-01T22:09:52.965Z" }, - { url = "https://files.pythonhosted.org/packages/4a/56/25480407a452198414a68d6d1f4f9920652810ba9f2c7f6279e5bd9b15ef/regex-2025.9.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ff62a3022914fc19adaa76b65e03cf62bc67ea16326cbbeb170d280710a7d719", size = 789466, upload-time = "2025-09-01T22:09:54.564Z" }, - { url = "https://files.pythonhosted.org/packages/82/5c/207422b3a2c3923eb09a1e807435effcbd8b756cd8ece24c153d525463d6/regex-2025.9.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a34ef82216189d823bc82f614d1031cb0b919abef27cecfd7b07d1e9a8bdeeb4", size = 780130, upload-time = "2025-09-01T22:09:56.413Z" }, - { url = "https://files.pythonhosted.org/packages/2c/e3/74a9da339f043006a1c0e0daae143c2d8b70e8987da3c967dbb8b6e8c9d2/regex-2025.9.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:6d40e6b49daae9ebbd7fa4e600697372cba85b826592408600068e83a3c47211", size = 773140, upload-time = "2025-09-01T22:09:57.99Z" }, - { url = "https://files.pythonhosted.org/packages/45/11/d2ca4dccec797f9325cfae0cfff8ee2977e1d5db43296ed949f8c63b6db0/regex-2025.9.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:0aeb0fe80331059c152a002142699a89bf3e44352aee28261315df0c9874759b", size = 843538, upload-time = "2025-09-01T22:09:59.74Z" }, - { url = "https://files.pythonhosted.org/packages/d5/9a/652095a5df5a8cd6b550280dc4b885f06beb68e2dc8728b380639b40446d/regex-2025.9.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:a90014d29cb3098403d82a879105d1418edbbdf948540297435ea6e377023ea7", size = 834151, upload-time = "2025-09-01T22:10:01.658Z" }, - { url = "https://files.pythonhosted.org/packages/17/27/f1ca20401df0544a627188fede42ef723b7d88fed8364b0d80fa9833bb84/regex-2025.9.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:6ff623271e0b0cc5a95b802666bbd70f17ddd641582d65b10fb260cc0c003529", size = 778009, upload-time = "2025-09-01T22:10:03.609Z" }, - { url = "https://files.pythonhosted.org/packages/20/28/c6c94f642c115e72142e8404464835f03dee55266a158455aeb8216d6d4d/regex-2025.9.1-cp39-cp39-win32.whl", hash = "sha256:d161bfdeabe236290adfd8c7588da7f835d67e9e7bf2945f1e9e120622839ba6", size = 264141, upload-time = "2025-09-01T22:10:05.457Z" }, - { url = "https://files.pythonhosted.org/packages/ff/7e/4ef3cf970b4c7ef9abee4c5a42f3405a452e5abe21095ee36f9a3a83af9d/regex-2025.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:43ebc77a7dfe36661192afd8d7df5e8be81ec32d2ad0c65b536f66ebfec3dece", size = 276219, upload-time = "2025-09-01T22:10:07.106Z" }, - { url = "https://files.pythonhosted.org/packages/60/42/86a45b36b0d8f37388485a2c93d0f3c571732ac4e17b92d8ccd5da53b792/regex-2025.9.1-cp39-cp39-win_arm64.whl", hash = "sha256:5d74b557cf5554001a869cda60b9a619be307df4d10155894aeaad3ee67c9899", size = 268497, upload-time = "2025-09-01T22:10:08.595Z" }, +version = "2025.11.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/cc/a9/546676f25e573a4cf00fe8e119b78a37b6a8fe2dc95cda877b30889c9c45/regex-2025.11.3.tar.gz", hash = "sha256:1fedc720f9bb2494ce31a58a1631f9c82df6a09b49c19517ea5cc280b4541e01", size = 414669, upload-time = "2025-11-03T21:34:22.089Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8a/d6/d788d52da01280a30a3f6268aef2aa71043bff359c618fea4c5b536654d5/regex-2025.11.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2b441a4ae2c8049106e8b39973bfbddfb25a179dda2bdb99b0eeb60c40a6a3af", size = 488087, upload-time = "2025-11-03T21:30:47.317Z" }, + { url = "https://files.pythonhosted.org/packages/69/39/abec3bd688ec9bbea3562de0fd764ff802976185f5ff22807bf0a2697992/regex-2025.11.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2fa2eed3f76677777345d2f81ee89f5de2f5745910e805f7af7386a920fa7313", size = 290544, upload-time = "2025-11-03T21:30:49.912Z" }, + { url = "https://files.pythonhosted.org/packages/39/b3/9a231475d5653e60002508f41205c61684bb2ffbf2401351ae2186897fc4/regex-2025.11.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d8b4a27eebd684319bdf473d39f1d79eed36bf2cd34bd4465cdb4618d82b3d56", size = 288408, upload-time = "2025-11-03T21:30:51.344Z" }, + { url = "https://files.pythonhosted.org/packages/c3/c5/1929a0491bd5ac2d1539a866768b88965fa8c405f3e16a8cef84313098d6/regex-2025.11.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5cf77eac15bd264986c4a2c63353212c095b40f3affb2bc6b4ef80c4776c1a28", size = 781584, upload-time = "2025-11-03T21:30:52.596Z" }, + { url = "https://files.pythonhosted.org/packages/ce/fd/16aa16cf5d497ef727ec966f74164fbe75d6516d3d58ac9aa989bc9cdaad/regex-2025.11.3-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b7f9ee819f94c6abfa56ec7b1dbab586f41ebbdc0a57e6524bd5e7f487a878c7", size = 850733, upload-time = "2025-11-03T21:30:53.825Z" }, + { url = "https://files.pythonhosted.org/packages/e6/49/3294b988855a221cb6565189edf5dc43239957427df2d81d4a6b15244f64/regex-2025.11.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:838441333bc90b829406d4a03cb4b8bf7656231b84358628b0406d803931ef32", size = 898691, upload-time = "2025-11-03T21:30:55.575Z" }, + { url = "https://files.pythonhosted.org/packages/14/62/b56d29e70b03666193369bdbdedfdc23946dbe9f81dd78ce262c74d988ab/regex-2025.11.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cfe6d3f0c9e3b7e8c0c694b24d25e677776f5ca26dce46fd6b0489f9c8339391", size = 791662, upload-time = "2025-11-03T21:30:57.262Z" }, + { url = "https://files.pythonhosted.org/packages/15/fc/e4c31d061eced63fbf1ce9d853975f912c61a7d406ea14eda2dd355f48e7/regex-2025.11.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2ab815eb8a96379a27c3b6157fcb127c8f59c36f043c1678110cea492868f1d5", size = 782587, upload-time = "2025-11-03T21:30:58.788Z" }, + { url = "https://files.pythonhosted.org/packages/b2/bb/5e30c7394bcf63f0537121c23e796be67b55a8847c3956ae6068f4c70702/regex-2025.11.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:728a9d2d173a65b62bdc380b7932dd8e74ed4295279a8fe1021204ce210803e7", size = 774709, upload-time = "2025-11-03T21:31:00.081Z" }, + { url = "https://files.pythonhosted.org/packages/c5/c4/fce773710af81b0cb37cb4ff0947e75d5d17dee304b93d940b87a67fc2f4/regex-2025.11.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:509dc827f89c15c66a0c216331260d777dd6c81e9a4e4f830e662b0bb296c313", size = 845773, upload-time = "2025-11-03T21:31:01.583Z" }, + { url = "https://files.pythonhosted.org/packages/7b/5e/9466a7ec4b8ec282077095c6eb50a12a389d2e036581134d4919e8ca518c/regex-2025.11.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:849202cd789e5f3cf5dcc7822c34b502181b4824a65ff20ce82da5524e45e8e9", size = 836164, upload-time = "2025-11-03T21:31:03.244Z" }, + { url = "https://files.pythonhosted.org/packages/95/18/82980a60e8ed1594eb3c89eb814fb276ef51b9af7caeab1340bfd8564af6/regex-2025.11.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b6f78f98741dcc89607c16b1e9426ee46ce4bf31ac5e6b0d40e81c89f3481ea5", size = 779832, upload-time = "2025-11-03T21:31:04.876Z" }, + { url = "https://files.pythonhosted.org/packages/03/cc/90ab0fdbe6dce064a42015433f9152710139fb04a8b81b4fb57a1cb63ffa/regex-2025.11.3-cp310-cp310-win32.whl", hash = "sha256:149eb0bba95231fb4f6d37c8f760ec9fa6fabf65bab555e128dde5f2475193ec", size = 265802, upload-time = "2025-11-03T21:31:06.581Z" }, + { url = "https://files.pythonhosted.org/packages/34/9d/e9e8493a85f3b1ddc4a5014465f5c2b78c3ea1cbf238dcfde78956378041/regex-2025.11.3-cp310-cp310-win_amd64.whl", hash = "sha256:ee3a83ce492074c35a74cc76cf8235d49e77b757193a5365ff86e3f2f93db9fd", size = 277722, upload-time = "2025-11-03T21:31:08.144Z" }, + { url = "https://files.pythonhosted.org/packages/15/c4/b54b24f553966564506dbf873a3e080aef47b356a3b39b5d5aba992b50db/regex-2025.11.3-cp310-cp310-win_arm64.whl", hash = "sha256:38af559ad934a7b35147716655d4a2f79fcef2d695ddfe06a06ba40ae631fa7e", size = 270289, upload-time = "2025-11-03T21:31:10.267Z" }, + { url = "https://files.pythonhosted.org/packages/f7/90/4fb5056e5f03a7048abd2b11f598d464f0c167de4f2a51aa868c376b8c70/regex-2025.11.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:eadade04221641516fa25139273505a1c19f9bf97589a05bc4cfcd8b4a618031", size = 488081, upload-time = "2025-11-03T21:31:11.946Z" }, + { url = "https://files.pythonhosted.org/packages/85/23/63e481293fac8b069d84fba0299b6666df720d875110efd0338406b5d360/regex-2025.11.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:feff9e54ec0dd3833d659257f5c3f5322a12eee58ffa360984b716f8b92983f4", size = 290554, upload-time = "2025-11-03T21:31:13.387Z" }, + { url = "https://files.pythonhosted.org/packages/2b/9d/b101d0262ea293a0066b4522dfb722eb6a8785a8c3e084396a5f2c431a46/regex-2025.11.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3b30bc921d50365775c09a7ed446359e5c0179e9e2512beec4a60cbcef6ddd50", size = 288407, upload-time = "2025-11-03T21:31:14.809Z" }, + { url = "https://files.pythonhosted.org/packages/0c/64/79241c8209d5b7e00577ec9dca35cd493cc6be35b7d147eda367d6179f6d/regex-2025.11.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f99be08cfead2020c7ca6e396c13543baea32343b7a9a5780c462e323bd8872f", size = 793418, upload-time = "2025-11-03T21:31:16.556Z" }, + { url = "https://files.pythonhosted.org/packages/3d/e2/23cd5d3573901ce8f9757c92ca4db4d09600b865919b6d3e7f69f03b1afd/regex-2025.11.3-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6dd329a1b61c0ee95ba95385fb0c07ea0d3fe1a21e1349fa2bec272636217118", size = 860448, upload-time = "2025-11-03T21:31:18.12Z" }, + { url = "https://files.pythonhosted.org/packages/2a/4c/aecf31beeaa416d0ae4ecb852148d38db35391aac19c687b5d56aedf3a8b/regex-2025.11.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4c5238d32f3c5269d9e87be0cf096437b7622b6920f5eac4fd202468aaeb34d2", size = 907139, upload-time = "2025-11-03T21:31:20.753Z" }, + { url = "https://files.pythonhosted.org/packages/61/22/b8cb00df7d2b5e0875f60628594d44dba283e951b1ae17c12f99e332cc0a/regex-2025.11.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:10483eefbfb0adb18ee9474498c9a32fcf4e594fbca0543bb94c48bac6183e2e", size = 800439, upload-time = "2025-11-03T21:31:22.069Z" }, + { url = "https://files.pythonhosted.org/packages/02/a8/c4b20330a5cdc7a8eb265f9ce593f389a6a88a0c5f280cf4d978f33966bc/regex-2025.11.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:78c2d02bb6e1da0720eedc0bad578049cad3f71050ef8cd065ecc87691bed2b0", size = 782965, upload-time = "2025-11-03T21:31:23.598Z" }, + { url = "https://files.pythonhosted.org/packages/b4/4c/ae3e52988ae74af4b04d2af32fee4e8077f26e51b62ec2d12d246876bea2/regex-2025.11.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e6b49cd2aad93a1790ce9cffb18964f6d3a4b0b3dbdbd5de094b65296fce6e58", size = 854398, upload-time = "2025-11-03T21:31:25.008Z" }, + { url = "https://files.pythonhosted.org/packages/06/d1/a8b9cf45874eda14b2e275157ce3b304c87e10fb38d9fc26a6e14eb18227/regex-2025.11.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:885b26aa3ee56433b630502dc3d36ba78d186a00cc535d3806e6bfd9ed3c70ab", size = 845897, upload-time = "2025-11-03T21:31:26.427Z" }, + { url = "https://files.pythonhosted.org/packages/ea/fe/1830eb0236be93d9b145e0bd8ab499f31602fe0999b1f19e99955aa8fe20/regex-2025.11.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ddd76a9f58e6a00f8772e72cff8ebcff78e022be95edf018766707c730593e1e", size = 788906, upload-time = "2025-11-03T21:31:28.078Z" }, + { url = "https://files.pythonhosted.org/packages/66/47/dc2577c1f95f188c1e13e2e69d8825a5ac582ac709942f8a03af42ed6e93/regex-2025.11.3-cp311-cp311-win32.whl", hash = "sha256:3e816cc9aac1cd3cc9a4ec4d860f06d40f994b5c7b4d03b93345f44e08cc68bf", size = 265812, upload-time = "2025-11-03T21:31:29.72Z" }, + { url = "https://files.pythonhosted.org/packages/50/1e/15f08b2f82a9bbb510621ec9042547b54d11e83cb620643ebb54e4eb7d71/regex-2025.11.3-cp311-cp311-win_amd64.whl", hash = "sha256:087511f5c8b7dfbe3a03f5d5ad0c2a33861b1fc387f21f6f60825a44865a385a", size = 277737, upload-time = "2025-11-03T21:31:31.422Z" }, + { url = "https://files.pythonhosted.org/packages/f4/fc/6500eb39f5f76c5e47a398df82e6b535a5e345f839581012a418b16f9cc3/regex-2025.11.3-cp311-cp311-win_arm64.whl", hash = "sha256:1ff0d190c7f68ae7769cd0313fe45820ba07ffebfddfaa89cc1eb70827ba0ddc", size = 270290, upload-time = "2025-11-03T21:31:33.041Z" }, + { url = "https://files.pythonhosted.org/packages/e8/74/18f04cb53e58e3fb107439699bd8375cf5a835eec81084e0bddbd122e4c2/regex-2025.11.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bc8ab71e2e31b16e40868a40a69007bc305e1109bd4658eb6cad007e0bf67c41", size = 489312, upload-time = "2025-11-03T21:31:34.343Z" }, + { url = "https://files.pythonhosted.org/packages/78/3f/37fcdd0d2b1e78909108a876580485ea37c91e1acf66d3bb8e736348f441/regex-2025.11.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:22b29dda7e1f7062a52359fca6e58e548e28c6686f205e780b02ad8ef710de36", size = 291256, upload-time = "2025-11-03T21:31:35.675Z" }, + { url = "https://files.pythonhosted.org/packages/bf/26/0a575f58eb23b7ebd67a45fccbc02ac030b737b896b7e7a909ffe43ffd6a/regex-2025.11.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3a91e4a29938bc1a082cc28fdea44be420bf2bebe2665343029723892eb073e1", size = 288921, upload-time = "2025-11-03T21:31:37.07Z" }, + { url = "https://files.pythonhosted.org/packages/ea/98/6a8dff667d1af907150432cf5abc05a17ccd32c72a3615410d5365ac167a/regex-2025.11.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:08b884f4226602ad40c5d55f52bf91a9df30f513864e0054bad40c0e9cf1afb7", size = 798568, upload-time = "2025-11-03T21:31:38.784Z" }, + { url = "https://files.pythonhosted.org/packages/64/15/92c1db4fa4e12733dd5a526c2dd2b6edcbfe13257e135fc0f6c57f34c173/regex-2025.11.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3e0b11b2b2433d1c39c7c7a30e3f3d0aeeea44c2a8d0bae28f6b95f639927a69", size = 864165, upload-time = "2025-11-03T21:31:40.559Z" }, + { url = "https://files.pythonhosted.org/packages/f9/e7/3ad7da8cdee1ce66c7cd37ab5ab05c463a86ffeb52b1a25fe7bd9293b36c/regex-2025.11.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:87eb52a81ef58c7ba4d45c3ca74e12aa4b4e77816f72ca25258a85b3ea96cb48", size = 912182, upload-time = "2025-11-03T21:31:42.002Z" }, + { url = "https://files.pythonhosted.org/packages/84/bd/9ce9f629fcb714ffc2c3faf62b6766ecb7a585e1e885eb699bcf130a5209/regex-2025.11.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a12ab1f5c29b4e93db518f5e3872116b7e9b1646c9f9f426f777b50d44a09e8c", size = 803501, upload-time = "2025-11-03T21:31:43.815Z" }, + { url = "https://files.pythonhosted.org/packages/7c/0f/8dc2e4349d8e877283e6edd6c12bdcebc20f03744e86f197ab6e4492bf08/regex-2025.11.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7521684c8c7c4f6e88e35ec89680ee1aa8358d3f09d27dfbdf62c446f5d4c695", size = 787842, upload-time = "2025-11-03T21:31:45.353Z" }, + { url = "https://files.pythonhosted.org/packages/f9/73/cff02702960bc185164d5619c0c62a2f598a6abff6695d391b096237d4ab/regex-2025.11.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7fe6e5440584e94cc4b3f5f4d98a25e29ca12dccf8873679a635638349831b98", size = 858519, upload-time = "2025-11-03T21:31:46.814Z" }, + { url = "https://files.pythonhosted.org/packages/61/83/0e8d1ae71e15bc1dc36231c90b46ee35f9d52fab2e226b0e039e7ea9c10a/regex-2025.11.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:8e026094aa12b43f4fd74576714e987803a315c76edb6b098b9809db5de58f74", size = 850611, upload-time = "2025-11-03T21:31:48.289Z" }, + { url = "https://files.pythonhosted.org/packages/c8/f5/70a5cdd781dcfaa12556f2955bf170cd603cb1c96a1827479f8faea2df97/regex-2025.11.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:435bbad13e57eb5606a68443af62bed3556de2f46deb9f7d4237bc2f1c9fb3a0", size = 789759, upload-time = "2025-11-03T21:31:49.759Z" }, + { url = "https://files.pythonhosted.org/packages/59/9b/7c29be7903c318488983e7d97abcf8ebd3830e4c956c4c540005fcfb0462/regex-2025.11.3-cp312-cp312-win32.whl", hash = "sha256:3839967cf4dc4b985e1570fd8d91078f0c519f30491c60f9ac42a8db039be204", size = 266194, upload-time = "2025-11-03T21:31:51.53Z" }, + { url = "https://files.pythonhosted.org/packages/1a/67/3b92df89f179d7c367be654ab5626ae311cb28f7d5c237b6bb976cd5fbbb/regex-2025.11.3-cp312-cp312-win_amd64.whl", hash = "sha256:e721d1b46e25c481dc5ded6f4b3f66c897c58d2e8cfdf77bbced84339108b0b9", size = 277069, upload-time = "2025-11-03T21:31:53.151Z" }, + { url = "https://files.pythonhosted.org/packages/d7/55/85ba4c066fe5094d35b249c3ce8df0ba623cfd35afb22d6764f23a52a1c5/regex-2025.11.3-cp312-cp312-win_arm64.whl", hash = "sha256:64350685ff08b1d3a6fff33f45a9ca183dc1d58bbfe4981604e70ec9801bbc26", size = 270330, upload-time = "2025-11-03T21:31:54.514Z" }, + { url = "https://files.pythonhosted.org/packages/e1/a7/dda24ebd49da46a197436ad96378f17df30ceb40e52e859fc42cac45b850/regex-2025.11.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:c1e448051717a334891f2b9a620fe36776ebf3dd8ec46a0b877c8ae69575feb4", size = 489081, upload-time = "2025-11-03T21:31:55.9Z" }, + { url = "https://files.pythonhosted.org/packages/19/22/af2dc751aacf88089836aa088a1a11c4f21a04707eb1b0478e8e8fb32847/regex-2025.11.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9b5aca4d5dfd7fbfbfbdaf44850fcc7709a01146a797536a8f84952e940cca76", size = 291123, upload-time = "2025-11-03T21:31:57.758Z" }, + { url = "https://files.pythonhosted.org/packages/a3/88/1a3ea5672f4b0a84802ee9891b86743438e7c04eb0b8f8c4e16a42375327/regex-2025.11.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:04d2765516395cf7dda331a244a3282c0f5ae96075f728629287dfa6f76ba70a", size = 288814, upload-time = "2025-11-03T21:32:01.12Z" }, + { url = "https://files.pythonhosted.org/packages/fb/8c/f5987895bf42b8ddeea1b315c9fedcfe07cadee28b9c98cf50d00adcb14d/regex-2025.11.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5d9903ca42bfeec4cebedba8022a7c97ad2aab22e09573ce9976ba01b65e4361", size = 798592, upload-time = "2025-11-03T21:32:03.006Z" }, + { url = "https://files.pythonhosted.org/packages/99/2a/6591ebeede78203fa77ee46a1c36649e02df9eaa77a033d1ccdf2fcd5d4e/regex-2025.11.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:639431bdc89d6429f6721625e8129413980ccd62e9d3f496be618a41d205f160", size = 864122, upload-time = "2025-11-03T21:32:04.553Z" }, + { url = "https://files.pythonhosted.org/packages/94/d6/be32a87cf28cf8ed064ff281cfbd49aefd90242a83e4b08b5a86b38e8eb4/regex-2025.11.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f117efad42068f9715677c8523ed2be1518116d1c49b1dd17987716695181efe", size = 912272, upload-time = "2025-11-03T21:32:06.148Z" }, + { url = "https://files.pythonhosted.org/packages/62/11/9bcef2d1445665b180ac7f230406ad80671f0fc2a6ffb93493b5dd8cd64c/regex-2025.11.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4aecb6f461316adf9f1f0f6a4a1a3d79e045f9b71ec76055a791affa3b285850", size = 803497, upload-time = "2025-11-03T21:32:08.162Z" }, + { url = "https://files.pythonhosted.org/packages/e5/a7/da0dc273d57f560399aa16d8a68ae7f9b57679476fc7ace46501d455fe84/regex-2025.11.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:3b3a5f320136873cc5561098dfab677eea139521cb9a9e8db98b7e64aef44cbc", size = 787892, upload-time = "2025-11-03T21:32:09.769Z" }, + { url = "https://files.pythonhosted.org/packages/da/4b/732a0c5a9736a0b8d6d720d4945a2f1e6f38f87f48f3173559f53e8d5d82/regex-2025.11.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:75fa6f0056e7efb1f42a1c34e58be24072cb9e61a601340cc1196ae92326a4f9", size = 858462, upload-time = "2025-11-03T21:32:11.769Z" }, + { url = "https://files.pythonhosted.org/packages/0c/f5/a2a03df27dc4c2d0c769220f5110ba8c4084b0bfa9ab0f9b4fcfa3d2b0fc/regex-2025.11.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:dbe6095001465294f13f1adcd3311e50dd84e5a71525f20a10bd16689c61ce0b", size = 850528, upload-time = "2025-11-03T21:32:13.906Z" }, + { url = "https://files.pythonhosted.org/packages/d6/09/e1cd5bee3841c7f6eb37d95ca91cdee7100b8f88b81e41c2ef426910891a/regex-2025.11.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:454d9b4ae7881afbc25015b8627c16d88a597479b9dea82b8c6e7e2e07240dc7", size = 789866, upload-time = "2025-11-03T21:32:15.748Z" }, + { url = "https://files.pythonhosted.org/packages/eb/51/702f5ea74e2a9c13d855a6a85b7f80c30f9e72a95493260193c07f3f8d74/regex-2025.11.3-cp313-cp313-win32.whl", hash = "sha256:28ba4d69171fc6e9896337d4fc63a43660002b7da53fc15ac992abcf3410917c", size = 266189, upload-time = "2025-11-03T21:32:17.493Z" }, + { url = "https://files.pythonhosted.org/packages/8b/00/6e29bb314e271a743170e53649db0fdb8e8ff0b64b4f425f5602f4eb9014/regex-2025.11.3-cp313-cp313-win_amd64.whl", hash = "sha256:bac4200befe50c670c405dc33af26dad5a3b6b255dd6c000d92fe4629f9ed6a5", size = 277054, upload-time = "2025-11-03T21:32:19.042Z" }, + { url = "https://files.pythonhosted.org/packages/25/f1/b156ff9f2ec9ac441710764dda95e4edaf5f36aca48246d1eea3f1fd96ec/regex-2025.11.3-cp313-cp313-win_arm64.whl", hash = "sha256:2292cd5a90dab247f9abe892ac584cb24f0f54680c73fcb4a7493c66c2bf2467", size = 270325, upload-time = "2025-11-03T21:32:21.338Z" }, + { url = "https://files.pythonhosted.org/packages/20/28/fd0c63357caefe5680b8ea052131acbd7f456893b69cc2a90cc3e0dc90d4/regex-2025.11.3-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:1eb1ebf6822b756c723e09f5186473d93236c06c579d2cc0671a722d2ab14281", size = 491984, upload-time = "2025-11-03T21:32:23.466Z" }, + { url = "https://files.pythonhosted.org/packages/df/ec/7014c15626ab46b902b3bcc4b28a7bae46d8f281fc7ea9c95e22fcaaa917/regex-2025.11.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:1e00ec2970aab10dc5db34af535f21fcf32b4a31d99e34963419636e2f85ae39", size = 292673, upload-time = "2025-11-03T21:32:25.034Z" }, + { url = "https://files.pythonhosted.org/packages/23/ab/3b952ff7239f20d05f1f99e9e20188513905f218c81d52fb5e78d2bf7634/regex-2025.11.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a4cb042b615245d5ff9b3794f56be4138b5adc35a4166014d31d1814744148c7", size = 291029, upload-time = "2025-11-03T21:32:26.528Z" }, + { url = "https://files.pythonhosted.org/packages/21/7e/3dc2749fc684f455f162dcafb8a187b559e2614f3826877d3844a131f37b/regex-2025.11.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:44f264d4bf02f3176467d90b294d59bf1db9fe53c141ff772f27a8b456b2a9ed", size = 807437, upload-time = "2025-11-03T21:32:28.363Z" }, + { url = "https://files.pythonhosted.org/packages/1b/0b/d529a85ab349c6a25d1ca783235b6e3eedf187247eab536797021f7126c6/regex-2025.11.3-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7be0277469bf3bd7a34a9c57c1b6a724532a0d235cd0dc4e7f4316f982c28b19", size = 873368, upload-time = "2025-11-03T21:32:30.4Z" }, + { url = "https://files.pythonhosted.org/packages/7d/18/2d868155f8c9e3e9d8f9e10c64e9a9f496bb8f7e037a88a8bed26b435af6/regex-2025.11.3-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0d31e08426ff4b5b650f68839f5af51a92a5b51abd8554a60c2fbc7c71f25d0b", size = 914921, upload-time = "2025-11-03T21:32:32.123Z" }, + { url = "https://files.pythonhosted.org/packages/2d/71/9d72ff0f354fa783fe2ba913c8734c3b433b86406117a8db4ea2bf1c7a2f/regex-2025.11.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e43586ce5bd28f9f285a6e729466841368c4a0353f6fd08d4ce4630843d3648a", size = 812708, upload-time = "2025-11-03T21:32:34.305Z" }, + { url = "https://files.pythonhosted.org/packages/e7/19/ce4bf7f5575c97f82b6e804ffb5c4e940c62609ab2a0d9538d47a7fdf7d4/regex-2025.11.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:0f9397d561a4c16829d4e6ff75202c1c08b68a3bdbfe29dbfcdb31c9830907c6", size = 795472, upload-time = "2025-11-03T21:32:36.364Z" }, + { url = "https://files.pythonhosted.org/packages/03/86/fd1063a176ffb7b2315f9a1b08d17b18118b28d9df163132615b835a26ee/regex-2025.11.3-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:dd16e78eb18ffdb25ee33a0682d17912e8cc8a770e885aeee95020046128f1ce", size = 868341, upload-time = "2025-11-03T21:32:38.042Z" }, + { url = "https://files.pythonhosted.org/packages/12/43/103fb2e9811205e7386366501bc866a164a0430c79dd59eac886a2822950/regex-2025.11.3-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:ffcca5b9efe948ba0661e9df0fa50d2bc4b097c70b9810212d6b62f05d83b2dd", size = 854666, upload-time = "2025-11-03T21:32:40.079Z" }, + { url = "https://files.pythonhosted.org/packages/7d/22/e392e53f3869b75804762c7c848bd2dd2abf2b70fb0e526f58724638bd35/regex-2025.11.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c56b4d162ca2b43318ac671c65bd4d563e841a694ac70e1a976ac38fcf4ca1d2", size = 799473, upload-time = "2025-11-03T21:32:42.148Z" }, + { url = "https://files.pythonhosted.org/packages/4f/f9/8bd6b656592f925b6845fcbb4d57603a3ac2fb2373344ffa1ed70aa6820a/regex-2025.11.3-cp313-cp313t-win32.whl", hash = "sha256:9ddc42e68114e161e51e272f667d640f97e84a2b9ef14b7477c53aac20c2d59a", size = 268792, upload-time = "2025-11-03T21:32:44.13Z" }, + { url = "https://files.pythonhosted.org/packages/e5/87/0e7d603467775ff65cd2aeabf1b5b50cc1c3708556a8b849a2fa4dd1542b/regex-2025.11.3-cp313-cp313t-win_amd64.whl", hash = "sha256:7a7c7fdf755032ffdd72c77e3d8096bdcb0eb92e89e17571a196f03d88b11b3c", size = 280214, upload-time = "2025-11-03T21:32:45.853Z" }, + { url = "https://files.pythonhosted.org/packages/8d/d0/2afc6f8e94e2b64bfb738a7c2b6387ac1699f09f032d363ed9447fd2bb57/regex-2025.11.3-cp313-cp313t-win_arm64.whl", hash = "sha256:df9eb838c44f570283712e7cff14c16329a9f0fb19ca492d21d4b7528ee6821e", size = 271469, upload-time = "2025-11-03T21:32:48.026Z" }, + { url = "https://files.pythonhosted.org/packages/31/e9/f6e13de7e0983837f7b6d238ad9458800a874bf37c264f7923e63409944c/regex-2025.11.3-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:9697a52e57576c83139d7c6f213d64485d3df5bf84807c35fa409e6c970801c6", size = 489089, upload-time = "2025-11-03T21:32:50.027Z" }, + { url = "https://files.pythonhosted.org/packages/a3/5c/261f4a262f1fa65141c1b74b255988bd2fa020cc599e53b080667d591cfc/regex-2025.11.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:e18bc3f73bd41243c9b38a6d9f2366cd0e0137a9aebe2d8ff76c5b67d4c0a3f4", size = 291059, upload-time = "2025-11-03T21:32:51.682Z" }, + { url = "https://files.pythonhosted.org/packages/8e/57/f14eeb7f072b0e9a5a090d1712741fd8f214ec193dba773cf5410108bb7d/regex-2025.11.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:61a08bcb0ec14ff4e0ed2044aad948d0659604f824cbd50b55e30b0ec6f09c73", size = 288900, upload-time = "2025-11-03T21:32:53.569Z" }, + { url = "https://files.pythonhosted.org/packages/3c/6b/1d650c45e99a9b327586739d926a1cd4e94666b1bd4af90428b36af66dc7/regex-2025.11.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c9c30003b9347c24bcc210958c5d167b9e4f9be786cb380a7d32f14f9b84674f", size = 799010, upload-time = "2025-11-03T21:32:55.222Z" }, + { url = "https://files.pythonhosted.org/packages/99/ee/d66dcbc6b628ce4e3f7f0cbbb84603aa2fc0ffc878babc857726b8aab2e9/regex-2025.11.3-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4e1e592789704459900728d88d41a46fe3969b82ab62945560a31732ffc19a6d", size = 864893, upload-time = "2025-11-03T21:32:57.239Z" }, + { url = "https://files.pythonhosted.org/packages/bf/2d/f238229f1caba7ac87a6c4153d79947fb0261415827ae0f77c304260c7d3/regex-2025.11.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6538241f45eb5a25aa575dbba1069ad786f68a4f2773a29a2bd3dd1f9de787be", size = 911522, upload-time = "2025-11-03T21:32:59.274Z" }, + { url = "https://files.pythonhosted.org/packages/bd/3d/22a4eaba214a917c80e04f6025d26143690f0419511e0116508e24b11c9b/regex-2025.11.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bce22519c989bb72a7e6b36a199384c53db7722fe669ba891da75907fe3587db", size = 803272, upload-time = "2025-11-03T21:33:01.393Z" }, + { url = "https://files.pythonhosted.org/packages/84/b1/03188f634a409353a84b5ef49754b97dbcc0c0f6fd6c8ede505a8960a0a4/regex-2025.11.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:66d559b21d3640203ab9075797a55165d79017520685fb407b9234d72ab63c62", size = 787958, upload-time = "2025-11-03T21:33:03.379Z" }, + { url = "https://files.pythonhosted.org/packages/99/6a/27d072f7fbf6fadd59c64d210305e1ff865cc3b78b526fd147db768c553b/regex-2025.11.3-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:669dcfb2e38f9e8c69507bace46f4889e3abbfd9b0c29719202883c0a603598f", size = 859289, upload-time = "2025-11-03T21:33:05.374Z" }, + { url = "https://files.pythonhosted.org/packages/9a/70/1b3878f648e0b6abe023172dacb02157e685564853cc363d9961bcccde4e/regex-2025.11.3-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:32f74f35ff0f25a5021373ac61442edcb150731fbaa28286bbc8bb1582c89d02", size = 850026, upload-time = "2025-11-03T21:33:07.131Z" }, + { url = "https://files.pythonhosted.org/packages/dd/d5/68e25559b526b8baab8e66839304ede68ff6727237a47727d240006bd0ff/regex-2025.11.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:e6c7a21dffba883234baefe91bc3388e629779582038f75d2a5be918e250f0ed", size = 789499, upload-time = "2025-11-03T21:33:09.141Z" }, + { url = "https://files.pythonhosted.org/packages/fc/df/43971264857140a350910d4e33df725e8c94dd9dee8d2e4729fa0d63d49e/regex-2025.11.3-cp314-cp314-win32.whl", hash = "sha256:795ea137b1d809eb6836b43748b12634291c0ed55ad50a7d72d21edf1cd565c4", size = 271604, upload-time = "2025-11-03T21:33:10.9Z" }, + { url = "https://files.pythonhosted.org/packages/01/6f/9711b57dc6894a55faf80a4c1b5aa4f8649805cb9c7aef46f7d27e2b9206/regex-2025.11.3-cp314-cp314-win_amd64.whl", hash = "sha256:9f95fbaa0ee1610ec0fc6b26668e9917a582ba80c52cc6d9ada15e30aa9ab9ad", size = 280320, upload-time = "2025-11-03T21:33:12.572Z" }, + { url = "https://files.pythonhosted.org/packages/f1/7e/f6eaa207d4377481f5e1775cdeb5a443b5a59b392d0065f3417d31d80f87/regex-2025.11.3-cp314-cp314-win_arm64.whl", hash = "sha256:dfec44d532be4c07088c3de2876130ff0fbeeacaa89a137decbbb5f665855a0f", size = 273372, upload-time = "2025-11-03T21:33:14.219Z" }, + { url = "https://files.pythonhosted.org/packages/c3/06/49b198550ee0f5e4184271cee87ba4dfd9692c91ec55289e6282f0f86ccf/regex-2025.11.3-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:ba0d8a5d7f04f73ee7d01d974d47c5834f8a1b0224390e4fe7c12a3a92a78ecc", size = 491985, upload-time = "2025-11-03T21:33:16.555Z" }, + { url = "https://files.pythonhosted.org/packages/ce/bf/abdafade008f0b1c9da10d934034cb670432d6cf6cbe38bbb53a1cfd6cf8/regex-2025.11.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:442d86cf1cfe4faabf97db7d901ef58347efd004934da045c745e7b5bd57ac49", size = 292669, upload-time = "2025-11-03T21:33:18.32Z" }, + { url = "https://files.pythonhosted.org/packages/f9/ef/0c357bb8edbd2ad8e273fcb9e1761bc37b8acbc6e1be050bebd6475f19c1/regex-2025.11.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:fd0a5e563c756de210bb964789b5abe4f114dacae9104a47e1a649b910361536", size = 291030, upload-time = "2025-11-03T21:33:20.048Z" }, + { url = "https://files.pythonhosted.org/packages/79/06/edbb67257596649b8fb088d6aeacbcb248ac195714b18a65e018bf4c0b50/regex-2025.11.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bf3490bcbb985a1ae97b2ce9ad1c0f06a852d5b19dde9b07bdf25bf224248c95", size = 807674, upload-time = "2025-11-03T21:33:21.797Z" }, + { url = "https://files.pythonhosted.org/packages/f4/d9/ad4deccfce0ea336296bd087f1a191543bb99ee1c53093dcd4c64d951d00/regex-2025.11.3-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3809988f0a8b8c9dcc0f92478d6501fac7200b9ec56aecf0ec21f4a2ec4b6009", size = 873451, upload-time = "2025-11-03T21:33:23.741Z" }, + { url = "https://files.pythonhosted.org/packages/13/75/a55a4724c56ef13e3e04acaab29df26582f6978c000ac9cd6810ad1f341f/regex-2025.11.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f4ff94e58e84aedb9c9fce66d4ef9f27a190285b451420f297c9a09f2b9abee9", size = 914980, upload-time = "2025-11-03T21:33:25.999Z" }, + { url = "https://files.pythonhosted.org/packages/67/1e/a1657ee15bd9116f70d4a530c736983eed997b361e20ecd8f5ca3759d5c5/regex-2025.11.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7eb542fd347ce61e1321b0a6b945d5701528dca0cd9759c2e3bb8bd57e47964d", size = 812852, upload-time = "2025-11-03T21:33:27.852Z" }, + { url = "https://files.pythonhosted.org/packages/b8/6f/f7516dde5506a588a561d296b2d0044839de06035bb486b326065b4c101e/regex-2025.11.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:d6c2d5919075a1f2e413c00b056ea0c2f065b3f5fe83c3d07d325ab92dce51d6", size = 795566, upload-time = "2025-11-03T21:33:32.364Z" }, + { url = "https://files.pythonhosted.org/packages/d9/dd/3d10b9e170cc16fb34cb2cef91513cf3df65f440b3366030631b2984a264/regex-2025.11.3-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:3f8bf11a4827cc7ce5a53d4ef6cddd5ad25595d3c1435ef08f76825851343154", size = 868463, upload-time = "2025-11-03T21:33:34.459Z" }, + { url = "https://files.pythonhosted.org/packages/f5/8e/935e6beff1695aa9085ff83195daccd72acc82c81793df480f34569330de/regex-2025.11.3-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:22c12d837298651e5550ac1d964e4ff57c3f56965fc1812c90c9fb2028eaf267", size = 854694, upload-time = "2025-11-03T21:33:36.793Z" }, + { url = "https://files.pythonhosted.org/packages/92/12/10650181a040978b2f5720a6a74d44f841371a3d984c2083fc1752e4acf6/regex-2025.11.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:62ba394a3dda9ad41c7c780f60f6e4a70988741415ae96f6d1bf6c239cf01379", size = 799691, upload-time = "2025-11-03T21:33:39.079Z" }, + { url = "https://files.pythonhosted.org/packages/67/90/8f37138181c9a7690e7e4cb388debbd389342db3c7381d636d2875940752/regex-2025.11.3-cp314-cp314t-win32.whl", hash = "sha256:4bf146dca15cdd53224a1bf46d628bd7590e4a07fbb69e720d561aea43a32b38", size = 274583, upload-time = "2025-11-03T21:33:41.302Z" }, + { url = "https://files.pythonhosted.org/packages/8f/cd/867f5ec442d56beb56f5f854f40abcfc75e11d10b11fdb1869dd39c63aaf/regex-2025.11.3-cp314-cp314t-win_amd64.whl", hash = "sha256:adad1a1bcf1c9e76346e091d22d23ac54ef28e1365117d99521631078dfec9de", size = 284286, upload-time = "2025-11-03T21:33:43.324Z" }, + { url = "https://files.pythonhosted.org/packages/20/31/32c0c4610cbc070362bf1d2e4ea86d1ea29014d400a6d6c2486fcfd57766/regex-2025.11.3-cp314-cp314t-win_arm64.whl", hash = "sha256:c54f768482cef41e219720013cd05933b6f971d9562544d691c68699bf2b6801", size = 274741, upload-time = "2025-11-03T21:33:45.557Z" }, + { url = "https://files.pythonhosted.org/packages/13/a2/71d9e3de7a8ba4dd301ce6327d3feacc911413dc0660a4e2256a8b43401b/regex-2025.11.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:81519e25707fc076978c6143b81ea3dc853f176895af05bf7ec51effe818aeec", size = 488097, upload-time = "2025-11-03T21:33:47.455Z" }, + { url = "https://files.pythonhosted.org/packages/68/c2/c74c874de5c3e73302ea1f47968f2a990c2517c6fb827c95d2b857e01098/regex-2025.11.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3bf28b1873a8af8bbb58c26cc56ea6e534d80053b41fb511a35795b6de507e6a", size = 290540, upload-time = "2025-11-03T21:33:49.296Z" }, + { url = "https://files.pythonhosted.org/packages/4e/4d/97cc016a7f705a496328d4d569db2023a200c2c391b0a0ddf36e66dd80f5/regex-2025.11.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:856a25c73b697f2ce2a24e7968285579e62577a048526161a2c0f53090bea9f9", size = 288419, upload-time = "2025-11-03T21:33:51.309Z" }, + { url = "https://files.pythonhosted.org/packages/e4/e6/725cd713a926a13f55bb9c4585d4cca51ab7d9ef77cb96eba8398e207418/regex-2025.11.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8a3d571bd95fade53c86c0517f859477ff3a93c3fde10c9e669086f038e0f207", size = 781001, upload-time = "2025-11-03T21:33:53.375Z" }, + { url = "https://files.pythonhosted.org/packages/15/15/ff1e7428b64a66c83dd53a88294c3e1c3e6a08653d9670efd24cbb068fa5/regex-2025.11.3-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:732aea6de26051af97b94bc98ed86448821f839d058e5d259c72bf6d73ad0fc0", size = 850430, upload-time = "2025-11-03T21:33:55.362Z" }, + { url = "https://files.pythonhosted.org/packages/89/1d/d4045ff7c563eb73be4419784a06efc7de02e15959b917fee335de8c10de/regex-2025.11.3-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:51c1c1847128238f54930edb8805b660305dca164645a9fd29243f5610beea34", size = 898038, upload-time = "2025-11-03T21:33:57.73Z" }, + { url = "https://files.pythonhosted.org/packages/60/ee/e9c71bdf334edc14ff769463bd6173966b0445e442a28b18f790b84032f5/regex-2025.11.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:22dd622a402aad4558277305350699b2be14bc59f64d64ae1d928ce7d072dced", size = 791201, upload-time = "2025-11-03T21:33:59.848Z" }, + { url = "https://files.pythonhosted.org/packages/aa/21/cc19ad5a091f921fea0caae5e4fb926d5b5350c376d09e2ada9f5d58b54c/regex-2025.11.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f3b5a391c7597ffa96b41bd5cbd2ed0305f515fcbb367dfa72735679d5502364", size = 781906, upload-time = "2025-11-03T21:34:02.28Z" }, + { url = "https://files.pythonhosted.org/packages/98/cc/22c52f2aff7f7e2591fe18db4b6143236c18800752e8e4c2cf938b64fe06/regex-2025.11.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:cc4076a5b4f36d849fd709284b4a3b112326652f3b0466f04002a6c15a0c96c1", size = 774267, upload-time = "2025-11-03T21:34:05.232Z" }, + { url = "https://files.pythonhosted.org/packages/6a/db/424728b5d831ebd15e86ca55f13990e2bc3c5b417dddaaaa3bd712f12e32/regex-2025.11.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:a295ca2bba5c1c885826ce3125fa0b9f702a1be547d821c01d65f199e10c01e2", size = 845211, upload-time = "2025-11-03T21:34:07.57Z" }, + { url = "https://files.pythonhosted.org/packages/91/fc/48d64dcef7a8f3ecdb9fe60bb3a6c97b317dea089ac72594eccf6cad1938/regex-2025.11.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:b4774ff32f18e0504bfc4e59a3e71e18d83bc1e171a3c8ed75013958a03b2f14", size = 835575, upload-time = "2025-11-03T21:34:10.781Z" }, + { url = "https://files.pythonhosted.org/packages/48/0b/c0cbc34e933ed528bb225d298df572a2e75fbe1db1b36fe719867a5e582d/regex-2025.11.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:22e7d1cdfa88ef33a2ae6aa0d707f9255eb286ffbd90045f1088246833223aee", size = 779426, upload-time = "2025-11-03T21:34:13.498Z" }, + { url = "https://files.pythonhosted.org/packages/90/54/4987210bc0d139d90b579fbbdaafca2d4acee9c413843d6c1c8ac0dd56bf/regex-2025.11.3-cp39-cp39-win32.whl", hash = "sha256:74d04244852ff73b32eeede4f76f51c5bcf44bc3c207bc3e6cf1c5c45b890708", size = 265836, upload-time = "2025-11-03T21:34:15.556Z" }, + { url = "https://files.pythonhosted.org/packages/ab/68/0a3a1bf596db98c369d0f10242b006f4a928633e001906889f80c9b4b639/regex-2025.11.3-cp39-cp39-win_amd64.whl", hash = "sha256:7a50cd39f73faa34ec18d6720ee25ef10c4c1839514186fcda658a06c06057a2", size = 277807, upload-time = "2025-11-03T21:34:17.502Z" }, + { url = "https://files.pythonhosted.org/packages/7c/98/4ed5b608130249810977b030b86abfc7fcd19b31aa75060d8ad11003826d/regex-2025.11.3-cp39-cp39-win_arm64.whl", hash = "sha256:43b4fb020e779ca81c1b5255015fe2b82816c76ec982354534ad9ec09ad7c9e3", size = 270328, upload-time = "2025-11-03T21:34:19.783Z" }, +] + +[[package]] +name = "requests" +version = "2.32.4" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "certifi", marker = "python_full_version < '3.9'" }, + { name = "charset-normalizer", marker = "python_full_version < '3.9'" }, + { name = "idna", marker = "python_full_version < '3.9'" }, + { name = "urllib3", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz", hash = "sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422", size = 135258, upload-time = "2025-06-09T16:43:07.34Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7c/e4/56027c4a6b4ae70ca9de302488c5ca95ad4a39e190093d6c1a8ace08341b/requests-2.32.4-py3-none-any.whl", hash = "sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c", size = 64847, upload-time = "2025-06-09T16:43:05.728Z" }, ] [[package]] name = "requests" version = "2.32.5" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] dependencies = [ - { name = "certifi" }, - { name = "charset-normalizer" }, - { name = "idna" }, - { name = "urllib3" }, + { name = "certifi", marker = "python_full_version >= '3.9'" }, + { name = "charset-normalizer", marker = "python_full_version >= '3.9'" }, + { name = "idna", marker = "python_full_version >= '3.9'" }, + { name = "urllib3", version = "2.6.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517, upload-time = "2025-08-18T20:46:02.573Z" } wheels = [ @@ -2242,29 +4433,12 @@ wheels = [ ] [[package]] -name = "ruff" -version = "0.12.11" +name = "six" +version = "1.17.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/de/55/16ab6a7d88d93001e1ae4c34cbdcfb376652d761799459ff27c1dc20f6fa/ruff-0.12.11.tar.gz", hash = "sha256:c6b09ae8426a65bbee5425b9d0b82796dbb07cb1af045743c79bfb163001165d", size = 5347103, upload-time = "2025-08-28T13:59:08.87Z" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d6/a2/3b3573e474de39a7a475f3fbaf36a25600bfeb238e1a90392799163b64a0/ruff-0.12.11-py3-none-linux_armv6l.whl", hash = "sha256:93fce71e1cac3a8bf9200e63a38ac5c078f3b6baebffb74ba5274fb2ab276065", size = 11979885, upload-time = "2025-08-28T13:58:26.654Z" }, - { url = "https://files.pythonhosted.org/packages/76/e4/235ad6d1785a2012d3ded2350fd9bc5c5af8c6f56820e696b0118dfe7d24/ruff-0.12.11-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:b8e33ac7b28c772440afa80cebb972ffd823621ded90404f29e5ab6d1e2d4b93", size = 12742364, upload-time = "2025-08-28T13:58:30.256Z" }, - { url = "https://files.pythonhosted.org/packages/2c/0d/15b72c5fe6b1e402a543aa9d8960e0a7e19dfb079f5b0b424db48b7febab/ruff-0.12.11-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d69fb9d4937aa19adb2e9f058bc4fbfe986c2040acb1a4a9747734834eaa0bfd", size = 11920111, upload-time = "2025-08-28T13:58:33.677Z" }, - { url = "https://files.pythonhosted.org/packages/3e/c0/f66339d7893798ad3e17fa5a1e587d6fd9806f7c1c062b63f8b09dda6702/ruff-0.12.11-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:411954eca8464595077a93e580e2918d0a01a19317af0a72132283e28ae21bee", size = 12160060, upload-time = "2025-08-28T13:58:35.74Z" }, - { url = "https://files.pythonhosted.org/packages/03/69/9870368326db26f20c946205fb2d0008988aea552dbaec35fbacbb46efaa/ruff-0.12.11-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:6a2c0a2e1a450f387bf2c6237c727dd22191ae8c00e448e0672d624b2bbd7fb0", size = 11799848, upload-time = "2025-08-28T13:58:38.051Z" }, - { url = "https://files.pythonhosted.org/packages/25/8c/dd2c7f990e9b3a8a55eee09d4e675027d31727ce33cdb29eab32d025bdc9/ruff-0.12.11-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8ca4c3a7f937725fd2413c0e884b5248a19369ab9bdd850b5781348ba283f644", size = 13536288, upload-time = "2025-08-28T13:58:40.046Z" }, - { url = "https://files.pythonhosted.org/packages/7a/30/d5496fa09aba59b5e01ea76775a4c8897b13055884f56f1c35a4194c2297/ruff-0.12.11-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:4d1df0098124006f6a66ecf3581a7f7e754c4df7644b2e6704cd7ca80ff95211", size = 14490633, upload-time = "2025-08-28T13:58:42.285Z" }, - { url = "https://files.pythonhosted.org/packages/9b/2f/81f998180ad53445d403c386549d6946d0748e536d58fce5b5e173511183/ruff-0.12.11-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5a8dd5f230efc99a24ace3b77e3555d3fbc0343aeed3fc84c8d89e75ab2ff793", size = 13888430, upload-time = "2025-08-28T13:58:44.641Z" }, - { url = "https://files.pythonhosted.org/packages/87/71/23a0d1d5892a377478c61dbbcffe82a3476b050f38b5162171942a029ef3/ruff-0.12.11-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4dc75533039d0ed04cd33fb8ca9ac9620b99672fe7ff1533b6402206901c34ee", size = 12913133, upload-time = "2025-08-28T13:58:47.039Z" }, - { url = "https://files.pythonhosted.org/packages/80/22/3c6cef96627f89b344c933781ed38329bfb87737aa438f15da95907cbfd5/ruff-0.12.11-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4fc58f9266d62c6eccc75261a665f26b4ef64840887fc6cbc552ce5b29f96cc8", size = 13169082, upload-time = "2025-08-28T13:58:49.157Z" }, - { url = "https://files.pythonhosted.org/packages/05/b5/68b3ff96160d8b49e8dd10785ff3186be18fd650d356036a3770386e6c7f/ruff-0.12.11-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:5a0113bd6eafd545146440225fe60b4e9489f59eb5f5f107acd715ba5f0b3d2f", size = 13139490, upload-time = "2025-08-28T13:58:51.593Z" }, - { url = "https://files.pythonhosted.org/packages/59/b9/050a3278ecd558f74f7ee016fbdf10591d50119df8d5f5da45a22c6afafc/ruff-0.12.11-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:0d737b4059d66295c3ea5720e6efc152623bb83fde5444209b69cd33a53e2000", size = 11958928, upload-time = "2025-08-28T13:58:53.943Z" }, - { url = "https://files.pythonhosted.org/packages/f9/bc/93be37347db854806904a43b0493af8d6873472dfb4b4b8cbb27786eb651/ruff-0.12.11-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:916fc5defee32dbc1fc1650b576a8fed68f5e8256e2180d4d9855aea43d6aab2", size = 11764513, upload-time = "2025-08-28T13:58:55.976Z" }, - { url = "https://files.pythonhosted.org/packages/7a/a1/1471751e2015a81fd8e166cd311456c11df74c7e8769d4aabfbc7584c7ac/ruff-0.12.11-py3-none-musllinux_1_2_i686.whl", hash = "sha256:c984f07d7adb42d3ded5be894fb4007f30f82c87559438b4879fe7aa08c62b39", size = 12745154, upload-time = "2025-08-28T13:58:58.16Z" }, - { url = "https://files.pythonhosted.org/packages/68/ab/2542b14890d0f4872dd81b7b2a6aed3ac1786fae1ce9b17e11e6df9e31e3/ruff-0.12.11-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:e07fbb89f2e9249f219d88331c833860489b49cdf4b032b8e4432e9b13e8a4b9", size = 13227653, upload-time = "2025-08-28T13:59:00.276Z" }, - { url = "https://files.pythonhosted.org/packages/22/16/2fbfc61047dbfd009c58a28369a693a1484ad15441723be1cd7fe69bb679/ruff-0.12.11-py3-none-win32.whl", hash = "sha256:c792e8f597c9c756e9bcd4d87cf407a00b60af77078c96f7b6366ea2ce9ba9d3", size = 11944270, upload-time = "2025-08-28T13:59:02.347Z" }, - { url = "https://files.pythonhosted.org/packages/08/a5/34276984705bfe069cd383101c45077ee029c3fe3b28225bf67aa35f0647/ruff-0.12.11-py3-none-win_amd64.whl", hash = "sha256:a3283325960307915b6deb3576b96919ee89432ebd9c48771ca12ee8afe4a0fd", size = 13046600, upload-time = "2025-08-28T13:59:04.751Z" }, - { url = "https://files.pythonhosted.org/packages/84/a8/001d4a7c2b37623a3fd7463208267fb906df40ff31db496157549cfd6e72/ruff-0.12.11-py3-none-win_arm64.whl", hash = "sha256:bae4d6e6a2676f8fb0f98b74594a048bae1b944aab17e9f5d504062303c6dbea", size = 12135290, upload-time = "2025-08-28T13:59:06.933Z" }, + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, ] [[package]] @@ -2277,30 +4451,75 @@ dependencies = [ { name = "eth-typing" }, { name = "eth-utils" }, { name = "packaging" }, - { name = "prettytable" }, + { name = "prettytable", version = "3.11.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "prettytable", version = "3.16.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "prettytable", version = "3.17.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, { name = "pycryptodome" }, { name = "web3" }, ] [package.dev-dependencies] dev = [ - { name = "coverage", extra = ["toml"] }, + { name = "black" }, + { name = "coverage", version = "7.6.1", source = { registry = "https://pypi.org/simple" }, extra = ["toml"], marker = "python_full_version < '3.9'" }, + { name = "coverage", version = "7.10.7", source = { registry = "https://pypi.org/simple" }, extra = ["toml"], marker = "python_full_version == '3.9.*'" }, + { name = "coverage", version = "7.13.1", source = { registry = "https://pypi.org/simple" }, extra = ["toml"], marker = "python_full_version >= '3.10'" }, { name = "deepdiff" }, - { name = "filelock" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "filelock", version = "3.16.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "filelock", version = "3.19.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "filelock", version = "3.20.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, - { name = "numpy", version = "2.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, - { name = "openai" }, + { name = "numpy", version = "2.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "openai", version = "2.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "openai", version = "2.14.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "orderly-set" }, - { name = "pdoc" }, - { name = "pre-commit" }, - { name = "pytest" }, - { name = "pytest-cov" }, + { name = "pdoc", version = "14.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pdoc", version = "15.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "pdoc", version = "16.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "pylint" }, + { name = "pytest", version = "8.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "pytest", version = "9.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "pytest-cov", version = "5.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pytest-cov", version = "7.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "pytest-insta", version = "0.1.11", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "pytest-insta", version = "0.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "pytest-xdist" }, - { name = "ruff" }, - { name = "yamllint" }, + { name = "pytest-insta", version = "0.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "pytest-xdist", version = "3.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pytest-xdist", version = "3.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +doc = [ + { name = "pdoc", version = "14.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pdoc", version = "15.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "pdoc", version = "16.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, +] +lint = [ + { name = "black" }, + { name = "pylint" }, +] +test = [ + { name = "coverage", version = "7.6.1", source = { registry = "https://pypi.org/simple" }, extra = ["toml"], marker = "python_full_version < '3.9'" }, + { name = "coverage", version = "7.10.7", source = { registry = "https://pypi.org/simple" }, extra = ["toml"], marker = "python_full_version == '3.9.*'" }, + { name = "coverage", version = "7.13.1", source = { registry = "https://pypi.org/simple" }, extra = ["toml"], marker = "python_full_version >= '3.10'" }, + { name = "deepdiff" }, + { name = "filelock", version = "3.16.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "filelock", version = "3.19.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "filelock", version = "3.20.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, + { name = "numpy", version = "2.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "orderly-set" }, + { name = "pytest", version = "8.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "pytest", version = "9.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "pytest-cov", version = "5.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pytest-cov", version = "7.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "pytest-insta", version = "0.1.11", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "pytest-insta", version = "0.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "pytest-xdist", version = "3.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pytest-xdist", version = "3.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] [package.metadata] @@ -2317,6 +4536,7 @@ requires-dist = [ [package.metadata.requires-dev] dev = [ + { name = "black", specifier = "==22.3.0" }, { name = "coverage", extras = ["toml"] }, { name = "deepdiff" }, { name = "filelock" }, @@ -2324,13 +4544,27 @@ dev = [ { name = "openai" }, { name = "orderly-set", specifier = "==5.3.2" }, { name = "pdoc" }, - { name = "pre-commit", specifier = ">=3.5.0" }, + { name = "pylint", specifier = "==3.0.3" }, + { name = "pytest" }, + { name = "pytest-cov" }, + { name = "pytest-insta" }, + { name = "pytest-xdist" }, +] +doc = [{ name = "pdoc" }] +lint = [ + { name = "black", specifier = "==22.3.0" }, + { name = "pylint", specifier = "==3.0.3" }, +] +test = [ + { name = "coverage", extras = ["toml"] }, + { name = "deepdiff" }, + { name = "filelock" }, + { name = "numpy" }, + { name = "orderly-set", specifier = "==5.3.2" }, { name = "pytest" }, { name = "pytest-cov" }, { name = "pytest-insta" }, { name = "pytest-xdist" }, - { name = "ruff", specifier = ">=0.12.0,<1.0" }, - { name = "yamllint", specifier = ">=1.35.1" }, ] [[package]] @@ -2344,65 +4578,104 @@ wheels = [ [[package]] name = "solc-select" -version = "1.1.0" +version = "1.2.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "packaging" }, { name = "pycryptodome" }, + { name = "requests", version = "2.32.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "requests", version = "2.32.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e0/55/55b19b5f6625e7f1a8398e9f19e61843e4c651164cac10673edd412c0678/solc_select-1.1.0.tar.gz", hash = "sha256:94fb6f976ab50ffccc5757d5beaf76417b27cbe15436cfe2b30cdb838f5c7516", size = 46445, upload-time = "2025-04-18T18:51:46.737Z" } +sdist = { url = "https://files.pythonhosted.org/packages/62/89/51e614fdbf26f47268c18f8a3b6cf1cb67c9a8b48b7b7231c948cae97814/solc_select-1.2.0.tar.gz", hash = "sha256:ad0a7afcae05061ce5e7632950b1fa0193ba9eaf05e4956f86effee024c6fb07", size = 52211, upload-time = "2025-12-04T20:57:18.584Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8e/1f/86baaf154964018ee9766e7655f6f80e7fd491a93a3f1bb1020b29ecd0da/solc_select-1.1.0-py3-none-any.whl", hash = "sha256:3bee7c9df024d5517d2cdcae6ce92e622bd387629a52b8e3ff015c58e2db7f80", size = 33756, upload-time = "2025-04-18T18:51:45.124Z" }, + { url = "https://files.pythonhosted.org/packages/68/ec/0d653030e519fa308e01978698289deb3e0a08adbed5df20a8b8a4884fcf/solc_select-1.2.0-py3-none-any.whl", hash = "sha256:dd00cab29229570c4399058852a4052f2120d87c7e341e35f04794a13cfdd1de", size = 36276, upload-time = "2025-12-04T20:57:16.58Z" }, ] [[package]] name = "tomli" -version = "2.2.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/18/87/302344fed471e44a87289cf4967697d07e532f2421fdaf868a303cbae4ff/tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff", size = 17175, upload-time = "2024-11-27T22:38:36.873Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/43/ca/75707e6efa2b37c77dadb324ae7d9571cb424e61ea73fad7c56c2d14527f/tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249", size = 131077, upload-time = "2024-11-27T22:37:54.956Z" }, - { url = "https://files.pythonhosted.org/packages/c7/16/51ae563a8615d472fdbffc43a3f3d46588c264ac4f024f63f01283becfbb/tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6", size = 123429, upload-time = "2024-11-27T22:37:56.698Z" }, - { url = "https://files.pythonhosted.org/packages/f1/dd/4f6cd1e7b160041db83c694abc78e100473c15d54620083dbd5aae7b990e/tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a", size = 226067, upload-time = "2024-11-27T22:37:57.63Z" }, - { url = "https://files.pythonhosted.org/packages/a9/6b/c54ede5dc70d648cc6361eaf429304b02f2871a345bbdd51e993d6cdf550/tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee", size = 236030, upload-time = "2024-11-27T22:37:59.344Z" }, - { url = "https://files.pythonhosted.org/packages/1f/47/999514fa49cfaf7a92c805a86c3c43f4215621855d151b61c602abb38091/tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e", size = 240898, upload-time = "2024-11-27T22:38:00.429Z" }, - { url = "https://files.pythonhosted.org/packages/73/41/0a01279a7ae09ee1573b423318e7934674ce06eb33f50936655071d81a24/tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4", size = 229894, upload-time = "2024-11-27T22:38:02.094Z" }, - { url = "https://files.pythonhosted.org/packages/55/18/5d8bc5b0a0362311ce4d18830a5d28943667599a60d20118074ea1b01bb7/tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106", size = 245319, upload-time = "2024-11-27T22:38:03.206Z" }, - { url = "https://files.pythonhosted.org/packages/92/a3/7ade0576d17f3cdf5ff44d61390d4b3febb8a9fc2b480c75c47ea048c646/tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8", size = 238273, upload-time = "2024-11-27T22:38:04.217Z" }, - { url = "https://files.pythonhosted.org/packages/72/6f/fa64ef058ac1446a1e51110c375339b3ec6be245af9d14c87c4a6412dd32/tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", size = 98310, upload-time = "2024-11-27T22:38:05.908Z" }, - { url = "https://files.pythonhosted.org/packages/6a/1c/4a2dcde4a51b81be3530565e92eda625d94dafb46dbeb15069df4caffc34/tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", size = 108309, upload-time = "2024-11-27T22:38:06.812Z" }, - { url = "https://files.pythonhosted.org/packages/52/e1/f8af4c2fcde17500422858155aeb0d7e93477a0d59a98e56cbfe75070fd0/tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea", size = 132762, upload-time = "2024-11-27T22:38:07.731Z" }, - { url = "https://files.pythonhosted.org/packages/03/b8/152c68bb84fc00396b83e7bbddd5ec0bd3dd409db4195e2a9b3e398ad2e3/tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8", size = 123453, upload-time = "2024-11-27T22:38:09.384Z" }, - { url = "https://files.pythonhosted.org/packages/c8/d6/fc9267af9166f79ac528ff7e8c55c8181ded34eb4b0e93daa767b8841573/tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192", size = 233486, upload-time = "2024-11-27T22:38:10.329Z" }, - { url = "https://files.pythonhosted.org/packages/5c/51/51c3f2884d7bab89af25f678447ea7d297b53b5a3b5730a7cb2ef6069f07/tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222", size = 242349, upload-time = "2024-11-27T22:38:11.443Z" }, - { url = "https://files.pythonhosted.org/packages/ab/df/bfa89627d13a5cc22402e441e8a931ef2108403db390ff3345c05253935e/tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77", size = 252159, upload-time = "2024-11-27T22:38:13.099Z" }, - { url = "https://files.pythonhosted.org/packages/9e/6e/fa2b916dced65763a5168c6ccb91066f7639bdc88b48adda990db10c8c0b/tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6", size = 237243, upload-time = "2024-11-27T22:38:14.766Z" }, - { url = "https://files.pythonhosted.org/packages/b4/04/885d3b1f650e1153cbb93a6a9782c58a972b94ea4483ae4ac5cedd5e4a09/tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd", size = 259645, upload-time = "2024-11-27T22:38:15.843Z" }, - { url = "https://files.pythonhosted.org/packages/9c/de/6b432d66e986e501586da298e28ebeefd3edc2c780f3ad73d22566034239/tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e", size = 244584, upload-time = "2024-11-27T22:38:17.645Z" }, - { url = "https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size = 98875, upload-time = "2024-11-27T22:38:19.159Z" }, - { url = "https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size = 109418, upload-time = "2024-11-27T22:38:20.064Z" }, - { url = "https://files.pythonhosted.org/packages/04/90/2ee5f2e0362cb8a0b6499dc44f4d7d48f8fff06d28ba46e6f1eaa61a1388/tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7", size = 132708, upload-time = "2024-11-27T22:38:21.659Z" }, - { url = "https://files.pythonhosted.org/packages/c0/ec/46b4108816de6b385141f082ba99e315501ccd0a2ea23db4a100dd3990ea/tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c", size = 123582, upload-time = "2024-11-27T22:38:22.693Z" }, - { url = "https://files.pythonhosted.org/packages/a0/bd/b470466d0137b37b68d24556c38a0cc819e8febe392d5b199dcd7f578365/tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13", size = 232543, upload-time = "2024-11-27T22:38:24.367Z" }, - { url = "https://files.pythonhosted.org/packages/d9/e5/82e80ff3b751373f7cead2815bcbe2d51c895b3c990686741a8e56ec42ab/tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281", size = 241691, upload-time = "2024-11-27T22:38:26.081Z" }, - { url = "https://files.pythonhosted.org/packages/05/7e/2a110bc2713557d6a1bfb06af23dd01e7dde52b6ee7dadc589868f9abfac/tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272", size = 251170, upload-time = "2024-11-27T22:38:27.921Z" }, - { url = "https://files.pythonhosted.org/packages/64/7b/22d713946efe00e0adbcdfd6d1aa119ae03fd0b60ebed51ebb3fa9f5a2e5/tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140", size = 236530, upload-time = "2024-11-27T22:38:29.591Z" }, - { url = "https://files.pythonhosted.org/packages/38/31/3a76f67da4b0cf37b742ca76beaf819dca0ebef26d78fc794a576e08accf/tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2", size = 258666, upload-time = "2024-11-27T22:38:30.639Z" }, - { url = "https://files.pythonhosted.org/packages/07/10/5af1293da642aded87e8a988753945d0cf7e00a9452d3911dd3bb354c9e2/tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744", size = 243954, upload-time = "2024-11-27T22:38:31.702Z" }, - { url = "https://files.pythonhosted.org/packages/5b/b9/1ed31d167be802da0fc95020d04cd27b7d7065cc6fbefdd2f9186f60d7bd/tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec", size = 98724, upload-time = "2024-11-27T22:38:32.837Z" }, - { url = "https://files.pythonhosted.org/packages/c7/32/b0963458706accd9afcfeb867c0f9175a741bf7b19cd424230714d722198/tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69", size = 109383, upload-time = "2024-11-27T22:38:34.455Z" }, - { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257, upload-time = "2024-11-27T22:38:35.385Z" }, +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/52/ed/3f73f72945444548f33eba9a87fc7a6e969915e7b1acc8260b30e1f76a2f/tomli-2.3.0.tar.gz", hash = "sha256:64be704a875d2a59753d80ee8a533c3fe183e3f06807ff7dc2232938ccb01549", size = 17392, upload-time = "2025-10-08T22:01:47.119Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b3/2e/299f62b401438d5fe1624119c723f5d877acc86a4c2492da405626665f12/tomli-2.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:88bd15eb972f3664f5ed4b57c1634a97153b4bac4479dcb6a495f41921eb7f45", size = 153236, upload-time = "2025-10-08T22:01:00.137Z" }, + { url = "https://files.pythonhosted.org/packages/86/7f/d8fffe6a7aefdb61bced88fcb5e280cfd71e08939da5894161bd71bea022/tomli-2.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:883b1c0d6398a6a9d29b508c331fa56adbcdff647f6ace4dfca0f50e90dfd0ba", size = 148084, upload-time = "2025-10-08T22:01:01.63Z" }, + { url = "https://files.pythonhosted.org/packages/47/5c/24935fb6a2ee63e86d80e4d3b58b222dafaf438c416752c8b58537c8b89a/tomli-2.3.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d1381caf13ab9f300e30dd8feadb3de072aeb86f1d34a8569453ff32a7dea4bf", size = 234832, upload-time = "2025-10-08T22:01:02.543Z" }, + { url = "https://files.pythonhosted.org/packages/89/da/75dfd804fc11e6612846758a23f13271b76d577e299592b4371a4ca4cd09/tomli-2.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a0e285d2649b78c0d9027570d4da3425bdb49830a6156121360b3f8511ea3441", size = 242052, upload-time = "2025-10-08T22:01:03.836Z" }, + { url = "https://files.pythonhosted.org/packages/70/8c/f48ac899f7b3ca7eb13af73bacbc93aec37f9c954df3c08ad96991c8c373/tomli-2.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0a154a9ae14bfcf5d8917a59b51ffd5a3ac1fd149b71b47a3a104ca4edcfa845", size = 239555, upload-time = "2025-10-08T22:01:04.834Z" }, + { url = "https://files.pythonhosted.org/packages/ba/28/72f8afd73f1d0e7829bfc093f4cb98ce0a40ffc0cc997009ee1ed94ba705/tomli-2.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:74bf8464ff93e413514fefd2be591c3b0b23231a77f901db1eb30d6f712fc42c", size = 245128, upload-time = "2025-10-08T22:01:05.84Z" }, + { url = "https://files.pythonhosted.org/packages/b6/eb/a7679c8ac85208706d27436e8d421dfa39d4c914dcf5fa8083a9305f58d9/tomli-2.3.0-cp311-cp311-win32.whl", hash = "sha256:00b5f5d95bbfc7d12f91ad8c593a1659b6387b43f054104cda404be6bda62456", size = 96445, upload-time = "2025-10-08T22:01:06.896Z" }, + { url = "https://files.pythonhosted.org/packages/0a/fe/3d3420c4cb1ad9cb462fb52967080575f15898da97e21cb6f1361d505383/tomli-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:4dc4ce8483a5d429ab602f111a93a6ab1ed425eae3122032db7e9acf449451be", size = 107165, upload-time = "2025-10-08T22:01:08.107Z" }, + { url = "https://files.pythonhosted.org/packages/ff/b7/40f36368fcabc518bb11c8f06379a0fd631985046c038aca08c6d6a43c6e/tomli-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d7d86942e56ded512a594786a5ba0a5e521d02529b3826e7761a05138341a2ac", size = 154891, upload-time = "2025-10-08T22:01:09.082Z" }, + { url = "https://files.pythonhosted.org/packages/f9/3f/d9dd692199e3b3aab2e4e4dd948abd0f790d9ded8cd10cbaae276a898434/tomli-2.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:73ee0b47d4dad1c5e996e3cd33b8a76a50167ae5f96a2607cbe8cc773506ab22", size = 148796, upload-time = "2025-10-08T22:01:10.266Z" }, + { url = "https://files.pythonhosted.org/packages/60/83/59bff4996c2cf9f9387a0f5a3394629c7efa5ef16142076a23a90f1955fa/tomli-2.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:792262b94d5d0a466afb5bc63c7daa9d75520110971ee269152083270998316f", size = 242121, upload-time = "2025-10-08T22:01:11.332Z" }, + { url = "https://files.pythonhosted.org/packages/45/e5/7c5119ff39de8693d6baab6c0b6dcb556d192c165596e9fc231ea1052041/tomli-2.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4f195fe57ecceac95a66a75ac24d9d5fbc98ef0962e09b2eddec5d39375aae52", size = 250070, upload-time = "2025-10-08T22:01:12.498Z" }, + { url = "https://files.pythonhosted.org/packages/45/12/ad5126d3a278f27e6701abde51d342aa78d06e27ce2bb596a01f7709a5a2/tomli-2.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e31d432427dcbf4d86958c184b9bfd1e96b5b71f8eb17e6d02531f434fd335b8", size = 245859, upload-time = "2025-10-08T22:01:13.551Z" }, + { url = "https://files.pythonhosted.org/packages/fb/a1/4d6865da6a71c603cfe6ad0e6556c73c76548557a8d658f9e3b142df245f/tomli-2.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7b0882799624980785240ab732537fcfc372601015c00f7fc367c55308c186f6", size = 250296, upload-time = "2025-10-08T22:01:14.614Z" }, + { url = "https://files.pythonhosted.org/packages/a0/b7/a7a7042715d55c9ba6e8b196d65d2cb662578b4d8cd17d882d45322b0d78/tomli-2.3.0-cp312-cp312-win32.whl", hash = "sha256:ff72b71b5d10d22ecb084d345fc26f42b5143c5533db5e2eaba7d2d335358876", size = 97124, upload-time = "2025-10-08T22:01:15.629Z" }, + { url = "https://files.pythonhosted.org/packages/06/1e/f22f100db15a68b520664eb3328fb0ae4e90530887928558112c8d1f4515/tomli-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:1cb4ed918939151a03f33d4242ccd0aa5f11b3547d0cf30f7c74a408a5b99878", size = 107698, upload-time = "2025-10-08T22:01:16.51Z" }, + { url = "https://files.pythonhosted.org/packages/89/48/06ee6eabe4fdd9ecd48bf488f4ac783844fd777f547b8d1b61c11939974e/tomli-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5192f562738228945d7b13d4930baffda67b69425a7f0da96d360b0a3888136b", size = 154819, upload-time = "2025-10-08T22:01:17.964Z" }, + { url = "https://files.pythonhosted.org/packages/f1/01/88793757d54d8937015c75dcdfb673c65471945f6be98e6a0410fba167ed/tomli-2.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:be71c93a63d738597996be9528f4abe628d1adf5e6eb11607bc8fe1a510b5dae", size = 148766, upload-time = "2025-10-08T22:01:18.959Z" }, + { url = "https://files.pythonhosted.org/packages/42/17/5e2c956f0144b812e7e107f94f1cc54af734eb17b5191c0bbfb72de5e93e/tomli-2.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c4665508bcbac83a31ff8ab08f424b665200c0e1e645d2bd9ab3d3e557b6185b", size = 240771, upload-time = "2025-10-08T22:01:20.106Z" }, + { url = "https://files.pythonhosted.org/packages/d5/f4/0fbd014909748706c01d16824eadb0307115f9562a15cbb012cd9b3512c5/tomli-2.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4021923f97266babc6ccab9f5068642a0095faa0a51a246a6a02fccbb3514eaf", size = 248586, upload-time = "2025-10-08T22:01:21.164Z" }, + { url = "https://files.pythonhosted.org/packages/30/77/fed85e114bde5e81ecf9bc5da0cc69f2914b38f4708c80ae67d0c10180c5/tomli-2.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4ea38c40145a357d513bffad0ed869f13c1773716cf71ccaa83b0fa0cc4e42f", size = 244792, upload-time = "2025-10-08T22:01:22.417Z" }, + { url = "https://files.pythonhosted.org/packages/55/92/afed3d497f7c186dc71e6ee6d4fcb0acfa5f7d0a1a2878f8beae379ae0cc/tomli-2.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ad805ea85eda330dbad64c7ea7a4556259665bdf9d2672f5dccc740eb9d3ca05", size = 248909, upload-time = "2025-10-08T22:01:23.859Z" }, + { url = "https://files.pythonhosted.org/packages/f8/84/ef50c51b5a9472e7265ce1ffc7f24cd4023d289e109f669bdb1553f6a7c2/tomli-2.3.0-cp313-cp313-win32.whl", hash = "sha256:97d5eec30149fd3294270e889b4234023f2c69747e555a27bd708828353ab606", size = 96946, upload-time = "2025-10-08T22:01:24.893Z" }, + { url = "https://files.pythonhosted.org/packages/b2/b7/718cd1da0884f281f95ccfa3a6cc572d30053cba64603f79d431d3c9b61b/tomli-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:0c95ca56fbe89e065c6ead5b593ee64b84a26fca063b5d71a1122bf26e533999", size = 107705, upload-time = "2025-10-08T22:01:26.153Z" }, + { url = "https://files.pythonhosted.org/packages/19/94/aeafa14a52e16163008060506fcb6aa1949d13548d13752171a755c65611/tomli-2.3.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:cebc6fe843e0733ee827a282aca4999b596241195f43b4cc371d64fc6639da9e", size = 154244, upload-time = "2025-10-08T22:01:27.06Z" }, + { url = "https://files.pythonhosted.org/packages/db/e4/1e58409aa78eefa47ccd19779fc6f36787edbe7d4cd330eeeedb33a4515b/tomli-2.3.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4c2ef0244c75aba9355561272009d934953817c49f47d768070c3c94355c2aa3", size = 148637, upload-time = "2025-10-08T22:01:28.059Z" }, + { url = "https://files.pythonhosted.org/packages/26/b6/d1eccb62f665e44359226811064596dd6a366ea1f985839c566cd61525ae/tomli-2.3.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c22a8bf253bacc0cf11f35ad9808b6cb75ada2631c2d97c971122583b129afbc", size = 241925, upload-time = "2025-10-08T22:01:29.066Z" }, + { url = "https://files.pythonhosted.org/packages/70/91/7cdab9a03e6d3d2bb11beae108da5bdc1c34bdeb06e21163482544ddcc90/tomli-2.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0eea8cc5c5e9f89c9b90c4896a8deefc74f518db5927d0e0e8d4a80953d774d0", size = 249045, upload-time = "2025-10-08T22:01:31.98Z" }, + { url = "https://files.pythonhosted.org/packages/15/1b/8c26874ed1f6e4f1fcfeb868db8a794cbe9f227299402db58cfcc858766c/tomli-2.3.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:b74a0e59ec5d15127acdabd75ea17726ac4c5178ae51b85bfe39c4f8a278e879", size = 245835, upload-time = "2025-10-08T22:01:32.989Z" }, + { url = "https://files.pythonhosted.org/packages/fd/42/8e3c6a9a4b1a1360c1a2a39f0b972cef2cc9ebd56025168c4137192a9321/tomli-2.3.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b5870b50c9db823c595983571d1296a6ff3e1b88f734a4c8f6fc6188397de005", size = 253109, upload-time = "2025-10-08T22:01:34.052Z" }, + { url = "https://files.pythonhosted.org/packages/22/0c/b4da635000a71b5f80130937eeac12e686eefb376b8dee113b4a582bba42/tomli-2.3.0-cp314-cp314-win32.whl", hash = "sha256:feb0dacc61170ed7ab602d3d972a58f14ee3ee60494292d384649a3dc38ef463", size = 97930, upload-time = "2025-10-08T22:01:35.082Z" }, + { url = "https://files.pythonhosted.org/packages/b9/74/cb1abc870a418ae99cd5c9547d6bce30701a954e0e721821df483ef7223c/tomli-2.3.0-cp314-cp314-win_amd64.whl", hash = "sha256:b273fcbd7fc64dc3600c098e39136522650c49bca95df2d11cf3b626422392c8", size = 107964, upload-time = "2025-10-08T22:01:36.057Z" }, + { url = "https://files.pythonhosted.org/packages/54/78/5c46fff6432a712af9f792944f4fcd7067d8823157949f4e40c56b8b3c83/tomli-2.3.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:940d56ee0410fa17ee1f12b817b37a4d4e4dc4d27340863cc67236c74f582e77", size = 163065, upload-time = "2025-10-08T22:01:37.27Z" }, + { url = "https://files.pythonhosted.org/packages/39/67/f85d9bd23182f45eca8939cd2bc7050e1f90c41f4a2ecbbd5963a1d1c486/tomli-2.3.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f85209946d1fe94416debbb88d00eb92ce9cd5266775424ff81bc959e001acaf", size = 159088, upload-time = "2025-10-08T22:01:38.235Z" }, + { url = "https://files.pythonhosted.org/packages/26/5a/4b546a0405b9cc0659b399f12b6adb750757baf04250b148d3c5059fc4eb/tomli-2.3.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a56212bdcce682e56b0aaf79e869ba5d15a6163f88d5451cbde388d48b13f530", size = 268193, upload-time = "2025-10-08T22:01:39.712Z" }, + { url = "https://files.pythonhosted.org/packages/42/4f/2c12a72ae22cf7b59a7fe75b3465b7aba40ea9145d026ba41cb382075b0e/tomli-2.3.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c5f3ffd1e098dfc032d4d3af5c0ac64f6d286d98bc148698356847b80fa4de1b", size = 275488, upload-time = "2025-10-08T22:01:40.773Z" }, + { url = "https://files.pythonhosted.org/packages/92/04/a038d65dbe160c3aa5a624e93ad98111090f6804027d474ba9c37c8ae186/tomli-2.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:5e01decd096b1530d97d5d85cb4dff4af2d8347bd35686654a004f8dea20fc67", size = 272669, upload-time = "2025-10-08T22:01:41.824Z" }, + { url = "https://files.pythonhosted.org/packages/be/2f/8b7c60a9d1612a7cbc39ffcca4f21a73bf368a80fc25bccf8253e2563267/tomli-2.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:8a35dd0e643bb2610f156cca8db95d213a90015c11fee76c946aa62b7ae7e02f", size = 279709, upload-time = "2025-10-08T22:01:43.177Z" }, + { url = "https://files.pythonhosted.org/packages/7e/46/cc36c679f09f27ded940281c38607716c86cf8ba4a518d524e349c8b4874/tomli-2.3.0-cp314-cp314t-win32.whl", hash = "sha256:a1f7f282fe248311650081faafa5f4732bdbfef5d45fe3f2e702fbc6f2d496e0", size = 107563, upload-time = "2025-10-08T22:01:44.233Z" }, + { url = "https://files.pythonhosted.org/packages/84/ff/426ca8683cf7b753614480484f6437f568fd2fda2edbdf57a2d3d8b27a0b/tomli-2.3.0-cp314-cp314t-win_amd64.whl", hash = "sha256:70a251f8d4ba2d9ac2542eecf008b3c8a9fc5c3f9f02c56a9d7952612be2fdba", size = 119756, upload-time = "2025-10-08T22:01:45.234Z" }, + { url = "https://files.pythonhosted.org/packages/77/b8/0135fadc89e73be292b473cb820b4f5a08197779206b33191e801feeae40/tomli-2.3.0-py3-none-any.whl", hash = "sha256:e95b1af3c5b07d9e643909b5abbec77cd9f1217e6d0bca72b0234736b9fb1f1b", size = 14408, upload-time = "2025-10-08T22:01:46.04Z" }, +] + +[[package]] +name = "tomlkit" +version = "0.13.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cc/18/0bbf3884e9eaa38819ebe46a7bd25dcd56b67434402b66a58c4b8e552575/tomlkit-0.13.3.tar.gz", hash = "sha256:430cf247ee57df2b94ee3fbe588e71d362a941ebb545dec29b53961d61add2a1", size = 185207, upload-time = "2025-06-05T07:13:44.947Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bd/75/8539d011f6be8e29f339c42e633aae3cb73bffa95dd0f9adec09b9c58e85/tomlkit-0.13.3-py3-none-any.whl", hash = "sha256:c89c649d79ee40629a9fda55f8ace8c6a1b42deb912b2a8fd8d942ddadb606b0", size = 38901, upload-time = "2025-06-05T07:13:43.546Z" }, ] [[package]] name = "toolz" version = "1.0.0" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] sdist = { url = "https://files.pythonhosted.org/packages/8a/0b/d80dfa675bf592f636d1ea0b835eab4ec8df6e9415d8cfd766df54456123/toolz-1.0.0.tar.gz", hash = "sha256:2c86e3d9a04798ac556793bced838816296a2f085017664e4995cb40a1047a02", size = 66790, upload-time = "2024-10-04T16:17:04.001Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/03/98/eb27cc78ad3af8e302c9d8ff4977f5026676e130d28dd7578132a457170c/toolz-1.0.0-py3-none-any.whl", hash = "sha256:292c8f1c4e7516bf9086f8850935c799a874039c8bcf959d47b600e4c44a6236", size = 56383, upload-time = "2024-10-04T16:17:01.533Z" }, ] +[[package]] +name = "toolz" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/11/d6/114b492226588d6ff54579d95847662fc69196bdeec318eb45393b24c192/toolz-1.1.0.tar.gz", hash = "sha256:27a5c770d068c110d9ed9323f24f1543e83b2f300a687b7891c1a6d56b697b5b", size = 52613, upload-time = "2025-10-17T04:03:21.661Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fb/12/5911ae3eeec47800503a238d971e51722ccea5feb8569b735184d5fcdbc0/toolz-1.1.0-py3-none-any.whl", hash = "sha256:15ccc861ac51c53696de0a5d6d4607f99c210739caf987b5d2054f3efed429d8", size = 58093, upload-time = "2025-10-17T04:03:20.435Z" }, +] + [[package]] name = "tqdm" version = "4.67.1" @@ -2417,20 +4690,59 @@ wheels = [ [[package]] name = "types-requests" -version = "2.32.4.20250809" +version = "2.32.0.20241016" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] +dependencies = [ + { name = "urllib3", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fa/3c/4f2a430c01a22abd49a583b6b944173e39e7d01b688190a5618bd59a2e22/types-requests-2.32.0.20241016.tar.gz", hash = "sha256:0d9cad2f27515d0e3e3da7134a1b6f28fb97129d86b867f24d9c726452634d95", size = 18065, upload-time = "2024-10-16T02:46:10.818Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d7/01/485b3026ff90e5190b5e24f1711522e06c79f4a56c8f4b95848ac072e20f/types_requests-2.32.0.20241016-py3-none-any.whl", hash = "sha256:4195d62d6d3e043a4eaaf08ff8a62184584d2e8684e9d2aa178c7915a7da3747", size = 15836, upload-time = "2024-10-16T02:46:09.734Z" }, +] + +[[package]] +name = "types-requests" +version = "2.32.4.20250913" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] dependencies = [ - { name = "urllib3" }, + { name = "urllib3", version = "2.6.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/36/27/489922f4505975b11de2b5ad07b4fe1dca0bca9be81a703f26c5f3acfce5/types_requests-2.32.4.20250913.tar.gz", hash = "sha256:abd6d4f9ce3a9383f269775a9835a4c24e5cd6b9f647d64f88aa4613c33def5d", size = 23113, upload-time = "2025-09-13T02:40:02.309Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/20/9a227ea57c1285986c4cf78400d0a91615d25b24e257fd9e2969606bdfae/types_requests-2.32.4.20250913-py3-none-any.whl", hash = "sha256:78c9c1fffebbe0fa487a418e0fa5252017e9c60d1a2da394077f1780f655d7e1", size = 20658, upload-time = "2025-09-13T02:40:01.115Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.13.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", ] -sdist = { url = "https://files.pythonhosted.org/packages/ed/b0/9355adb86ec84d057fea765e4c49cce592aaf3d5117ce5609a95a7fc3dac/types_requests-2.32.4.20250809.tar.gz", hash = "sha256:d8060de1c8ee599311f56ff58010fb4902f462a1470802cf9f6ed27bc46c4df3", size = 23027, upload-time = "2025-08-09T03:17:10.664Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f6/37/23083fcd6e35492953e8d2aaaa68b860eb422b34627b13f2ce3eb6106061/typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef", size = 106967, upload-time = "2025-04-10T14:19:05.416Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2b/6f/ec0012be842b1d888d46884ac5558fd62aeae1f0ec4f7a581433d890d4b5/types_requests-2.32.4.20250809-py3-none-any.whl", hash = "sha256:f73d1832fb519ece02c85b1f09d5f0dd3108938e7d47e7f94bbfa18a6782b163", size = 20644, upload-time = "2025-08-09T03:17:09.716Z" }, + { url = "https://files.pythonhosted.org/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c", size = 45806, upload-time = "2025-04-10T14:19:03.967Z" }, ] [[package]] name = "typing-extensions" version = "4.15.0" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, @@ -2438,78 +4750,189 @@ wheels = [ [[package]] name = "typing-inspection" -version = "0.4.1" +version = "0.4.2" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "typing-extensions" }, + { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz", hash = "sha256:6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28", size = 75726, upload-time = "2025-05-21T18:55:23.885Z" } +sdist = { url = "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464", size = 75949, upload-time = "2025-10-01T02:14:41.687Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/17/69/cd203477f944c353c31bade965f880aa1061fd6bf05ded0726ca845b6ff7/typing_inspection-0.4.1-py3-none-any.whl", hash = "sha256:389055682238f53b04f7badcb49b989835495a96700ced5dab2d8feae4b26f51", size = 14552, upload-time = "2025-05-21T18:55:22.152Z" }, + { url = "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7", size = 14611, upload-time = "2025-10-01T02:14:40.154Z" }, ] [[package]] name = "urllib3" -version = "2.5.0" +version = "2.2.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" } +resolution-markers = [ + "python_full_version < '3.9'", +] +sdist = { url = "https://files.pythonhosted.org/packages/ed/63/22ba4ebfe7430b76388e7cd448d5478814d3032121827c12a2cc287e2260/urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9", size = 300677, upload-time = "2024-09-12T10:52:18.401Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" }, + { url = "https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac", size = 126338, upload-time = "2024-09-12T10:52:16.589Z" }, ] [[package]] -name = "virtualenv" -version = "20.34.0" +name = "urllib3" +version = "2.6.2" source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "distlib" }, - { name = "filelock" }, - { name = "platformdirs" }, - { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", ] -sdist = { url = "https://files.pythonhosted.org/packages/1c/14/37fcdba2808a6c615681cd216fecae00413c9dab44fb2e57805ecf3eaee3/virtualenv-20.34.0.tar.gz", hash = "sha256:44815b2c9dee7ed86e387b842a84f20b93f7f417f95886ca1996a72a4138eb1a", size = 6003808, upload-time = "2025-08-13T14:24:07.464Z" } +sdist = { url = "https://files.pythonhosted.org/packages/1e/24/a2a2ed9addd907787d7aa0355ba36a6cadf1768b934c652ea78acbd59dcd/urllib3-2.6.2.tar.gz", hash = "sha256:016f9c98bb7e98085cb2b4b17b87d2c702975664e4f060c6532e64d1c1a5e797", size = 432930, upload-time = "2025-12-11T15:56:40.252Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/76/06/04c8e804f813cf972e3262f3f8584c232de64f0cde9f703b46cf53a45090/virtualenv-20.34.0-py3-none-any.whl", hash = "sha256:341f5afa7eee943e4984a9207c025feedd768baff6753cd660c857ceb3e36026", size = 5983279, upload-time = "2025-08-13T14:24:05.111Z" }, + { url = "https://files.pythonhosted.org/packages/6d/b9/4095b668ea3678bf6a0af005527f39de12fb026516fb3df17495a733b7f8/urllib3-2.6.2-py3-none-any.whl", hash = "sha256:ec21cddfe7724fc7cb4ba4bea7aa8e2ef36f607a4bab81aa6ce42a13dc3f03dd", size = 131182, upload-time = "2025-12-11T15:56:38.584Z" }, ] [[package]] name = "wcwidth" -version = "0.2.13" +version = "0.2.14" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", size = 101301, upload-time = "2024-01-06T02:10:57.829Z" } +sdist = { url = "https://files.pythonhosted.org/packages/24/30/6b0809f4510673dc723187aeaf24c7f5459922d01e2f794277a3dfb90345/wcwidth-0.2.14.tar.gz", hash = "sha256:4d478375d31bc5395a3c55c40ccdf3354688364cd61c4f6adacaa9215d0b3605", size = 102293, upload-time = "2025-09-22T16:29:53.023Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166, upload-time = "2024-01-06T02:10:55.763Z" }, + { url = "https://files.pythonhosted.org/packages/af/b5/123f13c975e9f27ab9c0770f514345bd406d0e8d3b7a0723af9d43f710af/wcwidth-0.2.14-py2.py3-none-any.whl", hash = "sha256:a7bb560c8aee30f9957e5f9895805edd20602f2d7f720186dfd906e82b4982e1", size = 37286, upload-time = "2025-09-22T16:29:51.641Z" }, ] [[package]] name = "web3" -version = "7.13.0" +version = "7.14.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "aiohttp" }, + { name = "aiohttp", version = "3.10.11", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "aiohttp", version = "3.13.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "eth-abi" }, { name = "eth-account" }, { name = "eth-hash", extra = ["pycryptodome"] }, { name = "eth-typing" }, { name = "eth-utils" }, { name = "hexbytes" }, - { name = "pydantic" }, + { name = "pydantic", version = "2.10.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, { name = "pyunormalize" }, { name = "pywin32", marker = "sys_platform == 'win32'" }, - { name = "requests" }, - { name = "types-requests" }, - { name = "typing-extensions" }, - { name = "websockets" }, + { name = "requests", version = "2.32.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "requests", version = "2.32.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "types-requests", version = "2.32.0.20241016", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "types-requests", version = "2.32.4.20250913", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "websockets", version = "13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "websockets", version = "15.0.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/4c/85/1515644dc1b0170e43e8c26531a3cec8ebc916185fbe2db0020e450b7114/web3-7.14.0.tar.gz", hash = "sha256:d82c78007c280e478b3920cd56658df17f2f76af584ee3318df6b60d4944b8a2", size = 2194249, upload-time = "2025-10-16T19:25:07.484Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/66/94/68ce430b5e19803d2b34736dd653e8627bde68d93cd8b0bec44384487a59/web3-7.14.0-py3-none-any.whl", hash = "sha256:a78c0a979bf11c47795f564512131c01b7598a276976f7031c55140f733e210a", size = 1370801, upload-time = "2025-10-16T19:25:04.052Z" }, +] + +[[package]] +name = "websockets" +version = "13.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", ] -sdist = { url = "https://files.pythonhosted.org/packages/8a/b4/1f026b025c51ce092a7a573b9308a2526b92a4044f94d9af78e7bb820a1c/web3-7.13.0.tar.gz", hash = "sha256:281795e0f5d404c1374e1771f6710bb43e0c975f3141366eb1680763edfb4806", size = 2194483, upload-time = "2025-08-04T16:57:19.442Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e2/73/9223dbc7be3dcaf2a7bbf756c351ec8da04b1fa573edaf545b95f6b0c7fd/websockets-13.1.tar.gz", hash = "sha256:a3b3366087c1bc0a2795111edcadddb8b3b59509d5db5d7ea3fdd69f954a8878", size = 158549, upload-time = "2024-09-21T17:34:21.54Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/95/a2/fc390ac63c8008318769eba2de071e95b7ba59b5fdc099529db73e5f1356/web3-7.13.0-py3-none-any.whl", hash = "sha256:4da7e953300577b7dadbaf430e5fd4479b127b1ad4910234b230fdcb8a49f735", size = 1369941, upload-time = "2025-08-04T16:57:17.587Z" }, + { url = "https://files.pythonhosted.org/packages/0a/94/d15dbfc6a5eb636dbc754303fba18208f2e88cf97e733e1d64fb9cb5c89e/websockets-13.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f48c749857f8fb598fb890a75f540e3221d0976ed0bf879cf3c7eef34151acee", size = 157815, upload-time = "2024-09-21T17:32:27.107Z" }, + { url = "https://files.pythonhosted.org/packages/30/02/c04af33f4663945a26f5e8cf561eb140c35452b50af47a83c3fbcfe62ae1/websockets-13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c7e72ce6bda6fb9409cc1e8164dd41d7c91466fb599eb047cfda72fe758a34a7", size = 155466, upload-time = "2024-09-21T17:32:28.428Z" }, + { url = "https://files.pythonhosted.org/packages/35/e8/719f08d12303ea643655e52d9e9851b2dadbb1991d4926d9ce8862efa2f5/websockets-13.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f779498eeec470295a2b1a5d97aa1bc9814ecd25e1eb637bd9d1c73a327387f6", size = 155716, upload-time = "2024-09-21T17:32:29.905Z" }, + { url = "https://files.pythonhosted.org/packages/91/e1/14963ae0252a8925f7434065d25dcd4701d5e281a0b4b460a3b5963d2594/websockets-13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4676df3fe46956fbb0437d8800cd5f2b6d41143b6e7e842e60554398432cf29b", size = 164806, upload-time = "2024-09-21T17:32:31.384Z" }, + { url = "https://files.pythonhosted.org/packages/ec/fa/ab28441bae5e682a0f7ddf3d03440c0c352f930da419301f4a717f675ef3/websockets-13.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a7affedeb43a70351bb811dadf49493c9cfd1ed94c9c70095fd177e9cc1541fa", size = 163810, upload-time = "2024-09-21T17:32:32.384Z" }, + { url = "https://files.pythonhosted.org/packages/44/77/dea187bd9d16d4b91566a2832be31f99a40d0f5bfa55eeb638eb2c3bc33d/websockets-13.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1971e62d2caa443e57588e1d82d15f663b29ff9dfe7446d9964a4b6f12c1e700", size = 164125, upload-time = "2024-09-21T17:32:33.398Z" }, + { url = "https://files.pythonhosted.org/packages/cf/d9/3af14544e83f1437eb684b399e6ba0fa769438e869bf5d83d74bc197fae8/websockets-13.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5f2e75431f8dc4a47f31565a6e1355fb4f2ecaa99d6b89737527ea917066e26c", size = 164532, upload-time = "2024-09-21T17:32:35.109Z" }, + { url = "https://files.pythonhosted.org/packages/1c/8a/6d332eabe7d59dfefe4b8ba6f46c8c5fabb15b71c8a8bc3d2b65de19a7b6/websockets-13.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:58cf7e75dbf7e566088b07e36ea2e3e2bd5676e22216e4cad108d4df4a7402a0", size = 163948, upload-time = "2024-09-21T17:32:36.214Z" }, + { url = "https://files.pythonhosted.org/packages/1a/91/a0aeadbaf3017467a1ee03f8fb67accdae233fe2d5ad4b038c0a84e357b0/websockets-13.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c90d6dec6be2c7d03378a574de87af9b1efea77d0c52a8301dd831ece938452f", size = 163898, upload-time = "2024-09-21T17:32:37.277Z" }, + { url = "https://files.pythonhosted.org/packages/71/31/a90fb47c63e0ae605be914b0b969d7c6e6ffe2038cd744798e4b3fbce53b/websockets-13.1-cp310-cp310-win32.whl", hash = "sha256:730f42125ccb14602f455155084f978bd9e8e57e89b569b4d7f0f0c17a448ffe", size = 158706, upload-time = "2024-09-21T17:32:38.755Z" }, + { url = "https://files.pythonhosted.org/packages/93/ca/9540a9ba80da04dc7f36d790c30cae4252589dbd52ccdc92e75b0be22437/websockets-13.1-cp310-cp310-win_amd64.whl", hash = "sha256:5993260f483d05a9737073be197371940c01b257cc45ae3f1d5d7adb371b266a", size = 159141, upload-time = "2024-09-21T17:32:40.495Z" }, + { url = "https://files.pythonhosted.org/packages/b2/f0/cf0b8a30d86b49e267ac84addbebbc7a48a6e7bb7c19db80f62411452311/websockets-13.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:61fc0dfcda609cda0fc9fe7977694c0c59cf9d749fbb17f4e9483929e3c48a19", size = 157813, upload-time = "2024-09-21T17:32:42.188Z" }, + { url = "https://files.pythonhosted.org/packages/bf/e7/22285852502e33071a8cf0ac814f8988480ec6db4754e067b8b9d0e92498/websockets-13.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ceec59f59d092c5007e815def4ebb80c2de330e9588e101cf8bd94c143ec78a5", size = 155469, upload-time = "2024-09-21T17:32:43.858Z" }, + { url = "https://files.pythonhosted.org/packages/68/d4/c8c7c1e5b40ee03c5cc235955b0fb1ec90e7e37685a5f69229ad4708dcde/websockets-13.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c1dca61c6db1166c48b95198c0b7d9c990b30c756fc2923cc66f68d17dc558fd", size = 155717, upload-time = "2024-09-21T17:32:44.914Z" }, + { url = "https://files.pythonhosted.org/packages/c9/e4/c50999b9b848b1332b07c7fd8886179ac395cb766fda62725d1539e7bc6c/websockets-13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:308e20f22c2c77f3f39caca508e765f8725020b84aa963474e18c59accbf4c02", size = 165379, upload-time = "2024-09-21T17:32:45.933Z" }, + { url = "https://files.pythonhosted.org/packages/bc/49/4a4ad8c072f18fd79ab127650e47b160571aacfc30b110ee305ba25fffc9/websockets-13.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62d516c325e6540e8a57b94abefc3459d7dab8ce52ac75c96cad5549e187e3a7", size = 164376, upload-time = "2024-09-21T17:32:46.987Z" }, + { url = "https://files.pythonhosted.org/packages/af/9b/8c06d425a1d5a74fd764dd793edd02be18cf6fc3b1ccd1f29244ba132dc0/websockets-13.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87c6e35319b46b99e168eb98472d6c7d8634ee37750d7693656dc766395df096", size = 164753, upload-time = "2024-09-21T17:32:48.046Z" }, + { url = "https://files.pythonhosted.org/packages/d5/5b/0acb5815095ff800b579ffc38b13ab1b915b317915023748812d24e0c1ac/websockets-13.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5f9fee94ebafbc3117c30be1844ed01a3b177bb6e39088bc6b2fa1dc15572084", size = 165051, upload-time = "2024-09-21T17:32:49.271Z" }, + { url = "https://files.pythonhosted.org/packages/30/93/c3891c20114eacb1af09dedfcc620c65c397f4fd80a7009cd12d9457f7f5/websockets-13.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:7c1e90228c2f5cdde263253fa5db63e6653f1c00e7ec64108065a0b9713fa1b3", size = 164489, upload-time = "2024-09-21T17:32:50.392Z" }, + { url = "https://files.pythonhosted.org/packages/28/09/af9e19885539759efa2e2cd29b8b3f9eecef7ecefea40d46612f12138b36/websockets-13.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6548f29b0e401eea2b967b2fdc1c7c7b5ebb3eeb470ed23a54cd45ef078a0db9", size = 164438, upload-time = "2024-09-21T17:32:52.223Z" }, + { url = "https://files.pythonhosted.org/packages/b6/08/6f38b8e625b3d93de731f1d248cc1493327f16cb45b9645b3e791782cff0/websockets-13.1-cp311-cp311-win32.whl", hash = "sha256:c11d4d16e133f6df8916cc5b7e3e96ee4c44c936717d684a94f48f82edb7c92f", size = 158710, upload-time = "2024-09-21T17:32:53.244Z" }, + { url = "https://files.pythonhosted.org/packages/fb/39/ec8832ecb9bb04a8d318149005ed8cee0ba4e0205835da99e0aa497a091f/websockets-13.1-cp311-cp311-win_amd64.whl", hash = "sha256:d04f13a1d75cb2b8382bdc16ae6fa58c97337253826dfe136195b7f89f661557", size = 159137, upload-time = "2024-09-21T17:32:54.721Z" }, + { url = "https://files.pythonhosted.org/packages/df/46/c426282f543b3c0296cf964aa5a7bb17e984f58dde23460c3d39b3148fcf/websockets-13.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:9d75baf00138f80b48f1eac72ad1535aac0b6461265a0bcad391fc5aba875cfc", size = 157821, upload-time = "2024-09-21T17:32:56.442Z" }, + { url = "https://files.pythonhosted.org/packages/aa/85/22529867010baac258da7c45848f9415e6cf37fef00a43856627806ffd04/websockets-13.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:9b6f347deb3dcfbfde1c20baa21c2ac0751afaa73e64e5b693bb2b848efeaa49", size = 155480, upload-time = "2024-09-21T17:32:57.698Z" }, + { url = "https://files.pythonhosted.org/packages/29/2c/bdb339bfbde0119a6e84af43ebf6275278698a2241c2719afc0d8b0bdbf2/websockets-13.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de58647e3f9c42f13f90ac7e5f58900c80a39019848c5547bc691693098ae1bd", size = 155715, upload-time = "2024-09-21T17:32:59.429Z" }, + { url = "https://files.pythonhosted.org/packages/9f/d0/8612029ea04c5c22bf7af2fd3d63876c4eaeef9b97e86c11972a43aa0e6c/websockets-13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1b54689e38d1279a51d11e3467dd2f3a50f5f2e879012ce8f2d6943f00e83f0", size = 165647, upload-time = "2024-09-21T17:33:00.495Z" }, + { url = "https://files.pythonhosted.org/packages/56/04/1681ed516fa19ca9083f26d3f3a302257e0911ba75009533ed60fbb7b8d1/websockets-13.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf1781ef73c073e6b0f90af841aaf98501f975d306bbf6221683dd594ccc52b6", size = 164592, upload-time = "2024-09-21T17:33:02.223Z" }, + { url = "https://files.pythonhosted.org/packages/38/6f/a96417a49c0ed132bb6087e8e39a37db851c70974f5c724a4b2a70066996/websockets-13.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d23b88b9388ed85c6faf0e74d8dec4f4d3baf3ecf20a65a47b836d56260d4b9", size = 165012, upload-time = "2024-09-21T17:33:03.288Z" }, + { url = "https://files.pythonhosted.org/packages/40/8b/fccf294919a1b37d190e86042e1a907b8f66cff2b61e9befdbce03783e25/websockets-13.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3c78383585f47ccb0fcf186dcb8a43f5438bd7d8f47d69e0b56f71bf431a0a68", size = 165311, upload-time = "2024-09-21T17:33:04.728Z" }, + { url = "https://files.pythonhosted.org/packages/c1/61/f8615cf7ce5fe538476ab6b4defff52beb7262ff8a73d5ef386322d9761d/websockets-13.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:d6d300f8ec35c24025ceb9b9019ae9040c1ab2f01cddc2bcc0b518af31c75c14", size = 164692, upload-time = "2024-09-21T17:33:05.829Z" }, + { url = "https://files.pythonhosted.org/packages/5c/f1/a29dd6046d3a722d26f182b783a7997d25298873a14028c4760347974ea3/websockets-13.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a9dcaf8b0cc72a392760bb8755922c03e17a5a54e08cca58e8b74f6902b433cf", size = 164686, upload-time = "2024-09-21T17:33:06.823Z" }, + { url = "https://files.pythonhosted.org/packages/0f/99/ab1cdb282f7e595391226f03f9b498f52109d25a2ba03832e21614967dfa/websockets-13.1-cp312-cp312-win32.whl", hash = "sha256:2f85cf4f2a1ba8f602298a853cec8526c2ca42a9a4b947ec236eaedb8f2dc80c", size = 158712, upload-time = "2024-09-21T17:33:07.877Z" }, + { url = "https://files.pythonhosted.org/packages/46/93/e19160db48b5581feac8468330aa11b7292880a94a37d7030478596cc14e/websockets-13.1-cp312-cp312-win_amd64.whl", hash = "sha256:38377f8b0cdeee97c552d20cf1865695fcd56aba155ad1b4ca8779a5b6ef4ac3", size = 159145, upload-time = "2024-09-21T17:33:09.202Z" }, + { url = "https://files.pythonhosted.org/packages/51/20/2b99ca918e1cbd33c53db2cace5f0c0cd8296fc77558e1908799c712e1cd/websockets-13.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a9ab1e71d3d2e54a0aa646ab6d4eebfaa5f416fe78dfe4da2839525dc5d765c6", size = 157828, upload-time = "2024-09-21T17:33:10.987Z" }, + { url = "https://files.pythonhosted.org/packages/b8/47/0932a71d3d9c0e9483174f60713c84cee58d62839a143f21a2bcdbd2d205/websockets-13.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b9d7439d7fab4dce00570bb906875734df13d9faa4b48e261c440a5fec6d9708", size = 155487, upload-time = "2024-09-21T17:33:12.153Z" }, + { url = "https://files.pythonhosted.org/packages/a9/60/f1711eb59ac7a6c5e98e5637fef5302f45b6f76a2c9d64fd83bbb341377a/websockets-13.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:327b74e915cf13c5931334c61e1a41040e365d380f812513a255aa804b183418", size = 155721, upload-time = "2024-09-21T17:33:13.909Z" }, + { url = "https://files.pythonhosted.org/packages/6a/e6/ba9a8db7f9d9b0e5f829cf626ff32677f39824968317223605a6b419d445/websockets-13.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:325b1ccdbf5e5725fdcb1b0e9ad4d2545056479d0eee392c291c1bf76206435a", size = 165609, upload-time = "2024-09-21T17:33:14.967Z" }, + { url = "https://files.pythonhosted.org/packages/c1/22/4ec80f1b9c27a0aebd84ccd857252eda8418ab9681eb571b37ca4c5e1305/websockets-13.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:346bee67a65f189e0e33f520f253d5147ab76ae42493804319b5716e46dddf0f", size = 164556, upload-time = "2024-09-21T17:33:17.113Z" }, + { url = "https://files.pythonhosted.org/packages/27/ac/35f423cb6bb15600438db80755609d27eda36d4c0b3c9d745ea12766c45e/websockets-13.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:91a0fa841646320ec0d3accdff5b757b06e2e5c86ba32af2e0815c96c7a603c5", size = 164993, upload-time = "2024-09-21T17:33:18.168Z" }, + { url = "https://files.pythonhosted.org/packages/31/4e/98db4fd267f8be9e52e86b6ee4e9aa7c42b83452ea0ea0672f176224b977/websockets-13.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:18503d2c5f3943e93819238bf20df71982d193f73dcecd26c94514f417f6b135", size = 165360, upload-time = "2024-09-21T17:33:19.233Z" }, + { url = "https://files.pythonhosted.org/packages/3f/15/3f0de7cda70ffc94b7e7024544072bc5b26e2c1eb36545291abb755d8cdb/websockets-13.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:a9cd1af7e18e5221d2878378fbc287a14cd527fdd5939ed56a18df8a31136bb2", size = 164745, upload-time = "2024-09-21T17:33:20.361Z" }, + { url = "https://files.pythonhosted.org/packages/a1/6e/66b6b756aebbd680b934c8bdbb6dcb9ce45aad72cde5f8a7208dbb00dd36/websockets-13.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:70c5be9f416aa72aab7a2a76c90ae0a4fe2755c1816c153c1a2bcc3333ce4ce6", size = 164732, upload-time = "2024-09-21T17:33:23.103Z" }, + { url = "https://files.pythonhosted.org/packages/35/c6/12e3aab52c11aeb289e3dbbc05929e7a9d90d7a9173958477d3ef4f8ce2d/websockets-13.1-cp313-cp313-win32.whl", hash = "sha256:624459daabeb310d3815b276c1adef475b3e6804abaf2d9d2c061c319f7f187d", size = 158709, upload-time = "2024-09-21T17:33:24.196Z" }, + { url = "https://files.pythonhosted.org/packages/41/d8/63d6194aae711d7263df4498200c690a9c39fb437ede10f3e157a6343e0d/websockets-13.1-cp313-cp313-win_amd64.whl", hash = "sha256:c518e84bb59c2baae725accd355c8dc517b4a3ed8db88b4bc93c78dae2974bf2", size = 159144, upload-time = "2024-09-21T17:33:25.96Z" }, + { url = "https://files.pythonhosted.org/packages/83/69/59872420e5bce60db166d6fba39ee24c719d339fb0ae48cb2ce580129882/websockets-13.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:c7934fd0e920e70468e676fe7f1b7261c1efa0d6c037c6722278ca0228ad9d0d", size = 157811, upload-time = "2024-09-21T17:33:27.379Z" }, + { url = "https://files.pythonhosted.org/packages/bb/f7/0610032e0d3981758fdd6ee7c68cc02ebf668a762c5178d3d91748228849/websockets-13.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:149e622dc48c10ccc3d2760e5f36753db9cacf3ad7bc7bbbfd7d9c819e286f23", size = 155471, upload-time = "2024-09-21T17:33:28.473Z" }, + { url = "https://files.pythonhosted.org/packages/55/2f/c43173a72ea395263a427a36d25bce2675f41c809424466a13c61a9a2d61/websockets-13.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a569eb1b05d72f9bce2ebd28a1ce2054311b66677fcd46cf36204ad23acead8c", size = 155713, upload-time = "2024-09-21T17:33:29.795Z" }, + { url = "https://files.pythonhosted.org/packages/92/7e/8fa930c6426a56c47910792717787640329e4a0e37cdfda20cf89da67126/websockets-13.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95df24ca1e1bd93bbca51d94dd049a984609687cb2fb08a7f2c56ac84e9816ea", size = 164995, upload-time = "2024-09-21T17:33:30.802Z" }, + { url = "https://files.pythonhosted.org/packages/27/29/50ed4c68a3f606565a2db4b13948ae7b6f6c53aa9f8f258d92be6698d276/websockets-13.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d8dbb1bf0c0a4ae8b40bdc9be7f644e2f3fb4e8a9aca7145bfa510d4a374eeb7", size = 164057, upload-time = "2024-09-21T17:33:31.862Z" }, + { url = "https://files.pythonhosted.org/packages/3c/0e/60da63b1c53c47f389f79312b3356cb305600ffad1274d7ec473128d4e6b/websockets-13.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:035233b7531fb92a76beefcbf479504db8c72eb3bff41da55aecce3a0f729e54", size = 164340, upload-time = "2024-09-21T17:33:33.022Z" }, + { url = "https://files.pythonhosted.org/packages/20/ef/d87c5fc0aa7fafad1d584b6459ddfe062edf0d0dd64800a02e67e5de048b/websockets-13.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:e4450fc83a3df53dec45922b576e91e94f5578d06436871dce3a6be38e40f5db", size = 164222, upload-time = "2024-09-21T17:33:34.423Z" }, + { url = "https://files.pythonhosted.org/packages/f2/c4/7916e1f6b5252d3dcb9121b67d7fdbb2d9bf5067a6d8c88885ba27a9e69c/websockets-13.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:463e1c6ec853202dd3657f156123d6b4dad0c546ea2e2e38be2b3f7c5b8e7295", size = 163647, upload-time = "2024-09-21T17:33:35.841Z" }, + { url = "https://files.pythonhosted.org/packages/de/df/2ebebb807f10993c35c10cbd3628a7944b66bd5fb6632a561f8666f3a68e/websockets-13.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:6d6855bbe70119872c05107e38fbc7f96b1d8cb047d95c2c50869a46c65a8e96", size = 163590, upload-time = "2024-09-21T17:33:37.61Z" }, + { url = "https://files.pythonhosted.org/packages/b5/82/d48911f56bb993c11099a1ff1d4041d9d1481d50271100e8ee62bc28f365/websockets-13.1-cp38-cp38-win32.whl", hash = "sha256:204e5107f43095012b00f1451374693267adbb832d29966a01ecc4ce1db26faf", size = 158701, upload-time = "2024-09-21T17:33:38.695Z" }, + { url = "https://files.pythonhosted.org/packages/8b/b3/945aacb21fc89ad150403cbaa974c9e846f098f16d9f39a3dd6094f9beb1/websockets-13.1-cp38-cp38-win_amd64.whl", hash = "sha256:485307243237328c022bc908b90e4457d0daa8b5cf4b3723fd3c4a8012fce4c6", size = 159146, upload-time = "2024-09-21T17:33:39.855Z" }, + { url = "https://files.pythonhosted.org/packages/61/26/5f7a7fb03efedb4f90ed61968338bfe7c389863b0ceda239b94ae61c5ae4/websockets-13.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9b37c184f8b976f0c0a231a5f3d6efe10807d41ccbe4488df8c74174805eea7d", size = 157810, upload-time = "2024-09-21T17:33:40.94Z" }, + { url = "https://files.pythonhosted.org/packages/0e/d4/9b4814a07dffaa7a79d71b4944d10836f9adbd527a113f6675734ef3abed/websockets-13.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:163e7277e1a0bd9fb3c8842a71661ad19c6aa7bb3d6678dc7f89b17fbcc4aeb7", size = 155467, upload-time = "2024-09-21T17:33:42.075Z" }, + { url = "https://files.pythonhosted.org/packages/1a/1a/2abdc7ce3b56429ae39d6bfb48d8c791f5a26bbcb6f44aabcf71ffc3fda2/websockets-13.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4b889dbd1342820cc210ba44307cf75ae5f2f96226c0038094455a96e64fb07a", size = 155714, upload-time = "2024-09-21T17:33:43.128Z" }, + { url = "https://files.pythonhosted.org/packages/2a/98/189d7cf232753a719b2726ec55e7922522632248d5d830adf078e3f612be/websockets-13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:586a356928692c1fed0eca68b4d1c2cbbd1ca2acf2ac7e7ebd3b9052582deefa", size = 164587, upload-time = "2024-09-21T17:33:44.27Z" }, + { url = "https://files.pythonhosted.org/packages/a5/2b/fb77cedf3f9f55ef8605238c801eef6b9a5269b01a396875a86896aea3a6/websockets-13.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7bd6abf1e070a6b72bfeb71049d6ad286852e285f146682bf30d0296f5fbadfa", size = 163588, upload-time = "2024-09-21T17:33:45.38Z" }, + { url = "https://files.pythonhosted.org/packages/a3/b7/070481b83d2d5ac0f19233d9f364294e224e6478b0762f07fa7f060e0619/websockets-13.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d2aad13a200e5934f5a6767492fb07151e1de1d6079c003ab31e1823733ae79", size = 163894, upload-time = "2024-09-21T17:33:46.651Z" }, + { url = "https://files.pythonhosted.org/packages/eb/be/d6e1cff7d441cfe5eafaacc5935463e5f14c8b1c0d39cb8afde82709b55a/websockets-13.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:df01aea34b6e9e33572c35cd16bae5a47785e7d5c8cb2b54b2acdb9678315a17", size = 164315, upload-time = "2024-09-21T17:33:48.432Z" }, + { url = "https://files.pythonhosted.org/packages/8b/5e/ffa234473e46ab2d3f9fd9858163d5db3ecea1439e4cb52966d78906424b/websockets-13.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:e54affdeb21026329fb0744ad187cf812f7d3c2aa702a5edb562b325191fcab6", size = 163714, upload-time = "2024-09-21T17:33:49.548Z" }, + { url = "https://files.pythonhosted.org/packages/cc/92/cea9eb9d381ca57065a5eb4ec2ce7a291bd96c85ce742915c3c9ffc1069f/websockets-13.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:9ef8aa8bdbac47f4968a5d66462a2a0935d044bf35c0e5a8af152d58516dbeb5", size = 163673, upload-time = "2024-09-21T17:33:51.056Z" }, + { url = "https://files.pythonhosted.org/packages/a4/f1/279104fff239bfd04c12b1e58afea227d72fd1acf431e3eed3f6ac2c96d2/websockets-13.1-cp39-cp39-win32.whl", hash = "sha256:deeb929efe52bed518f6eb2ddc00cc496366a14c726005726ad62c2dd9017a3c", size = 158702, upload-time = "2024-09-21T17:33:52.584Z" }, + { url = "https://files.pythonhosted.org/packages/25/0b/b87370ff141375c41f7dd67941728e4b3682ebb45882591516c792a2ebee/websockets-13.1-cp39-cp39-win_amd64.whl", hash = "sha256:7c65ffa900e7cc958cd088b9a9157a8141c991f8c53d11087e6fb7277a03f81d", size = 159146, upload-time = "2024-09-21T17:33:53.781Z" }, + { url = "https://files.pythonhosted.org/packages/2d/75/6da22cb3ad5b8c606963f9a5f9f88656256fecc29d420b4b2bf9e0c7d56f/websockets-13.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5dd6da9bec02735931fccec99d97c29f47cc61f644264eb995ad6c0c27667238", size = 155499, upload-time = "2024-09-21T17:33:54.917Z" }, + { url = "https://files.pythonhosted.org/packages/c0/ba/22833d58629088fcb2ccccedfae725ac0bbcd713319629e97125b52ac681/websockets-13.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:2510c09d8e8df777177ee3d40cd35450dc169a81e747455cc4197e63f7e7bfe5", size = 155737, upload-time = "2024-09-21T17:33:56.052Z" }, + { url = "https://files.pythonhosted.org/packages/95/54/61684fe22bdb831e9e1843d972adadf359cf04ab8613285282baea6a24bb/websockets-13.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f1c3cf67185543730888b20682fb186fc8d0fa6f07ccc3ef4390831ab4b388d9", size = 157095, upload-time = "2024-09-21T17:33:57.21Z" }, + { url = "https://files.pythonhosted.org/packages/fc/f5/6652fb82440813822022a9301a30afde85e5ff3fb2aebb77f34aabe2b4e8/websockets-13.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bcc03c8b72267e97b49149e4863d57c2d77f13fae12066622dc78fe322490fe6", size = 156701, upload-time = "2024-09-21T17:33:59.061Z" }, + { url = "https://files.pythonhosted.org/packages/67/33/ae82a7b860fa8a08aba68818bdf7ff61f04598aa5ab96df4cd5a3e418ca4/websockets-13.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:004280a140f220c812e65f36944a9ca92d766b6cc4560be652a0a3883a79ed8a", size = 156654, upload-time = "2024-09-21T17:34:00.944Z" }, + { url = "https://files.pythonhosted.org/packages/63/0b/a1b528d36934f833e20f6da1032b995bf093d55cb416b9f2266f229fb237/websockets-13.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:e2620453c075abeb0daa949a292e19f56de518988e079c36478bacf9546ced23", size = 159192, upload-time = "2024-09-21T17:34:02.656Z" }, + { url = "https://files.pythonhosted.org/packages/5e/a1/5ae6d0ef2e61e2b77b3b4678949a634756544186620a728799acdf5c3482/websockets-13.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9156c45750b37337f7b0b00e6248991a047be4aa44554c9886fe6bdd605aab3b", size = 155433, upload-time = "2024-09-21T17:34:03.88Z" }, + { url = "https://files.pythonhosted.org/packages/0d/2f/addd33f85600d210a445f817ff0d79d2b4d0eb6f3c95b9f35531ebf8f57c/websockets-13.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:80c421e07973a89fbdd93e6f2003c17d20b69010458d3a8e37fb47874bd67d51", size = 155733, upload-time = "2024-09-21T17:34:05.173Z" }, + { url = "https://files.pythonhosted.org/packages/74/0b/f8ec74ac3b14a983289a1b42dc2c518a0e2030b486d0549d4f51ca11e7c9/websockets-13.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82d0ba76371769d6a4e56f7e83bb8e81846d17a6190971e38b5de108bde9b0d7", size = 157093, upload-time = "2024-09-21T17:34:06.398Z" }, + { url = "https://files.pythonhosted.org/packages/ad/4c/aa5cc2f718ee4d797411202f332c8281f04c42d15f55b02f7713320f7a03/websockets-13.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e9875a0143f07d74dc5e1ded1c4581f0d9f7ab86c78994e2ed9e95050073c94d", size = 156701, upload-time = "2024-09-21T17:34:07.582Z" }, + { url = "https://files.pythonhosted.org/packages/1f/4b/7c5b2d0d0f0f1a54f27c60107cf1f201bee1f88c5508f87408b470d09a9c/websockets-13.1-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a11e38ad8922c7961447f35c7b17bffa15de4d17c70abd07bfbe12d6faa3e027", size = 156648, upload-time = "2024-09-21T17:34:08.734Z" }, + { url = "https://files.pythonhosted.org/packages/f3/63/35f3fb073884a9fd1ce5413b2dcdf0d9198b03dac6274197111259cbde06/websockets-13.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:4059f790b6ae8768471cddb65d3c4fe4792b0ab48e154c9f0a04cefaabcd5978", size = 159188, upload-time = "2024-09-21T17:34:10.018Z" }, + { url = "https://files.pythonhosted.org/packages/59/fd/e4bf9a7159dba6a16c59ae9e670e3e8ad9dcb6791bc0599eb86de32d50a9/websockets-13.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:25c35bf84bf7c7369d247f0b8cfa157f989862c49104c5cf85cb5436a641d93e", size = 155499, upload-time = "2024-09-21T17:34:11.3Z" }, + { url = "https://files.pythonhosted.org/packages/74/42/d48ede93cfe0c343f3b552af08efc60778d234989227b16882eed1b8b189/websockets-13.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:83f91d8a9bb404b8c2c41a707ac7f7f75b9442a0a876df295de27251a856ad09", size = 155731, upload-time = "2024-09-21T17:34:13.151Z" }, + { url = "https://files.pythonhosted.org/packages/f6/f2/2ef6bff1c90a43b80622a17c0852b48c09d3954ab169266ad7b15e17cdcb/websockets-13.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7a43cfdcddd07f4ca2b1afb459824dd3c6d53a51410636a2c7fc97b9a8cf4842", size = 157093, upload-time = "2024-09-21T17:34:14.52Z" }, + { url = "https://files.pythonhosted.org/packages/d1/14/6f20bbaeeb350f155edf599aad949c554216f90e5d4ae7373d1f2e5931fb/websockets-13.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48a2ef1381632a2f0cb4efeff34efa97901c9fbc118e01951ad7cfc10601a9bb", size = 156701, upload-time = "2024-09-21T17:34:15.692Z" }, + { url = "https://files.pythonhosted.org/packages/c7/86/38279dfefecd035e22b79c38722d4f87c4b6196f1556b7a631d0a3095ca7/websockets-13.1-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:459bf774c754c35dbb487360b12c5727adab887f1622b8aed5755880a21c4a20", size = 156649, upload-time = "2024-09-21T17:34:17.335Z" }, + { url = "https://files.pythonhosted.org/packages/f6/c5/12c6859a2eaa8c53f59a647617a27f1835a226cd7106c601067c53251d98/websockets-13.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:95858ca14a9f6fa8413d29e0a585b31b278388aa775b8a81fa24830123874678", size = 159187, upload-time = "2024-09-21T17:34:18.538Z" }, + { url = "https://files.pythonhosted.org/packages/56/27/96a5cd2626d11c8280656c6c71d8ab50fe006490ef9971ccd154e0c42cd2/websockets-13.1-py3-none-any.whl", hash = "sha256:a9a396a6ad26130cdae92ae10c36af09d9bfe6cafe69670fd3b6da9b07b4044f", size = 152134, upload-time = "2024-09-21T17:34:19.904Z" }, ] [[package]] name = "websockets" version = "15.0.1" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] sdist = { url = "https://files.pythonhosted.org/packages/21/e6/26d09fab466b7ca9c7737474c52be4f76a40301b08362eb2dbc19dcc16c1/websockets-15.0.1.tar.gz", hash = "sha256:82544de02076bafba038ce055ee6412d68da13ab47f0c60cab827346de828dee", size = 177016, upload-time = "2025-03-05T20:03:41.606Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/1e/da/6462a9f510c0c49837bbc9345aca92d767a56c1fb2939e1579df1e1cdcf7/websockets-15.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d63efaa0cd96cf0c5fe4d581521d9fa87744540d4bc999ae6e08595a1014b45b", size = 175423, upload-time = "2025-03-05T20:01:35.363Z" }, @@ -2582,10 +5005,23 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/fa/a8/5b41e0da817d64113292ab1f8247140aac61cbf6cfd085d6a0fa77f4984f/websockets-15.0.1-py3-none-any.whl", hash = "sha256:f7a866fbc1e97b5c617ee4116daaa09b722101d4a3c170c787450ba409f9736f", size = 169743, upload-time = "2025-03-05T20:03:39.41Z" }, ] +[[package]] +name = "wheel" +version = "0.45.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/8a/98/2d9906746cdc6a6ef809ae6338005b3f21bb568bea3165cfc6a243fdc25c/wheel-0.45.1.tar.gz", hash = "sha256:661e1abd9198507b1409a20c02106d9670b2576e916d58f520316666abca6729", size = 107545, upload-time = "2024-11-23T00:18:23.513Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0b/2c/87f3254fd8ffd29e4c02732eee68a83a1d3c346ae39bc6822dcbcb697f2b/wheel-0.45.1-py3-none-any.whl", hash = "sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248", size = 72494, upload-time = "2024-11-23T00:18:21.207Z" }, +] + [[package]] name = "wrapt" version = "1.17.3" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version == '3.9.*'", + "python_full_version < '3.9'", +] sdist = { url = "https://files.pythonhosted.org/packages/95/8f/aeb76c5b46e273670962298c23e7ddde79916cb74db802131d49a85e4b7d/wrapt-1.17.3.tar.gz", hash = "sha256:f66eb08feaa410fe4eebd17f2a2c8e2e46d3476e9f8c783daa8e09e0faa666d0", size = 55547, upload-time = "2025-08-12T05:53:21.714Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/3f/23/bb82321b86411eb51e5a5db3fb8f8032fd30bd7c2d74bfe936136b2fa1d6/wrapt-1.17.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88bbae4d40d5a46142e70d58bf664a89b6b4befaea7b2ecc14e03cedb8e06c04", size = 53482, upload-time = "2025-08-12T05:51:44.467Z" }, @@ -2648,6 +5084,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/be/44/a1bd64b723d13bb151d6cc91b986146a1952385e0392a78567e12149c7b4/wrapt-1.17.3-cp314-cp314t-win32.whl", hash = "sha256:41b1d2bc74c2cac6f9074df52b2efbef2b30bdfe5f40cb78f8ca22963bc62977", size = 38717, upload-time = "2025-08-12T05:53:15.214Z" }, { url = "https://files.pythonhosted.org/packages/79/d9/7cfd5a312760ac4dd8bf0184a6ee9e43c33e47f3dadc303032ce012b8fa3/wrapt-1.17.3-cp314-cp314t-win_amd64.whl", hash = "sha256:73d496de46cd2cdbdbcce4ae4bcdb4afb6a11234a1df9c085249d55166b95116", size = 41334, upload-time = "2025-08-12T05:53:14.178Z" }, { url = "https://files.pythonhosted.org/packages/46/78/10ad9781128ed2f99dbc474f43283b13fea8ba58723e98844367531c18e9/wrapt-1.17.3-cp314-cp314t-win_arm64.whl", hash = "sha256:f38e60678850c42461d4202739f9bf1e3a737c7ad283638251e79cc49effb6b6", size = 38471, upload-time = "2025-08-12T05:52:57.784Z" }, + { url = "https://files.pythonhosted.org/packages/74/2b/035dfac90dcf051e892d777c0921a979047f9fba8ad47555957c06bca89d/wrapt-1.17.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:70d86fa5197b8947a2fa70260b48e400bf2ccacdcab97bb7de47e3d1e6312225", size = 53237, upload-time = "2025-08-12T05:51:52.096Z" }, + { url = "https://files.pythonhosted.org/packages/b3/85/af1173e9ca8e5bd30371c2367fed2f02e07d0a41869adfd8ce0e2dac25e0/wrapt-1.17.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:df7d30371a2accfe4013e90445f6388c570f103d61019b6b7c57e0265250072a", size = 38469, upload-time = "2025-08-12T05:51:41.418Z" }, + { url = "https://files.pythonhosted.org/packages/6a/b1/cbe84085aa5a8decf9bd4af53159e64270110781b810f3df7fa5672a2b1a/wrapt-1.17.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:caea3e9c79d5f0d2c6d9ab96111601797ea5da8e6d0723f77eabb0d4068d2b2f", size = 38728, upload-time = "2025-08-12T05:52:01.704Z" }, + { url = "https://files.pythonhosted.org/packages/f5/69/f1353697728dab653f1d4267c4a5d4448f1d8cf1f5dda5b4ffbcf2d68904/wrapt-1.17.3-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:758895b01d546812d1f42204bd443b8c433c44d090248bf22689df673ccafe00", size = 84873, upload-time = "2025-08-12T05:52:47.077Z" }, + { url = "https://files.pythonhosted.org/packages/94/7f/681648d484ba20d8bde8e128f84775439ff15c0c2bb4a98fb3dd15c3dc16/wrapt-1.17.3-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:02b551d101f31694fc785e58e0720ef7d9a10c4e62c1c9358ce6f63f23e30a56", size = 85962, upload-time = "2025-08-12T05:52:25.127Z" }, + { url = "https://files.pythonhosted.org/packages/bd/ba/656e1a9fd72d5b0110e86eeafb51ed4e2b1fab83f5ceb933315b3b13bb4b/wrapt-1.17.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:656873859b3b50eeebe6db8b1455e99d90c26ab058db8e427046dbc35c3140a5", size = 84277, upload-time = "2025-08-12T05:52:26.208Z" }, + { url = "https://files.pythonhosted.org/packages/21/25/2f16a3f05a465a29675c7ce835e87e34525d5f302b52f7ba4d5665b25697/wrapt-1.17.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:a9a2203361a6e6404f80b99234fe7fb37d1fc73487b5a78dc1aa5b97201e0f22", size = 83790, upload-time = "2025-08-12T05:52:48.107Z" }, + { url = "https://files.pythonhosted.org/packages/3f/2e/488624ef15112dd5f4e5706e48dd8b493155b1887b6c8f92c08c17d55431/wrapt-1.17.3-cp38-cp38-win32.whl", hash = "sha256:55cbbc356c2842f39bcc553cf695932e8b30e30e797f961860afb308e6b1bb7c", size = 36399, upload-time = "2025-08-12T05:53:17.249Z" }, + { url = "https://files.pythonhosted.org/packages/44/13/dc0dfdc88f84d70ee4cc3a5a9a8088e6ce6cb47ecf7665daec82220367e9/wrapt-1.17.3-cp38-cp38-win_amd64.whl", hash = "sha256:ad85e269fe54d506b240d2d7b9f5f2057c2aa9a2ea5b32c66f8902f768117ed2", size = 38681, upload-time = "2025-08-12T05:53:16.239Z" }, { url = "https://files.pythonhosted.org/packages/41/be/be9b3b0a461ee3e30278706f3f3759b9b69afeedef7fe686036286c04ac6/wrapt-1.17.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:30ce38e66630599e1193798285706903110d4f057aab3168a34b7fdc85569afc", size = 53485, upload-time = "2025-08-12T05:51:53.11Z" }, { url = "https://files.pythonhosted.org/packages/b3/a8/8f61d6b8f526efc8c10e12bf80b4206099fea78ade70427846a37bc9cbea/wrapt-1.17.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:65d1d00fbfb3ea5f20add88bbc0f815150dbbde3b026e6c24759466c8b5a9ef9", size = 38675, upload-time = "2025-08-12T05:51:42.885Z" }, { url = "https://files.pythonhosted.org/packages/48/f1/23950c29a25637b74b322f9e425a17cc01a478f6afb35138ecb697f9558d/wrapt-1.17.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a7c06742645f914f26c7f1fa47b8bc4c91d222f76ee20116c43d5ef0912bba2d", size = 38956, upload-time = "2025-08-12T05:52:03.149Z" }, @@ -2662,130 +5107,381 @@ wheels = [ ] [[package]] -name = "yamllint" -version = "1.37.1" +name = "wrapt" +version = "2.0.1" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", +] +sdist = { url = "https://files.pythonhosted.org/packages/49/2a/6de8a50cb435b7f42c46126cf1a54b2aab81784e74c8595c8e025e8f36d3/wrapt-2.0.1.tar.gz", hash = "sha256:9c9c635e78497cacb81e84f8b11b23e0aacac7a136e73b8e5b2109a1d9fc468f", size = 82040, upload-time = "2025-11-07T00:45:33.312Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/61/0d/12d8c803ed2ce4e5e7d5b9f5f602721f9dfef82c95959f3ce97fa584bb5c/wrapt-2.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:64b103acdaa53b7caf409e8d45d39a8442fe6dcfec6ba3f3d141e0cc2b5b4dbd", size = 77481, upload-time = "2025-11-07T00:43:11.103Z" }, + { url = "https://files.pythonhosted.org/packages/05/3e/4364ebe221ebf2a44d9fc8695a19324692f7dd2795e64bd59090856ebf12/wrapt-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:91bcc576260a274b169c3098e9a3519fb01f2989f6d3d386ef9cbf8653de1374", size = 60692, upload-time = "2025-11-07T00:43:13.697Z" }, + { url = "https://files.pythonhosted.org/packages/1f/ff/ae2a210022b521f86a8ddcdd6058d137c051003812b0388a5e9a03d3fe10/wrapt-2.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ab594f346517010050126fcd822697b25a7031d815bb4fbc238ccbe568216489", size = 61574, upload-time = "2025-11-07T00:43:14.967Z" }, + { url = "https://files.pythonhosted.org/packages/c6/93/5cf92edd99617095592af919cb81d4bff61c5dbbb70d3c92099425a8ec34/wrapt-2.0.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:36982b26f190f4d737f04a492a68accbfc6fa042c3f42326fdfbb6c5b7a20a31", size = 113688, upload-time = "2025-11-07T00:43:18.275Z" }, + { url = "https://files.pythonhosted.org/packages/a0/0a/e38fc0cee1f146c9fb266d8ef96ca39fb14a9eef165383004019aa53f88a/wrapt-2.0.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:23097ed8bc4c93b7bf36fa2113c6c733c976316ce0ee2c816f64ca06102034ef", size = 115698, upload-time = "2025-11-07T00:43:19.407Z" }, + { url = "https://files.pythonhosted.org/packages/b0/85/bef44ea018b3925fb0bcbe9112715f665e4d5309bd945191da814c314fd1/wrapt-2.0.1-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8bacfe6e001749a3b64db47bcf0341da757c95959f592823a93931a422395013", size = 112096, upload-time = "2025-11-07T00:43:16.5Z" }, + { url = "https://files.pythonhosted.org/packages/7c/0b/733a2376e413117e497aa1a5b1b78e8f3a28c0e9537d26569f67d724c7c5/wrapt-2.0.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8ec3303e8a81932171f455f792f8df500fc1a09f20069e5c16bd7049ab4e8e38", size = 114878, upload-time = "2025-11-07T00:43:20.81Z" }, + { url = "https://files.pythonhosted.org/packages/da/03/d81dcb21bbf678fcda656495792b059f9d56677d119ca022169a12542bd0/wrapt-2.0.1-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:3f373a4ab5dbc528a94334f9fe444395b23c2f5332adab9ff4ea82f5a9e33bc1", size = 111298, upload-time = "2025-11-07T00:43:22.229Z" }, + { url = "https://files.pythonhosted.org/packages/c9/d5/5e623040e8056e1108b787020d56b9be93dbbf083bf2324d42cde80f3a19/wrapt-2.0.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f49027b0b9503bf6c8cdc297ca55006b80c2f5dd36cecc72c6835ab6e10e8a25", size = 113361, upload-time = "2025-11-07T00:43:24.301Z" }, + { url = "https://files.pythonhosted.org/packages/a1/f3/de535ccecede6960e28c7b722e5744846258111d6c9f071aa7578ea37ad3/wrapt-2.0.1-cp310-cp310-win32.whl", hash = "sha256:8330b42d769965e96e01fa14034b28a2a7600fbf7e8f0cc90ebb36d492c993e4", size = 58035, upload-time = "2025-11-07T00:43:28.96Z" }, + { url = "https://files.pythonhosted.org/packages/21/15/39d3ca5428a70032c2ec8b1f1c9d24c32e497e7ed81aed887a4998905fcc/wrapt-2.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:1218573502a8235bb8a7ecaed12736213b22dcde9feab115fa2989d42b5ded45", size = 60383, upload-time = "2025-11-07T00:43:25.804Z" }, + { url = "https://files.pythonhosted.org/packages/43/c2/dfd23754b7f7a4dce07e08f4309c4e10a40046a83e9ae1800f2e6b18d7c1/wrapt-2.0.1-cp310-cp310-win_arm64.whl", hash = "sha256:eda8e4ecd662d48c28bb86be9e837c13e45c58b8300e43ba3c9b4fa9900302f7", size = 58894, upload-time = "2025-11-07T00:43:27.074Z" }, + { url = "https://files.pythonhosted.org/packages/98/60/553997acf3939079dab022e37b67b1904b5b0cc235503226898ba573b10c/wrapt-2.0.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0e17283f533a0d24d6e5429a7d11f250a58d28b4ae5186f8f47853e3e70d2590", size = 77480, upload-time = "2025-11-07T00:43:30.573Z" }, + { url = "https://files.pythonhosted.org/packages/2d/50/e5b3d30895d77c52105c6d5cbf94d5b38e2a3dd4a53d22d246670da98f7c/wrapt-2.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:85df8d92158cb8f3965aecc27cf821461bb5f40b450b03facc5d9f0d4d6ddec6", size = 60690, upload-time = "2025-11-07T00:43:31.594Z" }, + { url = "https://files.pythonhosted.org/packages/f0/40/660b2898703e5cbbb43db10cdefcc294274458c3ca4c68637c2b99371507/wrapt-2.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c1be685ac7700c966b8610ccc63c3187a72e33cab53526a27b2a285a662cd4f7", size = 61578, upload-time = "2025-11-07T00:43:32.918Z" }, + { url = "https://files.pythonhosted.org/packages/5b/36/825b44c8a10556957bc0c1d84c7b29a40e05fcf1873b6c40aa9dbe0bd972/wrapt-2.0.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:df0b6d3b95932809c5b3fecc18fda0f1e07452d05e2662a0b35548985f256e28", size = 114115, upload-time = "2025-11-07T00:43:35.605Z" }, + { url = "https://files.pythonhosted.org/packages/83/73/0a5d14bb1599677304d3c613a55457d34c344e9b60eda8a737c2ead7619e/wrapt-2.0.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4da7384b0e5d4cae05c97cd6f94faaf78cc8b0f791fc63af43436d98c4ab37bb", size = 116157, upload-time = "2025-11-07T00:43:37.058Z" }, + { url = "https://files.pythonhosted.org/packages/01/22/1c158fe763dbf0a119f985d945711d288994fe5514c0646ebe0eb18b016d/wrapt-2.0.1-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ec65a78fbd9d6f083a15d7613b2800d5663dbb6bb96003899c834beaa68b242c", size = 112535, upload-time = "2025-11-07T00:43:34.138Z" }, + { url = "https://files.pythonhosted.org/packages/5c/28/4f16861af67d6de4eae9927799b559c20ebdd4fe432e89ea7fe6fcd9d709/wrapt-2.0.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7de3cc939be0e1174969f943f3b44e0d79b6f9a82198133a5b7fc6cc92882f16", size = 115404, upload-time = "2025-11-07T00:43:39.214Z" }, + { url = "https://files.pythonhosted.org/packages/a0/8b/7960122e625fad908f189b59c4aae2d50916eb4098b0fb2819c5a177414f/wrapt-2.0.1-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:fb1a5b72cbd751813adc02ef01ada0b0d05d3dcbc32976ce189a1279d80ad4a2", size = 111802, upload-time = "2025-11-07T00:43:40.476Z" }, + { url = "https://files.pythonhosted.org/packages/3e/73/7881eee5ac31132a713ab19a22c9e5f1f7365c8b1df50abba5d45b781312/wrapt-2.0.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3fa272ca34332581e00bf7773e993d4f632594eb2d1b0b162a9038df0fd971dd", size = 113837, upload-time = "2025-11-07T00:43:42.921Z" }, + { url = "https://files.pythonhosted.org/packages/45/00/9499a3d14e636d1f7089339f96c4409bbc7544d0889f12264efa25502ae8/wrapt-2.0.1-cp311-cp311-win32.whl", hash = "sha256:fc007fdf480c77301ab1afdbb6ab22a5deee8885f3b1ed7afcb7e5e84a0e27be", size = 58028, upload-time = "2025-11-07T00:43:47.369Z" }, + { url = "https://files.pythonhosted.org/packages/70/5d/8f3d7eea52f22638748f74b102e38fdf88cb57d08ddeb7827c476a20b01b/wrapt-2.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:47434236c396d04875180171ee1f3815ca1eada05e24a1ee99546320d54d1d1b", size = 60385, upload-time = "2025-11-07T00:43:44.34Z" }, + { url = "https://files.pythonhosted.org/packages/14/e2/32195e57a8209003587bbbad44d5922f13e0ced2a493bb46ca882c5b123d/wrapt-2.0.1-cp311-cp311-win_arm64.whl", hash = "sha256:837e31620e06b16030b1d126ed78e9383815cbac914693f54926d816d35d8edf", size = 58893, upload-time = "2025-11-07T00:43:46.161Z" }, + { url = "https://files.pythonhosted.org/packages/cb/73/8cb252858dc8254baa0ce58ce382858e3a1cf616acebc497cb13374c95c6/wrapt-2.0.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1fdbb34da15450f2b1d735a0e969c24bdb8d8924892380126e2a293d9902078c", size = 78129, upload-time = "2025-11-07T00:43:48.852Z" }, + { url = "https://files.pythonhosted.org/packages/19/42/44a0db2108526ee6e17a5ab72478061158f34b08b793df251d9fbb9a7eb4/wrapt-2.0.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3d32794fe940b7000f0519904e247f902f0149edbe6316c710a8562fb6738841", size = 61205, upload-time = "2025-11-07T00:43:50.402Z" }, + { url = "https://files.pythonhosted.org/packages/4d/8a/5b4b1e44b791c22046e90d9b175f9a7581a8cc7a0debbb930f81e6ae8e25/wrapt-2.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:386fb54d9cd903ee0012c09291336469eb7b244f7183d40dc3e86a16a4bace62", size = 61692, upload-time = "2025-11-07T00:43:51.678Z" }, + { url = "https://files.pythonhosted.org/packages/11/53/3e794346c39f462bcf1f58ac0487ff9bdad02f9b6d5ee2dc84c72e0243b2/wrapt-2.0.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:7b219cb2182f230676308cdcacd428fa837987b89e4b7c5c9025088b8a6c9faf", size = 121492, upload-time = "2025-11-07T00:43:55.017Z" }, + { url = "https://files.pythonhosted.org/packages/c6/7e/10b7b0e8841e684c8ca76b462a9091c45d62e8f2de9c4b1390b690eadf16/wrapt-2.0.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:641e94e789b5f6b4822bb8d8ebbdfc10f4e4eae7756d648b717d980f657a9eb9", size = 123064, upload-time = "2025-11-07T00:43:56.323Z" }, + { url = "https://files.pythonhosted.org/packages/0e/d1/3c1e4321fc2f5ee7fd866b2d822aa89b84495f28676fd976c47327c5b6aa/wrapt-2.0.1-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fe21b118b9f58859b5ebaa4b130dee18669df4bd111daad082b7beb8799ad16b", size = 117403, upload-time = "2025-11-07T00:43:53.258Z" }, + { url = "https://files.pythonhosted.org/packages/a4/b0/d2f0a413cf201c8c2466de08414a15420a25aa83f53e647b7255cc2fab5d/wrapt-2.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:17fb85fa4abc26a5184d93b3efd2dcc14deb4b09edcdb3535a536ad34f0b4dba", size = 121500, upload-time = "2025-11-07T00:43:57.468Z" }, + { url = "https://files.pythonhosted.org/packages/bd/45/bddb11d28ca39970a41ed48a26d210505120f925918592283369219f83cc/wrapt-2.0.1-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:b89ef9223d665ab255ae42cc282d27d69704d94be0deffc8b9d919179a609684", size = 116299, upload-time = "2025-11-07T00:43:58.877Z" }, + { url = "https://files.pythonhosted.org/packages/81/af/34ba6dd570ef7a534e7eec0c25e2615c355602c52aba59413411c025a0cb/wrapt-2.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a453257f19c31b31ba593c30d997d6e5be39e3b5ad9148c2af5a7314061c63eb", size = 120622, upload-time = "2025-11-07T00:43:59.962Z" }, + { url = "https://files.pythonhosted.org/packages/e2/3e/693a13b4146646fb03254636f8bafd20c621955d27d65b15de07ab886187/wrapt-2.0.1-cp312-cp312-win32.whl", hash = "sha256:3e271346f01e9c8b1130a6a3b0e11908049fe5be2d365a5f402778049147e7e9", size = 58246, upload-time = "2025-11-07T00:44:03.169Z" }, + { url = "https://files.pythonhosted.org/packages/a7/36/715ec5076f925a6be95f37917b66ebbeaa1372d1862c2ccd7a751574b068/wrapt-2.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:2da620b31a90cdefa9cd0c2b661882329e2e19d1d7b9b920189956b76c564d75", size = 60492, upload-time = "2025-11-07T00:44:01.027Z" }, + { url = "https://files.pythonhosted.org/packages/ef/3e/62451cd7d80f65cc125f2b426b25fbb6c514bf6f7011a0c3904fc8c8df90/wrapt-2.0.1-cp312-cp312-win_arm64.whl", hash = "sha256:aea9c7224c302bc8bfc892b908537f56c430802560e827b75ecbde81b604598b", size = 58987, upload-time = "2025-11-07T00:44:02.095Z" }, + { url = "https://files.pythonhosted.org/packages/ad/fe/41af4c46b5e498c90fc87981ab2972fbd9f0bccda597adb99d3d3441b94b/wrapt-2.0.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:47b0f8bafe90f7736151f61482c583c86b0693d80f075a58701dd1549b0010a9", size = 78132, upload-time = "2025-11-07T00:44:04.628Z" }, + { url = "https://files.pythonhosted.org/packages/1c/92/d68895a984a5ebbbfb175512b0c0aad872354a4a2484fbd5552e9f275316/wrapt-2.0.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:cbeb0971e13b4bd81d34169ed57a6dda017328d1a22b62fda45e1d21dd06148f", size = 61211, upload-time = "2025-11-07T00:44:05.626Z" }, + { url = "https://files.pythonhosted.org/packages/e8/26/ba83dc5ae7cf5aa2b02364a3d9cf74374b86169906a1f3ade9a2d03cf21c/wrapt-2.0.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:eb7cffe572ad0a141a7886a1d2efa5bef0bf7fe021deeea76b3ab334d2c38218", size = 61689, upload-time = "2025-11-07T00:44:06.719Z" }, + { url = "https://files.pythonhosted.org/packages/cf/67/d7a7c276d874e5d26738c22444d466a3a64ed541f6ef35f740dbd865bab4/wrapt-2.0.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:c8d60527d1ecfc131426b10d93ab5d53e08a09c5fa0175f6b21b3252080c70a9", size = 121502, upload-time = "2025-11-07T00:44:09.557Z" }, + { url = "https://files.pythonhosted.org/packages/0f/6b/806dbf6dd9579556aab22fc92908a876636e250f063f71548a8660382184/wrapt-2.0.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c654eafb01afac55246053d67a4b9a984a3567c3808bb7df2f8de1c1caba2e1c", size = 123110, upload-time = "2025-11-07T00:44:10.64Z" }, + { url = "https://files.pythonhosted.org/packages/e5/08/cdbb965fbe4c02c5233d185d070cabed2ecc1f1e47662854f95d77613f57/wrapt-2.0.1-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:98d873ed6c8b4ee2418f7afce666751854d6d03e3c0ec2a399bb039cd2ae89db", size = 117434, upload-time = "2025-11-07T00:44:08.138Z" }, + { url = "https://files.pythonhosted.org/packages/2d/d1/6aae2ce39db4cb5216302fa2e9577ad74424dfbe315bd6669725569e048c/wrapt-2.0.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c9e850f5b7fc67af856ff054c71690d54fa940c3ef74209ad9f935b4f66a0233", size = 121533, upload-time = "2025-11-07T00:44:12.142Z" }, + { url = "https://files.pythonhosted.org/packages/79/35/565abf57559fbe0a9155c29879ff43ce8bd28d2ca61033a3a3dd67b70794/wrapt-2.0.1-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:e505629359cb5f751e16e30cf3f91a1d3ddb4552480c205947da415d597f7ac2", size = 116324, upload-time = "2025-11-07T00:44:13.28Z" }, + { url = "https://files.pythonhosted.org/packages/e1/e0/53ff5e76587822ee33e560ad55876d858e384158272cd9947abdd4ad42ca/wrapt-2.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2879af909312d0baf35f08edeea918ee3af7ab57c37fe47cb6a373c9f2749c7b", size = 120627, upload-time = "2025-11-07T00:44:14.431Z" }, + { url = "https://files.pythonhosted.org/packages/7c/7b/38df30fd629fbd7612c407643c63e80e1c60bcc982e30ceeae163a9800e7/wrapt-2.0.1-cp313-cp313-win32.whl", hash = "sha256:d67956c676be5a24102c7407a71f4126d30de2a569a1c7871c9f3cabc94225d7", size = 58252, upload-time = "2025-11-07T00:44:17.814Z" }, + { url = "https://files.pythonhosted.org/packages/85/64/d3954e836ea67c4d3ad5285e5c8fd9d362fd0a189a2db622df457b0f4f6a/wrapt-2.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:9ca66b38dd642bf90c59b6738af8070747b610115a39af2498535f62b5cdc1c3", size = 60500, upload-time = "2025-11-07T00:44:15.561Z" }, + { url = "https://files.pythonhosted.org/packages/89/4e/3c8b99ac93527cfab7f116089db120fef16aac96e5f6cdb724ddf286086d/wrapt-2.0.1-cp313-cp313-win_arm64.whl", hash = "sha256:5a4939eae35db6b6cec8e7aa0e833dcca0acad8231672c26c2a9ab7a0f8ac9c8", size = 58993, upload-time = "2025-11-07T00:44:16.65Z" }, + { url = "https://files.pythonhosted.org/packages/f9/f4/eff2b7d711cae20d220780b9300faa05558660afb93f2ff5db61fe725b9a/wrapt-2.0.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:a52f93d95c8d38fed0669da2ebdb0b0376e895d84596a976c15a9eb45e3eccb3", size = 82028, upload-time = "2025-11-07T00:44:18.944Z" }, + { url = "https://files.pythonhosted.org/packages/0c/67/cb945563f66fd0f61a999339460d950f4735c69f18f0a87ca586319b1778/wrapt-2.0.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4e54bbf554ee29fcceee24fa41c4d091398b911da6e7f5d7bffda963c9aed2e1", size = 62949, upload-time = "2025-11-07T00:44:20.074Z" }, + { url = "https://files.pythonhosted.org/packages/ec/ca/f63e177f0bbe1e5cf5e8d9b74a286537cd709724384ff20860f8f6065904/wrapt-2.0.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:908f8c6c71557f4deaa280f55d0728c3bca0960e8c3dd5ceeeafb3c19942719d", size = 63681, upload-time = "2025-11-07T00:44:21.345Z" }, + { url = "https://files.pythonhosted.org/packages/39/a1/1b88fcd21fd835dca48b556daef750952e917a2794fa20c025489e2e1f0f/wrapt-2.0.1-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:e2f84e9af2060e3904a32cea9bb6db23ce3f91cfd90c6b426757cf7cc01c45c7", size = 152696, upload-time = "2025-11-07T00:44:24.318Z" }, + { url = "https://files.pythonhosted.org/packages/62/1c/d9185500c1960d9f5f77b9c0b890b7fc62282b53af7ad1b6bd779157f714/wrapt-2.0.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e3612dc06b436968dfb9142c62e5dfa9eb5924f91120b3c8ff501ad878f90eb3", size = 158859, upload-time = "2025-11-07T00:44:25.494Z" }, + { url = "https://files.pythonhosted.org/packages/91/60/5d796ed0f481ec003220c7878a1d6894652efe089853a208ea0838c13086/wrapt-2.0.1-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6d2d947d266d99a1477cd005b23cbd09465276e302515e122df56bb9511aca1b", size = 146068, upload-time = "2025-11-07T00:44:22.81Z" }, + { url = "https://files.pythonhosted.org/packages/04/f8/75282dd72f102ddbfba137e1e15ecba47b40acff32c08ae97edbf53f469e/wrapt-2.0.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:7d539241e87b650cbc4c3ac9f32c8d1ac8a54e510f6dca3f6ab60dcfd48c9b10", size = 155724, upload-time = "2025-11-07T00:44:26.634Z" }, + { url = "https://files.pythonhosted.org/packages/5a/27/fe39c51d1b344caebb4a6a9372157bdb8d25b194b3561b52c8ffc40ac7d1/wrapt-2.0.1-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:4811e15d88ee62dbf5c77f2c3ff3932b1e3ac92323ba3912f51fc4016ce81ecf", size = 144413, upload-time = "2025-11-07T00:44:27.939Z" }, + { url = "https://files.pythonhosted.org/packages/83/2b/9f6b643fe39d4505c7bf926d7c2595b7cb4b607c8c6b500e56c6b36ac238/wrapt-2.0.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c1c91405fcf1d501fa5d55df21e58ea49e6b879ae829f1039faaf7e5e509b41e", size = 150325, upload-time = "2025-11-07T00:44:29.29Z" }, + { url = "https://files.pythonhosted.org/packages/bb/b6/20ffcf2558596a7f58a2e69c89597128781f0b88e124bf5a4cadc05b8139/wrapt-2.0.1-cp313-cp313t-win32.whl", hash = "sha256:e76e3f91f864e89db8b8d2a8311d57df93f01ad6bb1e9b9976d1f2e83e18315c", size = 59943, upload-time = "2025-11-07T00:44:33.211Z" }, + { url = "https://files.pythonhosted.org/packages/87/6a/0e56111cbb3320151eed5d3821ee1373be13e05b376ea0870711f18810c3/wrapt-2.0.1-cp313-cp313t-win_amd64.whl", hash = "sha256:83ce30937f0ba0d28818807b303a412440c4b63e39d3d8fc036a94764b728c92", size = 63240, upload-time = "2025-11-07T00:44:30.935Z" }, + { url = "https://files.pythonhosted.org/packages/1d/54/5ab4c53ea1f7f7e5c3e7c1095db92932cc32fd62359d285486d00c2884c3/wrapt-2.0.1-cp313-cp313t-win_arm64.whl", hash = "sha256:4b55cacc57e1dc2d0991dbe74c6419ffd415fb66474a02335cb10efd1aa3f84f", size = 60416, upload-time = "2025-11-07T00:44:32.002Z" }, + { url = "https://files.pythonhosted.org/packages/73/81/d08d83c102709258e7730d3cd25befd114c60e43ef3891d7e6877971c514/wrapt-2.0.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:5e53b428f65ece6d9dad23cb87e64506392b720a0b45076c05354d27a13351a1", size = 78290, upload-time = "2025-11-07T00:44:34.691Z" }, + { url = "https://files.pythonhosted.org/packages/f6/14/393afba2abb65677f313aa680ff0981e829626fed39b6a7e3ec807487790/wrapt-2.0.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:ad3ee9d0f254851c71780966eb417ef8e72117155cff04821ab9b60549694a55", size = 61255, upload-time = "2025-11-07T00:44:35.762Z" }, + { url = "https://files.pythonhosted.org/packages/c4/10/a4a1f2fba205a9462e36e708ba37e5ac95f4987a0f1f8fd23f0bf1fc3b0f/wrapt-2.0.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:d7b822c61ed04ee6ad64bc90d13368ad6eb094db54883b5dde2182f67a7f22c0", size = 61797, upload-time = "2025-11-07T00:44:37.22Z" }, + { url = "https://files.pythonhosted.org/packages/12/db/99ba5c37cf1c4fad35349174f1e38bd8d992340afc1ff27f526729b98986/wrapt-2.0.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:7164a55f5e83a9a0b031d3ffab4d4e36bbec42e7025db560f225489fa929e509", size = 120470, upload-time = "2025-11-07T00:44:39.425Z" }, + { url = "https://files.pythonhosted.org/packages/30/3f/a1c8d2411eb826d695fc3395a431757331582907a0ec59afce8fe8712473/wrapt-2.0.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e60690ba71a57424c8d9ff28f8d006b7ad7772c22a4af432188572cd7fa004a1", size = 122851, upload-time = "2025-11-07T00:44:40.582Z" }, + { url = "https://files.pythonhosted.org/packages/b3/8d/72c74a63f201768d6a04a8845c7976f86be6f5ff4d74996c272cefc8dafc/wrapt-2.0.1-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3cd1a4bd9a7a619922a8557e1318232e7269b5fb69d4ba97b04d20450a6bf970", size = 117433, upload-time = "2025-11-07T00:44:38.313Z" }, + { url = "https://files.pythonhosted.org/packages/c7/5a/df37cf4042cb13b08256f8e27023e2f9b3d471d553376616591bb99bcb31/wrapt-2.0.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:b4c2e3d777e38e913b8ce3a6257af72fb608f86a1df471cb1d4339755d0a807c", size = 121280, upload-time = "2025-11-07T00:44:41.69Z" }, + { url = "https://files.pythonhosted.org/packages/54/34/40d6bc89349f9931e1186ceb3e5fbd61d307fef814f09fbbac98ada6a0c8/wrapt-2.0.1-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:3d366aa598d69416b5afedf1faa539fac40c1d80a42f6b236c88c73a3c8f2d41", size = 116343, upload-time = "2025-11-07T00:44:43.013Z" }, + { url = "https://files.pythonhosted.org/packages/70/66/81c3461adece09d20781dee17c2366fdf0cb8754738b521d221ca056d596/wrapt-2.0.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:c235095d6d090aa903f1db61f892fffb779c1eaeb2a50e566b52001f7a0f66ed", size = 119650, upload-time = "2025-11-07T00:44:44.523Z" }, + { url = "https://files.pythonhosted.org/packages/46/3a/d0146db8be8761a9e388cc9cc1c312b36d583950ec91696f19bbbb44af5a/wrapt-2.0.1-cp314-cp314-win32.whl", hash = "sha256:bfb5539005259f8127ea9c885bdc231978c06b7a980e63a8a61c8c4c979719d0", size = 58701, upload-time = "2025-11-07T00:44:48.277Z" }, + { url = "https://files.pythonhosted.org/packages/1a/38/5359da9af7d64554be63e9046164bd4d8ff289a2dd365677d25ba3342c08/wrapt-2.0.1-cp314-cp314-win_amd64.whl", hash = "sha256:4ae879acc449caa9ed43fc36ba08392b9412ee67941748d31d94e3cedb36628c", size = 60947, upload-time = "2025-11-07T00:44:46.086Z" }, + { url = "https://files.pythonhosted.org/packages/aa/3f/96db0619276a833842bf36343685fa04f987dd6e3037f314531a1e00492b/wrapt-2.0.1-cp314-cp314-win_arm64.whl", hash = "sha256:8639b843c9efd84675f1e100ed9e99538ebea7297b62c4b45a7042edb84db03e", size = 59359, upload-time = "2025-11-07T00:44:47.164Z" }, + { url = "https://files.pythonhosted.org/packages/71/49/5f5d1e867bf2064bf3933bc6cf36ade23505f3902390e175e392173d36a2/wrapt-2.0.1-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:9219a1d946a9b32bb23ccae66bdb61e35c62773ce7ca6509ceea70f344656b7b", size = 82031, upload-time = "2025-11-07T00:44:49.4Z" }, + { url = "https://files.pythonhosted.org/packages/2b/89/0009a218d88db66ceb83921e5685e820e2c61b59bbbb1324ba65342668bc/wrapt-2.0.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:fa4184e74197af3adad3c889a1af95b53bb0466bced92ea99a0c014e48323eec", size = 62952, upload-time = "2025-11-07T00:44:50.74Z" }, + { url = "https://files.pythonhosted.org/packages/ae/18/9b968e920dd05d6e44bcc918a046d02afea0fb31b2f1c80ee4020f377cbe/wrapt-2.0.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c5ef2f2b8a53b7caee2f797ef166a390fef73979b15778a4a153e4b5fedce8fa", size = 63688, upload-time = "2025-11-07T00:44:52.248Z" }, + { url = "https://files.pythonhosted.org/packages/a6/7d/78bdcb75826725885d9ea26c49a03071b10c4c92da93edda612910f150e4/wrapt-2.0.1-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:e042d653a4745be832d5aa190ff80ee4f02c34b21f4b785745eceacd0907b815", size = 152706, upload-time = "2025-11-07T00:44:54.613Z" }, + { url = "https://files.pythonhosted.org/packages/dd/77/cac1d46f47d32084a703df0d2d29d47e7eb2a7d19fa5cbca0e529ef57659/wrapt-2.0.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2afa23318136709c4b23d87d543b425c399887b4057936cd20386d5b1422b6fa", size = 158866, upload-time = "2025-11-07T00:44:55.79Z" }, + { url = "https://files.pythonhosted.org/packages/8a/11/b521406daa2421508903bf8d5e8b929216ec2af04839db31c0a2c525eee0/wrapt-2.0.1-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6c72328f668cf4c503ffcf9434c2b71fdd624345ced7941bc6693e61bbe36bef", size = 146148, upload-time = "2025-11-07T00:44:53.388Z" }, + { url = "https://files.pythonhosted.org/packages/0c/c0/340b272bed297baa7c9ce0c98ef7017d9c035a17a6a71dce3184b8382da2/wrapt-2.0.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:3793ac154afb0e5b45d1233cb94d354ef7a983708cc3bb12563853b1d8d53747", size = 155737, upload-time = "2025-11-07T00:44:56.971Z" }, + { url = "https://files.pythonhosted.org/packages/f3/93/bfcb1fb2bdf186e9c2883a4d1ab45ab099c79cbf8f4e70ea453811fa3ea7/wrapt-2.0.1-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:fec0d993ecba3991645b4857837277469c8cc4c554a7e24d064d1ca291cfb81f", size = 144451, upload-time = "2025-11-07T00:44:58.515Z" }, + { url = "https://files.pythonhosted.org/packages/d2/6b/dca504fb18d971139d232652656180e3bd57120e1193d9a5899c3c0b7cdd/wrapt-2.0.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:949520bccc1fa227274da7d03bf238be15389cd94e32e4297b92337df9b7a349", size = 150353, upload-time = "2025-11-07T00:44:59.753Z" }, + { url = "https://files.pythonhosted.org/packages/1d/f6/a1de4bd3653afdf91d250ca5c721ee51195df2b61a4603d4b373aa804d1d/wrapt-2.0.1-cp314-cp314t-win32.whl", hash = "sha256:be9e84e91d6497ba62594158d3d31ec0486c60055c49179edc51ee43d095f79c", size = 60609, upload-time = "2025-11-07T00:45:03.315Z" }, + { url = "https://files.pythonhosted.org/packages/01/3a/07cd60a9d26fe73efead61c7830af975dfdba8537632d410462672e4432b/wrapt-2.0.1-cp314-cp314t-win_amd64.whl", hash = "sha256:61c4956171c7434634401db448371277d07032a81cc21c599c22953374781395", size = 64038, upload-time = "2025-11-07T00:45:00.948Z" }, + { url = "https://files.pythonhosted.org/packages/41/99/8a06b8e17dddbf321325ae4eb12465804120f699cd1b8a355718300c62da/wrapt-2.0.1-cp314-cp314t-win_arm64.whl", hash = "sha256:35cdbd478607036fee40273be8ed54a451f5f23121bd9d4be515158f9498f7ad", size = 60634, upload-time = "2025-11-07T00:45:02.087Z" }, + { url = "https://files.pythonhosted.org/packages/4d/26/ed6979672ebe0e33f6059fdc8182c4c536e575b6f03d349a542082ca03fb/wrapt-2.0.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:90897ea1cf0679763b62e79657958cd54eae5659f6360fc7d2ccc6f906342183", size = 77192, upload-time = "2025-11-07T00:45:04.493Z" }, + { url = "https://files.pythonhosted.org/packages/b5/a5/fb0974e8d21ef17f75ffa365b395c04eefa23eb6e45548e94c781e93c306/wrapt-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:50844efc8cdf63b2d90cd3d62d4947a28311e6266ce5235a219d21b195b4ec2c", size = 60475, upload-time = "2025-11-07T00:45:05.671Z" }, + { url = "https://files.pythonhosted.org/packages/6b/7b/56bf38c8bd5e8a48749f1a13c743eddcbd7a616da342b4877f79ec3e7087/wrapt-2.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:49989061a9977a8cbd6d20f2efa813f24bf657c6990a42967019ce779a878dbf", size = 61311, upload-time = "2025-11-07T00:45:06.822Z" }, + { url = "https://files.pythonhosted.org/packages/18/70/ba94af50f2145cb431163d74d405083beb16782818b20c956138e4f59299/wrapt-2.0.1-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:09c7476ab884b74dce081ad9bfd07fe5822d8600abade571cb1f66d5fc915af6", size = 118542, upload-time = "2025-11-07T00:45:08.324Z" }, + { url = "https://files.pythonhosted.org/packages/14/ac/537c8f9cec8a422cfed45b28665ea33344928fd67913e5ff98af0c11470c/wrapt-2.0.1-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d1a8a09a004ef100e614beec82862d11fc17d601092c3599afd22b1f36e4137e", size = 120989, upload-time = "2025-11-07T00:45:09.928Z" }, + { url = "https://files.pythonhosted.org/packages/7f/b8/463284d8a74e56c88f5f2fb9b572178a294e0beb945b8ee2a7ca43a1696d/wrapt-2.0.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:89a82053b193837bf93c0f8a57ded6e4b6d88033a499dadff5067e912c2a41e9", size = 118937, upload-time = "2025-11-07T00:45:11.157Z" }, + { url = "https://files.pythonhosted.org/packages/3c/8e/08b8f9de6b3cfd269504b345d31679d283e50cc93cb0521a44475bb7311b/wrapt-2.0.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:f26f8e2ca19564e2e1fdbb6a0e47f36e0efbab1acc31e15471fad88f828c75f6", size = 117150, upload-time = "2025-11-07T00:45:12.324Z" }, + { url = "https://files.pythonhosted.org/packages/4c/f3/0eab878bb4d0eadbec2b75e399cfa6aa802e634587756d59419080aae1f5/wrapt-2.0.1-cp38-cp38-win32.whl", hash = "sha256:115cae4beed3542e37866469a8a1f2b9ec549b4463572b000611e9946b86e6f6", size = 57936, upload-time = "2025-11-07T00:45:15.468Z" }, + { url = "https://files.pythonhosted.org/packages/03/e5/fc964b370bf568312deda176682138ccbd41960285a7de49002183e2aa08/wrapt-2.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:c4012a2bd37059d04f8209916aa771dfb564cccb86079072bdcd48a308b6a5c5", size = 60308, upload-time = "2025-11-07T00:45:13.573Z" }, + { url = "https://files.pythonhosted.org/packages/c6/1f/5af0ae22368ec69067a577f9e07a0dd2619a1f63aabc2851263679942667/wrapt-2.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:68424221a2dc00d634b54f92441914929c5ffb1c30b3b837343978343a3512a3", size = 77478, upload-time = "2025-11-07T00:45:16.65Z" }, + { url = "https://files.pythonhosted.org/packages/8c/b7/fd6b563aada859baabc55db6aa71b8afb4a3ceb8bc33d1053e4c7b5e0109/wrapt-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6bd1a18f5a797fe740cb3d7a0e853a8ce6461cc62023b630caec80171a6b8097", size = 60687, upload-time = "2025-11-07T00:45:17.896Z" }, + { url = "https://files.pythonhosted.org/packages/0f/8c/9ededfff478af396bcd081076986904bdca336d9664d247094150c877dcb/wrapt-2.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fb3a86e703868561c5cad155a15c36c716e1ab513b7065bd2ac8ed353c503333", size = 61563, upload-time = "2025-11-07T00:45:19.109Z" }, + { url = "https://files.pythonhosted.org/packages/ab/a7/d795a1aa2b6ab20ca21157fe03cbfc6aa7e870a88ac3b4ea189e2f6c79f0/wrapt-2.0.1-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:5dc1b852337c6792aa111ca8becff5bacf576bf4a0255b0f05eb749da6a1643e", size = 113395, upload-time = "2025-11-07T00:45:21.551Z" }, + { url = "https://files.pythonhosted.org/packages/61/32/56cde2bbf95f2d5698a1850a765520aa86bc7ae0f95b8ec80b6f2e2049bb/wrapt-2.0.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c046781d422f0830de6329fa4b16796096f28a92c8aef3850674442cdcb87b7f", size = 115362, upload-time = "2025-11-07T00:45:22.809Z" }, + { url = "https://files.pythonhosted.org/packages/cf/53/8d3cc433847c219212c133a3e8305bd087b386ef44442ff39189e8fa62ac/wrapt-2.0.1-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f73f9f7a0ebd0db139253d27e5fc8d2866ceaeef19c30ab5d69dcbe35e1a6981", size = 111766, upload-time = "2025-11-07T00:45:20.294Z" }, + { url = "https://files.pythonhosted.org/packages/b8/d3/14b50c2d0463c0dcef8f388cb1527ed7bbdf0972b9fd9976905f36c77ebf/wrapt-2.0.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:b667189cf8efe008f55bbda321890bef628a67ab4147ebf90d182f2dadc78790", size = 114560, upload-time = "2025-11-07T00:45:24.054Z" }, + { url = "https://files.pythonhosted.org/packages/3a/b8/4f731ff178f77ae55385586de9ff4b4261e872cf2ced4875e6c976fbcb8b/wrapt-2.0.1-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:a9a83618c4f0757557c077ef71d708ddd9847ed66b7cc63416632af70d3e2308", size = 110999, upload-time = "2025-11-07T00:45:25.596Z" }, + { url = "https://files.pythonhosted.org/packages/fe/bb/5f1bb0f9ae9d12e19f1d71993d052082062603e83fe3e978377f918f054d/wrapt-2.0.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1e9b121e9aeb15df416c2c960b8255a49d44b4038016ee17af03975992d03931", size = 113164, upload-time = "2025-11-07T00:45:26.8Z" }, + { url = "https://files.pythonhosted.org/packages/ad/f6/f3a3c623d3065c7bf292ee0b73566236b562d5ed894891bd8e435762b618/wrapt-2.0.1-cp39-cp39-win32.whl", hash = "sha256:1f186e26ea0a55f809f232e92cc8556a0977e00183c3ebda039a807a42be1494", size = 58028, upload-time = "2025-11-07T00:45:30.943Z" }, + { url = "https://files.pythonhosted.org/packages/24/78/647c609dfa18063a7fcd5c23f762dd006be401cc9206314d29c9b0b12078/wrapt-2.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:bf4cb76f36be5de950ce13e22e7fdf462b35b04665a12b64f3ac5c1bbbcf3728", size = 60380, upload-time = "2025-11-07T00:45:28.341Z" }, + { url = "https://files.pythonhosted.org/packages/07/90/0c14b241d18d80ddf4c847a5f52071e126e8a6a9e5a8a7952add8ef0d766/wrapt-2.0.1-cp39-cp39-win_arm64.whl", hash = "sha256:d6cc985b9c8b235bd933990cdbf0f891f8e010b65a3911f7a55179cd7b0fc57b", size = 58895, upload-time = "2025-11-07T00:45:29.527Z" }, + { url = "https://files.pythonhosted.org/packages/15/d1/b51471c11592ff9c012bd3e2f7334a6ff2f42a7aed2caffcf0bdddc9cb89/wrapt-2.0.1-py3-none-any.whl", hash = "sha256:4d2ce1bf1a48c5277d7969259232b57645aae5686dba1eaeade39442277afbca", size = 44046, upload-time = "2025-11-07T00:45:32.116Z" }, +] + +[[package]] +name = "yarl" +version = "1.15.2" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.9'", +] dependencies = [ - { name = "pathspec" }, - { name = "pyyaml" }, + { name = "idna", marker = "python_full_version < '3.9'" }, + { name = "multidict", version = "6.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "propcache", version = "0.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/46/f2/cd8b7584a48ee83f0bc94f8a32fea38734cefcdc6f7324c4d3bfc699457b/yamllint-1.37.1.tar.gz", hash = "sha256:81f7c0c5559becc8049470d86046b36e96113637bcbe4753ecef06977c00245d", size = 141613, upload-time = "2025-05-04T08:25:54.355Z" } +sdist = { url = "https://files.pythonhosted.org/packages/06/e1/d5427a061819c9f885f58bb0467d02a523f1aec19f9e5f9c82ce950d90d3/yarl-1.15.2.tar.gz", hash = "sha256:a39c36f4218a5bb668b4f06874d676d35a035ee668e6e7e3538835c703634b84", size = 169318, upload-time = "2024-10-13T18:48:04.311Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/dd/b9/be7a4cfdf47e03785f657f94daea8123e838d817be76c684298305bd789f/yamllint-1.37.1-py3-none-any.whl", hash = "sha256:364f0d79e81409f591e323725e6a9f4504c8699ddf2d7263d8d2b539cd66a583", size = 68813, upload-time = "2025-05-04T08:25:52.552Z" }, + { url = "https://files.pythonhosted.org/packages/61/f8/6b1bbc6f597d8937ad8661c042aa6bdbbe46a3a6e38e2c04214b9c82e804/yarl-1.15.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e4ee8b8639070ff246ad3649294336b06db37a94bdea0d09ea491603e0be73b8", size = 136479, upload-time = "2024-10-13T18:44:32.077Z" }, + { url = "https://files.pythonhosted.org/packages/61/e0/973c0d16b1cb710d318b55bd5d019a1ecd161d28670b07d8d9df9a83f51f/yarl-1.15.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a7cf963a357c5f00cb55b1955df8bbe68d2f2f65de065160a1c26b85a1e44172", size = 88671, upload-time = "2024-10-13T18:44:35.334Z" }, + { url = "https://files.pythonhosted.org/packages/16/df/241cfa1cf33b96da2c8773b76fe3ee58e04cb09ecfe794986ec436ae97dc/yarl-1.15.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:43ebdcc120e2ca679dba01a779333a8ea76b50547b55e812b8b92818d604662c", size = 86578, upload-time = "2024-10-13T18:44:37.58Z" }, + { url = "https://files.pythonhosted.org/packages/02/a4/ee2941d1f93600d921954a0850e20581159772304e7de49f60588e9128a2/yarl-1.15.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3433da95b51a75692dcf6cc8117a31410447c75a9a8187888f02ad45c0a86c50", size = 307212, upload-time = "2024-10-13T18:44:39.932Z" }, + { url = "https://files.pythonhosted.org/packages/08/64/2e6561af430b092b21c7a867ae3079f62e1532d3e51fee765fd7a74cef6c/yarl-1.15.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:38d0124fa992dbacd0c48b1b755d3ee0a9f924f427f95b0ef376556a24debf01", size = 321589, upload-time = "2024-10-13T18:44:42.527Z" }, + { url = "https://files.pythonhosted.org/packages/f8/af/056ab318a7117fa70f6ab502ff880e47af973948d1d123aff397cd68499c/yarl-1.15.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ded1b1803151dd0f20a8945508786d57c2f97a50289b16f2629f85433e546d47", size = 319443, upload-time = "2024-10-13T18:44:45.03Z" }, + { url = "https://files.pythonhosted.org/packages/99/d1/051b0bc2c90c9a2618bab10a9a9a61a96ddb28c7c54161a5c97f9e625205/yarl-1.15.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ace4cad790f3bf872c082366c9edd7f8f8f77afe3992b134cfc810332206884f", size = 310324, upload-time = "2024-10-13T18:44:47.675Z" }, + { url = "https://files.pythonhosted.org/packages/23/1b/16df55016f9ac18457afda165031086bce240d8bcf494501fb1164368617/yarl-1.15.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c77494a2f2282d9bbbbcab7c227a4d1b4bb829875c96251f66fb5f3bae4fb053", size = 300428, upload-time = "2024-10-13T18:44:49.431Z" }, + { url = "https://files.pythonhosted.org/packages/83/a5/5188d1c575139a8dfd90d463d56f831a018f41f833cdf39da6bd8a72ee08/yarl-1.15.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b7f227ca6db5a9fda0a2b935a2ea34a7267589ffc63c8045f0e4edb8d8dcf956", size = 307079, upload-time = "2024-10-13T18:44:51.96Z" }, + { url = "https://files.pythonhosted.org/packages/ba/4e/2497f8f2b34d1a261bebdbe00066242eacc9a7dccd4f02ddf0995014290a/yarl-1.15.2-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:31561a5b4d8dbef1559b3600b045607cf804bae040f64b5f5bca77da38084a8a", size = 305835, upload-time = "2024-10-13T18:44:53.83Z" }, + { url = "https://files.pythonhosted.org/packages/91/db/40a347e1f8086e287a53c72dc333198816885bc770e3ecafcf5eaeb59311/yarl-1.15.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3e52474256a7db9dcf3c5f4ca0b300fdea6c21cca0148c8891d03a025649d935", size = 311033, upload-time = "2024-10-13T18:44:56.464Z" }, + { url = "https://files.pythonhosted.org/packages/2f/a6/1500e1e694616c25eed6bf8c1aacc0943f124696d2421a07ae5e9ee101a5/yarl-1.15.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:0e1af74a9529a1137c67c887ed9cde62cff53aa4d84a3adbec329f9ec47a3936", size = 326317, upload-time = "2024-10-13T18:44:59.015Z" }, + { url = "https://files.pythonhosted.org/packages/37/db/868d4b59cc76932ce880cc9946cd0ae4ab111a718494a94cb50dd5b67d82/yarl-1.15.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:15c87339490100c63472a76d87fe7097a0835c705eb5ae79fd96e343473629ed", size = 324196, upload-time = "2024-10-13T18:45:00.772Z" }, + { url = "https://files.pythonhosted.org/packages/bd/41/b6c917c2fde2601ee0b45c82a0c502dc93e746dea469d3a6d1d0a24749e8/yarl-1.15.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:74abb8709ea54cc483c4fb57fb17bb66f8e0f04438cff6ded322074dbd17c7ec", size = 317023, upload-time = "2024-10-13T18:45:03.427Z" }, + { url = "https://files.pythonhosted.org/packages/b0/85/2cde6b656fd83c474f19606af3f7a3e94add8988760c87a101ee603e7b8f/yarl-1.15.2-cp310-cp310-win32.whl", hash = "sha256:ffd591e22b22f9cb48e472529db6a47203c41c2c5911ff0a52e85723196c0d75", size = 78136, upload-time = "2024-10-13T18:45:05.173Z" }, + { url = "https://files.pythonhosted.org/packages/ef/3c/4414901b0588427870002b21d790bd1fad142a9a992a22e5037506d0ed9d/yarl-1.15.2-cp310-cp310-win_amd64.whl", hash = "sha256:1695497bb2a02a6de60064c9f077a4ae9c25c73624e0d43e3aa9d16d983073c2", size = 84231, upload-time = "2024-10-13T18:45:07.622Z" }, + { url = "https://files.pythonhosted.org/packages/4a/59/3ae125c97a2a8571ea16fdf59fcbd288bc169e0005d1af9946a90ea831d9/yarl-1.15.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9fcda20b2de7042cc35cf911702fa3d8311bd40055a14446c1e62403684afdc5", size = 136492, upload-time = "2024-10-13T18:45:09.962Z" }, + { url = "https://files.pythonhosted.org/packages/f9/2b/efa58f36b582db45b94c15e87803b775eb8a4ca0db558121a272e67f3564/yarl-1.15.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0545de8c688fbbf3088f9e8b801157923be4bf8e7b03e97c2ecd4dfa39e48e0e", size = 88614, upload-time = "2024-10-13T18:45:12.329Z" }, + { url = "https://files.pythonhosted.org/packages/82/69/eb73c0453a2ff53194df485dc7427d54e6cb8d1180fcef53251a8e24d069/yarl-1.15.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fbda058a9a68bec347962595f50546a8a4a34fd7b0654a7b9697917dc2bf810d", size = 86607, upload-time = "2024-10-13T18:45:13.88Z" }, + { url = "https://files.pythonhosted.org/packages/48/4e/89beaee3a4da0d1c6af1176d738cff415ff2ad3737785ee25382409fe3e3/yarl-1.15.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1ac2bc069f4a458634c26b101c2341b18da85cb96afe0015990507efec2e417", size = 334077, upload-time = "2024-10-13T18:45:16.217Z" }, + { url = "https://files.pythonhosted.org/packages/da/e8/8fcaa7552093f94c3f327783e2171da0eaa71db0c267510898a575066b0f/yarl-1.15.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cd126498171f752dd85737ab1544329a4520c53eed3997f9b08aefbafb1cc53b", size = 347365, upload-time = "2024-10-13T18:45:18.812Z" }, + { url = "https://files.pythonhosted.org/packages/be/fa/dc2002f82a89feab13a783d3e6b915a3a2e0e83314d9e3f6d845ee31bfcc/yarl-1.15.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3db817b4e95eb05c362e3b45dafe7144b18603e1211f4a5b36eb9522ecc62bcf", size = 344823, upload-time = "2024-10-13T18:45:20.644Z" }, + { url = "https://files.pythonhosted.org/packages/ae/c8/c4a00fe7f2aa6970c2651df332a14c88f8baaedb2e32d6c3b8c8a003ea74/yarl-1.15.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:076b1ed2ac819933895b1a000904f62d615fe4533a5cf3e052ff9a1da560575c", size = 337132, upload-time = "2024-10-13T18:45:22.487Z" }, + { url = "https://files.pythonhosted.org/packages/07/bf/84125f85f44bf2af03f3cf64e87214b42cd59dcc8a04960d610a9825f4d4/yarl-1.15.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f8cfd847e6b9ecf9f2f2531c8427035f291ec286c0a4944b0a9fce58c6446046", size = 326258, upload-time = "2024-10-13T18:45:25.049Z" }, + { url = "https://files.pythonhosted.org/packages/00/19/73ad8122b2fa73fe22e32c24b82a6c053cf6c73e2f649b73f7ef97bee8d0/yarl-1.15.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:32b66be100ac5739065496c74c4b7f3015cef792c3174982809274d7e51b3e04", size = 336212, upload-time = "2024-10-13T18:45:26.808Z" }, + { url = "https://files.pythonhosted.org/packages/39/1d/2fa4337d11f6587e9b7565f84eba549f2921494bc8b10bfe811079acaa70/yarl-1.15.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:34a2d76a1984cac04ff8b1bfc939ec9dc0914821264d4a9c8fd0ed6aa8d4cfd2", size = 330397, upload-time = "2024-10-13T18:45:29.112Z" }, + { url = "https://files.pythonhosted.org/packages/39/ab/dce75e06806bcb4305966471ead03ce639d8230f4f52c32bd614d820c044/yarl-1.15.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0afad2cd484908f472c8fe2e8ef499facee54a0a6978be0e0cff67b1254fd747", size = 334985, upload-time = "2024-10-13T18:45:31.709Z" }, + { url = "https://files.pythonhosted.org/packages/c1/98/3f679149347a5e34c952bf8f71a387bc96b3488fae81399a49f8b1a01134/yarl-1.15.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:c68e820879ff39992c7f148113b46efcd6ec765a4865581f2902b3c43a5f4bbb", size = 356033, upload-time = "2024-10-13T18:45:34.325Z" }, + { url = "https://files.pythonhosted.org/packages/f7/8c/96546061c19852d0a4b1b07084a58c2e8911db6bcf7838972cff542e09fb/yarl-1.15.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:98f68df80ec6ca3015186b2677c208c096d646ef37bbf8b49764ab4a38183931", size = 357710, upload-time = "2024-10-13T18:45:36.216Z" }, + { url = "https://files.pythonhosted.org/packages/01/45/ade6fb3daf689816ebaddb3175c962731edf300425c3254c559b6d0dcc27/yarl-1.15.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3c56ec1eacd0a5d35b8a29f468659c47f4fe61b2cab948ca756c39b7617f0aa5", size = 345532, upload-time = "2024-10-13T18:45:38.123Z" }, + { url = "https://files.pythonhosted.org/packages/e7/d7/8de800d3aecda0e64c43e8fc844f7effc8731a6099fa0c055738a2247504/yarl-1.15.2-cp311-cp311-win32.whl", hash = "sha256:eedc3f247ee7b3808ea07205f3e7d7879bc19ad3e6222195cd5fbf9988853e4d", size = 78250, upload-time = "2024-10-13T18:45:39.908Z" }, + { url = "https://files.pythonhosted.org/packages/3a/6c/69058bbcfb0164f221aa30e0cd1a250f6babb01221e27c95058c51c498ca/yarl-1.15.2-cp311-cp311-win_amd64.whl", hash = "sha256:0ccaa1bc98751fbfcf53dc8dfdb90d96e98838010fc254180dd6707a6e8bb179", size = 84492, upload-time = "2024-10-13T18:45:42.286Z" }, + { url = "https://files.pythonhosted.org/packages/e0/d1/17ff90e7e5b1a0b4ddad847f9ec6a214b87905e3a59d01bff9207ce2253b/yarl-1.15.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:82d5161e8cb8f36ec778fd7ac4d740415d84030f5b9ef8fe4da54784a1f46c94", size = 136721, upload-time = "2024-10-13T18:45:43.876Z" }, + { url = "https://files.pythonhosted.org/packages/44/50/a64ca0577aeb9507f4b672f9c833d46cf8f1e042ce2e80c11753b936457d/yarl-1.15.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fa2bea05ff0a8fb4d8124498e00e02398f06d23cdadd0fe027d84a3f7afde31e", size = 88954, upload-time = "2024-10-13T18:45:46.305Z" }, + { url = "https://files.pythonhosted.org/packages/c9/0a/a30d0b02046d4088c1fd32d85d025bd70ceb55f441213dee14d503694f41/yarl-1.15.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:99e12d2bf587b44deb74e0d6170fec37adb489964dbca656ec41a7cd8f2ff178", size = 86692, upload-time = "2024-10-13T18:45:47.992Z" }, + { url = "https://files.pythonhosted.org/packages/06/0b/7613decb8baa26cba840d7ea2074bd3c5e27684cbcb6d06e7840d6c5226c/yarl-1.15.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:243fbbbf003754fe41b5bdf10ce1e7f80bcc70732b5b54222c124d6b4c2ab31c", size = 325762, upload-time = "2024-10-13T18:45:49.69Z" }, + { url = "https://files.pythonhosted.org/packages/97/f5/b8c389a58d1eb08f89341fc1bbcc23a0341f7372185a0a0704dbdadba53a/yarl-1.15.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:856b7f1a7b98a8c31823285786bd566cf06226ac4f38b3ef462f593c608a9bd6", size = 335037, upload-time = "2024-10-13T18:45:51.932Z" }, + { url = "https://files.pythonhosted.org/packages/cb/f9/d89b93a7bb8b66e01bf722dcc6fec15e11946e649e71414fd532b05c4d5d/yarl-1.15.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:553dad9af802a9ad1a6525e7528152a015b85fb8dbf764ebfc755c695f488367", size = 334221, upload-time = "2024-10-13T18:45:54.548Z" }, + { url = "https://files.pythonhosted.org/packages/10/77/1db077601998e0831a540a690dcb0f450c31f64c492e993e2eaadfbc7d31/yarl-1.15.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:30c3ff305f6e06650a761c4393666f77384f1cc6c5c0251965d6bfa5fbc88f7f", size = 330167, upload-time = "2024-10-13T18:45:56.675Z" }, + { url = "https://files.pythonhosted.org/packages/3b/c2/e5b7121662fd758656784fffcff2e411c593ec46dc9ec68e0859a2ffaee3/yarl-1.15.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:353665775be69bbfc6d54c8d134bfc533e332149faeddd631b0bc79df0897f46", size = 317472, upload-time = "2024-10-13T18:45:58.815Z" }, + { url = "https://files.pythonhosted.org/packages/c6/f3/41e366c17e50782651b192ba06a71d53500cc351547816bf1928fb043c4f/yarl-1.15.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f4fe99ce44128c71233d0d72152db31ca119711dfc5f2c82385ad611d8d7f897", size = 330896, upload-time = "2024-10-13T18:46:01.126Z" }, + { url = "https://files.pythonhosted.org/packages/79/a2/d72e501bc1e33e68a5a31f584fe4556ab71a50a27bfd607d023f097cc9bb/yarl-1.15.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:9c1e3ff4b89cdd2e1a24c214f141e848b9e0451f08d7d4963cb4108d4d798f1f", size = 328787, upload-time = "2024-10-13T18:46:02.991Z" }, + { url = "https://files.pythonhosted.org/packages/9d/ba/890f7e1ea17f3c247748548eee876528ceb939e44566fa7d53baee57e5aa/yarl-1.15.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:711bdfae4e699a6d4f371137cbe9e740dc958530cb920eb6f43ff9551e17cfbc", size = 332631, upload-time = "2024-10-13T18:46:04.939Z" }, + { url = "https://files.pythonhosted.org/packages/48/c7/27b34206fd5dfe76b2caa08bf22f9212b2d665d5bb2df8a6dd3af498dcf4/yarl-1.15.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4388c72174868884f76affcdd3656544c426407e0043c89b684d22fb265e04a5", size = 344023, upload-time = "2024-10-13T18:46:06.809Z" }, + { url = "https://files.pythonhosted.org/packages/88/e7/730b130f4f02bd8b00479baf9a57fdea1dc927436ed1d6ba08fa5c36c68e/yarl-1.15.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:f0e1844ad47c7bd5d6fa784f1d4accc5f4168b48999303a868fe0f8597bde715", size = 352290, upload-time = "2024-10-13T18:46:08.676Z" }, + { url = "https://files.pythonhosted.org/packages/84/9b/e8dda28f91a0af67098cddd455e6b540d3f682dda4c0de224215a57dee4a/yarl-1.15.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a5cafb02cf097a82d74403f7e0b6b9df3ffbfe8edf9415ea816314711764a27b", size = 343742, upload-time = "2024-10-13T18:46:10.583Z" }, + { url = "https://files.pythonhosted.org/packages/66/47/b1c6bb85f2b66decbe189e27fcc956ab74670a068655df30ef9a2e15c379/yarl-1.15.2-cp312-cp312-win32.whl", hash = "sha256:156ececdf636143f508770bf8a3a0498de64da5abd890c7dbb42ca9e3b6c05b8", size = 78051, upload-time = "2024-10-13T18:46:12.671Z" }, + { url = "https://files.pythonhosted.org/packages/7d/9e/1a897e5248ec53e96e9f15b3e6928efd5e75d322c6cf666f55c1c063e5c9/yarl-1.15.2-cp312-cp312-win_amd64.whl", hash = "sha256:435aca062444a7f0c884861d2e3ea79883bd1cd19d0a381928b69ae1b85bc51d", size = 84313, upload-time = "2024-10-13T18:46:15.237Z" }, + { url = "https://files.pythonhosted.org/packages/46/ab/be3229898d7eb1149e6ba7fe44f873cf054d275a00b326f2a858c9ff7175/yarl-1.15.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:416f2e3beaeae81e2f7a45dc711258be5bdc79c940a9a270b266c0bec038fb84", size = 135006, upload-time = "2024-10-13T18:46:16.909Z" }, + { url = "https://files.pythonhosted.org/packages/10/10/b91c186b1b0e63951f80481b3e6879bb9f7179d471fe7c4440c9e900e2a3/yarl-1.15.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:173563f3696124372831007e3d4b9821746964a95968628f7075d9231ac6bb33", size = 88121, upload-time = "2024-10-13T18:46:18.702Z" }, + { url = "https://files.pythonhosted.org/packages/bf/1d/4ceaccf836b9591abfde775e84249b847ac4c6c14ee2dd8d15b5b3cede44/yarl-1.15.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9ce2e0f6123a60bd1a7f5ae3b2c49b240c12c132847f17aa990b841a417598a2", size = 85967, upload-time = "2024-10-13T18:46:20.354Z" }, + { url = "https://files.pythonhosted.org/packages/93/bd/c924f22bdb2c5d0ca03a9e64ecc5e041aace138c2a91afff7e2f01edc3a1/yarl-1.15.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eaea112aed589131f73d50d570a6864728bd7c0c66ef6c9154ed7b59f24da611", size = 325615, upload-time = "2024-10-13T18:46:22.057Z" }, + { url = "https://files.pythonhosted.org/packages/59/a5/6226accd5c01cafd57af0d249c7cf9dd12569cd9c78fbd93e8198e7a9d84/yarl-1.15.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e4ca3b9f370f218cc2a0309542cab8d0acdfd66667e7c37d04d617012485f904", size = 334945, upload-time = "2024-10-13T18:46:24.184Z" }, + { url = "https://files.pythonhosted.org/packages/4c/c1/cc6ccdd2bcd0ff7291602d5831754595260f8d2754642dfd34fef1791059/yarl-1.15.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:23ec1d3c31882b2a8a69c801ef58ebf7bae2553211ebbddf04235be275a38548", size = 336701, upload-time = "2024-10-13T18:46:27.038Z" }, + { url = "https://files.pythonhosted.org/packages/ef/ff/39a767ee249444e4b26ea998a526838238f8994c8f274befc1f94dacfb43/yarl-1.15.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75119badf45f7183e10e348edff5a76a94dc19ba9287d94001ff05e81475967b", size = 330977, upload-time = "2024-10-13T18:46:28.921Z" }, + { url = "https://files.pythonhosted.org/packages/dd/ba/b1fed73f9d39e3e7be8f6786be5a2ab4399c21504c9168c3cadf6e441c2e/yarl-1.15.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:78e6fdc976ec966b99e4daa3812fac0274cc28cd2b24b0d92462e2e5ef90d368", size = 317402, upload-time = "2024-10-13T18:46:30.86Z" }, + { url = "https://files.pythonhosted.org/packages/82/e8/03e3ebb7f558374f29c04868b20ca484d7997f80a0a191490790a8c28058/yarl-1.15.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:8657d3f37f781d987037f9cc20bbc8b40425fa14380c87da0cb8dfce7c92d0fb", size = 331776, upload-time = "2024-10-13T18:46:33.037Z" }, + { url = "https://files.pythonhosted.org/packages/1f/83/90b0f4fd1ecf2602ba4ac50ad0bbc463122208f52dd13f152bbc0d8417dd/yarl-1.15.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:93bed8a8084544c6efe8856c362af08a23e959340c87a95687fdbe9c9f280c8b", size = 331585, upload-time = "2024-10-13T18:46:35.275Z" }, + { url = "https://files.pythonhosted.org/packages/c7/f6/1ed7e7f270ae5f9f1174c1f8597b29658f552fee101c26de8b2eb4ca147a/yarl-1.15.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:69d5856d526802cbda768d3e6246cd0d77450fa2a4bc2ea0ea14f0d972c2894b", size = 336395, upload-time = "2024-10-13T18:46:38.003Z" }, + { url = "https://files.pythonhosted.org/packages/e0/3a/4354ed8812909d9ec54a92716a53259b09e6b664209231f2ec5e75f4820d/yarl-1.15.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:ccad2800dfdff34392448c4bf834be124f10a5bc102f254521d931c1c53c455a", size = 342810, upload-time = "2024-10-13T18:46:39.952Z" }, + { url = "https://files.pythonhosted.org/packages/de/cc/39e55e16b1415a87f6d300064965d6cfb2ac8571e11339ccb7dada2444d9/yarl-1.15.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:a880372e2e5dbb9258a4e8ff43f13888039abb9dd6d515f28611c54361bc5644", size = 351441, upload-time = "2024-10-13T18:46:41.867Z" }, + { url = "https://files.pythonhosted.org/packages/fb/19/5cd4757079dc9d9f3de3e3831719b695f709a8ce029e70b33350c9d082a7/yarl-1.15.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c998d0558805860503bc3a595994895ca0f7835e00668dadc673bbf7f5fbfcbe", size = 345875, upload-time = "2024-10-13T18:46:43.824Z" }, + { url = "https://files.pythonhosted.org/packages/83/a0/ef09b54634f73417f1ea4a746456a4372c1b044f07b26e16fa241bd2d94e/yarl-1.15.2-cp313-cp313-win32.whl", hash = "sha256:533a28754e7f7439f217550a497bb026c54072dbe16402b183fdbca2431935a9", size = 302609, upload-time = "2024-10-13T18:46:45.828Z" }, + { url = "https://files.pythonhosted.org/packages/20/9f/f39c37c17929d3975da84c737b96b606b68c495cc4ee86408f10523a1635/yarl-1.15.2-cp313-cp313-win_amd64.whl", hash = "sha256:5838f2b79dc8f96fdc44077c9e4e2e33d7089b10788464609df788eb97d03aad", size = 308252, upload-time = "2024-10-13T18:46:48.042Z" }, + { url = "https://files.pythonhosted.org/packages/7b/1f/544439ce6b7a498327d57ff40f0cd4f24bf4b1c1daf76c8c962dca022e71/yarl-1.15.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:fbbb63bed5fcd70cd3dd23a087cd78e4675fb5a2963b8af53f945cbbca79ae16", size = 138555, upload-time = "2024-10-13T18:46:50.448Z" }, + { url = "https://files.pythonhosted.org/packages/e8/b7/d6f33e7a42832f1e8476d0aabe089be0586a9110b5dfc2cef93444dc7c21/yarl-1.15.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e2e93b88ecc8f74074012e18d679fb2e9c746f2a56f79cd5e2b1afcf2a8a786b", size = 89844, upload-time = "2024-10-13T18:46:52.297Z" }, + { url = "https://files.pythonhosted.org/packages/93/34/ede8d8ed7350b4b21e33fc4eff71e08de31da697034969b41190132d421f/yarl-1.15.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:af8ff8d7dc07ce873f643de6dfbcd45dc3db2c87462e5c387267197f59e6d776", size = 87671, upload-time = "2024-10-13T18:46:54.104Z" }, + { url = "https://files.pythonhosted.org/packages/fa/51/6d71e92bc54b5788b18f3dc29806f9ce37e12b7c610e8073357717f34b78/yarl-1.15.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:66f629632220a4e7858b58e4857927dd01a850a4cef2fb4044c8662787165cf7", size = 314558, upload-time = "2024-10-13T18:46:55.885Z" }, + { url = "https://files.pythonhosted.org/packages/76/0a/f9ffe503b4ef77cd77c9eefd37717c092e26f2c2dbbdd45700f864831292/yarl-1.15.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:833547179c31f9bec39b49601d282d6f0ea1633620701288934c5f66d88c3e50", size = 327622, upload-time = "2024-10-13T18:46:58.173Z" }, + { url = "https://files.pythonhosted.org/packages/8b/38/8eb602eeb153de0189d572dce4ed81b9b14f71de7c027d330b601b4fdcdc/yarl-1.15.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2aa738e0282be54eede1e3f36b81f1e46aee7ec7602aa563e81e0e8d7b67963f", size = 324447, upload-time = "2024-10-13T18:47:00.263Z" }, + { url = "https://files.pythonhosted.org/packages/c2/1e/1c78c695a4c7b957b5665e46a89ea35df48511dbed301a05c0a8beed0cc3/yarl-1.15.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a13a07532e8e1c4a5a3afff0ca4553da23409fad65def1b71186fb867eeae8d", size = 319009, upload-time = "2024-10-13T18:47:02.417Z" }, + { url = "https://files.pythonhosted.org/packages/06/a0/7ea93de4ca1991e7f92a8901dcd1585165f547d342f7c6f36f1ea58b75de/yarl-1.15.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c45817e3e6972109d1a2c65091504a537e257bc3c885b4e78a95baa96df6a3f8", size = 307760, upload-time = "2024-10-13T18:47:04.553Z" }, + { url = "https://files.pythonhosted.org/packages/f4/b4/ceaa1f35cfb37fe06af3f7404438abf9a1262dc5df74dba37c90b0615e06/yarl-1.15.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:670eb11325ed3a6209339974b276811867defe52f4188fe18dc49855774fa9cf", size = 315038, upload-time = "2024-10-13T18:47:06.482Z" }, + { url = "https://files.pythonhosted.org/packages/da/45/a2ca2b547c56550eefc39e45d61e4b42ae6dbb3e913810b5a0eb53e86412/yarl-1.15.2-cp38-cp38-musllinux_1_2_armv7l.whl", hash = "sha256:d417a4f6943112fae3924bae2af7112562285848d9bcee737fc4ff7cbd450e6c", size = 312898, upload-time = "2024-10-13T18:47:09.291Z" }, + { url = "https://files.pythonhosted.org/packages/ea/e0/f692ba36dedc5b0b22084bba558a7ede053841e247b7dd2adbb9d40450be/yarl-1.15.2-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:bc8936d06cd53fddd4892677d65e98af514c8d78c79864f418bbf78a4a2edde4", size = 319370, upload-time = "2024-10-13T18:47:11.647Z" }, + { url = "https://files.pythonhosted.org/packages/b1/3f/0e382caf39958be6ae61d4bb0c82a68a3c45a494fc8cdc6f55c29757970e/yarl-1.15.2-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:954dde77c404084c2544e572f342aef384240b3e434e06cecc71597e95fd1ce7", size = 332429, upload-time = "2024-10-13T18:47:13.88Z" }, + { url = "https://files.pythonhosted.org/packages/21/6b/c824a4a1c45d67b15b431d4ab83b63462bfcbc710065902e10fa5c2ffd9e/yarl-1.15.2-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:5bc0df728e4def5e15a754521e8882ba5a5121bd6b5a3a0ff7efda5d6558ab3d", size = 333143, upload-time = "2024-10-13T18:47:16.141Z" }, + { url = "https://files.pythonhosted.org/packages/20/76/8af2a1d93fe95b04e284b5d55daaad33aae6e2f6254a1bcdb40e2752af6c/yarl-1.15.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:b71862a652f50babab4a43a487f157d26b464b1dedbcc0afda02fd64f3809d04", size = 326687, upload-time = "2024-10-13T18:47:18.179Z" }, + { url = "https://files.pythonhosted.org/packages/1c/53/490830773f907ef8a311cc5d82e5830f75f7692c1adacbdb731d3f1246fd/yarl-1.15.2-cp38-cp38-win32.whl", hash = "sha256:63eab904f8630aed5a68f2d0aeab565dcfc595dc1bf0b91b71d9ddd43dea3aea", size = 78705, upload-time = "2024-10-13T18:47:20.876Z" }, + { url = "https://files.pythonhosted.org/packages/9c/9d/d944e897abf37f50f4fa2d8d6f5fd0ed9413bc8327d3b4cc25ba9694e1ba/yarl-1.15.2-cp38-cp38-win_amd64.whl", hash = "sha256:2cf441c4b6e538ba0d2591574f95d3fdd33f1efafa864faa077d9636ecc0c4e9", size = 84998, upload-time = "2024-10-13T18:47:23.301Z" }, + { url = "https://files.pythonhosted.org/packages/91/1c/1c9d08c29b10499348eedc038cf61b6d96d5ba0e0d69438975845939ed3c/yarl-1.15.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a32d58f4b521bb98b2c0aa9da407f8bd57ca81f34362bcb090e4a79e9924fefc", size = 138011, upload-time = "2024-10-13T18:47:25.002Z" }, + { url = "https://files.pythonhosted.org/packages/d4/33/2d4a1418bae6d7883c1fcc493be7b6d6fe015919835adc9e8eeba472e9f7/yarl-1.15.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:766dcc00b943c089349d4060b935c76281f6be225e39994c2ccec3a2a36ad627", size = 89618, upload-time = "2024-10-13T18:47:27.587Z" }, + { url = "https://files.pythonhosted.org/packages/78/2e/0024c674a376cfdc722a167a8f308f5779aca615cb7a28d67fbeabf3f697/yarl-1.15.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bed1b5dbf90bad3bfc19439258c97873eab453c71d8b6869c136346acfe497e7", size = 87347, upload-time = "2024-10-13T18:47:29.671Z" }, + { url = "https://files.pythonhosted.org/packages/c5/08/a01874dabd4ddf475c5c2adc86f7ac329f83a361ee513a97841720ab7b24/yarl-1.15.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed20a4bdc635f36cb19e630bfc644181dd075839b6fc84cac51c0f381ac472e2", size = 310438, upload-time = "2024-10-13T18:47:31.577Z" }, + { url = "https://files.pythonhosted.org/packages/09/95/691bc6de2c1b0e9c8bbaa5f8f38118d16896ba1a069a09d1fb073d41a093/yarl-1.15.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d538df442c0d9665664ab6dd5fccd0110fa3b364914f9c85b3ef9b7b2e157980", size = 325384, upload-time = "2024-10-13T18:47:33.587Z" }, + { url = "https://files.pythonhosted.org/packages/95/fd/fee11eb3337f48c62d39c5676e6a0e4e318e318900a901b609a3c45394df/yarl-1.15.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c6cf1d92edf936ceedc7afa61b07e9d78a27b15244aa46bbcd534c7458ee1b", size = 321820, upload-time = "2024-10-13T18:47:35.633Z" }, + { url = "https://files.pythonhosted.org/packages/7a/ad/4a2c9bbebaefdce4a69899132f4bf086abbddb738dc6e794a31193bc0854/yarl-1.15.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce44217ad99ffad8027d2fde0269ae368c86db66ea0571c62a000798d69401fb", size = 314150, upload-time = "2024-10-13T18:47:37.693Z" }, + { url = "https://files.pythonhosted.org/packages/38/7d/552c37bc6c4ae8ea900e44b6c05cb16d50dca72d3782ccd66f53e27e353f/yarl-1.15.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b47a6000a7e833ebfe5886b56a31cb2ff12120b1efd4578a6fcc38df16cc77bd", size = 304202, upload-time = "2024-10-13T18:47:40.411Z" }, + { url = "https://files.pythonhosted.org/packages/2e/f8/c22a158f3337f49775775ecef43fc097a98b20cdce37425b68b9c45a6f94/yarl-1.15.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:e52f77a0cd246086afde8815039f3e16f8d2be51786c0a39b57104c563c5cbb0", size = 310311, upload-time = "2024-10-13T18:47:43.236Z" }, + { url = "https://files.pythonhosted.org/packages/ce/e4/ebce06afa25c2a6c8e6c9a5915cbbc7940a37f3ec38e950e8f346ca908da/yarl-1.15.2-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:f9ca0e6ce7774dc7830dc0cc4bb6b3eec769db667f230e7c770a628c1aa5681b", size = 310645, upload-time = "2024-10-13T18:47:45.24Z" }, + { url = "https://files.pythonhosted.org/packages/0a/34/5504cc8fbd1be959ec0a1e9e9f471fd438c37cb877b0178ce09085b36b51/yarl-1.15.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:136f9db0f53c0206db38b8cd0c985c78ded5fd596c9a86ce5c0b92afb91c3a19", size = 313328, upload-time = "2024-10-13T18:47:47.546Z" }, + { url = "https://files.pythonhosted.org/packages/cf/e4/fb3f91a539c6505e347d7d75bc675d291228960ffd6481ced76a15412924/yarl-1.15.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:173866d9f7409c0fb514cf6e78952e65816600cb888c68b37b41147349fe0057", size = 330135, upload-time = "2024-10-13T18:47:50.279Z" }, + { url = "https://files.pythonhosted.org/packages/e1/08/a0b27db813f0159e1c8a45f48852afded501de2f527e7613c4dcf436ecf7/yarl-1.15.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:6e840553c9c494a35e449a987ca2c4f8372668ee954a03a9a9685075228e5036", size = 327155, upload-time = "2024-10-13T18:47:52.337Z" }, + { url = "https://files.pythonhosted.org/packages/97/4e/b3414dded12d0e2b52eb1964c21a8d8b68495b320004807de770f7b6b53a/yarl-1.15.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:458c0c65802d816a6b955cf3603186de79e8fdb46d4f19abaec4ef0a906f50a7", size = 320810, upload-time = "2024-10-13T18:47:55.067Z" }, + { url = "https://files.pythonhosted.org/packages/bb/ca/e5149c55d1c9dcf3d5b48acd7c71ca8622fd2f61322d0386fe63ba106774/yarl-1.15.2-cp39-cp39-win32.whl", hash = "sha256:5b48388ded01f6f2429a8c55012bdbd1c2a0c3735b3e73e221649e524c34a58d", size = 78686, upload-time = "2024-10-13T18:47:57Z" }, + { url = "https://files.pythonhosted.org/packages/b1/87/f56a80a1abaf65dbf138b821357b51b6cc061756bb7d93f08797950b3881/yarl-1.15.2-cp39-cp39-win_amd64.whl", hash = "sha256:81dadafb3aa124f86dc267a2168f71bbd2bfb163663661ab0038f6e4b8edb810", size = 84818, upload-time = "2024-10-13T18:47:58.76Z" }, + { url = "https://files.pythonhosted.org/packages/46/cf/a28c494decc9c8776b0d7b729c68d26fdafefcedd8d2eab5d9cd767376b2/yarl-1.15.2-py3-none-any.whl", hash = "sha256:0d3105efab7c5c091609abacad33afff33bdff0035bece164c98bcf5a85ef90a", size = 38891, upload-time = "2024-10-13T18:48:00.883Z" }, ] [[package]] name = "yarl" -version = "1.20.1" +version = "1.22.0" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", + "python_full_version == '3.10.*'", + "python_full_version == '3.9.*'", +] dependencies = [ - { name = "idna" }, - { name = "multidict" }, - { name = "propcache" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/3c/fb/efaa23fa4e45537b827620f04cf8f3cd658b76642205162e072703a5b963/yarl-1.20.1.tar.gz", hash = "sha256:d017a4997ee50c91fd5466cef416231bb82177b93b029906cefc542ce14c35ac", size = 186428, upload-time = "2025-06-10T00:46:09.923Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/cb/65/7fed0d774abf47487c64be14e9223749468922817b5e8792b8a64792a1bb/yarl-1.20.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6032e6da6abd41e4acda34d75a816012717000fa6839f37124a47fcefc49bec4", size = 132910, upload-time = "2025-06-10T00:42:31.108Z" }, - { url = "https://files.pythonhosted.org/packages/8a/7b/988f55a52da99df9e56dc733b8e4e5a6ae2090081dc2754fc8fd34e60aa0/yarl-1.20.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2c7b34d804b8cf9b214f05015c4fee2ebe7ed05cf581e7192c06555c71f4446a", size = 90644, upload-time = "2025-06-10T00:42:33.851Z" }, - { url = "https://files.pythonhosted.org/packages/f7/de/30d98f03e95d30c7e3cc093759982d038c8833ec2451001d45ef4854edc1/yarl-1.20.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0c869f2651cc77465f6cd01d938d91a11d9ea5d798738c1dc077f3de0b5e5fed", size = 89322, upload-time = "2025-06-10T00:42:35.688Z" }, - { url = "https://files.pythonhosted.org/packages/e0/7a/f2f314f5ebfe9200724b0b748de2186b927acb334cf964fd312eb86fc286/yarl-1.20.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62915e6688eb4d180d93840cda4110995ad50c459bf931b8b3775b37c264af1e", size = 323786, upload-time = "2025-06-10T00:42:37.817Z" }, - { url = "https://files.pythonhosted.org/packages/15/3f/718d26f189db96d993d14b984ce91de52e76309d0fd1d4296f34039856aa/yarl-1.20.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:41ebd28167bc6af8abb97fec1a399f412eec5fd61a3ccbe2305a18b84fb4ca73", size = 319627, upload-time = "2025-06-10T00:42:39.937Z" }, - { url = "https://files.pythonhosted.org/packages/a5/76/8fcfbf5fa2369157b9898962a4a7d96764b287b085b5b3d9ffae69cdefd1/yarl-1.20.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:21242b4288a6d56f04ea193adde174b7e347ac46ce6bc84989ff7c1b1ecea84e", size = 339149, upload-time = "2025-06-10T00:42:42.627Z" }, - { url = "https://files.pythonhosted.org/packages/3c/95/d7fc301cc4661785967acc04f54a4a42d5124905e27db27bb578aac49b5c/yarl-1.20.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bea21cdae6c7eb02ba02a475f37463abfe0a01f5d7200121b03e605d6a0439f8", size = 333327, upload-time = "2025-06-10T00:42:44.842Z" }, - { url = "https://files.pythonhosted.org/packages/65/94/e21269718349582eee81efc5c1c08ee71c816bfc1585b77d0ec3f58089eb/yarl-1.20.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f8a891e4a22a89f5dde7862994485e19db246b70bb288d3ce73a34422e55b23", size = 326054, upload-time = "2025-06-10T00:42:47.149Z" }, - { url = "https://files.pythonhosted.org/packages/32/ae/8616d1f07853704523519f6131d21f092e567c5af93de7e3e94b38d7f065/yarl-1.20.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:dd803820d44c8853a109a34e3660e5a61beae12970da479cf44aa2954019bf70", size = 315035, upload-time = "2025-06-10T00:42:48.852Z" }, - { url = "https://files.pythonhosted.org/packages/48/aa/0ace06280861ef055855333707db5e49c6e3a08840a7ce62682259d0a6c0/yarl-1.20.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b982fa7f74c80d5c0c7b5b38f908971e513380a10fecea528091405f519b9ebb", size = 338962, upload-time = "2025-06-10T00:42:51.024Z" }, - { url = "https://files.pythonhosted.org/packages/20/52/1e9d0e6916f45a8fb50e6844f01cb34692455f1acd548606cbda8134cd1e/yarl-1.20.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:33f29ecfe0330c570d997bcf1afd304377f2e48f61447f37e846a6058a4d33b2", size = 335399, upload-time = "2025-06-10T00:42:53.007Z" }, - { url = "https://files.pythonhosted.org/packages/f2/65/60452df742952c630e82f394cd409de10610481d9043aa14c61bf846b7b1/yarl-1.20.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:835ab2cfc74d5eb4a6a528c57f05688099da41cf4957cf08cad38647e4a83b30", size = 338649, upload-time = "2025-06-10T00:42:54.964Z" }, - { url = "https://files.pythonhosted.org/packages/7b/f5/6cd4ff38dcde57a70f23719a838665ee17079640c77087404c3d34da6727/yarl-1.20.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:46b5e0ccf1943a9a6e766b2c2b8c732c55b34e28be57d8daa2b3c1d1d4009309", size = 358563, upload-time = "2025-06-10T00:42:57.28Z" }, - { url = "https://files.pythonhosted.org/packages/d1/90/c42eefd79d0d8222cb3227bdd51b640c0c1d0aa33fe4cc86c36eccba77d3/yarl-1.20.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:df47c55f7d74127d1b11251fe6397d84afdde0d53b90bedb46a23c0e534f9d24", size = 357609, upload-time = "2025-06-10T00:42:59.055Z" }, - { url = "https://files.pythonhosted.org/packages/03/c8/cea6b232cb4617514232e0f8a718153a95b5d82b5290711b201545825532/yarl-1.20.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:76d12524d05841276b0e22573f28d5fbcb67589836772ae9244d90dd7d66aa13", size = 350224, upload-time = "2025-06-10T00:43:01.248Z" }, - { url = "https://files.pythonhosted.org/packages/ce/a3/eaa0ab9712f1f3d01faf43cf6f1f7210ce4ea4a7e9b28b489a2261ca8db9/yarl-1.20.1-cp310-cp310-win32.whl", hash = "sha256:6c4fbf6b02d70e512d7ade4b1f998f237137f1417ab07ec06358ea04f69134f8", size = 81753, upload-time = "2025-06-10T00:43:03.486Z" }, - { url = "https://files.pythonhosted.org/packages/8f/34/e4abde70a9256465fe31c88ed02c3f8502b7b5dead693a4f350a06413f28/yarl-1.20.1-cp310-cp310-win_amd64.whl", hash = "sha256:aef6c4d69554d44b7f9d923245f8ad9a707d971e6209d51279196d8e8fe1ae16", size = 86817, upload-time = "2025-06-10T00:43:05.231Z" }, - { url = "https://files.pythonhosted.org/packages/b1/18/893b50efc2350e47a874c5c2d67e55a0ea5df91186b2a6f5ac52eff887cd/yarl-1.20.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:47ee6188fea634bdfaeb2cc420f5b3b17332e6225ce88149a17c413c77ff269e", size = 133833, upload-time = "2025-06-10T00:43:07.393Z" }, - { url = "https://files.pythonhosted.org/packages/89/ed/b8773448030e6fc47fa797f099ab9eab151a43a25717f9ac043844ad5ea3/yarl-1.20.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d0f6500f69e8402d513e5eedb77a4e1818691e8f45e6b687147963514d84b44b", size = 91070, upload-time = "2025-06-10T00:43:09.538Z" }, - { url = "https://files.pythonhosted.org/packages/e3/e3/409bd17b1e42619bf69f60e4f031ce1ccb29bd7380117a55529e76933464/yarl-1.20.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7a8900a42fcdaad568de58887c7b2f602962356908eedb7628eaf6021a6e435b", size = 89818, upload-time = "2025-06-10T00:43:11.575Z" }, - { url = "https://files.pythonhosted.org/packages/f8/77/64d8431a4d77c856eb2d82aa3de2ad6741365245a29b3a9543cd598ed8c5/yarl-1.20.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bad6d131fda8ef508b36be3ece16d0902e80b88ea7200f030a0f6c11d9e508d4", size = 347003, upload-time = "2025-06-10T00:43:14.088Z" }, - { url = "https://files.pythonhosted.org/packages/8d/d2/0c7e4def093dcef0bd9fa22d4d24b023788b0a33b8d0088b51aa51e21e99/yarl-1.20.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:df018d92fe22aaebb679a7f89fe0c0f368ec497e3dda6cb81a567610f04501f1", size = 336537, upload-time = "2025-06-10T00:43:16.431Z" }, - { url = "https://files.pythonhosted.org/packages/f0/f3/fc514f4b2cf02cb59d10cbfe228691d25929ce8f72a38db07d3febc3f706/yarl-1.20.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8f969afbb0a9b63c18d0feecf0db09d164b7a44a053e78a7d05f5df163e43833", size = 362358, upload-time = "2025-06-10T00:43:18.704Z" }, - { url = "https://files.pythonhosted.org/packages/ea/6d/a313ac8d8391381ff9006ac05f1d4331cee3b1efaa833a53d12253733255/yarl-1.20.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:812303eb4aa98e302886ccda58d6b099e3576b1b9276161469c25803a8db277d", size = 357362, upload-time = "2025-06-10T00:43:20.888Z" }, - { url = "https://files.pythonhosted.org/packages/00/70/8f78a95d6935a70263d46caa3dd18e1f223cf2f2ff2037baa01a22bc5b22/yarl-1.20.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98c4a7d166635147924aa0bf9bfe8d8abad6fffa6102de9c99ea04a1376f91e8", size = 348979, upload-time = "2025-06-10T00:43:23.169Z" }, - { url = "https://files.pythonhosted.org/packages/cb/05/42773027968968f4f15143553970ee36ead27038d627f457cc44bbbeecf3/yarl-1.20.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:12e768f966538e81e6e7550f9086a6236b16e26cd964cf4df35349970f3551cf", size = 337274, upload-time = "2025-06-10T00:43:27.111Z" }, - { url = "https://files.pythonhosted.org/packages/05/be/665634aa196954156741ea591d2f946f1b78ceee8bb8f28488bf28c0dd62/yarl-1.20.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:fe41919b9d899661c5c28a8b4b0acf704510b88f27f0934ac7a7bebdd8938d5e", size = 363294, upload-time = "2025-06-10T00:43:28.96Z" }, - { url = "https://files.pythonhosted.org/packages/eb/90/73448401d36fa4e210ece5579895731f190d5119c4b66b43b52182e88cd5/yarl-1.20.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:8601bc010d1d7780592f3fc1bdc6c72e2b6466ea34569778422943e1a1f3c389", size = 358169, upload-time = "2025-06-10T00:43:30.701Z" }, - { url = "https://files.pythonhosted.org/packages/c3/b0/fce922d46dc1eb43c811f1889f7daa6001b27a4005587e94878570300881/yarl-1.20.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:daadbdc1f2a9033a2399c42646fbd46da7992e868a5fe9513860122d7fe7a73f", size = 362776, upload-time = "2025-06-10T00:43:32.51Z" }, - { url = "https://files.pythonhosted.org/packages/f1/0d/b172628fce039dae8977fd22caeff3eeebffd52e86060413f5673767c427/yarl-1.20.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:03aa1e041727cb438ca762628109ef1333498b122e4c76dd858d186a37cec845", size = 381341, upload-time = "2025-06-10T00:43:34.543Z" }, - { url = "https://files.pythonhosted.org/packages/6b/9b/5b886d7671f4580209e855974fe1cecec409aa4a89ea58b8f0560dc529b1/yarl-1.20.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:642980ef5e0fa1de5fa96d905c7e00cb2c47cb468bfcac5a18c58e27dbf8d8d1", size = 379988, upload-time = "2025-06-10T00:43:36.489Z" }, - { url = "https://files.pythonhosted.org/packages/73/be/75ef5fd0fcd8f083a5d13f78fd3f009528132a1f2a1d7c925c39fa20aa79/yarl-1.20.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:86971e2795584fe8c002356d3b97ef6c61862720eeff03db2a7c86b678d85b3e", size = 371113, upload-time = "2025-06-10T00:43:38.592Z" }, - { url = "https://files.pythonhosted.org/packages/50/4f/62faab3b479dfdcb741fe9e3f0323e2a7d5cd1ab2edc73221d57ad4834b2/yarl-1.20.1-cp311-cp311-win32.whl", hash = "sha256:597f40615b8d25812f14562699e287f0dcc035d25eb74da72cae043bb884d773", size = 81485, upload-time = "2025-06-10T00:43:41.038Z" }, - { url = "https://files.pythonhosted.org/packages/f0/09/d9c7942f8f05c32ec72cd5c8e041c8b29b5807328b68b4801ff2511d4d5e/yarl-1.20.1-cp311-cp311-win_amd64.whl", hash = "sha256:26ef53a9e726e61e9cd1cda6b478f17e350fb5800b4bd1cd9fe81c4d91cfeb2e", size = 86686, upload-time = "2025-06-10T00:43:42.692Z" }, - { url = "https://files.pythonhosted.org/packages/5f/9a/cb7fad7d73c69f296eda6815e4a2c7ed53fc70c2f136479a91c8e5fbdb6d/yarl-1.20.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdcc4cd244e58593a4379fe60fdee5ac0331f8eb70320a24d591a3be197b94a9", size = 133667, upload-time = "2025-06-10T00:43:44.369Z" }, - { url = "https://files.pythonhosted.org/packages/67/38/688577a1cb1e656e3971fb66a3492501c5a5df56d99722e57c98249e5b8a/yarl-1.20.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b29a2c385a5f5b9c7d9347e5812b6f7ab267193c62d282a540b4fc528c8a9d2a", size = 91025, upload-time = "2025-06-10T00:43:46.295Z" }, - { url = "https://files.pythonhosted.org/packages/50/ec/72991ae51febeb11a42813fc259f0d4c8e0507f2b74b5514618d8b640365/yarl-1.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1112ae8154186dfe2de4732197f59c05a83dc814849a5ced892b708033f40dc2", size = 89709, upload-time = "2025-06-10T00:43:48.22Z" }, - { url = "https://files.pythonhosted.org/packages/99/da/4d798025490e89426e9f976702e5f9482005c548c579bdae792a4c37769e/yarl-1.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:90bbd29c4fe234233f7fa2b9b121fb63c321830e5d05b45153a2ca68f7d310ee", size = 352287, upload-time = "2025-06-10T00:43:49.924Z" }, - { url = "https://files.pythonhosted.org/packages/1a/26/54a15c6a567aac1c61b18aa0f4b8aa2e285a52d547d1be8bf48abe2b3991/yarl-1.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:680e19c7ce3710ac4cd964e90dad99bf9b5029372ba0c7cbfcd55e54d90ea819", size = 345429, upload-time = "2025-06-10T00:43:51.7Z" }, - { url = "https://files.pythonhosted.org/packages/d6/95/9dcf2386cb875b234353b93ec43e40219e14900e046bf6ac118f94b1e353/yarl-1.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4a979218c1fdb4246a05efc2cc23859d47c89af463a90b99b7c56094daf25a16", size = 365429, upload-time = "2025-06-10T00:43:53.494Z" }, - { url = "https://files.pythonhosted.org/packages/91/b2/33a8750f6a4bc224242a635f5f2cff6d6ad5ba651f6edcccf721992c21a0/yarl-1.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:255b468adf57b4a7b65d8aad5b5138dce6a0752c139965711bdcb81bc370e1b6", size = 363862, upload-time = "2025-06-10T00:43:55.766Z" }, - { url = "https://files.pythonhosted.org/packages/98/28/3ab7acc5b51f4434b181b0cee8f1f4b77a65919700a355fb3617f9488874/yarl-1.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a97d67108e79cfe22e2b430d80d7571ae57d19f17cda8bb967057ca8a7bf5bfd", size = 355616, upload-time = "2025-06-10T00:43:58.056Z" }, - { url = "https://files.pythonhosted.org/packages/36/a3/f666894aa947a371724ec7cd2e5daa78ee8a777b21509b4252dd7bd15e29/yarl-1.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8570d998db4ddbfb9a590b185a0a33dbf8aafb831d07a5257b4ec9948df9cb0a", size = 339954, upload-time = "2025-06-10T00:43:59.773Z" }, - { url = "https://files.pythonhosted.org/packages/f1/81/5f466427e09773c04219d3450d7a1256138a010b6c9f0af2d48565e9ad13/yarl-1.20.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:97c75596019baae7c71ccf1d8cc4738bc08134060d0adfcbe5642f778d1dca38", size = 365575, upload-time = "2025-06-10T00:44:02.051Z" }, - { url = "https://files.pythonhosted.org/packages/2e/e3/e4b0ad8403e97e6c9972dd587388940a032f030ebec196ab81a3b8e94d31/yarl-1.20.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:1c48912653e63aef91ff988c5432832692ac5a1d8f0fb8a33091520b5bbe19ef", size = 365061, upload-time = "2025-06-10T00:44:04.196Z" }, - { url = "https://files.pythonhosted.org/packages/ac/99/b8a142e79eb86c926f9f06452eb13ecb1bb5713bd01dc0038faf5452e544/yarl-1.20.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4c3ae28f3ae1563c50f3d37f064ddb1511ecc1d5584e88c6b7c63cf7702a6d5f", size = 364142, upload-time = "2025-06-10T00:44:06.527Z" }, - { url = "https://files.pythonhosted.org/packages/34/f2/08ed34a4a506d82a1a3e5bab99ccd930a040f9b6449e9fd050320e45845c/yarl-1.20.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c5e9642f27036283550f5f57dc6156c51084b458570b9d0d96100c8bebb186a8", size = 381894, upload-time = "2025-06-10T00:44:08.379Z" }, - { url = "https://files.pythonhosted.org/packages/92/f8/9a3fbf0968eac704f681726eff595dce9b49c8a25cd92bf83df209668285/yarl-1.20.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:2c26b0c49220d5799f7b22c6838409ee9bc58ee5c95361a4d7831f03cc225b5a", size = 383378, upload-time = "2025-06-10T00:44:10.51Z" }, - { url = "https://files.pythonhosted.org/packages/af/85/9363f77bdfa1e4d690957cd39d192c4cacd1c58965df0470a4905253b54f/yarl-1.20.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:564ab3d517e3d01c408c67f2e5247aad4019dcf1969982aba3974b4093279004", size = 374069, upload-time = "2025-06-10T00:44:12.834Z" }, - { url = "https://files.pythonhosted.org/packages/35/99/9918c8739ba271dcd935400cff8b32e3cd319eaf02fcd023d5dcd487a7c8/yarl-1.20.1-cp312-cp312-win32.whl", hash = "sha256:daea0d313868da1cf2fac6b2d3a25c6e3a9e879483244be38c8e6a41f1d876a5", size = 81249, upload-time = "2025-06-10T00:44:14.731Z" }, - { url = "https://files.pythonhosted.org/packages/eb/83/5d9092950565481b413b31a23e75dd3418ff0a277d6e0abf3729d4d1ce25/yarl-1.20.1-cp312-cp312-win_amd64.whl", hash = "sha256:48ea7d7f9be0487339828a4de0360d7ce0efc06524a48e1810f945c45b813698", size = 86710, upload-time = "2025-06-10T00:44:16.716Z" }, - { url = "https://files.pythonhosted.org/packages/8a/e1/2411b6d7f769a07687acee88a062af5833cf1966b7266f3d8dfb3d3dc7d3/yarl-1.20.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:0b5ff0fbb7c9f1b1b5ab53330acbfc5247893069e7716840c8e7d5bb7355038a", size = 131811, upload-time = "2025-06-10T00:44:18.933Z" }, - { url = "https://files.pythonhosted.org/packages/b2/27/584394e1cb76fb771371770eccad35de400e7b434ce3142c2dd27392c968/yarl-1.20.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:14f326acd845c2b2e2eb38fb1346c94f7f3b01a4f5c788f8144f9b630bfff9a3", size = 90078, upload-time = "2025-06-10T00:44:20.635Z" }, - { url = "https://files.pythonhosted.org/packages/bf/9a/3246ae92d4049099f52d9b0fe3486e3b500e29b7ea872d0f152966fc209d/yarl-1.20.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f60e4ad5db23f0b96e49c018596707c3ae89f5d0bd97f0ad3684bcbad899f1e7", size = 88748, upload-time = "2025-06-10T00:44:22.34Z" }, - { url = "https://files.pythonhosted.org/packages/a3/25/35afe384e31115a1a801fbcf84012d7a066d89035befae7c5d4284df1e03/yarl-1.20.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:49bdd1b8e00ce57e68ba51916e4bb04461746e794e7c4d4bbc42ba2f18297691", size = 349595, upload-time = "2025-06-10T00:44:24.314Z" }, - { url = "https://files.pythonhosted.org/packages/28/2d/8aca6cb2cabc8f12efcb82749b9cefecbccfc7b0384e56cd71058ccee433/yarl-1.20.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:66252d780b45189975abfed839616e8fd2dbacbdc262105ad7742c6ae58f3e31", size = 342616, upload-time = "2025-06-10T00:44:26.167Z" }, - { url = "https://files.pythonhosted.org/packages/0b/e9/1312633d16b31acf0098d30440ca855e3492d66623dafb8e25b03d00c3da/yarl-1.20.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:59174e7332f5d153d8f7452a102b103e2e74035ad085f404df2e40e663a22b28", size = 361324, upload-time = "2025-06-10T00:44:27.915Z" }, - { url = "https://files.pythonhosted.org/packages/bc/a0/688cc99463f12f7669eec7c8acc71ef56a1521b99eab7cd3abb75af887b0/yarl-1.20.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e3968ec7d92a0c0f9ac34d5ecfd03869ec0cab0697c91a45db3fbbd95fe1b653", size = 359676, upload-time = "2025-06-10T00:44:30.041Z" }, - { url = "https://files.pythonhosted.org/packages/af/44/46407d7f7a56e9a85a4c207724c9f2c545c060380718eea9088f222ba697/yarl-1.20.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1a4fbb50e14396ba3d375f68bfe02215d8e7bc3ec49da8341fe3157f59d2ff5", size = 352614, upload-time = "2025-06-10T00:44:32.171Z" }, - { url = "https://files.pythonhosted.org/packages/b1/91/31163295e82b8d5485d31d9cf7754d973d41915cadce070491778d9c9825/yarl-1.20.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11a62c839c3a8eac2410e951301309426f368388ff2f33799052787035793b02", size = 336766, upload-time = "2025-06-10T00:44:34.494Z" }, - { url = "https://files.pythonhosted.org/packages/b4/8e/c41a5bc482121f51c083c4c2bcd16b9e01e1cf8729e380273a952513a21f/yarl-1.20.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:041eaa14f73ff5a8986b4388ac6bb43a77f2ea09bf1913df7a35d4646db69e53", size = 364615, upload-time = "2025-06-10T00:44:36.856Z" }, - { url = "https://files.pythonhosted.org/packages/e3/5b/61a3b054238d33d70ea06ebba7e58597891b71c699e247df35cc984ab393/yarl-1.20.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:377fae2fef158e8fd9d60b4c8751387b8d1fb121d3d0b8e9b0be07d1b41e83dc", size = 360982, upload-time = "2025-06-10T00:44:39.141Z" }, - { url = "https://files.pythonhosted.org/packages/df/a3/6a72fb83f8d478cb201d14927bc8040af901811a88e0ff2da7842dd0ed19/yarl-1.20.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:1c92f4390e407513f619d49319023664643d3339bd5e5a56a3bebe01bc67ec04", size = 369792, upload-time = "2025-06-10T00:44:40.934Z" }, - { url = "https://files.pythonhosted.org/packages/7c/af/4cc3c36dfc7c077f8dedb561eb21f69e1e9f2456b91b593882b0b18c19dc/yarl-1.20.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:d25ddcf954df1754ab0f86bb696af765c5bfaba39b74095f27eececa049ef9a4", size = 382049, upload-time = "2025-06-10T00:44:42.854Z" }, - { url = "https://files.pythonhosted.org/packages/19/3a/e54e2c4752160115183a66dc9ee75a153f81f3ab2ba4bf79c3c53b33de34/yarl-1.20.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:909313577e9619dcff8c31a0ea2aa0a2a828341d92673015456b3ae492e7317b", size = 384774, upload-time = "2025-06-10T00:44:45.275Z" }, - { url = "https://files.pythonhosted.org/packages/9c/20/200ae86dabfca89060ec6447649f219b4cbd94531e425e50d57e5f5ac330/yarl-1.20.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:793fd0580cb9664548c6b83c63b43c477212c0260891ddf86809e1c06c8b08f1", size = 374252, upload-time = "2025-06-10T00:44:47.31Z" }, - { url = "https://files.pythonhosted.org/packages/83/75/11ee332f2f516b3d094e89448da73d557687f7d137d5a0f48c40ff211487/yarl-1.20.1-cp313-cp313-win32.whl", hash = "sha256:468f6e40285de5a5b3c44981ca3a319a4b208ccc07d526b20b12aeedcfa654b7", size = 81198, upload-time = "2025-06-10T00:44:49.164Z" }, - { url = "https://files.pythonhosted.org/packages/ba/ba/39b1ecbf51620b40ab402b0fc817f0ff750f6d92712b44689c2c215be89d/yarl-1.20.1-cp313-cp313-win_amd64.whl", hash = "sha256:495b4ef2fea40596bfc0affe3837411d6aa3371abcf31aac0ccc4bdd64d4ef5c", size = 86346, upload-time = "2025-06-10T00:44:51.182Z" }, - { url = "https://files.pythonhosted.org/packages/43/c7/669c52519dca4c95153c8ad96dd123c79f354a376346b198f438e56ffeb4/yarl-1.20.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:f60233b98423aab21d249a30eb27c389c14929f47be8430efa7dbd91493a729d", size = 138826, upload-time = "2025-06-10T00:44:52.883Z" }, - { url = "https://files.pythonhosted.org/packages/6a/42/fc0053719b44f6ad04a75d7f05e0e9674d45ef62f2d9ad2c1163e5c05827/yarl-1.20.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:6f3eff4cc3f03d650d8755c6eefc844edde99d641d0dcf4da3ab27141a5f8ddf", size = 93217, upload-time = "2025-06-10T00:44:54.658Z" }, - { url = "https://files.pythonhosted.org/packages/4f/7f/fa59c4c27e2a076bba0d959386e26eba77eb52ea4a0aac48e3515c186b4c/yarl-1.20.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:69ff8439d8ba832d6bed88af2c2b3445977eba9a4588b787b32945871c2444e3", size = 92700, upload-time = "2025-06-10T00:44:56.784Z" }, - { url = "https://files.pythonhosted.org/packages/2f/d4/062b2f48e7c93481e88eff97a6312dca15ea200e959f23e96d8ab898c5b8/yarl-1.20.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3cf34efa60eb81dd2645a2e13e00bb98b76c35ab5061a3989c7a70f78c85006d", size = 347644, upload-time = "2025-06-10T00:44:59.071Z" }, - { url = "https://files.pythonhosted.org/packages/89/47/78b7f40d13c8f62b499cc702fdf69e090455518ae544c00a3bf4afc9fc77/yarl-1.20.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8e0fe9364ad0fddab2688ce72cb7a8e61ea42eff3c7caeeb83874a5d479c896c", size = 323452, upload-time = "2025-06-10T00:45:01.605Z" }, - { url = "https://files.pythonhosted.org/packages/eb/2b/490d3b2dc66f52987d4ee0d3090a147ea67732ce6b4d61e362c1846d0d32/yarl-1.20.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8f64fbf81878ba914562c672024089e3401974a39767747691c65080a67b18c1", size = 346378, upload-time = "2025-06-10T00:45:03.946Z" }, - { url = "https://files.pythonhosted.org/packages/66/ad/775da9c8a94ce925d1537f939a4f17d782efef1f973039d821cbe4bcc211/yarl-1.20.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f6342d643bf9a1de97e512e45e4b9560a043347e779a173250824f8b254bd5ce", size = 353261, upload-time = "2025-06-10T00:45:05.992Z" }, - { url = "https://files.pythonhosted.org/packages/4b/23/0ed0922b47a4f5c6eb9065d5ff1e459747226ddce5c6a4c111e728c9f701/yarl-1.20.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:56dac5f452ed25eef0f6e3c6a066c6ab68971d96a9fb441791cad0efba6140d3", size = 335987, upload-time = "2025-06-10T00:45:08.227Z" }, - { url = "https://files.pythonhosted.org/packages/3e/49/bc728a7fe7d0e9336e2b78f0958a2d6b288ba89f25a1762407a222bf53c3/yarl-1.20.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c7d7f497126d65e2cad8dc5f97d34c27b19199b6414a40cb36b52f41b79014be", size = 329361, upload-time = "2025-06-10T00:45:10.11Z" }, - { url = "https://files.pythonhosted.org/packages/93/8f/b811b9d1f617c83c907e7082a76e2b92b655400e61730cd61a1f67178393/yarl-1.20.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:67e708dfb8e78d8a19169818eeb5c7a80717562de9051bf2413aca8e3696bf16", size = 346460, upload-time = "2025-06-10T00:45:12.055Z" }, - { url = "https://files.pythonhosted.org/packages/70/fd/af94f04f275f95da2c3b8b5e1d49e3e79f1ed8b6ceb0f1664cbd902773ff/yarl-1.20.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:595c07bc79af2494365cc96ddeb772f76272364ef7c80fb892ef9d0649586513", size = 334486, upload-time = "2025-06-10T00:45:13.995Z" }, - { url = "https://files.pythonhosted.org/packages/84/65/04c62e82704e7dd0a9b3f61dbaa8447f8507655fd16c51da0637b39b2910/yarl-1.20.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7bdd2f80f4a7df852ab9ab49484a4dee8030023aa536df41f2d922fd57bf023f", size = 342219, upload-time = "2025-06-10T00:45:16.479Z" }, - { url = "https://files.pythonhosted.org/packages/91/95/459ca62eb958381b342d94ab9a4b6aec1ddec1f7057c487e926f03c06d30/yarl-1.20.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:c03bfebc4ae8d862f853a9757199677ab74ec25424d0ebd68a0027e9c639a390", size = 350693, upload-time = "2025-06-10T00:45:18.399Z" }, - { url = "https://files.pythonhosted.org/packages/a6/00/d393e82dd955ad20617abc546a8f1aee40534d599ff555ea053d0ec9bf03/yarl-1.20.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:344d1103e9c1523f32a5ed704d576172d2cabed3122ea90b1d4e11fe17c66458", size = 355803, upload-time = "2025-06-10T00:45:20.677Z" }, - { url = "https://files.pythonhosted.org/packages/9e/ed/c5fb04869b99b717985e244fd93029c7a8e8febdfcffa06093e32d7d44e7/yarl-1.20.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:88cab98aa4e13e1ade8c141daeedd300a4603b7132819c484841bb7af3edce9e", size = 341709, upload-time = "2025-06-10T00:45:23.221Z" }, - { url = "https://files.pythonhosted.org/packages/24/fd/725b8e73ac2a50e78a4534ac43c6addf5c1c2d65380dd48a9169cc6739a9/yarl-1.20.1-cp313-cp313t-win32.whl", hash = "sha256:b121ff6a7cbd4abc28985b6028235491941b9fe8fe226e6fdc539c977ea1739d", size = 86591, upload-time = "2025-06-10T00:45:25.793Z" }, - { url = "https://files.pythonhosted.org/packages/94/c3/b2e9f38bc3e11191981d57ea08cab2166e74ea770024a646617c9cddd9f6/yarl-1.20.1-cp313-cp313t-win_amd64.whl", hash = "sha256:541d050a355bbbc27e55d906bc91cb6fe42f96c01413dd0f4ed5a5240513874f", size = 93003, upload-time = "2025-06-10T00:45:27.752Z" }, - { url = "https://files.pythonhosted.org/packages/01/75/0d37402d208d025afa6b5b8eb80e466d267d3fd1927db8e317d29a94a4cb/yarl-1.20.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e42ba79e2efb6845ebab49c7bf20306c4edf74a0b20fc6b2ccdd1a219d12fad3", size = 134259, upload-time = "2025-06-10T00:45:29.882Z" }, - { url = "https://files.pythonhosted.org/packages/73/84/1fb6c85ae0cf9901046f07d0ac9eb162f7ce6d95db541130aa542ed377e6/yarl-1.20.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:41493b9b7c312ac448b7f0a42a089dffe1d6e6e981a2d76205801a023ed26a2b", size = 91269, upload-time = "2025-06-10T00:45:32.917Z" }, - { url = "https://files.pythonhosted.org/packages/f3/9c/eae746b24c4ea29a5accba9a06c197a70fa38a49c7df244e0d3951108861/yarl-1.20.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f5a5928ff5eb13408c62a968ac90d43f8322fd56d87008b8f9dabf3c0f6ee983", size = 89995, upload-time = "2025-06-10T00:45:35.066Z" }, - { url = "https://files.pythonhosted.org/packages/fb/30/693e71003ec4bc1daf2e4cf7c478c417d0985e0a8e8f00b2230d517876fc/yarl-1.20.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30c41ad5d717b3961b2dd785593b67d386b73feca30522048d37298fee981805", size = 325253, upload-time = "2025-06-10T00:45:37.052Z" }, - { url = "https://files.pythonhosted.org/packages/0f/a2/5264dbebf90763139aeb0b0b3154763239398400f754ae19a0518b654117/yarl-1.20.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:59febc3969b0781682b469d4aca1a5cab7505a4f7b85acf6db01fa500fa3f6ba", size = 320897, upload-time = "2025-06-10T00:45:39.962Z" }, - { url = "https://files.pythonhosted.org/packages/e7/17/77c7a89b3c05856489777e922f41db79ab4faf58621886df40d812c7facd/yarl-1.20.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d2b6fb3622b7e5bf7a6e5b679a69326b4279e805ed1699d749739a61d242449e", size = 340696, upload-time = "2025-06-10T00:45:41.915Z" }, - { url = "https://files.pythonhosted.org/packages/6d/55/28409330b8ef5f2f681f5b478150496ec9cf3309b149dab7ec8ab5cfa3f0/yarl-1.20.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:749d73611db8d26a6281086f859ea7ec08f9c4c56cec864e52028c8b328db723", size = 335064, upload-time = "2025-06-10T00:45:43.893Z" }, - { url = "https://files.pythonhosted.org/packages/85/58/cb0257cbd4002828ff735f44d3c5b6966c4fd1fc8cc1cd3cd8a143fbc513/yarl-1.20.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9427925776096e664c39e131447aa20ec738bdd77c049c48ea5200db2237e000", size = 327256, upload-time = "2025-06-10T00:45:46.393Z" }, - { url = "https://files.pythonhosted.org/packages/53/f6/c77960370cfa46f6fb3d6a5a79a49d3abfdb9ef92556badc2dcd2748bc2a/yarl-1.20.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ff70f32aa316393eaf8222d518ce9118148eddb8a53073c2403863b41033eed5", size = 316389, upload-time = "2025-06-10T00:45:48.358Z" }, - { url = "https://files.pythonhosted.org/packages/64/ab/be0b10b8e029553c10905b6b00c64ecad3ebc8ace44b02293a62579343f6/yarl-1.20.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:c7ddf7a09f38667aea38801da8b8d6bfe81df767d9dfc8c88eb45827b195cd1c", size = 340481, upload-time = "2025-06-10T00:45:50.663Z" }, - { url = "https://files.pythonhosted.org/packages/c5/c3/3f327bd3905a4916029bf5feb7f86dcf864c7704f099715f62155fb386b2/yarl-1.20.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:57edc88517d7fc62b174fcfb2e939fbc486a68315d648d7e74d07fac42cec240", size = 336941, upload-time = "2025-06-10T00:45:52.554Z" }, - { url = "https://files.pythonhosted.org/packages/d1/42/040bdd5d3b3bb02b4a6ace4ed4075e02f85df964d6e6cb321795d2a6496a/yarl-1.20.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:dab096ce479d5894d62c26ff4f699ec9072269d514b4edd630a393223f45a0ee", size = 339936, upload-time = "2025-06-10T00:45:54.919Z" }, - { url = "https://files.pythonhosted.org/packages/0d/1c/911867b8e8c7463b84dfdc275e0d99b04b66ad5132b503f184fe76be8ea4/yarl-1.20.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:14a85f3bd2d7bb255be7183e5d7d6e70add151a98edf56a770d6140f5d5f4010", size = 360163, upload-time = "2025-06-10T00:45:56.87Z" }, - { url = "https://files.pythonhosted.org/packages/e2/31/8c389f6c6ca0379b57b2da87f1f126c834777b4931c5ee8427dd65d0ff6b/yarl-1.20.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:2c89b5c792685dd9cd3fa9761c1b9f46fc240c2a3265483acc1565769996a3f8", size = 359108, upload-time = "2025-06-10T00:45:58.869Z" }, - { url = "https://files.pythonhosted.org/packages/7f/09/ae4a649fb3964324c70a3e2b61f45e566d9ffc0affd2b974cbf628957673/yarl-1.20.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:69e9b141de5511021942a6866990aea6d111c9042235de90e08f94cf972ca03d", size = 351875, upload-time = "2025-06-10T00:46:01.45Z" }, - { url = "https://files.pythonhosted.org/packages/8d/43/bbb4ed4c34d5bb62b48bf957f68cd43f736f79059d4f85225ab1ef80f4b9/yarl-1.20.1-cp39-cp39-win32.whl", hash = "sha256:b5f307337819cdfdbb40193cad84978a029f847b0a357fbe49f712063cfc4f06", size = 82293, upload-time = "2025-06-10T00:46:03.763Z" }, - { url = "https://files.pythonhosted.org/packages/d7/cd/ce185848a7dba68ea69e932674b5c1a42a1852123584bccc5443120f857c/yarl-1.20.1-cp39-cp39-win_amd64.whl", hash = "sha256:eae7bfe2069f9c1c5b05fc7fe5d612e5bbc089a39309904ee8b829e322dcad00", size = 87385, upload-time = "2025-06-10T00:46:05.655Z" }, - { url = "https://files.pythonhosted.org/packages/b4/2d/2345fce04cfd4bee161bf1e7d9cdc702e3e16109021035dbb24db654a622/yarl-1.20.1-py3-none-any.whl", hash = "sha256:83b8eb083fe4683c6115795d9fc1cfaf2cbbefb19b3a1cb68f6527460f483a77", size = 46542, upload-time = "2025-06-10T00:46:07.521Z" }, + { name = "idna", marker = "python_full_version >= '3.9'" }, + { name = "multidict", version = "6.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "propcache", version = "0.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/57/63/0c6ebca57330cd313f6102b16dd57ffaf3ec4c83403dcb45dbd15c6f3ea1/yarl-1.22.0.tar.gz", hash = "sha256:bebf8557577d4401ba8bd9ff33906f1376c877aa78d1fe216ad01b4d6745af71", size = 187169, upload-time = "2025-10-06T14:12:55.963Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/43/a2204825342f37c337f5edb6637040fa14e365b2fcc2346960201d457579/yarl-1.22.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c7bd6683587567e5a49ee6e336e0612bec8329be1b7d4c8af5687dcdeb67ee1e", size = 140517, upload-time = "2025-10-06T14:08:42.494Z" }, + { url = "https://files.pythonhosted.org/packages/44/6f/674f3e6f02266428c56f704cd2501c22f78e8b2eeb23f153117cc86fb28a/yarl-1.22.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5cdac20da754f3a723cceea5b3448e1a2074866406adeb4ef35b469d089adb8f", size = 93495, upload-time = "2025-10-06T14:08:46.2Z" }, + { url = "https://files.pythonhosted.org/packages/b8/12/5b274d8a0f30c07b91b2f02cba69152600b47830fcfb465c108880fcee9c/yarl-1.22.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:07a524d84df0c10f41e3ee918846e1974aba4ec017f990dc735aad487a0bdfdf", size = 94400, upload-time = "2025-10-06T14:08:47.855Z" }, + { url = "https://files.pythonhosted.org/packages/e2/7f/df1b6949b1fa1aa9ff6de6e2631876ad4b73c4437822026e85d8acb56bb1/yarl-1.22.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e1b329cb8146d7b736677a2440e422eadd775d1806a81db2d4cded80a48efc1a", size = 347545, upload-time = "2025-10-06T14:08:49.683Z" }, + { url = "https://files.pythonhosted.org/packages/84/09/f92ed93bd6cd77872ab6c3462df45ca45cd058d8f1d0c9b4f54c1704429f/yarl-1.22.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:75976c6945d85dbb9ee6308cd7ff7b1fb9409380c82d6119bd778d8fcfe2931c", size = 319598, upload-time = "2025-10-06T14:08:51.215Z" }, + { url = "https://files.pythonhosted.org/packages/c3/97/ac3f3feae7d522cf7ccec3d340bb0b2b61c56cb9767923df62a135092c6b/yarl-1.22.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:80ddf7a5f8c86cb3eb4bc9028b07bbbf1f08a96c5c0bc1244be5e8fefcb94147", size = 363893, upload-time = "2025-10-06T14:08:53.144Z" }, + { url = "https://files.pythonhosted.org/packages/06/49/f3219097403b9c84a4d079b1d7bda62dd9b86d0d6e4428c02d46ab2c77fc/yarl-1.22.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d332fc2e3c94dad927f2112395772a4e4fedbcf8f80efc21ed7cdfae4d574fdb", size = 371240, upload-time = "2025-10-06T14:08:55.036Z" }, + { url = "https://files.pythonhosted.org/packages/35/9f/06b765d45c0e44e8ecf0fe15c9eacbbde342bb5b7561c46944f107bfb6c3/yarl-1.22.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0cf71bf877efeac18b38d3930594c0948c82b64547c1cf420ba48722fe5509f6", size = 346965, upload-time = "2025-10-06T14:08:56.722Z" }, + { url = "https://files.pythonhosted.org/packages/c5/69/599e7cea8d0fcb1694323b0db0dda317fa3162f7b90166faddecf532166f/yarl-1.22.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:663e1cadaddae26be034a6ab6072449a8426ddb03d500f43daf952b74553bba0", size = 342026, upload-time = "2025-10-06T14:08:58.563Z" }, + { url = "https://files.pythonhosted.org/packages/95/6f/9dfd12c8bc90fea9eab39832ee32ea48f8e53d1256252a77b710c065c89f/yarl-1.22.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:6dcbb0829c671f305be48a7227918cfcd11276c2d637a8033a99a02b67bf9eda", size = 335637, upload-time = "2025-10-06T14:09:00.506Z" }, + { url = "https://files.pythonhosted.org/packages/57/2e/34c5b4eb9b07e16e873db5b182c71e5f06f9b5af388cdaa97736d79dd9a6/yarl-1.22.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f0d97c18dfd9a9af4490631905a3f131a8e4c9e80a39353919e2cfed8f00aedc", size = 359082, upload-time = "2025-10-06T14:09:01.936Z" }, + { url = "https://files.pythonhosted.org/packages/31/71/fa7e10fb772d273aa1f096ecb8ab8594117822f683bab7d2c5a89914c92a/yarl-1.22.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:437840083abe022c978470b942ff832c3940b2ad3734d424b7eaffcd07f76737", size = 357811, upload-time = "2025-10-06T14:09:03.445Z" }, + { url = "https://files.pythonhosted.org/packages/26/da/11374c04e8e1184a6a03cf9c8f5688d3e5cec83ed6f31ad3481b3207f709/yarl-1.22.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:a899cbd98dce6f5d8de1aad31cb712ec0a530abc0a86bd6edaa47c1090138467", size = 351223, upload-time = "2025-10-06T14:09:05.401Z" }, + { url = "https://files.pythonhosted.org/packages/82/8f/e2d01f161b0c034a30410e375e191a5d27608c1f8693bab1a08b089ca096/yarl-1.22.0-cp310-cp310-win32.whl", hash = "sha256:595697f68bd1f0c1c159fcb97b661fc9c3f5db46498043555d04805430e79bea", size = 82118, upload-time = "2025-10-06T14:09:11.148Z" }, + { url = "https://files.pythonhosted.org/packages/62/46/94c76196642dbeae634c7a61ba3da88cd77bed875bf6e4a8bed037505aa6/yarl-1.22.0-cp310-cp310-win_amd64.whl", hash = "sha256:cb95a9b1adaa48e41815a55ae740cfda005758104049a640a398120bf02515ca", size = 86852, upload-time = "2025-10-06T14:09:12.958Z" }, + { url = "https://files.pythonhosted.org/packages/af/af/7df4f179d3b1a6dcb9a4bd2ffbc67642746fcafdb62580e66876ce83fff4/yarl-1.22.0-cp310-cp310-win_arm64.whl", hash = "sha256:b85b982afde6df99ecc996990d4ad7ccbdbb70e2a4ba4de0aecde5922ba98a0b", size = 82012, upload-time = "2025-10-06T14:09:14.664Z" }, + { url = "https://files.pythonhosted.org/packages/4d/27/5ab13fc84c76a0250afd3d26d5936349a35be56ce5785447d6c423b26d92/yarl-1.22.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1ab72135b1f2db3fed3997d7e7dc1b80573c67138023852b6efb336a5eae6511", size = 141607, upload-time = "2025-10-06T14:09:16.298Z" }, + { url = "https://files.pythonhosted.org/packages/6a/a1/d065d51d02dc02ce81501d476b9ed2229d9a990818332242a882d5d60340/yarl-1.22.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:669930400e375570189492dc8d8341301578e8493aec04aebc20d4717f899dd6", size = 94027, upload-time = "2025-10-06T14:09:17.786Z" }, + { url = "https://files.pythonhosted.org/packages/c1/da/8da9f6a53f67b5106ffe902c6fa0164e10398d4e150d85838b82f424072a/yarl-1.22.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:792a2af6d58177ef7c19cbf0097aba92ca1b9cb3ffdd9c7470e156c8f9b5e028", size = 94963, upload-time = "2025-10-06T14:09:19.662Z" }, + { url = "https://files.pythonhosted.org/packages/68/fe/2c1f674960c376e29cb0bec1249b117d11738db92a6ccc4a530b972648db/yarl-1.22.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3ea66b1c11c9150f1372f69afb6b8116f2dd7286f38e14ea71a44eee9ec51b9d", size = 368406, upload-time = "2025-10-06T14:09:21.402Z" }, + { url = "https://files.pythonhosted.org/packages/95/26/812a540e1c3c6418fec60e9bbd38e871eaba9545e94fa5eff8f4a8e28e1e/yarl-1.22.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3e2daa88dc91870215961e96a039ec73e4937da13cf77ce17f9cad0c18df3503", size = 336581, upload-time = "2025-10-06T14:09:22.98Z" }, + { url = "https://files.pythonhosted.org/packages/0b/f5/5777b19e26fdf98563985e481f8be3d8a39f8734147a6ebf459d0dab5a6b/yarl-1.22.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ba440ae430c00eee41509353628600212112cd5018d5def7e9b05ea7ac34eb65", size = 388924, upload-time = "2025-10-06T14:09:24.655Z" }, + { url = "https://files.pythonhosted.org/packages/86/08/24bd2477bd59c0bbd994fe1d93b126e0472e4e3df5a96a277b0a55309e89/yarl-1.22.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e6438cc8f23a9c1478633d216b16104a586b9761db62bfacb6425bac0a36679e", size = 392890, upload-time = "2025-10-06T14:09:26.617Z" }, + { url = "https://files.pythonhosted.org/packages/46/00/71b90ed48e895667ecfb1eaab27c1523ee2fa217433ed77a73b13205ca4b/yarl-1.22.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4c52a6e78aef5cf47a98ef8e934755abf53953379b7d53e68b15ff4420e6683d", size = 365819, upload-time = "2025-10-06T14:09:28.544Z" }, + { url = "https://files.pythonhosted.org/packages/30/2d/f715501cae832651d3282387c6a9236cd26bd00d0ff1e404b3dc52447884/yarl-1.22.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3b06bcadaac49c70f4c88af4ffcfbe3dc155aab3163e75777818092478bcbbe7", size = 363601, upload-time = "2025-10-06T14:09:30.568Z" }, + { url = "https://files.pythonhosted.org/packages/f8/f9/a678c992d78e394e7126ee0b0e4e71bd2775e4334d00a9278c06a6cce96a/yarl-1.22.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:6944b2dc72c4d7f7052683487e3677456050ff77fcf5e6204e98caf785ad1967", size = 358072, upload-time = "2025-10-06T14:09:32.528Z" }, + { url = "https://files.pythonhosted.org/packages/2c/d1/b49454411a60edb6fefdcad4f8e6dbba7d8019e3a508a1c5836cba6d0781/yarl-1.22.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:d5372ca1df0f91a86b047d1277c2aaf1edb32d78bbcefffc81b40ffd18f027ed", size = 385311, upload-time = "2025-10-06T14:09:34.634Z" }, + { url = "https://files.pythonhosted.org/packages/87/e5/40d7a94debb8448c7771a916d1861d6609dddf7958dc381117e7ba36d9e8/yarl-1.22.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:51af598701f5299012b8416486b40fceef8c26fc87dc6d7d1f6fc30609ea0aa6", size = 381094, upload-time = "2025-10-06T14:09:36.268Z" }, + { url = "https://files.pythonhosted.org/packages/35/d8/611cc282502381ad855448643e1ad0538957fc82ae83dfe7762c14069e14/yarl-1.22.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b266bd01fedeffeeac01a79ae181719ff848a5a13ce10075adbefc8f1daee70e", size = 370944, upload-time = "2025-10-06T14:09:37.872Z" }, + { url = "https://files.pythonhosted.org/packages/2d/df/fadd00fb1c90e1a5a8bd731fa3d3de2e165e5a3666a095b04e31b04d9cb6/yarl-1.22.0-cp311-cp311-win32.whl", hash = "sha256:a9b1ba5610a4e20f655258d5a1fdc7ebe3d837bb0e45b581398b99eb98b1f5ca", size = 81804, upload-time = "2025-10-06T14:09:39.359Z" }, + { url = "https://files.pythonhosted.org/packages/b5/f7/149bb6f45f267cb5c074ac40c01c6b3ea6d8a620d34b337f6321928a1b4d/yarl-1.22.0-cp311-cp311-win_amd64.whl", hash = "sha256:078278b9b0b11568937d9509b589ee83ef98ed6d561dfe2020e24a9fd08eaa2b", size = 86858, upload-time = "2025-10-06T14:09:41.068Z" }, + { url = "https://files.pythonhosted.org/packages/2b/13/88b78b93ad3f2f0b78e13bfaaa24d11cbc746e93fe76d8c06bf139615646/yarl-1.22.0-cp311-cp311-win_arm64.whl", hash = "sha256:b6a6f620cfe13ccec221fa312139135166e47ae169f8253f72a0abc0dae94376", size = 81637, upload-time = "2025-10-06T14:09:42.712Z" }, + { url = "https://files.pythonhosted.org/packages/75/ff/46736024fee3429b80a165a732e38e5d5a238721e634ab41b040d49f8738/yarl-1.22.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e340382d1afa5d32b892b3ff062436d592ec3d692aeea3bef3a5cfe11bbf8c6f", size = 142000, upload-time = "2025-10-06T14:09:44.631Z" }, + { url = "https://files.pythonhosted.org/packages/5a/9a/b312ed670df903145598914770eb12de1bac44599549b3360acc96878df8/yarl-1.22.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f1e09112a2c31ffe8d80be1b0988fa6a18c5d5cad92a9ffbb1c04c91bfe52ad2", size = 94338, upload-time = "2025-10-06T14:09:46.372Z" }, + { url = "https://files.pythonhosted.org/packages/ba/f5/0601483296f09c3c65e303d60c070a5c19fcdbc72daa061e96170785bc7d/yarl-1.22.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:939fe60db294c786f6b7c2d2e121576628468f65453d86b0fe36cb52f987bd74", size = 94909, upload-time = "2025-10-06T14:09:48.648Z" }, + { url = "https://files.pythonhosted.org/packages/60/41/9a1fe0b73dbcefce72e46cf149b0e0a67612d60bfc90fb59c2b2efdfbd86/yarl-1.22.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e1651bf8e0398574646744c1885a41198eba53dc8a9312b954073f845c90a8df", size = 372940, upload-time = "2025-10-06T14:09:50.089Z" }, + { url = "https://files.pythonhosted.org/packages/17/7a/795cb6dfee561961c30b800f0ed616b923a2ec6258b5def2a00bf8231334/yarl-1.22.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b8a0588521a26bf92a57a1705b77b8b59044cdceccac7151bd8d229e66b8dedb", size = 345825, upload-time = "2025-10-06T14:09:52.142Z" }, + { url = "https://files.pythonhosted.org/packages/d7/93/a58f4d596d2be2ae7bab1a5846c4d270b894958845753b2c606d666744d3/yarl-1.22.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:42188e6a615c1a75bcaa6e150c3fe8f3e8680471a6b10150c5f7e83f47cc34d2", size = 386705, upload-time = "2025-10-06T14:09:54.128Z" }, + { url = "https://files.pythonhosted.org/packages/61/92/682279d0e099d0e14d7fd2e176bd04f48de1484f56546a3e1313cd6c8e7c/yarl-1.22.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f6d2cb59377d99718913ad9a151030d6f83ef420a2b8f521d94609ecc106ee82", size = 396518, upload-time = "2025-10-06T14:09:55.762Z" }, + { url = "https://files.pythonhosted.org/packages/db/0f/0d52c98b8a885aeda831224b78f3be7ec2e1aa4a62091f9f9188c3c65b56/yarl-1.22.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50678a3b71c751d58d7908edc96d332af328839eea883bb554a43f539101277a", size = 377267, upload-time = "2025-10-06T14:09:57.958Z" }, + { url = "https://files.pythonhosted.org/packages/22/42/d2685e35908cbeaa6532c1fc73e89e7f2efb5d8a7df3959ea8e37177c5a3/yarl-1.22.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e8fbaa7cec507aa24ea27a01456e8dd4b6fab829059b69844bd348f2d467124", size = 365797, upload-time = "2025-10-06T14:09:59.527Z" }, + { url = "https://files.pythonhosted.org/packages/a2/83/cf8c7bcc6355631762f7d8bdab920ad09b82efa6b722999dfb05afa6cfac/yarl-1.22.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:433885ab5431bc3d3d4f2f9bd15bfa1614c522b0f1405d62c4f926ccd69d04fa", size = 365535, upload-time = "2025-10-06T14:10:01.139Z" }, + { url = "https://files.pythonhosted.org/packages/25/e1/5302ff9b28f0c59cac913b91fe3f16c59a033887e57ce9ca5d41a3a94737/yarl-1.22.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:b790b39c7e9a4192dc2e201a282109ed2985a1ddbd5ac08dc56d0e121400a8f7", size = 382324, upload-time = "2025-10-06T14:10:02.756Z" }, + { url = "https://files.pythonhosted.org/packages/bf/cd/4617eb60f032f19ae3a688dc990d8f0d89ee0ea378b61cac81ede3e52fae/yarl-1.22.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:31f0b53913220599446872d757257be5898019c85e7971599065bc55065dc99d", size = 383803, upload-time = "2025-10-06T14:10:04.552Z" }, + { url = "https://files.pythonhosted.org/packages/59/65/afc6e62bb506a319ea67b694551dab4a7e6fb7bf604e9bd9f3e11d575fec/yarl-1.22.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a49370e8f711daec68d09b821a34e1167792ee2d24d405cbc2387be4f158b520", size = 374220, upload-time = "2025-10-06T14:10:06.489Z" }, + { url = "https://files.pythonhosted.org/packages/e7/3d/68bf18d50dc674b942daec86a9ba922d3113d8399b0e52b9897530442da2/yarl-1.22.0-cp312-cp312-win32.whl", hash = "sha256:70dfd4f241c04bd9239d53b17f11e6ab672b9f1420364af63e8531198e3f5fe8", size = 81589, upload-time = "2025-10-06T14:10:09.254Z" }, + { url = "https://files.pythonhosted.org/packages/c8/9a/6ad1a9b37c2f72874f93e691b2e7ecb6137fb2b899983125db4204e47575/yarl-1.22.0-cp312-cp312-win_amd64.whl", hash = "sha256:8884d8b332a5e9b88e23f60bb166890009429391864c685e17bd73a9eda9105c", size = 87213, upload-time = "2025-10-06T14:10:11.369Z" }, + { url = "https://files.pythonhosted.org/packages/44/c5/c21b562d1680a77634d748e30c653c3ca918beb35555cff24986fff54598/yarl-1.22.0-cp312-cp312-win_arm64.whl", hash = "sha256:ea70f61a47f3cc93bdf8b2f368ed359ef02a01ca6393916bc8ff877427181e74", size = 81330, upload-time = "2025-10-06T14:10:13.112Z" }, + { url = "https://files.pythonhosted.org/packages/ea/f3/d67de7260456ee105dc1d162d43a019ecad6b91e2f51809d6cddaa56690e/yarl-1.22.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8dee9c25c74997f6a750cd317b8ca63545169c098faee42c84aa5e506c819b53", size = 139980, upload-time = "2025-10-06T14:10:14.601Z" }, + { url = "https://files.pythonhosted.org/packages/01/88/04d98af0b47e0ef42597b9b28863b9060bb515524da0a65d5f4db160b2d5/yarl-1.22.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:01e73b85a5434f89fc4fe27dcda2aff08ddf35e4d47bbbea3bdcd25321af538a", size = 93424, upload-time = "2025-10-06T14:10:16.115Z" }, + { url = "https://files.pythonhosted.org/packages/18/91/3274b215fd8442a03975ce6bee5fe6aa57a8326b29b9d3d56234a1dca244/yarl-1.22.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:22965c2af250d20c873cdbee8ff958fb809940aeb2e74ba5f20aaf6b7ac8c70c", size = 93821, upload-time = "2025-10-06T14:10:17.993Z" }, + { url = "https://files.pythonhosted.org/packages/61/3a/caf4e25036db0f2da4ca22a353dfeb3c9d3c95d2761ebe9b14df8fc16eb0/yarl-1.22.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b4f15793aa49793ec8d1c708ab7f9eded1aa72edc5174cae703651555ed1b601", size = 373243, upload-time = "2025-10-06T14:10:19.44Z" }, + { url = "https://files.pythonhosted.org/packages/6e/9e/51a77ac7516e8e7803b06e01f74e78649c24ee1021eca3d6a739cb6ea49c/yarl-1.22.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e5542339dcf2747135c5c85f68680353d5cb9ffd741c0f2e8d832d054d41f35a", size = 342361, upload-time = "2025-10-06T14:10:21.124Z" }, + { url = "https://files.pythonhosted.org/packages/d4/f8/33b92454789dde8407f156c00303e9a891f1f51a0330b0fad7c909f87692/yarl-1.22.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5c401e05ad47a75869c3ab3e35137f8468b846770587e70d71e11de797d113df", size = 387036, upload-time = "2025-10-06T14:10:22.902Z" }, + { url = "https://files.pythonhosted.org/packages/d9/9a/c5db84ea024f76838220280f732970aa4ee154015d7f5c1bfb60a267af6f/yarl-1.22.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:243dda95d901c733f5b59214d28b0120893d91777cb8aa043e6ef059d3cddfe2", size = 397671, upload-time = "2025-10-06T14:10:24.523Z" }, + { url = "https://files.pythonhosted.org/packages/11/c9/cd8538dc2e7727095e0c1d867bad1e40c98f37763e6d995c1939f5fdc7b1/yarl-1.22.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bec03d0d388060058f5d291a813f21c011041938a441c593374da6077fe21b1b", size = 377059, upload-time = "2025-10-06T14:10:26.406Z" }, + { url = "https://files.pythonhosted.org/packages/a1/b9/ab437b261702ced75122ed78a876a6dec0a1b0f5e17a4ac7a9a2482d8abe/yarl-1.22.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b0748275abb8c1e1e09301ee3cf90c8a99678a4e92e4373705f2a2570d581273", size = 365356, upload-time = "2025-10-06T14:10:28.461Z" }, + { url = "https://files.pythonhosted.org/packages/b2/9d/8e1ae6d1d008a9567877b08f0ce4077a29974c04c062dabdb923ed98e6fe/yarl-1.22.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:47fdb18187e2a4e18fda2c25c05d8251a9e4a521edaed757fef033e7d8498d9a", size = 361331, upload-time = "2025-10-06T14:10:30.541Z" }, + { url = "https://files.pythonhosted.org/packages/ca/5a/09b7be3905962f145b73beb468cdd53db8aa171cf18c80400a54c5b82846/yarl-1.22.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c7044802eec4524fde550afc28edda0dd5784c4c45f0be151a2d3ba017daca7d", size = 382590, upload-time = "2025-10-06T14:10:33.352Z" }, + { url = "https://files.pythonhosted.org/packages/aa/7f/59ec509abf90eda5048b0bc3e2d7b5099dffdb3e6b127019895ab9d5ef44/yarl-1.22.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:139718f35149ff544caba20fce6e8a2f71f1e39b92c700d8438a0b1d2a631a02", size = 385316, upload-time = "2025-10-06T14:10:35.034Z" }, + { url = "https://files.pythonhosted.org/packages/e5/84/891158426bc8036bfdfd862fabd0e0fa25df4176ec793e447f4b85cf1be4/yarl-1.22.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e1b51bebd221006d3d2f95fbe124b22b247136647ae5dcc8c7acafba66e5ee67", size = 374431, upload-time = "2025-10-06T14:10:37.76Z" }, + { url = "https://files.pythonhosted.org/packages/bb/49/03da1580665baa8bef5e8ed34c6df2c2aca0a2f28bf397ed238cc1bbc6f2/yarl-1.22.0-cp313-cp313-win32.whl", hash = "sha256:d3e32536234a95f513bd374e93d717cf6b2231a791758de6c509e3653f234c95", size = 81555, upload-time = "2025-10-06T14:10:39.649Z" }, + { url = "https://files.pythonhosted.org/packages/9a/ee/450914ae11b419eadd067c6183ae08381cfdfcb9798b90b2b713bbebddda/yarl-1.22.0-cp313-cp313-win_amd64.whl", hash = "sha256:47743b82b76d89a1d20b83e60d5c20314cbd5ba2befc9cda8f28300c4a08ed4d", size = 86965, upload-time = "2025-10-06T14:10:41.313Z" }, + { url = "https://files.pythonhosted.org/packages/98/4d/264a01eae03b6cf629ad69bae94e3b0e5344741e929073678e84bf7a3e3b/yarl-1.22.0-cp313-cp313-win_arm64.whl", hash = "sha256:5d0fcda9608875f7d052eff120c7a5da474a6796fe4d83e152e0e4d42f6d1a9b", size = 81205, upload-time = "2025-10-06T14:10:43.167Z" }, + { url = "https://files.pythonhosted.org/packages/88/fc/6908f062a2f77b5f9f6d69cecb1747260831ff206adcbc5b510aff88df91/yarl-1.22.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:719ae08b6972befcba4310e49edb1161a88cdd331e3a694b84466bd938a6ab10", size = 146209, upload-time = "2025-10-06T14:10:44.643Z" }, + { url = "https://files.pythonhosted.org/packages/65/47/76594ae8eab26210b4867be6f49129861ad33da1f1ebdf7051e98492bf62/yarl-1.22.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:47d8a5c446df1c4db9d21b49619ffdba90e77c89ec6e283f453856c74b50b9e3", size = 95966, upload-time = "2025-10-06T14:10:46.554Z" }, + { url = "https://files.pythonhosted.org/packages/ab/ce/05e9828a49271ba6b5b038b15b3934e996980dd78abdfeb52a04cfb9467e/yarl-1.22.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:cfebc0ac8333520d2d0423cbbe43ae43c8838862ddb898f5ca68565e395516e9", size = 97312, upload-time = "2025-10-06T14:10:48.007Z" }, + { url = "https://files.pythonhosted.org/packages/d1/c5/7dffad5e4f2265b29c9d7ec869c369e4223166e4f9206fc2243ee9eea727/yarl-1.22.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4398557cbf484207df000309235979c79c4356518fd5c99158c7d38203c4da4f", size = 361967, upload-time = "2025-10-06T14:10:49.997Z" }, + { url = "https://files.pythonhosted.org/packages/50/b2/375b933c93a54bff7fc041e1a6ad2c0f6f733ffb0c6e642ce56ee3b39970/yarl-1.22.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2ca6fd72a8cd803be290d42f2dec5cdcd5299eeb93c2d929bf060ad9efaf5de0", size = 323949, upload-time = "2025-10-06T14:10:52.004Z" }, + { url = "https://files.pythonhosted.org/packages/66/50/bfc2a29a1d78644c5a7220ce2f304f38248dc94124a326794e677634b6cf/yarl-1.22.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ca1f59c4e1ab6e72f0a23c13fca5430f889634166be85dbf1013683e49e3278e", size = 361818, upload-time = "2025-10-06T14:10:54.078Z" }, + { url = "https://files.pythonhosted.org/packages/46/96/f3941a46af7d5d0f0498f86d71275696800ddcdd20426298e572b19b91ff/yarl-1.22.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6c5010a52015e7c70f86eb967db0f37f3c8bd503a695a49f8d45700144667708", size = 372626, upload-time = "2025-10-06T14:10:55.767Z" }, + { url = "https://files.pythonhosted.org/packages/c1/42/8b27c83bb875cd89448e42cd627e0fb971fa1675c9ec546393d18826cb50/yarl-1.22.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d7672ecf7557476642c88497c2f8d8542f8e36596e928e9bcba0e42e1e7d71f", size = 341129, upload-time = "2025-10-06T14:10:57.985Z" }, + { url = "https://files.pythonhosted.org/packages/49/36/99ca3122201b382a3cf7cc937b95235b0ac944f7e9f2d5331d50821ed352/yarl-1.22.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3b7c88eeef021579d600e50363e0b6ee4f7f6f728cd3486b9d0f3ee7b946398d", size = 346776, upload-time = "2025-10-06T14:10:59.633Z" }, + { url = "https://files.pythonhosted.org/packages/85/b4/47328bf996acd01a4c16ef9dcd2f59c969f495073616586f78cd5f2efb99/yarl-1.22.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:f4afb5c34f2c6fecdcc182dfcfc6af6cccf1aa923eed4d6a12e9d96904e1a0d8", size = 334879, upload-time = "2025-10-06T14:11:01.454Z" }, + { url = "https://files.pythonhosted.org/packages/c2/ad/b77d7b3f14a4283bffb8e92c6026496f6de49751c2f97d4352242bba3990/yarl-1.22.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:59c189e3e99a59cf8d83cbb31d4db02d66cda5a1a4374e8a012b51255341abf5", size = 350996, upload-time = "2025-10-06T14:11:03.452Z" }, + { url = "https://files.pythonhosted.org/packages/81/c8/06e1d69295792ba54d556f06686cbd6a7ce39c22307100e3fb4a2c0b0a1d/yarl-1.22.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:5a3bf7f62a289fa90f1990422dc8dff5a458469ea71d1624585ec3a4c8d6960f", size = 356047, upload-time = "2025-10-06T14:11:05.115Z" }, + { url = "https://files.pythonhosted.org/packages/4b/b8/4c0e9e9f597074b208d18cef227d83aac36184bfbc6eab204ea55783dbc5/yarl-1.22.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:de6b9a04c606978fdfe72666fa216ffcf2d1a9f6a381058d4378f8d7b1e5de62", size = 342947, upload-time = "2025-10-06T14:11:08.137Z" }, + { url = "https://files.pythonhosted.org/packages/e0/e5/11f140a58bf4c6ad7aca69a892bff0ee638c31bea4206748fc0df4ebcb3a/yarl-1.22.0-cp313-cp313t-win32.whl", hash = "sha256:1834bb90991cc2999f10f97f5f01317f99b143284766d197e43cd5b45eb18d03", size = 86943, upload-time = "2025-10-06T14:11:10.284Z" }, + { url = "https://files.pythonhosted.org/packages/31/74/8b74bae38ed7fe6793d0c15a0c8207bbb819cf287788459e5ed230996cdd/yarl-1.22.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ff86011bd159a9d2dfc89c34cfd8aff12875980e3bd6a39ff097887520e60249", size = 93715, upload-time = "2025-10-06T14:11:11.739Z" }, + { url = "https://files.pythonhosted.org/packages/69/66/991858aa4b5892d57aef7ee1ba6b4d01ec3b7eb3060795d34090a3ca3278/yarl-1.22.0-cp313-cp313t-win_arm64.whl", hash = "sha256:7861058d0582b847bc4e3a4a4c46828a410bca738673f35a29ba3ca5db0b473b", size = 83857, upload-time = "2025-10-06T14:11:13.586Z" }, + { url = "https://files.pythonhosted.org/packages/46/b3/e20ef504049f1a1c54a814b4b9bed96d1ac0e0610c3b4da178f87209db05/yarl-1.22.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:34b36c2c57124530884d89d50ed2c1478697ad7473efd59cfd479945c95650e4", size = 140520, upload-time = "2025-10-06T14:11:15.465Z" }, + { url = "https://files.pythonhosted.org/packages/e4/04/3532d990fdbab02e5ede063676b5c4260e7f3abea2151099c2aa745acc4c/yarl-1.22.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:0dd9a702591ca2e543631c2a017e4a547e38a5c0f29eece37d9097e04a7ac683", size = 93504, upload-time = "2025-10-06T14:11:17.106Z" }, + { url = "https://files.pythonhosted.org/packages/11/63/ff458113c5c2dac9a9719ac68ee7c947cb621432bcf28c9972b1c0e83938/yarl-1.22.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:594fcab1032e2d2cc3321bb2e51271e7cd2b516c7d9aee780ece81b07ff8244b", size = 94282, upload-time = "2025-10-06T14:11:19.064Z" }, + { url = "https://files.pythonhosted.org/packages/a7/bc/315a56aca762d44a6aaaf7ad253f04d996cb6b27bad34410f82d76ea8038/yarl-1.22.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f3d7a87a78d46a2e3d5b72587ac14b4c16952dd0887dbb051451eceac774411e", size = 372080, upload-time = "2025-10-06T14:11:20.996Z" }, + { url = "https://files.pythonhosted.org/packages/3f/3f/08e9b826ec2e099ea6e7c69a61272f4f6da62cb5b1b63590bb80ca2e4a40/yarl-1.22.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:852863707010316c973162e703bddabec35e8757e67fcb8ad58829de1ebc8590", size = 338696, upload-time = "2025-10-06T14:11:22.847Z" }, + { url = "https://files.pythonhosted.org/packages/e3/9f/90360108e3b32bd76789088e99538febfea24a102380ae73827f62073543/yarl-1.22.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:131a085a53bfe839a477c0845acf21efc77457ba2bcf5899618136d64f3303a2", size = 387121, upload-time = "2025-10-06T14:11:24.889Z" }, + { url = "https://files.pythonhosted.org/packages/98/92/ab8d4657bd5b46a38094cfaea498f18bb70ce6b63508fd7e909bd1f93066/yarl-1.22.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:078a8aefd263f4d4f923a9677b942b445a2be970ca24548a8102689a3a8ab8da", size = 394080, upload-time = "2025-10-06T14:11:27.307Z" }, + { url = "https://files.pythonhosted.org/packages/f5/e7/d8c5a7752fef68205296201f8ec2bf718f5c805a7a7e9880576c67600658/yarl-1.22.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bca03b91c323036913993ff5c738d0842fc9c60c4648e5c8d98331526df89784", size = 372661, upload-time = "2025-10-06T14:11:29.387Z" }, + { url = "https://files.pythonhosted.org/packages/b6/2e/f4d26183c8db0bb82d491b072f3127fb8c381a6206a3a56332714b79b751/yarl-1.22.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:68986a61557d37bb90d3051a45b91fa3d5c516d177dfc6dd6f2f436a07ff2b6b", size = 364645, upload-time = "2025-10-06T14:11:31.423Z" }, + { url = "https://files.pythonhosted.org/packages/80/7c/428e5812e6b87cd00ee8e898328a62c95825bf37c7fa87f0b6bb2ad31304/yarl-1.22.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:4792b262d585ff0dff6bcb787f8492e40698443ec982a3568c2096433660c694", size = 355361, upload-time = "2025-10-06T14:11:33.055Z" }, + { url = "https://files.pythonhosted.org/packages/ec/2a/249405fd26776f8b13c067378ef4d7dd49c9098d1b6457cdd152a99e96a9/yarl-1.22.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:ebd4549b108d732dba1d4ace67614b9545b21ece30937a63a65dd34efa19732d", size = 381451, upload-time = "2025-10-06T14:11:35.136Z" }, + { url = "https://files.pythonhosted.org/packages/67/a8/fb6b1adbe98cf1e2dd9fad71003d3a63a1bc22459c6e15f5714eb9323b93/yarl-1.22.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:f87ac53513d22240c7d59203f25cc3beac1e574c6cd681bbfd321987b69f95fd", size = 383814, upload-time = "2025-10-06T14:11:37.094Z" }, + { url = "https://files.pythonhosted.org/packages/d9/f9/3aa2c0e480fb73e872ae2814c43bc1e734740bb0d54e8cb2a95925f98131/yarl-1.22.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:22b029f2881599e2f1b06f8f1db2ee63bd309e2293ba2d566e008ba12778b8da", size = 370799, upload-time = "2025-10-06T14:11:38.83Z" }, + { url = "https://files.pythonhosted.org/packages/50/3c/af9dba3b8b5eeb302f36f16f92791f3ea62e3f47763406abf6d5a4a3333b/yarl-1.22.0-cp314-cp314-win32.whl", hash = "sha256:6a635ea45ba4ea8238463b4f7d0e721bad669f80878b7bfd1f89266e2ae63da2", size = 82990, upload-time = "2025-10-06T14:11:40.624Z" }, + { url = "https://files.pythonhosted.org/packages/ac/30/ac3a0c5bdc1d6efd1b41fa24d4897a4329b3b1e98de9449679dd327af4f0/yarl-1.22.0-cp314-cp314-win_amd64.whl", hash = "sha256:0d6e6885777af0f110b0e5d7e5dda8b704efed3894da26220b7f3d887b839a79", size = 88292, upload-time = "2025-10-06T14:11:42.578Z" }, + { url = "https://files.pythonhosted.org/packages/df/0a/227ab4ff5b998a1b7410abc7b46c9b7a26b0ca9e86c34ba4b8d8bc7c63d5/yarl-1.22.0-cp314-cp314-win_arm64.whl", hash = "sha256:8218f4e98d3c10d683584cb40f0424f4b9fd6e95610232dd75e13743b070ee33", size = 82888, upload-time = "2025-10-06T14:11:44.863Z" }, + { url = "https://files.pythonhosted.org/packages/06/5e/a15eb13db90abd87dfbefb9760c0f3f257ac42a5cac7e75dbc23bed97a9f/yarl-1.22.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:45c2842ff0e0d1b35a6bf1cd6c690939dacb617a70827f715232b2e0494d55d1", size = 146223, upload-time = "2025-10-06T14:11:46.796Z" }, + { url = "https://files.pythonhosted.org/packages/18/82/9665c61910d4d84f41a5bf6837597c89e665fa88aa4941080704645932a9/yarl-1.22.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:d947071e6ebcf2e2bee8fce76e10faca8f7a14808ca36a910263acaacef08eca", size = 95981, upload-time = "2025-10-06T14:11:48.845Z" }, + { url = "https://files.pythonhosted.org/packages/5d/9a/2f65743589809af4d0a6d3aa749343c4b5f4c380cc24a8e94a3c6625a808/yarl-1.22.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:334b8721303e61b00019474cc103bdac3d7b1f65e91f0bfedeec2d56dfe74b53", size = 97303, upload-time = "2025-10-06T14:11:50.897Z" }, + { url = "https://files.pythonhosted.org/packages/b0/ab/5b13d3e157505c43c3b43b5a776cbf7b24a02bc4cccc40314771197e3508/yarl-1.22.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1e7ce67c34138a058fd092f67d07a72b8e31ff0c9236e751957465a24b28910c", size = 361820, upload-time = "2025-10-06T14:11:52.549Z" }, + { url = "https://files.pythonhosted.org/packages/fb/76/242a5ef4677615cf95330cfc1b4610e78184400699bdda0acb897ef5e49a/yarl-1.22.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d77e1b2c6d04711478cb1c4ab90db07f1609ccf06a287d5607fcd90dc9863acf", size = 323203, upload-time = "2025-10-06T14:11:54.225Z" }, + { url = "https://files.pythonhosted.org/packages/8c/96/475509110d3f0153b43d06164cf4195c64d16999e0c7e2d8a099adcd6907/yarl-1.22.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c4647674b6150d2cae088fc07de2738a84b8bcedebef29802cf0b0a82ab6face", size = 363173, upload-time = "2025-10-06T14:11:56.069Z" }, + { url = "https://files.pythonhosted.org/packages/c9/66/59db471aecfbd559a1fd48aedd954435558cd98c7d0da8b03cc6c140a32c/yarl-1.22.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:efb07073be061c8f79d03d04139a80ba33cbd390ca8f0297aae9cce6411e4c6b", size = 373562, upload-time = "2025-10-06T14:11:58.783Z" }, + { url = "https://files.pythonhosted.org/packages/03/1f/c5d94abc91557384719da10ff166b916107c1b45e4d0423a88457071dd88/yarl-1.22.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e51ac5435758ba97ad69617e13233da53908beccc6cfcd6c34bbed8dcbede486", size = 339828, upload-time = "2025-10-06T14:12:00.686Z" }, + { url = "https://files.pythonhosted.org/packages/5f/97/aa6a143d3afba17b6465733681c70cf175af89f76ec8d9286e08437a7454/yarl-1.22.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:33e32a0dd0c8205efa8e83d04fc9f19313772b78522d1bdc7d9aed706bfd6138", size = 347551, upload-time = "2025-10-06T14:12:02.628Z" }, + { url = "https://files.pythonhosted.org/packages/43/3c/45a2b6d80195959239a7b2a8810506d4eea5487dce61c2a3393e7fc3c52e/yarl-1.22.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:bf4a21e58b9cde0e401e683ebd00f6ed30a06d14e93f7c8fd059f8b6e8f87b6a", size = 334512, upload-time = "2025-10-06T14:12:04.871Z" }, + { url = "https://files.pythonhosted.org/packages/86/a0/c2ab48d74599c7c84cb104ebd799c5813de252bea0f360ffc29d270c2caa/yarl-1.22.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:e4b582bab49ac33c8deb97e058cd67c2c50dac0dd134874106d9c774fd272529", size = 352400, upload-time = "2025-10-06T14:12:06.624Z" }, + { url = "https://files.pythonhosted.org/packages/32/75/f8919b2eafc929567d3d8411f72bdb1a2109c01caaab4ebfa5f8ffadc15b/yarl-1.22.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:0b5bcc1a9c4839e7e30b7b30dd47fe5e7e44fb7054ec29b5bb8d526aa1041093", size = 357140, upload-time = "2025-10-06T14:12:08.362Z" }, + { url = "https://files.pythonhosted.org/packages/cf/72/6a85bba382f22cf78add705d8c3731748397d986e197e53ecc7835e76de7/yarl-1.22.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:c0232bce2170103ec23c454e54a57008a9a72b5d1c3105dc2496750da8cfa47c", size = 341473, upload-time = "2025-10-06T14:12:10.994Z" }, + { url = "https://files.pythonhosted.org/packages/35/18/55e6011f7c044dc80b98893060773cefcfdbf60dfefb8cb2f58b9bacbd83/yarl-1.22.0-cp314-cp314t-win32.whl", hash = "sha256:8009b3173bcd637be650922ac455946197d858b3630b6d8787aa9e5c4564533e", size = 89056, upload-time = "2025-10-06T14:12:13.317Z" }, + { url = "https://files.pythonhosted.org/packages/f9/86/0f0dccb6e59a9e7f122c5afd43568b1d31b8ab7dda5f1b01fb5c7025c9a9/yarl-1.22.0-cp314-cp314t-win_amd64.whl", hash = "sha256:9fb17ea16e972c63d25d4a97f016d235c78dd2344820eb35bc034bc32012ee27", size = 96292, upload-time = "2025-10-06T14:12:15.398Z" }, + { url = "https://files.pythonhosted.org/packages/48/b7/503c98092fb3b344a179579f55814b613c1fbb1c23b3ec14a7b008a66a6e/yarl-1.22.0-cp314-cp314t-win_arm64.whl", hash = "sha256:9f6d73c1436b934e3f01df1e1b21ff765cd1d28c77dfb9ace207f746d4610ee1", size = 85171, upload-time = "2025-10-06T14:12:16.935Z" }, + { url = "https://files.pythonhosted.org/packages/94/fd/6480106702a79bcceda5fd9c63cb19a04a6506bd5ce7fd8d9b63742f0021/yarl-1.22.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3aa27acb6de7a23785d81557577491f6c38a5209a254d1191519d07d8fe51748", size = 141301, upload-time = "2025-10-06T14:12:19.01Z" }, + { url = "https://files.pythonhosted.org/packages/42/e1/6d95d21b17a93e793e4ec420a925fe1f6a9342338ca7a563ed21129c0990/yarl-1.22.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:af74f05666a5e531289cb1cc9c883d1de2088b8e5b4de48004e5ca8a830ac859", size = 93864, upload-time = "2025-10-06T14:12:21.05Z" }, + { url = "https://files.pythonhosted.org/packages/32/58/b8055273c203968e89808413ea4c984988b6649baabf10f4522e67c22d2f/yarl-1.22.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:62441e55958977b8167b2709c164c91a6363e25da322d87ae6dd9c6019ceecf9", size = 94706, upload-time = "2025-10-06T14:12:23.287Z" }, + { url = "https://files.pythonhosted.org/packages/18/91/d7bfbc28a88c2895ecd0da6a874def0c147de78afc52c773c28e1aa233a3/yarl-1.22.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b580e71cac3f8113d3135888770903eaf2f507e9421e5697d6ee6d8cd1c7f054", size = 347100, upload-time = "2025-10-06T14:12:28.527Z" }, + { url = "https://files.pythonhosted.org/packages/bd/e8/37a1e7b99721c0564b1fc7b0a4d1f595ef6fb8060d82ca61775b644185f7/yarl-1.22.0-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e81fda2fb4a07eda1a2252b216aa0df23ebcd4d584894e9612e80999a78fd95b", size = 318902, upload-time = "2025-10-06T14:12:30.528Z" }, + { url = "https://files.pythonhosted.org/packages/1c/ef/34724449d7ef2db4f22df644f2dac0b8a275d20f585e526937b3ae47b02d/yarl-1.22.0-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:99b6fc1d55782461b78221e95fc357b47ad98b041e8e20f47c1411d0aacddc60", size = 363302, upload-time = "2025-10-06T14:12:32.295Z" }, + { url = "https://files.pythonhosted.org/packages/8a/04/88a39a5dad39889f192cce8d66cc4c58dbeca983e83f9b6bf23822a7ed91/yarl-1.22.0-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:088e4e08f033db4be2ccd1f34cf29fe994772fb54cfe004bbf54db320af56890", size = 370816, upload-time = "2025-10-06T14:12:34.01Z" }, + { url = "https://files.pythonhosted.org/packages/6b/1f/5e895e547129413f56c76be2c3ce4b96c797d2d0ff3e16a817d9269b12e6/yarl-1.22.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2e4e1f6f0b4da23e61188676e3ed027ef0baa833a2e633c29ff8530800edccba", size = 346465, upload-time = "2025-10-06T14:12:35.977Z" }, + { url = "https://files.pythonhosted.org/packages/11/13/a750e9fd6f9cc9ed3a52a70fe58ffe505322f0efe0d48e1fd9ffe53281f5/yarl-1.22.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:84fc3ec96fce86ce5aa305eb4aa9358279d1aa644b71fab7b8ed33fe3ba1a7ca", size = 341506, upload-time = "2025-10-06T14:12:37.788Z" }, + { url = "https://files.pythonhosted.org/packages/3c/67/bb6024de76e7186611ebe626aec5b71a2d2ecf9453e795f2dbd80614784c/yarl-1.22.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:5dbeefd6ca588b33576a01b0ad58aa934bc1b41ef89dee505bf2932b22ddffba", size = 335030, upload-time = "2025-10-06T14:12:39.775Z" }, + { url = "https://files.pythonhosted.org/packages/a2/be/50b38447fd94a7992996a62b8b463d0579323fcfc08c61bdba949eef8a5d/yarl-1.22.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:14291620375b1060613f4aab9ebf21850058b6b1b438f386cc814813d901c60b", size = 358560, upload-time = "2025-10-06T14:12:41.547Z" }, + { url = "https://files.pythonhosted.org/packages/e2/89/c020b6f547578c4e3dbb6335bf918f26e2f34ad0d1e515d72fd33ac0c635/yarl-1.22.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:a4fcfc8eb2c34148c118dfa02e6427ca278bfd0f3df7c5f99e33d2c0e81eae3e", size = 357290, upload-time = "2025-10-06T14:12:43.861Z" }, + { url = "https://files.pythonhosted.org/packages/8c/52/c49a619ee35a402fa3a7019a4fa8d26878fec0d1243f6968bbf516789578/yarl-1.22.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:029866bde8d7b0878b9c160e72305bbf0a7342bcd20b9999381704ae03308dc8", size = 350700, upload-time = "2025-10-06T14:12:46.868Z" }, + { url = "https://files.pythonhosted.org/packages/ab/c9/f5042d87777bf6968435f04a2bbb15466b2f142e6e47fa4f34d1a3f32f0c/yarl-1.22.0-cp39-cp39-win32.whl", hash = "sha256:4dcc74149ccc8bba31ce1944acee24813e93cfdee2acda3c172df844948ddf7b", size = 82323, upload-time = "2025-10-06T14:12:48.633Z" }, + { url = "https://files.pythonhosted.org/packages/fd/58/d00f7cad9eba20c4eefac2682f34661d1d1b3a942fc0092eb60e78cfb733/yarl-1.22.0-cp39-cp39-win_amd64.whl", hash = "sha256:10619d9fdee46d20edc49d3479e2f8269d0779f1b031e6f7c2aa1c76be04b7ed", size = 87145, upload-time = "2025-10-06T14:12:50.241Z" }, + { url = "https://files.pythonhosted.org/packages/c2/a3/70904f365080780d38b919edd42d224b8c4ce224a86950d2eaa2a24366ad/yarl-1.22.0-cp39-cp39-win_arm64.whl", hash = "sha256:dd7afd3f8b0bfb4e0d9fc3c31bfe8a4ec7debe124cfd90619305def3c8ca8cd2", size = 82173, upload-time = "2025-10-06T14:12:51.869Z" }, + { url = "https://files.pythonhosted.org/packages/73/ae/b48f95715333080afb75a4504487cbe142cae1268afc482d06692d605ae6/yarl-1.22.0-py3-none-any.whl", hash = "sha256:1380560bdba02b6b6c90de54133c81c9f2a453dee9912fe58c1dcced1edb7cff", size = 46814, upload-time = "2025-10-06T14:12:53.872Z" }, ] From ecbcd955e2038db8021c75f0d00f02e1cbc577fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20L=C3=B3pez?= Date: Mon, 5 Jan 2026 18:57:20 -0300 Subject: [PATCH 046/113] Adjust CI workflows for `uv` --- .github/workflows/ci.yml | 3 +-- .github/workflows/doctor.yml | 30 +++++++++++++++++++++++++----- .github/workflows/pip-audit.yml | 2 +- .github/workflows/test.yml | 8 +++++--- Makefile | 2 +- plugin_example/README.md | 3 ++- 6 files changed, 35 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3e2e2ae0da..12d0023834 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,7 +36,7 @@ jobs: - os: windows-2022 type: truffle steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Install uv and Python ${{ matrix.python }} uses: astral-sh/setup-uv@v7 with: @@ -45,7 +45,6 @@ jobs: - name: Install dependencies run: | uv sync --group test - solc-select use 0.4.25 --always-install solc-select use 0.8.0 --always-install solc-select use 0.7.0 --always-install solc-select use 0.5.1 --always-install diff --git a/.github/workflows/doctor.yml b/.github/workflows/doctor.yml index 6da3c9e7d8..87820d6427 100644 --- a/.github/workflows/doctor.yml +++ b/.github/workflows/doctor.yml @@ -31,11 +31,14 @@ jobs: steps: - uses: actions/checkout@v6 - - name: Install uv and Python ${{ matrix.python }} - uses: astral-sh/setup-uv@v7 + - name: Set up Python ${{ matrix.python }} + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python }} + - name: Install uv + uses: astral-sh/setup-uv@v7 + - name: Try system-wide Slither run: | echo "::group::Install slither" @@ -53,13 +56,30 @@ jobs: slither-doctor . echo "::endgroup::" + - name: Try user Slither + run: | + echo "::group::Install slither" + uv pip install --user . + echo "::endgroup::" + + # escape cwd so python doesn't pick up local module + cd / + + echo "::group::Via module" + python3 -m slither.tools.doctor . + echo "::endgroup::" + + echo "::group::Via binary" + slither-doctor . + echo "::endgroup::" + - name: Try venv Slither run: | echo "::group::Install slither" - uv venv venv - source venv/bin/activate || source venv/Scripts/activate - hash -r + uv venv uv pip install . + source .venv/bin/activate || source .venv/Scripts/activate + hash -r echo "::endgroup::" # escape cwd so python doesn't pick up local module diff --git a/.github/workflows/pip-audit.yml b/.github/workflows/pip-audit.yml index 0039fd139d..c27a1f7c00 100644 --- a/.github/workflows/pip-audit.yml +++ b/.github/workflows/pip-audit.yml @@ -24,7 +24,7 @@ jobs: uses: astral-sh/setup-uv@v7 with: python-version: "3.10" - activate-environment: true + - name: Install Slither run: | uv venv /tmp/pip-audit-env diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 89e1732a52..e4a2e99395 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,12 +27,13 @@ jobs: type: ["unit", "integration", "tool"] python: ${{ (github.event_name == 'pull_request' && fromJSON('["3.8", "3.12"]')) || fromJSON('["3.8", "3.9", "3.10", "3.11", "3.12"]') }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Install uv and Python ${{ matrix.python }} uses: astral-sh/setup-uv@v7 with: python-version: ${{ matrix.python }} activate-environment: true + - name: Install dependencies run: | uv sync --group test @@ -98,13 +99,14 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Install uv and Python uses: astral-sh/setup-uv@v7 with: python-version: "3.8" activate-environment: true - - run: uv pip install --system coverage[toml] + + - run: uv pip install coverage[toml] - name: download coverage data uses: actions/download-artifact@v6 diff --git a/Makefile b/Makefile index a4b5e1b20f..7f9198484a 100644 --- a/Makefile +++ b/Makefile @@ -50,7 +50,7 @@ run: $(VENV)/pyvenv.cfg $(VENV)/pyvenv.cfg: pyproject.toml # Create virtual environment and install dependencies using uv - uv venv $(VENV) --python 3.11 + uv venv $(VENV) uv sync --python $(VENV_BIN)/python --group $(SLITHER_EXTRA) .PHONY: lint diff --git a/plugin_example/README.md b/plugin_example/README.md index 7a33f587fc..fcabcc196d 100644 --- a/plugin_example/README.md +++ b/plugin_example/README.md @@ -11,8 +11,9 @@ See the [detector documentation](https://github.com/trailofbits/slither/wiki/Add - `slither_my_plugin/detectors/example.py`: Detector plugin skeleton. Once these files are updated with your plugin, you can install it: + ```bash -python pyproject.toml develop +pip install -e . ``` We recommend to use a Python virtual environment (for example: [virtualenvwrapper](https://virtualenvwrapper.readthedocs.io/en/latest/)). From 4978d71b48199f60501c7e1282eb350f062230d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20L=C3=B3pez?= Date: Mon, 5 Jan 2026 19:16:48 -0300 Subject: [PATCH 047/113] Fix plugin loading on Python <3.10 --- pyproject.toml | 1 + slither/__main__.py | 9 ++------- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 1644c7f818..ed0d1797a0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,6 +29,7 @@ classifiers = [ "Programming Language :: Python :: 3.12", ] dependencies = [ + "importlib_metadata>=3.6", "packaging", "prettytable>=3.10.2", "pycryptodome>=3.4.6", diff --git a/slither/__main__.py b/slither/__main__.py index a1a671e262..654f0fc64b 100644 --- a/slither/__main__.py +++ b/slither/__main__.py @@ -13,7 +13,7 @@ from importlib import metadata from typing import Any, Dict, List, Optional, Sequence, Set, Tuple, Type, Union - +import importlib_metadata from crytic_compile import cryticparser, CryticCompile from crytic_compile.platform.standard import generate_standard_export from crytic_compile.platform.etherscan import SUPPORTED_NETWORK @@ -166,12 +166,7 @@ def get_detectors_and_printers() -> Tuple[ printers = [p for p in printers_ if inspect.isclass(p) and issubclass(p, AbstractPrinter)] # Handle plugins! - if sys.version_info >= (3, 10): - entry_points = metadata.entry_points(group="slither_analyzer.plugin") - else: - from pkg_resources import iter_entry_points # pylint: disable=import-outside-toplevel - - entry_points = iter_entry_points(group="slither_analyzer.plugin", name=None) + entry_points = importlib_metadata.entry_points(group="slither_analyzer.plugin") for entry_point in entry_points: make_plugin = entry_point.load() From 0be7ac4a3b9bd4c625fbd486796f0051743dfba6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20L=C3=B3pez?= Date: Mon, 5 Jan 2026 19:19:38 -0300 Subject: [PATCH 048/113] doctor: drop user packages test `uv` doesn't support `--user`: https://github.com/astral-sh/uv/issues/2077 --- .github/workflows/doctor.yml | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/.github/workflows/doctor.yml b/.github/workflows/doctor.yml index 87820d6427..d3a560b5bb 100644 --- a/.github/workflows/doctor.yml +++ b/.github/workflows/doctor.yml @@ -56,23 +56,6 @@ jobs: slither-doctor . echo "::endgroup::" - - name: Try user Slither - run: | - echo "::group::Install slither" - uv pip install --user . - echo "::endgroup::" - - # escape cwd so python doesn't pick up local module - cd / - - echo "::group::Via module" - python3 -m slither.tools.doctor . - echo "::endgroup::" - - echo "::group::Via binary" - slither-doctor . - echo "::endgroup::" - - name: Try venv Slither run: | echo "::group::Install slither" From 876a46e27ffd0a5bed8eeefa3b74d6bebdeaaf82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20L=C3=B3pez?= Date: Mon, 5 Jan 2026 19:22:08 -0300 Subject: [PATCH 049/113] README: fix markdown lint --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3b7e80e8cf..112b712e62 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ * [How to install](#how-to-install) * [Using uv (Recommended)](#using-uv-recommended) * [Using Pip](#using-pip) - * [Using Git](#using-git) + * [Using Git](#using-git-development) * [Using Docker](#using-docker) * [Integration](#integration) * [Detectors](#detectors) @@ -86,7 +86,7 @@ uv tool install slither-analyzer uvx slither-analyzer ``` -#### How to upgrade +To upgrade: ```console uv tool upgrade slither-analyzer @@ -98,7 +98,7 @@ uv tool upgrade slither-analyzer python3 -m pip install slither-analyzer ``` -#### How to upgrade +To upgrade: ```console python3 -m pip install --upgrade slither-analyzer From e08857ad379b9c734ab4ea8ee4507f640a1f2d26 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20L=C3=B3pez?= Date: Mon, 5 Jan 2026 19:26:36 -0300 Subject: [PATCH 050/113] pip-audit: fix uv integration --- .github/workflows/pip-audit.yml | 5 ++--- docs/src/tools/Path-Finding-Utility.md | 2 +- scripts/ci_test_find_paths.sh | 4 ++-- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/.github/workflows/pip-audit.yml b/.github/workflows/pip-audit.yml index c27a1f7c00..59904c3b26 100644 --- a/.github/workflows/pip-audit.yml +++ b/.github/workflows/pip-audit.yml @@ -27,10 +27,9 @@ jobs: - name: Install Slither run: | - uv venv /tmp/pip-audit-env - VIRTUAL_ENV=/tmp/pip-audit-env uv pip install . + uv export --format requirements-txt --no-emit-project > requirements.txt - name: Run pip-audit uses: pypa/gh-action-pip-audit@v1.1.0 with: - virtual-environment: /tmp/pip-audit-env + inputs: requirements.txt diff --git a/docs/src/tools/Path-Finding-Utility.md b/docs/src/tools/Path-Finding-Utility.md index b7618a8b29..4eac181ec6 100644 --- a/docs/src/tools/Path-Finding-Utility.md +++ b/docs/src/tools/Path-Finding-Utility.md @@ -10,7 +10,7 @@ slither-find-paths file.sol [contract.function targets] ## Example -Tested on [tests/possible_paths/paths.sol](https://github.com/trailofbits/slither/blob/master/tests/possible_paths/paths.sol) +Tested on [tests/e2e/printers/possible_paths/paths.sol](https://github.com/crytic/slither/blob/master/tests/e2e/printers/possible_paths/paths.sol) ``` $ slither-find-paths paths.sol A.destination diff --git a/scripts/ci_test_find_paths.sh b/scripts/ci_test_find_paths.sh index 1c3652745e..c14da6d5c0 100755 --- a/scripts/ci_test_find_paths.sh +++ b/scripts/ci_test_find_paths.sh @@ -1,8 +1,8 @@ #!/usr/bin/env bash -### Test slither-check-upgradeability +### Test slither-find-paths -DIR_TESTS="tests/possible_paths" +DIR_TESTS="tests/e2e/printers/possible_paths" solc-select use "0.5.0" slither-find-paths "$DIR_TESTS/paths.sol" A.destination > test_possible_paths.txt 2>&1 From 201ec447ea24092679f3af847eef5718e95cf8b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20L=C3=B3pez?= Date: Mon, 5 Jan 2026 19:50:40 -0300 Subject: [PATCH 051/113] ci: black_auto: pin to <24.10 24.10.0 dropped support for Python 3.8: https://github.com/psf/black/pull/4452 --- .github/workflows/black_auto.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/black_auto.yml b/.github/workflows/black_auto.yml index 69d8319885..7d02fa8733 100644 --- a/.github/workflows/black_auto.yml +++ b/.github/workflows/black_auto.yml @@ -31,11 +31,11 @@ jobs: python-version: 3.8 - name: Run black - uses: psf/black@stable + uses: psf/black@24.8.0 with: options: "" summary: false - version: "~= 22.3.0" + version: "<24.10.0" - name: Annotate diff changes using reviewdog uses: reviewdog/action-suggester@v1 From 9b2a6fa0287c7dfeb133f1bbdcf89544a69c7437 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20L=C3=B3pez?= Date: Mon, 5 Jan 2026 19:54:10 -0300 Subject: [PATCH 052/113] ci: make test scripts fail early --- scripts/ci_test_cli.sh | 1 + scripts/ci_test_dapp.sh | 1 + scripts/ci_test_data_dependency.sh | 1 + scripts/ci_test_embark.sh | 1 + scripts/ci_test_erc.sh | 1 + scripts/ci_test_etherlime.sh | 1 + scripts/ci_test_etherscan.sh | 1 + scripts/ci_test_find_paths.sh | 1 + scripts/ci_test_flat.sh | 1 + scripts/ci_test_interface.sh | 1 + scripts/ci_test_kspec.sh | 3 ++- scripts/ci_test_path_filtering.sh | 1 + scripts/ci_test_printers.sh | 1 + scripts/ci_test_prop.sh | 1 + scripts/ci_test_simil.sh | 1 + scripts/ci_test_slither_config.sh | 1 + scripts/ci_test_truffle.sh | 1 + scripts/ci_test_upgradability.sh | 1 + 18 files changed, 19 insertions(+), 1 deletion(-) diff --git a/scripts/ci_test_cli.sh b/scripts/ci_test_cli.sh index 08d9de836b..59ac34c735 100755 --- a/scripts/ci_test_cli.sh +++ b/scripts/ci_test_cli.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail ### Test diff --git a/scripts/ci_test_dapp.sh b/scripts/ci_test_dapp.sh index b11ea46a55..ebc41a604f 100755 --- a/scripts/ci_test_dapp.sh +++ b/scripts/ci_test_dapp.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail ### Test Dapp integration diff --git a/scripts/ci_test_data_dependency.sh b/scripts/ci_test_data_dependency.sh index 421f445091..d3b50afbd7 100755 --- a/scripts/ci_test_data_dependency.sh +++ b/scripts/ci_test_data_dependency.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail ### Test data dependency diff --git a/scripts/ci_test_embark.sh b/scripts/ci_test_embark.sh index 4bcb6f78c3..26bfc0b746 100755 --- a/scripts/ci_test_embark.sh +++ b/scripts/ci_test_embark.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail ### Test embark integration diff --git a/scripts/ci_test_erc.sh b/scripts/ci_test_erc.sh index ebc59475a2..e7e6dad939 100755 --- a/scripts/ci_test_erc.sh +++ b/scripts/ci_test_erc.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail ### Test slither-check-erc diff --git a/scripts/ci_test_etherlime.sh b/scripts/ci_test_etherlime.sh index 53d3d33501..9605bfa17d 100755 --- a/scripts/ci_test_etherlime.sh +++ b/scripts/ci_test_etherlime.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail ### Test etherlime integration diff --git a/scripts/ci_test_etherscan.sh b/scripts/ci_test_etherscan.sh index 366b0283d5..ad87be39d4 100755 --- a/scripts/ci_test_etherscan.sh +++ b/scripts/ci_test_etherscan.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail ### Test etherscan integration diff --git a/scripts/ci_test_find_paths.sh b/scripts/ci_test_find_paths.sh index c14da6d5c0..a44e70bad0 100755 --- a/scripts/ci_test_find_paths.sh +++ b/scripts/ci_test_find_paths.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail ### Test slither-find-paths diff --git a/scripts/ci_test_flat.sh b/scripts/ci_test_flat.sh index 0d9185171e..41bde141b8 100755 --- a/scripts/ci_test_flat.sh +++ b/scripts/ci_test_flat.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail shopt -s extglob ### Test slither-flat diff --git a/scripts/ci_test_interface.sh b/scripts/ci_test_interface.sh index de0defee32..09ac5beb5e 100755 --- a/scripts/ci_test_interface.sh +++ b/scripts/ci_test_interface.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail ### Test slither-interface diff --git a/scripts/ci_test_kspec.sh b/scripts/ci_test_kspec.sh index 3bd827e694..a65b02e45f 100755 --- a/scripts/ci_test_kspec.sh +++ b/scripts/ci_test_kspec.sh @@ -1,4 +1,5 @@ -#!/bin/bash +#!/usr/bin/env bash +set -euo pipefail DIR_TESTS="tests/check-kspec" diff --git a/scripts/ci_test_path_filtering.sh b/scripts/ci_test_path_filtering.sh index d7a2a9833d..6afe09abc6 100755 --- a/scripts/ci_test_path_filtering.sh +++ b/scripts/ci_test_path_filtering.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail ### Test path filtering across POSIX and Windows diff --git a/scripts/ci_test_printers.sh b/scripts/ci_test_printers.sh index d811c19f91..16f21e67da 100755 --- a/scripts/ci_test_printers.sh +++ b/scripts/ci_test_printers.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail ### Test printer diff --git a/scripts/ci_test_prop.sh b/scripts/ci_test_prop.sh index eed4517a49..f433f2c18b 100755 --- a/scripts/ci_test_prop.sh +++ b/scripts/ci_test_prop.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail ### Test slither-prop diff --git a/scripts/ci_test_simil.sh b/scripts/ci_test_simil.sh index 7ef5117593..7c0a398922 100755 --- a/scripts/ci_test_simil.sh +++ b/scripts/ci_test_simil.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail ### Install requisites diff --git a/scripts/ci_test_slither_config.sh b/scripts/ci_test_slither_config.sh index 390eac1f48..cc7d19835e 100755 --- a/scripts/ci_test_slither_config.sh +++ b/scripts/ci_test_slither_config.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail ### Test diff --git a/scripts/ci_test_truffle.sh b/scripts/ci_test_truffle.sh index 0246470f83..726f0cabc3 100755 --- a/scripts/ci_test_truffle.sh +++ b/scripts/ci_test_truffle.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail ### Test truffle integration diff --git a/scripts/ci_test_upgradability.sh b/scripts/ci_test_upgradability.sh index a4da93873c..293efb994c 100755 --- a/scripts/ci_test_upgradability.sh +++ b/scripts/ci_test_upgradability.sh @@ -1,4 +1,5 @@ #!/usr/bin/env bash +set -euo pipefail ### Test slither-check-upgradeability From 88960b9a61e70326809cc179181196c3b3d4ff02 Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 6 Jan 2026 00:05:03 +0100 Subject: [PATCH 053/113] Update comment --- slither/core/cfg/node.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/slither/core/cfg/node.py b/slither/core/cfg/node.py index 231608f4c9..51ffb2e8f4 100644 --- a/slither/core/cfg/node.py +++ b/slither/core/cfg/node.py @@ -974,7 +974,11 @@ def _update_read_using_ssa(self, ir: Operation) -> None: # If we read from a storage variable (outside of phi operator) if isinstance(var, LocalIRVariable) and var.is_storage: for refer_to in var.refers_to: - # the following should always be true + # It is possible to have a TopLevelVariable + # assembly { + # $.slot := M + # } + # where M is a constant TopLevelVariable if isinstance(refer_to, (StateIRVariable, LocalIRVariable)): self._ssa_vars_read.append(refer_to) From 8973b058d123b9799d9f60cbad0e108701046c0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20L=C3=B3pez?= Date: Mon, 5 Jan 2026 20:04:58 -0300 Subject: [PATCH 054/113] ci: fix broken tests --- scripts/ci_test_dapp.sh | 2 +- scripts/ci_test_erc.sh | 6 +++--- scripts/ci_test_etherscan.sh | 11 ++++++----- scripts/ci_test_find_paths.sh | 2 +- scripts/ci_test_interface.sh | 25 ++++++++++++++----------- scripts/ci_test_kspec.sh | 6 +++--- scripts/ci_test_simil.sh | 12 ++++++++---- scripts/ci_test_truffle.sh | 2 +- 8 files changed, 37 insertions(+), 29 deletions(-) diff --git a/scripts/ci_test_dapp.sh b/scripts/ci_test_dapp.sh index ebc41a604f..8c346bdc47 100755 --- a/scripts/ci_test_dapp.sh +++ b/scripts/ci_test_dapp.sh @@ -4,7 +4,7 @@ set -euo pipefail ### Test Dapp integration # work around having two python versions loading libraries from each other in CI -OLD_LD_LIBRARY_PATH="$LD_LIBRARY_PATH" +OLD_LD_LIBRARY_PATH="${LD_LIBRARY_PATH:-}" alias crytic-compile='LD_LIBRARY_PATH=$OLD_LD_LIBRARY_PATH crytic-compile' unset LD_LIBRARY_PATH diff --git a/scripts/ci_test_erc.sh b/scripts/ci_test_erc.sh index e7e6dad939..9a3f03e9fa 100755 --- a/scripts/ci_test_erc.sh +++ b/scripts/ci_test_erc.sh @@ -3,10 +3,10 @@ set -euo pipefail ### Test slither-check-erc -DIR_TESTS="tests/tools/check-erc" +DIR_TESTS="tests/tools/check_erc" -solc-select use 0.5.0 -slither-check-erc "$DIR_TESTS/erc20.sol" ERC20 > test_1.txt 2>&1 +solc-select use 0.5.1 +slither-check-erc "$DIR_TESTS/erc20.sol" ERC20 2>&1 | tee test_1.txt DIFF=$(diff test_1.txt "$DIR_TESTS/test_1.txt") if [ "$DIFF" != "" ] then diff --git a/scripts/ci_test_etherscan.sh b/scripts/ci_test_etherscan.sh index ad87be39d4..f0f188cff8 100755 --- a/scripts/ci_test_etherscan.sh +++ b/scripts/ci_test_etherscan.sh @@ -3,6 +3,12 @@ set -euo pipefail ### Test etherscan integration +# Skip when API key is not present +if [ "$GITHUB_ETHERSCAN" = "" ]; then + echo "Skipped, no Etherscan API key provided" + exit +fi + mkdir etherscan cd etherscan || exit 255 @@ -13,10 +19,5 @@ if ! slither 0x7F37f78cBD74481E593F9C737776F7113d76B315 --etherscan-apikey "$GIT fi echo "::endgroup::" -# Perform a small sleep when API key is not available (e.g. on PR CI from external contributor) -if [ "$GITHUB_ETHERSCAN" = "" ]; then - sleep $(( ( RANDOM % 5 ) + 1 ))s -fi - exit 0 diff --git a/scripts/ci_test_find_paths.sh b/scripts/ci_test_find_paths.sh index a44e70bad0..4d271c5aed 100755 --- a/scripts/ci_test_find_paths.sh +++ b/scripts/ci_test_find_paths.sh @@ -5,7 +5,7 @@ set -euo pipefail DIR_TESTS="tests/e2e/printers/possible_paths" -solc-select use "0.5.0" +solc-select use "0.5.1" slither-find-paths "$DIR_TESTS/paths.sol" A.destination > test_possible_paths.txt 2>&1 DIFF=$(diff test_possible_paths.txt "$DIR_TESTS/paths.txt") if [ "$DIFF" != "" ] diff --git a/scripts/ci_test_interface.sh b/scripts/ci_test_interface.sh index 09ac5beb5e..15a9373e10 100755 --- a/scripts/ci_test_interface.sh +++ b/scripts/ci_test_interface.sh @@ -7,19 +7,22 @@ DIR_TESTS="tests/tools/interface" solc-select use 0.8.19 --always-install -#Test 1 - Etherscan target -slither-interface WETH9 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 -DIFF=$(diff crytic-export/interfaces/IWETH9.sol "$DIR_TESTS/test_1.sol" --strip-trailing-cr) -if [ "$DIFF" != "" ] -then - echo "slither-interface test 1 failed" - cat "crytic-export/interfaces/IWETH9.sol" - echo "" - cat "$DIR_TESTS/test_1.sol" - exit 255 +if [ "$GITHUB_ETHERSCAN" = "" ]; then + echo "skipping test 1, no api key for etherscan" +else + #Test 1 - Etherscan target + slither-interface WETH9 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 --etherscan-apikey "$GITHUB_ETHERSCAN" + DIFF=$(diff crytic-export/interfaces/IWETH9.sol "$DIR_TESTS/test_1.sol" --strip-trailing-cr) + if [ "$DIFF" != "" ] + then + echo "slither-interface test 1 failed" + cat "crytic-export/interfaces/IWETH9.sol" + echo "" + cat "$DIR_TESTS/test_1.sol" + exit 255 + fi fi - #Test 2 - Local file target slither-interface Mock tests/tools/interface/ContractMock.sol DIFF=$(diff crytic-export/interfaces/IMock.sol "$DIR_TESTS/test_2.sol" --strip-trailing-cr) diff --git a/scripts/ci_test_kspec.sh b/scripts/ci_test_kspec.sh index a65b02e45f..6c43bf5f24 100755 --- a/scripts/ci_test_kspec.sh +++ b/scripts/ci_test_kspec.sh @@ -1,10 +1,10 @@ #!/usr/bin/env bash set -euo pipefail -DIR_TESTS="tests/check-kspec" +DIR_TESTS="tests/tools/check_kspec" -solc-select use "0.5.0" -slither-check-kspec "$DIR_TESTS/safeAdd/safeAdd.sol" "$DIR_TESTS/safeAdd/spec.md" > test_1.txt 2>&1 +solc-select use "0.5.1" +slither-check-kspec "$DIR_TESTS/safeAdd/safeAdd.sol" "$DIR_TESTS/safeAdd/spec.md" 2>&1 | tee test_1.txt DIFF=$(diff test_1.txt "$DIR_TESTS/test_1.txt") if [ "$DIFF" != "" ] then diff --git a/scripts/ci_test_simil.sh b/scripts/ci_test_simil.sh index 7c0a398922..1737c8f20f 100755 --- a/scripts/ci_test_simil.sh +++ b/scripts/ci_test_simil.sh @@ -3,15 +3,19 @@ set -euo pipefail ### Install requisites -pip3.8 install pybind11 -pip3.8 install https://github.com/facebookresearch/fastText/archive/0.2.0.zip +if [ "$UV_PYTHON" = "" ]; then + PIP="pip3" +else + PIP="uv pip" +fi +$PIP install fasttext ### Test slither-simil solc-select use "0.4.25" -DIR_TESTS="tests/simil" -slither-simil info "" --filename $DIR_TESTS/../complex_func.sol --fname Complex.complexExternalWrites > test_1.txt 2>&1 +DIR_TESTS="tests/tools/simil" +slither-simil info "" --filename $DIR_TESTS/../../unit/core/test_data/complex_func.sol --fname Complex.complexExternalWrites 2>&1 | tee test_1.txt DIFF=$(diff test_1.txt "$DIR_TESTS/test_1.txt") if [ "$DIFF" != "" ] then diff --git a/scripts/ci_test_truffle.sh b/scripts/ci_test_truffle.sh index 726f0cabc3..6b83432dcc 100755 --- a/scripts/ci_test_truffle.sh +++ b/scripts/ci_test_truffle.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -set -euo pipefail +set -eo pipefail ### Test truffle integration From e0f9a585e28b540121b0f93231c7e4d23eb6ade0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20L=C3=B3pez?= Date: Mon, 5 Jan 2026 20:46:42 -0300 Subject: [PATCH 055/113] simil: fix fasttext import --- slither/tools/similarity/model.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/slither/tools/similarity/model.py b/slither/tools/similarity/model.py index d035f81cfa..2eb86d8749 100644 --- a/slither/tools/similarity/model.py +++ b/slither/tools/similarity/model.py @@ -2,9 +2,9 @@ try: # pylint: disable=unused-import - from fastText import load_model - from fastText import train_unsupervised + from fasttext import load_model + from fasttext import train_unsupervised except ImportError: - print("ERROR: in order to use slither-simil, you need to install fastText 0.2.0:") - print("$ pip3 install https://github.com/facebookresearch/fastText/archive/0.2.0.zip --user\n") + print("ERROR: in order to use slither-simil, you need to install fasttext>=0.2.0:") + print("$ pip3 install fasttext --user\n") sys.exit(-1) From 6c6593f6be2e6838fb9c676555f05267637e1088 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20L=C3=B3pez?= Date: Mon, 5 Jan 2026 20:22:04 -0300 Subject: [PATCH 056/113] simil: disable test on Windows --- .github/workflows/ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 12d0023834..a41f414b22 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -35,6 +35,9 @@ jobs: # Requires nvm - os: windows-2022 type: truffle + # fasttext fails to install on Windows + - os: windows-2022 + type: simil steps: - uses: actions/checkout@v6 - name: Install uv and Python ${{ matrix.python }} From c573041e714b7d1defd89d04aea00ea778307149 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20L=C3=B3pez?= Date: Tue, 6 Jan 2026 09:29:31 -0300 Subject: [PATCH 057/113] ruff: improve yamllint workflow --- .github/workflows/ruff.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ruff.yml b/.github/workflows/ruff.yml index 2bd8651b89..e62774275e 100644 --- a/.github/workflows/ruff.yml +++ b/.github/workflows/ruff.yml @@ -47,16 +47,14 @@ jobs: # fi # echo "✅ Formatting check passed" - - name: Set up Python for yamllint - uses: actions/setup-python@v5 + - name: Install uv and Python for yamllint + uses: astral-sh/setup-uv@v7 with: python-version: "3.12" + activate-environment: true - name: Install and run yamllint run: | - # Use uv for fast installation - curl -LsSf https://astral.sh/uv/install.sh | sh - export PATH="$HOME/.local/bin:$PATH" uv tool install yamllint echo "::group::Running yamllint" uvx yamllint .github/ || YAML_EXIT=$? From 45cad2f112864ad28cce8414896498ff615b5c3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20L=C3=B3pez?= <2642849+elopez@users.noreply.github.com> Date: Tue, 6 Jan 2026 09:46:39 -0300 Subject: [PATCH 058/113] Update plugin_example/setup.py --- plugin_example/setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugin_example/setup.py b/plugin_example/setup.py index 6e1fa322aa..908ad51da2 100644 --- a/plugin_example/setup.py +++ b/plugin_example/setup.py @@ -7,7 +7,7 @@ author="Trail of Bits", version="0.0", packages=find_packages(), - python_requires=">=3.9", + python_requires=">=3.8", install_requires=["slither-analyzer>=0.6.0"], entry_points={ "slither_analyzer.plugin": "slither my-plugin=slither_my_plugin:make_plugin", From 8b5b133ff377c311eb946e29e598c6f7fea1daf9 Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 6 Jan 2026 14:20:17 +0100 Subject: [PATCH 059/113] Update ruff/yamllint version --- .pre-commit-config.yaml | 4 ++-- pyproject.toml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c83b891d9c..90406836a5 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,7 +6,7 @@ repos: # Ruff - Fast Python linter and formatter - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.14.6 # Use 'pre-commit autoupdate' to get the latest version + rev: v0.14.10 # Use 'pre-commit autoupdate' to get the latest version hooks: # Run ruff linter - id: ruff @@ -21,7 +21,7 @@ repos: # YAML linting - repo: https://github.com/adrienverge/yamllint - rev: v1.35.1 + rev: v1.37.1 hooks: - id: yamllint name: yamllint diff --git a/pyproject.toml b/pyproject.toml index e591769b57..aa18782dc8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -43,8 +43,8 @@ dependencies = [ # Development dependencies using PEP 735 dependency-groups [dependency-groups] lint = [ - "black==22.3.0", - "pylint==3.0.3", + "ruff==0.14.10", + "yamllint==1.37.1" ] test = [ "pytest", From 8a63e20bbc465a04e958f2e3f9da55e9fd3b700c Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 6 Jan 2026 14:24:43 +0100 Subject: [PATCH 060/113] Update ruff action version --- .github/workflows/ruff.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ruff.yml b/.github/workflows/ruff.yml index e62774275e..83f44a3080 100644 --- a/.github/workflows/ruff.yml +++ b/.github/workflows/ruff.yml @@ -31,8 +31,9 @@ jobs: uses: actions/checkout@v4 - name: Run Ruff linter - uses: astral-sh/ruff-action@v1 + uses: astral-sh/ruff-action@v3 with: + version: "0.14.10" args: "check slither/ tests/ scripts/" # Formatting check disabled to avoid changes to existing code From 225f8456cb80cc9f01ce1fc016f0d6265b2352c5 Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 6 Jan 2026 14:46:48 +0100 Subject: [PATCH 061/113] Lint --- .github/DISCUSSION_TEMPLATE/installation.yml | 24 +++++------ .github/ISSUE_TEMPLATE/bug_report.yml | 40 +++++++++--------- .github/ISSUE_TEMPLATE/false_negative.yml | 42 +++++++++---------- .github/ISSUE_TEMPLATE/false_positive.yml | 42 +++++++++---------- .github/ISSUE_TEMPLATE/feature_request.yml | 2 +- .github/dependabot.yml | 2 +- .github/workflows/ci.yml | 16 +++++-- .github/workflows/docs.yml | 2 +- .github/workflows/doctor.yml | 2 +- .github/workflows/issue-metrics.yml | 44 ++++++++++---------- .github/workflows/pip-audit.yml | 6 +-- .github/workflows/test.yml | 4 +- 12 files changed, 120 insertions(+), 106 deletions(-) diff --git a/.github/DISCUSSION_TEMPLATE/installation.yml b/.github/DISCUSSION_TEMPLATE/installation.yml index 64ac9375e6..45b2043947 100644 --- a/.github/DISCUSSION_TEMPLATE/installation.yml +++ b/.github/DISCUSSION_TEMPLATE/installation.yml @@ -1,20 +1,20 @@ ---- -body: - - - attributes: +--- +body: + - + attributes: label: "What operating system are you using?" id: os type: textarea - validations: + validations: required: true - - - attributes: + - + attributes: label: "How did you install slither?" description: | For example, using git or python's pip. id: install-method type: textarea - validations: + validations: required: true - type: dropdown id: python @@ -25,14 +25,14 @@ body: - "Yes" - "No" - "Not sure" - - - attributes: + - + attributes: description: | - Please copy and paste any relevant log output. This + Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks. render: shell label: "Output of running `slither-doctor .`:" id: logs -labels: +labels: - installation-help title: "[Installation-Help]: " diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index f1b3a4f4f2..ab0eda84b1 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -1,54 +1,54 @@ ---- -body: - - - attributes: +--- +body: + - + attributes: value: | - Please check the issues tab to avoid duplicates, and + Please check the issues tab to avoid duplicates, and confirm that the bug exists on the latest release (upgrade by running `python3 -m pip install --upgrade slither-analyzer`). - + If you are having difficulty installing slither, please head over to the "Discussions" page. - + Thanks for taking the time to fill out this bug report! type: markdown - - - attributes: + - + attributes: label: "Describe the issue:" id: what-happened type: textarea - validations: + validations: required: true - - - attributes: + - + attributes: description: "It can be a github repo (preferred), etherscan link, or code snippet." label: "Code example to reproduce the issue:" placeholder: "`contract A {}`\n" id: reproduce type: textarea - validations: + validations: required: true - - - attributes: + - + attributes: description: | What version of slither are you running? Run `slither --version` label: "Version:" id: version type: textarea - validations: + validations: required: true - - - attributes: + - + attributes: description: | - Please copy and paste any relevant log output. This + Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks. render: shell label: "Relevant log output:" id: logs type: textarea description: "File a bug report" -labels: +labels: - bug-candidate name: "Bug Report" title: "[Bug-Candidate]: " diff --git a/.github/ISSUE_TEMPLATE/false_negative.yml b/.github/ISSUE_TEMPLATE/false_negative.yml index 38dfa62300..6cd661a957 100644 --- a/.github/ISSUE_TEMPLATE/false_negative.yml +++ b/.github/ISSUE_TEMPLATE/false_negative.yml @@ -1,61 +1,61 @@ ---- -body: - - - attributes: +--- +body: + - + attributes: value: | - Please check the issues tab to avoid duplicates. + Please check the issues tab to avoid duplicates. Thanks for helping make Slither the best it can be! type: markdown - - - attributes: + - + attributes: label: "What bug did Slither miss and which detector did you anticipate would catch it?" id: what-happened type: textarea - validations: + validations: required: true - - + - attributes: label: Frequency description: How often do you run across this false negative? options: - Very Frequently - - Occasionally + - Occasionally - Rarely - Not sure id: frequency type: dropdown validations: required: true - - - attributes: + - + attributes: description: "It can be a github repo, etherscan link, or code snippet." label: "Code example to reproduce the issue:" placeholder: "`contract A {}`\n" id: reproduce type: textarea - validations: + validations: required: true - - - attributes: + - + attributes: description: | - What version of slither are you running? + What version of slither are you running? Run `slither --version` label: "Version:" id: version type: textarea - validations: + validations: required: true - - - attributes: + - + attributes: description: | - Please copy and paste the result output. This + Please copy and paste the result output. This will be automatically formatted into code, so no need for backticks. render: shell label: "Relevant log output:" id: logs type: textarea description: "Slither missed a bug it should find." -labels: +labels: - false-negative name: False Negative title: "[False Negative]: " diff --git a/.github/ISSUE_TEMPLATE/false_positive.yml b/.github/ISSUE_TEMPLATE/false_positive.yml index 258a70dfb6..b4b1c0bed3 100644 --- a/.github/ISSUE_TEMPLATE/false_positive.yml +++ b/.github/ISSUE_TEMPLATE/false_positive.yml @@ -1,61 +1,61 @@ ---- -body: - - - attributes: +--- +body: + - + attributes: value: | - Please check the issues tab to avoid duplicates. + Please check the issues tab to avoid duplicates. Thanks for helping make Slither the best it can be! type: markdown - - - attributes: + - + attributes: label: "Describe the false alarm that Slither raise and how you know it's inaccurate:" id: what-happened type: textarea - validations: + validations: required: true - - + - attributes: label: Frequency description: How often do you run across this false positive? options: - Very Frequently - - Occasionally + - Occasionally - Rarely - Not sure id: frequency type: dropdown validations: required: true - - - attributes: + - + attributes: description: "It can be a github repo, etherscan link, or code snippet." label: "Code example to reproduce the issue:" placeholder: "`contract A {}`\n" id: reproduce type: textarea - validations: + validations: required: true - - - attributes: + - + attributes: description: | - What version of slither are you running? + What version of slither are you running? Run `slither --version` label: "Version:" id: version type: textarea - validations: + validations: required: true - - - attributes: + - + attributes: description: | - Please copy and paste the result output. This + Please copy and paste the result output. This will be automatically formatted into code, so no need for backticks. render: shell label: "Relevant log output:" id: logs type: textarea description: "Slither warned of an issue that is not legitimate and does not need to be fixed." -labels: +labels: - false-positive name: "False Positive" title: "[False-Positive]: " diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index 651f780374..1fbfdfafbf 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -14,4 +14,4 @@ body: label: Describe the desired feature description: Explain what the feature solves/ improves. validations: - required: true \ No newline at end of file + required: true diff --git a/.github/dependabot.yml b/.github/dependabot.yml index dd3015cbc2..35daec7cbb 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -5,4 +5,4 @@ updates: directory: "/" target-branch: "dev" schedule: - interval: "weekly" + interval: "weekly" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a41f414b22..e025fb36de 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -25,9 +25,19 @@ jobs: strategy: fail-fast: false matrix: - os: ${{ (github.event_name == 'pull_request' && fromJSON('["ubuntu-latest"]')) || fromJSON('["ubuntu-latest", "windows-2022"]') }} - python: ${{ (github.event_name == 'pull_request' && fromJSON('["3.8", "3.12"]')) || fromJSON('["3.8", "3.9", "3.10", "3.11", "3.12"]') }} - type: ${{ (github.event_name == 'pull_request' && fromJSON('["data_dependency", "path_filtering","erc","find_paths","flat","interface", "printers","slither_config","upgradability"]')) || fromJSON('["data_dependency", "path_filtering","erc","find_paths","flat","interface", "printers","slither_config","upgradability", "cli", "dapp", "etherscan", "kspec", "simil", "truffle"]') }} + os: >- + ${{ (github.event_name == 'pull_request' && fromJSON('["ubuntu-latest"]')) + || fromJSON('["ubuntu-latest", "windows-2022"]') }} + python: >- + ${{ (github.event_name == 'pull_request' && fromJSON('["3.8", "3.12"]')) + || fromJSON('["3.8", "3.9", "3.10", "3.11", "3.12"]') }} + type: >- + ${{ (github.event_name == 'pull_request' + && fromJSON('["data_dependency", "path_filtering", "erc", "find_paths", + "flat", "interface", "printers", "slither_config", "upgradability"]')) + || fromJSON('["data_dependency", "path_filtering", "erc", "find_paths", + "flat", "interface", "printers", "slither_config", "upgradability", + "cli", "dapp", "etherscan", "kspec", "simil", "truffle"]') }} exclude: # Requires nix - os: windows-2022 diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index ca4710c083..065d9c3691 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -37,7 +37,7 @@ jobs: python-version: "3.8" activate-environment: true - run: uv sync --group doc - - run: pdoc -o html/ slither '!slither.tools' #TODO fix import errors on pdoc run + - run: pdoc -o html/ slither '!slither.tools' # TODO fix import errors on pdoc run - name: Upload artifact uses: actions/upload-pages-artifact@v4 with: diff --git a/.github/workflows/doctor.yml b/.github/workflows/doctor.yml index d3a560b5bb..4aab03ca45 100644 --- a/.github/workflows/doctor.yml +++ b/.github/workflows/doctor.yml @@ -59,7 +59,7 @@ jobs: - name: Try venv Slither run: | echo "::group::Install slither" - uv venv + uv venv uv pip install . source .venv/bin/activate || source .venv/Scripts/activate hash -r diff --git a/.github/workflows/issue-metrics.yml b/.github/workflows/issue-metrics.yml index 2bf281810e..6c00f68644 100644 --- a/.github/workflows/issue-metrics.yml +++ b/.github/workflows/issue-metrics.yml @@ -13,28 +13,30 @@ jobs: name: issue metrics runs-on: ubuntu-latest steps: - - name: Get dates for last month - shell: bash - run: | - # Calculate the first day of the previous month - first_day=$(date -d "last month" +%Y-%m-01) + - name: Get dates for last month + shell: bash + run: | + # Calculate the first day of the previous month + first_day=$(date -d "last month" +%Y-%m-01) - # Calculate the last day of the previous month - last_day=$(date -d "$first_day +1 month -1 day" +%Y-%m-%d) + # Calculate the last day of the previous month + last_day=$(date -d "$first_day +1 month -1 day" +%Y-%m-%d) - #Set an environment variable with the date range - echo "$first_day..$last_day" - echo "last_month=$first_day..$last_day" >> "$GITHUB_ENV" + # Set an environment variable with the date range + echo "$first_day..$last_day" + echo "last_month=$first_day..$last_day" >> "$GITHUB_ENV" - - name: Run issue-metrics tool - uses: github/issue-metrics@v3 - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SEARCH_QUERY: 'repo:crytic/slither is:issue created:${{ env.last_month }} -reason:"not planned" -reason:"duplicate"' + - name: Run issue-metrics tool + uses: github/issue-metrics@v3 + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SEARCH_QUERY: >- + repo:crytic/slither is:issue created:${{ env.last_month }} + -reason:"not planned" -reason:"duplicate" - - name: Create issue - uses: peter-evans/create-issue-from-file@v6 - with: - title: Monthly issue metrics report - token: ${{ secrets.GITHUB_TOKEN }} - content-filepath: ./issue_metrics.md + - name: Create issue + uses: peter-evans/create-issue-from-file@v6 + with: + title: Monthly issue metrics report + token: ${{ secrets.GITHUB_TOKEN }} + content-filepath: ./issue_metrics.md diff --git a/.github/workflows/pip-audit.yml b/.github/workflows/pip-audit.yml index 59904c3b26..c2f61304e6 100644 --- a/.github/workflows/pip-audit.yml +++ b/.github/workflows/pip-audit.yml @@ -3,10 +3,10 @@ name: pip-audit on: push: - branches: [ dev, master ] + branches: [dev, master] pull_request: - branches: [ dev, master ] - schedule: [ cron: "0 7 * * 2" ] + branches: [dev, master] + schedule: [cron: "0 7 * * 2"] concurrency: group: ${{ github.workflow }}-${{ github.ref }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e4a2e99395..4a78f56764 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -25,7 +25,9 @@ jobs: matrix: os: ["ubuntu-latest", "windows-2022"] type: ["unit", "integration", "tool"] - python: ${{ (github.event_name == 'pull_request' && fromJSON('["3.8", "3.12"]')) || fromJSON('["3.8", "3.9", "3.10", "3.11", "3.12"]') }} + python: >- + ${{ (github.event_name == 'pull_request' && fromJSON('["3.8", "3.12"]')) + || fromJSON('["3.8", "3.9", "3.10", "3.11", "3.12"]') }} steps: - uses: actions/checkout@v6 - name: Install uv and Python ${{ matrix.python }} From c989e5a50010796ac272b89e13bea48d1638a279 Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 6 Jan 2026 14:49:59 +0100 Subject: [PATCH 062/113] Use yamllint 1.35.1 --- .pre-commit-config.yaml | 2 +- pyproject.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 90406836a5..74722302e0 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -21,7 +21,7 @@ repos: # YAML linting - repo: https://github.com/adrienverge/yamllint - rev: v1.37.1 + rev: v1.35.1 hooks: - id: yamllint name: yamllint diff --git a/pyproject.toml b/pyproject.toml index aa18782dc8..deee157d43 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -44,7 +44,7 @@ dependencies = [ [dependency-groups] lint = [ "ruff==0.14.10", - "yamllint==1.37.1" + "yamllint==1.35.1" ] test = [ "pytest", From 8f7d604d4742d743548dc7fe63dea26c7c50148c Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 6 Jan 2026 15:18:00 +0100 Subject: [PATCH 063/113] Ruff format --- slither/__init__.py | 1 + slither/__main__.py | 22 +++---- slither/all_exceptions.py | 1 + .../data_dependency/data_dependency.py | 9 +-- slither/analyses/evm/convert.py | 1 - .../analyses/write/are_variables_written.py | 3 +- slither/core/cfg/node.py | 7 +-- slither/core/declarations/contract.py | 23 +++---- slither/core/declarations/function.py | 5 +- .../core/declarations/function_contract.py | 3 +- .../core/declarations/function_top_level.py | 3 +- slither/core/declarations/modifier.py | 3 +- .../solidity_import_placeholder.py | 1 + .../core/dominators/node_dominator_tree.py | 3 +- .../elementary_type_name_expression.py | 3 +- slither/core/scope/scope.py | 1 - slither/core/slither_core.py | 6 +- .../core/solidity_types/user_defined_type.py | 1 + slither/core/source_mapping/source_mapping.py | 6 +- .../core/variables/function_type_variable.py | 10 +-- slither/core/variables/variable.py | 6 +- slither/detectors/abstract_detector.py | 2 +- .../detectors/assembly/incorrect_return.py | 2 - .../assembly/return_instead_of_leave.py | 1 - .../attributes/const_functions_asm.py | 1 + .../attributes/const_functions_state.py | 1 + .../detectors/attributes/constant_pragma.py | 3 +- .../detectors/attributes/incorrect_solc.py | 2 +- slither/detectors/attributes/locked_ether.py | 4 +- .../attributes/unimplemented_interface.py | 1 + .../compiler_bugs/array_by_reference.py | 5 +- .../compiler_bugs/enum_conversion.py | 1 + .../compiler_bugs/public_mapping_nested.py | 1 + .../compiler_bugs/reused_base_constructor.py | 5 +- .../storage_ABIEncoderV2_array.py | 1 + .../storage_signed_integer_array.py | 1 + ...initialized_function_ptr_in_constructor.py | 1 + .../erc/erc20/incorrect_erc20_interface.py | 1 + .../erc/incorrect_erc721_interface.py | 3 +- .../erc/unindexed_event_parameters.py | 5 +- .../detectors/functions/arbitrary_send_eth.py | 18 +++--- .../functions/chainlink_feed_registry.py | 1 - slither/detectors/functions/dead_code.py | 2 +- .../detectors/functions/external_function.py | 4 -- slither/detectors/functions/modifier.py | 1 + .../functions/optimism_deprecation.py | 1 - .../functions/out_of_order_retryable.py | 1 - .../permit_domain_signature_collision.py | 5 +- .../detectors/functions/protected_variable.py | 2 +- slither/detectors/functions/suicidal.py | 2 +- slither/detectors/functions/unimplemented.py | 1 + .../naming_convention/naming_convention.py | 2 - slither/detectors/operations/bad_prng.py | 1 - .../detectors/operations/block_timestamp.py | 7 +-- slither/detectors/operations/incorrect_exp.py | 3 +- .../detectors/operations/low_level_calls.py | 1 + .../missing_events_access_control.py | 5 +- .../operations/missing_events_arithmetic.py | 5 +- .../missing_zero_address_validation.py | 3 +- .../unchecked_low_level_return_values.py | 2 +- .../operations/unused_return_values.py | 2 +- .../detectors/operations/void_constructor.py | 2 - slither/detectors/reentrancy/reentrancy.py | 9 +-- .../detectors/reentrancy/reentrancy_benign.py | 17 +++--- .../detectors/reentrancy/reentrancy_eth.py | 17 +++--- .../detectors/reentrancy/reentrancy_events.py | 17 +++--- .../detectors/reentrancy/reentrancy_no_gas.py | 17 +++--- .../reentrancy_read_before_write.py | 13 ++-- slither/detectors/shadowing/abstract.py | 1 + .../detectors/shadowing/builtin_symbols.py | 1 + slither/detectors/shadowing/local.py | 1 + .../statements/array_length_assignment.py | 2 +- slither/detectors/statements/assembly.py | 1 + .../statements/assert_state_change.py | 3 +- .../statements/boolean_constant_equality.py | 4 +- .../statements/boolean_constant_misuse.py | 4 +- slither/detectors/statements/calls_in_loop.py | 1 - .../statements/controlled_delegatecall.py | 1 - .../statements/costly_operations_in_loop.py | 2 - .../statements/delegatecall_in_loop.py | 1 - .../detectors/statements/deprecated_calls.py | 3 +- .../statements/divide_before_multiply.py | 4 +- .../statements/incorrect_strict_equality.py | 5 +- .../detectors/statements/mapping_deletion.py | 3 +- .../detectors/statements/msg_value_in_loop.py | 1 - .../statements/redundant_statements.py | 3 +- slither/detectors/statements/return_bomb.py | 1 - slither/detectors/statements/tx_origin.py | 3 +- .../statements/type_based_tautology.py | 3 +- slither/detectors/statements/unary.py | 2 + .../statements/unprotected_upgradeable.py | 1 - slither/detectors/statements/unused_import.py | 1 + .../function_init_state_variables.py | 2 +- .../variables/predeclaration_usage_local.py | 3 +- .../variables/unchanged_state_variables.py | 1 + .../uninitialized_local_variables.py | 11 ++-- .../uninitialized_state_variables.py | 14 ++--- .../uninitialized_storage_variables.py | 10 +-- .../variables/unused_state_variables.py | 1 + .../naming_convention/naming_convention.py | 3 +- slither/formatters/utils/patches.py | 1 + .../variables/unchanged_state_variables.py | 1 - slither/printers/call/call_graph.py | 9 +-- slither/printers/functions/authorization.py | 5 +- slither/printers/functions/cfg.py | 1 - slither/printers/functions/dominator.py | 1 - slither/printers/inheritance/inheritance.py | 5 +- .../printers/inheritance/inheritance_graph.py | 8 +-- slither/printers/summary/cheatcodes.py | 7 +-- slither/printers/summary/ck.py | 59 +++++++++--------- slither/printers/summary/constructor_calls.py | 4 +- slither/printers/summary/contract.py | 3 +- slither/printers/summary/data_depenency.py | 4 +- slither/printers/summary/entry_points.py | 1 - slither/printers/summary/evm.py | 3 +- slither/printers/summary/function.py | 3 +- slither/printers/summary/function_ids.py | 4 +- slither/printers/summary/halstead.py | 37 +++++------ slither/printers/summary/human_summary.py | 5 +- slither/printers/summary/loc.py | 16 ++--- slither/printers/summary/martin.py | 15 ++--- slither/printers/summary/modifier_calls.py | 3 +- slither/printers/summary/require_calls.py | 3 +- slither/printers/summary/slithir.py | 5 +- slither/printers/summary/slithir_ssa.py | 3 +- slither/printers/summary/variable_order.py | 3 +- slither/printers/summary/when_not_paused.py | 5 +- slither/slither.py | 5 +- slither/slithir/convert.py | 36 ++++++++--- .../operations/internal_dynamic_call.py | 4 +- slither/slithir/operations/new_contract.py | 6 +- slither/slithir/operations/phi.py | 2 +- slither/slithir/operations/phi_callback.py | 2 +- slither/slithir/operations/type_conversion.py | 6 +- slither/slithir/utils/ssa.py | 16 ++--- slither/slithir/variables/local_variable.py | 4 +- slither/slithir/variables/reference_ssa.py | 7 ++- slither/slithir/variables/state_variable.py | 4 +- slither/slithir/variables/temporary_ssa.py | 7 ++- slither/slithir/variables/tuple_ssa.py | 7 ++- slither/solc_parsing/cfg/node.py | 1 - slither/solc_parsing/declarations/contract.py | 14 ++--- .../solc_parsing/declarations/custom_error.py | 1 - .../declarations/event_contract.py | 4 +- .../declarations/event_top_level.py | 4 +- slither/solc_parsing/declarations/function.py | 12 +--- slither/solc_parsing/declarations/modifier.py | 3 +- .../declarations/structure_contract.py | 4 +- .../declarations/structure_top_level.py | 4 +- .../declarations/using_for_top_level.py | 3 +- .../expressions/expression_parsing.py | 5 +- .../solc_parsing/expressions/find_variable.py | 6 +- .../slither_compilation_unit_solc.py | 9 +-- .../solidity_types/type_parsing.py | 3 - .../variables/variable_declaration.py | 5 +- slither/tools/doctor/checks/paths.py | 2 +- slither/tools/erc_conformance/__main__.py | 1 - slither/tools/erc_conformance/erc/ercs.py | 11 ++-- slither/tools/flattening/__main__.py | 1 - slither/tools/flattening/flattening.py | 5 +- .../tools/kspec_coverage/kspec_coverage.py | 1 - slither/tools/mutator/__main__.py | 10 ++- .../mutator/mutators/abstract_mutator.py | 4 +- .../mutator/utils/testing_generated_mutant.py | 1 - .../tools/possible_paths/possible_paths.py | 1 - slither/tools/properties/__main__.py | 8 +-- slither/tools/properties/properties/erc20.py | 4 +- .../solidity/generate_properties.py | 1 - slither/tools/read_storage/__main__.py | 1 + slither/tools/similarity/encode.py | 2 - slither/tools/similarity/info.py | 2 - slither/tools/similarity/plot.py | 4 +- slither/tools/similarity/test.py | 1 - slither/tools/similarity/train.py | 1 - slither/tools/upgradeability/__main__.py | 11 ++-- .../tools/upgradeability/checks/constant.py | 2 - .../upgradeability/checks/functions_ids.py | 4 +- .../upgradeability/checks/initialization.py | 1 - .../upgradeability/utils/command_line.py | 4 +- slither/utils/arithmetic.py | 6 +- slither/utils/ck.py | 61 ++++++++++--------- slither/utils/colors.py | 1 - slither/utils/command_line.py | 19 +++--- slither/utils/encoding.py | 1 - slither/utils/erc.py | 2 +- slither/utils/expression_manipulations.py | 8 +-- slither/utils/halstead.py | 39 ++++++------ slither/utils/martin.py | 17 +++--- slither/utils/sarif.py | 2 +- .../visitors/slithir/expression_to_slithir.py | 3 - slither/vyper_parsing/cfg/node.py | 1 - .../vyper_parsing/declarations/contract.py | 3 - slither/vyper_parsing/declarations/event.py | 3 +- .../vyper_parsing/declarations/function.py | 12 +--- slither/vyper_parsing/declarations/struct.py | 1 - .../expressions/expression_parsing.py | 7 +-- slither/vyper_parsing/type_parsing.py | 1 + .../vyper_parsing/vyper_compilation_unit.py | 1 - tests/e2e/compilation/test_diagnostic.py | 1 - tests/e2e/detectors/test_detectors.py | 1 + tests/e2e/solc_parsing/test_ast_parsing.py | 7 +-- tests/tools/mutator/test_mutator.py | 3 - tests/tools/read-storage/conftest.py | 5 +- tests/unit/core/test_function_declaration.py | 1 + tests/unit/core/test_inheritance.py | 1 + tests/unit/core/test_scope_with_renaming.py | 1 + tests/unit/core/test_source_mapping.py | 1 + tests/unit/slithir/test_ssa_generation.py | 2 +- tests/unit/slithir/test_storage_pointer.py | 2 - .../unit/slithir/test_ternary_expressions.py | 3 +- .../slithir/test_yul_parser_assembly_slot.py | 1 - 211 files changed, 530 insertions(+), 585 deletions(-) diff --git a/slither/__init__.py b/slither/__init__.py index dd9b8a1a22..7b0dfad3e8 100644 --- a/slither/__init__.py +++ b/slither/__init__.py @@ -1,4 +1,5 @@ """ .. include:: ../README.md """ + from .slither import Slither diff --git a/slither/__main__.py b/slither/__main__.py index 654f0fc64b..4296627733 100644 --- a/slither/__main__.py +++ b/slither/__main__.py @@ -518,8 +518,8 @@ def parse_args( group_misc.add_argument( "--json-types", help="Comma-separated list of result types to output to JSON, defaults to " - + f'{",".join(output_type for output_type in DEFAULT_JSON_OUTPUT_TYPES)}. ' - + f'Available types: {",".join(output_type for output_type in JSON_OUTPUT_TYPES)}', + + f"{','.join(output_type for output_type in DEFAULT_JSON_OUTPUT_TYPES)}. " + + f"Available types: {','.join(output_type for output_type in JSON_OUTPUT_TYPES)}", action="store", default=defaults_flag_in_config["json-types"], ) @@ -533,7 +533,7 @@ def parse_args( group_misc.add_argument( "--zip-type", - help=f'Zip compression type. One of {",".join(ZIP_TYPES_ACCEPTED.keys())}. Default lzma', + help=f"Zip compression type. One of {','.join(ZIP_TYPES_ACCEPTED.keys())}. Default lzma", action="store", default=defaults_flag_in_config["zip_type"], ) @@ -679,18 +679,14 @@ def parse_args( class ListDetectors(argparse.Action): # pylint: disable=too-few-public-methods - def __call__( - self, parser: Any, *args: Any, **kwargs: Any - ) -> None: # pylint: disable=signature-differs + def __call__(self, parser: Any, *args: Any, **kwargs: Any) -> None: # pylint: disable=signature-differs detectors, _ = get_detectors_and_printers() output_detectors(detectors) parser.exit() class ListDetectorsJson(argparse.Action): # pylint: disable=too-few-public-methods - def __call__( - self, parser: Any, *args: Any, **kwargs: Any - ) -> None: # pylint: disable=signature-differs + def __call__(self, parser: Any, *args: Any, **kwargs: Any) -> None: # pylint: disable=signature-differs detectors, _ = get_detectors_and_printers() detector_types_json = output_detectors_json(detectors) print(json.dumps(detector_types_json)) @@ -698,9 +694,7 @@ def __call__( class ListPrinters(argparse.Action): # pylint: disable=too-few-public-methods - def __call__( - self, parser: Any, *args: Any, **kwargs: Any - ) -> None: # pylint: disable=signature-differs + def __call__(self, parser: Any, *args: Any, **kwargs: Any) -> None: # pylint: disable=signature-differs _, printers = get_detectors_and_printers() output_printers(printers) parser.exit() @@ -801,7 +795,7 @@ def main_impl( outputting_sarif_stdout = args.sarif == "-" outputting_zip = args.zip is not None if args.zip_type not in ZIP_TYPES_ACCEPTED: - to_log = f'Zip type not accepted, it must be one of {",".join(ZIP_TYPES_ACCEPTED.keys())}' + to_log = f"Zip type not accepted, it must be one of {','.join(ZIP_TYPES_ACCEPTED.keys())}" logger.error(to_log) # If we are outputting JSON, capture all standard output. If we are outputting to stdout, we block typical stdout @@ -814,7 +808,7 @@ def main_impl( default_log = logging.INFO if not args.debug else logging.DEBUG - for (l_name, l_level) in [ + for l_name, l_level in [ ("Slither", default_log), ("Contract", default_log), ("Function", default_log), diff --git a/slither/all_exceptions.py b/slither/all_exceptions.py index 1261a3bf30..3867540412 100644 --- a/slither/all_exceptions.py +++ b/slither/all_exceptions.py @@ -1,6 +1,7 @@ """ This module import all slither exceptions """ + # pylint: disable=unused-import from slither.slithir.exceptions import SlithIRError from slither.solc_parsing.exceptions import ParsingError, VariableNotFound diff --git a/slither/analyses/data_dependency/data_dependency.py b/slither/analyses/data_dependency/data_dependency.py index 12e809fa53..1cee1bc394 100644 --- a/slither/analyses/data_dependency/data_dependency.py +++ b/slither/analyses/data_dependency/data_dependency.py @@ -1,6 +1,7 @@ """ - Compute the data depenency between all the SSA variables +Compute the data depenency between all the SSA variables """ + from collections import defaultdict from typing import Union, Set, Dict, TYPE_CHECKING, List @@ -380,7 +381,7 @@ def propagate_function( transitive_close_dependencies(function, context_key, context_key_non_ssa) # Propage data dependency data_depencencies = function.context[context_key] - for (key, values) in data_depencencies.items(): + for key, values in data_depencencies.items(): if not key in contract.context[context_key]: contract.context[context_key][key] = set(values) else: @@ -489,11 +490,11 @@ def convert_variable_to_non_ssa(v: SUPPORTED_TYPES) -> SUPPORTED_TYPES: def convert_to_non_ssa( - data_depencies: Dict[SUPPORTED_TYPES, Set[SUPPORTED_TYPES]] + data_depencies: Dict[SUPPORTED_TYPES, Set[SUPPORTED_TYPES]], ) -> Dict[SUPPORTED_TYPES, Set[SUPPORTED_TYPES]]: # Need to create new set() as its changed during iteration ret: Dict[SUPPORTED_TYPES, Set[SUPPORTED_TYPES]] = {} - for (k, values) in data_depencies.items(): + for k, values in data_depencies.items(): var = convert_variable_to_non_ssa(k) if not var in ret: ret[var] = set() diff --git a/slither/analyses/evm/convert.py b/slither/analyses/evm/convert.py index cb01fbb851..ae0066d174 100644 --- a/slither/analyses/evm/convert.py +++ b/slither/analyses/evm/convert.py @@ -14,7 +14,6 @@ def get_evm_instructions(obj): assert isinstance(obj, (Function, Contract, Node)) if KEY_EVM_INS not in obj.context: - CFG = load_evm_cfg_builder() slither = obj.slither diff --git a/slither/analyses/write/are_variables_written.py b/slither/analyses/write/are_variables_written.py index 2524897d27..1230d2e026 100644 --- a/slither/analyses/write/are_variables_written.py +++ b/slither/analyses/write/are_variables_written.py @@ -1,6 +1,7 @@ """ - Detect if all the given variables are written in all the paths of the function +Detect if all the given variables are written in all the paths of the function """ + from collections import defaultdict from typing import Dict, Set, List, Any, Optional diff --git a/slither/core/cfg/node.py b/slither/core/cfg/node.py index 231608f4c9..426d1af569 100644 --- a/slither/core/cfg/node.py +++ b/slither/core/cfg/node.py @@ -1,6 +1,7 @@ """ - Node module +Node module """ + from enum import Enum from typing import Optional, List, Set, Dict, Tuple, Union, TYPE_CHECKING @@ -99,6 +100,7 @@ class NodeType(Enum): # endregion + # I am not sure why, but pylint reports a lot of "no-member" issue that are not real (Josselin) # pylint: disable=no-member class Node(SourceMapping): # pylint: disable=too-many-public-methods @@ -847,9 +849,7 @@ def add_phi_origin_state_variable(self, variable: StateVariable, node: "Node") - ################################################################################### def _find_read_write_call(self) -> None: # pylint: disable=too-many-statements - for ir in self.irs: - self._slithir_vars |= {v for v in ir.read if self._is_valid_slithir_var(v)} if isinstance(ir, OperationWithLValue): @@ -1028,7 +1028,6 @@ def _update_write_using_ssa(self, ir: Operation) -> None: self._ssa_vars_written.append(var) def update_read_write_using_ssa(self) -> None: - for ir in self.irs_ssa: if isinstance(ir, PhiCallback): continue diff --git a/slither/core/declarations/contract.py b/slither/core/declarations/contract.py index 8dccc007f9..7702759938 100644 --- a/slither/core/declarations/contract.py +++ b/slither/core/declarations/contract.py @@ -1,6 +1,7 @@ -"""" - Contract module +""" " +Contract module """ + import logging from collections import defaultdict from pathlib import Path @@ -515,9 +516,9 @@ def state_variables_used_in_reentrant_targets( if self._state_variables_used_in_reentrant_targets is None: reentrant_functions = [f for f in self.functions_entry_points if f.is_reentrant] - variables_used: Dict[ - StateVariable, Set[Union[StateVariable, "Function"]] - ] = defaultdict(set) + variables_used: Dict[StateVariable, Set[Union[StateVariable, "Function"]]] = ( + defaultdict(set) + ) for function in reentrant_functions: for ir in function.all_slithir_operations(): state_variables = [v for v in ir.used if isinstance(v, StateVariable)] @@ -1042,7 +1043,8 @@ def all_state_variables_written(self) -> List["StateVariable"]: list(StateVariable): List all of the state variables written """ all_state_variables_writtens = [ - f.all_state_variables_written() for f in self.functions + self.modifiers # type: ignore + f.all_state_variables_written() + for f in self.functions + self.modifiers # type: ignore ] all_state_variables_written = [ item for sublist in all_state_variables_writtens for item in sublist @@ -1055,7 +1057,8 @@ def all_state_variables_read(self) -> List["StateVariable"]: list(StateVariable): List all of the state variables read """ all_state_variables_reads = [ - f.all_state_variables_read() for f in self.functions + self.modifiers # type: ignore + f.all_state_variables_read() + for f in self.functions + self.modifiers # type: ignore ] all_state_variables_read = [ item for sublist in all_state_variables_reads for item in sublist @@ -1448,9 +1451,8 @@ def add_constructor_variables(self) -> None: from slither.core.declarations.function_contract import FunctionContract if self.state_variables: - for (idx, variable_candidate) in enumerate(self.state_variables): + for idx, variable_candidate in enumerate(self.state_variables): if variable_candidate.expression and not variable_candidate.is_constant: - constructor_variable = FunctionContract(self.compilation_unit) constructor_variable.set_function_type(FunctionType.CONSTRUCTOR_VARIABLES) constructor_variable.set_contract(self) # type: ignore @@ -1478,9 +1480,8 @@ def add_constructor_variables(self) -> None: counter += 1 break - for (idx, variable_candidate) in enumerate(self.state_variables): + for idx, variable_candidate in enumerate(self.state_variables): if variable_candidate.expression and variable_candidate.is_constant: - constructor_variable = FunctionContract(self.compilation_unit) constructor_variable.set_function_type( FunctionType.CONSTRUCTOR_CONSTANT_VARIABLES diff --git a/slither/core/declarations/function.py b/slither/core/declarations/function.py index eb772383b2..55b1dadab9 100644 --- a/slither/core/declarations/function.py +++ b/slither/core/declarations/function.py @@ -1,6 +1,7 @@ """ - Function module +Function module """ + import logging from abc import abstractmethod, ABCMeta from collections import namedtuple @@ -1838,7 +1839,6 @@ def fix_phi( node, last_state_variables_instances, initial_state_variables_instances ) for ir in node.irs_ssa: - if isinstance(ir, PhiCallback): callee_ir = ir.callee_ir if isinstance(callee_ir, InternalCall): @@ -1873,7 +1873,6 @@ def fix_phi( node.irs_ssa = [ir for ir in node.irs_ssa if not self._unchange_phi(ir)] def generate_slithir_and_analyze(self) -> None: - for node in self.nodes: node.slithir_generation() diff --git a/slither/core/declarations/function_contract.py b/slither/core/declarations/function_contract.py index 2e8aa3efef..7a8f10f8fa 100644 --- a/slither/core/declarations/function_contract.py +++ b/slither/core/declarations/function_contract.py @@ -1,6 +1,7 @@ """ - Function module +Function module """ + from typing import Dict, TYPE_CHECKING, List, Tuple, Optional from slither.core.declarations.contract_level import ContractLevel diff --git a/slither/core/declarations/function_top_level.py b/slither/core/declarations/function_top_level.py index 39fa2d2bb7..465e6680a7 100644 --- a/slither/core/declarations/function_top_level.py +++ b/slither/core/declarations/function_top_level.py @@ -1,6 +1,7 @@ """ - Function module +Function module """ + from typing import Dict, List, Tuple, TYPE_CHECKING, Optional from slither.core.declarations import Function diff --git a/slither/core/declarations/modifier.py b/slither/core/declarations/modifier.py index 472f6ac1ee..a6e1305e7a 100644 --- a/slither/core/declarations/modifier.py +++ b/slither/core/declarations/modifier.py @@ -1,6 +1,7 @@ """ - Modifier module +Modifier module """ + from .function_contract import FunctionContract diff --git a/slither/core/declarations/solidity_import_placeholder.py b/slither/core/declarations/solidity_import_placeholder.py index 8f63600867..103bc1a83c 100644 --- a/slither/core/declarations/solidity_import_placeholder.py +++ b/slither/core/declarations/solidity_import_placeholder.py @@ -1,6 +1,7 @@ """ Special variable to model import with renaming """ + from typing import Union from slither.core.declarations import Import diff --git a/slither/core/dominators/node_dominator_tree.py b/slither/core/dominators/node_dominator_tree.py index c561cef75d..5e11d0551f 100644 --- a/slither/core/dominators/node_dominator_tree.py +++ b/slither/core/dominators/node_dominator_tree.py @@ -1,6 +1,7 @@ """ - Nodes of the dominator tree +Nodes of the dominator tree """ + from typing import TYPE_CHECKING, Set, List if TYPE_CHECKING: diff --git a/slither/core/expressions/elementary_type_name_expression.py b/slither/core/expressions/elementary_type_name_expression.py index 9a93f0839a..2b18c4a723 100644 --- a/slither/core/expressions/elementary_type_name_expression.py +++ b/slither/core/expressions/elementary_type_name_expression.py @@ -1,6 +1,7 @@ """ - This expression does nothing, if a contract used it, its probably a bug +This expression does nothing, if a contract used it, its probably a bug """ + from slither.core.expressions.expression import Expression from slither.core.solidity_types.type import Type from slither.core.solidity_types.elementary_type import ElementaryType diff --git a/slither/core/scope/scope.py b/slither/core/scope/scope.py index ee2a98eb3a..f1053505c3 100644 --- a/slither/core/scope/scope.py +++ b/slither/core/scope/scope.py @@ -106,7 +106,6 @@ def _generic_source_unit_getter( name: str, getter: Callable[[SourceUnit], Dict[str, AbstractReturnType]], ) -> Optional[AbstractReturnType]: - assert self.filename in crytic_compile_compilation_unit.source_units source_unit = crytic_compile_compilation_unit.source_unit(self.filename) diff --git a/slither/core/slither_core.py b/slither/core/slither_core.py index f5e36ace31..4f2a047f38 100644 --- a/slither/core/slither_core.py +++ b/slither/core/slither_core.py @@ -1,6 +1,7 @@ """ - Main module +Main module """ + import json import logging import os @@ -245,7 +246,6 @@ def _compute_offsets_from_thing(self, thing: SourceMapping): < ref.start < thing.contract.source_mapping.end ): - self._offset_to_definitions[ref.filename][ref.start].add(definition) else: @@ -375,7 +375,6 @@ def parse_ignore_comments(self, file: str) -> None: # The first time we check a file, find all start/end ignore comments and memoize them. line_number = 1 while True: - line_text = self.crytic_compile.get_code_from_line(file, line_number) if line_text is None: break @@ -433,7 +432,6 @@ def has_ignore_comment(self, r: Dict) -> bool: ) for file, lines in mapping_elements_with_lines: - # Check if result is within an ignored range. ignore_ranges = self._ignore_ranges[file][r["check"]] + self._ignore_ranges[file]["all"] for start, end in ignore_ranges: diff --git a/slither/core/solidity_types/user_defined_type.py b/slither/core/solidity_types/user_defined_type.py index a9bbd40a21..ca46983734 100644 --- a/slither/core/solidity_types/user_defined_type.py +++ b/slither/core/solidity_types/user_defined_type.py @@ -9,6 +9,7 @@ from slither.core.declarations.enum import Enum from slither.core.declarations.contract import Contract + # pylint: disable=import-outside-toplevel class UserDefinedType(Type): def __init__(self, t: Union["Enum", "Contract", "Structure"]) -> None: diff --git a/slither/core/source_mapping/source_mapping.py b/slither/core/source_mapping/source_mapping.py index 7a6cdae416..64c76cec72 100644 --- a/slither/core/source_mapping/source_mapping.py +++ b/slither/core/source_mapping/source_mapping.py @@ -16,6 +16,7 @@ # All an object needs to do is to inherits from SourceMapping # And call set_offset at some point + # pylint: disable=too-many-instance-attributes class Source: def __init__(self, compilation_unit: "SlitherCompilationUnit") -> None: @@ -57,7 +58,6 @@ def to_detailed_str(self) -> str: return f"{filename_short}{lines} ({self.starting_column} - {self.ending_column})" def _get_lines_str(self, line_descr: str = "") -> str: - line_prefix = self.compilation_unit.core.line_prefix lines = self.lines @@ -157,9 +157,7 @@ def _compute_line( return list(range(start_line, end_line + 1)), starting_column, ending_column -def _convert_source_mapping( - offset: str, compilation_unit: "SlitherCompilationUnit" -) -> Source: # pylint: disable=too-many-locals +def _convert_source_mapping(offset: str, compilation_unit: "SlitherCompilationUnit") -> Source: # pylint: disable=too-many-locals """ Convert a text offset to a real offset see https://solidity.readthedocs.io/en/develop/miscellaneous.html#source-mappings diff --git a/slither/core/variables/function_type_variable.py b/slither/core/variables/function_type_variable.py index 450f17877e..c87cdc4506 100644 --- a/slither/core/variables/function_type_variable.py +++ b/slither/core/variables/function_type_variable.py @@ -1,9 +1,9 @@ """ - Variable used with FunctionType - ex: - struct C{ - function(uint) my_func; - } +Variable used with FunctionType +ex: +struct C{ + function(uint) my_func; +} """ from .variable import Variable diff --git a/slither/core/variables/variable.py b/slither/core/variables/variable.py index 4af350d31e..9b193013a1 100644 --- a/slither/core/variables/variable.py +++ b/slither/core/variables/variable.py @@ -1,6 +1,7 @@ """ - Variable module +Variable module """ + from typing import Optional, TYPE_CHECKING, List, Union, Tuple from slither.core.source_mapping.source_mapping import SourceMapping @@ -11,6 +12,7 @@ from slither.core.expressions.expression import Expression from slither.core.declarations import Function + # pylint: disable=too-many-instance-attributes class Variable(SourceMapping): def __init__(self) -> None: @@ -177,7 +179,7 @@ def signature_str(self) -> str: @property def solidity_signature(self) -> str: name, parameters, _ = self.signature - return f'{name}({",".join(parameters)})' + return f"{name}({','.join(parameters)})" def __str__(self) -> str: if self._name is None: diff --git a/slither/detectors/abstract_detector.py b/slither/detectors/abstract_detector.py index 8baf9bb3c7..6d4f225d53 100644 --- a/slither/detectors/abstract_detector.py +++ b/slither/detectors/abstract_detector.py @@ -235,7 +235,7 @@ def detect(self) -> List[Dict]: result["patches_diff"][file] = diff except FormatImpossible as exception: - self._log(f'\nImpossible to patch:\n\t{result["description"]}\t{exception}') + self._log(f"\nImpossible to patch:\n\t{result['description']}\t{exception}") if results and self.slither.triage_mode: while True: diff --git a/slither/detectors/assembly/incorrect_return.py b/slither/detectors/assembly/incorrect_return.py index 9052979ace..c1db6b3a30 100644 --- a/slither/detectors/assembly/incorrect_return.py +++ b/slither/detectors/assembly/incorrect_return.py @@ -68,14 +68,12 @@ def _detect(self) -> List[Output]: results: List[Output] = [] for c in self.contracts: for f in c.functions_and_modifiers_declared: - for ir in f.internal_calls: if ir.node.sons: function_called = ir.function if isinstance(function_called, Function): found = _assembly_node(function_called) if found: - info: DETECTOR_INFO = [ f, " calls ", diff --git a/slither/detectors/assembly/return_instead_of_leave.py b/slither/detectors/assembly/return_instead_of_leave.py index 6037059744..e3fb26f5dc 100644 --- a/slither/detectors/assembly/return_instead_of_leave.py +++ b/slither/detectors/assembly/return_instead_of_leave.py @@ -53,7 +53,6 @@ def _detect(self) -> List[Output]: results: List[Output] = [] for c in self.contracts: for f in c.functions_declared: - if ( len(f.returns) == 2 and f.contains_assembly diff --git a/slither/detectors/attributes/const_functions_asm.py b/slither/detectors/attributes/const_functions_asm.py index 7be8fdb486..50a515eaea 100644 --- a/slither/detectors/attributes/const_functions_asm.py +++ b/slither/detectors/attributes/const_functions_asm.py @@ -2,6 +2,7 @@ Module detecting constant functions Recursively check the called functions """ + from typing import List, Dict from slither.core.compilation_unit import SlitherCompilationUnit diff --git a/slither/detectors/attributes/const_functions_state.py b/slither/detectors/attributes/const_functions_state.py index f59c2801b8..fca6967da9 100644 --- a/slither/detectors/attributes/const_functions_state.py +++ b/slither/detectors/attributes/const_functions_state.py @@ -2,6 +2,7 @@ Module detecting constant functions Recursively check the called functions """ + from typing import List, Dict from slither.core.compilation_unit import SlitherCompilationUnit diff --git a/slither/detectors/attributes/constant_pragma.py b/slither/detectors/attributes/constant_pragma.py index e391f1d56d..2ba85a4c69 100644 --- a/slither/detectors/attributes/constant_pragma.py +++ b/slither/detectors/attributes/constant_pragma.py @@ -1,6 +1,7 @@ """ - Check that the same pragma is used in all the files +Check that the same pragma is used in all the files """ + from collections import OrderedDict from typing import List, Dict diff --git a/slither/detectors/attributes/incorrect_solc.py b/slither/detectors/attributes/incorrect_solc.py index e60412cef4..4b36e4284c 100644 --- a/slither/detectors/attributes/incorrect_solc.py +++ b/slither/detectors/attributes/incorrect_solc.py @@ -1,5 +1,5 @@ """ - Check if an incorrect version of solc is used +Check if an incorrect version of solc is used """ import re diff --git a/slither/detectors/attributes/locked_ether.py b/slither/detectors/attributes/locked_ether.py index efb376e229..2bbd4b368e 100644 --- a/slither/detectors/attributes/locked_ether.py +++ b/slither/detectors/attributes/locked_ether.py @@ -1,6 +1,7 @@ """ - Check if ethers are locked in the contract +Check if ethers are locked in the contract """ + from typing import List from slither.core.declarations import Contract, SolidityFunction @@ -24,7 +25,6 @@ class LockedEther(AbstractDetector): # pylint: disable=too-many-nested-blocks - ARGUMENT = "locked-ether" HELP = "Contracts that lock ether" IMPACT = DetectorClassification.MEDIUM diff --git a/slither/detectors/attributes/unimplemented_interface.py b/slither/detectors/attributes/unimplemented_interface.py index c3a0279147..b5ad2179bd 100644 --- a/slither/detectors/attributes/unimplemented_interface.py +++ b/slither/detectors/attributes/unimplemented_interface.py @@ -4,6 +4,7 @@ Collect all the interfaces Check for contracts which implement all interface functions but do not explicitly derive from those interfaces. """ + from typing import List from slither.detectors.abstract_detector import ( AbstractDetector, diff --git a/slither/detectors/compiler_bugs/array_by_reference.py b/slither/detectors/compiler_bugs/array_by_reference.py index e4dde43608..78bede4ef5 100644 --- a/slither/detectors/compiler_bugs/array_by_reference.py +++ b/slither/detectors/compiler_bugs/array_by_reference.py @@ -1,6 +1,7 @@ """ Detects the passing of arrays located in memory to functions which expect to modify arrays via storage reference. """ + from typing import List, Set, Tuple, Union from slither.core.declarations import Function @@ -76,7 +77,6 @@ def get_funcs_modifying_array_params(contracts: List[Contract]) -> Set[FunctionC # Loop through all functions in all contracts. for contract in contracts: for function in contract.functions_declared: - # Skip any constructor functions. if function.is_constructor: continue @@ -116,13 +116,12 @@ def detect_calls_passing_ref_to_function( for contract in contracts: for function in contract.functions_and_modifiers_declared: for ir in [ir for _, ir in function.high_level_calls] + function.internal_calls: - # Verify this references a function in our array modifying functions collection. if ir.function not in array_modifying_funcs: continue # Verify one of these parameters is an array in storage. - for (param, arg) in zip(ir.function.parameters, ir.arguments): + for param, arg in zip(ir.function.parameters, ir.arguments): # Verify this argument is a variable that is an array type. if not isinstance(arg, (StateVariable, LocalVariable)): continue diff --git a/slither/detectors/compiler_bugs/enum_conversion.py b/slither/detectors/compiler_bugs/enum_conversion.py index c7f1bcf4e2..4c453fff8c 100644 --- a/slither/detectors/compiler_bugs/enum_conversion.py +++ b/slither/detectors/compiler_bugs/enum_conversion.py @@ -1,6 +1,7 @@ """ Module detecting dangerous conversion to enum """ + from typing import List, Tuple from slither.core.cfg.node import Node diff --git a/slither/detectors/compiler_bugs/public_mapping_nested.py b/slither/detectors/compiler_bugs/public_mapping_nested.py index 0ae8c3d509..64cb0723cd 100644 --- a/slither/detectors/compiler_bugs/public_mapping_nested.py +++ b/slither/detectors/compiler_bugs/public_mapping_nested.py @@ -1,6 +1,7 @@ """ Module detecting public mappings with nested variables (returns incorrect values prior to 0.5.x) """ + from typing import Any, List, Union from slither.detectors.abstract_detector import ( AbstractDetector, diff --git a/slither/detectors/compiler_bugs/reused_base_constructor.py b/slither/detectors/compiler_bugs/reused_base_constructor.py index 4764dc6419..93cd7674d0 100644 --- a/slither/detectors/compiler_bugs/reused_base_constructor.py +++ b/slither/detectors/compiler_bugs/reused_base_constructor.py @@ -1,6 +1,7 @@ """ Module detecting re-used base constructors in inheritance hierarchy. """ + from typing import Any, Dict, List, Tuple, Union from slither.detectors.abstract_detector import ( AbstractDetector, @@ -100,7 +101,6 @@ def _detect_explicitly_called_base_constructors( # Loop until there are no queued contracts left. while len(queued_contracts) > 0: - # Pop a contract off the front of the queue, if it has already been processed, we stop. current_contract = queued_contracts.pop(0) if current_contract in processed_contracts: @@ -143,7 +143,6 @@ def _detect(self) -> List[Output]: # Loop for each contract for contract in self.contracts: - # Detect all locations which all underlying base constructors with arguments were called from. called_base_constructors = self._detect_explicitly_called_base_constructors(contract) for base_constructor, call_list in called_base_constructors.items(): @@ -159,7 +158,7 @@ def _detect(self) -> List[Output]: " arguments more than once in inheritance hierarchy:\n", ] - for (calling_contract, called_by_constructor) in call_list: + for calling_contract, called_by_constructor in call_list: info += [ "\t- From ", calling_contract, diff --git a/slither/detectors/compiler_bugs/storage_ABIEncoderV2_array.py b/slither/detectors/compiler_bugs/storage_ABIEncoderV2_array.py index 9c8f7d3e8a..4b8c761af9 100644 --- a/slither/detectors/compiler_bugs/storage_ABIEncoderV2_array.py +++ b/slither/detectors/compiler_bugs/storage_ABIEncoderV2_array.py @@ -1,6 +1,7 @@ """ Module detecting ABIEncoderV2 array bug """ + from typing import List, Set, Tuple from slither.detectors.abstract_detector import ( AbstractDetector, diff --git a/slither/detectors/compiler_bugs/storage_signed_integer_array.py b/slither/detectors/compiler_bugs/storage_signed_integer_array.py index f456e42077..db7cbec635 100644 --- a/slither/detectors/compiler_bugs/storage_signed_integer_array.py +++ b/slither/detectors/compiler_bugs/storage_signed_integer_array.py @@ -1,6 +1,7 @@ """ Module detecting storage signed integer array bug """ + from typing import List, Tuple, Set from slither.core.declarations import Function, Contract diff --git a/slither/detectors/compiler_bugs/uninitialized_function_ptr_in_constructor.py b/slither/detectors/compiler_bugs/uninitialized_function_ptr_in_constructor.py index 826b671bd1..09155d708f 100644 --- a/slither/detectors/compiler_bugs/uninitialized_function_ptr_in_constructor.py +++ b/slither/detectors/compiler_bugs/uninitialized_function_ptr_in_constructor.py @@ -1,6 +1,7 @@ """ Module detecting uninitialized function pointer calls in constructors """ + from typing import Any, List, Union from slither.detectors.abstract_detector import ( AbstractDetector, diff --git a/slither/detectors/erc/erc20/incorrect_erc20_interface.py b/slither/detectors/erc/erc20/incorrect_erc20_interface.py index a17f04e8c7..8a99a4a95d 100644 --- a/slither/detectors/erc/erc20/incorrect_erc20_interface.py +++ b/slither/detectors/erc/erc20/incorrect_erc20_interface.py @@ -2,6 +2,7 @@ Detect incorrect erc20 interface. Some contracts do not return a bool on transfer/transferFrom/approve, which may lead to preventing the contract to be used with contracts compiled with recent solc (>0.4.22) """ + from typing import List, Tuple from slither.core.declarations.contract import Contract diff --git a/slither/detectors/erc/incorrect_erc721_interface.py b/slither/detectors/erc/incorrect_erc721_interface.py index e05f3ce8e9..df69b517e3 100644 --- a/slither/detectors/erc/incorrect_erc721_interface.py +++ b/slither/detectors/erc/incorrect_erc721_interface.py @@ -1,6 +1,7 @@ """ Detect incorrect erc721 interface. """ + from typing import Any, List, Tuple, Union from slither.detectors.abstract_detector import ( AbstractDetector, @@ -46,7 +47,7 @@ class IncorrectERC721InterfaceDetection(AbstractDetector): @staticmethod def incorrect_erc721_interface( - signature: Union[Tuple[str, List[str], List[str]], Tuple[str, List[str], List[Any]]] + signature: Union[Tuple[str, List[str], List[str]], Tuple[str, List[str], List[Any]]], ) -> bool: (name, parameters, returnVars) = signature diff --git a/slither/detectors/erc/unindexed_event_parameters.py b/slither/detectors/erc/unindexed_event_parameters.py index 6e91b0fb36..e4c0ec4a57 100644 --- a/slither/detectors/erc/unindexed_event_parameters.py +++ b/slither/detectors/erc/unindexed_event_parameters.py @@ -1,6 +1,7 @@ """ Detect mistakenly un-indexed ERC20 event parameters """ + from typing import Any, List, Tuple, Union from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification from slither.core.declarations.contract import Contract @@ -61,7 +62,6 @@ def detect_erc20_unindexed_event_params( # Loop through all events to look for poor form. for event in contract.events_declared: - # If this is transfer/approval events, expect the first two parameters to be indexed. if event.full_name in [ "Transfer(address,address,uint256)", @@ -84,8 +84,7 @@ def _detect(self) -> List[Output]: unindexed_params = self.detect_erc20_unindexed_event_params(c) if unindexed_params: # Add each problematic event definition to our result list - for (event, parameter) in unindexed_params: - + for event, parameter in unindexed_params: info = [ "ERC20 event ", event, diff --git a/slither/detectors/functions/arbitrary_send_eth.py b/slither/detectors/functions/arbitrary_send_eth.py index 56fb112500..b88dd843b5 100644 --- a/slither/detectors/functions/arbitrary_send_eth.py +++ b/slither/detectors/functions/arbitrary_send_eth.py @@ -1,14 +1,15 @@ """ - Module detecting send to arbitrary address +Module detecting send to arbitrary address - To avoid FP, it does not report: - - If msg.sender is used as index (withdraw situation) - - If the function is protected - - If the value sent is msg.value (repay situation) - - If there is a call to transferFrom +To avoid FP, it does not report: + - If msg.sender is used as index (withdraw situation) + - If the function is protected + - If the value sent is msg.value (repay situation) + - If there is a call to transferFrom - TODO: dont report if the value is tainted by msg.value +TODO: dont report if the value is tainted by msg.value """ + from typing import Any, Tuple, Union, List from slither.analyses.data_dependency.data_dependency import is_tainted, is_dependent @@ -138,8 +139,7 @@ def _detect(self) -> List[Output]: for c in self.contracts: arbitrary_send_result = detect_arbitrary_send(c) - for (func, nodes) in arbitrary_send_result: - + for func, nodes in arbitrary_send_result: info = [func, " sends eth to arbitrary user\n"] info += ["\tDangerous calls:\n"] diff --git a/slither/detectors/functions/chainlink_feed_registry.py b/slither/detectors/functions/chainlink_feed_registry.py index 326e8a8eec..04cc4cc460 100644 --- a/slither/detectors/functions/chainlink_feed_registry.py +++ b/slither/detectors/functions/chainlink_feed_registry.py @@ -9,7 +9,6 @@ class ChainlinkFeedRegistry(AbstractDetector): - ARGUMENT = "chainlink-feed-registry" HELP = "Detect when chainlink feed registry is used" IMPACT = DetectorClassification.LOW diff --git a/slither/detectors/functions/dead_code.py b/slither/detectors/functions/dead_code.py index 3628d10a2c..40328bd1f8 100644 --- a/slither/detectors/functions/dead_code.py +++ b/slither/detectors/functions/dead_code.py @@ -1,6 +1,7 @@ """ Module detecting dead code """ + from typing import List, Tuple from slither.core.declarations import Function, FunctionContract, Contract @@ -40,7 +41,6 @@ class DeadCode(AbstractDetector): WIKI_RECOMMENDATION = "Remove unused functions." def _detect(self) -> List[Output]: - results = [] functions_used = set() diff --git a/slither/detectors/functions/external_function.py b/slither/detectors/functions/external_function.py index d9cc2bc361..623fd68b47 100644 --- a/slither/detectors/functions/external_function.py +++ b/slither/detectors/functions/external_function.py @@ -90,10 +90,8 @@ def get_base_most_function(function: FunctionContract) -> FunctionContract: # Loop through the list of inherited contracts and this contract, to find the first function instance which # matches this function's signature. Note here that `inheritance` is in order from most basic to most extended. for contract in function.contract.inheritance + [function.contract]: - # Loop through the functions not inherited (explicitly defined in this contract). for f in contract.functions_declared: - # If it matches names, this is the base most function. if f.full_name == function.full_name: return f @@ -159,14 +157,12 @@ def _detect(self) -> List[Output]: # pylint: disable=too-many-locals,too-many-b # Loop through all contracts for contract in self.contracts: - # Filter false-positives: Immediately filter this contract if it's in blacklist if contract in dynamic_call_contracts: continue # Next we'll want to loop through all functions defined directly in this contract. for function in contract.functions_declared: - # If all of the function arguments are non-reference type or calldata, we skip it. reference_args = [] for arg in function.parameters: diff --git a/slither/detectors/functions/modifier.py b/slither/detectors/functions/modifier.py index 862d2af67e..43b71e08f7 100644 --- a/slither/detectors/functions/modifier.py +++ b/slither/detectors/functions/modifier.py @@ -5,6 +5,7 @@ are in the outermost scope, they do not guarantee a revert, so a default value can still be returned. """ + from typing import List from slither.detectors.abstract_detector import ( AbstractDetector, diff --git a/slither/detectors/functions/optimism_deprecation.py b/slither/detectors/functions/optimism_deprecation.py index 26da75e5ff..69133f955a 100644 --- a/slither/detectors/functions/optimism_deprecation.py +++ b/slither/detectors/functions/optimism_deprecation.py @@ -12,7 +12,6 @@ class OptimismDeprecation(AbstractDetector): - ARGUMENT = "optimism-deprecation" HELP = "Detect when deprecated Optimism predeploy or function is used." IMPACT = DetectorClassification.LOW diff --git a/slither/detectors/functions/out_of_order_retryable.py b/slither/detectors/functions/out_of_order_retryable.py index a11e31ef45..f7be7fe2a7 100644 --- a/slither/detectors/functions/out_of_order_retryable.py +++ b/slither/detectors/functions/out_of_order_retryable.py @@ -8,7 +8,6 @@ class OutOfOrderRetryable(AbstractDetector): - ARGUMENT = "out-of-order-retryable" HELP = "Out-of-order retryable transactions" IMPACT = DetectorClassification.MEDIUM diff --git a/slither/detectors/functions/permit_domain_signature_collision.py b/slither/detectors/functions/permit_domain_signature_collision.py index 39543fb496..e26a4d4c6e 100644 --- a/slither/detectors/functions/permit_domain_signature_collision.py +++ b/slither/detectors/functions/permit_domain_signature_collision.py @@ -1,6 +1,7 @@ """ Module detecting EIP-2612 domain separator collision """ + from typing import Union, List from slither.core.declarations import Function @@ -48,7 +49,9 @@ def _detect(self) -> List[Output]: domain_sig = get_function_id("DOMAIN_SEPARATOR()") for contract in self.compilation_unit.contracts_derived: if contract.is_erc20(): - funcs_and_vars: List[Union[Function, StateVariable]] = contract.functions_entry_points + contract.state_variables_entry_points # type: ignore + funcs_and_vars: List[Union[Function, StateVariable]] = ( + contract.functions_entry_points + contract.state_variables_entry_points + ) # type: ignore for func_or_var in funcs_and_vars: # External/ public function names should not collide with DOMAIN_SEPARATOR() hash_collision = ( diff --git a/slither/detectors/functions/protected_variable.py b/slither/detectors/functions/protected_variable.py index 06604c0121..cf06d7aca3 100644 --- a/slither/detectors/functions/protected_variable.py +++ b/slither/detectors/functions/protected_variable.py @@ -3,6 +3,7 @@ A suicidal contract is an unprotected function that calls selfdestruct """ + from typing import List from slither.core.declarations import Function, Contract @@ -15,7 +16,6 @@ class ProtectedVariables(AbstractDetector): - ARGUMENT = "protected-vars" HELP = "Detected unprotected variables" IMPACT = DetectorClassification.HIGH diff --git a/slither/detectors/functions/suicidal.py b/slither/detectors/functions/suicidal.py index 7c7d87f8a6..475e8bfac7 100644 --- a/slither/detectors/functions/suicidal.py +++ b/slither/detectors/functions/suicidal.py @@ -3,6 +3,7 @@ A suicidal contract is an unprotected function that calls selfdestruct """ + from typing import List from slither.core.declarations.contract import Contract @@ -81,7 +82,6 @@ def _detect(self) -> List[Output]: for c in self.contracts: functions = self.detect_suicidal(c) for func in functions: - info: DETECTOR_INFO = [func, " allows anyone to destruct the contract\n"] res = self.generate_result(info) diff --git a/slither/detectors/functions/unimplemented.py b/slither/detectors/functions/unimplemented.py index 0993d6c462..f4d66117bd 100644 --- a/slither/detectors/functions/unimplemented.py +++ b/slither/detectors/functions/unimplemented.py @@ -7,6 +7,7 @@ Consider public state variables as implemented functions Do not consider fallback function or constructor """ + from typing import List, Set from slither.core.declarations import Function diff --git a/slither/detectors/naming_convention/naming_convention.py b/slither/detectors/naming_convention/naming_convention.py index ab43318f11..c321c1c26a 100644 --- a/slither/detectors/naming_convention/naming_convention.py +++ b/slither/detectors/naming_convention/naming_convention.py @@ -73,11 +73,9 @@ def should_avoid_name(name: str) -> bool: # pylint: disable=too-many-branches,too-many-statements def _detect(self) -> List[Output]: - results = [] info: DETECTOR_INFO for contract in self.contracts: - if not self.is_cap_words(contract.name): info = ["Contract ", contract, " is not in CapWords\n"] diff --git a/slither/detectors/operations/bad_prng.py b/slither/detectors/operations/bad_prng.py index a09eb58b11..5fb8d2a42d 100644 --- a/slither/detectors/operations/bad_prng.py +++ b/slither/detectors/operations/bad_prng.py @@ -125,7 +125,6 @@ def _detect(self) -> List[Output]: for c in self.compilation_unit.contracts_derived: values = detect_bad_PRNG(c) for func, nodes in values: - for node in nodes: info: List[AllSupportedOutput] = [func, ' uses a weak PRNG: "', node, '" \n'] res = self.generate_result(info) diff --git a/slither/detectors/operations/block_timestamp.py b/slither/detectors/operations/block_timestamp.py index d5c2c8df78..a19dee8719 100644 --- a/slither/detectors/operations/block_timestamp.py +++ b/slither/detectors/operations/block_timestamp.py @@ -1,7 +1,8 @@ """ - Module detecting dangerous use of block.timestamp +Module detecting dangerous use of block.timestamp """ + from typing import List, Tuple from slither.analyses.data_dependency.data_dependency import is_dependent @@ -60,7 +61,6 @@ def _detect_dangerous_timestamp( class Timestamp(AbstractDetector): - ARGUMENT = "timestamp" HELP = "Dangerous usage of `block.timestamp`" IMPACT = DetectorClassification.LOW @@ -81,8 +81,7 @@ def _detect(self) -> List[Output]: for c in self.contracts: dangerous_timestamp = _detect_dangerous_timestamp(c) - for (func, nodes) in dangerous_timestamp: - + for func, nodes in dangerous_timestamp: info: DETECTOR_INFO = [func, " uses timestamp for comparisons\n"] info += ["\tDangerous comparisons:\n"] diff --git a/slither/detectors/operations/incorrect_exp.py b/slither/detectors/operations/incorrect_exp.py index 6188f5cb16..f1b4c0cda5 100644 --- a/slither/detectors/operations/incorrect_exp.py +++ b/slither/detectors/operations/incorrect_exp.py @@ -1,6 +1,7 @@ """ Module detecting incorrect operator usage for exponentiation where bitwise xor '^' is used instead of '**' """ + from typing import Tuple, List, Union from slither.core.cfg.node import Node @@ -82,7 +83,7 @@ def _detect(self) -> List[Output]: results: List[Output] = [] for c in self.compilation_unit.contracts_derived: res = _detect_incorrect_operator(c) - for (func, node) in res: + for func, node in res: info: DETECTOR_INFO = [ func, " has bitwise-xor operator ^ instead of the exponentiation operator **: \n", diff --git a/slither/detectors/operations/low_level_calls.py b/slither/detectors/operations/low_level_calls.py index 4925fc4661..0699def49d 100644 --- a/slither/detectors/operations/low_level_calls.py +++ b/slither/detectors/operations/low_level_calls.py @@ -1,6 +1,7 @@ """ Module detecting usage of low level calls """ + from typing import List, Tuple from slither.detectors.abstract_detector import ( AbstractDetector, diff --git a/slither/detectors/operations/missing_events_access_control.py b/slither/detectors/operations/missing_events_access_control.py index 853eafd734..86d229a913 100644 --- a/slither/detectors/operations/missing_events_access_control.py +++ b/slither/detectors/operations/missing_events_access_control.py @@ -2,6 +2,7 @@ Module detecting missing events for critical contract parameters set by owners and used in access control """ + from typing import List, Tuple from slither.analyses.data_dependency.data_dependency import is_tainted @@ -103,9 +104,9 @@ def _detect(self) -> List[Output]: results = [] for contract in self.compilation_unit.contracts_derived: missing_events = self._detect_missing_events(contract) - for (function, nodes) in missing_events: + for function, nodes in missing_events: info: DETECTOR_INFO = [function, " should emit an event for: \n"] - for (node, _sv, _mod) in nodes: + for node, _sv, _mod in nodes: info += ["\t- ", node, " \n"] res = self.generate_result(info) results.append(res) diff --git a/slither/detectors/operations/missing_events_arithmetic.py b/slither/detectors/operations/missing_events_arithmetic.py index ce267c7293..9c5fabfb24 100644 --- a/slither/detectors/operations/missing_events_arithmetic.py +++ b/slither/detectors/operations/missing_events_arithmetic.py @@ -2,6 +2,7 @@ Module detecting missing events for critical contract parameters set by owners and used in arithmetic """ + from typing import List, Tuple from slither.analyses.data_dependency.data_dependency import is_tainted @@ -125,9 +126,9 @@ def _detect(self) -> List[Output]: results = [] for contract in self.compilation_unit.contracts_derived: missing_events = self._detect_missing_events(contract) - for (function, nodes) in missing_events: + for function, nodes in missing_events: info: DETECTOR_INFO = [function, " should emit an event for: \n"] - for (node, _) in nodes: + for node, _ in nodes: info += ["\t- ", node, " \n"] res = self.generate_result(info) results.append(res) diff --git a/slither/detectors/operations/missing_zero_address_validation.py b/slither/detectors/operations/missing_zero_address_validation.py index 4feac9d0ce..2ad048ed88 100644 --- a/slither/detectors/operations/missing_zero_address_validation.py +++ b/slither/detectors/operations/missing_zero_address_validation.py @@ -2,6 +2,7 @@ Module detecting missing zero address validation """ + from collections import defaultdict from typing import DefaultDict, List, Tuple, Union @@ -157,7 +158,7 @@ def _detect(self) -> List[Output]: results = [] for contract in self.compilation_unit.contracts_derived: missing_zero_address_validation = self._detect_missing_zero_address_validation(contract) - for (_, var_nodes) in missing_zero_address_validation: + for _, var_nodes in missing_zero_address_validation: for var, nodes in var_nodes.items(): info: DETECTOR_INFO = [var, " lacks a zero-check on ", ":\n"] for node in nodes: diff --git a/slither/detectors/operations/unchecked_low_level_return_values.py b/slither/detectors/operations/unchecked_low_level_return_values.py index c1fb1a8688..189d4a54db 100644 --- a/slither/detectors/operations/unchecked_low_level_return_values.py +++ b/slither/detectors/operations/unchecked_low_level_return_values.py @@ -1,6 +1,7 @@ """ Module detecting unused return values from low level """ + from typing import List from slither.core.cfg.node import Node @@ -79,7 +80,6 @@ def _detect(self) -> List[Output]: for f in c.functions_and_modifiers: unused_return = UncheckedLowLevel.detect_unused_return_values(f) if unused_return: - for node in unused_return: info: DETECTOR_INFO = [f, " ignores return value by ", node, "\n"] diff --git a/slither/detectors/operations/unused_return_values.py b/slither/detectors/operations/unused_return_values.py index 17cee29e44..59accff712 100644 --- a/slither/detectors/operations/unused_return_values.py +++ b/slither/detectors/operations/unused_return_values.py @@ -1,6 +1,7 @@ """ Module detecting unused return values from external calls """ + from typing import List from slither.core.cfg.node import Node, NodeType @@ -103,7 +104,6 @@ def _detect(self) -> List[Output]: for f in c.functions_and_modifiers: unused_return = self.detect_unused_return_values(f) if unused_return: - for node in unused_return: info: DETECTOR_INFO = [f, " ignores return value by ", node, "\n"] diff --git a/slither/detectors/operations/void_constructor.py b/slither/detectors/operations/void_constructor.py index 365904fa9e..a17a33dbd2 100644 --- a/slither/detectors/operations/void_constructor.py +++ b/slither/detectors/operations/void_constructor.py @@ -10,7 +10,6 @@ class VoidConstructor(AbstractDetector): - ARGUMENT = "void-cst" HELP = "Constructor called not implemented" IMPACT = DetectorClassification.LOW @@ -39,7 +38,6 @@ def _detect(self) -> List[Output]: for c in self.contracts: cst = c.constructor if cst: - for constructor_call in cst.explicit_base_constructor_calls_statements: for node in constructor_call.nodes: if any(isinstance(ir, Nop) for ir in node.irs): diff --git a/slither/detectors/reentrancy/reentrancy.py b/slither/detectors/reentrancy/reentrancy.py index 8f39c519d2..d1afc13ed5 100644 --- a/slither/detectors/reentrancy/reentrancy.py +++ b/slither/detectors/reentrancy/reentrancy.py @@ -1,9 +1,10 @@ -"""" - Re-entrancy detection +""" " +Re-entrancy detection - Based on heuristics, it may lead to FP and FN - Iterate over all the nodes of the graph until reaching a fixpoint +Based on heuristics, it may lead to FP and FN +Iterate over all the nodes of the graph until reaching a fixpoint """ + from collections import defaultdict from typing import Set, Dict, List, Tuple, Optional diff --git a/slither/detectors/reentrancy/reentrancy_benign.py b/slither/detectors/reentrancy/reentrancy_benign.py index 06cc370202..9690311607 100644 --- a/slither/detectors/reentrancy/reentrancy_benign.py +++ b/slither/detectors/reentrancy/reentrancy_benign.py @@ -1,9 +1,10 @@ -"""" - Re-entrancy detection +""" " +Re-entrancy detection - Based on heuristics, it may lead to FP and FN - Iterate over all the nodes of the graph until reaching a fixpoint +Based on heuristics, it may lead to FP and FN +Iterate over all the nodes of the graph until reaching a fixpoint """ + from collections import namedtuple, defaultdict from typing import DefaultDict, Set, List @@ -106,14 +107,14 @@ def _detect(self) -> List[Output]: # pylint: disable=too-many-branches info = ["Reentrancy in ", func, ":\n"] info += ["\tExternal calls:\n"] - for (call_info, calls_list) in calls: + for call_info, calls_list in calls: info += ["\t- ", call_info, "\n"] for call_list_info in calls_list: if call_list_info != call_info: info += ["\t\t- ", call_list_info, "\n"] if calls != send_eth and send_eth: info += ["\tExternal calls sending eth:\n"] - for (call_info, calls_list) in send_eth: + for call_info, calls_list in send_eth: info += ["\t- ", call_info, "\n"] for call_list_info in calls_list: if call_list_info != call_info: @@ -132,7 +133,7 @@ def _detect(self) -> List[Output]: # pylint: disable=too-many-branches res.add(func) # Add all underlying calls in the function which are potentially problematic. - for (call_info, calls_list) in calls: + for call_info, calls_list in calls: res.add(call_info, {"underlying_type": "external_calls"}) for call_list_info in calls_list: if call_list_info != call_info: @@ -145,7 +146,7 @@ def _detect(self) -> List[Output]: # pylint: disable=too-many-branches # If the calls are not the same ones that send eth, add the eth sending nodes. if calls != send_eth: - for (call_info, calls_list) in calls: + for call_info, calls_list in calls: res.add(call_info, {"underlying_type": "external_calls_sending_eth"}) for call_list_info in calls_list: if call_list_info != call_info: diff --git a/slither/detectors/reentrancy/reentrancy_eth.py b/slither/detectors/reentrancy/reentrancy_eth.py index ccb6688372..44f6756099 100644 --- a/slither/detectors/reentrancy/reentrancy_eth.py +++ b/slither/detectors/reentrancy/reentrancy_eth.py @@ -1,9 +1,10 @@ -"""" - Re-entrancy detection +""" " +Re-entrancy detection - Based on heuristics, it may lead to FP and FN - Iterate over all the nodes of the graph until reaching a fixpoint +Based on heuristics, it may lead to FP and FN +Iterate over all the nodes of the graph until reaching a fixpoint """ + from collections import namedtuple, defaultdict from typing import List, Dict, Set @@ -114,14 +115,14 @@ def _detect(self) -> List[Output]: # pylint: disable=too-many-branches,too-many info = ["Reentrancy in ", func, ":\n"] info += ["\tExternal calls:\n"] - for (call_info, calls_list) in calls: + for call_info, calls_list in calls: info += ["\t- ", call_info, "\n"] for call_list_info in calls_list: if call_list_info != call_info: info += ["\t\t- ", call_list_info, "\n"] if calls != send_eth and send_eth: info += ["\tExternal calls sending eth:\n"] - for (call_info, calls_list) in send_eth: + for call_info, calls_list in send_eth: info += ["\t- ", call_info, "\n"] for call_list_info in calls_list: if call_list_info != call_info: @@ -148,7 +149,7 @@ def _detect(self) -> List[Output]: # pylint: disable=too-many-branches,too-many res.add(func) # Add all underlying calls in the function which are potentially problematic. - for (call_info, calls_list) in calls: + for call_info, calls_list in calls: res.add(call_info, {"underlying_type": "external_calls"}) for call_list_info in calls_list: if call_list_info != call_info: @@ -159,7 +160,7 @@ def _detect(self) -> List[Output]: # pylint: disable=too-many-branches,too-many # If the calls are not the same ones that send eth, add the eth sending nodes. if calls != send_eth: - for (call_info, calls_list) in send_eth: + for call_info, calls_list in send_eth: res.add(call_info, {"underlying_type": "external_calls_sending_eth"}) for call_list_info in calls_list: if call_list_info != call_info: diff --git a/slither/detectors/reentrancy/reentrancy_events.py b/slither/detectors/reentrancy/reentrancy_events.py index 8741b5e729..2ec5497b4c 100644 --- a/slither/detectors/reentrancy/reentrancy_events.py +++ b/slither/detectors/reentrancy/reentrancy_events.py @@ -1,9 +1,10 @@ -"""" - Re-entrancy detection +""" " +Re-entrancy detection - Based on heuristics, it may lead to FP and FN - Iterate over all the nodes of the graph until reaching a fixpoint +Based on heuristics, it may lead to FP and FN +Iterate over all the nodes of the graph until reaching a fixpoint """ + from collections import namedtuple, defaultdict from typing import DefaultDict, List, Set @@ -119,14 +120,14 @@ def _detect(self) -> List[Output]: # pylint: disable=too-many-branches info = ["Reentrancy in ", func, ":\n"] info += ["\tExternal calls:\n"] - for (call_info, calls_list) in calls: + for call_info, calls_list in calls: info += ["\t- ", call_info, "\n"] for call_list_info in calls_list: if call_list_info != call_info: info += ["\t\t- ", call_list_info, "\n"] if calls != send_eth and send_eth: info += ["\tExternal calls sending eth:\n"] - for (call_info, calls_list) in send_eth: + for call_info, calls_list in send_eth: info += ["\t- ", call_info, "\n"] for call_list_info in calls_list: if call_list_info != call_info: @@ -145,7 +146,7 @@ def _detect(self) -> List[Output]: # pylint: disable=too-many-branches res.add(func) # Add all underlying calls in the function which are potentially problematic. - for (call_info, calls_list) in calls: + for call_info, calls_list in calls: res.add(call_info, {"underlying_type": "external_calls"}) for call_list_info in calls_list: if call_list_info != call_info: @@ -158,7 +159,7 @@ def _detect(self) -> List[Output]: # pylint: disable=too-many-branches # If the calls are not the same ones that send eth, add the eth sending nodes. if calls != send_eth: - for (call_info, calls_list) in send_eth: + for call_info, calls_list in send_eth: res.add(call_info, {"underlying_type": "external_calls_sending_eth"}) for call_list_info in calls_list: if call_list_info != call_info: diff --git a/slither/detectors/reentrancy/reentrancy_no_gas.py b/slither/detectors/reentrancy/reentrancy_no_gas.py index 0e5ecc8f8a..73a2e08c1d 100644 --- a/slither/detectors/reentrancy/reentrancy_no_gas.py +++ b/slither/detectors/reentrancy/reentrancy_no_gas.py @@ -1,9 +1,10 @@ -"""" - Re-entrancy detection +""" " +Re-entrancy detection - Based on heuristics, it may lead to FP and FN - Iterate over all the nodes of the graph until reaching a fixpoint +Based on heuristics, it may lead to FP and FN +Iterate over all the nodes of the graph until reaching a fixpoint """ + from collections import namedtuple, defaultdict from typing import DefaultDict, List, Union, Set @@ -117,14 +118,14 @@ def _detect(self) -> List[Output]: # pylint: disable=too-many-branches,too-many info = ["Reentrancy in ", func, ":\n"] info += ["\tExternal calls:\n"] - for (call_info, calls_list) in calls: + for call_info, calls_list in calls: info += ["\t- ", call_info, "\n"] for call_list_info in calls_list: if call_list_info != call_info: info += ["\t\t- ", call_list_info, "\n"] if calls != send_eth and send_eth: info += ["\tExternal calls sending eth:\n"] - for (call_info, calls_list) in send_eth: + for call_info, calls_list in send_eth: info += ["\t- ", call_info, "\n"] for call_list_info in calls_list: if call_list_info != call_info: @@ -165,7 +166,7 @@ def _detect(self) -> List[Output]: # pylint: disable=too-many-branches,too-many res.add(func) # Add all underlying calls in the function which are potentially problematic. - for (call_info, calls_list) in calls: + for call_info, calls_list in calls: res.add(call_info, {"underlying_type": "external_calls"}) for call_list_info in calls_list: if call_list_info != call_info: @@ -178,7 +179,7 @@ def _detect(self) -> List[Output]: # pylint: disable=too-many-branches,too-many # If the calls are not the same ones that send eth, add the eth sending nodes. if calls != send_eth: - for (call_info, calls_list) in send_eth: + for call_info, calls_list in send_eth: res.add(call_info, {"underlying_type": "external_calls_sending_eth"}) for call_list_info in calls_list: if call_list_info != call_info: diff --git a/slither/detectors/reentrancy/reentrancy_read_before_write.py b/slither/detectors/reentrancy/reentrancy_read_before_write.py index a103108401..03cb56aec7 100644 --- a/slither/detectors/reentrancy/reentrancy_read_before_write.py +++ b/slither/detectors/reentrancy/reentrancy_read_before_write.py @@ -1,9 +1,10 @@ -"""" - Re-entrancy detection +""" " +Re-entrancy detection - Based on heuristics, it may lead to FP and FN - Iterate over all the nodes of the graph until reaching a fixpoint +Based on heuristics, it may lead to FP and FN +Iterate over all the nodes of the graph until reaching a fixpoint """ + from collections import namedtuple, defaultdict from typing import Dict, Set, List @@ -110,7 +111,7 @@ def _detect(self) -> List[Output]: # pylint: disable=too-many-branches info = ["Reentrancy in ", func, ":\n"] info += ["\tExternal calls:\n"] - for (call_info, calls_list) in calls: + for call_info, calls_list in calls: info += ["\t- ", call_info, "\n"] for call_list_info in calls_list: if call_list_info != call_info: @@ -137,7 +138,7 @@ def _detect(self) -> List[Output]: # pylint: disable=too-many-branches res.add(func) # Add all underlying calls in the function which are potentially problematic. - for (call_info, calls_list) in calls: + for call_info, calls_list in calls: res.add(call_info, {"underlying_type": "external_calls"}) for call_list_info in calls_list: if call_list_info != call_info: diff --git a/slither/detectors/shadowing/abstract.py b/slither/detectors/shadowing/abstract.py index d019d0f252..cbe68be992 100644 --- a/slither/detectors/shadowing/abstract.py +++ b/slither/detectors/shadowing/abstract.py @@ -2,6 +2,7 @@ Module detecting shadowing variables on abstract contract Recursively check the called functions """ + from typing import List from slither.core.declarations import Contract diff --git a/slither/detectors/shadowing/builtin_symbols.py b/slither/detectors/shadowing/builtin_symbols.py index 9d87764ae4..f52970f34c 100644 --- a/slither/detectors/shadowing/builtin_symbols.py +++ b/slither/detectors/shadowing/builtin_symbols.py @@ -1,6 +1,7 @@ """ Module detecting reserved keyword shadowing """ + from typing import List, Tuple, Union, Optional from slither.core.declarations import Function, Event diff --git a/slither/detectors/shadowing/local.py b/slither/detectors/shadowing/local.py index d67b5f688b..e3aabe5d5b 100644 --- a/slither/detectors/shadowing/local.py +++ b/slither/detectors/shadowing/local.py @@ -1,6 +1,7 @@ """ Module detecting local variable shadowing """ + from typing import List, Tuple, Union from slither.core.declarations.contract import Contract diff --git a/slither/detectors/statements/array_length_assignment.py b/slither/detectors/statements/array_length_assignment.py index 78abc73db6..9663352a19 100644 --- a/slither/detectors/statements/array_length_assignment.py +++ b/slither/detectors/statements/array_length_assignment.py @@ -1,6 +1,7 @@ """ Module detecting assignment of array length """ + from typing import List, Set, Union from slither.core.variables import Variable @@ -40,7 +41,6 @@ def detect_array_length_assignment(contract: Contract) -> Set[Node]: for node in function.nodes: if node.type == NodeType.EXPRESSION: for ir in node.irs: - # First we look for the member access for 'length', for which a reference is created. # We add the reference to our list of array length references. if isinstance(ir, Length): # a diff --git a/slither/detectors/statements/assembly.py b/slither/detectors/statements/assembly.py index 25b5d8034a..c4e1c6a977 100644 --- a/slither/detectors/statements/assembly.py +++ b/slither/detectors/statements/assembly.py @@ -1,6 +1,7 @@ """ Module detecting usage of inline assembly """ + from typing import List, Tuple from slither.core.cfg.node import Node, NodeType diff --git a/slither/detectors/statements/assert_state_change.py b/slither/detectors/statements/assert_state_change.py index d70495365f..1dc0109c22 100644 --- a/slither/detectors/statements/assert_state_change.py +++ b/slither/detectors/statements/assert_state_change.py @@ -1,6 +1,7 @@ """ Module detecting state changes in assert calls """ + from typing import List, Tuple from slither.core.cfg.node import Node @@ -90,7 +91,7 @@ def _detect(self) -> List[Output]: results = [] for contract in self.contracts: assert_state_change = detect_assert_state_change(contract) - for (func, node) in assert_state_change: + for func, node in assert_state_change: info: DETECTOR_INFO = [ func, " has an assert() call which possibly changes state.\n", diff --git a/slither/detectors/statements/boolean_constant_equality.py b/slither/detectors/statements/boolean_constant_equality.py index 97eb14aa5c..4ba3e10371 100644 --- a/slither/detectors/statements/boolean_constant_equality.py +++ b/slither/detectors/statements/boolean_constant_equality.py @@ -1,6 +1,7 @@ """ Module detecting misuse of Boolean constants """ + from typing import List, Set, Tuple from slither.core.cfg.node import Node @@ -56,7 +57,6 @@ class BooleanEquality(AbstractDetector): def _detect_boolean_equality( contract: Contract, ) -> List[Tuple[Function, Set[Node]]]: - # Create our result set. results: List[Tuple[Function, Set[Node]]] = [] @@ -86,7 +86,7 @@ def _detect(self) -> List[Output]: results = [] for contract in self.contracts: boolean_constant_misuses = self._detect_boolean_equality(contract) - for (func, nodes) in boolean_constant_misuses: + for func, nodes in boolean_constant_misuses: for node in nodes: info: DETECTOR_INFO = [ func, diff --git a/slither/detectors/statements/boolean_constant_misuse.py b/slither/detectors/statements/boolean_constant_misuse.py index 8f1836c352..671b1caef0 100644 --- a/slither/detectors/statements/boolean_constant_misuse.py +++ b/slither/detectors/statements/boolean_constant_misuse.py @@ -1,6 +1,7 @@ """ Module detecting misuse of Boolean constants """ + from typing import List, Set, Tuple from slither.core.cfg.node import Node, NodeType @@ -86,7 +87,6 @@ def _detect_boolean_constant_misuses( # Loop for every node in this function, looking for boolean constants for node in function.nodes: - # Do not report "while(true)" if node.type == NodeType.IFLOOP and node.irs and len(node.irs) == 1: ir = node.irs[0] @@ -122,7 +122,7 @@ def _detect(self) -> List[Output]: results = [] for contract in self.contracts: boolean_constant_misuses = self._detect_boolean_constant_misuses(contract) - for (func, nodes) in boolean_constant_misuses: + for func, nodes in boolean_constant_misuses: for node in nodes: info: DETECTOR_INFO = [ func, diff --git a/slither/detectors/statements/calls_in_loop.py b/slither/detectors/statements/calls_in_loop.py index 6b5ee61bcc..eb1fbb67eb 100644 --- a/slither/detectors/statements/calls_in_loop.py +++ b/slither/detectors/statements/calls_in_loop.py @@ -63,7 +63,6 @@ def call_in_loop( class MultipleCallsInLoop(AbstractDetector): - ARGUMENT = "calls-loop" HELP = "Multiple calls in a loop" IMPACT = DetectorClassification.LOW diff --git a/slither/detectors/statements/controlled_delegatecall.py b/slither/detectors/statements/controlled_delegatecall.py index bf78b3bf98..3ce7d32fbf 100644 --- a/slither/detectors/statements/controlled_delegatecall.py +++ b/slither/detectors/statements/controlled_delegatecall.py @@ -24,7 +24,6 @@ def controlled_delegatecall(function: FunctionContract) -> List[Node]: class ControlledDelegateCall(AbstractDetector): - ARGUMENT = "controlled-delegatecall" HELP = "Controlled delegatecall destination" IMPACT = DetectorClassification.HIGH diff --git a/slither/detectors/statements/costly_operations_in_loop.py b/slither/detectors/statements/costly_operations_in_loop.py index c27b102a66..b06a9abeb1 100644 --- a/slither/detectors/statements/costly_operations_in_loop.py +++ b/slither/detectors/statements/costly_operations_in_loop.py @@ -29,7 +29,6 @@ def costly_operations_in_loop( calls_stack: List[str], ret: Result, ) -> None: - if node is None: return @@ -61,7 +60,6 @@ def costly_operations_in_loop( class CostlyOperationsInLoop(AbstractDetector): - ARGUMENT = "costly-loop" HELP = "Costly operations in a loop" IMPACT = DetectorClassification.INFORMATIONAL diff --git a/slither/detectors/statements/delegatecall_in_loop.py b/slither/detectors/statements/delegatecall_in_loop.py index 8770ba3491..311186f020 100644 --- a/slither/detectors/statements/delegatecall_in_loop.py +++ b/slither/detectors/statements/delegatecall_in_loop.py @@ -27,7 +27,6 @@ def delegatecall_in_loop( calls_stack: List[str], results: Result, ) -> None: - if node is None: return diff --git a/slither/detectors/statements/deprecated_calls.py b/slither/detectors/statements/deprecated_calls.py index 5e066c751e..eb3874794f 100644 --- a/slither/detectors/statements/deprecated_calls.py +++ b/slither/detectors/statements/deprecated_calls.py @@ -1,6 +1,7 @@ """ Module detecting deprecated standards. """ + from typing import List, Tuple, Union from slither.core.cfg.node import Node, NodeType @@ -192,7 +193,7 @@ def _detect(self) -> List[Output]: deprecated_entries = deprecated_reference[1] info: DETECTOR_INFO = ["Deprecated standard detected ", source_object, ":\n"] - for (_dep_id, original_desc, recommended_disc) in deprecated_entries: + for _dep_id, original_desc, recommended_disc in deprecated_entries: info += [ f'\t- Usage of "{original_desc}" should be replaced with "{recommended_disc}"\n' ] diff --git a/slither/detectors/statements/divide_before_multiply.py b/slither/detectors/statements/divide_before_multiply.py index 33630480b6..99a272b933 100644 --- a/slither/detectors/statements/divide_before_multiply.py +++ b/slither/detectors/statements/divide_before_multiply.py @@ -1,6 +1,7 @@ """ Module detecting possible loss of precision due to divide before multiple """ + from collections import defaultdict from typing import DefaultDict, List, Tuple @@ -193,8 +194,7 @@ def _detect(self) -> List[Output]: for contract in self.contracts: divisions_before_multiplications = detect_divide_before_multiply(contract) if divisions_before_multiplications: - for (func, nodes) in divisions_before_multiplications: - + for func, nodes in divisions_before_multiplications: info: DETECTOR_INFO = [ func, " performs a multiplication on the result of a division:\n", diff --git a/slither/detectors/statements/incorrect_strict_equality.py b/slither/detectors/statements/incorrect_strict_equality.py index ae06d7bf3b..eea9d481e4 100644 --- a/slither/detectors/statements/incorrect_strict_equality.py +++ b/slither/detectors/statements/incorrect_strict_equality.py @@ -1,7 +1,8 @@ """ - Module detecting dangerous strict equality +Module detecting dangerous strict equality """ + from typing import Any, Dict, List, Union from slither.analyses.data_dependency.data_dependency import is_dependent_ssa from slither.core.declarations import Function @@ -155,7 +156,6 @@ def tainted_equality_nodes( continue for node in func.nodes: for ir in node.irs_ssa: - # Filter to only tainted equality (==) comparisons if ( self.is_direct_comparison(ir) @@ -189,7 +189,6 @@ def _detect(self) -> List[Output]: # sort ret to get deterministic results ret = sorted(list(ret.items()), key=lambda x: x[0].name) for f, nodes in ret: - func_info = [f, " uses a dangerous strict equality:\n"] # sort the nodes to get deterministic results diff --git a/slither/detectors/statements/mapping_deletion.py b/slither/detectors/statements/mapping_deletion.py index 0940d5a07b..4d6a0817dd 100644 --- a/slither/detectors/statements/mapping_deletion.py +++ b/slither/detectors/statements/mapping_deletion.py @@ -1,6 +1,7 @@ """ Detect deletion on structure containing a mapping """ + from typing import List, Tuple from slither.core.cfg.node import Node @@ -98,7 +99,7 @@ def _detect(self) -> List[Output]: results = [] for c in self.contracts: mapping = MappingDeletionDetection.detect_mapping_deletion(c) - for (func, struct, node) in mapping: + for func, struct, node in mapping: info: DETECTOR_INFO = [func, " deletes ", struct, " which contains a mapping:\n"] info += ["\t-", node, "\n"] diff --git a/slither/detectors/statements/msg_value_in_loop.py b/slither/detectors/statements/msg_value_in_loop.py index f6c66a9780..fe58459baa 100644 --- a/slither/detectors/statements/msg_value_in_loop.py +++ b/slither/detectors/statements/msg_value_in_loop.py @@ -30,7 +30,6 @@ def msg_value_in_loop( calls_stack: List[str], results: Result, ) -> None: - if node is None: return diff --git a/slither/detectors/statements/redundant_statements.py b/slither/detectors/statements/redundant_statements.py index cebaecebeb..ea856ef527 100644 --- a/slither/detectors/statements/redundant_statements.py +++ b/slither/detectors/statements/redundant_statements.py @@ -1,6 +1,7 @@ """ Module detecting redundant statements. """ + from typing import List from slither.core.cfg.node import Node, NodeType @@ -66,7 +67,6 @@ def detect_redundant_statements_contract(self, contract: Contract) -> List[Node] # Loop through all functions + modifiers defined explicitly in this contract. for function in contract.functions_and_modifiers_declared: - # Loop through each node in this function. for node in function.nodes: if node.expression: @@ -89,7 +89,6 @@ def _detect(self) -> List[Output]: for contract in self.contracts: redundant_statements = self.detect_redundant_statements_contract(contract) if redundant_statements: - for redundant_statement in redundant_statements: info: DETECTOR_INFO = [ 'Redundant expression "', diff --git a/slither/detectors/statements/return_bomb.py b/slither/detectors/statements/return_bomb.py index a540ada191..6d3b05c785 100644 --- a/slither/detectors/statements/return_bomb.py +++ b/slither/detectors/statements/return_bomb.py @@ -15,7 +15,6 @@ class ReturnBomb(AbstractDetector): - ARGUMENT = "return-bomb" HELP = "A low level callee may consume all callers gas unexpectedly." IMPACT = DetectorClassification.LOW diff --git a/slither/detectors/statements/tx_origin.py b/slither/detectors/statements/tx_origin.py index 49bf6006d1..1637ecb920 100644 --- a/slither/detectors/statements/tx_origin.py +++ b/slither/detectors/statements/tx_origin.py @@ -1,6 +1,7 @@ """ Module detecting usage of `tx.origin` in a conditional node """ + from typing import List, Tuple from slither.core.cfg.node import Node @@ -64,7 +65,6 @@ def _contains_incorrect_tx_origin_use(node: Node) -> bool: def detect_tx_origin(self, contract: Contract) -> List[Tuple[FunctionContract, List[Node]]]: ret = [] for f in contract.functions: - nodes = f.nodes condtional_nodes = [ n for n in nodes if n.contains_if() or n.contains_require_or_assert() @@ -82,7 +82,6 @@ def _detect(self) -> List[Output]: for c in self.contracts: values = self.detect_tx_origin(c) for func, nodes in values: - for node in nodes: info: DETECTOR_INFO = [func, " uses tx.origin for authorization: ", node, "\n"] res = self.generate_result(info) diff --git a/slither/detectors/statements/type_based_tautology.py b/slither/detectors/statements/type_based_tautology.py index f7554ceb4c..8af9964e99 100644 --- a/slither/detectors/statements/type_based_tautology.py +++ b/slither/detectors/statements/type_based_tautology.py @@ -1,6 +1,7 @@ """ Module detecting tautologies and contradictions based on types in comparison operations over integers """ + from typing import List, Set, Tuple from slither.core.cfg.node import Node @@ -163,7 +164,7 @@ def _detect(self) -> List[Output]: for contract in self.contracts: tautologies = self.detect_type_based_tautologies(contract) if tautologies: - for (func, nodes) in tautologies: + for func, nodes in tautologies: for node in nodes: info = [func, " contains a tautology or contradiction:\n"] info += ["\t- ", node, "\n"] diff --git a/slither/detectors/statements/unary.py b/slither/detectors/statements/unary.py index 52e8fe1705..19d0b2f2ac 100644 --- a/slither/detectors/statements/unary.py +++ b/slither/detectors/statements/unary.py @@ -1,6 +1,7 @@ """ Module detecting the incorrect use of unary expressions """ + from typing import List from slither.core.expressions.assignment_operation import AssignmentOperation @@ -14,6 +15,7 @@ from slither.utils.output import Output from slither.visitors.expression.expression import ExpressionVisitor + # pylint: disable=too-few-public-methods class InvalidUnaryExpressionDetector(ExpressionVisitor): def __init__(self, expression: Expression) -> None: diff --git a/slither/detectors/statements/unprotected_upgradeable.py b/slither/detectors/statements/unprotected_upgradeable.py index aeb785da36..c8198d2e46 100644 --- a/slither/detectors/statements/unprotected_upgradeable.py +++ b/slither/detectors/statements/unprotected_upgradeable.py @@ -69,7 +69,6 @@ def _initialize_functions(contract: Contract) -> List[Function]: class UnprotectedUpgradeable(AbstractDetector): - ARGUMENT = "unprotected-upgrade" HELP = "Unprotected upgradeable contract" IMPACT = DetectorClassification.HIGH diff --git a/slither/detectors/statements/unused_import.py b/slither/detectors/statements/unused_import.py index d3447dcd81..f76fa08f44 100644 --- a/slither/detectors/statements/unused_import.py +++ b/slither/detectors/statements/unused_import.py @@ -2,6 +2,7 @@ from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification, Output from slither.core.scope.scope import FileScope + # pylint: disable=protected-access,too-many-nested-blocks class UnusedImport(AbstractDetector): """ diff --git a/slither/detectors/variables/function_init_state_variables.py b/slither/detectors/variables/function_init_state_variables.py index bf2fdc6bdb..00aca3b464 100644 --- a/slither/detectors/variables/function_init_state_variables.py +++ b/slither/detectors/variables/function_init_state_variables.py @@ -1,6 +1,7 @@ """ Module detecting state variables initializing from an immediate function call (prior to constructor run). """ + from typing import List from slither.core.declarations.contract import Contract @@ -25,7 +26,6 @@ def detect_function_init_state_vars(contract: Contract) -> List[StateVariable]: # Loop for each state variable explicitly defined in this contract. for state_variable in contract.variables: - # Skip this variable if it is inherited and not explicitly defined in this contract definition. if state_variable.contract != contract: continue diff --git a/slither/detectors/variables/predeclaration_usage_local.py b/slither/detectors/variables/predeclaration_usage_local.py index a08d485f34..7cf3bb68ac 100644 --- a/slither/detectors/variables/predeclaration_usage_local.py +++ b/slither/detectors/variables/predeclaration_usage_local.py @@ -1,6 +1,7 @@ """ Module detecting any path leading to usage of a local variable before it is declared. """ + from typing import List, Set, Tuple from slither.core.cfg.node import Node @@ -150,7 +151,7 @@ def _detect(self) -> List[Output]: for contract in self.contracts: predeclared_usages = self.detect_predeclared_in_contract(contract) if predeclared_usages: - for (predeclared_usage_function, predeclared_usage_nodes) in predeclared_usages: + for predeclared_usage_function, predeclared_usage_nodes in predeclared_usages: for ( predeclared_usage_node, predeclared_usage_local_variable, diff --git a/slither/detectors/variables/unchanged_state_variables.py b/slither/detectors/variables/unchanged_state_variables.py index 64c4c350f6..178699f1aa 100644 --- a/slither/detectors/variables/unchanged_state_variables.py +++ b/slither/detectors/variables/unchanged_state_variables.py @@ -1,6 +1,7 @@ """ Module detecting state variables that could be declared as constant """ + from typing import Set, List from packaging import version from slither.core.compilation_unit import SlitherCompilationUnit diff --git a/slither/detectors/variables/uninitialized_local_variables.py b/slither/detectors/variables/uninitialized_local_variables.py index 0aa5579f88..bef3e5cdd4 100644 --- a/slither/detectors/variables/uninitialized_local_variables.py +++ b/slither/detectors/variables/uninitialized_local_variables.py @@ -1,9 +1,10 @@ """ - Module detecting uninitialized local variables +Module detecting uninitialized local variables - Recursively explore the CFG to only report uninitialized local variables that are - read before being written +Recursively explore the CFG to only report uninitialized local variables that are +read before being written """ + from typing import List from slither.core.cfg.node import Node, NodeType @@ -13,7 +14,6 @@ class UninitializedLocalVars(AbstractDetector): - ARGUMENT = "uninitialized-local" HELP = "Uninitialized local variables" IMPACT = DetectorClassification.MEDIUM @@ -117,8 +117,7 @@ def _detect(self) -> List[Output]: function.entry_point.context[self.key] = uninitialized_local_variables self._detect_uninitialized(function, function.entry_point, []) all_results = list(set(self.results)) - for (function, uninitialized_local_variable) in all_results: - + for function, uninitialized_local_variable in all_results: info = [ uninitialized_local_variable, " is a local variable never initialized\n", diff --git a/slither/detectors/variables/uninitialized_state_variables.py b/slither/detectors/variables/uninitialized_state_variables.py index 13cf110521..c519e2c4b7 100644 --- a/slither/detectors/variables/uninitialized_state_variables.py +++ b/slither/detectors/variables/uninitialized_state_variables.py @@ -1,13 +1,14 @@ """ - Module detecting state uninitialized variables - Recursively check the called functions +Module detecting state uninitialized variables +Recursively check the called functions - The heuristic checks: - - state variables including mappings/refs - - LibraryCalls, InternalCalls, InternalDynamicCalls with storage variables +The heuristic checks: +- state variables including mappings/refs +- LibraryCalls, InternalCalls, InternalDynamicCalls with storage variables - Only analyze "leaf" contracts (contracts that are not inherited by another contract) +Only analyze "leaf" contracts (contracts that are not inherited by another contract) """ + from typing import List, Tuple from slither.core.declarations import Function @@ -143,7 +144,6 @@ def _detect(self) -> List[Output]: for c in self.compilation_unit.contracts_derived: ret = self._detect_uninitialized(c) for variable, functions in ret: - info: DETECTOR_INFO = [variable, " is never initialized. It is used in:\n"] for f in functions: diff --git a/slither/detectors/variables/uninitialized_storage_variables.py b/slither/detectors/variables/uninitialized_storage_variables.py index 9caa5b88fc..9b20fb2417 100644 --- a/slither/detectors/variables/uninitialized_storage_variables.py +++ b/slither/detectors/variables/uninitialized_storage_variables.py @@ -1,9 +1,10 @@ """ - Module detecting uninitialized storage variables +Module detecting uninitialized storage variables - Recursively explore the CFG to only report uninitialized storage variables that are - written before being read +Recursively explore the CFG to only report uninitialized storage variables that are +written before being read """ + from typing import List from slither.core.cfg.node import Node @@ -13,7 +14,6 @@ class UninitializedStorageVars(AbstractDetector): - ARGUMENT = "uninitialized-storage" HELP = "Uninitialized storage variables" IMPACT = DetectorClassification.HIGH @@ -111,7 +111,7 @@ def _detect(self) -> List[Output]: function.entry_point.context[self.key] = uninitialized_storage_variables self._detect_uninitialized(function, function.entry_point, []) - for (function, uninitialized_storage_variable) in self.results: + for function, uninitialized_storage_variable in self.results: info = [ uninitialized_storage_variable, " is a storage variable never initialized\n", diff --git a/slither/detectors/variables/unused_state_variables.py b/slither/detectors/variables/unused_state_variables.py index 0fb068fda4..c9db644ec5 100644 --- a/slither/detectors/variables/unused_state_variables.py +++ b/slither/detectors/variables/unused_state_variables.py @@ -1,6 +1,7 @@ """ Module detecting unused state variables """ + from typing import List, Optional, Dict from slither.core.compilation_unit import SlitherCompilationUnit diff --git a/slither/formatters/naming_convention/naming_convention.py b/slither/formatters/naming_convention/naming_convention.py index ebb6b7f5b5..2b033c96c8 100644 --- a/slither/formatters/naming_convention/naming_convention.py +++ b/slither/formatters/naming_convention/naming_convention.py @@ -40,7 +40,7 @@ def custom_format(compilation_unit: SlitherCompilationUnit, result: Dict) -> Non if convention == "l_O_I_should_not_be_used": # l_O_I_should_not_be_used cannot be automatically patched logger.info( - f'The following naming convention cannot be patched: \n{result["description"]}' + f"The following naming convention cannot be patched: \n{result['description']}" ) continue @@ -404,7 +404,6 @@ def _explore_type( # pylint: disable=too-many-arguments,too-many-locals,too-man custom_type.type_from, custom_type.type_to, ]: - full_txt_start = start full_txt_end = end full_txt = slither.core.source_code[filename_source_code].encode("utf8")[ diff --git a/slither/formatters/utils/patches.py b/slither/formatters/utils/patches.py index 9eb8834059..16b9c42cda 100644 --- a/slither/formatters/utils/patches.py +++ b/slither/formatters/utils/patches.py @@ -5,6 +5,7 @@ from slither.core.compilation_unit import SlitherCompilationUnit + # pylint: disable=too-many-arguments def create_patch( result: Dict, diff --git a/slither/formatters/variables/unchanged_state_variables.py b/slither/formatters/variables/unchanged_state_variables.py index cb880d997b..158462ef3a 100644 --- a/slither/formatters/variables/unchanged_state_variables.py +++ b/slither/formatters/variables/unchanged_state_variables.py @@ -8,7 +8,6 @@ def custom_format(compilation_unit: SlitherCompilationUnit, result, attribute: str) -> None: elements = result["elements"] for element in elements: - # TODO: decide if this should be changed in the constant detector contract_name = element["type_specific_fields"]["parent"]["name"] scope = compilation_unit.get_scope(element["source_mapping"]["filename_absolute"]) diff --git a/slither/printers/call/call_graph.py b/slither/printers/call/call_graph.py index 377f69ad27..8cd69333f1 100644 --- a/slither/printers/call/call_graph.py +++ b/slither/printers/call/call_graph.py @@ -1,10 +1,11 @@ """ - Module printing the call graph +Module printing the call graph - The call graph shows for each function, - what are the contracts/functions called. - The output is a dot file named filename.dot +The call graph shows for each function, +what are the contracts/functions called. +The output is a dot file named filename.dot """ + from collections import defaultdict from typing import Optional, Union, Dict, Set, Tuple, Sequence diff --git a/slither/printers/functions/authorization.py b/slither/printers/functions/authorization.py index 288392a468..672a96a7b1 100644 --- a/slither/printers/functions/authorization.py +++ b/slither/printers/functions/authorization.py @@ -1,6 +1,7 @@ """ - Module printing summary of the contract +Module printing summary of the contract """ + from typing import List from slither.printers.abstract_printer import AbstractPrinter @@ -10,7 +11,6 @@ class PrinterWrittenVariablesAndAuthorization(AbstractPrinter): - ARGUMENT = "vars-and-auth" HELP = "Print the state variables written and the authorization of the functions" @@ -56,7 +56,6 @@ def output(self, _filename: str) -> Output: ["Function", "State variables written", "Conditions on msg.sender"] ) for function in contract.functions: - state_variables_written = [ v.name for v in function.all_state_variables_written() if v.name ] diff --git a/slither/printers/functions/cfg.py b/slither/printers/functions/cfg.py index 00804a34d7..9d9afb7044 100644 --- a/slither/printers/functions/cfg.py +++ b/slither/printers/functions/cfg.py @@ -3,7 +3,6 @@ class CFG(AbstractPrinter): - ARGUMENT = "cfg" HELP = "Export the CFG of each functions" diff --git a/slither/printers/functions/dominator.py b/slither/printers/functions/dominator.py index 1b32498f95..069a1ab266 100644 --- a/slither/printers/functions/dominator.py +++ b/slither/printers/functions/dominator.py @@ -3,7 +3,6 @@ class Dominator(AbstractPrinter): - ARGUMENT = "dominator" HELP = "Export the dominator tree of each functions" diff --git a/slither/printers/inheritance/inheritance.py b/slither/printers/inheritance/inheritance.py index 4ef961a5a7..068047ca0a 100644 --- a/slither/printers/inheritance/inheritance.py +++ b/slither/printers/inheritance/inheritance.py @@ -1,7 +1,7 @@ """ - Module printing the inheritance relation +Module printing the inheritance relation - The inheritance shows the relation between the contracts +The inheritance shows the relation between the contracts """ from slither.printers.abstract_printer import AbstractPrinter @@ -39,7 +39,6 @@ def output(self, filename): info += blue(f"\n+ {child.name}\n") result["child_to_base"][child.name] = {"immediate": [], "not_immediate": []} if child.inheritance: - immediate = child.immediate_inheritance not_immediate = [i for i in child.inheritance if i not in immediate] diff --git a/slither/printers/inheritance/inheritance_graph.py b/slither/printers/inheritance/inheritance_graph.py index 54b525c774..ce7c83235e 100644 --- a/slither/printers/inheritance/inheritance_graph.py +++ b/slither/printers/inheritance/inheritance_graph.py @@ -1,9 +1,9 @@ """ - Module printing the inheritance graph +Module printing the inheritance graph - The inheritance graph shows the relation between the contracts - and their functions/modifiers/public variables. - The output is a dot file named filename.dot +The inheritance graph shows the relation between the contracts +and their functions/modifiers/public variables. +The output is a dot file named filename.dot """ from slither.core.declarations.contract import Contract diff --git a/slither/printers/summary/cheatcodes.py b/slither/printers/summary/cheatcodes.py index 857ec2da9f..b700a837ae 100644 --- a/slither/printers/summary/cheatcodes.py +++ b/slither/printers/summary/cheatcodes.py @@ -1,15 +1,15 @@ """ - Cheatcode printer +Cheatcode printer - This printer prints the usage of cheatcode in the code. +This printer prints the usage of cheatcode in the code. """ + from slither.printers.abstract_printer import AbstractPrinter from slither.slithir.operations import HighLevelCall from slither.utils import output class CheatcodePrinter(AbstractPrinter): - ARGUMENT = "cheatcode" HELP = """ @@ -20,7 +20,6 @@ class CheatcodePrinter(AbstractPrinter): WIKI = "https://github.com/trailofbits/slither/wiki/Printer-documentation#cheatcode" def output(self, filename: str) -> output.Output: - info: str = "" try: diff --git a/slither/printers/summary/ck.py b/slither/printers/summary/ck.py index 78da23756b..a993517a5c 100644 --- a/slither/printers/summary/ck.py +++ b/slither/printers/summary/ck.py @@ -1,35 +1,36 @@ """ - CK Metrics are a suite of six software metrics proposed by Chidamber and Kemerer in 1994. - These metrics are used to measure the complexity of a class. - https://en.wikipedia.org/wiki/Programming_complexity - - - Response For a Class (RFC) is a metric that measures the number of unique method calls within a class. - - Number of Children (NOC) is a metric that measures the number of children a class has. - - Depth of Inheritance Tree (DIT) is a metric that measures the number of parent classes a class has. - - Coupling Between Object Classes (CBO) is a metric that measures the number of classes a class is coupled to. - - Not implemented: - - Lack of Cohesion of Methods (LCOM) is a metric that measures the lack of cohesion in methods. - - Weighted Methods per Class (WMC) is a metric that measures the complexity of a class. - - During the calculation of the metrics above, there are a number of other intermediate metrics that are calculated. - These are also included in the output: - - State variables: total number of state variables - - Constants: total number of constants - - Immutables: total number of immutables - - Public: total number of public functions - - External: total number of external functions - - Internal: total number of internal functions - - Private: total number of private functions - - Mutating: total number of state mutating functions - - View: total number of view functions - - Pure: total number of pure functions - - External mutating: total number of external mutating functions - - No auth or onlyOwner: total number of functions without auth or onlyOwner modifiers - - No modifiers: total number of functions without modifiers - - Ext calls: total number of external calls +CK Metrics are a suite of six software metrics proposed by Chidamber and Kemerer in 1994. +These metrics are used to measure the complexity of a class. +https://en.wikipedia.org/wiki/Programming_complexity + +- Response For a Class (RFC) is a metric that measures the number of unique method calls within a class. +- Number of Children (NOC) is a metric that measures the number of children a class has. +- Depth of Inheritance Tree (DIT) is a metric that measures the number of parent classes a class has. +- Coupling Between Object Classes (CBO) is a metric that measures the number of classes a class is coupled to. + +Not implemented: +- Lack of Cohesion of Methods (LCOM) is a metric that measures the lack of cohesion in methods. +- Weighted Methods per Class (WMC) is a metric that measures the complexity of a class. + +During the calculation of the metrics above, there are a number of other intermediate metrics that are calculated. +These are also included in the output: + - State variables: total number of state variables + - Constants: total number of constants + - Immutables: total number of immutables + - Public: total number of public functions + - External: total number of external functions + - Internal: total number of internal functions + - Private: total number of private functions + - Mutating: total number of state mutating functions + - View: total number of view functions + - Pure: total number of pure functions + - External mutating: total number of external mutating functions + - No auth or onlyOwner: total number of functions without auth or onlyOwner modifiers + - No modifiers: total number of functions without modifiers + - Ext calls: total number of external calls """ + from slither.printers.abstract_printer import AbstractPrinter from slither.utils.ck import CKMetrics from slither.utils.output import Output diff --git a/slither/printers/summary/constructor_calls.py b/slither/printers/summary/constructor_calls.py index 789811c360..299528ca09 100644 --- a/slither/printers/summary/constructor_calls.py +++ b/slither/printers/summary/constructor_calls.py @@ -1,6 +1,7 @@ """ - Module printing summary of the contract +Module printing summary of the contract """ + from slither.core.declarations import Function from slither.core.source_mapping.source_mapping import Source from slither.printers.abstract_printer import AbstractPrinter @@ -34,7 +35,6 @@ def output(self, _filename: str) -> Output: stack_definition.append(_get_source_code(cst)) if len(stack_name) > 0: - info += "\n########" + "#" * len(contract.name) + "########\n" info += "####### " + contract.name + " #######\n" info += "########" + "#" * len(contract.name) + "########\n\n" diff --git a/slither/printers/summary/contract.py b/slither/printers/summary/contract.py index 3980c63fc7..3271492791 100644 --- a/slither/printers/summary/contract.py +++ b/slither/printers/summary/contract.py @@ -1,6 +1,7 @@ """ - Module printing summary of the contract +Module printing summary of the contract """ + import collections from typing import Dict, List diff --git a/slither/printers/summary/data_depenency.py b/slither/printers/summary/data_depenency.py index 8646529781..90af5433c1 100644 --- a/slither/printers/summary/data_depenency.py +++ b/slither/printers/summary/data_depenency.py @@ -1,6 +1,7 @@ """ - Module printing summary of the contract +Module printing summary of the contract """ + from typing import List from slither.core.declarations import Contract @@ -22,7 +23,6 @@ def _get(v: SUPPORTED_TYPES, c: Contract) -> List[str]: class DataDependency(AbstractPrinter): - ARGUMENT = "data-dependency" HELP = "Print the data dependencies of the variables" diff --git a/slither/printers/summary/entry_points.py b/slither/printers/summary/entry_points.py index 2b4838d996..373b3990f6 100644 --- a/slither/printers/summary/entry_points.py +++ b/slither/printers/summary/entry_points.py @@ -12,7 +12,6 @@ class PrinterEntryPoints(AbstractPrinter): - ARGUMENT = "entry-points" HELP = "Print all the state-changing entry point functions of the contracts" diff --git a/slither/printers/summary/evm.py b/slither/printers/summary/evm.py index b834eb6eb8..38209e0b5c 100644 --- a/slither/printers/summary/evm.py +++ b/slither/printers/summary/evm.py @@ -1,6 +1,7 @@ """ - Module printing evm mapping of the contract +Module printing evm mapping of the contract """ + import logging from typing import Union, List, Dict diff --git a/slither/printers/summary/function.py b/slither/printers/summary/function.py index 2329804256..2642ecdace 100644 --- a/slither/printers/summary/function.py +++ b/slither/printers/summary/function.py @@ -1,5 +1,5 @@ """ - Module printing summary of the contract +Module printing summary of the contract """ from slither.printers.abstract_printer import AbstractPrinter @@ -7,7 +7,6 @@ class FunctionSummary(AbstractPrinter): - ARGUMENT = "function-summary" HELP = "Print a summary of the functions" diff --git a/slither/printers/summary/function_ids.py b/slither/printers/summary/function_ids.py index ca02dd7549..37fda1461b 100644 --- a/slither/printers/summary/function_ids.py +++ b/slither/printers/summary/function_ids.py @@ -1,13 +1,13 @@ """ - Module printing summary of the contract +Module printing summary of the contract """ + from slither.printers.abstract_printer import AbstractPrinter from slither.utils.function import get_function_id from slither.utils.myprettytable import MyPrettyTable class FunctionIds(AbstractPrinter): - ARGUMENT = "function-id" HELP = "Print the keccak256 signature of the functions" diff --git a/slither/printers/summary/halstead.py b/slither/printers/summary/halstead.py index d3c3557db9..98da1b1f15 100644 --- a/slither/printers/summary/halstead.py +++ b/slither/printers/summary/halstead.py @@ -1,28 +1,29 @@ """ - Halstead complexity metrics - https://en.wikipedia.org/wiki/Halstead_complexity_measures +Halstead complexity metrics +https://en.wikipedia.org/wiki/Halstead_complexity_measures - 12 metrics based on the number of unique operators and operands: +12 metrics based on the number of unique operators and operands: - Core metrics: - n1 = the number of distinct operators - n2 = the number of distinct operands - N1 = the total number of operators - N2 = the total number of operands +Core metrics: +n1 = the number of distinct operators +n2 = the number of distinct operands +N1 = the total number of operators +N2 = the total number of operands - Extended metrics1: - n = n1 + n2 # Program vocabulary - N = N1 + N2 # Program length - S = n1 * log2(n1) + n2 * log2(n2) # Estimated program length - V = N * log2(n) # Volume +Extended metrics1: +n = n1 + n2 # Program vocabulary +N = N1 + N2 # Program length +S = n1 * log2(n1) + n2 * log2(n2) # Estimated program length +V = N * log2(n) # Volume - Extended metrics2: - D = (n1 / 2) * (N2 / n2) # Difficulty - E = D * V # Effort - T = E / 18 seconds # Time required to program - B = (E^(2/3)) / 3000 # Number of delivered bugs +Extended metrics2: +D = (n1 / 2) * (N2 / n2) # Difficulty +E = D * V # Effort +T = E / 18 seconds # Time required to program +B = (E^(2/3)) / 3000 # Number of delivered bugs """ + from slither.printers.abstract_printer import AbstractPrinter from slither.utils.halstead import HalsteadMetrics from slither.utils.output import Output diff --git a/slither/printers/summary/human_summary.py b/slither/printers/summary/human_summary.py index 314335ebf4..755df95f96 100644 --- a/slither/printers/summary/human_summary.py +++ b/slither/printers/summary/human_summary.py @@ -1,6 +1,7 @@ """ Module printing summary of the contract """ + import logging from typing import Tuple, List, Dict @@ -339,12 +340,12 @@ def output(self, _filename): # pylint: disable=too-many-locals,too-many-stateme libs = self._standard_libraries() if libs: - txt += f'\nUse: {", ".join(libs)}\n' + txt += f"\nUse: {', '.join(libs)}\n" results["standard_libraries"] = [str(lib) for lib in libs] ercs = self._ercs() if ercs: - txt += f'ERCs: {", ".join(ercs)}\n' + txt += f"ERCs: {', '.join(ercs)}\n" results["ercs"] = [str(e) for e in ercs] table = MyPrettyTable( diff --git a/slither/printers/summary/loc.py b/slither/printers/summary/loc.py index 886803e8e2..dff31428e9 100644 --- a/slither/printers/summary/loc.py +++ b/slither/printers/summary/loc.py @@ -1,13 +1,13 @@ """ - Lines of Code (LOC) printer +Lines of Code (LOC) printer - Definitions: - cloc: comment lines of code containing only comments - sloc: source lines of code with no whitespace or comments - loc: all lines of code including whitespace and comments - src: source files (excluding tests and dependencies) - dep: dependency files - test: test files +Definitions: +cloc: comment lines of code containing only comments +sloc: source lines of code with no whitespace or comments +loc: all lines of code including whitespace and comments +src: source files (excluding tests and dependencies) +dep: dependency files +test: test files """ from slither.printers.abstract_printer import AbstractPrinter diff --git a/slither/printers/summary/martin.py b/slither/printers/summary/martin.py index a0f1bbfcb1..771edaf3b6 100644 --- a/slither/printers/summary/martin.py +++ b/slither/printers/summary/martin.py @@ -1,14 +1,15 @@ """ - Robert "Uncle Bob" Martin - Agile software metrics - https://en.wikipedia.org/wiki/Software_package_metrics +Robert "Uncle Bob" Martin - Agile software metrics +https://en.wikipedia.org/wiki/Software_package_metrics - Efferent Coupling (Ce): Number of contracts that the contract depends on - Afferent Coupling (Ca): Number of contracts that depend on a contract - Instability (I): Ratio of efferent coupling to total coupling (Ce / (Ce + Ca)) - Abstractness (A): Number of abstract contracts / total number of contracts - Distance from the Main Sequence (D): abs(A + I - 1) +Efferent Coupling (Ce): Number of contracts that the contract depends on +Afferent Coupling (Ca): Number of contracts that depend on a contract +Instability (I): Ratio of efferent coupling to total coupling (Ce / (Ce + Ca)) +Abstractness (A): Number of abstract contracts / total number of contracts +Distance from the Main Sequence (D): abs(A + I - 1) """ + from slither.printers.abstract_printer import AbstractPrinter from slither.utils.martin import MartinMetrics from slither.utils.output import Output diff --git a/slither/printers/summary/modifier_calls.py b/slither/printers/summary/modifier_calls.py index 225376a3cf..218cf6ea6c 100644 --- a/slither/printers/summary/modifier_calls.py +++ b/slither/printers/summary/modifier_calls.py @@ -1,5 +1,5 @@ """ - Module printing summary of the contract +Module printing summary of the contract """ from slither.core.declarations import Function @@ -8,7 +8,6 @@ class Modifiers(AbstractPrinter): - ARGUMENT = "modifiers" HELP = "Print the modifiers called by each function" diff --git a/slither/printers/summary/require_calls.py b/slither/printers/summary/require_calls.py index ae79e9ed66..12705a5452 100644 --- a/slither/printers/summary/require_calls.py +++ b/slither/printers/summary/require_calls.py @@ -1,5 +1,5 @@ """ - Module printing summary of the contract +Module printing summary of the contract """ from slither.core.declarations import SolidityFunction @@ -16,7 +16,6 @@ class RequireOrAssert(AbstractPrinter): - ARGUMENT = "require" HELP = "Print the require and assert calls of each function" diff --git a/slither/printers/summary/slithir.py b/slither/printers/summary/slithir.py index cbdb50dcc3..145bccea8f 100644 --- a/slither/printers/summary/slithir.py +++ b/slither/printers/summary/slithir.py @@ -1,6 +1,7 @@ """ - Module printing summary of the contract +Module printing summary of the contract """ + from slither.core.declarations import Function from slither.printers.abstract_printer import AbstractPrinter @@ -38,7 +39,7 @@ def output(self, _filename): for contract in compilation_unit.contracts: txt += f"Contract {contract.name}\n" for function in contract.functions: - txt += f'\tFunction {function.canonical_name} {"" if function.is_shadowed else "(*)"}\n' + txt += f"\tFunction {function.canonical_name} {'' if function.is_shadowed else '(*)'}\n" txt += _print_function(function) for modifier in contract.modifiers: txt += f"\tModifier {modifier.canonical_name}\n" diff --git a/slither/printers/summary/slithir_ssa.py b/slither/printers/summary/slithir_ssa.py index 052597299e..535879f413 100644 --- a/slither/printers/summary/slithir_ssa.py +++ b/slither/printers/summary/slithir_ssa.py @@ -1,12 +1,11 @@ """ - Module printing summary of the contract +Module printing summary of the contract """ from slither.printers.abstract_printer import AbstractPrinter class PrinterSlithIRSSA(AbstractPrinter): - ARGUMENT = "slithir-ssa" HELP = "Print the slithIR representation of the functions" diff --git a/slither/printers/summary/variable_order.py b/slither/printers/summary/variable_order.py index fb19e39857..6503e57dac 100644 --- a/slither/printers/summary/variable_order.py +++ b/slither/printers/summary/variable_order.py @@ -1,5 +1,5 @@ """ - Module printing summary of the contract +Module printing summary of the contract """ from slither.printers.abstract_printer import AbstractPrinter @@ -8,7 +8,6 @@ class VariableOrder(AbstractPrinter): - ARGUMENT = "variable-order" HELP = "Print the storage order of the state variables" diff --git a/slither/printers/summary/when_not_paused.py b/slither/printers/summary/when_not_paused.py index fc96268ef3..9de04d30bb 100644 --- a/slither/printers/summary/when_not_paused.py +++ b/slither/printers/summary/when_not_paused.py @@ -1,5 +1,5 @@ """ - Module printing summary of the contract +Module printing summary of the contract """ from slither.core.declarations import Function @@ -10,7 +10,6 @@ def _use_modifier(function: Function, modifier_name: str = "whenNotPaused") -> bool: - for ir in function.all_internal_calls(): if isinstance(ir, function, SolidityFunction): continue @@ -20,7 +19,6 @@ def _use_modifier(function: Function, modifier_name: str = "whenNotPaused") -> b class PrinterWhenNotPaused(AbstractPrinter): - ARGUMENT = "not-pausable" HELP = "Print functions that do not use whenNotPaused" @@ -39,7 +37,6 @@ def output(self, _filename: str) -> output.Output: txt += "Constructor and pure/view functions are not displayed\n" all_tables = [] for contract in self.slither.contracts: - txt += f"\n{contract.name}:\n" table = MyPrettyTable(["Name", "Use whenNotPaused"]) diff --git a/slither/slither.py b/slither/slither.py index 7adc0694ca..fdce8cf692 100644 --- a/slither/slither.py +++ b/slither/slither.py @@ -24,7 +24,6 @@ def _check_common_things( thing_name: str, cls: Type, base_cls: Type, instances_list: List[Type[AbstractDetector]] ) -> None: - if not issubclass(cls, base_cls) or cls is base_cls: raise SlitherError( f"You can't register {cls!r} as a {thing_name}. You need to pass a class that inherits from {base_cls.__name__}" @@ -88,9 +87,7 @@ def _update_file_scopes( ) -class Slither( - SlitherCore -): # pylint: disable=too-many-instance-attributes,too-many-locals,too-many-statements,too-many-branches +class Slither(SlitherCore): # pylint: disable=too-many-instance-attributes,too-many-locals,too-many-statements,too-many-branches def __init__(self, target: Union[str, CryticCompile], **kwargs) -> None: """ Args: diff --git a/slither/slithir/convert.py b/slither/slithir/convert.py index 8951707fff..a81bba65a1 100644 --- a/slither/slithir/convert.py +++ b/slither/slithir/convert.py @@ -379,7 +379,7 @@ def get_declared_param_names( HighLevelCall, InternalDynamicCall, EventCall, - ] + ], ) -> Optional[List[List[str]]]: """ Given a call operation, return the list of parameter names, in the order @@ -1259,7 +1259,11 @@ def can_be_low_level(ir: HighLevelCall) -> bool: def convert_to_low_level( ir: HighLevelCall, -) -> Union[Send, LowLevelCall, Transfer,]: +) -> Union[ + Send, + LowLevelCall, + Transfer, +]: """ Convert to a transfer/send/or low level call The function assume to receive a correct IR @@ -1441,7 +1445,15 @@ def convert_to_push_set_val( def convert_to_push( ir: HighLevelCall, node: "Node" -) -> List[Union[Length, Assignment, Binary, Index, InitArray,]]: +) -> List[ + Union[ + Length, + Assignment, + Binary, + Index, + InitArray, + ] +]: """ Convert a call to a series of operations to push a new value onto the array @@ -1535,7 +1547,12 @@ def look_for_library_or_top_level( str, TypeAliasTopLevel, ], -) -> Optional[Union[LibraryCall, InternalCall,]]: +) -> Optional[ + Union[ + LibraryCall, + InternalCall, + ] +]: for destination in using_for[t]: if isinstance(destination, FunctionTopLevel) and destination.name == ir.function_name: arguments = [ir.destination] + ir.arguments @@ -1585,7 +1602,12 @@ def look_for_library_or_top_level( def convert_to_library_or_top_level( ir: HighLevelCall, node: "Node", using_for -) -> Optional[Union[LibraryCall, InternalCall,]]: +) -> Optional[ + Union[ + LibraryCall, + InternalCall, + ] +]: t = ir.destination.type if t in using_for: new_ir = look_for_library_or_top_level(ir, using_for, t) @@ -1616,7 +1638,7 @@ def get_type( t: Union[ UserDefinedType, ElementaryType, - ] + ], ) -> str: """ Convert a type to a str @@ -1827,7 +1849,6 @@ def convert_type_of_high_and_internal_level_call( else: return_type = func.type if return_type: - # If the return type is a structure, but the lvalue is a tuple # We convert the type of the structure to a list of element # TODO: explore to replace all tuple variables by structures @@ -2027,7 +2048,6 @@ def convert_delete(irs: List[Operation]) -> None: def _find_source_mapping_references(irs: List[Operation]) -> None: for ir in irs: - if isinstance(ir, NewContract): ir.contract_created.references.append(ir.expression.source_mapping) diff --git a/slither/slithir/operations/internal_dynamic_call.py b/slither/slithir/operations/internal_dynamic_call.py index ca245167e1..8719648d2b 100644 --- a/slither/slithir/operations/internal_dynamic_call.py +++ b/slither/slithir/operations/internal_dynamic_call.py @@ -11,9 +11,7 @@ from slither.slithir.variables.temporary_ssa import TemporaryVariableSSA -class InternalDynamicCall( - Call, OperationWithLValue -): # pylint: disable=too-many-instance-attributes +class InternalDynamicCall(Call, OperationWithLValue): # pylint: disable=too-many-instance-attributes def __init__( self, lvalue: Optional[Union[TemporaryVariableSSA, TemporaryVariable]], diff --git a/slither/slithir/operations/new_contract.py b/slither/slithir/operations/new_contract.py index bb88c82274..8347c03715 100644 --- a/slither/slithir/operations/new_contract.py +++ b/slither/slithir/operations/new_contract.py @@ -23,9 +23,9 @@ def __init__( For calls of the form f({argName1 : arg1, ...}), the names of parameters listed in call order. Otherwise, None. """ - assert isinstance( - contract_name.type, Contract - ), f"contract_name is {contract_name} of type {type(contract_name)}" + assert isinstance(contract_name.type, Contract), ( + f"contract_name is {contract_name} of type {type(contract_name)}" + ) assert is_valid_lvalue(lvalue) super().__init__(names=names) self._contract_name = contract_name diff --git a/slither/slithir/operations/phi.py b/slither/slithir/operations/phi.py index dd416e8f23..d8239abe57 100644 --- a/slither/slithir/operations/phi.py +++ b/slither/slithir/operations/phi.py @@ -47,4 +47,4 @@ def nodes(self) -> Set["Node"]: return self._nodes def __str__(self): - return f"{self.lvalue}({self.lvalue.type}) := \u03D5({[str(v) for v in self._rvalues]})" + return f"{self.lvalue}({self.lvalue.type}) := \u03d5({[str(v) for v in self._rvalues]})" diff --git a/slither/slithir/operations/phi_callback.py b/slither/slithir/operations/phi_callback.py index 0c8994056c..2ab4e8be5a 100644 --- a/slither/slithir/operations/phi_callback.py +++ b/slither/slithir/operations/phi_callback.py @@ -54,4 +54,4 @@ def nodes(self): return self._nodes def __str__(self): - return f"{self.lvalue}({self.lvalue.type}) := \u03D5({[v.ssa_name for v in self._rvalues]})" + return f"{self.lvalue}({self.lvalue.type}) := \u03d5({[v.ssa_name for v in self._rvalues]})" diff --git a/slither/slithir/operations/type_conversion.py b/slither/slithir/operations/type_conversion.py index 08b87ab49a..74da591f0a 100644 --- a/slither/slithir/operations/type_conversion.py +++ b/slither/slithir/operations/type_conversion.py @@ -35,7 +35,11 @@ def variable(self) -> SourceMapping: @property def type( self, - ) -> Union[TypeAlias, UserDefinedType, ElementaryType,]: + ) -> Union[ + TypeAlias, + UserDefinedType, + ElementaryType, + ]: return self._type @property diff --git a/slither/slithir/utils/ssa.py b/slither/slithir/utils/ssa.py index 5e5d87325b..e4a8e64d07 100644 --- a/slither/slithir/utils/ssa.py +++ b/slither/slithir/utils/ssa.py @@ -77,7 +77,7 @@ def transform_slithir_vars_to_ssa( - function: Union[FunctionContract, Modifier, FunctionTopLevel] + function: Union[FunctionContract, Modifier, FunctionTopLevel], ) -> None: """ Transform slithIR vars to SSA (TemporaryVariable, ReferenceVariable, TupleVariable) @@ -137,7 +137,7 @@ def add_ssa_ir( # We only add phi function for state variable at entry node if # The state variable is used # And if the state variables is written in another function (otherwise its stay at index 0) - for (_, variable_instance) in all_state_variables_instances.items(): + for _, variable_instance in all_state_variables_instances.items(): if is_used_later(function.entry_point, variable_instance): # rvalues are fixed in solc_parsing.declaration.function function.entry_point.add_ssa_ir(Phi(StateIRVariable(variable_instance), set())) @@ -145,13 +145,13 @@ def add_ssa_ir( add_phi_origins(function.entry_point, init_definition, {}) for node in function.nodes: - for (variable, nodes) in node.phi_origins_local_variables.values(): + for variable, nodes in node.phi_origins_local_variables.values(): if len(nodes) < 2: continue if not is_used_later(node, variable): continue node.add_ssa_ir(Phi(LocalIRVariable(variable), nodes)) - for (variable, nodes) in node.phi_origins_state_variables.values(): + for variable, nodes in node.phi_origins_state_variables.values(): if len(nodes) < 2: continue # if not is_used_later(node, variable.name, []): @@ -222,7 +222,6 @@ def generate_ssa_irs( init_local_variables_instances: Dict[str, LocalIRVariable], visited: List[Node], ) -> None: - if node in visited: return @@ -275,7 +274,6 @@ def generate_ssa_irs( ) if new_ir: - node.add_ssa_ir(new_ir) if isinstance(ir, (InternalCall, HighLevelCall, InternalDynamicCall, LowLevelCall)): @@ -345,7 +343,10 @@ def last_name( LocalIRVariable, ], init_vars: Dict[str, LocalIRVariable], -) -> Union[StateIRVariable, LocalIRVariable,]: +) -> Union[ + StateIRVariable, + LocalIRVariable, +]: candidates = [] # Todo optimize by creating a variables_ssa_written attribute for ir_ssa in n.irs_ssa: @@ -538,7 +539,6 @@ def add_phi_origins( local_variables_definition: Dict[str, Tuple[LocalVariable, Node]], state_variables_definition: Dict[str, Tuple[StateVariable, Node]], ) -> None: - # Add new key to local_variables_definition # The key is the variable_name # The value is (variable_instance, the node where its written) diff --git a/slither/slithir/variables/local_variable.py b/slither/slithir/variables/local_variable.py index 347c9657f8..c46a11f0d7 100644 --- a/slither/slithir/variables/local_variable.py +++ b/slither/slithir/variables/local_variable.py @@ -5,9 +5,7 @@ from slither.slithir.variables.state_variable import StateIRVariable -class LocalIRVariable( - LocalVariable, SlithIRVariable -): # pylint: disable=too-many-instance-attributes +class LocalIRVariable(LocalVariable, SlithIRVariable): # pylint: disable=too-many-instance-attributes def __init__(self, local_variable: LocalVariable) -> None: assert isinstance(local_variable, LocalVariable) diff --git a/slither/slithir/variables/reference_ssa.py b/slither/slithir/variables/reference_ssa.py index 6359b57229..e05f33f2b9 100644 --- a/slither/slithir/variables/reference_ssa.py +++ b/slither/slithir/variables/reference_ssa.py @@ -1,8 +1,9 @@ """ - This class is used for the SSA version of slithIR - It is similar to the non-SSA version of slithIR - as the ReferenceVariable are in SSA form in both version +This class is used for the SSA version of slithIR +It is similar to the non-SSA version of slithIR +as the ReferenceVariable are in SSA form in both version """ + from typing import Union from slither.slithir.variables.reference import ReferenceVariable from slither.slithir.variables.tuple import TupleVariable diff --git a/slither/slithir/variables/state_variable.py b/slither/slithir/variables/state_variable.py index f7fb8ab8a8..975ad7cf00 100644 --- a/slither/slithir/variables/state_variable.py +++ b/slither/slithir/variables/state_variable.py @@ -2,9 +2,7 @@ from slither.slithir.variables.variable import SlithIRVariable -class StateIRVariable( - StateVariable, SlithIRVariable -): # pylint: disable=too-many-instance-attributes +class StateIRVariable(StateVariable, SlithIRVariable): # pylint: disable=too-many-instance-attributes def __init__(self, state_variable: StateVariable) -> None: assert isinstance(state_variable, StateVariable) diff --git a/slither/slithir/variables/temporary_ssa.py b/slither/slithir/variables/temporary_ssa.py index 0d8fb8e3cb..b96c9fefe2 100644 --- a/slither/slithir/variables/temporary_ssa.py +++ b/slither/slithir/variables/temporary_ssa.py @@ -1,8 +1,9 @@ """ - This class is used for the SSA version of slithIR - It is similar to the non-SSA version of slithIR - as the TemporaryVariable are in SSA form in both version +This class is used for the SSA version of slithIR +It is similar to the non-SSA version of slithIR +as the TemporaryVariable are in SSA form in both version """ + from typing import Union from slither.slithir.variables.temporary import TemporaryVariable from slither.slithir.variables.reference import ReferenceVariable diff --git a/slither/slithir/variables/tuple_ssa.py b/slither/slithir/variables/tuple_ssa.py index 881feb1d68..1069f03e5f 100644 --- a/slither/slithir/variables/tuple_ssa.py +++ b/slither/slithir/variables/tuple_ssa.py @@ -1,8 +1,9 @@ """ - This class is used for the SSA version of slithIR - It is similar to the non-SSA version of slithIR - as the TupleVariable are in SSA form in both version +This class is used for the SSA version of slithIR +It is similar to the non-SSA version of slithIR +as the TupleVariable are in SSA form in both version """ + from slither.slithir.variables.tuple import TupleVariable diff --git a/slither/solc_parsing/cfg/node.py b/slither/solc_parsing/cfg/node.py index b1380553b0..f5b1ce01eb 100644 --- a/slither/solc_parsing/cfg/node.py +++ b/slither/solc_parsing/cfg/node.py @@ -39,7 +39,6 @@ def analyze_expressions(self, caller_context: Union["FunctionSolc", "ModifierSol # self._unparsed_expression = None if self._node.expression: - if self._node.type == NodeType.VARIABLE: # Update the expression to be an assignement to the variable _expression = AssignmentOperation( diff --git a/slither/solc_parsing/declarations/contract.py b/slither/solc_parsing/declarations/contract.py index f3558c8497..8725c509da 100644 --- a/slither/solc_parsing/declarations/contract.py +++ b/slither/solc_parsing/declarations/contract.py @@ -314,7 +314,6 @@ def _parse_type_alias(self, item: Dict) -> None: self._contract.file_scope.type_aliases[alias_canonical] = type_alias def _parse_struct(self, struct: Dict) -> None: - st = StructureContract(self._contract.compilation_unit) st.set_contract(self._contract) st.set_offset(struct["src"], self._contract.compilation_unit) @@ -411,7 +410,6 @@ def _parse_function(self, function_data: Dict) -> None: self._slither_parser.add_function_or_modifier_parser(func_parser) def parse_functions(self) -> None: - for function in self._functionsNotParsed: self._parse_function(function) @@ -580,12 +578,12 @@ def _analyze_params_elements( # pylint: disable=too-many-arguments,too-many-loc } for element_parser in elements_no_params: - accessible_elements[ - element_parser.underlying_function.full_name - ] = element_parser.underlying_function - all_elements[ - element_parser.underlying_function.canonical_name - ] = element_parser.underlying_function + accessible_elements[element_parser.underlying_function.full_name] = ( + element_parser.underlying_function + ) + all_elements[element_parser.underlying_function.canonical_name] = ( + element_parser.underlying_function + ) for element in all_elements.values(): if accessible_elements[element.full_name] != all_elements[element.canonical_name]: diff --git a/slither/solc_parsing/declarations/custom_error.py b/slither/solc_parsing/declarations/custom_error.py index 34b7ca402f..fce723aae6 100644 --- a/slither/solc_parsing/declarations/custom_error.py +++ b/slither/solc_parsing/declarations/custom_error.py @@ -90,7 +90,6 @@ def _parse_params(self, params: Dict) -> None: self._custom_error.set_solidity_sig() def _add_param(self, param: Dict) -> LocalVariableSolc: - local_var = LocalVariable() local_var.set_offset(param["src"], self._slither_parser.compilation_unit) diff --git a/slither/solc_parsing/declarations/event_contract.py b/slither/solc_parsing/declarations/event_contract.py index 6af45ba527..cf82df27ac 100644 --- a/slither/solc_parsing/declarations/event_contract.py +++ b/slither/solc_parsing/declarations/event_contract.py @@ -1,6 +1,7 @@ """ - EventContract module +EventContract module """ + from typing import TYPE_CHECKING, Dict from slither.core.variables.event_variable import EventVariable @@ -19,7 +20,6 @@ class EventContractSolc: def __init__( self, event: EventContract, event_data: Dict, contract_parser: "ContractSolc" ) -> None: - self._event = event self._contract_parser = contract_parser diff --git a/slither/solc_parsing/declarations/event_top_level.py b/slither/solc_parsing/declarations/event_top_level.py index 9b6b676c79..e7a303a8ab 100644 --- a/slither/solc_parsing/declarations/event_top_level.py +++ b/slither/solc_parsing/declarations/event_top_level.py @@ -1,6 +1,7 @@ """ - EventTopLevel module +EventTopLevel module """ + from typing import TYPE_CHECKING, Dict from slither.core.declarations.event_top_level import EventTopLevel @@ -21,7 +22,6 @@ class EventTopLevelSolc(CallerContextExpression): def __init__( self, event: EventTopLevel, event_data: Dict, slither_parser: "SlitherCompilationUnitSolc" ) -> None: - self._event = event self._slither_parser = slither_parser diff --git a/slither/solc_parsing/declarations/function.py b/slither/solc_parsing/declarations/function.py index 57f4b26f12..7b7b91e218 100644 --- a/slither/solc_parsing/declarations/function.py +++ b/slither/solc_parsing/declarations/function.py @@ -46,7 +46,6 @@ def link_underlying_nodes(node1: NodeSolc, node2: NodeSolc): class FunctionSolc(CallerContextExpression): - # elems = [(type, name)] def __init__( @@ -162,9 +161,9 @@ def _add_local_variable( known_variables = [v.name for v in self._function.variables] if local_var_parser.reference_id is not None: self._variables_renamed[local_var_parser.reference_id] = local_var_parser - self._function.variables_as_dict[ - local_var_parser.underlying_variable.name - ] = local_var_parser.underlying_variable + self._function.variables_as_dict[local_var_parser.underlying_variable.name] = ( + local_var_parser.underlying_variable + ) self._local_variables_parser.append(local_var_parser) # endregion @@ -635,7 +634,6 @@ def _parse_for(self, statement: Dict, node: NodeSolc, scope: Scope) -> NodeSolc: return node_endLoop def _parse_dowhile(self, do_while_statement: Dict, node: NodeSolc, scope: Scope) -> NodeSolc: - node_startDoWhile = self._new_node(NodeType.STARTLOOP, do_while_statement["src"], scope) condition_scope = Scope(scope.is_checked, False, scope) @@ -1157,7 +1155,6 @@ def _update_reachability(self, node: Node) -> None: worklist.extend(current.sons) def _parse_cfg(self, cfg: Dict) -> None: - assert cfg[self.get_key()] == "Block" node = self._new_node(NodeType.ENTRYPOINT, cfg["src"], self.underlying_function) @@ -1300,7 +1297,6 @@ def _fix_catch(self, node: Node, end_node: Node, visited: Set[Node]) -> None: ################################################################################### def _add_param(self, param: Dict, initialized: bool = False) -> LocalVariableSolc: - local_var = LocalVariable() local_var.set_function(self._function) local_var.set_offset(param["src"], self._function.compilation_unit) @@ -1320,7 +1316,6 @@ def _add_param(self, param: Dict, initialized: bool = False) -> LocalVariableSol return local_var_parser def _add_param_init_tuple(self, statement: Dict, index: int) -> LocalVariableInitFromTupleSolc: - local_var = LocalVariableInitFromTuple() local_var.set_function(self._function) local_var.set_offset(statement["src"], self._function.compilation_unit) @@ -1346,7 +1341,6 @@ def _parse_params(self, params: Dict): self._function.add_parameters(local_var.underlying_variable) def _parse_returns(self, returns: Dict): - assert returns[self.get_key()] == "ParameterList" self._function.returns_src().set_offset(returns["src"], self._function.compilation_unit) diff --git a/slither/solc_parsing/declarations/modifier.py b/slither/solc_parsing/declarations/modifier.py index dfacc87038..cd67c7692c 100644 --- a/slither/solc_parsing/declarations/modifier.py +++ b/slither/solc_parsing/declarations/modifier.py @@ -1,6 +1,7 @@ """ - Event module +Event module """ + from typing import Dict, TYPE_CHECKING, Union from slither.core.cfg.node import NodeType diff --git a/slither/solc_parsing/declarations/structure_contract.py b/slither/solc_parsing/declarations/structure_contract.py index c48c73c4f6..60839abe27 100644 --- a/slither/solc_parsing/declarations/structure_contract.py +++ b/slither/solc_parsing/declarations/structure_contract.py @@ -1,6 +1,7 @@ """ - Structure module +Structure module """ + from typing import TYPE_CHECKING, Dict from slither.core.declarations.structure import Structure @@ -24,7 +25,6 @@ def __init__( # pylint: disable=too-many-arguments struct: Dict, contract_parser: "ContractSolc", ) -> None: - if contract_parser.is_compact_ast: name = struct["name"] attributes = struct diff --git a/slither/solc_parsing/declarations/structure_top_level.py b/slither/solc_parsing/declarations/structure_top_level.py index 6dcca19d49..e646f15e36 100644 --- a/slither/solc_parsing/declarations/structure_top_level.py +++ b/slither/solc_parsing/declarations/structure_top_level.py @@ -1,6 +1,7 @@ """ - Structure module +Structure module """ + from typing import TYPE_CHECKING, Dict from slither.core.compilation_unit import SlitherCompilationUnit @@ -26,7 +27,6 @@ def __init__( # pylint: disable=too-many-arguments struct: Dict, slither_parser: "SlitherCompilationUnitSolc", ) -> None: - if slither_parser.is_compact_ast: name = struct["name"] attributes = struct diff --git a/slither/solc_parsing/declarations/using_for_top_level.py b/slither/solc_parsing/declarations/using_for_top_level.py index bfed3c417c..5108d40f01 100644 --- a/slither/solc_parsing/declarations/using_for_top_level.py +++ b/slither/solc_parsing/declarations/using_for_top_level.py @@ -1,6 +1,7 @@ """ - Using For Top Level module +Using For Top Level module """ + import logging from typing import TYPE_CHECKING, Dict, Union diff --git a/slither/solc_parsing/expressions/expression_parsing.py b/slither/solc_parsing/expressions/expression_parsing.py index afa5c367b2..a09ca86a5c 100644 --- a/slither/solc_parsing/expressions/expression_parsing.py +++ b/slither/solc_parsing/expressions/expression_parsing.py @@ -103,6 +103,7 @@ def filter_name(value: str) -> str: ################################################################################### ################################################################################### + # pylint: disable=too-many-statements def parse_call( expression: Dict, caller_context: Union["FunctionSolc", "ContractSolc", "TopLevelVariableSolc"] @@ -430,7 +431,6 @@ def parse_expression(expression: Dict, caller_context: CallerContextExpression) return assignement if name == "Literal": - subdenomination = None assert "children" not in expression @@ -590,7 +590,6 @@ def parse_expression(expression: Dict, caller_context: CallerContextExpression) # NewExpression is not a root expression, it's always the child of another expression if name == "NewExpression": - if is_compact_ast: type_name = expression["typeName"] else: @@ -623,7 +622,6 @@ def parse_expression(expression: Dict, caller_context: CallerContextExpression) return new if name == "ModifierInvocation": - if is_compact_ast: called = parse_expression(expression["modifierName"], caller_context) arguments = [] @@ -649,7 +647,6 @@ def parse_expression(expression: Dict, caller_context: CallerContextExpression) # Introduced with solc 0.8 if name == "IdentifierPath": - if caller_context.is_compact_ast: value = expression["name"] diff --git a/slither/solc_parsing/expressions/find_variable.py b/slither/solc_parsing/expressions/find_variable.py index 4ea1239e52..4db960085f 100644 --- a/slither/solc_parsing/expressions/find_variable.py +++ b/slither/solc_parsing/expressions/find_variable.py @@ -264,7 +264,11 @@ def _find_in_contract( # pylint: disable=too-many-statements def _find_variable_init( caller_context: CallerContextExpression, -) -> Tuple[List[Contract], List["Function"], FileScope,]: +) -> Tuple[ + List[Contract], + List["Function"], + FileScope, +]: from slither.solc_parsing.declarations.contract import ContractSolc from slither.solc_parsing.declarations.function import FunctionSolc from slither.solc_parsing.declarations.structure_top_level import StructureTopLevelSolc diff --git a/slither/solc_parsing/slither_compilation_unit_solc.py b/slither/solc_parsing/slither_compilation_unit_solc.py index f5dcd48338..bf9a1aa473 100644 --- a/slither/solc_parsing/slither_compilation_unit_solc.py +++ b/slither/solc_parsing/slither_compilation_unit_solc.py @@ -57,7 +57,6 @@ def _handle_import_aliases( for symbol_alias in symbol_aliases: if "foreign" in symbol_alias and "local" in symbol_alias: if isinstance(symbol_alias["foreign"], dict) and "name" in symbol_alias["foreign"]: - original_name = symbol_alias["foreign"]["name"] local_name = symbol_alias["local"] import_directive.renaming[local_name] = original_name @@ -176,7 +175,6 @@ def parse_top_level_from_json(self, json_data: str) -> bool: self.parse_top_level_items(data_loaded, filename) return True except ValueError: - first = json_data.find("{") if first != -1: last = json_data.rfind("}") + 1 @@ -513,7 +511,7 @@ def resolve_remapping_and_renaming(contract_parser: ContractSolc, want: str) -> missing_inheritance = i # Resolve immediate base contracts and attach references. - for (i, src) in contract_parser.baseContracts: + for i, src in contract_parser.baseContracts: if i in contract_parser.remapping: target = resolve_remapping_and_renaming(contract_parser, i) fathers.append(target) @@ -623,7 +621,6 @@ def _analyze_first_part( # Analyze a contract only if all its fathers # Were analyzed while contracts_to_be_analyzed: - contract = contracts_to_be_analyzed[0] contracts_to_be_analyzed = contracts_to_be_analyzed[1:] @@ -654,7 +651,6 @@ def _analyze_second_part( # Analyze a contract only if all its fathers # Were analyzed while contracts_to_be_analyzed: - contract = contracts_to_be_analyzed[0] contracts_to_be_analyzed = contracts_to_be_analyzed[1:] @@ -681,7 +677,6 @@ def _analyze_third_part( # Analyze a contract only if all its fathers # Were analyzed while contracts_to_be_analyzed: - contract = contracts_to_be_analyzed[0] contracts_to_be_analyzed = contracts_to_be_analyzed[1:] @@ -734,7 +729,6 @@ def _parse_struct_var_modifiers_functions(self, contract: ContractSolc) -> None: contract.set_is_analyzed(True) def _analyze_struct_events(self, contract: ContractSolc) -> None: - contract.analyze_constant_state_variables() # Struct can refer to enum, or state variables @@ -804,7 +798,6 @@ def _analyze_variables_modifiers_functions(self, contract: ContractSolc) -> None contract.set_is_analyzed(True) def _convert_to_slithir(self) -> None: - for contract in self._compilation_unit.contracts: contract.add_constructor_variables() diff --git a/slither/solc_parsing/solidity_types/type_parsing.py b/slither/solc_parsing/solidity_types/type_parsing.py index cb0b1125db..3d2ba4262f 100644 --- a/slither/solc_parsing/solidity_types/type_parsing.py +++ b/slither/solc_parsing/solidity_types/type_parsing.py @@ -196,7 +196,6 @@ def _find_from_type_name( # pylint: disable=too-many-locals,too-many-branches,t def _add_type_references(type_found: Type, src: str, sl: "SlitherCompilationUnit") -> None: - if isinstance(type_found, UserDefinedType): type_found.type.add_reference_from_raw_source(src, sl) elif isinstance(type_found, (TypeAliasTopLevel, TypeAliasContract)): @@ -447,7 +446,6 @@ def parse_type( return ArrayType(array_type, length) if t[key] == "Mapping": - if is_compact_ast: mappingFrom = parse_type(t["keyType"], next_context) mappingTo = parse_type(t["valueType"], next_context) @@ -460,7 +458,6 @@ def parse_type( return MappingType(mappingFrom, mappingTo) if t[key] == "FunctionTypeName": - if is_compact_ast: params = t["parameterTypes"] return_values = t["returnParameterTypes"] diff --git a/slither/solc_parsing/variables/variable_declaration.py b/slither/solc_parsing/variables/variable_declaration.py index 69b72a521b..2c96b7b871 100644 --- a/slither/solc_parsing/variables/variable_declaration.py +++ b/slither/solc_parsing/variables/variable_declaration.py @@ -106,7 +106,6 @@ def reference_id(self) -> int: def _handle_comment(self, attributes: Dict) -> None: if "documentation" in attributes and "text" in attributes["documentation"]: - candidates = attributes["documentation"]["text"].split(",") for candidate in candidates: @@ -127,9 +126,7 @@ def _analyze_variable_attributes(self, attributes: Dict) -> None: else: self._variable.visibility = "internal" - def _init_from_declaration( - self, var: Dict, init: Optional[Dict] - ) -> None: # pylint: disable=too-many-branches + def _init_from_declaration(self, var: Dict, init: Optional[Dict]) -> None: # pylint: disable=too-many-branches if self._is_compact_ast: attributes = var self._typeName = attributes["typeDescriptions"]["typeString"] diff --git a/slither/tools/doctor/checks/paths.py b/slither/tools/doctor/checks/paths.py index d388847ef4..a3c0e7b00c 100644 --- a/slither/tools/doctor/checks/paths.py +++ b/slither/tools/doctor/checks/paths.py @@ -22,7 +22,7 @@ def path_is_relative_to(path: Path, relative_to: Path) -> bool: if len(path_parts) < len(relative_to_parts): return False - for (a, b) in zip(path_parts, relative_to_parts): + for a, b in zip(path_parts, relative_to_parts): if a != b: return False diff --git a/slither/tools/erc_conformance/__main__.py b/slither/tools/erc_conformance/__main__.py index 1c9224eacb..d32d831767 100644 --- a/slither/tools/erc_conformance/__main__.py +++ b/slither/tools/erc_conformance/__main__.py @@ -85,7 +85,6 @@ def main() -> None: ret: Dict[str, List] = defaultdict(list) if args.erc.upper() in ERCS: - contracts = slither.get_contract_from_name(args.contract_name) if len(contracts) != 1: diff --git a/slither/tools/erc_conformance/erc/ercs.py b/slither/tools/erc_conformance/erc/ercs.py index a6b9050ae9..8b1782faf3 100644 --- a/slither/tools/erc_conformance/erc/ercs.py +++ b/slither/tools/erc_conformance/erc/ercs.py @@ -22,7 +22,7 @@ def _check_signature(erc_function: ERC, contract: Contract, ret: Dict) -> None: required = erc_function.required events = erc_function.events - sig = f'{name}({",".join(parameters)})' + sig = f"{name}({','.join(parameters)})" function = contract.get_function_from_signature(sig) if not function: @@ -33,7 +33,7 @@ def _check_signature(erc_function: ERC, contract: Contract, ret: Dict) -> None: "public", "external", ]: - txt = f'[ ] {sig} is missing {"" if required else "(optional)"}' + txt = f"[ ] {sig} is missing {'' if required else '(optional)'}" logger.info(txt) missing_func = output.Output( txt, additional_fields={"function": sig, "required": required} @@ -45,7 +45,7 @@ def _check_signature(erc_function: ERC, contract: Contract, ret: Dict) -> None: types = [str(x) for x in export_nested_types_from_variable(state_variable_as_function)] if types != parameters: - txt = f'[ ] {sig} is missing {"" if required else "(optional)"}' + txt = f"[ ] {sig} is missing {'' if required else '(optional)'}" logger.info(txt) missing_func = output.Output( txt, additional_fields={"function": sig, "required": required} @@ -115,7 +115,7 @@ def _check_signature(erc_function: ERC, contract: Contract, ret: Dict) -> None: if events: # pylint: disable=too-many-nested-blocks for event in events: - event_sig = f'{event.name}({",".join(event.parameters)})' + event_sig = f"{event.name}({','.join(event.parameters)})" if not function: txt = f"\t[ ] Must emit be view {event_sig}" @@ -154,7 +154,7 @@ def _check_events(erc_event: ERC_EVENT, contract: Contract, ret: Dict[str, List] parameters = erc_event.parameters indexes = erc_event.indexes - sig = f'{name}({",".join(parameters)})' + sig = f"{name}({','.join(parameters)})" event = contract.get_event_from_signature(sig) if not event: @@ -190,7 +190,6 @@ def generic_erc_checks( ret: Dict[str, List], explored: Optional[Set[Contract]] = None, ) -> None: - if explored is None: explored = set() diff --git a/slither/tools/flattening/__main__.py b/slither/tools/flattening/__main__.py index bf9856fe84..77be0be203 100644 --- a/slither/tools/flattening/__main__.py +++ b/slither/tools/flattening/__main__.py @@ -112,7 +112,6 @@ def main() -> None: slither = Slither(args.filename, **vars(args)) for compilation_unit in slither.compilation_units: - flat = Flattening( compilation_unit, external_to_public=args.convert_external, diff --git a/slither/tools/flattening/flattening.py b/slither/tools/flattening/flattening.py index 518e367170..b20a608a55 100644 --- a/slither/tools/flattening/flattening.py +++ b/slither/tools/flattening/flattening.py @@ -97,9 +97,7 @@ def _check_abi_encoder_v2(self): self._use_abi_encoder_v2 = True return - def _get_source_code( - self, contract: Contract - ): # pylint: disable=too-many-branches,too-many-statements + def _get_source_code(self, contract: Contract): # pylint: disable=too-many-branches,too-many-statements """ Save the source code of the contract in self._source_codes Patch the source code @@ -461,7 +459,6 @@ def export( # pylint: disable=too-many-arguments,too-few-public-methods zip: Optional[str] = None, # pylint: disable=redefined-builtin zip_type: Optional[str] = None, ): - if not self._export_path.exists(): self._export_path.mkdir(parents=True) diff --git a/slither/tools/kspec_coverage/kspec_coverage.py b/slither/tools/kspec_coverage/kspec_coverage.py index f8c2d8cf2e..05cf3b1ef3 100755 --- a/slither/tools/kspec_coverage/kspec_coverage.py +++ b/slither/tools/kspec_coverage/kspec_coverage.py @@ -5,7 +5,6 @@ def kspec_coverage(args: argparse.Namespace) -> None: - contract = args.contract kspec = args.kspec diff --git a/slither/tools/mutator/__main__.py b/slither/tools/mutator/__main__.py index 1eb5f3faed..101ba0651f 100644 --- a/slither/tools/mutator/__main__.py +++ b/slither/tools/mutator/__main__.py @@ -123,9 +123,7 @@ def _get_mutators(mutators_list: Union[List[str], None]) -> List[Type[AbstractMu class ListMutators(argparse.Action): # pylint: disable=too-few-public-methods - def __call__( - self, parser: Any, *args: Any, **kwargs: Any - ) -> None: # pylint: disable=signature-differs + def __call__(self, parser: Any, *args: Any, **kwargs: Any) -> None: # pylint: disable=signature-differs checks = _get_mutators(None) output_mutators(checks) parser.exit() @@ -344,7 +342,7 @@ def main() -> None: # pylint: disable=too-many-statements,too-many-branches,too if total_mutant_counts[0] > 0: logger.info( magenta( - f"Revert mutants: {uncaught_mutant_counts[0]} uncaught of {total_mutant_counts[0]} ({100 * uncaught_mutant_counts[0]/total_mutant_counts[0]}%)" + f"Revert mutants: {uncaught_mutant_counts[0]} uncaught of {total_mutant_counts[0]} ({100 * uncaught_mutant_counts[0] / total_mutant_counts[0]}%)" ) ) else: @@ -353,7 +351,7 @@ def main() -> None: # pylint: disable=too-many-statements,too-many-branches,too if total_mutant_counts[1] > 0: logger.info( magenta( - f"Comment mutants: {uncaught_mutant_counts[1]} uncaught of {total_mutant_counts[1]} ({100 * uncaught_mutant_counts[1]/total_mutant_counts[1]}%)" + f"Comment mutants: {uncaught_mutant_counts[1]} uncaught of {total_mutant_counts[1]} ({100 * uncaught_mutant_counts[1] / total_mutant_counts[1]}%)" ) ) else: @@ -362,7 +360,7 @@ def main() -> None: # pylint: disable=too-many-statements,too-many-branches,too if total_mutant_counts[2] > 0: logger.info( magenta( - f"Tweak mutants: {uncaught_mutant_counts[2]} uncaught of {total_mutant_counts[2]} ({100 * uncaught_mutant_counts[2]/total_mutant_counts[2]}%)\n" + f"Tweak mutants: {uncaught_mutant_counts[2]} uncaught of {total_mutant_counts[2]} ({100 * uncaught_mutant_counts[2] / total_mutant_counts[2]}%)\n" ) ) else: diff --git a/slither/tools/mutator/mutators/abstract_mutator.py b/slither/tools/mutator/mutators/abstract_mutator.py index e91c108a92..1a12a02598 100644 --- a/slither/tools/mutator/mutators/abstract_mutator.py +++ b/slither/tools/mutator/mutators/abstract_mutator.py @@ -15,9 +15,7 @@ class IncorrectMutatorInitialization(Exception): pass -class AbstractMutator( - metaclass=abc.ABCMeta -): # pylint: disable=too-few-public-methods,too-many-instance-attributes +class AbstractMutator(metaclass=abc.ABCMeta): # pylint: disable=too-few-public-methods,too-many-instance-attributes NAME = "" HELP = "" diff --git a/slither/tools/mutator/utils/testing_generated_mutant.py b/slither/tools/mutator/utils/testing_generated_mutant.py index 2ea3314e6d..f052971b40 100644 --- a/slither/tools/mutator/utils/testing_generated_mutant.py +++ b/slither/tools/mutator/utils/testing_generated_mutant.py @@ -106,7 +106,6 @@ def test_patch( # pylint: disable=too-many-arguments if compile_generated_mutant(file, mappings): if run_test_cmd(command, timeout, file, False): - create_mutant_file(output_folder, file, generator_name) logger.info( f"[{generator_name}] Line {patch['line_number']}: '{patch['old_string']}' ==> '{patch['new_string']}' --> UNCAUGHT" diff --git a/slither/tools/possible_paths/possible_paths.py b/slither/tools/possible_paths/possible_paths.py index 15218a8720..b5592cf2e1 100644 --- a/slither/tools/possible_paths/possible_paths.py +++ b/slither/tools/possible_paths/possible_paths.py @@ -116,7 +116,6 @@ def __find_target_paths( # Look through all functions for contract in slither.contracts: for function in contract.functions_and_modifiers_declared: - # If the function is already in our path, skip it. if function in current_path: continue diff --git a/slither/tools/properties/__main__.py b/slither/tools/properties/__main__.py index b5e5c911a3..e56d89d7ed 100644 --- a/slither/tools/properties/__main__.py +++ b/slither/tools/properties/__main__.py @@ -47,17 +47,13 @@ def _all_properties() -> MyPrettyTable: class ListScenarios(argparse.Action): # pylint: disable=too-few-public-methods - def __call__( - self, parser: Any, *args: Any, **kwargs: Any - ) -> None: # pylint: disable=signature-differs + def __call__(self, parser: Any, *args: Any, **kwargs: Any) -> None: # pylint: disable=signature-differs logger.info(_all_scenarios()) parser.exit() class ListProperties(argparse.Action): # pylint: disable=too-few-public-methods - def __call__( - self, parser: Any, *args: Any, **kwargs: Any - ) -> None: # pylint: disable=signature-differs + def __call__(self, parser: Any, *args: Any, **kwargs: Any) -> None: # pylint: disable=signature-differs logger.info(_all_properties()) parser.exit() diff --git a/slither/tools/properties/properties/erc20.py b/slither/tools/properties/properties/erc20.py index 3dfbf2e2e1..b1175390fa 100644 --- a/slither/tools/properties/properties/erc20.py +++ b/slither/tools/properties/properties/erc20.py @@ -53,9 +53,7 @@ } -def generate_erc20( - contract: Contract, type_property: str, addresses: Addresses -): # pylint: disable=too-many-locals +def generate_erc20(contract: Contract, type_property: str, addresses: Addresses): # pylint: disable=too-many-locals """ Generate the ERC20 tests Files generated: diff --git a/slither/tools/properties/solidity/generate_properties.py b/slither/tools/properties/solidity/generate_properties.py index 54f52c5171..ae93c8253f 100644 --- a/slither/tools/properties/solidity/generate_properties.py +++ b/slither/tools/properties/solidity/generate_properties.py @@ -12,7 +12,6 @@ def generate_solidity_properties( contract: Contract, type_property: str, solidity_properties: str, output_dir: Path ) -> Path: - solidity_import = 'import "./interfaces.sol";\n' solidity_import += f'import "../{contract.source_mapping.filename.short}";' diff --git a/slither/tools/read_storage/__main__.py b/slither/tools/read_storage/__main__.py index 23b98764c4..cf28db8ded 100644 --- a/slither/tools/read_storage/__main__.py +++ b/slither/tools/read_storage/__main__.py @@ -1,6 +1,7 @@ """ Tool to read on-chain storage from EVM """ + import json import argparse diff --git a/slither/tools/similarity/encode.py b/slither/tools/similarity/encode.py index 48700ec4ad..83347fc2ba 100644 --- a/slither/tools/similarity/encode.py +++ b/slither/tools/similarity/encode.py @@ -233,10 +233,8 @@ def encode_contract(cfilename, **kwargs): # Iterate over all the contracts for contract in slither.contracts: - # Iterate over all the functions for function in contract.functions_declared: - if function.nodes == [] or function.is_constructor_variables: continue diff --git a/slither/tools/similarity/info.py b/slither/tools/similarity/info.py index c9f9753d13..2373ef6a8b 100644 --- a/slither/tools/similarity/info.py +++ b/slither/tools/similarity/info.py @@ -12,9 +12,7 @@ def info(args: argparse.Namespace) -> None: - try: - model = args.model if os.path.isfile(model): model = load_model(model) diff --git a/slither/tools/similarity/plot.py b/slither/tools/similarity/plot.py index f11e921293..745476ae70 100644 --- a/slither/tools/similarity/plot.py +++ b/slither/tools/similarity/plot.py @@ -25,7 +25,6 @@ def plot(args: argparse.Namespace) -> None: # pylint: disable=too-many-locals - if decomposition is None or plt is None: logger.error( "ERROR: In order to use plot mode in slither-simil, you need to install sklearn and matplotlib:" @@ -34,7 +33,6 @@ def plot(args: argparse.Namespace) -> None: # pylint: disable=too-many-locals sys.exit(-1) try: - model = args.model model = load_model(model) # contract = args.contract @@ -71,7 +69,7 @@ def plot(args: argparse.Namespace) -> None: # pylint: disable=too-many-locals logger.info("Plotting data..") plt.figure(figsize=(20, 10)) assert len(tdata) == len(fs) - for ([x, y], l) in zip(tdata, fs): + for [x, y], l in zip(tdata, fs): x = random.gauss(0, 0.01) + x y = random.gauss(0, 0.01) + y plt.scatter(x, y, c="blue") diff --git a/slither/tools/similarity/test.py b/slither/tools/similarity/test.py index 7d42c4a63f..a70f724a95 100755 --- a/slither/tools/similarity/test.py +++ b/slither/tools/similarity/test.py @@ -12,7 +12,6 @@ def test(args: Namespace) -> None: - try: model = args.model model = load_model(model) diff --git a/slither/tools/similarity/train.py b/slither/tools/similarity/train.py index ccadf49265..95730b5a4f 100755 --- a/slither/tools/similarity/train.py +++ b/slither/tools/similarity/train.py @@ -12,7 +12,6 @@ def train(args: argparse.Namespace) -> None: # pylint: disable=too-many-locals - try: last_data_train_filename = "last_data_train.txt" model_filename = args.model diff --git a/slither/tools/upgradeability/__main__.py b/slither/tools/upgradeability/__main__.py index 56b838b9c1..35e8b83d80 100644 --- a/slither/tools/upgradeability/__main__.py +++ b/slither/tools/upgradeability/__main__.py @@ -192,18 +192,14 @@ def choose_checks( class ListDetectors(argparse.Action): # pylint: disable=too-few-public-methods - def __call__( - self, parser: Any, *args: Any, **kwargs: Any - ) -> None: # pylint: disable=signature-differs + def __call__(self, parser: Any, *args: Any, **kwargs: Any) -> None: # pylint: disable=signature-differs checks = _get_checks() output_detectors(checks) parser.exit() class ListDetectorsJson(argparse.Action): # pylint: disable=too-few-public-methods - def __call__( - self, parser: Any, *args: Any, **kwargs: Any - ) -> None: # pylint: disable=signature-differs + def __call__(self, parser: Any, *args: Any, **kwargs: Any) -> None: # pylint: disable=signature-differs checks = _get_checks() detector_types_json = output_detectors_json(checks) print(json.dumps(detector_types_json)) @@ -279,6 +275,7 @@ def _checks_on_contract_and_proxy( ################################################################################### ################################################################################### + # pylint: disable=too-many-statements,too-many-branches,too-many-locals def main() -> None: json_results: Dict = { @@ -370,7 +367,7 @@ def main() -> None: json_results["detectors"] += detectors_results number_detectors_run += number_detectors - to_log = f'{len(json_results["detectors"])} findings, {number_detectors_run} detectors run' + to_log = f"{len(json_results['detectors'])} findings, {number_detectors_run} detectors run" logger.info(to_log) if args.json: output_to_json(args.json, None, json_results) diff --git a/slither/tools/upgradeability/checks/constant.py b/slither/tools/upgradeability/checks/constant.py index bd98146496..cac84d02a1 100644 --- a/slither/tools/upgradeability/checks/constant.py +++ b/slither/tools/upgradeability/checks/constant.py @@ -70,7 +70,6 @@ def _check(self) -> List[Output]: results = [] while idx_v1 < len(state_variables_v1): - state_v1 = contract_v1.state_variables[idx_v1] if len(state_variables_v2) <= idx_v2: break @@ -160,7 +159,6 @@ def _check(self) -> List[Output]: results = [] while idx_v1 < len(state_variables_v1): - state_v1 = contract_v1.state_variables[idx_v1] if len(state_variables_v2) <= idx_v2: break diff --git a/slither/tools/upgradeability/checks/functions_ids.py b/slither/tools/upgradeability/checks/functions_ids.py index ab0e91bebf..cc73c4bac2 100644 --- a/slither/tools/upgradeability/checks/functions_ids.py +++ b/slither/tools/upgradeability/checks/functions_ids.py @@ -88,7 +88,7 @@ def _check(self): results = [] - for (k, _) in signatures_ids_implem.items(): + for k, _ in signatures_ids_implem.items(): if k in signatures_ids_proxy: if signatures_ids_implem[k] != signatures_ids_proxy[k]: implem_function = _get_function_or_variable( @@ -160,7 +160,7 @@ def _check(self): results = [] - for (k, _) in signatures_ids_implem.items(): + for k, _ in signatures_ids_implem.items(): if k in signatures_ids_proxy: if signatures_ids_implem[k] == signatures_ids_proxy[k]: implem_function = _get_function_or_variable( diff --git a/slither/tools/upgradeability/checks/initialization.py b/slither/tools/upgradeability/checks/initialization.py index 6da83a171f..c60ac85c86 100644 --- a/slither/tools/upgradeability/checks/initialization.py +++ b/slither/tools/upgradeability/checks/initialization.py @@ -383,7 +383,6 @@ class InitializeTarget(AbstractCheck): REQUIRE_CONTRACT = True def _check(self): - # TODO: handle MultipleInitTarget try: most_derived_init = _get_most_derived_init(self.contract) diff --git a/slither/tools/upgradeability/utils/command_line.py b/slither/tools/upgradeability/utils/command_line.py index c5767a5221..cb5ee5af85 100644 --- a/slither/tools/upgradeability/utils/command_line.py +++ b/slither/tools/upgradeability/utils/command_line.py @@ -47,7 +47,7 @@ def output_detectors(detector_classes: List[Type[AbstractCheck]]) -> None: # Sort by impact, confidence, and name detectors_list = sorted(detectors_list, key=lambda element: (element[2], element[0])) idx = 1 - for (argument, help_info, impact, proxy, v2) in detectors_list: + for argument, help_info, impact, proxy, v2 in detectors_list: table.add_row( [ str(idx), @@ -80,7 +80,7 @@ def extract_help(cls: Type[AbstractCheck]) -> str: # Sort by impact, confidence, and name detectors_list = sorted(detectors_list, key=lambda element: (element[2], element[0])) idx = 1 - for (argument, help_info, impact, proxy, v2) in detectors_list: + for argument, help_info, impact, proxy, v2 in detectors_list: print( f"{idx} | `{argument}` | {help_info} | {classification_txt[impact]} | {'X' if proxy else ''} | {'X' if v2 else ''}" ) diff --git a/slither/utils/arithmetic.py b/slither/utils/arithmetic.py index 0296231afe..ae8ac8aad0 100644 --- a/slither/utils/arithmetic.py +++ b/slither/utils/arithmetic.py @@ -7,11 +7,9 @@ if TYPE_CHECKING: from slither.core.declarations import Contract, Function -# pylint: disable=too-many-branches -def convert_subdenomination( - value: str, sub: str -) -> int: # pylint: disable=too-many-return-statements +# pylint: disable=too-many-branches +def convert_subdenomination(value: str, sub: str) -> int: # pylint: disable=too-many-return-statements decimal_value = convert_string_to_fraction(value) if sub == "wei": return int(decimal_value) diff --git a/slither/utils/ck.py b/slither/utils/ck.py index ffba663ad2..4f999ef663 100644 --- a/slither/utils/ck.py +++ b/slither/utils/ck.py @@ -1,35 +1,36 @@ """ - CK Metrics are a suite of six software metrics proposed by Chidamber and Kemerer in 1994. - These metrics are used to measure the complexity of a class. - https://en.wikipedia.org/wiki/Programming_complexity - - - Response For a Class (RFC) is a metric that measures the number of unique method calls within a class. - - Number of Children (NOC) is a metric that measures the number of children a class has. - - Depth of Inheritance Tree (DIT) is a metric that measures the number of parent classes a class has. - - Coupling Between Object Classes (CBO) is a metric that measures the number of classes a class is coupled to. - - Not implemented: - - Lack of Cohesion of Methods (LCOM) is a metric that measures the lack of cohesion in methods. - - Weighted Methods per Class (WMC) is a metric that measures the complexity of a class. - - During the calculation of the metrics above, there are a number of other intermediate metrics that are calculated. - These are also included in the output: - - State variables: total number of state variables - - Constants: total number of constants - - Immutables: total number of immutables - - Public: total number of public functions - - External: total number of external functions - - Internal: total number of internal functions - - Private: total number of private functions - - Mutating: total number of state mutating functions - - View: total number of view functions - - Pure: total number of pure functions - - External mutating: total number of external mutating functions - - No auth or onlyOwner: total number of functions without auth or onlyOwner modifiers - - No modifiers: total number of functions without modifiers - - Ext calls: total number of external calls +CK Metrics are a suite of six software metrics proposed by Chidamber and Kemerer in 1994. +These metrics are used to measure the complexity of a class. +https://en.wikipedia.org/wiki/Programming_complexity + +- Response For a Class (RFC) is a metric that measures the number of unique method calls within a class. +- Number of Children (NOC) is a metric that measures the number of children a class has. +- Depth of Inheritance Tree (DIT) is a metric that measures the number of parent classes a class has. +- Coupling Between Object Classes (CBO) is a metric that measures the number of classes a class is coupled to. + +Not implemented: +- Lack of Cohesion of Methods (LCOM) is a metric that measures the lack of cohesion in methods. +- Weighted Methods per Class (WMC) is a metric that measures the complexity of a class. + +During the calculation of the metrics above, there are a number of other intermediate metrics that are calculated. +These are also included in the output: + - State variables: total number of state variables + - Constants: total number of constants + - Immutables: total number of immutables + - Public: total number of public functions + - External: total number of external functions + - Internal: total number of internal functions + - Private: total number of private functions + - Mutating: total number of state mutating functions + - View: total number of view functions + - Pure: total number of pure functions + - External mutating: total number of external mutating functions + - No auth or onlyOwner: total number of functions without auth or onlyOwner modifiers + - No modifiers: total number of functions without modifiers + - Ext calls: total number of external calls """ + from collections import OrderedDict from typing import Tuple, List, Dict from dataclasses import dataclass, field @@ -325,7 +326,7 @@ def __post_init__(self) -> None: subtitle = "" # Update each section - for (title, attr, keys) in self.SECTIONS: + for title, attr, keys in self.SECTIONS: if attr == "core": # Special handling for core section totals_enabled = False diff --git a/slither/utils/colors.py b/slither/utils/colors.py index 1a2ff1da39..0f5b455bb0 100644 --- a/slither/utils/colors.py +++ b/slither/utils/colors.py @@ -41,7 +41,6 @@ def enable_windows_virtual_terminal_sequences() -> bool: # Loop for each stdout/stderr handle. for current_handle in [handle_stdout, handle_stderr]: - # If we get a null handle, or fail any subsequent calls in this scope, we do not colorize any output. if current_handle is None or current_handle == HANDLE(-1): return False diff --git a/slither/utils/command_line.py b/slither/utils/command_line.py index bdd6539dbe..dca7b59310 100644 --- a/slither/utils/command_line.py +++ b/slither/utils/command_line.py @@ -135,7 +135,7 @@ def extract_help(cls: Union[Type[AbstractDetector], Type[AbstractPrinter]]) -> s detectors_list, key=lambda element: (element[2], element[3], element[0]) ) idx = 1 - for (argument, help_info, impact, confidence) in detectors_list: + for argument, help_info, impact, confidence in detectors_list: print(f"{idx} | `{argument}` | {help_info} | {classification_txt[impact]} | {confidence}") idx = idx + 1 @@ -149,7 +149,7 @@ def extract_help(cls: Union[Type[AbstractDetector], Type[AbstractPrinter]]) -> s # Sort by impact, confidence, and name printers_list = sorted(printers_list, key=lambda element: (element[0])) idx = 1 - for (argument, help_info) in printers_list: + for argument, help_info in printers_list: print(f"{idx} | `{argument}` | {help_info}") idx = idx + 1 @@ -205,10 +205,10 @@ def output_results_to_markdown( ) counter = 0 - for (check, results) in checks.items(): + for check, results in checks.items(): print(f"## {check}") - print(f'Impact: {info[check]["impact"]}') - print(f'Confidence: {info[check]["confidence"]}') + print(f"Impact: {info[check]['impact']}") + print(f"Confidence: {info[check]['confidence']}") additional = False if checklistlimit and len(results) > 5: results = results[0:5] @@ -225,7 +225,6 @@ def output_results_to_markdown( def output_wiki(detector_classes: List[Type[AbstractDetector]], filter_wiki: str) -> None: - # Sort by impact, confidence, and name detectors_list = sorted( detector_classes, @@ -279,7 +278,7 @@ def output_detectors(detector_classes: List[Type[AbstractDetector]]) -> None: detectors_list, key=lambda element: (element[2], element[3], element[0]) ) idx = 1 - for (argument, help_info, impact, confidence) in detectors_list: + for argument, help_info, impact, confidence in detectors_list: table.add_row([str(idx), argument, help_info, classification_txt[impact], confidence]) idx = idx + 1 print(table) @@ -359,7 +358,7 @@ def output_printers(printer_classes: List[Type[AbstractPrinter]]) -> None: # Sort by impact, confidence, and name printers_list = sorted(printers_list, key=lambda element: (element[0])) idx = 1 - for (argument, help_info) in printers_list: + for argument, help_info in printers_list: # Clean multi line HELP info table.add_row([str(idx), argument, " ".join(x.strip() for x in help_info.splitlines())]) idx = idx + 1 @@ -379,7 +378,7 @@ def output_printers_json(printer_classes: List[Type[AbstractPrinter]]) -> List[D printers_list = sorted(printers_list, key=lambda element: (element[0])) idx = 1 table = [] - for (argument, help_info) in printers_list: + for argument, help_info in printers_list: table.append({"index": idx, "check": argument, "title": help_info}) idx = idx + 1 return table @@ -406,6 +405,6 @@ def check_and_sanitize_markdown_root(markdown_root: str) -> str: "Replacing 'tree' with 'blob' in markdown_root url for better code referencing" ) positions = match.span(4) - markdown_root = f"{markdown_root[:positions[0]]}blob{markdown_root[positions[1]:]}" + markdown_root = f"{markdown_root[: positions[0]]}blob{markdown_root[positions[1] :]}" return markdown_root diff --git a/slither/utils/encoding.py b/slither/utils/encoding.py index 86e26cdbe2..485842f7c8 100644 --- a/slither/utils/encoding.py +++ b/slither/utils/encoding.py @@ -56,7 +56,6 @@ def ntype(_type: Union[solidity_types.Type, str]) -> str: # pylint: disable=too-many-branches def encode_var_for_compare(var: Union[variables.Variable, SolidityVariable]) -> str: - # variables if isinstance(var, SlitherIRVariable.Constant): return f"constant({ntype(var.type)},{var.value})" diff --git a/slither/utils/erc.py b/slither/utils/erc.py index 0b8c99bb4d..74d51e536c 100644 --- a/slither/utils/erc.py +++ b/slither/utils/erc.py @@ -11,7 +11,7 @@ def erc_to_signatures(erc: List[ERC]): :param erc: :return: """ - return [f'{e.name}({",".join(e.parameters)})' for e in erc if e.required] + return [f"{e.name}({','.join(e.parameters)})" for e in erc if e.required] # Final diff --git a/slither/utils/expression_manipulations.py b/slither/utils/expression_manipulations.py index 32b88e9b32..1b63778a2d 100644 --- a/slither/utils/expression_manipulations.py +++ b/slither/utils/expression_manipulations.py @@ -1,7 +1,8 @@ """ - We use protected member, to avoid having setter in the expression - as they should be immutable +We use protected member, to avoid having setter in the expression +as they should be immutable """ + import copy from typing import Union, Callable @@ -23,6 +24,7 @@ from slither.core.expressions.type_conversion import TypeConversion from slither.core.expressions.new_elementary_type import NewElementaryType + # pylint: disable=protected-access def f_expressions( e: Union[AssignmentOperation, BinaryOperation, TupleExpression], @@ -53,7 +55,6 @@ def f_called(e: CallExpression, x: Identifier) -> None: class SplitTernaryExpression: def __init__(self, expression: Union[AssignmentOperation, ConditionalExpression]) -> None: - if isinstance(expression, ConditionalExpression): self.true_expression = copy.copy(expression.then_expression) self.false_expression = copy.copy(expression.else_expression) @@ -148,7 +149,6 @@ def convert_expressions( # TODO: can we get rid of `NoneType` expressions in `TupleExpression`? # montyly: this might happen with unnamed tuple (ex: (,,,) = f()), but it needs to be checked if next_expr is not None: - if self.conditional_not_ahead( next_expr, true_expression, false_expression, f_expressions ): diff --git a/slither/utils/halstead.py b/slither/utils/halstead.py index 9ec952e486..fe987d761c 100644 --- a/slither/utils/halstead.py +++ b/slither/utils/halstead.py @@ -1,29 +1,30 @@ """ - Halstead complexity metrics - https://en.wikipedia.org/wiki/Halstead_complexity_measures +Halstead complexity metrics +https://en.wikipedia.org/wiki/Halstead_complexity_measures - 12 metrics based on the number of unique operators and operands: +12 metrics based on the number of unique operators and operands: - Core metrics: - n1 = the number of distinct operators - n2 = the number of distinct operands - N1 = the total number of operators - N2 = the total number of operands +Core metrics: +n1 = the number of distinct operators +n2 = the number of distinct operands +N1 = the total number of operators +N2 = the total number of operands - Extended metrics1: - n = n1 + n2 # Program vocabulary - N = N1 + N2 # Program length - S = n1 * log2(n1) + n2 * log2(n2) # Estimated program length - V = N * log2(n) # Volume +Extended metrics1: +n = n1 + n2 # Program vocabulary +N = N1 + N2 # Program length +S = n1 * log2(n1) + n2 * log2(n2) # Estimated program length +V = N * log2(n) # Volume - Extended metrics2: - D = (n1 / 2) * (N2 / n2) # Difficulty - E = D * V # Effort - T = E / 18 seconds # Time required to program - B = (E^(2/3)) / 3000 # Number of delivered bugs +Extended metrics2: +D = (n1 / 2) * (N2 / n2) # Difficulty +E = D * V # Effort +T = E / 18 seconds # Time required to program +B = (E^(2/3)) / 3000 # Number of delivered bugs """ + import math from collections import OrderedDict from dataclasses import dataclass, field @@ -221,7 +222,7 @@ def update_reporting_sections(self) -> None: contract.name: self.contract_metrics[contract.name].to_dict() for contract in self.contracts } - for (title, attr, keys) in self.SECTIONS: + for title, attr, keys in self.SECTIONS: pretty_table = make_pretty_table(["Contract", *keys], data, False) section_title = f"{self.title} ({title})" txt = f"\n\n{section_title}:\n{pretty_table}\n" diff --git a/slither/utils/martin.py b/slither/utils/martin.py index c336227fd2..232eb5ef65 100644 --- a/slither/utils/martin.py +++ b/slither/utils/martin.py @@ -1,14 +1,15 @@ """ - Robert "Uncle Bob" Martin - Agile software metrics - https://en.wikipedia.org/wiki/Software_package_metrics +Robert "Uncle Bob" Martin - Agile software metrics +https://en.wikipedia.org/wiki/Software_package_metrics - Efferent Coupling (Ce): Number of contracts that the contract depends on - Afferent Coupling (Ca): Number of contracts that depend on a contract - Instability (I): Ratio of efferent coupling to total coupling (Ce / (Ce + Ca)) - Abstractness (A): Number of abstract contracts / total number of contracts - Distance from the Main Sequence (D): abs(A + I - 1) +Efferent Coupling (Ce): Number of contracts that the contract depends on +Afferent Coupling (Ca): Number of contracts that depend on a contract +Instability (I): Ratio of efferent coupling to total coupling (Ce / (Ce + Ca)) +Abstractness (A): Number of abstract contracts / total number of contracts +Distance from the Main Sequence (D): abs(A + I - 1) """ + from typing import Tuple, List, Dict from dataclasses import dataclass, field from collections import OrderedDict @@ -76,7 +77,7 @@ def update_reporting_sections(self) -> None: contract.name: self.contract_metrics[contract.name].to_dict() for contract in self.contracts } - for (title, attr, keys) in self.SECTIONS: + for title, attr, keys in self.SECTIONS: pretty_table = make_pretty_table(["Contract", *keys], data, False) section_title = f"{self.title} ({title})" txt = f"\n\n{section_title}:\n" diff --git a/slither/utils/sarif.py b/slither/utils/sarif.py index 600ac35c76..717454139c 100644 --- a/slither/utils/sarif.py +++ b/slither/utils/sarif.py @@ -1,6 +1,7 @@ """ Various utils for sarif/vscode """ + import json from pathlib import Path from typing import List, Dict, Optional, Tuple, Any @@ -56,7 +57,6 @@ def read_triage_info(path_to_sarif: Path, path_to_triage: Path) -> List[str]: ids: List[str] = [] for run, index in indexes: - # We dont support multiple runs for now if run != 0: continue diff --git a/slither/visitors/slithir/expression_to_slithir.py b/slither/visitors/slithir/expression_to_slithir.py index f4346f81dc..0575ecb4f6 100644 --- a/slither/visitors/slithir/expression_to_slithir.py +++ b/slither/visitors/slithir/expression_to_slithir.py @@ -163,7 +163,6 @@ def convert_assignment( class ExpressionToSlithIR(ExpressionVisitor): - # pylint: disable=super-init-not-called def __init__(self, expression: Expression, node: "Node") -> None: from slither.core.cfg.node import NodeType # pylint: disable=import-outside-toplevel @@ -271,7 +270,6 @@ def _post_assignement_operation(self, expression: AssignmentOperation) -> None: self._result.append(operation) else: - operation = convert_assignment( left, right, expression.type, expression.expression_return_type ) @@ -320,7 +318,6 @@ def _post_binary_operation(self, expression: BinaryOperation) -> None: # pylint: disable=too-many-branches,too-many-statements,too-many-locals def _post_call_expression(self, expression: CallExpression) -> None: - assert isinstance(expression, CallExpression) expression_called = expression.called diff --git a/slither/vyper_parsing/cfg/node.py b/slither/vyper_parsing/cfg/node.py index a7876aa8bb..5757f30471 100644 --- a/slither/vyper_parsing/cfg/node.py +++ b/slither/vyper_parsing/cfg/node.py @@ -35,7 +35,6 @@ def analyze_expressions(self, caller_context) -> None: self._unparsed_expression = None if self._node.expression: - if self._node.type == NodeType.VARIABLE: # Update the expression to be an assignment to the variable _expression = AssignmentOperation( diff --git a/slither/vyper_parsing/declarations/contract.py b/slither/vyper_parsing/declarations/contract.py index ddf5161509..c8db2bd872 100644 --- a/slither/vyper_parsing/declarations/contract.py +++ b/slither/vyper_parsing/declarations/contract.py @@ -36,7 +36,6 @@ class ContractVyper: # pylint: disable=too-many-instance-attributes def __init__( self, slither_parser: "VyperCompilationUnit", contract: Contract, module: Module ) -> None: - self._contract: Contract = contract self._slither_parser: "VyperCompilationUnit" = slither_parser self._data = module @@ -487,7 +486,6 @@ def parse_events(self) -> None: self._contract.events_as_dict[event.full_name] = event def parse_functions(self) -> None: - for function in self._functionsNotParsed: func = FunctionContract(self._contract.compilation_unit) func.set_offset(function.src, self._contract.compilation_unit) @@ -507,7 +505,6 @@ def analyze_state_variables(self): var_parser.analyze(self._contract) def analyze(self) -> None: - for struct_parser in self._structures_parser: struct_parser.analyze(self._contract) diff --git a/slither/vyper_parsing/declarations/event.py b/slither/vyper_parsing/declarations/event.py index 43d7814394..309501053e 100644 --- a/slither/vyper_parsing/declarations/event.py +++ b/slither/vyper_parsing/declarations/event.py @@ -1,5 +1,5 @@ """ - Event module +Event module """ from slither.core.variables.event_variable import EventVariable @@ -17,7 +17,6 @@ class EventVyper: # pylint: disable=too-few-public-methods """ def __init__(self, event: Event, event_def: EventDef) -> None: - self._event = event self._event.name = event_def.name self._elemsNotParsed = event_def.body diff --git a/slither/vyper_parsing/declarations/function.py b/slither/vyper_parsing/declarations/function.py index ca5f73b5b6..843caacd8b 100644 --- a/slither/vyper_parsing/declarations/function.py +++ b/slither/vyper_parsing/declarations/function.py @@ -57,7 +57,6 @@ def __init__( function_data: FunctionDef, contract_parser: "ContractVyper", ) -> None: - self._function = function self._function.name = function_data.name self._function.id = function_data.node_id @@ -134,9 +133,9 @@ def _add_local_variable(self, local_var_parser: LocalVariableVyper) -> None: # TODO no reference ID # if local_var_parser.reference_id is not None: # self._variables_renamed[local_var_parser.reference_id] = local_var_parser - self._function.variables_as_dict[ - local_var_parser.underlying_variable.name - ] = local_var_parser.underlying_variable + self._function.variables_as_dict[local_var_parser.underlying_variable.name] = ( + local_var_parser.underlying_variable + ) self._local_variables_parser.append(local_var_parser) # endregion @@ -253,7 +252,6 @@ def _update_reachability(self, node: Node) -> None: # pylint: disable=too-many-branches,too-many-statements,protected-access,too-many-locals def _parse_cfg(self, cfg: List[ASTNode]) -> None: - entry_node = self._new_node(NodeType.ENTRYPOINT, "-1:-1:-1", self.underlying_function) self._function.entry_point = entry_node.underlying_node scope = Scope(True, False, self.underlying_function) @@ -298,7 +296,6 @@ def parse_statement( curr_node = new_node elif isinstance(expr, For): - node_startLoop = self._new_node(NodeType.STARTLOOP, expr.src, scope) node_endLoop = self._new_node(NodeType.ENDLOOP, expr.src, scope) @@ -527,7 +524,6 @@ def parse_statement( ################################################################################### def _add_param(self, param: Arg, initialized: bool = False) -> LocalVariableVyper: - local_var = LocalVariable() local_var.set_function(self._function) local_var.set_offset(param.src, self._function.compilation_unit) @@ -543,7 +539,6 @@ def _add_param(self, param: Arg, initialized: bool = False) -> LocalVariableVype return local_var_parser def _parse_params(self, params: Arguments): - self._function.parameters_src().set_offset(params.src, self._function.compilation_unit) if params.defaults: self._function._default_args_as_expressions = params.defaults @@ -552,7 +547,6 @@ def _parse_params(self, params: Arguments): self._function.add_parameters(local_var.underlying_variable) def _parse_returns(self, returns: Union[Name, TupleVyper, Subscript]): - self._function.returns_src().set_offset(returns.src, self._function.compilation_unit) # Only the type of the arg is given, not a name. We create an `Arg` with an empty name # so that the function has the correct return type in its signature but doesn't clash with diff --git a/slither/vyper_parsing/declarations/struct.py b/slither/vyper_parsing/declarations/struct.py index 3a3ccf7b87..83d7aef1e9 100644 --- a/slither/vyper_parsing/declarations/struct.py +++ b/slither/vyper_parsing/declarations/struct.py @@ -12,7 +12,6 @@ def __init__( st: Structure, struct: StructDef, ) -> None: - self._structure = st st.name = struct.name st.canonical_name = struct.name + self._structure.contract.name diff --git a/slither/vyper_parsing/expressions/expression_parsing.py b/slither/vyper_parsing/expressions/expression_parsing.py index 71eb566315..7c8d8c4363 100644 --- a/slither/vyper_parsing/expressions/expression_parsing.py +++ b/slither/vyper_parsing/expressions/expression_parsing.py @@ -76,7 +76,6 @@ def vars_to_typestr(rets: Optional[List["Expression"]]) -> str: def parse_expression( expression: ASTNode, caller_context: Union[FunctionContract, Contract] ) -> "Expression": - if isinstance(expression, Int): literal = Literal(str(expression.value), ElementaryType("uint256")) literal.set_offset(expression.src, caller_context.compilation_unit) @@ -351,9 +350,9 @@ def parse_expression( is_tuple = isinstance(rhs, TupleExpression) is_array = isinstance(rhs, Identifier) and isinstance(rhs.value.type, ArrayType) if is_array: - assert ( - rhs.value.type.is_fixed_array - ), "Dynamic arrays are not supported in comparison operators" + assert rhs.value.type.is_fixed_array, ( + "Dynamic arrays are not supported in comparison operators" + ) if is_tuple or is_array: length = len(rhs.expressions) if is_tuple else rhs.value.type.length_value.value inner_op = ( diff --git a/slither/vyper_parsing/type_parsing.py b/slither/vyper_parsing/type_parsing.py index 34c76cc6e3..236297304e 100644 --- a/slither/vyper_parsing/type_parsing.py +++ b/slither/vyper_parsing/type_parsing.py @@ -10,6 +10,7 @@ from slither.vyper_parsing.ast.types import Name, Subscript, Call, Index, Tuple from slither.solc_parsing.exceptions import ParsingError + # pylint: disable=too-many-branches,too-many-return-statements,import-outside-toplevel,too-many-locals def parse_type( annotation: Union[Name, Subscript, Call, Tuple], diff --git a/slither/vyper_parsing/vyper_compilation_unit.py b/slither/vyper_parsing/vyper_compilation_unit.py index 2a47d9864d..b3d036ccb4 100644 --- a/slither/vyper_parsing/vyper_compilation_unit.py +++ b/slither/vyper_parsing/vyper_compilation_unit.py @@ -19,7 +19,6 @@ class VyperCompilationUnit: _contracts_by_id: Dict[int, Contract] = field(default_factory=dict) def parse_module(self, data: Module, filename: str): - sourceUnit_candidates = re.findall("[0-9]*:[0-9]*:([0-9]*)", data.src) assert len(sourceUnit_candidates) == 1, "Source unit not found" sourceUnit = int(sourceUnit_candidates[0]) diff --git a/tests/e2e/compilation/test_diagnostic.py b/tests/e2e/compilation/test_diagnostic.py index 3aa8071094..0d2f0c3254 100644 --- a/tests/e2e/compilation/test_diagnostic.py +++ b/tests/e2e/compilation/test_diagnostic.py @@ -18,7 +18,6 @@ not foundry_available or not project_ready, reason="requires Foundry and project setup" ) def test_diagnostic(): - test_file_directory = TEST_DATA_DIR / "test_change" sl = Slither(test_file_directory.as_posix()) diff --git a/tests/e2e/detectors/test_detectors.py b/tests/e2e/detectors/test_detectors.py index 38ae278d3e..4391f0ae1c 100644 --- a/tests/e2e/detectors/test_detectors.py +++ b/tests/e2e/detectors/test_detectors.py @@ -1945,6 +1945,7 @@ def id_test(test_item: Test): TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" + # pylint: disable=too-many-locals @pytest.mark.parametrize("test_item", ALL_TESTS, ids=id_test) def test_detector(test_item: Test, snapshot): diff --git a/tests/e2e/solc_parsing/test_ast_parsing.py b/tests/e2e/solc_parsing/test_ast_parsing.py index 089c678f7e..78ee79465d 100644 --- a/tests/e2e/solc_parsing/test_ast_parsing.py +++ b/tests/e2e/solc_parsing/test_ast_parsing.py @@ -58,9 +58,9 @@ def generate_output(sl: Slither) -> Dict[str, Dict[str, str]]: output[contract.name] = {} for func_or_modifier in contract.functions + contract.modifiers: - output[contract.name][ - func_or_modifier.full_name - ] = func_or_modifier.slithir_cfg_to_dot_str(skip_expressions=True) + output[contract.name][func_or_modifier.full_name] = ( + func_or_modifier.slithir_cfg_to_dot_str(skip_expressions=True) + ) return output @@ -620,7 +620,6 @@ def _generate_compile(test_item: Test, skip_existing=False): if __name__ == "__main__": - required_solcs = set() for test in ALL_TESTS: required_solcs |= set(test.solc_versions) diff --git a/tests/tools/mutator/test_mutator.py b/tests/tools/mutator/test_mutator.py index 285d291dbb..e6595ce802 100644 --- a/tests/tools/mutator/test_mutator.py +++ b/tests/tools/mutator/test_mutator.py @@ -31,7 +31,6 @@ def change_directory(new_dir): def test_get_mutators(): - mutators = _get_mutators(None) assert mutators @@ -62,7 +61,6 @@ def test_get_mutators(): ) @pytest.mark.skip(reason="Slow test") def test_mutator(mock_args, solc_binary_path): # pylint: disable=unused-argument - with change_directory(TEST_DATA_DIR / "test_source_unit"): main() @@ -84,7 +82,6 @@ def test_backup_source_file(solc_binary_path): not foundry_available or not project_ready, reason="requires Foundry and project setup" ) def test_get_sol_file_list(): - project_directory = TEST_DATA_DIR / "test_source_unit" files = get_sol_file_list(project_directory, None) diff --git a/tests/tools/read-storage/conftest.py b/tests/tools/read-storage/conftest.py index 726448b13f..2a1e4aa3e0 100644 --- a/tests/tools/read-storage/conftest.py +++ b/tests/tools/read-storage/conftest.py @@ -41,12 +41,9 @@ def fixture_ganache() -> Generator[GanacheInstance, None, None]: --chain.networkId 1 --chain.chainId 1 --account {eth_privkey},{eth} - """.replace( - "\n", " " - ), + """.replace("\n", " "), shell=True, ) as p: - sleep(3) yield GanacheInstance(f"http://127.0.0.1:{port}", eth_address, eth_privkey) p.kill() diff --git a/tests/unit/core/test_function_declaration.py b/tests/unit/core/test_function_declaration.py index f75198d24b..a8ca4cdaf7 100644 --- a/tests/unit/core/test_function_declaration.py +++ b/tests/unit/core/test_function_declaration.py @@ -4,6 +4,7 @@ `slither.core.declarations.Function` objects or its subclasses and that these objects behave correctly. """ + from pathlib import Path from slither import Slither diff --git a/tests/unit/core/test_inheritance.py b/tests/unit/core/test_inheritance.py index 80a0082a72..8f5885a71b 100644 --- a/tests/unit/core/test_inheritance.py +++ b/tests/unit/core/test_inheritance.py @@ -6,6 +6,7 @@ TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" / "inheritance_resolution" + # https://github.com/crytic/slither/issues/2304 def test_inheritance_with_renaming(solc_binary_path) -> None: solc_path = solc_binary_path("0.8.0") diff --git a/tests/unit/core/test_scope_with_renaming.py b/tests/unit/core/test_scope_with_renaming.py index 6984cfaa42..69a4cecd37 100644 --- a/tests/unit/core/test_scope_with_renaming.py +++ b/tests/unit/core/test_scope_with_renaming.py @@ -7,6 +7,7 @@ TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" SCOPE_RENAMING_TEST_DATA_DIR = Path(TEST_DATA_DIR, "scope_with_renaming") + # https://github.com/crytic/slither/issues/2454 def test_find_variable_scope_with_renaming(solc_binary_path) -> None: solc_path = solc_binary_path("0.8.24") diff --git a/tests/unit/core/test_source_mapping.py b/tests/unit/core/test_source_mapping.py index 2a1bbc5510..df3e8d6c61 100644 --- a/tests/unit/core/test_source_mapping.py +++ b/tests/unit/core/test_source_mapping.py @@ -8,6 +8,7 @@ TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" SRC_MAPPING_TEST_ROOT = Path(TEST_DATA_DIR, "src_mapping") + # Ensure issue fixed in https://github.com/crytic/crytic-compile/pull/554 does not regress in Slither's reference lookup. @pytest.mark.parametrize("solc_version", ["0.6.12", "0.8.7", "0.8.8"]) def test_source_mapping_inheritance(solc_binary_path, solc_version): diff --git a/tests/unit/slithir/test_ssa_generation.py b/tests/unit/slithir/test_ssa_generation.py index 1358fa957c..858a12ce62 100644 --- a/tests/unit/slithir/test_ssa_generation.py +++ b/tests/unit/slithir/test_ssa_generation.py @@ -120,7 +120,7 @@ def ssa_basic_properties(function: Function) -> None: if v and v.name: ssa_defs[v.name] += 1 - for (k, count) in lvalue_assignments.items(): + for k, count in lvalue_assignments.items(): assert ssa_defs[k] >= count # Helper 5/6 diff --git a/tests/unit/slithir/test_storage_pointer.py b/tests/unit/slithir/test_storage_pointer.py index d92a79f39c..af30ddedf5 100644 --- a/tests/unit/slithir/test_storage_pointer.py +++ b/tests/unit/slithir/test_storage_pointer.py @@ -6,7 +6,6 @@ def test_local_alias(solc_binary_path) -> None: - solc_path = solc_binary_path("0.8.18") slither = Slither( Path(TEST_DATA_DIR, "variable_read_write_storage_pointer/local_alias.sol").as_posix(), @@ -24,7 +23,6 @@ def test_local_alias(solc_binary_path) -> None: def test_parameter_no_library(solc_binary_path) -> None: - solc_path = solc_binary_path("0.8.18") slither = Slither( Path(TEST_DATA_DIR, "variable_read_write_storage_pointer/without_library.sol").as_posix(), diff --git a/tests/unit/slithir/test_ternary_expressions.py b/tests/unit/slithir/test_ternary_expressions.py index e89e54ee97..62850bbb21 100644 --- a/tests/unit/slithir/test_ternary_expressions.py +++ b/tests/unit/slithir/test_ternary_expressions.py @@ -11,6 +11,8 @@ TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" + + # pylint: disable=too-many-nested-blocks def test_ternary_conversions(solc_binary_path) -> None: """This tests that true and false sons define the same number of variables that the father node declares""" @@ -22,7 +24,6 @@ def test_ternary_conversions(solc_binary_path) -> None: vars_assigned = 0 for node in function.nodes: if node.type in [NodeType.IF, NodeType.IFLOOP]: - # Iterate over true and false son for inner_node in node.sons: # Count all variables declared diff --git a/tests/unit/slithir/test_yul_parser_assembly_slot.py b/tests/unit/slithir/test_yul_parser_assembly_slot.py index 593b65a5dc..4727aea7a7 100644 --- a/tests/unit/slithir/test_yul_parser_assembly_slot.py +++ b/tests/unit/slithir/test_yul_parser_assembly_slot.py @@ -41,7 +41,6 @@ def test_yul_parser_assembly_slot(solc_binary_path) -> None: def test_yul_parser_sstore_sload(solc_binary_path) -> None: - solc_path = solc_binary_path("0.8.18") slither = Slither(Path(TEST_DATA_DIR, "assembly_sstore_sload.sol").as_posix(), solc=solc_path) From 6ee2b32b35197e657021077f371ca9c224e6d8fa Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 6 Jan 2026 15:19:05 +0100 Subject: [PATCH 064/113] Enable ruff formatter check --- .github/workflows/ruff.yml | 20 ++++++++++---------- .pre-commit-config.yaml | 6 +++--- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ruff.yml b/.github/workflows/ruff.yml index 83f44a3080..ae7a0a031c 100644 --- a/.github/workflows/ruff.yml +++ b/.github/workflows/ruff.yml @@ -37,16 +37,16 @@ jobs: args: "check slither/ tests/ scripts/" # Formatting check disabled to avoid changes to existing code - # - name: Run Ruff formatter check - # run: | - # echo "::group::Checking formatting with Ruff" - # ruff format --check slither/ tests/ scripts/ || FORMAT_EXIT=$? - # echo "::endgroup::" - # if [ "${FORMAT_EXIT:-0}" -ne 0 ]; then - # echo "❌ Formatting check failed. Run 'make reformat' or 'ruff format' locally to fix formatting." - # exit $FORMAT_EXIT - # fi - # echo "✅ Formatting check passed" + - name: Run Ruff formatter check + run: | + echo "::group::Checking formatting with Ruff" + ruff format --check slither/ tests/ scripts/ || FORMAT_EXIT=$? + echo "::endgroup::" + if [ "${FORMAT_EXIT:-0}" -ne 0 ]; then + echo "❌ Formatting check failed. Run 'make reformat' or 'ruff format' locally to fix formatting." + exit $FORMAT_EXIT + fi + echo "✅ Formatting check passed" - name: Install uv and Python for yamllint uses: astral-sh/setup-uv@v7 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 74722302e0..3bd72decc5 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -15,9 +15,9 @@ repos: types_or: [python, pyi] # Ruff formatter disabled to avoid code changes # Uncomment to enable formatting in the future - # - id: ruff-format - # name: ruff format - # types_or: [python, pyi] + - id: ruff-format + name: ruff format + types_or: [python, pyi] # YAML linting - repo: https://github.com/adrienverge/yamllint From 9c63e7a6fa65c61fe36ef946184fbac7222e77ba Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 6 Jan 2026 16:48:43 +0100 Subject: [PATCH 065/113] Remove pylint comments --- .../slither_my_plugin/detectors/example.py | 2 +- scripts/update_buggy_versions.py | 1 - slither/__main__.py | 19 ++++++++----------- slither/all_exceptions.py | 1 - .../data_dependency/data_dependency.py | 1 - slither/analyses/evm/convert.py | 1 - slither/analyses/evm/evm_cfg_builder.py | 4 ++-- .../analyses/write/are_variables_written.py | 3 +-- slither/core/cfg/node.py | 13 ++++--------- slither/core/cfg/scope.py | 1 - slither/core/compilation_unit.py | 1 - slither/core/context/context.py | 2 +- slither/core/declarations/contract.py | 6 ++---- slither/core/declarations/function.py | 9 +++------ .../core/declarations/function_contract.py | 2 -- .../core/declarations/function_top_level.py | 1 - .../core/declarations/solidity_variables.py | 2 +- slither/core/expressions/binary_operation.py | 3 +-- slither/core/expressions/call_expression.py | 2 +- slither/core/expressions/identifier.py | 2 +- slither/core/expressions/new_array.py | 2 +- slither/core/scope/scope.py | 3 +-- slither/core/slither_core.py | 3 +-- .../core/solidity_types/type_information.py | 1 - .../core/solidity_types/user_defined_type.py | 1 - slither/core/source_mapping/source_mapping.py | 5 ++--- slither/core/variables/local_variable.py | 2 +- slither/core/variables/variable.py | 3 +-- slither/detectors/abstract_detector.py | 1 - slither/detectors/all_detectors.py | 1 - .../detectors/assembly/incorrect_return.py | 1 - .../detectors/attributes/incorrect_solc.py | 2 +- slither/detectors/attributes/locked_ether.py | 4 ++-- .../compiler_bugs/array_by_reference.py | 2 +- .../storage_ABIEncoderV2_array.py | 2 +- .../detectors/functions/arbitrary_send_eth.py | 2 +- slither/detectors/functions/codex.py | 2 +- .../detectors/functions/external_function.py | 4 ++-- slither/detectors/functions/modifier.py | 2 +- .../functions/out_of_order_retryable.py | 2 -- .../naming_convention/naming_convention.py | 1 - slither/detectors/operations/bad_prng.py | 2 +- slither/detectors/operations/encode_packed.py | 2 +- slither/detectors/operations/incorrect_exp.py | 1 - .../missing_events_access_control.py | 1 - .../operations/unused_return_values.py | 2 +- slither/detectors/reentrancy/reentrancy.py | 2 +- .../detectors/reentrancy/reentrancy_benign.py | 2 +- .../detectors/reentrancy/reentrancy_eth.py | 4 ++-- .../detectors/reentrancy/reentrancy_events.py | 2 +- .../detectors/reentrancy/reentrancy_no_gas.py | 2 +- .../reentrancy_read_before_write.py | 5 ++--- slither/detectors/shadowing/local.py | 1 - slither/detectors/slither/name_reused.py | 1 - slither/detectors/source/rtlo.py | 1 - .../statements/array_length_assignment.py | 2 +- .../statements/boolean_constant_equality.py | 2 +- .../statements/boolean_constant_misuse.py | 2 +- .../statements/chronicle_unchecked_price.py | 1 - .../detectors/statements/deprecated_calls.py | 2 +- .../statements/divide_before_multiply.py | 3 +-- .../detectors/statements/mapping_deletion.py | 2 +- .../detectors/statements/pyth_unchecked.py | 1 - .../statements/type_based_tautology.py | 2 +- slither/detectors/statements/unary.py | 8 -------- slither/detectors/statements/unused_import.py | 5 ++--- .../variables/predeclaration_usage_local.py | 2 +- .../uninitialized_local_variables.py | 1 - .../uninitialized_state_variables.py | 4 +--- .../uninitialized_storage_variables.py | 1 - .../formatters/attributes/constant_pragma.py | 2 -- .../formatters/attributes/incorrect_solc.py | 1 - .../naming_convention/naming_convention.py | 8 ++------ slither/formatters/utils/patches.py | 1 - .../variables/unchanged_state_variables.py | 2 +- slither/printers/all_printers.py | 1 - slither/printers/call/call_graph.py | 2 -- slither/printers/guidance/echidna.py | 11 ++++------- slither/printers/summary/contract.py | 2 +- slither/printers/summary/evm.py | 1 - slither/printers/summary/function.py | 2 +- slither/printers/summary/human_summary.py | 4 ++-- slither/slither.py | 9 ++++----- slither/slithir/convert.py | 5 ++--- slither/slithir/operations/binary.py | 2 +- slither/slithir/operations/high_level_call.py | 1 - slither/slithir/operations/internal_call.py | 3 +-- .../operations/internal_dynamic_call.py | 2 +- slither/slithir/operations/low_level_call.py | 3 +-- slither/slithir/operations/new_contract.py | 2 +- slither/slithir/operations/operation.py | 4 ++-- slither/slithir/tmp_operations/tmp_call.py | 3 +-- slither/slithir/utils/ssa.py | 11 ++++------- slither/slithir/variables/constant.py | 4 ++-- slither/slithir/variables/local_variable.py | 2 +- slither/slithir/variables/reference.py | 2 +- slither/slithir/variables/reference_ssa.py | 2 +- slither/slithir/variables/state_variable.py | 2 +- slither/slithir/variables/temporary_ssa.py | 2 +- slither/slithir/variables/tuple_ssa.py | 2 +- slither/solc_parsing/declarations/contract.py | 11 ++++------- slither/solc_parsing/declarations/function.py | 3 --- .../declarations/structure_contract.py | 4 ++-- .../declarations/structure_top_level.py | 4 ++-- .../declarations/using_for_top_level.py | 2 +- .../expressions/expression_parsing.py | 3 --- .../solc_parsing/expressions/find_variable.py | 3 --- .../slither_compilation_unit_solc.py | 11 ++++------- .../solidity_types/type_parsing.py | 9 +++------ .../variables/variable_declaration.py | 4 +--- slither/solc_parsing/yul/evm_functions.py | 2 +- slither/solc_parsing/yul/parse_yul.py | 6 ++---- slither/tools/doctor/checks/platform.py | 2 +- slither/tools/doctor/checks/versions.py | 2 +- slither/tools/doctor/utils.py | 2 +- slither/tools/documentation/__main__.py | 1 - slither/tools/erc_conformance/erc/ercs.py | 7 +++---- slither/tools/flattening/__main__.py | 2 +- slither/tools/flattening/flattening.py | 9 ++++----- slither/tools/kspec_coverage/analysis.py | 3 --- slither/tools/mutator/__main__.py | 10 +++++----- slither/tools/mutator/mutators/AOR.py | 10 ++++------ slither/tools/mutator/mutators/ASOR.py | 8 +++----- slither/tools/mutator/mutators/BOR.py | 6 ++---- slither/tools/mutator/mutators/CR.py | 6 ++---- slither/tools/mutator/mutators/FHR.py | 2 +- slither/tools/mutator/mutators/LIR.py | 12 ++++-------- slither/tools/mutator/mutators/LOR.py | 6 ++---- slither/tools/mutator/mutators/MIA.py | 2 +- slither/tools/mutator/mutators/MVIE.py | 2 +- slither/tools/mutator/mutators/MVIV.py | 2 +- slither/tools/mutator/mutators/MWA.py | 2 +- slither/tools/mutator/mutators/ROR.py | 6 ++---- slither/tools/mutator/mutators/RR.py | 2 +- slither/tools/mutator/mutators/SBR.py | 10 +++------- slither/tools/mutator/mutators/UOR.py | 8 +++----- .../mutator/mutators/abstract_mutator.py | 7 +++---- .../tools/mutator/mutators/all_mutators.py | 1 - slither/tools/mutator/utils/file_handling.py | 6 +++--- slither/tools/mutator/utils/patch.py | 1 - .../mutator/utils/testing_generated_mutant.py | 4 ++-- slither/tools/properties/__main__.py | 8 ++++---- slither/tools/properties/addresses/address.py | 2 +- slither/tools/properties/platforms/truffle.py | 2 +- slither/tools/properties/properties/erc20.py | 2 +- .../tools/properties/properties/properties.py | 2 +- slither/tools/read_storage/read_storage.py | 5 ----- slither/tools/similarity/encode.py | 6 +++--- slither/tools/similarity/info.py | 2 +- slither/tools/similarity/model.py | 1 - slither/tools/similarity/plot.py | 4 ++-- slither/tools/similarity/test.py | 2 +- slither/tools/similarity/train.py | 4 ++-- .../tools/slither_format/slither_format.py | 2 +- slither/tools/upgradeability/__main__.py | 17 ++++++++--------- .../tools/upgradeability/checks/all_checks.py | 1 - slither/utils/arithmetic.py | 6 ++---- slither/utils/buggy_versions.py | 1 - slither/utils/ck.py | 4 ---- slither/utils/code_generation.py | 1 - slither/utils/codex.py | 1 - slither/utils/colors.py | 5 ++--- slither/utils/command_line.py | 1 - slither/utils/comparable_enum.py | 2 +- slither/utils/encoding.py | 3 --- slither/utils/expression_manipulations.py | 1 - slither/utils/halstead.py | 5 ----- slither/utils/martin.py | 1 - slither/utils/output.py | 1 - slither/utils/oz_hashes.py | 1 - slither/utils/type.py | 6 ++---- slither/utils/type_helpers.py | 2 +- slither/utils/upgradeability.py | 1 - .../visitors/expression/constants_folding.py | 5 ----- slither/visitors/expression/expression.py | 5 ++--- .../visitors/slithir/expression_to_slithir.py | 8 ++------ .../vyper_parsing/declarations/contract.py | 4 ++-- slither/vyper_parsing/declarations/event.py | 2 +- .../vyper_parsing/declarations/function.py | 3 +-- slither/vyper_parsing/declarations/struct.py | 2 +- .../expressions/expression_parsing.py | 3 +-- .../expressions/find_variable.py | 2 +- slither/vyper_parsing/type_parsing.py | 1 - tests/conftest.py | 1 - tests/e2e/detectors/test_detectors.py | 5 ++--- tests/e2e/solc_parsing/test_ast_parsing.py | 6 +----- tests/tools/mutator/test_mutator.py | 2 +- tests/tools/read-storage/conftest.py | 1 - tests/tools/read-storage/test_read_storage.py | 1 - tests/unit/core/test_constant_folding.py | 1 - tests/unit/core/test_function_declaration.py | 2 -- tests/unit/core/test_virtual_overrides.py | 1 - tests/unit/slithir/test_ssa_generation.py | 3 +-- .../unit/slithir/test_ternary_expressions.py | 1 - .../unit/slithir/vyper/test_ir_generation.py | 2 +- tests/unit/utils/test_upgradeability_util.py | 1 - 196 files changed, 228 insertions(+), 425 deletions(-) diff --git a/plugin_example/slither_my_plugin/detectors/example.py b/plugin_example/slither_my_plugin/detectors/example.py index edf2d382ad..f5bdddec38 100644 --- a/plugin_example/slither_my_plugin/detectors/example.py +++ b/plugin_example/slither_my_plugin/detectors/example.py @@ -1,7 +1,7 @@ from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification -class Example(AbstractDetector): # pylint: disable=too-few-public-methods +class Example(AbstractDetector): """ Documentation """ diff --git a/scripts/update_buggy_versions.py b/scripts/update_buggy_versions.py index 37e8f990f4..677228b17d 100644 --- a/scripts/update_buggy_versions.py +++ b/scripts/update_buggy_versions.py @@ -24,5 +24,4 @@ def organize_data(json_data): bugs_by_version = organize_data(bug_data) with open(Path.cwd() / Path("slither/utils/buggy_versions.py"), "w", encoding="utf-8") as file: - file.write("# pylint: disable=too-many-lines\n") file.write(f"bugs_by_version = {bugs_by_version}") diff --git a/slither/__main__.py b/slither/__main__.py index 4296627733..c3da836716 100644 --- a/slither/__main__.py +++ b/slither/__main__.py @@ -189,7 +189,6 @@ def get_detectors_and_printers() -> Tuple[ return detectors, printers -# pylint: disable=too-many-branches def choose_detectors( args: argparse.Namespace, all_detector_classes: List[Type[AbstractDetector]] ) -> List[Type[AbstractDetector]]: @@ -284,7 +283,6 @@ def parse_filter_paths(args: argparse.Namespace, filter_path: bool) -> List[str] return [] -# pylint: disable=too-many-statements def parse_args( detector_classes: List[Type[AbstractDetector]], printer_classes: List[Type[AbstractPrinter]] ) -> argparse.Namespace: @@ -678,29 +676,29 @@ def parse_args( return args -class ListDetectors(argparse.Action): # pylint: disable=too-few-public-methods - def __call__(self, parser: Any, *args: Any, **kwargs: Any) -> None: # pylint: disable=signature-differs +class ListDetectors(argparse.Action): + def __call__(self, parser: Any, *args: Any, **kwargs: Any) -> None: detectors, _ = get_detectors_and_printers() output_detectors(detectors) parser.exit() -class ListDetectorsJson(argparse.Action): # pylint: disable=too-few-public-methods - def __call__(self, parser: Any, *args: Any, **kwargs: Any) -> None: # pylint: disable=signature-differs +class ListDetectorsJson(argparse.Action): + def __call__(self, parser: Any, *args: Any, **kwargs: Any) -> None: detectors, _ = get_detectors_and_printers() detector_types_json = output_detectors_json(detectors) print(json.dumps(detector_types_json)) parser.exit() -class ListPrinters(argparse.Action): # pylint: disable=too-few-public-methods - def __call__(self, parser: Any, *args: Any, **kwargs: Any) -> None: # pylint: disable=signature-differs +class ListPrinters(argparse.Action): + def __call__(self, parser: Any, *args: Any, **kwargs: Any) -> None: _, printers = get_detectors_and_printers() output_printers(printers) parser.exit() -class OutputMarkdown(argparse.Action): # pylint: disable=too-few-public-methods +class OutputMarkdown(argparse.Action): def __call__( self, parser: Any, @@ -714,7 +712,7 @@ def __call__( parser.exit() -class OutputWiki(argparse.Action): # pylint: disable=too-few-public-methods +class OutputWiki(argparse.Action): def __call__( self, parser: Any, @@ -765,7 +763,6 @@ def main() -> None: main_impl(all_detector_classes=detectors, all_printer_classes=printers) -# pylint: disable=too-many-statements,too-many-branches,too-many-locals def main_impl( all_detector_classes: List[Type[AbstractDetector]], all_printer_classes: List[Type[AbstractPrinter]], diff --git a/slither/all_exceptions.py b/slither/all_exceptions.py index 3867540412..c99b96fb72 100644 --- a/slither/all_exceptions.py +++ b/slither/all_exceptions.py @@ -2,7 +2,6 @@ This module import all slither exceptions """ -# pylint: disable=unused-import from slither.slithir.exceptions import SlithIRError from slither.solc_parsing.exceptions import ParsingError, VariableNotFound from slither.core.exceptions import SlitherCoreError diff --git a/slither/analyses/data_dependency/data_dependency.py b/slither/analyses/data_dependency/data_dependency.py index 1cee1bc394..280b537a65 100644 --- a/slither/analyses/data_dependency/data_dependency.py +++ b/slither/analyses/data_dependency/data_dependency.py @@ -366,7 +366,6 @@ def compute_dependency_contract( propagate_function(contract, function, KEY_SSA, KEY_NON_SSA) propagate_function(contract, function, KEY_SSA_UNPROTECTED, KEY_NON_SSA_UNPROTECTED) - # pylint: disable=expression-not-assigned if function.visibility in ["public", "external"]: [compilation_unit.context[KEY_INPUT].add(p) for p in function.parameters] [compilation_unit.context[KEY_INPUT_SSA].add(p) for p in function.parameters_ssa] diff --git a/slither/analyses/evm/convert.py b/slither/analyses/evm/convert.py index ae0066d174..f1c759142a 100644 --- a/slither/analyses/evm/convert.py +++ b/slither/analyses/evm/convert.py @@ -158,7 +158,6 @@ def _get_function_evm(cfg, function_name, function_hash): return None -# pylint: disable=too-many-locals def generate_source_to_evm_ins_mapping(evm_instructions, srcmap_runtime, slither, filename): """ Generate Solidity source to EVM instruction mapping using evm_cfg_builder:cfg.instructions diff --git a/slither/analyses/evm/evm_cfg_builder.py b/slither/analyses/evm/evm_cfg_builder.py index 942e8021d5..f8d1fc5498 100644 --- a/slither/analyses/evm/evm_cfg_builder.py +++ b/slither/analyses/evm/evm_cfg_builder.py @@ -7,7 +7,7 @@ def load_evm_cfg_builder(): try: # Avoiding the addition of evm_cfg_builder as permanent dependency - # pylint: disable=import-outside-toplevel + from evm_cfg_builder.cfg import CFG return CFG @@ -15,5 +15,5 @@ def load_evm_cfg_builder(): logger.error("To use evm features, you need to install evm-cfg-builder") logger.error("Documentation: https://github.com/crytic/evm_cfg_builder") logger.error("Installation: pip install evm-cfg-builder") - # pylint: disable=raise-missing-from + raise SlitherError("evm-cfg-builder not installed.") diff --git a/slither/analyses/write/are_variables_written.py b/slither/analyses/write/are_variables_written.py index 1230d2e026..3ea138873d 100644 --- a/slither/analyses/write/are_variables_written.py +++ b/slither/analyses/write/are_variables_written.py @@ -18,7 +18,7 @@ from slither.slithir.variables import ReferenceVariable, TemporaryVariable -class State: # pylint: disable=too-few-public-methods +class State: def __init__(self) -> None: # Map node -> list of variables set # Were each variables set represents a configuration of a path @@ -33,7 +33,6 @@ def __init__(self) -> None: self.nodes: Dict[Node, List[Set[Variable]]] = defaultdict(list) -# pylint: disable=too-many-branches def _visit( node: Optional[Node], state: State, diff --git a/slither/core/cfg/node.py b/slither/core/cfg/node.py index 426d1af569..76a94a2740 100644 --- a/slither/core/cfg/node.py +++ b/slither/core/cfg/node.py @@ -50,8 +50,6 @@ from slither.core.scope.scope import FileScope -# pylint: disable=too-many-lines,too-many-branches,too-many-instance-attributes - ################################################################################### ################################################################################### # region NodeType @@ -101,9 +99,7 @@ class NodeType(Enum): # endregion -# I am not sure why, but pylint reports a lot of "no-member" issue that are not real (Josselin) -# pylint: disable=no-member -class Node(SourceMapping): # pylint: disable=too-many-public-methods +class Node(SourceMapping): """ Node class @@ -445,7 +441,7 @@ def can_reenter(self, callstack: Optional[List[Union[Function, Variable]]] = Non :param callstack: used internally to check for recursion :return bool: """ - # pylint: disable=import-outside-toplevel + from slither.slithir.operations import Call if self._can_reenter is None: @@ -461,7 +457,7 @@ def can_send_eth(self) -> bool: Check if the node can send eth :return bool: """ - # pylint: disable=import-outside-toplevel + from slither.slithir.operations import Call if self._can_send_eth is None: @@ -848,7 +844,7 @@ def add_phi_origin_state_variable(self, variable: StateVariable, node: "Node") - ################################################################################### ################################################################################### - def _find_read_write_call(self) -> None: # pylint: disable=too-many-statements + def _find_read_write_call(self) -> None: for ir in self.irs: self._slithir_vars |= {v for v in ir.read if self._is_valid_slithir_var(v)} @@ -907,7 +903,6 @@ def _find_read_write_call(self) -> None: # pylint: disable=too-many-statements # Todo this part needs more tests and documentation self._high_level_calls.append((ir.destination.type.type, ir)) except AttributeError as error: - # pylint: disable=raise-missing-from raise SlitherException( f"Function not found on IR: {ir}.\nNode: {self} ({self.source_mapping})\nFunction: {self.function}\nPlease try compiling with a recent Solidity version. {error}" ) diff --git a/slither/core/cfg/scope.py b/slither/core/cfg/scope.py index 3f9959851a..375d8d12d2 100644 --- a/slither/core/cfg/scope.py +++ b/slither/core/cfg/scope.py @@ -5,7 +5,6 @@ from slither.core.declarations.function import Function -# pylint: disable=too-few-public-methods class Scope: def __init__( self, is_checked: bool, is_yul: bool, parent_scope: Union["Scope", "Function"] diff --git a/slither/core/compilation_unit.py b/slither/core/compilation_unit.py index f4bd07e556..e034f5feae 100644 --- a/slither/core/compilation_unit.py +++ b/slither/core/compilation_unit.py @@ -45,7 +45,6 @@ def from_str(label: str): raise ValueError(f"Unknown language: {label}") -# pylint: disable=too-many-instance-attributes,too-many-public-methods class SlitherCompilationUnit(Context): def __init__(self, core: "SlitherCore", crytic_compilation_unit: CompilationUnit) -> None: super().__init__() diff --git a/slither/core/context/context.py b/slither/core/context/context.py index f88a5e06ca..a7d0c3996a 100644 --- a/slither/core/context/context.py +++ b/slither/core/context/context.py @@ -2,7 +2,7 @@ from typing import Dict -class Context: # pylint: disable=too-few-public-methods +class Context: def __init__(self) -> None: super().__init__() self._context: Dict = {"MEMBERS": defaultdict(None)} diff --git a/slither/core/declarations/contract.py b/slither/core/declarations/contract.py index 7702759938..13698f272a 100644 --- a/slither/core/declarations/contract.py +++ b/slither/core/declarations/contract.py @@ -28,7 +28,7 @@ ) from slither.utils.tests_pattern import is_test_contract -# pylint: disable=too-many-lines,too-many-instance-attributes,import-outside-toplevel,too-many-nested-blocks + if TYPE_CHECKING: from slither.core.declarations import ( Enum, @@ -51,7 +51,7 @@ LOGGER = logging.getLogger("Contract") -class Contract(SourceMapping): # pylint: disable=too-many-public-methods +class Contract(SourceMapping): """ Contract class """ @@ -1376,8 +1376,6 @@ def is_upgradeable(self) -> bool: else: for contract in self.inheritance + [self]: # This might lead to false positive - # Not sure why pylint is having a trouble here - # pylint: disable=no-member lower_name = contract.name.lower() if "upgradeable" in lower_name or "upgradable" in lower_name: self._is_upgradeable = True diff --git a/slither/core/declarations/function.py b/slither/core/declarations/function.py index 55b1dadab9..bba32618f5 100644 --- a/slither/core/declarations/function.py +++ b/slither/core/declarations/function.py @@ -29,8 +29,6 @@ from slither.utils.utils import unroll -# pylint: disable=import-outside-toplevel,too-many-instance-attributes,too-many-statements,too-many-lines - if TYPE_CHECKING: from slither.core.declarations import Contract, FunctionContract from slither.core.cfg.node import Node, NodeType @@ -111,7 +109,7 @@ class FunctionLanguage(Enum): Vyper = 2 -class Function(SourceMapping, metaclass=ABCMeta): # pylint: disable=too-many-public-methods +class Function(SourceMapping, metaclass=ABCMeta): """ Function class """ @@ -939,7 +937,7 @@ def return_values(self) -> List["SlithIRVariable"]: if self._return_values is None: return_values = [] returns = [n for n in self.nodes if n.type == NodeType.RETURN] - [ # pylint: disable=expression-not-assigned + [ return_values.extend(ir.values) for node in returns for ir in node.irs @@ -960,7 +958,7 @@ def return_values_ssa(self) -> List["SlithIRVariable"]: if self._return_values_ssa is None: return_values_ssa = [] returns = [n for n in self.nodes if n.type == NodeType.RETURN] - [ # pylint: disable=expression-not-assigned + [ return_values_ssa.extend(ir.values) for node in returns for ir in node.irs_ssa @@ -1718,7 +1716,6 @@ def new_node( def _get_last_ssa_variable_instances( self, target_state: bool, target_local: bool ) -> Dict[str, Set["SlithIRVariable"]]: - # pylint: disable=too-many-locals,too-many-branches from slither.slithir.variables import ReferenceVariable from slither.slithir.operations import OperationWithLValue from slither.core.cfg.node import NodeType diff --git a/slither/core/declarations/function_contract.py b/slither/core/declarations/function_contract.py index 7a8f10f8fa..b56562a3f8 100644 --- a/slither/core/declarations/function_contract.py +++ b/slither/core/declarations/function_contract.py @@ -9,8 +9,6 @@ from slither.utils.code_complexity import compute_cyclomatic_complexity -# pylint: disable=import-outside-toplevel,too-many-instance-attributes,too-many-statements,too-many-lines - if TYPE_CHECKING: from slither.core.declarations import Contract from slither.core.scope.scope import FileScope diff --git a/slither/core/declarations/function_top_level.py b/slither/core/declarations/function_top_level.py index 465e6680a7..e2653fe621 100644 --- a/slither/core/declarations/function_top_level.py +++ b/slither/core/declarations/function_top_level.py @@ -98,7 +98,6 @@ def get_summary( def generate_slithir_ssa( self, all_ssa_state_variables_instances: Dict[str, "StateIRVariable"] ) -> None: - # pylint: disable=import-outside-toplevel from slither.slithir.utils.ssa import add_ssa_ir, transform_slithir_vars_to_ssa from slither.core.dominators.utils import ( compute_dominance_frontier, diff --git a/slither/core/declarations/solidity_variables.py b/slither/core/declarations/solidity_variables.py index fa4e70f1a3..4ea6a6868a 100644 --- a/slither/core/declarations/solidity_variables.py +++ b/slither/core/declarations/solidity_variables.py @@ -235,7 +235,7 @@ def __hash__(self) -> int: class SolidityCustomRevert(SolidityFunction): - def __init__(self, custom_error: CustomError) -> None: # pylint: disable=super-init-not-called + def __init__(self, custom_error: CustomError) -> None: self._name = "revert " + custom_error.solidity_signature self._custom_error = custom_error self._return_type: List[Union[TypeInformation, ElementaryType]] = [] diff --git a/slither/core/expressions/binary_operation.py b/slither/core/expressions/binary_operation.py index 271975e775..908d0819ba 100644 --- a/slither/core/expressions/binary_operation.py +++ b/slither/core/expressions/binary_operation.py @@ -39,7 +39,6 @@ class BinaryOperationType(Enum): GREATER_SIGNED = 22 RIGHT_SHIFT_ARITHMETIC = 23 - # pylint: disable=too-many-branches @staticmethod def get_type( operation_type: "str", @@ -95,7 +94,7 @@ def get_type( raise SlitherCoreError(f"get_type: Unknown operation type {operation_type})") - def __str__(self) -> str: # pylint: disable=too-many-branches + def __str__(self) -> str: if self == BinaryOperationType.POWER: return "**" if self == BinaryOperationType.MULTIPLICATION: diff --git a/slither/core/expressions/call_expression.py b/slither/core/expressions/call_expression.py index ec2b2cfceb..9f4bd15b2a 100644 --- a/slither/core/expressions/call_expression.py +++ b/slither/core/expressions/call_expression.py @@ -3,7 +3,7 @@ from slither.core.expressions.expression import Expression -class CallExpression(Expression): # pylint: disable=too-many-instance-attributes +class CallExpression(Expression): def __init__( self, called: Expression, diff --git a/slither/core/expressions/identifier.py b/slither/core/expressions/identifier.py index 493620ab18..7a7aaa0be2 100644 --- a/slither/core/expressions/identifier.py +++ b/slither/core/expressions/identifier.py @@ -26,7 +26,7 @@ def __init__( ], ) -> None: super().__init__() - # pylint: disable=import-outside-toplevel + from slither.core.declarations import Contract, SolidityVariable, SolidityFunction from slither.solc_parsing.yul.evm_functions import YulBuiltin diff --git a/slither/core/expressions/new_array.py b/slither/core/expressions/new_array.py index b1d407793f..7977dc04c0 100644 --- a/slither/core/expressions/new_array.py +++ b/slither/core/expressions/new_array.py @@ -9,7 +9,7 @@ class NewArray(Expression): def __init__(self, array_type: "ArrayType") -> None: super().__init__() - # pylint: disable=import-outside-toplevel + from slither.core.solidity_types.array_type import ArrayType assert isinstance(array_type, ArrayType) diff --git a/slither/core/scope/scope.py b/slither/core/scope/scope.py index f1053505c3..a556eed264 100644 --- a/slither/core/scope/scope.py +++ b/slither/core/scope/scope.py @@ -24,7 +24,6 @@ def _dict_contain(d1: Dict, d2: Dict) -> bool: return all(item in d2_keys for item in d1.keys()) -# pylint: disable=too-many-instance-attributes class FileScope: def __init__(self, filename: Filename) -> None: self.filename = filename @@ -57,7 +56,7 @@ def __init__(self, filename: Filename) -> None: # Name -> type alias self.type_aliases: Dict[str, TypeAlias] = {} - def add_accessible_scopes(self) -> bool: # pylint: disable=too-many-branches + def add_accessible_scopes(self) -> bool: """ Add information from accessible scopes. Return true if new information was obtained :return: diff --git a/slither/core/slither_core.py b/slither/core/slither_core.py index 4f2a047f38..f81efc6b08 100644 --- a/slither/core/slither_core.py +++ b/slither/core/slither_core.py @@ -36,7 +36,6 @@ def _relative_path_format(path: str) -> str: return path.split("..")[-1].strip(".").strip("/") -# pylint: disable=too-many-instance-attributes,too-many-public-methods class SlitherCore(Context): """ Slither static analyzer @@ -254,7 +253,7 @@ def _compute_offsets_from_thing(self, thing: SourceMapping): self._offset_to_implementations[ref.filename][ref.start].update(implementations) self._offset_to_references[ref.filename][ref.start] |= set(references) - def _compute_offsets_to_ref_impl_decl(self): # pylint: disable=too-many-branches + def _compute_offsets_to_ref_impl_decl(self): self._offset_to_references = defaultdict(lambda: defaultdict(lambda: set())) self._offset_to_definitions = defaultdict(lambda: defaultdict(lambda: set())) self._offset_to_implementations = defaultdict(lambda: defaultdict(lambda: set())) diff --git a/slither/core/solidity_types/type_information.py b/slither/core/solidity_types/type_information.py index 9cef9352c7..ba3b787b20 100644 --- a/slither/core/solidity_types/type_information.py +++ b/slither/core/solidity_types/type_information.py @@ -12,7 +12,6 @@ # https://solidity.readthedocs.io/en/latest/units-and-global-variables.html#type-information class TypeInformation(Type): def __init__(self, c: Union[ElementaryType, "Contract", "Enum"]) -> None: - # pylint: disable=import-outside-toplevel from slither.core.declarations.contract import Contract from slither.core.declarations.enum import Enum diff --git a/slither/core/solidity_types/user_defined_type.py b/slither/core/solidity_types/user_defined_type.py index ca46983734..0dbb6727f8 100644 --- a/slither/core/solidity_types/user_defined_type.py +++ b/slither/core/solidity_types/user_defined_type.py @@ -10,7 +10,6 @@ from slither.core.declarations.contract import Contract -# pylint: disable=import-outside-toplevel class UserDefinedType(Type): def __init__(self, t: Union["Enum", "Contract", "Structure"]) -> None: from slither.core.declarations.structure import Structure diff --git a/slither/core/source_mapping/source_mapping.py b/slither/core/source_mapping/source_mapping.py index 64c76cec72..9a68d29f01 100644 --- a/slither/core/source_mapping/source_mapping.py +++ b/slither/core/source_mapping/source_mapping.py @@ -17,7 +17,6 @@ # And call set_offset at some point -# pylint: disable=too-many-instance-attributes class Source: def __init__(self, compilation_unit: "SlitherCompilationUnit") -> None: self.start: int = 0 @@ -157,7 +156,7 @@ def _compute_line( return list(range(start_line, end_line + 1)), starting_column, ending_column -def _convert_source_mapping(offset: str, compilation_unit: "SlitherCompilationUnit") -> Source: # pylint: disable=too-many-locals +def _convert_source_mapping(offset: str, compilation_unit: "SlitherCompilationUnit") -> Source: """ Convert a text offset to a real offset see https://solidity.readthedocs.io/en/develop/miscellaneous.html#source-mappings @@ -231,6 +230,6 @@ def add_reference_from_raw_source( def pattern(self) -> str: if self._pattern is None: # Add " " to look after the first solidity keyword - return f" {self.name}" # pylint: disable=no-member + return f" {self.name}" return self._pattern diff --git a/slither/core/variables/local_variable.py b/slither/core/variables/local_variable.py index 9baf804457..d830eb1494 100644 --- a/slither/core/variables/local_variable.py +++ b/slither/core/variables/local_variable.py @@ -50,7 +50,7 @@ def is_storage(self) -> bool: Returns: (bool) """ - # pylint: disable=import-outside-toplevel + from slither.core.solidity_types.array_type import ArrayType if self.location == "memory": diff --git a/slither/core/variables/variable.py b/slither/core/variables/variable.py index 9b193013a1..628314dbd9 100644 --- a/slither/core/variables/variable.py +++ b/slither/core/variables/variable.py @@ -13,7 +13,6 @@ from slither.core.declarations import Function -# pylint: disable=too-many-instance-attributes class Variable(SourceMapping): def __init__(self) -> None: super().__init__() @@ -155,7 +154,7 @@ def signature(self) -> Tuple[str, List[str], List[str]]: Return the signature of the state variable as a function signature :return: (str, list(str), list(str)), as (name, list parameters type, list return values type) """ - # pylint: disable=import-outside-toplevel + from slither.utils.type import ( export_nested_types_from_variable, export_return_type_from_variable, diff --git a/slither/detectors/abstract_detector.py b/slither/detectors/abstract_detector.py index 6d4f225d53..03aaec80fb 100644 --- a/slither/detectors/abstract_detector.py +++ b/slither/detectors/abstract_detector.py @@ -190,7 +190,6 @@ def _detect(self) -> List[Output]: """TODO Documentation""" return [] - # pylint: disable=too-many-branches def detect(self) -> List[Dict]: results: List[Dict] = [] diff --git a/slither/detectors/all_detectors.py b/slither/detectors/all_detectors.py index a30d2b3c00..0c5643a618 100644 --- a/slither/detectors/all_detectors.py +++ b/slither/detectors/all_detectors.py @@ -1,4 +1,3 @@ -# pylint: disable=unused-import,relative-beyond-top-level from .examples.backdoor import Backdoor from .variables.uninitialized_state_variables import UninitializedStateVarsDetection from .variables.uninitialized_storage_variables import UninitializedStorageVars diff --git a/slither/detectors/assembly/incorrect_return.py b/slither/detectors/assembly/incorrect_return.py index c1db6b3a30..5360a31244 100644 --- a/slither/detectors/assembly/incorrect_return.py +++ b/slither/detectors/assembly/incorrect_return.py @@ -63,7 +63,6 @@ class IncorrectReturn(AbstractDetector): WIKI_RECOMMENDATION = "Use the `leave` statement." - # pylint: disable=too-many-nested-blocks def _detect(self) -> List[Output]: results: List[Output] = [] for c in self.contracts: diff --git a/slither/detectors/attributes/incorrect_solc.py b/slither/detectors/attributes/incorrect_solc.py index 4b36e4284c..5e88dae976 100644 --- a/slither/detectors/attributes/incorrect_solc.py +++ b/slither/detectors/attributes/incorrect_solc.py @@ -21,7 +21,7 @@ # 3: version number # 4: version number -# pylint: disable=anomalous-backslash-in-string + PATTERN = re.compile(r"(\^|>|>=|<|<=)?([ ]+)?(\d+)\.(\d+)\.(\d+)") diff --git a/slither/detectors/attributes/locked_ether.py b/slither/detectors/attributes/locked_ether.py index 2bbd4b368e..5441a62d4c 100644 --- a/slither/detectors/attributes/locked_ether.py +++ b/slither/detectors/attributes/locked_ether.py @@ -24,7 +24,7 @@ from slither.utils.output import Output -class LockedEther(AbstractDetector): # pylint: disable=too-many-nested-blocks +class LockedEther(AbstractDetector): ARGUMENT = "locked-ether" HELP = "Contracts that lock ether" IMPACT = DetectorClassification.MEDIUM @@ -54,7 +54,7 @@ def do_no_send_ether(contract: Contract) -> bool: functions = contract.all_functions_called to_explore = functions explored = [] - while to_explore: # pylint: disable=too-many-nested-blocks + while to_explore: functions = to_explore explored += to_explore to_explore = [] diff --git a/slither/detectors/compiler_bugs/array_by_reference.py b/slither/detectors/compiler_bugs/array_by_reference.py index 78bede4ef5..3e5716d9b8 100644 --- a/slither/detectors/compiler_bugs/array_by_reference.py +++ b/slither/detectors/compiler_bugs/array_by_reference.py @@ -112,7 +112,7 @@ def detect_calls_passing_ref_to_function( return results # Loop for each node in each function/modifier in each contract - # pylint: disable=too-many-nested-blocks + for contract in contracts: for function in contract.functions_and_modifiers_declared: for ir in [ir for _, ir in function.high_level_calls] + function.internal_calls: diff --git a/slither/detectors/compiler_bugs/storage_ABIEncoderV2_array.py b/slither/detectors/compiler_bugs/storage_ABIEncoderV2_array.py index 4b8c761af9..e60e0c7835 100644 --- a/slither/detectors/compiler_bugs/storage_ABIEncoderV2_array.py +++ b/slither/detectors/compiler_bugs/storage_ABIEncoderV2_array.py @@ -73,7 +73,7 @@ def _detect_storage_abiencoderv2_arrays( results = set() # Loop for each function and modifier. - # pylint: disable=too-many-nested-blocks + for function in contract.functions_and_modifiers_declared: # Loop every node, looking for storage-allocated array of arrays/structs # in arguments to abi.encode, events or external calls diff --git a/slither/detectors/functions/arbitrary_send_eth.py b/slither/detectors/functions/arbitrary_send_eth.py index b88dd843b5..b68a76463c 100644 --- a/slither/detectors/functions/arbitrary_send_eth.py +++ b/slither/detectors/functions/arbitrary_send_eth.py @@ -33,7 +33,7 @@ ) from slither.core.variables.state_variable import StateVariable -# pylint: disable=too-many-nested-blocks,too-many-branches + from slither.utils.output import Output diff --git a/slither/detectors/functions/codex.py b/slither/detectors/functions/codex.py index e58658a3a3..d11234f295 100644 --- a/slither/detectors/functions/codex.py +++ b/slither/detectors/functions/codex.py @@ -63,7 +63,7 @@ def _run_codex(self, logging_file: str, prompt: str) -> str: temperature=self.slither.codex_temperature, max_tokens=self.slither.codex_max_tokens, ) - except Exception as e: # pylint: disable=broad-except + except Exception as e: logger.info("OpenAI request failed: " + str(e)) # """ OpenAI completion response shape example: diff --git a/slither/detectors/functions/external_function.py b/slither/detectors/functions/external_function.py index 623fd68b47..83b759809b 100644 --- a/slither/detectors/functions/external_function.py +++ b/slither/detectors/functions/external_function.py @@ -98,7 +98,7 @@ def get_base_most_function(function: FunctionContract) -> FunctionContract: # Somehow we couldn't resolve it, which shouldn't happen, as the provided function should be found if we could # not find some any more basic. - # pylint: disable=broad-exception-raised + raise Exception("Could not resolve the base-most function for the provided function.") @staticmethod @@ -139,7 +139,7 @@ def is_reference_type(parameter: Variable) -> bool: return True return False - def _detect(self) -> List[Output]: # pylint: disable=too-many-locals,too-many-branches + def _detect(self) -> List[Output]: results: List[Output] = [] # Create a set to track contracts with dynamic calls. All contracts with dynamic calls could potentially be diff --git a/slither/detectors/functions/modifier.py b/slither/detectors/functions/modifier.py index 43b71e08f7..15cac8501a 100644 --- a/slither/detectors/functions/modifier.py +++ b/slither/detectors/functions/modifier.py @@ -68,7 +68,7 @@ class ModifierDefaultDetection(AbstractDetector): def _detect(self) -> List[Output]: results = [] - # pylint: disable=too-many-nested-blocks + for c in self.contracts: for mod in c.modifiers: if mod.contract_declarer != c: diff --git a/slither/detectors/functions/out_of_order_retryable.py b/slither/detectors/functions/out_of_order_retryable.py index f7be7fe2a7..7a748fe2cc 100644 --- a/slither/detectors/functions/out_of_order_retryable.py +++ b/slither/detectors/functions/out_of_order_retryable.py @@ -71,7 +71,6 @@ class OutOfOrderRetryable(AbstractDetector): key = "OUTOFORDERRETRYABLE" - # pylint: disable=too-many-branches def _detect_multiple_tickets( self, function: FunctionContract, node: Node, visited: List[Node] ) -> None: @@ -128,7 +127,6 @@ def _detect_multiple_tickets( def _detect(self) -> List[Output]: results = [] - # pylint: disable=attribute-defined-outside-init self.results = [] self.visited_all_paths = {} diff --git a/slither/detectors/naming_convention/naming_convention.py b/slither/detectors/naming_convention/naming_convention.py index c321c1c26a..832e774b57 100644 --- a/slither/detectors/naming_convention/naming_convention.py +++ b/slither/detectors/naming_convention/naming_convention.py @@ -71,7 +71,6 @@ def is_upper_case_with_underscores(name: str) -> bool: def should_avoid_name(name: str) -> bool: return re.search("^[lOI]$", name) is not None - # pylint: disable=too-many-branches,too-many-statements def _detect(self) -> List[Output]: results = [] info: DETECTOR_INFO diff --git a/slither/detectors/operations/bad_prng.py b/slither/detectors/operations/bad_prng.py index 5fb8d2a42d..929eb4dcd8 100644 --- a/slither/detectors/operations/bad_prng.py +++ b/slither/detectors/operations/bad_prng.py @@ -46,7 +46,7 @@ def contains_bad_PRNG_sources(func: Function, blockhash_ret_values: List[Variabl (nodes) """ ret = set() - # pylint: disable=too-many-nested-blocks + for node in func.nodes: for ir in node.irs_ssa: if isinstance(ir, Binary) and ir.type == BinaryType.MODULO: diff --git a/slither/detectors/operations/encode_packed.py b/slither/detectors/operations/encode_packed.py index ddc5bb842a..9928cb3b8f 100644 --- a/slither/detectors/operations/encode_packed.py +++ b/slither/detectors/operations/encode_packed.py @@ -33,7 +33,7 @@ def _detect_abi_encodePacked_collision(contract: Contract): list((Function), (list (Node))) """ ret = [] - # pylint: disable=too-many-nested-blocks + for f in contract.functions_and_modifiers_declared: for ir in f.solidity_calls: if ir.function == SolidityFunction("abi.encodePacked()"): diff --git a/slither/detectors/operations/incorrect_exp.py b/slither/detectors/operations/incorrect_exp.py index f1b4c0cda5..23e6867f64 100644 --- a/slither/detectors/operations/incorrect_exp.py +++ b/slither/detectors/operations/incorrect_exp.py @@ -48,7 +48,6 @@ def _detect_incorrect_operator(contract: Contract) -> List[Tuple[Function, Node] return ret -# pylint: disable=too-few-public-methods class IncorrectOperatorExponentiation(AbstractDetector): """ Incorrect operator usage of bitwise xor mistaking it for exponentiation diff --git a/slither/detectors/operations/missing_events_access_control.py b/slither/detectors/operations/missing_events_access_control.py index 86d229a913..a47143d783 100644 --- a/slither/detectors/operations/missing_events_access_control.py +++ b/slither/detectors/operations/missing_events_access_control.py @@ -67,7 +67,6 @@ def _detect_missing_events( """ results = [] - # pylint: disable=too-many-nested-blocks for function in contract.functions_entry_points: nodes = [] diff --git a/slither/detectors/operations/unused_return_values.py b/slither/detectors/operations/unused_return_values.py index 59accff712..bc2015d359 100644 --- a/slither/detectors/operations/unused_return_values.py +++ b/slither/detectors/operations/unused_return_values.py @@ -75,7 +75,7 @@ def detect_unused_return_values(self, f: FunctionContract) -> List[Node]: """ values_returned = [] nodes_origin = {} - # pylint: disable=too-many-nested-blocks + for n in f.nodes: for ir in n.irs: if self._is_instance(ir): diff --git a/slither/detectors/reentrancy/reentrancy.py b/slither/detectors/reentrancy/reentrancy.py index d1afc13ed5..426584e5bf 100644 --- a/slither/detectors/reentrancy/reentrancy.py +++ b/slither/detectors/reentrancy/reentrancy.py @@ -298,7 +298,7 @@ def _detect(self) -> List[Output]: # new variables written # This speedup the exploration through a light fixpoint # Its particular useful on 'complex' functions with several loops and conditions - self.visited_all_paths = {} # pylint: disable=attribute-defined-outside-init + self.visited_all_paths = {} for c in self.contracts: self.detect_reentrancy(c) diff --git a/slither/detectors/reentrancy/reentrancy_benign.py b/slither/detectors/reentrancy/reentrancy_benign.py index 9690311607..58b779e024 100644 --- a/slither/detectors/reentrancy/reentrancy_benign.py +++ b/slither/detectors/reentrancy/reentrancy_benign.py @@ -89,7 +89,7 @@ def find_reentrancies(self) -> DefaultDict[FindingKey, Set[FindingValue]]: result[finding_key] |= not_read_then_written return result - def _detect(self) -> List[Output]: # pylint: disable=too-many-branches + def _detect(self) -> List[Output]: """""" super()._detect() diff --git a/slither/detectors/reentrancy/reentrancy_eth.py b/slither/detectors/reentrancy/reentrancy_eth.py index 44f6756099..094a6cb08e 100644 --- a/slither/detectors/reentrancy/reentrancy_eth.py +++ b/slither/detectors/reentrancy/reentrancy_eth.py @@ -56,7 +56,7 @@ class ReentrancyEth(Reentrancy): def find_reentrancies(self) -> Dict[FindingKey, Set[FindingValue]]: result: Dict[FindingKey, Set[FindingValue]] = defaultdict(set) - for contract in self.contracts: # pylint: disable=too-many-nested-blocks + for contract in self.contracts: variables_used_in_reentrancy = contract.state_variables_used_in_reentrant_targets for f in contract.functions_and_modifiers_declared: for node in f.nodes: @@ -97,7 +97,7 @@ def find_reentrancies(self) -> Dict[FindingKey, Set[FindingValue]]: result[finding_key] |= set(read_then_written) return result - def _detect(self) -> List[Output]: # pylint: disable=too-many-branches,too-many-locals + def _detect(self) -> List[Output]: """""" super()._detect() diff --git a/slither/detectors/reentrancy/reentrancy_events.py b/slither/detectors/reentrancy/reentrancy_events.py index 2ec5497b4c..4c9824edd1 100644 --- a/slither/detectors/reentrancy/reentrancy_events.py +++ b/slither/detectors/reentrancy/reentrancy_events.py @@ -104,7 +104,7 @@ def find_reentrancies(self) -> DefaultDict[FindingKey, Set[FindingValue]]: result[finding_key] |= finding_vars return result - def _detect(self) -> List[Output]: # pylint: disable=too-many-branches + def _detect(self) -> List[Output]: """""" super()._detect() diff --git a/slither/detectors/reentrancy/reentrancy_no_gas.py b/slither/detectors/reentrancy/reentrancy_no_gas.py index 73a2e08c1d..93677dce5f 100644 --- a/slither/detectors/reentrancy/reentrancy_no_gas.py +++ b/slither/detectors/reentrancy/reentrancy_no_gas.py @@ -103,7 +103,7 @@ def find_reentrancies(self) -> DefaultDict[FindingKey, Set[FindingValue]]: result[finding_key] |= finding_vars return result - def _detect(self) -> List[Output]: # pylint: disable=too-many-branches,too-many-locals + def _detect(self) -> List[Output]: """""" super()._detect() diff --git a/slither/detectors/reentrancy/reentrancy_read_before_write.py b/slither/detectors/reentrancy/reentrancy_read_before_write.py index 03cb56aec7..b7bc98454e 100644 --- a/slither/detectors/reentrancy/reentrancy_read_before_write.py +++ b/slither/detectors/reentrancy/reentrancy_read_before_write.py @@ -52,10 +52,9 @@ class ReentrancyReadBeforeWritten(Reentrancy): STANDARD_JSON = False - # pylint: disable=too-many-locals def find_reentrancies(self) -> Dict[FindingKey, Set[FindingValue]]: result: Dict[FindingKey, Set[FindingValue]] = defaultdict(set) - for contract in self.contracts: # pylint: disable=too-many-nested-blocks + for contract in self.contracts: variables_used_in_reentrancy = contract.state_variables_used_in_reentrant_targets for f in contract.functions_and_modifiers_declared: for node in f.nodes: @@ -93,7 +92,7 @@ def find_reentrancies(self) -> Dict[FindingKey, Set[FindingValue]]: result[finding_key] |= read_then_written return result - def _detect(self) -> List[Output]: # pylint: disable=too-many-branches + def _detect(self) -> List[Output]: """""" super()._detect() diff --git a/slither/detectors/shadowing/local.py b/slither/detectors/shadowing/local.py index e3aabe5d5b..cf090e83c1 100644 --- a/slither/detectors/shadowing/local.py +++ b/slither/detectors/shadowing/local.py @@ -64,7 +64,6 @@ class LocalShadowing(AbstractDetector): OVERSHADOWED_EVENT = "event" OVERSHADOWED_RETURN_VARIABLE = "return variable" - # pylint: disable=too-many-branches def detect_shadowing_definitions( self, contract: Contract ) -> List[ diff --git a/slither/detectors/slither/name_reused.py b/slither/detectors/slither/name_reused.py index ca5b7cb5d9..3794f95f03 100644 --- a/slither/detectors/slither/name_reused.py +++ b/slither/detectors/slither/name_reused.py @@ -59,7 +59,6 @@ class NameReused(AbstractDetector): WIKI_RECOMMENDATION = "Rename the contract." - # pylint: disable=too-many-locals,too-many-branches def _detect(self) -> List[Output]: results = [] compilation_unit = self.compilation_unit diff --git a/slither/detectors/source/rtlo.py b/slither/detectors/source/rtlo.py index b9bc7aa74e..85d282a12a 100644 --- a/slither/detectors/source/rtlo.py +++ b/slither/detectors/source/rtlo.py @@ -9,7 +9,6 @@ from slither.utils.output import Output -# pylint: disable=bidirectional-unicode class RightToLeftOverride(AbstractDetector): """ Detect the usage of a Right-To-Left-Override (U+202E) character diff --git a/slither/detectors/statements/array_length_assignment.py b/slither/detectors/statements/array_length_assignment.py index 9663352a19..1a977e56ad 100644 --- a/slither/detectors/statements/array_length_assignment.py +++ b/slither/detectors/statements/array_length_assignment.py @@ -31,7 +31,7 @@ def detect_array_length_assignment(contract: Contract) -> Set[Node]: results = set() # Loop for each function and modifier. - # pylint: disable=too-many-nested-blocks + for function in contract.functions_and_modifiers_declared: # Define a set of reference variables which refer to array length. array_length_refs = set() diff --git a/slither/detectors/statements/boolean_constant_equality.py b/slither/detectors/statements/boolean_constant_equality.py index 4ba3e10371..5ebfe3515f 100644 --- a/slither/detectors/statements/boolean_constant_equality.py +++ b/slither/detectors/statements/boolean_constant_equality.py @@ -61,7 +61,7 @@ def _detect_boolean_equality( results: List[Tuple[Function, Set[Node]]] = [] # Loop for each function and modifier. - # pylint: disable=too-many-nested-blocks + for function in contract.functions_and_modifiers_declared: f_results = set() diff --git a/slither/detectors/statements/boolean_constant_misuse.py b/slither/detectors/statements/boolean_constant_misuse.py index 671b1caef0..0d33c087c8 100644 --- a/slither/detectors/statements/boolean_constant_misuse.py +++ b/slither/detectors/statements/boolean_constant_misuse.py @@ -71,7 +71,7 @@ class BooleanConstantMisuse(AbstractDetector): @staticmethod def _detect_boolean_constant_misuses( contract: Contract, - ) -> List[Tuple[Function, Set[Node]]]: # pylint: disable=too-many-branches + ) -> List[Tuple[Function, Set[Node]]]: """ Detects and returns all nodes which misuse a Boolean constant. :param contract: Contract to detect assignment within. diff --git a/slither/detectors/statements/chronicle_unchecked_price.py b/slither/detectors/statements/chronicle_unchecked_price.py index 47ad2ddc57..8cbf701374 100644 --- a/slither/detectors/statements/chronicle_unchecked_price.py +++ b/slither/detectors/statements/chronicle_unchecked_price.py @@ -83,7 +83,6 @@ def _var_is_checked(self, nodes: List[Node], var_to_check: Variable) -> bool: nodes.append(son) return checked - # pylint: disable=too-many-nested-blocks,too-many-branches def _detect(self) -> List[Output]: results: List[Output] = [] diff --git a/slither/detectors/statements/deprecated_calls.py b/slither/detectors/statements/deprecated_calls.py index eb3874794f..72dbe7a896 100644 --- a/slither/detectors/statements/deprecated_calls.py +++ b/slither/detectors/statements/deprecated_calls.py @@ -156,7 +156,7 @@ def detect_deprecated_references_in_contract( results.append((state_variable, deprecated_results)) # Loop through all functions + modifiers in this contract. - # pylint: disable=too-many-nested-blocks + for function in contract.functions_and_modifiers_declared: # Loop through each node in this function. for node in function.nodes: diff --git a/slither/detectors/statements/divide_before_multiply.py b/slither/detectors/statements/divide_before_multiply.py index 99a272b933..c63afbf714 100644 --- a/slither/detectors/statements/divide_before_multiply.py +++ b/slither/detectors/statements/divide_before_multiply.py @@ -62,12 +62,11 @@ def is_assert(node: Node) -> bool: return False -# pylint: disable=too-many-branches def _explore( to_explore: List[Node], f_results: List[List[Node]], divisions: DefaultDict[LVALUE, List[Node]] ) -> None: explored = set() - while to_explore: # pylint: disable=too-many-nested-blocks + while to_explore: node = to_explore.pop() if node in explored: diff --git a/slither/detectors/statements/mapping_deletion.py b/slither/detectors/statements/mapping_deletion.py index 4d6a0817dd..d814aac3f7 100644 --- a/slither/detectors/statements/mapping_deletion.py +++ b/slither/detectors/statements/mapping_deletion.py @@ -65,7 +65,7 @@ def detect_mapping_deletion( list (function, structure, node) """ ret: List[Tuple[FunctionContract, Structure, Node]] = [] - # pylint: disable=too-many-nested-blocks + for f in contract.functions: for node in f.nodes: for ir in node.irs: diff --git a/slither/detectors/statements/pyth_unchecked.py b/slither/detectors/statements/pyth_unchecked.py index 19e774e00c..1a52ce4dd9 100644 --- a/slither/detectors/statements/pyth_unchecked.py +++ b/slither/detectors/statements/pyth_unchecked.py @@ -17,7 +17,6 @@ class PythUnchecked(AbstractDetector): PYTH_FUNCTIONS = [] PYTH_FIELD = "" - # pylint: disable=too-many-nested-blocks def _detect(self) -> List[Output]: results: List[Output] = [] diff --git a/slither/detectors/statements/type_based_tautology.py b/slither/detectors/statements/type_based_tautology.py index 8af9964e99..e346560ff7 100644 --- a/slither/detectors/statements/type_based_tautology.py +++ b/slither/detectors/statements/type_based_tautology.py @@ -127,7 +127,7 @@ def detect_type_based_tautologies(self, contract: Contract) -> List[Tuple[Functi allInts = Int + Uint # Loop for each function and modifier. - for function in contract.functions_declared: # pylint: disable=too-many-nested-blocks + for function in contract.functions_declared: f_results = set() for node in function.nodes: diff --git a/slither/detectors/statements/unary.py b/slither/detectors/statements/unary.py index 19d0b2f2ac..e8c4e028ee 100644 --- a/slither/detectors/statements/unary.py +++ b/slither/detectors/statements/unary.py @@ -16,7 +16,6 @@ from slither.visitors.expression.expression import ExpressionVisitor -# pylint: disable=too-few-public-methods class InvalidUnaryExpressionDetector(ExpressionVisitor): def __init__(self, expression: Expression) -> None: self.result: bool = False @@ -25,13 +24,9 @@ def __init__(self, expression: Expression) -> None: def _post_assignement_operation(self, expression: AssignmentOperation) -> None: if isinstance(expression.expression_right, UnaryOperation): if expression.expression_right.type == UnaryOperationType.PLUS_PRE: - # This is defined in ExpressionVisitor but pylint - # Seems to think its not - # pylint: disable=attribute-defined-outside-init self.result = True -# pylint: disable=too-few-public-methods class InvalidUnaryStateVariableDetector(ExpressionVisitor): def __init__(self, expression: Expression) -> None: self.result: bool = False @@ -39,9 +34,6 @@ def __init__(self, expression: Expression) -> None: def _post_unary_operation(self, expression: UnaryOperation) -> None: if expression.type == UnaryOperationType.PLUS_PRE: - # This is defined in ExpressionVisitor but pylint - # Seems to think its not - # pylint: disable=attribute-defined-outside-init self.result = True diff --git a/slither/detectors/statements/unused_import.py b/slither/detectors/statements/unused_import.py index f76fa08f44..dca10a44ac 100644 --- a/slither/detectors/statements/unused_import.py +++ b/slither/detectors/statements/unused_import.py @@ -3,7 +3,6 @@ from slither.core.scope.scope import FileScope -# pylint: disable=protected-access,too-many-nested-blocks class UnusedImport(AbstractDetector): """ Detector unused imports. @@ -33,7 +32,7 @@ class UnusedImport(AbstractDetector): ) @staticmethod - def _is_import_container(scope: FileScope) -> bool: # pylint: disable=too-many-branches + def _is_import_container(scope: FileScope) -> bool: """ Returns True if a given file (provided as a `FileScope` object) contains only `import` directives (and pragmas). Such a file doesn't need the imports it contains, but its purpose is to aggregate certain correlated imports. @@ -64,7 +63,7 @@ def _is_import_container(scope: FileScope) -> bool: # pylint: disable=too-many- return False return True - def _detect(self) -> List[Output]: # pylint: disable=too-many-branches + def _detect(self) -> List[Output]: results: List[Output] = [] # This is computed lazily and then memoized so we need to trigger the computation. self.slither._compute_offsets_to_ref_impl_decl() diff --git a/slither/detectors/variables/predeclaration_usage_local.py b/slither/detectors/variables/predeclaration_usage_local.py index 7cf3bb68ac..338f4d5a53 100644 --- a/slither/detectors/variables/predeclaration_usage_local.py +++ b/slither/detectors/variables/predeclaration_usage_local.py @@ -145,7 +145,7 @@ def _detect(self) -> List[Output]: # Each set contains the already declared variables saw in one path # If a path has the same set as a path already explored # We don't need to continue - # pylint: disable=attribute-defined-outside-init + self.fix_point_information = {} for contract in self.contracts: diff --git a/slither/detectors/variables/uninitialized_local_variables.py b/slither/detectors/variables/uninitialized_local_variables.py index bef3e5cdd4..06cf8acc20 100644 --- a/slither/detectors/variables/uninitialized_local_variables.py +++ b/slither/detectors/variables/uninitialized_local_variables.py @@ -97,7 +97,6 @@ def _detect(self) -> List[Output]: """ results = [] - # pylint: disable=attribute-defined-outside-init self.results = [] self.visited_all_paths = {} diff --git a/slither/detectors/variables/uninitialized_state_variables.py b/slither/detectors/variables/uninitialized_state_variables.py index c519e2c4b7..00de3b8d95 100644 --- a/slither/detectors/variables/uninitialized_state_variables.py +++ b/slither/detectors/variables/uninitialized_state_variables.py @@ -64,7 +64,7 @@ class UninitializedStateVarsDetection(AbstractDetector): @staticmethod def _written_variables(contract: Contract) -> List[StateVariable]: ret = [] - # pylint: disable=too-many-nested-blocks + for f in contract.all_functions_called + contract.modifiers: for n in f.nodes: ret += n.state_variables_written @@ -87,7 +87,6 @@ def _written_variables(contract: Contract) -> List[StateVariable]: def _variable_written_in_proxy(self): # Hack to memoize without having it define in the init if hasattr(self, "__variables_written_in_proxy"): - # pylint: disable=access-member-before-definition return self.__variables_written_in_proxy variables_written_in_proxy = [] @@ -95,7 +94,6 @@ def _variable_written_in_proxy(self): if c.is_upgradeable_proxy: variables_written_in_proxy += self._written_variables(c) - # pylint: disable=attribute-defined-outside-init self.__variables_written_in_proxy = list({v.name for v in variables_written_in_proxy}) return self.__variables_written_in_proxy diff --git a/slither/detectors/variables/uninitialized_storage_variables.py b/slither/detectors/variables/uninitialized_storage_variables.py index 9b20fb2417..5135ac21e1 100644 --- a/slither/detectors/variables/uninitialized_storage_variables.py +++ b/slither/detectors/variables/uninitialized_storage_variables.py @@ -96,7 +96,6 @@ def _detect(self) -> List[Output]: """ results = [] - # pylint: disable=attribute-defined-outside-init self.results = [] self.visited_all_paths = {} diff --git a/slither/formatters/attributes/constant_pragma.py b/slither/formatters/attributes/constant_pragma.py index 1127b1e431..f8d4bd25ef 100644 --- a/slither/formatters/attributes/constant_pragma.py +++ b/slither/formatters/attributes/constant_pragma.py @@ -8,7 +8,6 @@ # Indicates the recommended versions for replacement REPLACEMENT_VERSIONS = ["^0.4.25", "^0.5.3"] -# pylint: disable=anomalous-backslash-in-string # group: # 0: ^ > >= < <= (optional) @@ -67,7 +66,6 @@ def _determine_solc_version_replacement(used_solc_version: str) -> str: raise FormatImpossible("Unknown version!") -# pylint: disable=too-many-arguments def _patch( slither: SlitherCompilationUnit, result: Dict, diff --git a/slither/formatters/attributes/incorrect_solc.py b/slither/formatters/attributes/incorrect_solc.py index de00251380..78c0db4897 100644 --- a/slither/formatters/attributes/incorrect_solc.py +++ b/slither/formatters/attributes/incorrect_solc.py @@ -57,7 +57,6 @@ def _determine_solc_version_replacement(used_solc_version): return None -# pylint: disable=too-many-arguments def _patch(slither, result, in_file, solc_version, modify_loc_start, modify_loc_end): in_file_str = slither.source_code[in_file].encode("utf8") old_str_of_interest = in_file_str[modify_loc_start:modify_loc_end] diff --git a/slither/formatters/naming_convention/naming_convention.py b/slither/formatters/naming_convention/naming_convention.py index 2b033c96c8..1e8cdd5142 100644 --- a/slither/formatters/naming_convention/naming_convention.py +++ b/slither/formatters/naming_convention/naming_convention.py @@ -27,9 +27,6 @@ logger = logging.getLogger("Slither.Format") -# pylint: disable=anomalous-backslash-in-string - - def custom_format(compilation_unit: SlitherCompilationUnit, result: Dict) -> None: elements = result["elements"] for element in elements: @@ -345,7 +342,7 @@ def _is_var_declaration(slither: SlitherCompilationUnit, filename: str, start: i ) -def _explore_type( # pylint: disable=too-many-arguments,too-many-locals,too-many-branches +def _explore_type( slither: SlitherCompilationUnit, result: Dict, target: TARGET_TYPE, @@ -445,7 +442,7 @@ def _explore_type( # pylint: disable=too-many-arguments,too-many-locals,too-man ) -def _explore_variables_declaration( # pylint: disable=too-many-arguments,too-many-locals,too-many-nested-blocks +def _explore_variables_declaration( slither: SlitherCompilationUnit, variables: Sequence[Variable], result: Dict, @@ -608,7 +605,6 @@ def _explore_irs( target: TARGET_TYPE, convert: CONVENTION_F_TYPE, ) -> None: - # pylint: disable=too-many-locals if not irs: return for ir in irs: diff --git a/slither/formatters/utils/patches.py b/slither/formatters/utils/patches.py index 16b9c42cda..c538be5133 100644 --- a/slither/formatters/utils/patches.py +++ b/slither/formatters/utils/patches.py @@ -6,7 +6,6 @@ from slither.core.compilation_unit import SlitherCompilationUnit -# pylint: disable=too-many-arguments def create_patch( result: Dict, file: str, diff --git a/slither/formatters/variables/unchanged_state_variables.py b/slither/formatters/variables/unchanged_state_variables.py index 158462ef3a..d3151a1d17 100644 --- a/slither/formatters/variables/unchanged_state_variables.py +++ b/slither/formatters/variables/unchanged_state_variables.py @@ -27,7 +27,7 @@ def custom_format(compilation_unit: SlitherCompilationUnit, result, attribute: s ) -def _patch( # pylint: disable=too-many-arguments +def _patch( compilation_unit: SlitherCompilationUnit, result, in_file, diff --git a/slither/printers/all_printers.py b/slither/printers/all_printers.py index d3e836d711..7b8fc1b8cd 100644 --- a/slither/printers/all_printers.py +++ b/slither/printers/all_printers.py @@ -1,4 +1,3 @@ -# pylint: disable=unused-import,relative-beyond-top-level from .summary.function import FunctionSummary from .summary.contract import ContractSummary from .summary.loc import LocPrinter diff --git a/slither/printers/call/call_graph.py b/slither/printers/call/call_graph.py index 8cd69333f1..e19c15b6ce 100644 --- a/slither/printers/call/call_graph.py +++ b/slither/printers/call/call_graph.py @@ -47,7 +47,6 @@ def _node(node: str, label: Optional[str] = None) -> str: ) -# pylint: disable=too-many-arguments def _process_internal_call( contract: Contract, function: Function, @@ -141,7 +140,6 @@ def _process_external_call( ) -# pylint: disable=too-many-arguments def _process_function( contract: Contract, function: Function, diff --git a/slither/printers/guidance/echidna.py b/slither/printers/guidance/echidna.py index 48e40a90f3..39c677b393 100644 --- a/slither/printers/guidance/echidna.py +++ b/slither/printers/guidance/echidna.py @@ -69,7 +69,7 @@ def _extract_solidity_variable_usage( return ret -def _is_constant(f: Function) -> bool: # pylint: disable=too-many-branches +def _is_constant(f: Function) -> bool: """ Heuristic: - If view/pure with Solidity >= 0.4 -> Return true @@ -152,9 +152,6 @@ def _extract_assert(contracts: List[Contract]) -> Dict[str, Dict[str, List[Dict] # Create a named tuple that is serialization in json def json_serializable(cls): - # pylint: disable=unnecessary-comprehension,unnecessary-dunder-call - # TODO: the next line is a quick workaround to prevent pylint from crashing - # It can be removed once https://github.com/PyCQA/pylint/pull/3810 is merged my_super = super def as_dict(self): @@ -167,7 +164,7 @@ def as_dict(self): @json_serializable -class ConstantValue(NamedTuple): # pylint: disable=inherit-non-class,too-few-public-methods +class ConstantValue(NamedTuple): # Here value should be Union[str, int, bool] # But the json lib in Echidna does not handle large integer in json # So we convert everything to string @@ -390,7 +387,7 @@ def _call_a_parameter(slither: SlitherCore, contracts: List[Contract]) -> Dict[s """ # contract -> [ (function, idx, interface_called) ] ret: Dict[str, List[Dict]] = defaultdict(list) - for contract in contracts: # pylint: disable=too-many-nested-blocks + for contract in contracts: for function in contract.functions_entry_points: try: for ir in function.all_slithir_operations(): @@ -427,7 +424,7 @@ class Echidna(AbstractPrinter): WIKI = "https://github.com/trailofbits/slither/wiki/Printer-documentation#echidna" - def output(self, filename: str) -> Output: # pylint: disable=too-many-locals + def output(self, filename: str) -> Output: """ Output the inheritance relation diff --git a/slither/printers/summary/contract.py b/slither/printers/summary/contract.py index 3271492791..298342a5b6 100644 --- a/slither/printers/summary/contract.py +++ b/slither/printers/summary/contract.py @@ -18,7 +18,7 @@ class ContractSummary(AbstractPrinter): WIKI = "https://github.com/trailofbits/slither/wiki/Printer-documentation#contract-summary" - def output(self, _filename: str) -> Output: # pylint: disable=too-many-locals + def output(self, _filename: str) -> Output: """ _filename is not used Args: diff --git a/slither/printers/summary/evm.py b/slither/printers/summary/evm.py index 38209e0b5c..4a8d4f0385 100644 --- a/slither/printers/summary/evm.py +++ b/slither/printers/summary/evm.py @@ -74,7 +74,6 @@ def _extract_evm_info(slither): return evm_info -# pylint: disable=too-many-locals class PrinterEVM(AbstractPrinter): ARGUMENT = "evm" HELP = "Print the evm instructions of nodes in functions" diff --git a/slither/printers/summary/function.py b/slither/printers/summary/function.py index 2642ecdace..ce853d0b73 100644 --- a/slither/printers/summary/function.py +++ b/slither/printers/summary/function.py @@ -21,7 +21,7 @@ def _convert(l): return "\n".join(l) return str(l) - def output(self, _filename): # pylint: disable=too-many-locals + def output(self, _filename): """ _filename is not used Args: diff --git a/slither/printers/summary/human_summary.py b/slither/printers/summary/human_summary.py index 755df95f96..2581d07dbc 100644 --- a/slither/printers/summary/human_summary.py +++ b/slither/printers/summary/human_summary.py @@ -201,7 +201,7 @@ def _ercs(self): ercs += contract.ercs() return list(set(ercs)) - def _get_features(self, contract): # pylint: disable=too-many-branches + def _get_features(self, contract): has_payable = False can_send_eth = False can_selfdestruct = False @@ -296,7 +296,7 @@ def _get_number_lines(self, txt: str, results: Dict) -> Tuple[str, Dict]: results["number_lines_assembly"] = total_asm_lines return txt, results - def output(self, _filename): # pylint: disable=too-many-locals,too-many-statements + def output(self, _filename): """ _filename is not used Args: diff --git a/slither/slither.py b/slither/slither.py index fdce8cf692..50c0809c05 100644 --- a/slither/slither.py +++ b/slither/slither.py @@ -3,7 +3,7 @@ from crytic_compile import CryticCompile, InvalidCompilation -# pylint: disable= no-name-in-module + from slither.core.compilation_unit import SlitherCompilationUnit from slither.core.slither_core import SlitherCore from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification @@ -29,13 +29,13 @@ def _check_common_things( f"You can't register {cls!r} as a {thing_name}. You need to pass a class that inherits from {base_cls.__name__}" ) - if any(type(obj) == cls for obj in instances_list): # pylint: disable=unidiomatic-typecheck + if any(type(obj) == cls for obj in instances_list): raise SlitherError(f"You can't register {cls!r} twice.") def _update_file_scopes( sol_parser: SlitherCompilationUnitSolc, -): # pylint: disable=too-many-branches +): """ Since all definitions in a file are exported by default, including definitions from its (transitive) dependencies, we can identify all top level items that could possibly be referenced within the file from its exportedSymbols. @@ -87,7 +87,7 @@ def _update_file_scopes( ) -class Slither(SlitherCore): # pylint: disable=too-many-instance-attributes,too-many-locals,too-many-statements,too-many-branches +class Slither(SlitherCore): def __init__(self, target: Union[str, CryticCompile], **kwargs) -> None: """ Args: @@ -132,7 +132,6 @@ def __init__(self, target: Union[str, CryticCompile], **kwargs) -> None: crytic_compile = CryticCompile(target, **kwargs) self._crytic_compile = crytic_compile except InvalidCompilation as e: - # pylint: disable=raise-missing-from raise SlitherError(f"Invalid compilation: \n{str(e)}") for compilation_unit in crytic_compile.compilation_units.values(): compilation_unit_slither = SlitherCompilationUnit(self, compilation_unit) diff --git a/slither/slithir/convert.py b/slither/slithir/convert.py index a81bba65a1..3c17e6360f 100644 --- a/slither/slithir/convert.py +++ b/slither/slithir/convert.py @@ -2,7 +2,7 @@ from pathlib import Path from typing import Any, List, TYPE_CHECKING, Union, Optional -# pylint: disable= too-many-lines,import-outside-toplevel,too-many-branches,too-many-statements,too-many-nested-blocks + from slither.core.declarations import ( Contract, Enum, @@ -600,7 +600,7 @@ def _convert_type_contract(ir: Member) -> Assignment: raise SlithIRError(f"type({contract.name}).{ir.variable_right} is unknown") -def propagate_types(ir: Operation, node: "Node"): # pylint: disable=too-many-locals +def propagate_types(ir: Operation, node: "Node"): # propagate the type node_function = node.function @@ -940,7 +940,6 @@ def propagate_types(ir: Operation, node: "Node"): # pylint: disable=too-many-lo return None -# pylint: disable=too-many-locals def extract_tmp_call(ins: TmpCall, contract: Optional[Contract]) -> Union[Call, Nop]: assert isinstance(ins, TmpCall) if isinstance(ins.called, Variable) and isinstance(ins.called.type, FunctionType): diff --git a/slither/slithir/operations/binary.py b/slither/slithir/operations/binary.py index 06eb172a79..0a2546206a 100644 --- a/slither/slithir/operations/binary.py +++ b/slither/slithir/operations/binary.py @@ -48,7 +48,7 @@ def return_bool(operation_type: "BinaryType") -> bool: ] @staticmethod - def get_type(operation_type: str) -> "BinaryType": # pylint: disable=too-many-branches + def get_type(operation_type: str) -> "BinaryType": if operation_type == "**": return BinaryType.POWER if operation_type == "*": diff --git a/slither/slithir/operations/high_level_call.py b/slither/slithir/operations/high_level_call.py index 5eafeff1db..f6645e987b 100644 --- a/slither/slithir/operations/high_level_call.py +++ b/slither/slithir/operations/high_level_call.py @@ -20,7 +20,6 @@ class HighLevelCall(Call, OperationWithLValue): High level message call """ - # pylint: disable=too-many-arguments,too-many-instance-attributes def __init__( self, destination: SourceMapping, diff --git a/slither/slithir/operations/internal_call.py b/slither/slithir/operations/internal_call.py index 06e75136e6..2f4176aaf3 100644 --- a/slither/slithir/operations/internal_call.py +++ b/slither/slithir/operations/internal_call.py @@ -11,7 +11,7 @@ from slither.slithir.variables.tuple_ssa import TupleVariableSSA -class InternalCall(Call, OperationWithLValue): # pylint: disable=too-many-instance-attributes +class InternalCall(Call, OperationWithLValue): def __init__( self, function: Union[Function, Tuple[str, str]], @@ -22,7 +22,6 @@ def __init__( type_call: str, names: Optional[List[str]] = None, ) -> None: - # pylint: disable=too-many-arguments """ #### Parameters names - diff --git a/slither/slithir/operations/internal_dynamic_call.py b/slither/slithir/operations/internal_dynamic_call.py index 8719648d2b..75e2657c3f 100644 --- a/slither/slithir/operations/internal_dynamic_call.py +++ b/slither/slithir/operations/internal_dynamic_call.py @@ -11,7 +11,7 @@ from slither.slithir.variables.temporary_ssa import TemporaryVariableSSA -class InternalDynamicCall(Call, OperationWithLValue): # pylint: disable=too-many-instance-attributes +class InternalDynamicCall(Call, OperationWithLValue): def __init__( self, lvalue: Optional[Union[TemporaryVariableSSA, TemporaryVariable]], diff --git a/slither/slithir/operations/low_level_call.py b/slither/slithir/operations/low_level_call.py index eac779d271..d1d3f53dca 100644 --- a/slither/slithir/operations/low_level_call.py +++ b/slither/slithir/operations/low_level_call.py @@ -15,7 +15,7 @@ from slither.slithir.variables.tuple_ssa import TupleVariableSSA -class LowLevelCall(Call, OperationWithLValue): # pylint: disable=too-many-instance-attributes +class LowLevelCall(Call, OperationWithLValue): """ High level message call """ @@ -28,7 +28,6 @@ def __init__( result: Union[TupleVariable, TupleVariableSSA], type_call: str, ) -> None: - # pylint: disable=too-many-arguments assert isinstance(destination, (Variable, SolidityVariable)) assert isinstance(function_name, Constant) super().__init__() diff --git a/slither/slithir/operations/new_contract.py b/slither/slithir/operations/new_contract.py index 8347c03715..173eaecc5e 100644 --- a/slither/slithir/operations/new_contract.py +++ b/slither/slithir/operations/new_contract.py @@ -10,7 +10,7 @@ from slither.slithir.variables.temporary_ssa import TemporaryVariableSSA -class NewContract(Call, OperationWithLValue): # pylint: disable=too-many-instance-attributes +class NewContract(Call, OperationWithLValue): def __init__( self, contract_name: UserDefinedType, diff --git a/slither/slithir/operations/operation.py b/slither/slithir/operations/operation.py index aca3e645bf..7a4b11b7c0 100644 --- a/slither/slithir/operations/operation.py +++ b/slither/slithir/operations/operation.py @@ -17,7 +17,7 @@ def read(self): """ Return the list of variables READ """ - pass # pylint: disable=unnecessary-pass + pass @property @abc.abstractmethod @@ -25,7 +25,7 @@ def used(self): """ Return the list of variables used """ - pass # pylint: disable=unnecessary-pass + pass class Operation(Context, AbstractOperation): diff --git a/slither/slithir/tmp_operations/tmp_call.py b/slither/slithir/tmp_operations/tmp_call.py index a7bd614c74..b036cd8169 100644 --- a/slither/slithir/tmp_operations/tmp_call.py +++ b/slither/slithir/tmp_operations/tmp_call.py @@ -18,7 +18,7 @@ from slither.slithir.variables.tuple import TupleVariable -class TmpCall(OperationWithLValue): # pylint: disable=too-many-instance-attributes +class TmpCall(OperationWithLValue): def __init__( self, called: SourceMapping, @@ -27,7 +27,6 @@ def __init__( type_call: str, names: Optional[List[str]] = None, ) -> None: - # pylint: disable=too-many-arguments """ #### Parameters names - diff --git a/slither/slithir/utils/ssa.py b/slither/slithir/utils/ssa.py index e4a8e64d07..a2c5cc3079 100644 --- a/slither/slithir/utils/ssa.py +++ b/slither/slithir/utils/ssa.py @@ -90,13 +90,13 @@ def transform_slithir_vars_to_ssa( tmp_variables = [v for v in variables if isinstance(v, TemporaryVariable)] for idx, _ in enumerate(tmp_variables): - tmp_variables[idx].index = idx # pylint: disable=unnecessary-list-index-lookup + tmp_variables[idx].index = idx ref_variables = [v for v in variables if isinstance(v, ReferenceVariable)] for idx, _ in enumerate(ref_variables): - ref_variables[idx].index = idx # pylint: disable=unnecessary-list-index-lookup + ref_variables[idx].index = idx tuple_variables = [v for v in variables if isinstance(v, TupleVariable)] for idx, _ in enumerate(tuple_variables): - tuple_variables[idx].index = idx # pylint: disable=unnecessary-list-index-lookup + tuple_variables[idx].index = idx ################################################################################### @@ -105,8 +105,6 @@ def transform_slithir_vars_to_ssa( ################################################################################### ################################################################################### -# pylint: disable=too-many-arguments,too-many-locals,too-many-nested-blocks,too-many-statements,too-many-branches - def add_ssa_ir( function: Union[FunctionContract, Modifier, FunctionTopLevel], @@ -655,7 +653,6 @@ def get( def get_variable(ir: Operation, f: Callable, *instances): - # pylint: disable=no-value-for-parameter variable = f(ir) variable = get(variable, *instances) return variable @@ -663,7 +660,7 @@ def get_variable(ir: Operation, f: Callable, *instances): def _get_traversal(values: List[Any], *instances) -> List[Any]: ret = [] - # pylint: disable=no-value-for-parameter + for v in values: if isinstance(v, list): v = _get_traversal(v, *instances) diff --git a/slither/slithir/variables/constant.py b/slither/slithir/variables/constant.py index 19aaaa893e..58cc1eacac 100644 --- a/slither/slithir/variables/constant.py +++ b/slither/slithir/variables/constant.py @@ -14,7 +14,7 @@ def __init__( val: str, constant_type: Optional[ElementaryType] = None, subdenomination: Optional[str] = None, - ) -> None: # pylint: disable=too-many-branches + ) -> None: super().__init__() assert isinstance(val, str) @@ -24,7 +24,7 @@ def __init__( if subdenomination: val = str(convert_subdenomination(val, subdenomination)) - if constant_type: # pylint: disable=too-many-nested-blocks + if constant_type: assert isinstance(constant_type, ElementaryType) self._type = constant_type if constant_type.type in Int + Uint + ["address"]: diff --git a/slither/slithir/variables/local_variable.py b/slither/slithir/variables/local_variable.py index c46a11f0d7..0b4e5030ad 100644 --- a/slither/slithir/variables/local_variable.py +++ b/slither/slithir/variables/local_variable.py @@ -5,7 +5,7 @@ from slither.slithir.variables.state_variable import StateIRVariable -class LocalIRVariable(LocalVariable, SlithIRVariable): # pylint: disable=too-many-instance-attributes +class LocalIRVariable(LocalVariable, SlithIRVariable): def __init__(self, local_variable: LocalVariable) -> None: assert isinstance(local_variable, LocalVariable) diff --git a/slither/slithir/variables/reference.py b/slither/slithir/variables/reference.py index 2f99d322e4..e1a8dff6b4 100644 --- a/slither/slithir/variables/reference.py +++ b/slither/slithir/variables/reference.py @@ -43,7 +43,7 @@ def points_to(self): def points_to(self, points_to): # Can only be a rvalue of # Member or Index operator - # pylint: disable=import-outside-toplevel + from slither.slithir.utils.utils import is_valid_lvalue assert is_valid_lvalue(points_to) or isinstance( diff --git a/slither/slithir/variables/reference_ssa.py b/slither/slithir/variables/reference_ssa.py index e05f33f2b9..57ebc38de0 100644 --- a/slither/slithir/variables/reference_ssa.py +++ b/slither/slithir/variables/reference_ssa.py @@ -9,7 +9,7 @@ from slither.slithir.variables.tuple import TupleVariable -class ReferenceVariableSSA(ReferenceVariable): # pylint: disable=too-few-public-methods +class ReferenceVariableSSA(ReferenceVariable): def __init__(self, reference: ReferenceVariable) -> None: super().__init__(reference.node, reference.index) diff --git a/slither/slithir/variables/state_variable.py b/slither/slithir/variables/state_variable.py index 975ad7cf00..65ce334c79 100644 --- a/slither/slithir/variables/state_variable.py +++ b/slither/slithir/variables/state_variable.py @@ -2,7 +2,7 @@ from slither.slithir.variables.variable import SlithIRVariable -class StateIRVariable(StateVariable, SlithIRVariable): # pylint: disable=too-many-instance-attributes +class StateIRVariable(StateVariable, SlithIRVariable): def __init__(self, state_variable: StateVariable) -> None: assert isinstance(state_variable, StateVariable) diff --git a/slither/slithir/variables/temporary_ssa.py b/slither/slithir/variables/temporary_ssa.py index b96c9fefe2..541659366b 100644 --- a/slither/slithir/variables/temporary_ssa.py +++ b/slither/slithir/variables/temporary_ssa.py @@ -10,7 +10,7 @@ from slither.slithir.variables.tuple import TupleVariable -class TemporaryVariableSSA(TemporaryVariable): # pylint: disable=too-few-public-methods +class TemporaryVariableSSA(TemporaryVariable): def __init__(self, temporary: TemporaryVariable) -> None: super().__init__(temporary.node, temporary.index) diff --git a/slither/slithir/variables/tuple_ssa.py b/slither/slithir/variables/tuple_ssa.py index 1069f03e5f..48f045fe03 100644 --- a/slither/slithir/variables/tuple_ssa.py +++ b/slither/slithir/variables/tuple_ssa.py @@ -7,7 +7,7 @@ from slither.slithir.variables.tuple import TupleVariable -class TupleVariableSSA(TupleVariable): # pylint: disable=too-few-public-methods +class TupleVariableSSA(TupleVariable): def __init__(self, t: TupleVariable) -> None: super().__init__(t.node, t.index) diff --git a/slither/solc_parsing/declarations/contract.py b/slither/solc_parsing/declarations/contract.py index 8725c509da..3d82a7488f 100644 --- a/slither/solc_parsing/declarations/contract.py +++ b/slither/solc_parsing/declarations/contract.py @@ -31,8 +31,6 @@ from slither.solc_parsing.slither_compilation_unit_solc import SlitherCompilationUnitSolc from slither.core.compilation_unit import SlitherCompilationUnit -# pylint: disable=too-many-instance-attributes,import-outside-toplevel,too-many-nested-blocks,too-many-public-methods - class ContractSolc(CallerContextExpression): def __init__( @@ -190,7 +188,7 @@ def _parse_contract_info(self) -> None: "name" ] - def _parse_base_contract_info(self) -> None: # pylint: disable=too-many-branches + def _parse_base_contract_info(self) -> None: # Parse base contracts (immediate, non-linearized) if self.is_compact_ast: # Parse base contracts + constructors in compact-ast @@ -254,7 +252,6 @@ def _parse_base_contract_info(self) -> None: # pylint: disable=too-many-branche self.baseConstructorContractsCalled.append(referencedDeclaration) def _parse_contract_items(self) -> None: - # pylint: disable=too-many-branches if not self.get_children() in self._data: # empty contract return for item in self._data[self.get_children()]: @@ -484,7 +481,7 @@ def analyze_params_functions(self) -> None: self.log_incorrect_parsing(f"Missing params {e}") self._functions_no_params = [] - def _analyze_params_element( # pylint: disable=too-many-arguments + def _analyze_params_element( self, Cls: Callable, Cls_parser: Callable, @@ -526,7 +523,7 @@ def _analyze_params_element( # pylint: disable=too-many-arguments all_elements[elem.canonical_name] = elem parser.append(elem_parser) - def _analyze_params_elements( # pylint: disable=too-many-arguments,too-many-locals + def _analyze_params_elements( self, elements_no_params: Sequence[FunctionSolc], getter: Callable[["ContractSolc"], List[FunctionSolc]], @@ -612,7 +609,7 @@ def analyze_state_variables(self) -> None: except (VariableNotFound, KeyError) as e: self.log_incorrect_parsing(f"Missing state variable {e}") - def analyze_using_for(self) -> None: # pylint: disable=too-many-branches + def analyze_using_for(self) -> None: try: for father in self._contract.inheritance: self._contract.using_for.update(father.using_for) diff --git a/slither/solc_parsing/declarations/function.py b/slither/solc_parsing/declarations/function.py index 7b7b91e218..b61aee127e 100644 --- a/slither/solc_parsing/declarations/function.py +++ b/slither/solc_parsing/declarations/function.py @@ -42,9 +42,6 @@ def link_underlying_nodes(node1: NodeSolc, node2: NodeSolc): link_nodes(node1.underlying_node, node2.underlying_node) -# pylint: disable=too-many-lines,too-many-branches,too-many-locals,too-many-statements,too-many-instance-attributes - - class FunctionSolc(CallerContextExpression): # elems = [(type, name)] diff --git a/slither/solc_parsing/declarations/structure_contract.py b/slither/solc_parsing/declarations/structure_contract.py index 60839abe27..12810b7093 100644 --- a/slither/solc_parsing/declarations/structure_contract.py +++ b/slither/solc_parsing/declarations/structure_contract.py @@ -12,14 +12,14 @@ from slither.solc_parsing.declarations.contract import ContractSolc -class StructureContractSolc: # pylint: disable=too-few-public-methods +class StructureContractSolc: """ Structure class """ # elems = [(type, name)] - def __init__( # pylint: disable=too-many-arguments + def __init__( self, st: Structure, struct: Dict, diff --git a/slither/solc_parsing/declarations/structure_top_level.py b/slither/solc_parsing/declarations/structure_top_level.py index e646f15e36..ef7b5bb3bb 100644 --- a/slither/solc_parsing/declarations/structure_top_level.py +++ b/slither/solc_parsing/declarations/structure_top_level.py @@ -14,14 +14,14 @@ from slither.solc_parsing.slither_compilation_unit_solc import SlitherCompilationUnitSolc -class StructureTopLevelSolc(CallerContextExpression): # pylint: disable=too-few-public-methods +class StructureTopLevelSolc(CallerContextExpression): """ Structure class """ # elems = [(type, name)] - def __init__( # pylint: disable=too-many-arguments + def __init__( self, st: StructureTopLevel, struct: Dict, diff --git a/slither/solc_parsing/declarations/using_for_top_level.py b/slither/solc_parsing/declarations/using_for_top_level.py index 5108d40f01..4ce2b8749f 100644 --- a/slither/solc_parsing/declarations/using_for_top_level.py +++ b/slither/solc_parsing/declarations/using_for_top_level.py @@ -23,7 +23,7 @@ LOGGER = logging.getLogger("UsingForTopLevelSolc") -class UsingForTopLevelSolc(CallerContextExpression): # pylint: disable=too-few-public-methods +class UsingForTopLevelSolc(CallerContextExpression): """ UsingFor class """ diff --git a/slither/solc_parsing/expressions/expression_parsing.py b/slither/solc_parsing/expressions/expression_parsing.py index a09ca86a5c..87e34a76d5 100644 --- a/slither/solc_parsing/expressions/expression_parsing.py +++ b/slither/solc_parsing/expressions/expression_parsing.py @@ -52,7 +52,6 @@ logger = logging.getLogger("ExpressionParsing") -# pylint: disable=anomalous-backslash-in-string,import-outside-toplevel,too-many-branches,too-many-locals # region Filtering ################################################################################### @@ -104,7 +103,6 @@ def filter_name(value: str) -> str: ################################################################################### -# pylint: disable=too-many-statements def parse_call( expression: Dict, caller_context: Union["FunctionSolc", "ContractSolc", "TopLevelVariableSolc"] ) -> Union[ @@ -257,7 +255,6 @@ def _user_defined_op_call( def parse_expression(expression: Dict, caller_context: CallerContextExpression) -> "Expression": - # pylint: disable=too-many-nested-blocks,too-many-statements """ Returns: diff --git a/slither/solc_parsing/expressions/find_variable.py b/slither/solc_parsing/expressions/find_variable.py index 4db960085f..c3921bd1b6 100644 --- a/slither/solc_parsing/expressions/find_variable.py +++ b/slither/solc_parsing/expressions/find_variable.py @@ -32,8 +32,6 @@ from slither.solc_parsing.declarations.function import FunctionSolc from slither.solc_parsing.declarations.contract import ContractSolc -# pylint: disable=import-outside-toplevel,too-many-branches,too-many-locals - # CallerContext =Union["ContractSolc", "FunctionSolc", "CustomErrorSolc", "StructureTopLevelSolc"] @@ -261,7 +259,6 @@ def _find_in_contract( return None -# pylint: disable=too-many-statements def _find_variable_init( caller_context: CallerContextExpression, ) -> Tuple[ diff --git a/slither/solc_parsing/slither_compilation_unit_solc.py b/slither/solc_parsing/slither_compilation_unit_solc.py index bf9a1aa473..b77ee78be7 100644 --- a/slither/solc_parsing/slither_compilation_unit_solc.py +++ b/slither/solc_parsing/slither_compilation_unit_solc.py @@ -73,7 +73,6 @@ def _handle_import_aliases( class SlitherCompilationUnitSolc(CallerContextExpression): - # pylint: disable=too-many-instance-attributes def __init__(self, compilation_unit: SlitherCompilationUnit) -> None: super().__init__() @@ -217,7 +216,6 @@ def _parse_enum(self, top_level_data: Dict, filename: str) -> None: refId = top_level_data["id"] self.top_level_enums_by_id[refId] = enum - # pylint: disable=too-many-branches,too-many-statements,too-many-locals def parse_top_level_items(self, data_loaded: Dict, filename: str) -> None: if not data_loaded or data_loaded is None: logger.error( @@ -455,13 +453,12 @@ def parsed(self) -> bool: def analyzed(self) -> bool: return self._analyzed - def parse_contracts(self) -> None: # pylint: disable=too-many-statements,too-many-branches + def parse_contracts(self) -> None: if not self._underlying_contract_to_parser: logger.info( f"No contracts were found in {self._compilation_unit.core.filename}, check the correct compilation" ) if self._parsed: - # pylint: disable=broad-exception-raised raise Exception("Contract analysis can be run only once!") def resolve_remapping_and_renaming(contract_parser: ContractSolc, want: str) -> Contract: @@ -556,7 +553,7 @@ def resolve_remapping_and_renaming(contract_parser: ContractSolc, want: str) -> # Any contract can refer another contract enum without need for inheritance self._analyze_all_enums(contracts_to_be_analyzed) - # pylint: disable=expression-not-assigned + [c.set_is_analyzed(False) for c in self._underlying_contract_to_parser.values()] libraries = [ @@ -568,7 +565,7 @@ def resolve_remapping_and_renaming(contract_parser: ContractSolc, want: str) -> # We first parse the struct/variables/functions/contract self._analyze_first_part(contracts_to_be_analyzed, libraries) - # pylint: disable=expression-not-assigned + [c.set_is_analyzed(False) for c in self._underlying_contract_to_parser.values()] # We analyze the struct and parse and analyze the events @@ -585,7 +582,7 @@ def resolve_remapping_and_renaming(contract_parser: ContractSolc, want: str) -> self._parsed = True - def analyze_contracts(self) -> None: # pylint: disable=too-many-statements,too-many-branches + def analyze_contracts(self) -> None: if not self._parsed: raise SlitherException("Parse the contract before running analyses") self._convert_to_slithir() diff --git a/slither/solc_parsing/solidity_types/type_parsing.py b/slither/solc_parsing/solidity_types/type_parsing.py index 3d2ba4262f..bba3d45c6a 100644 --- a/slither/solc_parsing/solidity_types/type_parsing.py +++ b/slither/solc_parsing/solidity_types/type_parsing.py @@ -29,10 +29,8 @@ logger = logging.getLogger("TypeParsing") -# pylint: disable=anomalous-backslash-in-string - -class UnknownType: # pylint: disable=too-few-public-methods +class UnknownType: def __init__(self, name: str) -> None: self._name = name @@ -41,7 +39,7 @@ def name(self) -> str: return self._name -def _find_from_type_name( # pylint: disable=too-many-locals,too-many-branches,too-many-statements,too-many-arguments +def _find_from_type_name( name: str, functions_direct_access: List["Function"], contracts_direct_access: List["Contract"], @@ -220,8 +218,7 @@ def parse_type( :rtype: """ # local import to avoid circular dependency - # pylint: disable=too-many-locals,too-many-branches,too-many-statements - # pylint: disable=import-outside-toplevel + from slither.solc_parsing.expressions.expression_parsing import parse_expression from slither.solc_parsing.variables.function_type_variable import FunctionTypeVariableSolc from slither.solc_parsing.declarations.contract import ContractSolc diff --git a/slither/solc_parsing/variables/variable_declaration.py b/slither/solc_parsing/variables/variable_declaration.py index 2c96b7b871..9b6ac48967 100644 --- a/slither/solc_parsing/variables/variable_declaration.py +++ b/slither/solc_parsing/variables/variable_declaration.py @@ -25,12 +25,10 @@ class MultipleVariablesDeclaration(Exception): It should occur only on local variable definition """ - # pylint: disable=unnecessary-pass pass class VariableDeclarationSolc: - # pylint: disable=too-many-branches def __init__(self, variable: Variable, variable_data: Dict) -> None: """ A variable can be declared through a statement, or directly. @@ -126,7 +124,7 @@ def _analyze_variable_attributes(self, attributes: Dict) -> None: else: self._variable.visibility = "internal" - def _init_from_declaration(self, var: Dict, init: Optional[Dict]) -> None: # pylint: disable=too-many-branches + def _init_from_declaration(self, var: Dict, init: Optional[Dict]) -> None: if self._is_compact_ast: attributes = var self._typeName = attributes["typeDescriptions"]["typeString"] diff --git a/slither/solc_parsing/yul/evm_functions.py b/slither/solc_parsing/yul/evm_functions.py index 23df6e85fb..64e70d51c5 100644 --- a/slither/solc_parsing/yul/evm_functions.py +++ b/slither/solc_parsing/yul/evm_functions.py @@ -278,7 +278,7 @@ def format_function_descriptor(name: str) -> str: } -class YulBuiltin: # pylint: disable=too-few-public-methods +class YulBuiltin: def __init__(self, name: str) -> None: self._name = name diff --git a/slither/solc_parsing/yul/parse_yul.py b/slither/solc_parsing/yul/parse_yul.py index 666a3510ac..2c1fa426f1 100644 --- a/slither/solc_parsing/yul/parse_yul.py +++ b/slither/solc_parsing/yul/parse_yul.py @@ -188,7 +188,7 @@ def get_yul_local_function_from_name(self, func_name: str) -> Optional["YulFunct ) -class YulLocalVariable: # pylint: disable=too-few-public-methods +class YulLocalVariable: __slots__ = ["_variable", "_root"] def __init__(self, var: LocalVariable, root: YulScope, ast: Dict) -> None: @@ -297,7 +297,6 @@ class YulBlock(YulScope): """ - # pylint: disable=redefined-slots-in-subclass __slots__ = ["_entrypoint", "_parent_func", "_nodes", "node_scope"] def __init__( @@ -541,7 +540,7 @@ def convert_yul_switch( } if last_if: - last_if["false_body"] = current_if # pylint: disable=unsupported-assignment-operation + last_if["false_body"] = current_if else: rewritten_switch["statements"].append(current_if) @@ -791,7 +790,6 @@ def _parse_yul_magic_suffixes(name: str, root: YulScope) -> Optional[Expression] return None -# pylint: disable=too-many-branches def parse_yul_identifier(root: YulScope, _node: YulNode, ast: Dict) -> Optional[Expression]: name = ast["name"] diff --git a/slither/tools/doctor/checks/platform.py b/slither/tools/doctor/checks/platform.py index 91d0d16eb2..8dc0f5cb90 100644 --- a/slither/tools/doctor/checks/platform.py +++ b/slither/tools/doctor/checks/platform.py @@ -54,6 +54,6 @@ def compile_project(project: str, **kwargs): try: crytic_compile.CryticCompile(project, **kwargs) - except Exception as e: # pylint: disable=broad-except + except Exception as e: with snip_section("Project compilation failed :( The following error was generated:"): logging.exception(e) diff --git a/slither/tools/doctor/checks/versions.py b/slither/tools/doctor/checks/versions.py index 00662b3e9f..e9911b8488 100644 --- a/slither/tools/doctor/checks/versions.py +++ b/slither/tools/doctor/checks/versions.py @@ -24,7 +24,7 @@ def get_github_version(name: str) -> Optional[Version]: text = response.read() data = json.loads(text) return parse(data["tag_name"]) - except: # pylint: disable=bare-except + except: return None diff --git a/slither/tools/doctor/utils.py b/slither/tools/doctor/utils.py index bc6112cc83..631095ba32 100644 --- a/slither/tools/doctor/utils.py +++ b/slither/tools/doctor/utils.py @@ -19,7 +19,7 @@ def report_section(title: str) -> None: print(bold(f"## {title}"), end="\n\n") try: yield - except Exception as e: # pylint: disable=broad-except + except Exception as e: with snip_section( "slither-doctor failed unexpectedly! Please report this on the Slither GitHub issue tracker, and include the output below:" ): diff --git a/slither/tools/documentation/__main__.py b/slither/tools/documentation/__main__.py index dccdabba49..4dcd1cbaa6 100644 --- a/slither/tools/documentation/__main__.py +++ b/slither/tools/documentation/__main__.py @@ -137,7 +137,6 @@ def _handle_codex( return None -# pylint: disable=too-many-locals,too-many-arguments def _handle_function( function: Function, overwrite: bool, diff --git a/slither/tools/erc_conformance/erc/ercs.py b/slither/tools/erc_conformance/erc/ercs.py index 8b1782faf3..9b42c149e7 100644 --- a/slither/tools/erc_conformance/erc/ercs.py +++ b/slither/tools/erc_conformance/erc/ercs.py @@ -13,7 +13,6 @@ logger = logging.getLogger("Slither-conformance") -# pylint: disable=too-many-locals,too-many-branches,too-many-statements def _check_signature(erc_function: ERC, contract: Contract, ret: Dict) -> None: name = erc_function.name parameters = erc_function.parameters @@ -59,8 +58,8 @@ def _check_signature(erc_function: ERC, contract: Contract, ret: Dict) -> None: function_view = True else: - function_return_type = function.return_type # pylint: disable=no-member - function_view = function.view # pylint: disable=no-member + function_return_type = function.return_type + function_view = function.view txt = f"[✓] {sig} is present" logger.info(txt) @@ -113,7 +112,7 @@ def _check_signature(erc_function: ERC, contract: Contract, ret: Dict) -> None: should_be_view.add(function) ret["should_be_view"].append(should_be_view.data) - if events: # pylint: disable=too-many-nested-blocks + if events: for event in events: event_sig = f"{event.name}({','.join(event.parameters)})" diff --git a/slither/tools/flattening/__main__.py b/slither/tools/flattening/__main__.py index 77be0be203..8fb993d311 100644 --- a/slither/tools/flattening/__main__.py +++ b/slither/tools/flattening/__main__.py @@ -35,7 +35,7 @@ def parse_args() -> argparse.Namespace: parser.add_argument( "--strategy", help=f"Flatenning strategy: {STRATEGIES_NAMES} (default: MostDerived).", - default=Strategy.MostDerived.name, # pylint: disable=no-member + default=Strategy.MostDerived.name, ) group_export = parser.add_argument_group("Export options") diff --git a/slither/tools/flattening/flattening.py b/slither/tools/flattening/flattening.py index b20a608a55..11213ebc85 100644 --- a/slither/tools/flattening/flattening.py +++ b/slither/tools/flattening/flattening.py @@ -47,7 +47,6 @@ class Strategy(PythonEnum): class Flattening: - # pylint: disable=too-many-instance-attributes,too-many-arguments,too-many-locals,too-few-public-methods def __init__( self, compilation_unit: SlitherCompilationUnit, @@ -97,7 +96,7 @@ def _check_abi_encoder_v2(self): self._use_abi_encoder_v2 = True return - def _get_source_code(self, contract: Contract): # pylint: disable=too-many-branches,too-many-statements + def _get_source_code(self, contract: Contract): """ Save the source code of the contract in self._source_codes Patch the source code @@ -296,7 +295,7 @@ def _export_from_type( elif isinstance(t, ArrayType): self._export_from_type(t.type, contract, exported, list_contract, list_top_level) - def _export_list_used_contracts( # pylint: disable=too-many-branches + def _export_list_used_contracts( self, contract: Contract, exported: Set[str], @@ -451,12 +450,12 @@ def _export_with_import(self) -> List[Export]: exports.append(Export(filename=path, content=content)) return exports - def export( # pylint: disable=too-many-arguments,too-few-public-methods + def export( self, strategy: Strategy, target: Optional[str] = None, json: Optional[str] = None, - zip: Optional[str] = None, # pylint: disable=redefined-builtin + zip: Optional[str] = None, zip_type: Optional[str] = None, ): if not self._export_path.exists(): diff --git a/slither/tools/kspec_coverage/analysis.py b/slither/tools/kspec_coverage/analysis.py index a2ae236606..dce75e8e76 100755 --- a/slither/tools/kspec_coverage/analysis.py +++ b/slither/tools/kspec_coverage/analysis.py @@ -13,9 +13,6 @@ logger = logging.getLogger("Slither.kspec") -# pylint: disable=anomalous-backslash-in-string - - def _refactor_type(targeted_type: str) -> str: return {"uint": "uint256", "int": "int256"}.get(targeted_type, targeted_type) diff --git a/slither/tools/mutator/__main__.py b/slither/tools/mutator/__main__.py index 101ba0651f..c780461055 100644 --- a/slither/tools/mutator/__main__.py +++ b/slither/tools/mutator/__main__.py @@ -122,8 +122,8 @@ def _get_mutators(mutators_list: Union[List[str], None]) -> List[Type[AbstractMu return detectors -class ListMutators(argparse.Action): # pylint: disable=too-few-public-methods - def __call__(self, parser: Any, *args: Any, **kwargs: Any) -> None: # pylint: disable=signature-differs +class ListMutators(argparse.Action): + def __call__(self, parser: Any, *args: Any, **kwargs: Any) -> None: checks = _get_mutators(None) output_mutators(checks) parser.exit() @@ -137,7 +137,7 @@ def __call__(self, parser: Any, *args: Any, **kwargs: Any) -> None: # pylint: d ################################################################################### -def main() -> None: # pylint: disable=too-many-statements,too-many-branches,too-many-locals +def main() -> None: args = parse_args() # arguments @@ -226,7 +226,7 @@ def main() -> None: # pylint: disable=too-many-statements,too-many-branches,too # Keep a list of all already mutated contracts so we don't mutate them twice mutated_contracts: List[str] = [] - for filename in sol_file_list: # pylint: disable=too-many-nested-blocks + for filename in sol_file_list: file_name = os.path.split(filename)[1].split(".sol")[0] # slither object sl = Slither(filename, **vars(args)) @@ -321,7 +321,7 @@ def main() -> None: # pylint: disable=too-many-statements,too-many-branches,too if comprehensive_flag: dont_mutate_lines = [] - except Exception as e: # pylint: disable=broad-except + except Exception as e: logger.error(e) transfer_and_delete(files_dict) diff --git a/slither/tools/mutator/mutators/AOR.py b/slither/tools/mutator/mutators/AOR.py index 9f17707a23..6cbe3a1f1f 100644 --- a/slither/tools/mutator/mutators/AOR.py +++ b/slither/tools/mutator/mutators/AOR.py @@ -15,28 +15,26 @@ ] -class AOR(AbstractMutator): # pylint: disable=too-few-public-methods +class AOR(AbstractMutator): NAME = "AOR" HELP = "Arithmetic operator replacement" def _mutate(self) -> Dict: result: Dict = {} - for ( # pylint: disable=too-many-nested-blocks - function - ) in self.contract.functions_and_modifiers_declared: + for function in self.contract.functions_and_modifiers_declared: for node in function.nodes: if not self.should_mutate_node(node): continue try: ir_expression = node.expression - except: # pylint: disable=bare-except + except: continue # Special cases handling .push and .pop on dynamic arrays. # The IR for these operations has a binary operation due to internal conversion # (see convert_to_push and convert_to_pop in slithir/convert.py) # however it's not present in the source code and should not be mutated. - # pylint: disable=too-many-boolean-expressions + if ( isinstance(ir_expression, CallExpression) and isinstance(ir_expression.called, MemberAccess) diff --git a/slither/tools/mutator/mutators/ASOR.py b/slither/tools/mutator/mutators/ASOR.py index 47541b154e..0b72299c08 100644 --- a/slither/tools/mutator/mutators/ASOR.py +++ b/slither/tools/mutator/mutators/ASOR.py @@ -21,16 +21,14 @@ ] -class ASOR(AbstractMutator): # pylint: disable=too-few-public-methods +class ASOR(AbstractMutator): NAME = "ASOR" HELP = "Assignment Operator Replacement" def _mutate(self) -> Dict: result: Dict = {} - for ( # pylint: disable=too-many-nested-blocks - function - ) in self.contract.functions_and_modifiers_declared: + for function in self.contract.functions_and_modifiers_declared: for node in function.nodes: if not self.should_mutate_node(node): continue @@ -44,7 +42,7 @@ def _mutate(self) -> Dict: alternative_ops = assignment_operators[:] try: alternative_ops.remove(ir.expression.type) - except: # pylint: disable=bare-except + except: continue for op in alternative_ops: if op != ir.expression: diff --git a/slither/tools/mutator/mutators/BOR.py b/slither/tools/mutator/mutators/BOR.py index 4a2cc053d7..8b77ccdd1e 100644 --- a/slither/tools/mutator/mutators/BOR.py +++ b/slither/tools/mutator/mutators/BOR.py @@ -12,16 +12,14 @@ ] -class BOR(AbstractMutator): # pylint: disable=too-few-public-methods +class BOR(AbstractMutator): NAME = "BOR" HELP = "Bitwise Operator Replacement" def _mutate(self) -> Dict: result: Dict = {} - for ( # pylint: disable=too-many-nested-blocks - function - ) in self.contract.functions_and_modifiers_declared: + for function in self.contract.functions_and_modifiers_declared: for node in function.nodes: if not self.should_mutate_node(node): continue diff --git a/slither/tools/mutator/mutators/CR.py b/slither/tools/mutator/mutators/CR.py index 7183a4d2e7..516f2de9fc 100644 --- a/slither/tools/mutator/mutators/CR.py +++ b/slither/tools/mutator/mutators/CR.py @@ -4,16 +4,14 @@ from slither.tools.mutator.mutators.abstract_mutator import AbstractMutator -class CR(AbstractMutator): # pylint: disable=too-few-public-methods +class CR(AbstractMutator): NAME = "CR" HELP = "Comment Replacement" def _mutate(self) -> Dict: result: Dict = {} - for ( # pylint: disable=too-many-nested-blocks - function - ) in self.contract.functions_and_modifiers_declared: + for function in self.contract.functions_and_modifiers_declared: for node in function.nodes: if not self.should_mutate_node(node): continue diff --git a/slither/tools/mutator/mutators/FHR.py b/slither/tools/mutator/mutators/FHR.py index c847542cad..726baac225 100644 --- a/slither/tools/mutator/mutators/FHR.py +++ b/slither/tools/mutator/mutators/FHR.py @@ -12,7 +12,7 @@ ] -class FHR(AbstractMutator): # pylint: disable=too-few-public-methods +class FHR(AbstractMutator): NAME = "FHR" HELP = "Function Header Replacement" diff --git a/slither/tools/mutator/mutators/LIR.py b/slither/tools/mutator/mutators/LIR.py index fe0d2cf5cd..15a294a4aa 100644 --- a/slither/tools/mutator/mutators/LIR.py +++ b/slither/tools/mutator/mutators/LIR.py @@ -8,18 +8,16 @@ literal_replacements = [] -class LIR(AbstractMutator): # pylint: disable=too-few-public-methods +class LIR(AbstractMutator): NAME = "LIR" HELP = "Literal Integer Replacement" - def _mutate(self) -> Dict: # pylint: disable=too-many-branches + def _mutate(self) -> Dict: result: Dict = {} variable: Variable # Create fault for state variables declaration - for ( # pylint: disable=too-many-nested-blocks - variable - ) in self.contract.state_variables_declared: + for variable in self.contract.state_variables_declared: if variable.initialized: # Cannot remove the initialization of constant variables if variable.is_constant: @@ -53,9 +51,7 @@ def _mutate(self) -> Dict: # pylint: disable=too-many-branches line_no[0], ) - for ( # pylint: disable=too-many-nested-blocks - function - ) in self.contract.functions_and_modifiers_declared: + for function in self.contract.functions_and_modifiers_declared: for variable in function.local_variables: if variable.initialized and isinstance(variable.expression, Literal): if isinstance(variable.type, ElementaryType): diff --git a/slither/tools/mutator/mutators/LOR.py b/slither/tools/mutator/mutators/LOR.py index 1ae9cd4859..8e6f093812 100644 --- a/slither/tools/mutator/mutators/LOR.py +++ b/slither/tools/mutator/mutators/LOR.py @@ -9,16 +9,14 @@ ] -class LOR(AbstractMutator): # pylint: disable=too-few-public-methods +class LOR(AbstractMutator): NAME = "LOR" HELP = "Logical Operator Replacement" def _mutate(self) -> Dict: result: Dict = {} - for ( # pylint: disable=too-many-nested-blocks - function - ) in self.contract.functions_and_modifiers_declared: + for function in self.contract.functions_and_modifiers_declared: for node in function.nodes: if not self.should_mutate_node(node): continue diff --git a/slither/tools/mutator/mutators/MIA.py b/slither/tools/mutator/mutators/MIA.py index 800c196daf..474fbd3d7a 100644 --- a/slither/tools/mutator/mutators/MIA.py +++ b/slither/tools/mutator/mutators/MIA.py @@ -5,7 +5,7 @@ from slither.core.expressions.unary_operation import UnaryOperationType, UnaryOperation -class MIA(AbstractMutator): # pylint: disable=too-few-public-methods +class MIA(AbstractMutator): NAME = "MIA" HELP = '"if" construct around statement' diff --git a/slither/tools/mutator/mutators/MVIE.py b/slither/tools/mutator/mutators/MVIE.py index be0a80daf5..101ac0281d 100644 --- a/slither/tools/mutator/mutators/MVIE.py +++ b/slither/tools/mutator/mutators/MVIE.py @@ -5,7 +5,7 @@ from slither.tools.mutator.utils.patch import create_patch_with_line -class MVIE(AbstractMutator): # pylint: disable=too-few-public-methods +class MVIE(AbstractMutator): NAME = "MVIE" HELP = "variable initialization using an expression" diff --git a/slither/tools/mutator/mutators/MVIV.py b/slither/tools/mutator/mutators/MVIV.py index 1e14d1177c..5690f5013b 100644 --- a/slither/tools/mutator/mutators/MVIV.py +++ b/slither/tools/mutator/mutators/MVIV.py @@ -5,7 +5,7 @@ from slither.tools.mutator.utils.patch import create_patch_with_line -class MVIV(AbstractMutator): # pylint: disable=too-few-public-methods +class MVIV(AbstractMutator): NAME = "MVIV" HELP = "variable initialization using a value" diff --git a/slither/tools/mutator/mutators/MWA.py b/slither/tools/mutator/mutators/MWA.py index 655c6f500c..2bbf8e41be 100644 --- a/slither/tools/mutator/mutators/MWA.py +++ b/slither/tools/mutator/mutators/MWA.py @@ -5,7 +5,7 @@ from slither.core.expressions.unary_operation import UnaryOperationType, UnaryOperation -class MWA(AbstractMutator): # pylint: disable=too-few-public-methods +class MWA(AbstractMutator): NAME = "MWA" HELP = '"while" construct around statement' diff --git a/slither/tools/mutator/mutators/ROR.py b/slither/tools/mutator/mutators/ROR.py index 2aaf4816e3..1bbaf3cd7b 100644 --- a/slither/tools/mutator/mutators/ROR.py +++ b/slither/tools/mutator/mutators/ROR.py @@ -13,16 +13,14 @@ ] -class ROR(AbstractMutator): # pylint: disable=too-few-public-methods +class ROR(AbstractMutator): NAME = "ROR" HELP = "Relational Operator Replacement" def _mutate(self) -> Dict: result: Dict = {} - for ( # pylint: disable=too-many-nested-blocks - function - ) in self.contract.functions_and_modifiers_declared: + for function in self.contract.functions_and_modifiers_declared: for node in function.nodes: if not self.should_mutate_node(node): continue diff --git a/slither/tools/mutator/mutators/RR.py b/slither/tools/mutator/mutators/RR.py index 14d32f0611..c60fddc2a5 100644 --- a/slither/tools/mutator/mutators/RR.py +++ b/slither/tools/mutator/mutators/RR.py @@ -4,7 +4,7 @@ from slither.tools.mutator.mutators.abstract_mutator import AbstractMutator -class RR(AbstractMutator): # pylint: disable=too-few-public-methods +class RR(AbstractMutator): NAME = "RR" HELP = "Revert Replacement" diff --git a/slither/tools/mutator/mutators/SBR.py b/slither/tools/mutator/mutators/SBR.py index 9af81acccb..7200a42392 100644 --- a/slither/tools/mutator/mutators/SBR.py +++ b/slither/tools/mutator/mutators/SBR.py @@ -44,7 +44,7 @@ ] -class SBR(AbstractMutator): # pylint: disable=too-few-public-methods +class SBR(AbstractMutator): NAME = "SBR" HELP = "Solidity Based Replacement" @@ -52,9 +52,7 @@ def _mutate(self) -> Dict: result: Dict = {} variable: Variable - for ( # pylint: disable=too-many-nested-blocks - function - ) in self.contract.functions_and_modifiers_declared: + for function in self.contract.functions_and_modifiers_declared: for node in function.nodes: if not self.should_mutate_node(node): continue @@ -83,9 +81,7 @@ def _mutate(self) -> Dict: line_no[0], ) - for ( # pylint: disable=too-many-nested-blocks - variable - ) in self.contract.state_variables_declared: + for variable in self.contract.state_variables_declared: node = variable.node_initialization if node: start = node.source_mapping.start diff --git a/slither/tools/mutator/mutators/UOR.py b/slither/tools/mutator/mutators/UOR.py index 30a3422acf..2290fc79b6 100644 --- a/slither/tools/mutator/mutators/UOR.py +++ b/slither/tools/mutator/mutators/UOR.py @@ -12,22 +12,20 @@ ] -class UOR(AbstractMutator): # pylint: disable=too-few-public-methods +class UOR(AbstractMutator): NAME = "UOR" HELP = "Unary Operator Replacement" def _mutate(self) -> Dict: result: Dict = {} - for ( # pylint: disable=too-many-nested-blocks - function - ) in self.contract.functions_and_modifiers_declared: + for function in self.contract.functions_and_modifiers_declared: for node in function.nodes: if not self.should_mutate_node(node): continue try: ir_expression = node.expression - except: # pylint: disable=bare-except + except: continue start = node.source_mapping.start stop = start + node.source_mapping.length diff --git a/slither/tools/mutator/mutators/abstract_mutator.py b/slither/tools/mutator/mutators/abstract_mutator.py index 1a12a02598..51ed7d43e1 100644 --- a/slither/tools/mutator/mutators/abstract_mutator.py +++ b/slither/tools/mutator/mutators/abstract_mutator.py @@ -15,11 +15,11 @@ class IncorrectMutatorInitialization(Exception): pass -class AbstractMutator(metaclass=abc.ABCMeta): # pylint: disable=too-few-public-methods,too-many-instance-attributes +class AbstractMutator(metaclass=abc.ABCMeta): NAME = "" HELP = "" - def __init__( # pylint: disable=too-many-arguments + def __init__( self, compilation_unit: SlitherCompilationUnit, timeout: int, @@ -77,10 +77,9 @@ def _mutate(self) -> Dict: """Abstract placeholder, will be overwritten by each mutator""" return {} - # pylint: disable=too-many-branches def mutate(self) -> Tuple[List[int], List[int], List[int]]: all_patches: Dict = {} - # pylint: disable=broad-exception-caught + try: # call _mutate function from different mutators (all_patches) = self._mutate() diff --git a/slither/tools/mutator/mutators/all_mutators.py b/slither/tools/mutator/mutators/all_mutators.py index b02a2cc9b9..e2ef20a4d3 100644 --- a/slither/tools/mutator/mutators/all_mutators.py +++ b/slither/tools/mutator/mutators/all_mutators.py @@ -1,4 +1,3 @@ -# pylint: disable=unused-import from slither.tools.mutator.mutators.MVIV import MVIV # severity low from slither.tools.mutator.mutators.MVIE import MVIE # severity low from slither.tools.mutator.mutators.LOR import LOR # severity medium diff --git a/slither/tools/mutator/utils/file_handling.py b/slither/tools/mutator/utils/file_handling.py index 81e30efc65..5ccdf07871 100644 --- a/slither/tools/mutator/utils/file_handling.py +++ b/slither/tools/mutator/utils/file_handling.py @@ -41,7 +41,7 @@ def transfer_and_delete(files_dict: Dict[str, HashedPath]) -> None: # delete elements from the global dict del backuped_files[original_path] - except FileNotFoundError as e: # pylint: disable=broad-except + except FileNotFoundError as e: logger.error("Error transferring content: %s", e) @@ -75,7 +75,7 @@ def create_mutant_file(output_folder: Path, file: str, rule: str) -> None: with open(file, "w", encoding="utf8") as source_file: source_file.write(duplicate_content) - except Exception as e: # pylint: disable=broad-except + except Exception as e: logger.error(f"Error creating mutant: {e}") traceback_str = traceback.format_exc() logger.error(traceback_str) # Log the stack trace @@ -91,7 +91,7 @@ def reset_file(file: str) -> None: with open(file, "w", encoding="utf8") as source_file: source_file.write(duplicate_content) - except Exception as e: # pylint: disable=broad-except + except Exception as e: logger.error("Error resetting file: %s", e) diff --git a/slither/tools/mutator/utils/patch.py b/slither/tools/mutator/utils/patch.py index 54ff81e60b..88fedd7ab3 100644 --- a/slither/tools/mutator/utils/patch.py +++ b/slither/tools/mutator/utils/patch.py @@ -2,7 +2,6 @@ from collections import defaultdict -# pylint: disable=too-many-arguments def create_patch_with_line( result: Dict, file: str, diff --git a/slither/tools/mutator/utils/testing_generated_mutant.py b/slither/tools/mutator/utils/testing_generated_mutant.py index f052971b40..930f90e928 100644 --- a/slither/tools/mutator/utils/testing_generated_mutant.py +++ b/slither/tools/mutator/utils/testing_generated_mutant.py @@ -18,7 +18,7 @@ def compile_generated_mutant(file_path: str, mappings: str) -> bool: try: crytic_compile.CryticCompile(file_path, solc_remaps=mappings) return True - except: # pylint: disable=bare-except + except: return False @@ -82,7 +82,7 @@ def run_test_cmd( # return 0 if uncaught, 1 if caught, and 2 if compilation fails -def test_patch( # pylint: disable=too-many-arguments +def test_patch( output_folder: Path, file: str, patch: Dict, diff --git a/slither/tools/properties/__main__.py b/slither/tools/properties/__main__.py index e56d89d7ed..2639892283 100644 --- a/slither/tools/properties/__main__.py +++ b/slither/tools/properties/__main__.py @@ -46,14 +46,14 @@ def _all_properties() -> MyPrettyTable: return table -class ListScenarios(argparse.Action): # pylint: disable=too-few-public-methods - def __call__(self, parser: Any, *args: Any, **kwargs: Any) -> None: # pylint: disable=signature-differs +class ListScenarios(argparse.Action): + def __call__(self, parser: Any, *args: Any, **kwargs: Any) -> None: logger.info(_all_scenarios()) parser.exit() -class ListProperties(argparse.Action): # pylint: disable=too-few-public-methods - def __call__(self, parser: Any, *args: Any, **kwargs: Any) -> None: # pylint: disable=signature-differs +class ListProperties(argparse.Action): + def __call__(self, parser: Any, *args: Any, **kwargs: Any) -> None: logger.info(_all_properties()) parser.exit() diff --git a/slither/tools/properties/addresses/address.py b/slither/tools/properties/addresses/address.py index cf5aec2ee3..2068bca231 100644 --- a/slither/tools/properties/addresses/address.py +++ b/slither/tools/properties/addresses/address.py @@ -7,7 +7,7 @@ ATTACKER_ADDRESS = "0xC5fdf4076b8F3A5357c5E395ab970B5B54098Fef" -class Addresses: # pylint: disable=too-few-public-methods +class Addresses: def __init__( self, owner: Optional[str] = None, diff --git a/slither/tools/properties/platforms/truffle.py b/slither/tools/properties/platforms/truffle.py index 7d2f3d9b67..a82db3f13f 100644 --- a/slither/tools/properties/platforms/truffle.py +++ b/slither/tools/properties/platforms/truffle.py @@ -68,7 +68,7 @@ def _helpers() -> str: """ -def generate_unit_test( # pylint: disable=too-many-arguments,too-many-branches +def generate_unit_test( test_contract: str, filename: str, unit_tests: List[Property], diff --git a/slither/tools/properties/properties/erc20.py b/slither/tools/properties/properties/erc20.py index b1175390fa..8abf83ebbb 100644 --- a/slither/tools/properties/properties/erc20.py +++ b/slither/tools/properties/properties/erc20.py @@ -53,7 +53,7 @@ } -def generate_erc20(contract: Contract, type_property: str, addresses: Addresses): # pylint: disable=too-many-locals +def generate_erc20(contract: Contract, type_property: str, addresses: Addresses): """ Generate the ERC20 tests Files generated: diff --git a/slither/tools/properties/properties/properties.py b/slither/tools/properties/properties/properties.py index d03d6cbe2a..f90cde7be1 100644 --- a/slither/tools/properties/properties/properties.py +++ b/slither/tools/properties/properties/properties.py @@ -24,7 +24,7 @@ class PropertyCaller(Enum): ANY = 5 # If the caller does not matter -class Property(NamedTuple): # pylint: disable=inherit-non-class,too-few-public-methods +class Property(NamedTuple): name: str content: str type: PropertyType diff --git a/slither/tools/read_storage/read_storage.py b/slither/tools/read_storage/read_storage.py index 3ccada8444..e32542cbba 100644 --- a/slither/tools/read_storage/read_storage.py +++ b/slither/tools/read_storage/read_storage.py @@ -84,7 +84,6 @@ def block(self) -> int: return self._block -# pylint: disable=too-many-instance-attributes,too-many-public-methods class SlitherReadStorage: def __init__(self, contracts: List[Contract], max_depth: int, rpc_info: RpcInfo = None) -> None: self._checksum_address: Optional[ChecksumAddress] = None @@ -194,8 +193,6 @@ def get_unstructured_layout(self) -> Dict[str, SlotInfo]: continue return tmp - # TODO: remove this pylint exception (montyly) - # pylint: disable=too-many-locals def get_storage_slot( self, target_variable: StateVariable, @@ -597,7 +594,6 @@ def _find_struct_var_slot( info = f"\nStruct Variable: {struct_var}" return info, type_to, slot_as_bytes, size, offset - # pylint: disable=too-many-branches,too-many-statements @staticmethod def _find_array_slot( target_variable_type: ArrayType, @@ -846,7 +842,6 @@ def _all_struct_slots( return data - # pylint: disable=too-many-nested-blocks def _all_array_slots( self, var: StateVariable, contract: Contract, type_: ArrayType, slot: int ) -> Union[Elem, NestedElem]: diff --git a/slither/tools/similarity/encode.py b/slither/tools/similarity/encode.py index 83347fc2ba..8a9df3efae 100644 --- a/slither/tools/similarity/encode.py +++ b/slither/tools/similarity/encode.py @@ -106,7 +106,7 @@ def load_contracts( return r[:nsamples] -def ntype(_type): # pylint: disable=too-many-branches +def ntype(_type): if isinstance(_type, ElementaryType): _type = str(_type) elif isinstance(_type, ArrayType): @@ -141,7 +141,7 @@ def ntype(_type): # pylint: disable=too-many-branches return _type.replace(" ", "_") -def encode_ir(ir): # pylint: disable=too-many-branches +def encode_ir(ir): # operations if isinstance(ir, Assignment): return f"({encode_ir(ir.lvalue)}):=({encode_ir(ir.rvalue)})" @@ -227,7 +227,7 @@ def encode_contract(cfilename, **kwargs): # Init slither try: slither = Slither(cfilename, **kwargs) - except Exception: # pylint: disable=broad-except + except Exception: simil_logger.error("Compilation failed for %s using %s", cfilename, kwargs["solc"]) return r diff --git a/slither/tools/similarity/info.py b/slither/tools/similarity/info.py index 2373ef6a8b..db22eb9895 100644 --- a/slither/tools/similarity/info.py +++ b/slither/tools/similarity/info.py @@ -46,7 +46,7 @@ def info(args: argparse.Namespace) -> None: fvector = model.get_sentence_vector(y) logger.info(fvector) - except Exception: # pylint: disable=broad-except + except Exception: to_log = f"Error in {args.filename}" logger.error(to_log) logger.error(traceback.format_exc()) diff --git a/slither/tools/similarity/model.py b/slither/tools/similarity/model.py index 2eb86d8749..b4e531246e 100644 --- a/slither/tools/similarity/model.py +++ b/slither/tools/similarity/model.py @@ -1,7 +1,6 @@ import sys try: - # pylint: disable=unused-import from fasttext import load_model from fasttext import train_unsupervised except ImportError: diff --git a/slither/tools/similarity/plot.py b/slither/tools/similarity/plot.py index 745476ae70..f98f36c0ad 100644 --- a/slither/tools/similarity/plot.py +++ b/slither/tools/similarity/plot.py @@ -24,7 +24,7 @@ logger = logging.getLogger("Slither-simil") -def plot(args: argparse.Namespace) -> None: # pylint: disable=too-many-locals +def plot(args: argparse.Namespace) -> None: if decomposition is None or plt is None: logger.error( "ERROR: In order to use plot mode in slither-simil, you need to install sklearn and matplotlib:" @@ -78,7 +78,7 @@ def plot(args: argparse.Namespace) -> None: # pylint: disable=too-many-locals logger.info("Saving figure to plot.png..") plt.savefig("plot.png", bbox_inches="tight") - except Exception: # pylint: disable=broad-except + except Exception: logger.error(f"Error in {args.filename}") logger.error(traceback.format_exc()) sys.exit(-1) diff --git a/slither/tools/similarity/test.py b/slither/tools/similarity/test.py index a70f724a95..430606c833 100755 --- a/slither/tools/similarity/test.py +++ b/slither/tools/similarity/test.py @@ -46,7 +46,7 @@ def test(args: Namespace) -> None: score = str(round(score, 3)) logger.info(format_table.format(*(list(x) + [score]))) - except Exception: # pylint: disable=broad-except + except Exception: logger.error(f"Error in {args.filename}") logger.error(traceback.format_exc()) sys.exit(-1) diff --git a/slither/tools/similarity/train.py b/slither/tools/similarity/train.py index 95730b5a4f..054fd0d6da 100755 --- a/slither/tools/similarity/train.py +++ b/slither/tools/similarity/train.py @@ -11,7 +11,7 @@ logger = logging.getLogger("Slither-simil") -def train(args: argparse.Namespace) -> None: # pylint: disable=too-many-locals +def train(args: argparse.Namespace) -> None: try: last_data_train_filename = "last_data_train.txt" model_filename = args.model @@ -48,7 +48,7 @@ def train(args: argparse.Namespace) -> None: # pylint: disable=too-many-locals save_cache(cache, "cache.npz") logger.info("Done!") - except Exception: # pylint: disable=broad-except + except Exception: logger.error(f"Error in {args.filename}") logger.error(traceback.format_exc()) sys.exit(-1) diff --git a/slither/tools/slither_format/slither_format.py b/slither/tools/slither_format/slither_format.py index 3c37313fd5..1407183a77 100644 --- a/slither/tools/slither_format/slither_format.py +++ b/slither/tools/slither_format/slither_format.py @@ -31,7 +31,7 @@ } -def slither_format(slither: Slither, **kwargs: Dict) -> None: # pylint: disable=too-many-locals +def slither_format(slither: Slither, **kwargs: Dict) -> None: """' Keyword Args: detectors_to_run (str): Comma-separated list of detectors, defaults to all diff --git a/slither/tools/upgradeability/__main__.py b/slither/tools/upgradeability/__main__.py index 35e8b83d80..dddc7f773f 100644 --- a/slither/tools/upgradeability/__main__.py +++ b/slither/tools/upgradeability/__main__.py @@ -191,43 +191,43 @@ def choose_checks( return detectors_to_run -class ListDetectors(argparse.Action): # pylint: disable=too-few-public-methods - def __call__(self, parser: Any, *args: Any, **kwargs: Any) -> None: # pylint: disable=signature-differs +class ListDetectors(argparse.Action): + def __call__(self, parser: Any, *args: Any, **kwargs: Any) -> None: checks = _get_checks() output_detectors(checks) parser.exit() -class ListDetectorsJson(argparse.Action): # pylint: disable=too-few-public-methods - def __call__(self, parser: Any, *args: Any, **kwargs: Any) -> None: # pylint: disable=signature-differs +class ListDetectorsJson(argparse.Action): + def __call__(self, parser: Any, *args: Any, **kwargs: Any) -> None: checks = _get_checks() detector_types_json = output_detectors_json(checks) print(json.dumps(detector_types_json)) parser.exit() -class OutputMarkdown(argparse.Action): # pylint: disable=too-few-public-methods +class OutputMarkdown(argparse.Action): def __call__( self, parser: Any, args: Any, values: Optional[Union[str, Sequence[Any]]], option_string: Any = None, - ) -> None: # pylint: disable=signature-differs + ) -> None: checks = _get_checks() assert isinstance(values, str) output_to_markdown(checks, values) parser.exit() -class OutputWiki(argparse.Action): # pylint: disable=too-few-public-methods +class OutputWiki(argparse.Action): def __call__( self, parser: Any, args: Any, values: Optional[Union[str, Sequence[Any]]], option_string: Any = None, - ) -> Any: # pylint: disable=signature-differs + ) -> Any: checks = _get_checks() assert isinstance(values, str) output_wiki(checks, values) @@ -276,7 +276,6 @@ def _checks_on_contract_and_proxy( ################################################################################### -# pylint: disable=too-many-statements,too-many-branches,too-many-locals def main() -> None: json_results: Dict = { "proxy-present": False, diff --git a/slither/tools/upgradeability/checks/all_checks.py b/slither/tools/upgradeability/checks/all_checks.py index 1581ab5308..15f0d8a02a 100644 --- a/slither/tools/upgradeability/checks/all_checks.py +++ b/slither/tools/upgradeability/checks/all_checks.py @@ -1,4 +1,3 @@ -# pylint: disable=unused-import from slither.tools.upgradeability.checks.initialization import ( InitializablePresent, InitializableInherited, diff --git a/slither/utils/arithmetic.py b/slither/utils/arithmetic.py index ae8ac8aad0..059dc6e815 100644 --- a/slither/utils/arithmetic.py +++ b/slither/utils/arithmetic.py @@ -8,8 +8,7 @@ from slither.core.declarations import Contract, Function -# pylint: disable=too-many-branches -def convert_subdenomination(value: str, sub: str) -> int: # pylint: disable=too-many-return-statements +def convert_subdenomination(value: str, sub: str) -> int: decimal_value = convert_string_to_fraction(value) if sub == "wei": return int(decimal_value) @@ -52,7 +51,6 @@ def _unchecked_arithemtic_usage(function: "Function") -> bool: """ - # pylint: disable=import-outside-toplevel from slither.slithir.operations import Binary score = 0 @@ -76,7 +74,7 @@ def unchecked_arithemtic_usage(contract: "Contract") -> List["Function"]: Returns: """ - # pylint: disable=import-outside-toplevel + from slither.core.declarations import Function ret: List[Function] = [] diff --git a/slither/utils/buggy_versions.py b/slither/utils/buggy_versions.py index ad9605b893..21a3f5a528 100644 --- a/slither/utils/buggy_versions.py +++ b/slither/utils/buggy_versions.py @@ -1,4 +1,3 @@ -# pylint: disable=too-many-lines bugs_by_version = { "0.1.0": [ "DirtyBytesArrayToStorage", diff --git a/slither/utils/ck.py b/slither/utils/ck.py index 4f999ef663..b2289659a8 100644 --- a/slither/utils/ck.py +++ b/slither/utils/ck.py @@ -80,7 +80,6 @@ def has_auth(func) -> bool: @dataclass -# pylint: disable=too-many-instance-attributes class CKContractMetrics: """Class to hold the CK metrics for a single contract.""" @@ -122,8 +121,6 @@ def __post_init__(self) -> None: ) self.calculate_metrics() - # pylint: disable=too-many-locals - # pylint: disable=too-many-branches def calculate_metrics(self) -> None: """Calculate the metrics for a contract""" rfc = self.public # initialize with public getter count @@ -246,7 +243,6 @@ class SectionInfo: @dataclass -# pylint: disable=too-many-instance-attributes class CKMetrics: """Class to hold the CK metrics for all contracts. Contains methods useful for reporting. diff --git a/slither/utils/code_generation.py b/slither/utils/code_generation.py index 2157570101..1911867c99 100644 --- a/slither/utils/code_generation.py +++ b/slither/utils/code_generation.py @@ -23,7 +23,6 @@ from slither.core.variables.structure_variable import StructureVariable -# pylint: disable=too-many-arguments,too-many-locals,too-many-branches def generate_interface( contract: "Contract", unroll_structs: bool = True, diff --git a/slither/utils/codex.py b/slither/utils/codex.py index 8b15656708..cda5b66033 100644 --- a/slither/utils/codex.py +++ b/slither/utils/codex.py @@ -83,7 +83,6 @@ def openai_module(): # type: ignore Optional[the openai module] """ try: - # pylint: disable=import-outside-toplevel import openai api_key = os.getenv("OPENAI_API_KEY") diff --git a/slither/utils/colors.py b/slither/utils/colors.py index 0f5b455bb0..3afa9e8d9e 100644 --- a/slither/utils/colors.py +++ b/slither/utils/colors.py @@ -3,7 +3,7 @@ import sys -class Colors: # pylint: disable=too-few-public-methods +class Colors: COLORIZATION_ENABLED = True RED = "\033[91m" GREEN = "\033[92m" @@ -27,7 +27,6 @@ def enable_windows_virtual_terminal_sequences() -> bool: """ try: - # pylint: disable=import-outside-toplevel from ctypes import windll, byref # type: ignore from ctypes.wintypes import DWORD, HANDLE @@ -56,7 +55,7 @@ def enable_windows_virtual_terminal_sequences() -> bool: current_handle, current_mode.value | virtual_terminal_flag ): return False - except Exception: # pylint: disable=broad-except + except Exception: # Any generic failure (possibly from calling these methods on older Windows builds where they do not exist) # will fall back onto disabling colorization. return False diff --git a/slither/utils/command_line.py b/slither/utils/command_line.py index dca7b59310..fb35304d45 100644 --- a/slither/utils/command_line.py +++ b/slither/utils/command_line.py @@ -284,7 +284,6 @@ def output_detectors(detector_classes: List[Type[AbstractDetector]]) -> None: print(table) -# pylint: disable=too-many-locals def output_detectors_json( detector_classes: List[Type[AbstractDetector]], ) -> List[Dict]: diff --git a/slither/utils/comparable_enum.py b/slither/utils/comparable_enum.py index d6f06bbbdc..ddde8158fb 100644 --- a/slither/utils/comparable_enum.py +++ b/slither/utils/comparable_enum.py @@ -1,6 +1,6 @@ from enum import Enum -# pylint: disable=comparison-with-callable + from typing import Any diff --git a/slither/utils/encoding.py b/slither/utils/encoding.py index 485842f7c8..b6c53ab295 100644 --- a/slither/utils/encoding.py +++ b/slither/utils/encoding.py @@ -13,7 +13,6 @@ from slither.slithir import variables as SlitherIRVariable -# pylint: disable=too-many-branches def ntype(_type: Union[solidity_types.Type, str]) -> str: if isinstance(_type, solidity_types.ElementaryType): _type = str(_type) @@ -54,7 +53,6 @@ def ntype(_type: Union[solidity_types.Type, str]) -> str: return _type.replace(" ", "_") -# pylint: disable=too-many-branches def encode_var_for_compare(var: Union[variables.Variable, SolidityVariable]) -> str: # variables if isinstance(var, SlitherIRVariable.Constant): @@ -87,7 +85,6 @@ def encode_var_for_compare(var: Union[variables.Variable, SolidityVariable]) -> return "" -# pylint: disable=too-many-branches def encode_ir_for_upgradeability_compare(ir: operations.Operation) -> str: # operations if isinstance(ir, operations.Assignment): diff --git a/slither/utils/expression_manipulations.py b/slither/utils/expression_manipulations.py index 1b63778a2d..52354aa1c5 100644 --- a/slither/utils/expression_manipulations.py +++ b/slither/utils/expression_manipulations.py @@ -25,7 +25,6 @@ from slither.core.expressions.new_elementary_type import NewElementaryType -# pylint: disable=protected-access def f_expressions( e: Union[AssignmentOperation, BinaryOperation, TupleExpression], x: Union[Identifier, Literal, MemberAccess, IndexAccess], diff --git a/slither/utils/halstead.py b/slither/utils/halstead.py index fe987d761c..6736b3ac41 100644 --- a/slither/utils/halstead.py +++ b/slither/utils/halstead.py @@ -36,11 +36,7 @@ from slither.utils.myprettytable import make_pretty_table, MyPrettyTable -# pylint: disable=too-many-branches - - @dataclass -# pylint: disable=too-many-instance-attributes class HalsteadContractMetrics: """Class to hold the Halstead metrics for a single contract.""" @@ -146,7 +142,6 @@ class SectionInfo: @dataclass -# pylint: disable=too-many-instance-attributes class HalsteadMetrics: """Class to hold the Halstead metrics for all contracts. Contains methods useful for reporting. diff --git a/slither/utils/martin.py b/slither/utils/martin.py index 232eb5ef65..e563c08f85 100644 --- a/slither/utils/martin.py +++ b/slither/utils/martin.py @@ -106,7 +106,6 @@ def update_abstractness(self) -> None: abstract_contract_count += 1 self.abstractness = float(abstract_contract_count / len(self.contracts)) - # pylint: disable=too-many-branches def update_coupling(self) -> None: dependencies = {} for contract in self.contracts: diff --git a/slither/utils/output.py b/slither/utils/output.py index 59bfa18726..4bbe774425 100644 --- a/slither/utils/output.py +++ b/slither/utils/output.py @@ -360,7 +360,6 @@ def _create_parent_element( Dict[str, Union[Dict[str, Union[str, Dict[str, Union[int, str, bool, List[int]]]]], str]], ], ]: - # pylint: disable=import-outside-toplevel from slither.core.declarations.contract_level import ContractLevel if isinstance(element, FunctionContract): diff --git a/slither/utils/oz_hashes.py b/slither/utils/oz_hashes.py index 1022986dc9..74cb59aead 100644 --- a/slither/utils/oz_hashes.py +++ b/slither/utils/oz_hashes.py @@ -6,7 +6,6 @@ class LibraryInfo(NamedTuple): versons: List[str] -# pylint: disable=too-many-lines oz_hashes = { "16ad4eed535bc7e7ea4d1096618d68ffe5a02287": LibraryInfo("Bounty", ["v1.3.0"]), "896a88e86ba21fe176d5e3de434af62ee531b1d5": LibraryInfo( diff --git a/slither/utils/type.py b/slither/utils/type.py index a6b6402027..d653e8a04e 100644 --- a/slither/utils/type.py +++ b/slither/utils/type.py @@ -52,7 +52,6 @@ def convert_type_for_solidity_signature_to_string(t: Type) -> str: def convert_type_for_solidity_signature(t: Type, seen: Set[Type]) -> Union[Type, List[Type]]: - # pylint: disable=import-outside-toplevel from slither.core.declarations import Contract, Enum, Structure # Solidity allows recursive type for structure definition if its not used in public /external @@ -138,7 +137,6 @@ def export_nested_types_from_variable(variable: Variable) -> List[Type]: def _export_return_type_from_variable(underlying_type: Type, all_types: bool) -> List[Type]: - # pylint: disable=import-outside-toplevel from slither.core.declarations import Structure if isinstance(underlying_type, MappingType): @@ -172,7 +170,7 @@ def export_return_type_from_variable( :param all_types :return: Type """ - # pylint: disable=import-outside-toplevel + from slither.core.declarations import Structure if isinstance(variable_or_type, Type): @@ -204,7 +202,7 @@ def is_underlying_type_address(t: "Type") -> bool: Return true if the underlying type is an address i.e. if the type is an address or a contract """ - # pylint: disable=import-outside-toplevel + from slither.core.declarations.contract import Contract if t == ElementaryType("address"): diff --git a/slither/utils/type_helpers.py b/slither/utils/type_helpers.py index 1f107e8c6e..56d5c9f26c 100644 --- a/slither/utils/type_helpers.py +++ b/slither/utils/type_helpers.py @@ -10,7 +10,7 @@ from slither.core.variables.variable import Variable ### core.declaration -# pylint: disable=used-before-assignment + InternalCallType = Union["Function", "SolidityFunction"] HighLevelCallType = Tuple["Contract", Union["Function", "Variable"]] LibraryCallType = Tuple["Contract", "Function"] diff --git a/slither/utils/upgradeability.py b/slither/utils/upgradeability.py index bedf08d4b2..0cb00810a2 100644 --- a/slither/utils/upgradeability.py +++ b/slither/utils/upgradeability.py @@ -50,7 +50,6 @@ def add_tainted_variable(self, v: Variable): self._tainted_variables.append(v) -# pylint: disable=too-many-locals def compare( v1: Contract, v2: Contract, include_external: bool = False ) -> Tuple[ diff --git a/slither/visitors/expression/constants_folding.py b/slither/visitors/expression/constants_folding.py index 65574df67a..7d93d242c6 100644 --- a/slither/visitors/expression/constants_folding.py +++ b/slither/visitors/expression/constants_folding.py @@ -74,7 +74,6 @@ def result(self) -> "Literal": value = value & (2**256 - 1) return Literal(value, self._type) - # pylint: disable=import-outside-toplevel def _post_identifier(self, expression: Identifier) -> None: from slither.core.declarations.solidity_variables import SolidityFunction from slither.core.declarations.enum import Enum @@ -113,7 +112,6 @@ def _post_identifier(self, expression: Identifier) -> None: if not isinstance(expression.value, (Enum, TypeAlias, Contract)): raise NotConstant - # pylint: disable=too-many-branches,too-many-statements def _post_binary_operation(self, expression: BinaryOperation) -> None: expression_left = expression.expression_left expression_right = expression.expression_right @@ -248,7 +246,6 @@ def _post_call_expression(self, expression: expressions.CallExpression) -> None: from slither.core.declarations.enum import Enum from slither.core.solidity_types import TypeAlias - # pylint: disable=too-many-boolean-expressions if ( isinstance(expression.called, Identifier) and expression.called.value == SolidityFunction("type()") @@ -293,7 +290,6 @@ def _post_elementary_type_name_expression( def _post_index_access(self, expression: expressions.IndexAccess) -> None: raise NotConstant - # pylint: disable=too-many-locals def _post_member_access(self, expression: expressions.MemberAccess) -> None: from slither.core.declarations import ( SolidityFunction, @@ -304,7 +300,6 @@ def _post_member_access(self, expression: expressions.MemberAccess) -> None: ) from slither.core.solidity_types import UserDefinedType, TypeAlias - # pylint: disable=too-many-nested-blocks if isinstance(expression.expression, CallExpression) and expression.member_name in [ "min", "max", diff --git a/slither/visitors/expression/expression.py b/slither/visitors/expression/expression.py index 83dd1be51a..d81f825ea6 100644 --- a/slither/visitors/expression/expression.py +++ b/slither/visitors/expression/expression.py @@ -50,7 +50,6 @@ def get_visitor_mapping(): } -# pylint: disable=too-few-public-methods class ExpressionVisitor: def __init__(self, expression: Expression) -> None: super().__init__() @@ -144,7 +143,7 @@ def _visit_unary_operation(self, expression: UnaryOperation) -> None: # pre visit - def _pre_visit(self, expression: Expression) -> None: # pylint: disable=too-many-branches + def _pre_visit(self, expression: Expression) -> None: if isinstance(expression, AssignmentOperation): self._pre_assignement_operation(expression) @@ -247,7 +246,7 @@ def _pre_unary_operation(self, expression: UnaryOperation) -> None: # post visit - def _post_visit(self, expression: Expression) -> None: # pylint: disable=too-many-branches + def _post_visit(self, expression: Expression) -> None: if isinstance(expression, AssignmentOperation): self._post_assignement_operation(expression) diff --git a/slither/visitors/slithir/expression_to_slithir.py b/slither/visitors/slithir/expression_to_slithir.py index 0575ecb4f6..c9389381ce 100644 --- a/slither/visitors/slithir/expression_to_slithir.py +++ b/slither/visitors/slithir/expression_to_slithir.py @@ -163,9 +163,8 @@ def convert_assignment( class ExpressionToSlithIR(ExpressionVisitor): - # pylint: disable=super-init-not-called def __init__(self, expression: Expression, node: "Node") -> None: - from slither.core.cfg.node import NodeType # pylint: disable=import-outside-toplevel + from slither.core.cfg.node import NodeType self._expression = expression self._node = node @@ -181,7 +180,6 @@ def __init__(self, expression: Expression, node: "Node") -> None: def result(self) -> List[Operation]: return self._result - # pylint: disable=too-many-branches,too-many-statements def _post_assignement_operation(self, expression: AssignmentOperation) -> None: left = get(expression.expression_left) right = get(expression.expression_right) @@ -316,7 +314,6 @@ def _post_binary_operation(self, expression: BinaryOperation) -> None: set_val(expression, val) - # pylint: disable=too-many-branches,too-many-statements,too-many-locals def _post_call_expression(self, expression: CallExpression) -> None: assert isinstance(expression, CallExpression) @@ -521,7 +518,7 @@ def _post_member_access(self, expression: MemberAccess) -> None: # Look for type(X).max / min # Because we looked at the AST structure, we need to look into the nested expression # Hopefully this is always on a direct sub field, and there is no weird construction - # pylint: disable=too-many-nested-blocks + if isinstance(expression.expression, CallExpression) and expression.member_name in [ "min", "max", @@ -738,7 +735,6 @@ def _post_type_conversion(self, expression: expressions.TypeConversion) -> None: self._result.append(operation) set_val(expression, val) - # pylint: disable=too-many-statements def _post_unary_operation(self, expression: UnaryOperation) -> None: value = get(expression.expression) operation: Operation diff --git a/slither/vyper_parsing/declarations/contract.py b/slither/vyper_parsing/declarations/contract.py index c8db2bd872..135f5382bf 100644 --- a/slither/vyper_parsing/declarations/contract.py +++ b/slither/vyper_parsing/declarations/contract.py @@ -32,7 +32,7 @@ from slither.vyper_parsing.vyper_compilation_unit import VyperCompilationUnit -class ContractVyper: # pylint: disable=too-many-instance-attributes +class ContractVyper: def __init__( self, slither_parser: "VyperCompilationUnit", contract: Contract, module: Module ) -> None: @@ -425,7 +425,7 @@ def _parse_contract_items(self) -> None: contract_parser = ContractVyper(self._slither_parser, contract, node) self._contract.file_scope.contracts[contract.name] = contract - # pylint: disable=protected-access + self._slither_parser._underlying_contract_to_parser[contract] = contract_parser elif isinstance(node, AnnAssign): # implements: ERC20 diff --git a/slither/vyper_parsing/declarations/event.py b/slither/vyper_parsing/declarations/event.py index 309501053e..9369d16b2e 100644 --- a/slither/vyper_parsing/declarations/event.py +++ b/slither/vyper_parsing/declarations/event.py @@ -11,7 +11,7 @@ from slither.vyper_parsing.ast.types import EventDef -class EventVyper: # pylint: disable=too-few-public-methods +class EventVyper: """ Event class """ diff --git a/slither/vyper_parsing/declarations/function.py b/slither/vyper_parsing/declarations/function.py index 843caacd8b..37dc20e58c 100644 --- a/slither/vyper_parsing/declarations/function.py +++ b/slither/vyper_parsing/declarations/function.py @@ -50,7 +50,7 @@ def link_underlying_nodes(node1: NodeVyper, node2: NodeVyper): link_nodes(node1.underlying_node, node2.underlying_node) -class FunctionVyper: # pylint: disable=too-many-instance-attributes +class FunctionVyper: def __init__( self, function: Function, @@ -250,7 +250,6 @@ def _update_reachability(self, node: Node) -> None: for son in node.sons: self._update_reachability(son) - # pylint: disable=too-many-branches,too-many-statements,protected-access,too-many-locals def _parse_cfg(self, cfg: List[ASTNode]) -> None: entry_node = self._new_node(NodeType.ENTRYPOINT, "-1:-1:-1", self.underlying_function) self._function.entry_point = entry_node.underlying_node diff --git a/slither/vyper_parsing/declarations/struct.py b/slither/vyper_parsing/declarations/struct.py index 83d7aef1e9..a17ef1bdf2 100644 --- a/slither/vyper_parsing/declarations/struct.py +++ b/slither/vyper_parsing/declarations/struct.py @@ -6,7 +6,7 @@ from slither.vyper_parsing.ast.types import StructDef, AnnAssign -class StructVyper: # pylint: disable=too-few-public-methods +class StructVyper: def __init__( self, st: Structure, diff --git a/slither/vyper_parsing/expressions/expression_parsing.py b/slither/vyper_parsing/expressions/expression_parsing.py index 7c8d8c4363..6163a350f7 100644 --- a/slither/vyper_parsing/expressions/expression_parsing.py +++ b/slither/vyper_parsing/expressions/expression_parsing.py @@ -72,7 +72,6 @@ def vars_to_typestr(rets: Optional[List["Expression"]]) -> str: return f"tuple({','.join(str(ret.type) for ret in rets)})" -# pylint: disable=too-many-branches,too-many-statements,too-many-locals def parse_expression( expression: ASTNode, caller_context: Union[FunctionContract, Contract] ) -> "Expression": @@ -206,7 +205,7 @@ def parse_expression( if isinstance(called.value, FunctionContract): rets = called.value.returns # Default arguments are not represented in the AST, so we recover them as well. - # pylint: disable=protected-access + if called.value._default_args_as_expressions and len(arguments) < len( called.value.parameters ): diff --git a/slither/vyper_parsing/expressions/find_variable.py b/slither/vyper_parsing/expressions/find_variable.py index 0509a29d73..fa532684b0 100644 --- a/slither/vyper_parsing/expressions/find_variable.py +++ b/slither/vyper_parsing/expressions/find_variable.py @@ -98,7 +98,7 @@ def find_variable( :return: :rtype: """ - # pylint: disable=import-outside-toplevel + from slither.vyper_parsing.declarations.function import ( FunctionVyper, ) diff --git a/slither/vyper_parsing/type_parsing.py b/slither/vyper_parsing/type_parsing.py index 236297304e..a416c84704 100644 --- a/slither/vyper_parsing/type_parsing.py +++ b/slither/vyper_parsing/type_parsing.py @@ -11,7 +11,6 @@ from slither.solc_parsing.exceptions import ParsingError -# pylint: disable=too-many-branches,too-many-return-statements,import-outside-toplevel,too-many-locals def parse_type( annotation: Union[Name, Subscript, Call, Tuple], caller_context: Union[FunctionContract, Contract], diff --git a/tests/conftest.py b/tests/conftest.py index 779931f58b..58db8e5cbd 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,4 +1,3 @@ -# pylint: disable=redefined-outer-name import os import shutil import tempfile diff --git a/tests/e2e/detectors/test_detectors.py b/tests/e2e/detectors/test_detectors.py index 4391f0ae1c..bc29841f85 100644 --- a/tests/e2e/detectors/test_detectors.py +++ b/tests/e2e/detectors/test_detectors.py @@ -14,7 +14,7 @@ from slither.detectors import all_detectors -class Test: # pylint: disable=too-few-public-methods +class Test: def __init__( self, detector: Type[AbstractDetector], @@ -40,7 +40,7 @@ def __init__( self.additional_files = additional_files -def set_solc(test_item: Test): # pylint: disable=too-many-lines +def set_solc(test_item: Test): # hacky hack hack to pick the solc version we want env = dict(os.environ) @@ -1946,7 +1946,6 @@ def id_test(test_item: Test): TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" -# pylint: disable=too-many-locals @pytest.mark.parametrize("test_item", ALL_TESTS, ids=id_test) def test_detector(test_item: Test, snapshot): test_dir_path = Path( diff --git a/tests/e2e/solc_parsing/test_ast_parsing.py b/tests/e2e/solc_parsing/test_ast_parsing.py index 78ee79465d..d33c3484b3 100644 --- a/tests/e2e/solc_parsing/test_ast_parsing.py +++ b/tests/e2e/solc_parsing/test_ast_parsing.py @@ -19,7 +19,6 @@ TEST_ROOT = os.path.join(E2E_ROOT, "solc_parsing", "test_data") -# pylint: disable=too-few-public-methods class Test: def __init__( self, @@ -494,7 +493,6 @@ def pytest_generate_tests(metafunc): class TestASTParsing: - # pylint: disable=no-self-use def test_parsing(self, test_file, version, flavor): actual = os.path.join(TEST_ROOT, "compile", f"{test_file}-{version}-{flavor}.zip") expected = os.path.join(TEST_ROOT, "expected", f"{test_file}-{version}-{flavor}.json") @@ -572,7 +570,7 @@ def _generate_test(test_item: Test, skip_existing=False): disallow_partial=True, skip_analyze=True, ) - # pylint: disable=broad-except + except Exception as e: print(e) print(test_item) @@ -582,7 +580,6 @@ def _generate_test(test_item: Test, skip_existing=False): actual = generate_output(sl) print(f"Generate {expected_file}") - # pylint: disable=no-member Path(expected_file).parents[0].mkdir(parents=True, exist_ok=True) with open(expected_file, "w", encoding="utf8") as f: @@ -613,7 +610,6 @@ def _generate_compile(test_item: Test, skip_existing=False): test_file, solc_force_legacy_json=flavor == "legacy", solc_args=solc_args ) - # pylint: disable=no-member Path(expected_file).parents[0].mkdir(parents=True, exist_ok=True) save_to_zip([cc], expected_file) diff --git a/tests/tools/mutator/test_mutator.py b/tests/tools/mutator/test_mutator.py index e6595ce802..1416560d98 100644 --- a/tests/tools/mutator/test_mutator.py +++ b/tests/tools/mutator/test_mutator.py @@ -60,7 +60,7 @@ def test_get_mutators(): ), ) @pytest.mark.skip(reason="Slow test") -def test_mutator(mock_args, solc_binary_path): # pylint: disable=unused-argument +def test_mutator(mock_args, solc_binary_path): with change_directory(TEST_DATA_DIR / "test_source_unit"): main() diff --git a/tests/tools/read-storage/conftest.py b/tests/tools/read-storage/conftest.py index 2a1e4aa3e0..7bda0b57a7 100644 --- a/tests/tools/read-storage/conftest.py +++ b/tests/tools/read-storage/conftest.py @@ -23,7 +23,6 @@ def __init__(self, provider: str, eth_address: str, eth_privkey: str): def fixture_ganache() -> Generator[GanacheInstance, None, None]: """Fixture that runs ganache""" if not shutil.which("ganache"): - # pylint: disable=broad-exception-raised raise Exception( "ganache was not found in PATH, you can install it with `npm install -g ganache`" ) diff --git a/tests/tools/read-storage/test_read_storage.py b/tests/tools/read-storage/test_read_storage.py index ec077547b9..15c798702c 100644 --- a/tests/tools/read-storage/test_read_storage.py +++ b/tests/tools/read-storage/test_read_storage.py @@ -39,7 +39,6 @@ def deploy_contract(w3, ganache, contract_bin, contract_abi) -> Contract: return contract -# pylint: disable=too-many-locals @pytest.mark.parametrize( "test_contract, storage_file", [("StorageLayout", "storage_layout"), ("UnstructuredStorageLayout", "unstructured_storage")], diff --git a/tests/unit/core/test_constant_folding.py b/tests/unit/core/test_constant_folding.py index 6c0cc82953..cc496363b2 100644 --- a/tests/unit/core/test_constant_folding.py +++ b/tests/unit/core/test_constant_folding.py @@ -54,7 +54,6 @@ def test_constant_folding_rational(solc_binary_path): assert ConstantFolding(variable_g.expression, "int64").result().value == -7 -# pylint: disable=too-many-locals def test_constant_folding_binary_expressions(solc_binary_path): sl = Slither( Path(CONSTANT_FOLDING_TEST_ROOT, "constant_folding_binop.sol").as_posix(), diff --git a/tests/unit/core/test_function_declaration.py b/tests/unit/core/test_function_declaration.py index a8ca4cdaf7..f429b7d256 100644 --- a/tests/unit/core/test_function_declaration.py +++ b/tests/unit/core/test_function_declaration.py @@ -17,7 +17,6 @@ def test_functions(solc_binary_path): - # pylint: disable=too-many-statements solc_path = solc_binary_path("0.6.12") file = Path(FUNC_DELC_TEST_ROOT, "test_function.sol").as_posix() slither = Slither(file, solc=solc_path) @@ -306,7 +305,6 @@ def test_public_variable(solc_binary_path) -> None: assert var.type == ElementaryType("bytes32") -# pylint: disable=too-many-statements def test_vyper_functions(slither_from_vyper_source) -> None: with slither_from_vyper_source( """ diff --git a/tests/unit/core/test_virtual_overrides.py b/tests/unit/core/test_virtual_overrides.py index a5ca4a8657..f2c6b2e3d8 100644 --- a/tests/unit/core/test_virtual_overrides.py +++ b/tests/unit/core/test_virtual_overrides.py @@ -5,7 +5,6 @@ def test_overrides(solc_binary_path) -> None: - # pylint: disable=too-many-statements,too-many-locals solc_path = solc_binary_path("0.8.15") slither = Slither(Path(TEST_DATA_DIR, "virtual_overrides.sol").as_posix(), solc=solc_path) diff --git a/tests/unit/slithir/test_ssa_generation.py b/tests/unit/slithir/test_ssa_generation.py index 858a12ce62..fcd0355b8b 100644 --- a/tests/unit/slithir/test_ssa_generation.py +++ b/tests/unit/slithir/test_ssa_generation.py @@ -1,4 +1,4 @@ -# # pylint: disable=too-many-lines +# import pathlib from argparse import ArgumentTypeError from collections import defaultdict @@ -61,7 +61,6 @@ def have_ssa_if_ir(function: Function) -> None: assert n.irs_ssa -# pylint: disable=too-many-branches, too-many-locals def ssa_basic_properties(function: Function) -> None: """Verifies that basic properties of ssa holds diff --git a/tests/unit/slithir/test_ternary_expressions.py b/tests/unit/slithir/test_ternary_expressions.py index 62850bbb21..6f48a60b60 100644 --- a/tests/unit/slithir/test_ternary_expressions.py +++ b/tests/unit/slithir/test_ternary_expressions.py @@ -13,7 +13,6 @@ TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" -# pylint: disable=too-many-nested-blocks def test_ternary_conversions(solc_binary_path) -> None: """This tests that true and false sons define the same number of variables that the father node declares""" solc_path = solc_binary_path("0.8.0") diff --git a/tests/unit/slithir/vyper/test_ir_generation.py b/tests/unit/slithir/vyper/test_ir_generation.py index efcf5ce549..19a97e680f 100644 --- a/tests/unit/slithir/vyper/test_ir_generation.py +++ b/tests/unit/slithir/vyper/test_ir_generation.py @@ -1,4 +1,4 @@ -# # pylint: disable=too-many-lines +# from slither.core.solidity_types import ElementaryType diff --git a/tests/unit/utils/test_upgradeability_util.py b/tests/unit/utils/test_upgradeability_util.py index 1d04473314..2dc5f60958 100644 --- a/tests/unit/utils/test_upgradeability_util.py +++ b/tests/unit/utils/test_upgradeability_util.py @@ -13,7 +13,6 @@ TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" / "upgradeability_util" -# pylint: disable=too-many-locals def test_upgrades_compare(solc_binary_path) -> None: solc_path = solc_binary_path("0.8.2") From e1b0e8711f0632aa8080b8c9e6de7519f924708b Mon Sep 17 00:00:00 2001 From: Simone <79767264+smonicas@users.noreply.github.com> Date: Tue, 6 Jan 2026 16:49:52 +0100 Subject: [PATCH 066/113] Update .pre-commit-config.yaml MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Emilio López <2642849+elopez@users.noreply.github.com> --- .pre-commit-config.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 3bd72decc5..16e731398f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -13,8 +13,7 @@ repos: name: ruff lint args: [--fix, --exit-non-zero-on-fix] types_or: [python, pyi] - # Ruff formatter disabled to avoid code changes - # Uncomment to enable formatting in the future + # Run ruff formatter - id: ruff-format name: ruff format types_or: [python, pyi] From fd385fe539a98359f7cbedb3c6c02cf69cdedf00 Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 6 Jan 2026 16:54:04 +0100 Subject: [PATCH 067/113] Update Makefile --- Makefile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 564cef391c..07c875f23b 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,7 @@ SHELL := /bin/bash PY_MODULE := slither TEST_MODULE := tests +SCRIPT_MODULE := scripts ALL_PY_SRCS := $(shell find $(PY_MODULE) -name '*.py') \ $(shell find tests -name '*.py') @@ -56,13 +57,13 @@ $(VENV)/pyvenv.cfg: pyproject.toml .PHONY: lint lint: $(VENV)/pyvenv.cfg . $(VENV_BIN)/activate && \ - ruff check $(PY_MODULE) $(TEST_MODULE) && \ + ruff check $(PY_MODULE) $(TEST_MODULE) $(SCRIPT_MODULE) && \ yamllint .github/ .PHONY: reformat reformat: . $(VENV_BIN)/activate && \ - ruff check --fix $(PY_MODULE) $(TEST_MODULE) + ruff check --fix $(PY_MODULE) $(TEST_MODULE) $(SCRIPT_MODULE) .PHONY: test tests test tests: $(VENV)/pyvenv.cfg From 45240cd40731d5634c4df2afa84c5704b2805864 Mon Sep 17 00:00:00 2001 From: Dan Guido Date: Tue, 6 Jan 2026 10:56:55 -0500 Subject: [PATCH 068/113] docs: add CLAUDE.md coding standards for AI assistants MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add project-specific coding standards file that provides guidance for AI assistants (like Claude) working on the Slither codebase. Includes: - Runtime and tooling requirements (Python 3.9+, uv, ruff, pytest) - Python guidelines for build system and CI - Hard rules for code quality (function length, complexity, imports) - Common development commands 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- CLAUDE.md | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 CLAUDE.md diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000000..81d2075942 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,59 @@ +# Slither Coding Standards + +## Runtime +| lang | version | manager | +|--------|---------|---------| +| Python | ≥3.9 | uv | + +## Required tooling +| purpose | tool | +|------------------|----------| +| deps & venv | `uv` | +| lint & format | `ruff` | +| tests | `pytest` | + +## Python guidelines +- Always use `uv` instead of pip +- Build with `hatchling` (`[build-system]` in pyproject.toml) +- Use `astral-sh/ruff-action@v1` in CI +- Let tools auto-detect versions from pyproject.toml +- Verify builds: `uv build`, `uv tool install dist/*.whl`, `uv tool install -e .` + +## Version Verification +When adding or updating dependencies, CI actions, or tool versions: +1. **Always web search** for the current stable version before specifying any version number +2. Training data versions are stale—never assume a version from memory is current +3. Check the official source (PyPI, GitHub releases) for latest stable +4. Exception: Only skip web search if user explicitly provides the version to use + +## Hard rules +1. ≤ 80 code lines / function +2. Cyclomatic complexity ≤ 8 +3. ≤ 5 positional params, ≤ 12 branches, ≤ 6 returns +4. 100‑char line length +5. Ban relative ("..") imports +6. Tests in `/tests/` mirroring package structure (not beside code) +7. No scheduled CI without code changes + +## Bash strict mode +All bash scripts must start with: +```bash +#!/bin/bash +set -euo pipefail +IFS=$'\n\t' +``` + +## Common commands +```bash +make dev # Create venv and install deps +make lint # Run ruff check +make reformat # Run ruff format +make test # Run all tests +make test TESTS=unit # Run specific test directory +pytest tests/unit/ -q # Fast unit tests only +uv run ruff check --fix . # Auto-fix lint issues +``` + +> Never commit changes that break any rule above—refactor instead. +> Never push to GitHub until asked explicitly. +> Don't be hyperbolic in PR/Issue writeups. From 21eca6e72b3019796fac0efcc15aec6185354991 Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 6 Jan 2026 17:40:02 +0100 Subject: [PATCH 069/113] Update last references of Python 3.8 --- docs/src/tutorials/README.md | 2 +- plugin_example/setup.py | 2 +- pyproject.toml | 7 +++---- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/docs/src/tutorials/README.md b/docs/src/tutorials/README.md index d5bff9ab2a..67ad206b71 100644 --- a/docs/src/tutorials/README.md +++ b/docs/src/tutorials/README.md @@ -17,7 +17,7 @@ Watch Slither's [code walkthrough](https://www.youtube.com/watch?v=EUl3UlYSluU), ## Installation -Slither requires Python >= 3.8. You can install it through pip or by using Docker. +Slither requires Python >= 3.9. You can install it through pip or by using Docker. Installing Slither through pip: diff --git a/plugin_example/setup.py b/plugin_example/setup.py index 908ad51da2..6e1fa322aa 100644 --- a/plugin_example/setup.py +++ b/plugin_example/setup.py @@ -7,7 +7,7 @@ author="Trail of Bits", version="0.0", packages=find_packages(), - python_requires=">=3.8", + python_requires=">=3.9", install_requires=["slither-analyzer>=0.6.0"], entry_points={ "slither_analyzer.plugin": "slither my-plugin=slither_my_plugin:make_plugin", diff --git a/pyproject.toml b/pyproject.toml index deee157d43..3774295165 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ name = "slither-analyzer" version = "0.11.3" description = "Slither is a Solidity and Vyper static analysis framework written in Python 3." readme = "README.md" -requires-python = ">=3.8" +requires-python = ">=3.9" license = {text = "AGPL-3.0"} authors = [ {name = "Trail of Bits"}, @@ -22,7 +22,6 @@ classifiers = [ "Intended Audience :: Developers", "License :: OSI Approved :: GNU Affero General Public License v3", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", @@ -88,8 +87,8 @@ packages = ["slither"] [tool.ruff] line-length = 100 -# Target Python 3.8+ (current minimum version) -target-version = "py38" +# Target Python 3.9+ (current minimum version) +target-version = "py39" # Additional exclusions beyond defaults and .gitignore extend-exclude = [ "docs/", From 7c957cf13bc7a8231d62fa4f76701b39faa6437e Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 6 Jan 2026 17:45:40 +0100 Subject: [PATCH 070/113] Add missing import --- slither/__main__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/slither/__main__.py b/slither/__main__.py index 3f393a1f57..fccdf6cf07 100644 --- a/slither/__main__.py +++ b/slither/__main__.py @@ -14,7 +14,7 @@ from typing import Any, Dict, List, Optional, Sequence, Set, Tuple, Type, Union import importlib_metadata -from crytic_compile import cryticparser, CryticCompile +from crytic_compile import cryticparser, CryticCompile, compile_all, is_supported from crytic_compile.platform.etherscan import SUPPORTED_NETWORK from crytic_compile.platform.standard import generate_standard_export From 00b02723dada49ab941d4445ed8a466e448506b8 Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 6 Jan 2026 17:54:54 +0100 Subject: [PATCH 071/113] Update dependencies --- pyproject.toml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 3774295165..219ab03ddf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -43,14 +43,13 @@ dependencies = [ [dependency-groups] lint = [ "ruff==0.14.10", - "yamllint==1.35.1" + "yamllint==1.37.1" ] test = [ "pytest", "pytest-cov", "pytest-xdist", "deepdiff", - "orderly-set==5.3.2", # Temporary fix for https://github.com/seperman/deepdiff/issues/539 "numpy", "coverage[toml]", "filelock", From 1ecd1ef37bf7c902ff0cb82ced3fbc07613a3e0f Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 6 Jan 2026 18:01:54 +0100 Subject: [PATCH 072/113] Update lock file --- uv.lock | 2444 ++++++------------------------------------------------- 1 file changed, 259 insertions(+), 2185 deletions(-) diff --git a/uv.lock b/uv.lock index b0fe194803..75506f1fc7 100644 --- a/uv.lock +++ b/uv.lock @@ -1,170 +1,34 @@ version = 1 revision = 3 -requires-python = ">=3.8" +requires-python = ">=3.9" resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", + "python_full_version >= '3.11'", "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", - "python_full_version < '3.9'", -] - -[[package]] -name = "aiohappyeyeballs" -version = "2.4.4" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/7f/55/e4373e888fdacb15563ef6fa9fa8c8252476ea071e96fb46defac9f18bf2/aiohappyeyeballs-2.4.4.tar.gz", hash = "sha256:5fdd7d87889c63183afc18ce9271f9b0a7d32c2303e394468dd45d514a757745", size = 21977, upload-time = "2024-11-30T18:44:00.701Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b9/74/fbb6559de3607b3300b9be3cc64e97548d55678e44623db17820dbd20002/aiohappyeyeballs-2.4.4-py3-none-any.whl", hash = "sha256:a980909d50efcd44795c4afeca523296716d50cd756ddca6af8c65b996e27de8", size = 14756, upload-time = "2024-11-30T18:43:39.849Z" }, + "python_full_version < '3.10'", ] [[package]] name = "aiohappyeyeballs" version = "2.6.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] sdist = { url = "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558", size = 22760, upload-time = "2025-03-12T01:42:48.764Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/0f/15/5bf3b99495fb160b63f95972b81750f18f7f4e02ad051373b669d17d44f2/aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8", size = 15265, upload-time = "2025-03-12T01:42:47.083Z" }, ] -[[package]] -name = "aiohttp" -version = "3.10.11" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "aiohappyeyeballs", version = "2.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "aiosignal", version = "1.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "async-timeout", marker = "python_full_version < '3.9'" }, - { name = "attrs", version = "25.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "frozenlist", version = "1.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "multidict", version = "6.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "yarl", version = "1.15.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/25/a8/8e2ba36c6e3278d62e0c88aa42bb92ddbef092ac363b390dab4421da5cf5/aiohttp-3.10.11.tar.gz", hash = "sha256:9dc2b8f3dcab2e39e0fa309c8da50c3b55e6f34ab25f1a71d3288f24924d33a7", size = 7551886, upload-time = "2024-11-13T16:40:33.335Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/11/c7/575f9e82d7ef13cb1b45b9db8a5b8fadb35107fb12e33809356ae0155223/aiohttp-3.10.11-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5077b1a5f40ffa3ba1f40d537d3bec4383988ee51fbba6b74aa8fb1bc466599e", size = 588218, upload-time = "2024-11-13T16:36:38.461Z" }, - { url = "https://files.pythonhosted.org/packages/12/7b/a800dadbd9a47b7f921bfddcd531371371f39b9cd05786c3638bfe2e1175/aiohttp-3.10.11-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:8d6a14a4d93b5b3c2891fca94fa9d41b2322a68194422bef0dd5ec1e57d7d298", size = 400815, upload-time = "2024-11-13T16:36:40.547Z" }, - { url = "https://files.pythonhosted.org/packages/cb/28/7dbd53ab10b0ded397feed914880f39ce075bd39393b8dfc322909754a0a/aiohttp-3.10.11-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ffbfde2443696345e23a3c597049b1dd43049bb65337837574205e7368472177", size = 392099, upload-time = "2024-11-13T16:36:43.918Z" }, - { url = "https://files.pythonhosted.org/packages/6a/2e/c6390f49e67911711c2229740e261c501685fe7201f7f918d6ff2fd1cfb0/aiohttp-3.10.11-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20b3d9e416774d41813bc02fdc0663379c01817b0874b932b81c7f777f67b217", size = 1224854, upload-time = "2024-11-13T16:36:46.473Z" }, - { url = "https://files.pythonhosted.org/packages/69/68/c96afae129201bff4edbece52b3e1abf3a8af57529a42700669458b00b9f/aiohttp-3.10.11-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2b943011b45ee6bf74b22245c6faab736363678e910504dd7531a58c76c9015a", size = 1259641, upload-time = "2024-11-13T16:36:48.28Z" }, - { url = "https://files.pythonhosted.org/packages/63/89/bedd01456442747946114a8c2f30ff1b23d3b2ea0c03709f854c4f354a5a/aiohttp-3.10.11-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:48bc1d924490f0d0b3658fe5c4b081a4d56ebb58af80a6729d4bd13ea569797a", size = 1295412, upload-time = "2024-11-13T16:36:50.286Z" }, - { url = "https://files.pythonhosted.org/packages/9b/4d/942198e2939efe7bfa484781590f082135e9931b8bcafb4bba62cf2d8f2f/aiohttp-3.10.11-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e12eb3f4b1f72aaaf6acd27d045753b18101524f72ae071ae1c91c1cd44ef115", size = 1218311, upload-time = "2024-11-13T16:36:53.721Z" }, - { url = "https://files.pythonhosted.org/packages/a3/5b/8127022912f1fa72dfc39cf37c36f83e0b56afc3b93594b1cf377b6e4ffc/aiohttp-3.10.11-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f14ebc419a568c2eff3c1ed35f634435c24ead2fe19c07426af41e7adb68713a", size = 1189448, upload-time = "2024-11-13T16:36:55.844Z" }, - { url = "https://files.pythonhosted.org/packages/af/12/752878033c8feab3362c0890a4d24e9895921729a53491f6f6fad64d3287/aiohttp-3.10.11-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:72b191cdf35a518bfc7ca87d770d30941decc5aaf897ec8b484eb5cc8c7706f3", size = 1186484, upload-time = "2024-11-13T16:36:58.472Z" }, - { url = "https://files.pythonhosted.org/packages/61/24/1d91c304fca47d5e5002ca23abab9b2196ac79d5c531258e048195b435b2/aiohttp-3.10.11-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5ab2328a61fdc86424ee540d0aeb8b73bbcad7351fb7cf7a6546fc0bcffa0038", size = 1183864, upload-time = "2024-11-13T16:37:00.737Z" }, - { url = "https://files.pythonhosted.org/packages/c1/70/022d28b898314dac4cb5dd52ead2a372563c8590b1eaab9c5ed017eefb1e/aiohttp-3.10.11-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:aa93063d4af05c49276cf14e419550a3f45258b6b9d1f16403e777f1addf4519", size = 1241460, upload-time = "2024-11-13T16:37:03.175Z" }, - { url = "https://files.pythonhosted.org/packages/c3/15/2b43853330f82acf180602de0f68be62a2838d25d03d2ed40fecbe82479e/aiohttp-3.10.11-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:30283f9d0ce420363c24c5c2421e71a738a2155f10adbb1a11a4d4d6d2715cfc", size = 1258521, upload-time = "2024-11-13T16:37:06.013Z" }, - { url = "https://files.pythonhosted.org/packages/28/38/9ef2076cb06dcc155e7f02275f5da403a3e7c9327b6b075e999f0eb73613/aiohttp-3.10.11-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e5358addc8044ee49143c546d2182c15b4ac3a60be01c3209374ace05af5733d", size = 1207329, upload-time = "2024-11-13T16:37:08.091Z" }, - { url = "https://files.pythonhosted.org/packages/c2/5f/c5329d67a2c83d8ae17a84e11dec14da5773520913bfc191caaf4cd57e50/aiohttp-3.10.11-cp310-cp310-win32.whl", hash = "sha256:e1ffa713d3ea7cdcd4aea9cddccab41edf6882fa9552940344c44e59652e1120", size = 363835, upload-time = "2024-11-13T16:37:10.017Z" }, - { url = "https://files.pythonhosted.org/packages/0f/c6/ca5d70eea2fdbe283dbc1e7d30649a1a5371b2a2a9150db192446f645789/aiohttp-3.10.11-cp310-cp310-win_amd64.whl", hash = "sha256:778cbd01f18ff78b5dd23c77eb82987ee4ba23408cbed233009fd570dda7e674", size = 382169, upload-time = "2024-11-13T16:37:12.603Z" }, - { url = "https://files.pythonhosted.org/packages/73/96/221ec59bc38395a6c205cbe8bf72c114ce92694b58abc8c3c6b7250efa7f/aiohttp-3.10.11-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:80ff08556c7f59a7972b1e8919f62e9c069c33566a6d28586771711e0eea4f07", size = 587742, upload-time = "2024-11-13T16:37:14.469Z" }, - { url = "https://files.pythonhosted.org/packages/24/17/4e606c969b19de5c31a09b946bd4c37e30c5288ca91d4790aa915518846e/aiohttp-3.10.11-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c8f96e9ee19f04c4914e4e7a42a60861066d3e1abf05c726f38d9d0a466e695", size = 400357, upload-time = "2024-11-13T16:37:16.482Z" }, - { url = "https://files.pythonhosted.org/packages/a2/e5/433f59b87ba69736e446824710dd7f26fcd05b24c6647cb1e76554ea5d02/aiohttp-3.10.11-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fb8601394d537da9221947b5d6e62b064c9a43e88a1ecd7414d21a1a6fba9c24", size = 392099, upload-time = "2024-11-13T16:37:20.013Z" }, - { url = "https://files.pythonhosted.org/packages/d2/a3/3be340f5063970bb9e47f065ee8151edab639d9c2dce0d9605a325ab035d/aiohttp-3.10.11-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ea224cf7bc2d8856d6971cea73b1d50c9c51d36971faf1abc169a0d5f85a382", size = 1300367, upload-time = "2024-11-13T16:37:22.645Z" }, - { url = "https://files.pythonhosted.org/packages/ba/7d/a3043918466cbee9429792ebe795f92f70eeb40aee4ccbca14c38ee8fa4d/aiohttp-3.10.11-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:db9503f79e12d5d80b3efd4d01312853565c05367493379df76d2674af881caa", size = 1339448, upload-time = "2024-11-13T16:37:24.834Z" }, - { url = "https://files.pythonhosted.org/packages/2c/60/192b378bd9d1ae67716b71ae63c3e97c48b134aad7675915a10853a0b7de/aiohttp-3.10.11-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0f449a50cc33f0384f633894d8d3cd020e3ccef81879c6e6245c3c375c448625", size = 1374875, upload-time = "2024-11-13T16:37:26.799Z" }, - { url = "https://files.pythonhosted.org/packages/e0/d7/cd58bd17f5277d9cc32ecdbb0481ca02c52fc066412de413aa01268dc9b4/aiohttp-3.10.11-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82052be3e6d9e0c123499127782a01a2b224b8af8c62ab46b3f6197035ad94e9", size = 1285626, upload-time = "2024-11-13T16:37:29.02Z" }, - { url = "https://files.pythonhosted.org/packages/bb/b2/da4953643b7dcdcd29cc99f98209f3653bf02023d95ce8a8fd57ffba0f15/aiohttp-3.10.11-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:20063c7acf1eec550c8eb098deb5ed9e1bb0521613b03bb93644b810986027ac", size = 1246120, upload-time = "2024-11-13T16:37:31.268Z" }, - { url = "https://files.pythonhosted.org/packages/6c/22/1217b3c773055f0cb172e3b7108274a74c0fe9900c716362727303931cbb/aiohttp-3.10.11-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:489cced07a4c11488f47aab1f00d0c572506883f877af100a38f1fedaa884c3a", size = 1265177, upload-time = "2024-11-13T16:37:33.348Z" }, - { url = "https://files.pythonhosted.org/packages/63/5e/3827ad7e61544ed1e73e4fdea7bb87ea35ac59a362d7eb301feb5e859780/aiohttp-3.10.11-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ea9b3bab329aeaa603ed3bf605f1e2a6f36496ad7e0e1aa42025f368ee2dc07b", size = 1257238, upload-time = "2024-11-13T16:37:35.753Z" }, - { url = "https://files.pythonhosted.org/packages/53/31/951f78751d403da6086b662760e6e8b08201b0dcf5357969f48261b4d0e1/aiohttp-3.10.11-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:ca117819d8ad113413016cb29774b3f6d99ad23c220069789fc050267b786c16", size = 1315944, upload-time = "2024-11-13T16:37:38.317Z" }, - { url = "https://files.pythonhosted.org/packages/0d/79/06ef7a2a69880649261818b135b245de5a4e89fed5a6987c8645428563fc/aiohttp-3.10.11-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:2dfb612dcbe70fb7cdcf3499e8d483079b89749c857a8f6e80263b021745c730", size = 1332065, upload-time = "2024-11-13T16:37:40.725Z" }, - { url = "https://files.pythonhosted.org/packages/10/39/a273857c2d0bbf2152a4201fbf776931c2dac74aa399c6683ed4c286d1d1/aiohttp-3.10.11-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f9b615d3da0d60e7d53c62e22b4fd1c70f4ae5993a44687b011ea3a2e49051b8", size = 1291882, upload-time = "2024-11-13T16:37:43.209Z" }, - { url = "https://files.pythonhosted.org/packages/49/39/7aa387f88403febc96e0494101763afaa14d342109329a01b413b2bac075/aiohttp-3.10.11-cp311-cp311-win32.whl", hash = "sha256:29103f9099b6068bbdf44d6a3d090e0a0b2be6d3c9f16a070dd9d0d910ec08f9", size = 363409, upload-time = "2024-11-13T16:37:45.143Z" }, - { url = "https://files.pythonhosted.org/packages/6f/e9/8eb3dc095ce48499d867ad461d02f1491686b79ad92e4fad4df582f6be7b/aiohttp-3.10.11-cp311-cp311-win_amd64.whl", hash = "sha256:236b28ceb79532da85d59aa9b9bf873b364e27a0acb2ceaba475dc61cffb6f3f", size = 382644, upload-time = "2024-11-13T16:37:47.685Z" }, - { url = "https://files.pythonhosted.org/packages/01/16/077057ef3bd684dbf9a8273a5299e182a8d07b4b252503712ff8b5364fd1/aiohttp-3.10.11-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:7480519f70e32bfb101d71fb9a1f330fbd291655a4c1c922232a48c458c52710", size = 584830, upload-time = "2024-11-13T16:37:49.608Z" }, - { url = "https://files.pythonhosted.org/packages/2c/cf/348b93deb9597c61a51b6682e81f7c7d79290249e886022ef0705d858d90/aiohttp-3.10.11-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f65267266c9aeb2287a6622ee2bb39490292552f9fbf851baabc04c9f84e048d", size = 397090, upload-time = "2024-11-13T16:37:51.539Z" }, - { url = "https://files.pythonhosted.org/packages/70/bf/903df5cd739dfaf5b827b3d8c9d68ff4fcea16a0ca1aeb948c9da30f56c8/aiohttp-3.10.11-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7400a93d629a0608dc1d6c55f1e3d6e07f7375745aaa8bd7f085571e4d1cee97", size = 392361, upload-time = "2024-11-13T16:37:53.586Z" }, - { url = "https://files.pythonhosted.org/packages/fb/97/e4792675448a2ac5bd56f377a095233b805dd1315235c940c8ba5624e3cb/aiohttp-3.10.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f34b97e4b11b8d4eb2c3a4f975be626cc8af99ff479da7de49ac2c6d02d35725", size = 1309839, upload-time = "2024-11-13T16:37:55.68Z" }, - { url = "https://files.pythonhosted.org/packages/96/d0/ba19b1260da6fbbda4d5b1550d8a53ba3518868f2c143d672aedfdbc6172/aiohttp-3.10.11-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e7b825da878464a252ccff2958838f9caa82f32a8dbc334eb9b34a026e2c636", size = 1348116, upload-time = "2024-11-13T16:37:58.232Z" }, - { url = "https://files.pythonhosted.org/packages/b3/b9/15100ee7113a2638bfdc91aecc54641609a92a7ce4fe533ebeaa8d43ff93/aiohttp-3.10.11-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9f92a344c50b9667827da308473005f34767b6a2a60d9acff56ae94f895f385", size = 1391402, upload-time = "2024-11-13T16:38:00.522Z" }, - { url = "https://files.pythonhosted.org/packages/c5/36/831522618ac0dcd0b28f327afd18df7fb6bbf3eaf302f912a40e87714846/aiohttp-3.10.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc6f1ab987a27b83c5268a17218463c2ec08dbb754195113867a27b166cd6087", size = 1304239, upload-time = "2024-11-13T16:38:04.195Z" }, - { url = "https://files.pythonhosted.org/packages/60/9f/b7230d0c48b076500ae57adb717aa0656432acd3d8febb1183dedfaa4e75/aiohttp-3.10.11-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1dc0f4ca54842173d03322793ebcf2c8cc2d34ae91cc762478e295d8e361e03f", size = 1256565, upload-time = "2024-11-13T16:38:07.218Z" }, - { url = "https://files.pythonhosted.org/packages/63/c2/35c7b4699f4830b3b0a5c3d5619df16dca8052ae8b488e66065902d559f6/aiohttp-3.10.11-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7ce6a51469bfaacff146e59e7fb61c9c23006495d11cc24c514a455032bcfa03", size = 1269285, upload-time = "2024-11-13T16:38:09.396Z" }, - { url = "https://files.pythonhosted.org/packages/51/48/bc20ea753909bdeb09f9065260aefa7453e3a57f6a51f56f5216adc1a5e7/aiohttp-3.10.11-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:aad3cd91d484d065ede16f3cf15408254e2469e3f613b241a1db552c5eb7ab7d", size = 1276716, upload-time = "2024-11-13T16:38:12.039Z" }, - { url = "https://files.pythonhosted.org/packages/0c/7b/a8708616b3810f55ead66f8e189afa9474795760473aea734bbea536cd64/aiohttp-3.10.11-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:f4df4b8ca97f658c880fb4b90b1d1ec528315d4030af1ec763247ebfd33d8b9a", size = 1315023, upload-time = "2024-11-13T16:38:15.155Z" }, - { url = "https://files.pythonhosted.org/packages/2a/d6/dfe9134a921e05b01661a127a37b7d157db93428905450e32f9898eef27d/aiohttp-3.10.11-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:2e4e18a0a2d03531edbc06c366954e40a3f8d2a88d2b936bbe78a0c75a3aab3e", size = 1342735, upload-time = "2024-11-13T16:38:17.539Z" }, - { url = "https://files.pythonhosted.org/packages/ca/1a/3bd7f18e3909eabd57e5d17ecdbf5ea4c5828d91341e3676a07de7c76312/aiohttp-3.10.11-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6ce66780fa1a20e45bc753cda2a149daa6dbf1561fc1289fa0c308391c7bc0a4", size = 1302618, upload-time = "2024-11-13T16:38:19.865Z" }, - { url = "https://files.pythonhosted.org/packages/cf/51/d063133781cda48cfdd1e11fc8ef45ab3912b446feba41556385b3ae5087/aiohttp-3.10.11-cp312-cp312-win32.whl", hash = "sha256:a919c8957695ea4c0e7a3e8d16494e3477b86f33067478f43106921c2fef15bb", size = 360497, upload-time = "2024-11-13T16:38:21.996Z" }, - { url = "https://files.pythonhosted.org/packages/55/4e/f29def9ed39826fe8f85955f2e42fe5cc0cbe3ebb53c97087f225368702e/aiohttp-3.10.11-cp312-cp312-win_amd64.whl", hash = "sha256:b5e29706e6389a2283a91611c91bf24f218962717c8f3b4e528ef529d112ee27", size = 380577, upload-time = "2024-11-13T16:38:24.247Z" }, - { url = "https://files.pythonhosted.org/packages/1f/63/654c185dfe3cf5d4a0d35b6ee49ee6ca91922c694eaa90732e1ba4b40ef1/aiohttp-3.10.11-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:703938e22434d7d14ec22f9f310559331f455018389222eed132808cd8f44127", size = 577381, upload-time = "2024-11-13T16:38:26.708Z" }, - { url = "https://files.pythonhosted.org/packages/4e/c4/ee9c350acb202ba2eb0c44b0f84376b05477e870444192a9f70e06844c28/aiohttp-3.10.11-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9bc50b63648840854e00084c2b43035a62e033cb9b06d8c22b409d56eb098413", size = 393289, upload-time = "2024-11-13T16:38:29.207Z" }, - { url = "https://files.pythonhosted.org/packages/3d/7c/30d161a7e3b208cef1b922eacf2bbb8578b7e5a62266a6a2245a1dd044dc/aiohttp-3.10.11-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5f0463bf8b0754bc744e1feb61590706823795041e63edf30118a6f0bf577461", size = 388859, upload-time = "2024-11-13T16:38:31.567Z" }, - { url = "https://files.pythonhosted.org/packages/79/10/8d050e04be447d3d39e5a4a910fa289d930120cebe1b893096bd3ee29063/aiohttp-3.10.11-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f6c6dec398ac5a87cb3a407b068e1106b20ef001c344e34154616183fe684288", size = 1280983, upload-time = "2024-11-13T16:38:33.738Z" }, - { url = "https://files.pythonhosted.org/packages/31/b3/977eca40afe643dcfa6b8d8bb9a93f4cba1d8ed1ead22c92056b08855c7a/aiohttp-3.10.11-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bcaf2d79104d53d4dcf934f7ce76d3d155302d07dae24dff6c9fffd217568067", size = 1317132, upload-time = "2024-11-13T16:38:35.999Z" }, - { url = "https://files.pythonhosted.org/packages/1a/43/b5ee8e697ed0f96a2b3d80b3058fa7590cda508e9cd256274246ba1cf37a/aiohttp-3.10.11-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:25fd5470922091b5a9aeeb7e75be609e16b4fba81cdeaf12981393fb240dd10e", size = 1362630, upload-time = "2024-11-13T16:38:39.016Z" }, - { url = "https://files.pythonhosted.org/packages/28/20/3ae8e993b2990fa722987222dea74d6bac9331e2f530d086f309b4aa8847/aiohttp-3.10.11-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbde2ca67230923a42161b1f408c3992ae6e0be782dca0c44cb3206bf330dee1", size = 1276865, upload-time = "2024-11-13T16:38:41.423Z" }, - { url = "https://files.pythonhosted.org/packages/02/08/1afb0ab7dcff63333b683e998e751aa2547d1ff897b577d2244b00e6fe38/aiohttp-3.10.11-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:249c8ff8d26a8b41a0f12f9df804e7c685ca35a207e2410adbd3e924217b9006", size = 1230448, upload-time = "2024-11-13T16:38:43.962Z" }, - { url = "https://files.pythonhosted.org/packages/c6/fd/ccd0ff842c62128d164ec09e3dd810208a84d79cd402358a3038ae91f3e9/aiohttp-3.10.11-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:878ca6a931ee8c486a8f7b432b65431d095c522cbeb34892bee5be97b3481d0f", size = 1244626, upload-time = "2024-11-13T16:38:47.089Z" }, - { url = "https://files.pythonhosted.org/packages/9f/75/30e9537ab41ed7cb062338d8df7c4afb0a715b3551cd69fc4ea61cfa5a95/aiohttp-3.10.11-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:8663f7777ce775f0413324be0d96d9730959b2ca73d9b7e2c2c90539139cbdd6", size = 1243608, upload-time = "2024-11-13T16:38:49.47Z" }, - { url = "https://files.pythonhosted.org/packages/c2/e0/3e7a62d99b9080793affddc12a82b11c9bc1312916ad849700d2bddf9786/aiohttp-3.10.11-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:6cd3f10b01f0c31481fba8d302b61603a2acb37b9d30e1d14e0f5a58b7b18a31", size = 1286158, upload-time = "2024-11-13T16:38:51.947Z" }, - { url = "https://files.pythonhosted.org/packages/71/b8/df67886802e71e976996ed9324eb7dc379e53a7d972314e9c7fe3f6ac6bc/aiohttp-3.10.11-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:4e8d8aad9402d3aa02fdc5ca2fe68bcb9fdfe1f77b40b10410a94c7f408b664d", size = 1313636, upload-time = "2024-11-13T16:38:54.424Z" }, - { url = "https://files.pythonhosted.org/packages/3c/3b/aea9c3e70ff4e030f46902df28b4cdf486695f4d78fd9c6698827e2bafab/aiohttp-3.10.11-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:38e3c4f80196b4f6c3a85d134a534a56f52da9cb8d8e7af1b79a32eefee73a00", size = 1273772, upload-time = "2024-11-13T16:38:56.846Z" }, - { url = "https://files.pythonhosted.org/packages/e9/9e/4b4c5705270d1c4ee146516ad288af720798d957ba46504aaf99b86e85d9/aiohttp-3.10.11-cp313-cp313-win32.whl", hash = "sha256:fc31820cfc3b2863c6e95e14fcf815dc7afe52480b4dc03393c4873bb5599f71", size = 358679, upload-time = "2024-11-13T16:38:59.787Z" }, - { url = "https://files.pythonhosted.org/packages/28/1d/18ef37549901db94717d4389eb7be807acbfbdeab48a73ff2993fc909118/aiohttp-3.10.11-cp313-cp313-win_amd64.whl", hash = "sha256:4996ff1345704ffdd6d75fb06ed175938c133425af616142e7187f28dc75f14e", size = 378073, upload-time = "2024-11-13T16:39:02.065Z" }, - { url = "https://files.pythonhosted.org/packages/dd/f2/59165bee7bba0b0634525834c622f152a30715a1d8280f6291a0cb86b1e6/aiohttp-3.10.11-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:74baf1a7d948b3d640badeac333af581a367ab916b37e44cf90a0334157cdfd2", size = 592135, upload-time = "2024-11-13T16:39:04.774Z" }, - { url = "https://files.pythonhosted.org/packages/2e/0e/b3555c504745af66efbf89d16811148ff12932b86fad529d115538fe2739/aiohttp-3.10.11-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:473aebc3b871646e1940c05268d451f2543a1d209f47035b594b9d4e91ce8339", size = 402913, upload-time = "2024-11-13T16:39:08.065Z" }, - { url = "https://files.pythonhosted.org/packages/31/bb/2890a3c77126758ef58536ca9f7476a12ba2021e0cd074108fb99b8c8747/aiohttp-3.10.11-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:c2f746a6968c54ab2186574e15c3f14f3e7f67aef12b761e043b33b89c5b5f95", size = 394013, upload-time = "2024-11-13T16:39:10.638Z" }, - { url = "https://files.pythonhosted.org/packages/74/82/0ab5199b473558846d72901a714b6afeb6f6a6a6a4c3c629e2c107418afd/aiohttp-3.10.11-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d110cabad8360ffa0dec8f6ec60e43286e9d251e77db4763a87dcfe55b4adb92", size = 1255578, upload-time = "2024-11-13T16:39:13.14Z" }, - { url = "https://files.pythonhosted.org/packages/f8/b2/f232477dd3c0e95693a903c4815bfb8d831f6a1a67e27ad14d30a774eeda/aiohttp-3.10.11-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e0099c7d5d7afff4202a0c670e5b723f7718810000b4abcbc96b064129e64bc7", size = 1298780, upload-time = "2024-11-13T16:39:15.721Z" }, - { url = "https://files.pythonhosted.org/packages/34/8c/11972235a6b53d5b69098f2ee6629ff8f99cd9592dcaa620c7868deb5673/aiohttp-3.10.11-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0316e624b754dbbf8c872b62fe6dcb395ef20c70e59890dfa0de9eafccd2849d", size = 1336093, upload-time = "2024-11-13T16:39:19.11Z" }, - { url = "https://files.pythonhosted.org/packages/03/be/7ad9a6cd2312221cf7b6837d8e2d8e4660fbd4f9f15bccf79ef857f41f4d/aiohttp-3.10.11-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a5f7ab8baf13314e6b2485965cbacb94afff1e93466ac4d06a47a81c50f9cca", size = 1250296, upload-time = "2024-11-13T16:39:22.363Z" }, - { url = "https://files.pythonhosted.org/packages/bb/8d/a3885a582d9fc481bccb155d082f83a7a846942e36e4a4bba061e3d6b95e/aiohttp-3.10.11-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c891011e76041e6508cbfc469dd1a8ea09bc24e87e4c204e05f150c4c455a5fa", size = 1215020, upload-time = "2024-11-13T16:39:25.205Z" }, - { url = "https://files.pythonhosted.org/packages/bb/e7/09a1736b7264316dc3738492d9b559f2a54b985660f21d76095c9890a62e/aiohttp-3.10.11-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:9208299251370ee815473270c52cd3f7069ee9ed348d941d574d1457d2c73e8b", size = 1210591, upload-time = "2024-11-13T16:39:28.311Z" }, - { url = "https://files.pythonhosted.org/packages/58/b1/ee684631f6af98065d49ac8416db7a8e74ea33e1378bc75952ab0522342f/aiohttp-3.10.11-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:459f0f32c8356e8125f45eeff0ecf2b1cb6db1551304972702f34cd9e6c44658", size = 1211255, upload-time = "2024-11-13T16:39:30.799Z" }, - { url = "https://files.pythonhosted.org/packages/8f/55/e21e312fd6c581f244dd2ed077ccb784aade07c19416a6316b1453f02c4e/aiohttp-3.10.11-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:14cdc8c1810bbd4b4b9f142eeee23cda528ae4e57ea0923551a9af4820980e39", size = 1278114, upload-time = "2024-11-13T16:39:34.141Z" }, - { url = "https://files.pythonhosted.org/packages/d8/7f/ff6df0e90df6759693f52720ebedbfa10982d97aa1fd02c6ca917a6399ea/aiohttp-3.10.11-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:971aa438a29701d4b34e4943e91b5e984c3ae6ccbf80dd9efaffb01bd0b243a9", size = 1292714, upload-time = "2024-11-13T16:39:37.216Z" }, - { url = "https://files.pythonhosted.org/packages/3a/45/63f35367dfffae41e7abd0603f92708b5b3655fda55c08388ac2c7fb127b/aiohttp-3.10.11-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:9a309c5de392dfe0f32ee57fa43ed8fc6ddf9985425e84bd51ed66bb16bce3a7", size = 1233734, upload-time = "2024-11-13T16:39:40.599Z" }, - { url = "https://files.pythonhosted.org/packages/ec/ee/74b0696c0e84e06c43beab9302f353d97dc9f0cccd7ccf3ee648411b849b/aiohttp-3.10.11-cp38-cp38-win32.whl", hash = "sha256:9ec1628180241d906a0840b38f162a3215114b14541f1a8711c368a8739a9be4", size = 365350, upload-time = "2024-11-13T16:39:43.852Z" }, - { url = "https://files.pythonhosted.org/packages/21/0c/74c895688db09a2852056abf32d128991ec2fb41e5f57a1fe0928e15151c/aiohttp-3.10.11-cp38-cp38-win_amd64.whl", hash = "sha256:9c6e0ffd52c929f985c7258f83185d17c76d4275ad22e90aa29f38e211aacbec", size = 384542, upload-time = "2024-11-13T16:39:47.093Z" }, - { url = "https://files.pythonhosted.org/packages/cc/df/aa0d1548db818395a372b5f90e62072677ce786d6b19680c49dd4da3825f/aiohttp-3.10.11-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:cdc493a2e5d8dc79b2df5bec9558425bcd39aff59fc949810cbd0832e294b106", size = 589833, upload-time = "2024-11-13T16:39:49.72Z" }, - { url = "https://files.pythonhosted.org/packages/75/7c/d11145784b3fa29c0421a3883a4b91ee8c19acb40332b1d2e39f47be4e5b/aiohttp-3.10.11-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b3e70f24e7d0405be2348da9d5a7836936bf3a9b4fd210f8c37e8d48bc32eca6", size = 401685, upload-time = "2024-11-13T16:39:52.263Z" }, - { url = "https://files.pythonhosted.org/packages/e2/67/1b5f93babeb060cb683d23104b243be1d6299fe6cd807dcb56cf67d2e62c/aiohttp-3.10.11-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:968b8fb2a5eee2770eda9c7b5581587ef9b96fbdf8dcabc6b446d35ccc69df01", size = 392957, upload-time = "2024-11-13T16:39:54.668Z" }, - { url = "https://files.pythonhosted.org/packages/e1/4d/441df53aafd8dd97b8cfe9e467c641fa19cb5113e7601a7f77f2124518e0/aiohttp-3.10.11-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:deef4362af9493d1382ef86732ee2e4cbc0d7c005947bd54ad1a9a16dd59298e", size = 1229754, upload-time = "2024-11-13T16:39:57.166Z" }, - { url = "https://files.pythonhosted.org/packages/4d/cc/f1397a2501b95cb94580de7051395e85af95a1e27aed1f8af73459ddfa22/aiohttp-3.10.11-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:686b03196976e327412a1b094f4120778c7c4b9cff9bce8d2fdfeca386b89829", size = 1266246, upload-time = "2024-11-13T16:40:00.723Z" }, - { url = "https://files.pythonhosted.org/packages/c2/b5/7d33dae7630b4e9f90d634c6a90cb0923797e011b71cd9b10fe685aec3f6/aiohttp-3.10.11-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3bf6d027d9d1d34e1c2e1645f18a6498c98d634f8e373395221121f1c258ace8", size = 1301720, upload-time = "2024-11-13T16:40:04.111Z" }, - { url = "https://files.pythonhosted.org/packages/51/36/f917bcc63bc489aa3f534fa81efbf895fa5286745dcd8bbd0eb9dbc923a1/aiohttp-3.10.11-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:099fd126bf960f96d34a760e747a629c27fb3634da5d05c7ef4d35ef4ea519fc", size = 1221527, upload-time = "2024-11-13T16:40:06.851Z" }, - { url = "https://files.pythonhosted.org/packages/32/c2/1a303a072b4763d99d4b0664a3a8b952869e3fbb660d4239826bd0c56cc1/aiohttp-3.10.11-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c73c4d3dae0b4644bc21e3de546530531d6cdc88659cdeb6579cd627d3c206aa", size = 1192309, upload-time = "2024-11-13T16:40:09.65Z" }, - { url = "https://files.pythonhosted.org/packages/62/ef/d62f705dc665382b78ef171e5ba2616c395220ac7c1f452f0d2dcad3f9f5/aiohttp-3.10.11-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0c5580f3c51eea91559db3facd45d72e7ec970b04528b4709b1f9c2555bd6d0b", size = 1189481, upload-time = "2024-11-13T16:40:12.77Z" }, - { url = "https://files.pythonhosted.org/packages/40/22/3e3eb4f97e5c4f52ccd198512b583c0c9135aa4e989c7ade97023c4cd282/aiohttp-3.10.11-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:fdf6429f0caabfd8a30c4e2eaecb547b3c340e4730ebfe25139779b9815ba138", size = 1187877, upload-time = "2024-11-13T16:40:15.985Z" }, - { url = "https://files.pythonhosted.org/packages/b5/73/77475777fbe2b3efaceb49db2859f1a22c96fd5869d736e80375db05bbf4/aiohttp-3.10.11-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:d97187de3c276263db3564bb9d9fad9e15b51ea10a371ffa5947a5ba93ad6777", size = 1246006, upload-time = "2024-11-13T16:40:19.17Z" }, - { url = "https://files.pythonhosted.org/packages/ef/f7/5b060d19065473da91838b63d8fd4d20ef8426a7d905cc8f9cd11eabd780/aiohttp-3.10.11-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:0acafb350cfb2eba70eb5d271f55e08bd4502ec35e964e18ad3e7d34d71f7261", size = 1260403, upload-time = "2024-11-13T16:40:21.761Z" }, - { url = "https://files.pythonhosted.org/packages/6c/ea/e9ad224815cd83c8dfda686d2bafa2cab5b93d7232e09470a8d2a158acde/aiohttp-3.10.11-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c13ed0c779911c7998a58e7848954bd4d63df3e3575f591e321b19a2aec8df9f", size = 1208643, upload-time = "2024-11-13T16:40:24.803Z" }, - { url = "https://files.pythonhosted.org/packages/ba/c1/e1c6bba72f379adbd52958601a8642546ed0807964afba3b1b5b8cfb1bc0/aiohttp-3.10.11-cp39-cp39-win32.whl", hash = "sha256:22b7c540c55909140f63ab4f54ec2c20d2635c0289cdd8006da46f3327f971b9", size = 364419, upload-time = "2024-11-13T16:40:27.817Z" }, - { url = "https://files.pythonhosted.org/packages/30/24/50862e06e86cd263c60661e00b9d2c8d7fdece4fe95454ed5aa21ecf8036/aiohttp-3.10.11-cp39-cp39-win_amd64.whl", hash = "sha256:7b26b1551e481012575dab8e3727b16fe7dd27eb2711d2e63ced7368756268fb", size = 382857, upload-time = "2024-11-13T16:40:30.427Z" }, -] - [[package]] name = "aiohttp" version = "3.13.3" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] dependencies = [ - { name = "aiohappyeyeballs", version = "2.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "aiosignal", version = "1.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "async-timeout", marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, - { name = "attrs", version = "25.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "frozenlist", version = "1.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "multidict", version = "6.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "propcache", version = "0.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "yarl", version = "1.22.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "aiohappyeyeballs" }, + { name = "aiosignal" }, + { name = "async-timeout", marker = "python_full_version < '3.11'" }, + { name = "attrs" }, + { name = "frozenlist" }, + { name = "multidict" }, + { name = "propcache" }, + { name = "yarl" }, ] sdist = { url = "https://files.pythonhosted.org/packages/50/42/32cf8e7704ceb4481406eb87161349abb46a57fee3f008ba9cb610968646/aiohttp-3.13.3.tar.gz", hash = "sha256:a949eee43d3782f2daae4f4a2819b2cb9b0c5d3b7f7a927067cc84dafdbb9f88", size = 7844556, upload-time = "2026-01-03T17:33:05.204Z" } wheels = [ @@ -289,34 +153,13 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/39/cb/22659d9bf3149b7a2927bc2769cc9c8f8f5a80eba098398e03c199a43a85/aiohttp-3.13.3-cp39-cp39-win_amd64.whl", hash = "sha256:c6b8568a3bb5819a0ad087f16d40e5a3fb6099f39ea1d5625a3edc1e923fc538", size = 457697, upload-time = "2026-01-03T17:33:03.167Z" }, ] -[[package]] -name = "aiosignal" -version = "1.3.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "frozenlist", version = "1.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ae/67/0952ed97a9793b4958e5736f6d2b346b414a2cd63e82d05940032f45b32f/aiosignal-1.3.1.tar.gz", hash = "sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc", size = 19422, upload-time = "2022-11-08T16:03:58.806Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/76/ac/a7305707cb852b7e16ff80eaf5692309bde30e2b1100a1fcacdc8f731d97/aiosignal-1.3.1-py3-none-any.whl", hash = "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17", size = 7617, upload-time = "2022-11-08T16:03:57.483Z" }, -] - [[package]] name = "aiosignal" version = "1.4.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] dependencies = [ - { name = "frozenlist", version = "1.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.13'" }, + { name = "frozenlist" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz", hash = "sha256:f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7", size = 25007, upload-time = "2025-07-03T22:54:43.528Z" } wheels = [ @@ -327,9 +170,6 @@ wheels = [ name = "annotated-types" version = "0.7.0" source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, @@ -337,66 +177,16 @@ wheels = [ [[package]] name = "anyio" -version = "4.5.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "exceptiongroup", marker = "python_full_version < '3.9'" }, - { name = "idna", marker = "python_full_version < '3.9'" }, - { name = "sniffio", marker = "python_full_version < '3.9'" }, - { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/4d/f9/9a7ce600ebe7804daf90d4d48b1c0510a4561ddce43a596be46676f82343/anyio-4.5.2.tar.gz", hash = "sha256:23009af4ed04ce05991845451e11ef02fc7c5ed29179ac9a420e5ad0ac7ddc5b", size = 171293, upload-time = "2024-10-13T22:18:03.307Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/1b/b4/f7e396030e3b11394436358ca258a81d6010106582422f23443c16ca1873/anyio-4.5.2-py3-none-any.whl", hash = "sha256:c011ee36bc1e8ba40e5a81cb9df91925c218fe9b778554e0b56a21e1b5d4716f", size = 89766, upload-time = "2024-10-13T22:18:01.524Z" }, -] - -[[package]] -name = "anyio" -version = "4.12.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] -dependencies = [ - { name = "exceptiongroup", marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, - { name = "idna", marker = "python_full_version >= '3.9'" }, - { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.13'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/16/ce/8a777047513153587e5434fd752e89334ac33e379aa3497db860eeb60377/anyio-4.12.0.tar.gz", hash = "sha256:73c693b567b0c55130c104d0b43a9baf3aa6a31fc6110116509f27bf75e21ec0", size = 228266, upload-time = "2025-11-28T23:37:38.911Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/9c/36c5c37947ebfb8c7f22e0eb6e4d188ee2d53aa3880f3f2744fb894f0cb1/anyio-4.12.0-py3-none-any.whl", hash = "sha256:dad2376a628f98eeca4881fc56cd06affd18f659b17a747d3ff0307ced94b1bb", size = 113362, upload-time = "2025-11-28T23:36:57.897Z" }, -] - -[[package]] -name = "astroid" -version = "3.0.3" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/96/aa/60bf19fe9d33cd8753b0547df513c3004b33b9a482800d3af0845bcbb3d0/astroid-3.0.3.tar.gz", hash = "sha256:4148645659b08b70d72460ed1921158027a9e53ae8b7234149b1400eddacbb93", size = 395183, upload-time = "2024-02-04T15:16:28.236Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d4/b8/c0f47a9ee6927827116542e12a54d8b8c174b77644c2aba4e2092dfd8de6/astroid-3.0.3-py3-none-any.whl", hash = "sha256:92fcf218b89f449cdf9f7b39a269f8d5d617b27be68434912e11e79203963a17", size = 275225, upload-time = "2024-02-04T15:16:25.491Z" }, -] - -[[package]] -name = "astunparse" -version = "1.6.3" +version = "4.12.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "six", marker = "python_full_version < '3.9'" }, - { name = "wheel", marker = "python_full_version < '3.9'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "idna" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f3/af/4182184d3c338792894f34a62672919db7ca008c89abee9b564dd34d8029/astunparse-1.6.3.tar.gz", hash = "sha256:5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872", size = 18290, upload-time = "2019-12-22T18:12:13.129Z" } +sdist = { url = "https://files.pythonhosted.org/packages/96/f0/5eb65b2bb0d09ac6776f2eb54adee6abe8228ea05b20a5ad0e4945de8aac/anyio-4.12.1.tar.gz", hash = "sha256:41cfcc3a4c85d3f05c932da7c26d0201ac36f72abd4435ba90d0464a3ffed703", size = 228685, upload-time = "2026-01-06T11:45:21.246Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2b/03/13dde6512ad7b4557eb792fbcf0c653af6076b81e5941d36ec61f7ce6028/astunparse-1.6.3-py2.py3-none-any.whl", hash = "sha256:c2652417f2c8b5bb325c885ae329bdf3f86424075c4fd1a128674bc6fba4b8e8", size = 12732, upload-time = "2019-12-22T18:12:11.297Z" }, + { url = "https://files.pythonhosted.org/packages/38/0e/27be9fdef66e72d64c0cdc3cc2823101b80585f8119b5c112c2e8f5f7dab/anyio-4.12.1-py3-none-any.whl", hash = "sha256:d405828884fc140aa80a3c667b8beed277f1dfedec42ba031bd6ac3db606ab6c", size = 113592, upload-time = "2026-01-06T11:45:19.497Z" }, ] [[package]] @@ -408,28 +198,10 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/fe/ba/e2081de779ca30d473f21f5b30e0e737c438205440784c7dfc81efc2b029/async_timeout-5.0.1-py3-none-any.whl", hash = "sha256:39e3809566ff85354557ec2398b55e096c8364bacac9405a7a1fa429e77fe76c", size = 6233, upload-time = "2024-11-06T16:41:37.9Z" }, ] -[[package]] -name = "attrs" -version = "25.3.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032, upload-time = "2025-03-13T11:10:22.779Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815, upload-time = "2025-03-13T11:10:21.14Z" }, -] - [[package]] name = "attrs" version = "25.4.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] sdist = { url = "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz", hash = "sha256:16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11", size = 934251, upload-time = "2025-10-06T13:54:44.725Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/3a/2a/7cc015f5b9f5db42b7d48157e23356022889fc354a2813c15934b7cb5c0e/attrs-25.4.0-py3-none-any.whl", hash = "sha256:adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373", size = 67615, upload-time = "2025-10-06T13:54:43.17Z" }, @@ -519,18 +291,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/cf/01/12e5ecf30a5de28a32485f226cad4b8a546845f65f755ce0365057ab1e92/bitarray-3.8.0-cp314-cp314t-win32.whl", hash = "sha256:e12769d3adcc419e65860de946df8d2ed274932177ac1cdb05186e498aaa9149", size = 143630, upload-time = "2025-11-02T21:40:32.351Z" }, { url = "https://files.pythonhosted.org/packages/b6/92/6b6ade587b08024a8a890b07724775d29da9cf7497be5c3cbe226185e463/bitarray-3.8.0-cp314-cp314t-win_amd64.whl", hash = "sha256:0ca70ccf789446a6dfde40b482ec21d28067172cd1f8efd50d5548159fccad9e", size = 150250, upload-time = "2025-11-02T21:40:33.596Z" }, { url = "https://files.pythonhosted.org/packages/ed/40/be3858ffed004e47e48a2cefecdbf9b950d41098b780f9dc3aa609a88351/bitarray-3.8.0-cp314-cp314t-win_arm64.whl", hash = "sha256:2a3d1b05ffdd3e95687942ae7b13c63689f85d3f15c39b33329e3cb9ce6c015f", size = 147015, upload-time = "2025-11-02T21:40:35.064Z" }, - { url = "https://files.pythonhosted.org/packages/7e/b0/089786fa17cba00886ce399c2d4b44e32af50a5d15be00bc960901a6ce15/bitarray-3.8.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f8d3417db5e14a6789073b21ae44439a755289477901901bae378a57b905e148", size = 148484, upload-time = "2025-11-02T21:40:36.6Z" }, - { url = "https://files.pythonhosted.org/packages/68/a7/edbf6b737e7eb65b61dd7708bd20761f83136f4ce66fa28f5eb0f0d04e27/bitarray-3.8.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7f65bd5d4cdb396295b6aa07f84ca659ac65c5c68b53956a6d95219e304b0ada", size = 145290, upload-time = "2025-11-02T21:40:38.047Z" }, - { url = "https://files.pythonhosted.org/packages/f0/91/a544218af2b146c27a69e69455bc1d3db4e2dae9b3f24db6ef5eff9491f0/bitarray-3.8.0-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7f14d6b303e55bd7d19b28309ef8014370e84a3806c5e452e078e7df7344d97a", size = 322710, upload-time = "2025-11-02T21:40:39.519Z" }, - { url = "https://files.pythonhosted.org/packages/8e/e5/17111fb3d886f667b0c4f0daae2cc9db4d97aeca664422c9b23ca9504261/bitarray-3.8.0-cp38-cp38-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5c5a8a83df95e51f7a7c2b083eaea134cbed39fc42c6aeb2e764ddb7ccccd43e", size = 350700, upload-time = "2025-11-02T21:40:41.299Z" }, - { url = "https://files.pythonhosted.org/packages/37/ce/288cc11bfc46c6d2cd158b12933f3397cd8b758207aad87e787a5e0bff3a/bitarray-3.8.0-cp38-cp38-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6d70fa9c6d2e955bde8cd327ffc11f2cc34bc21944e5571a46ca501e7eadef24", size = 361497, upload-time = "2025-11-02T21:40:42.644Z" }, - { url = "https://files.pythonhosted.org/packages/53/d9/82891b3abeeff36fa37dcda35e0299eb3f0cb787a845ee9dc4a4ebef83f9/bitarray-3.8.0-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f8069a807a3e6e3c361ce302ece4bf1c3b49962c1726d1d56587e8f48682861", size = 329248, upload-time = "2025-11-02T21:40:44.016Z" }, - { url = "https://files.pythonhosted.org/packages/05/9c/bbc68ebbefac1349f0ca1cbc28f3103e60ffe25df4083154b06147739adc/bitarray-3.8.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:a358277122456666a8b2a0b9aa04f1b89d34e8aa41d08a6557d693e6abb6667c", size = 319052, upload-time = "2025-11-02T21:40:45.376Z" }, - { url = "https://files.pythonhosted.org/packages/2d/17/1a9865eca8af7903848c1ba30d32ad358078cdb1f25edf42b583c3381cd1/bitarray-3.8.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:014df8a9430276862392ac5d471697de042367996c49f32d0008585d2c60755a", size = 347624, upload-time = "2025-11-02T21:40:46.76Z" }, - { url = "https://files.pythonhosted.org/packages/65/5c/5c4c69c7b53eb2302718e102478df100a015ae8f630451e5e60deacfae09/bitarray-3.8.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:720963fee259291a88348ae9735d9deb5d334e84a016244f61c89f5a49aa400a", size = 344317, upload-time = "2025-11-02T21:40:48.385Z" }, - { url = "https://files.pythonhosted.org/packages/aa/51/c416cf96f4e3a2da2eeee53058cd3782a9b01993f85bc44b708d3ef833c6/bitarray-3.8.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:239578587b9c29469ab61149dda40a2fe714a6a4eca0f8ff9ea9439ec4b7bc30", size = 326344, upload-time = "2025-11-02T21:40:49.71Z" }, - { url = "https://files.pythonhosted.org/packages/7c/f7/5481caf7e4a09d1a94df6a262af8931c1f8b5cfeebd5bd9ec755cddeeb9c/bitarray-3.8.0-cp38-cp38-win32.whl", hash = "sha256:004d518fa410e6da43386d20e07b576a41eb417ac67abf9f30fa75e125697199", size = 142674, upload-time = "2025-11-02T21:40:51.342Z" }, - { url = "https://files.pythonhosted.org/packages/00/38/6684812f38cd4669281c7bac6e8bafa2dee615181dda0a035d50acffd6e6/bitarray-3.8.0-cp38-cp38-win_amd64.whl", hash = "sha256:5338a313f998e1be7267191b7caaae82563b4a2b42b393561055412a34042caa", size = 149382, upload-time = "2025-11-02T21:40:52.717Z" }, { url = "https://files.pythonhosted.org/packages/16/a2/c0f4f502c555a323f5649c4d7d928570bb84ffccd38bf9c354358ac9a555/bitarray-3.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d2dbe8a3baf2d842e342e8acb06ae3844765d38df67687c144cdeb71f1bcb5d7", size = 148509, upload-time = "2025-11-02T21:40:54.051Z" }, { url = "https://files.pythonhosted.org/packages/d4/e0/c53ea628d6f14ff9402bff2826c8c0d649453063f6fa8162c5e4afa15e77/bitarray-3.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ff1863f037dad765ef5963efc2e37d399ac023e192a6f2bb394e2377d023cefe", size = 145622, upload-time = "2025-11-02T21:40:55.73Z" }, { url = "https://files.pythonhosted.org/packages/f9/84/2454f46b0eada5f8a879d11ae27494e97d5809ce2837829bffb1333122b1/bitarray-3.8.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:26714898eb0d847aac8af94c4441c9cb50387847d0fe6b9fc4217c086cd68b80", size = 320114, upload-time = "2025-11-02T21:40:57.574Z" }, @@ -546,106 +306,10 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/4b/51/5c06fe33491a2297b7f446369ff96a89bf0be7a270c3cda71d8e9a3d9aac/bitarray-3.8.0-cp39-cp39-win_arm64.whl", hash = "sha256:a60da2f9efbed355edb35a1fb6829148676786c829fad708bb6bb47211b3593a", size = 146421, upload-time = "2025-11-02T21:41:13.776Z" }, ] -[[package]] -name = "black" -version = "22.3.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "click", version = "8.1.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "click", version = "8.3.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "mypy-extensions" }, - { name = "pathspec" }, - { name = "platformdirs", version = "4.3.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "platformdirs", version = "4.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "platformdirs", version = "4.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "tomli", marker = "python_full_version < '3.11'" }, - { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ee/1f/b29c7371958ab41a800f8718f5d285bf4333b8d0b5a5a8650234463ee644/black-22.3.0.tar.gz", hash = "sha256:35020b8886c022ced9282b51b5a875b6d1ab0c387b31a065b84db7c33085ca79", size = 554277, upload-time = "2022-03-28T19:10:43.751Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e1/1b/3ba8128f0b6e86d87343a1275e17baeeeee1a89e02d2a0d275f472be3310/black-22.3.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2497f9c2386572e28921fa8bec7be3e51de6801f7459dffd6e62492531c47e09", size = 2392131, upload-time = "2022-03-28T20:10:57.319Z" }, - { url = "https://files.pythonhosted.org/packages/31/1a/0233cdbfbcfbc0864d815cf28ca40cdb65acf3601f3bf943d6d04e867858/black-22.3.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5795a0375eb87bfe902e80e0c8cfaedf8af4d49694d69161e5bd3206c18618bb", size = 1339315, upload-time = "2022-03-28T20:44:11.544Z" }, - { url = "https://files.pythonhosted.org/packages/4f/98/8f775455f99a8e4b16d8d26efdc8292f99b1c0ebfe04357d800ff379c0ae/black-22.3.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e3556168e2e5c49629f7b0f377070240bd5511e45e25a4497bb0073d9dda776a", size = 1212888, upload-time = "2022-03-28T20:11:24.602Z" }, - { url = "https://files.pythonhosted.org/packages/93/98/6f7c2f7f81d87b5771febcee933ba58640fca29a767262763bc353074f63/black-22.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67c8301ec94e3bcc8906740fe071391bce40a862b7be0b86fb5382beefecd968", size = 1474258, upload-time = "2022-03-28T20:11:54.345Z" }, - { url = "https://files.pythonhosted.org/packages/5f/10/613ddfc646a1f51f24ad9173e4969025210fe9034a69718f08297ecb9b76/black-22.3.0-cp310-cp310-win_amd64.whl", hash = "sha256:fd57160949179ec517d32ac2ac898b5f20d68ed1a9c977346efbac9c2f1e779d", size = 1137867, upload-time = "2022-03-28T20:12:09.99Z" }, - { url = "https://files.pythonhosted.org/packages/a9/64/4682e5c7ca539bef71cb9be592f649ff5f1e1134a8e72e2bff8632ade99d/black-22.3.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e8477ec6bbfe0312c128e74644ac8a02ca06bcdb8982d4ee06f209be28cdf163", size = 2367567, upload-time = "2022-03-28T20:08:09.515Z" }, - { url = "https://files.pythonhosted.org/packages/09/c0/e8e3695632ed25381cc71af6bae26187beb32817c3b78e7b486cb9a95c97/black-22.3.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:637a4014c63fbf42a692d22b55d8ad6968a946b4a6ebc385c5505d9625b6a464", size = 1325109, upload-time = "2022-03-28T20:43:40.096Z" }, - { url = "https://files.pythonhosted.org/packages/98/a0/98fe3aee7a08c7c9d470e38326cefb86372fb08332125d5b0414a22ab49f/black-22.3.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:863714200ada56cbc366dc9ae5291ceb936573155f8bf8e9de92aef51f3ad0f0", size = 1197718, upload-time = "2022-03-28T20:08:41.129Z" }, - { url = "https://files.pythonhosted.org/packages/33/bb/8f662d8807eb66ceac021bdf777185c65b843bf1b75af8412e16af4df2ac/black-22.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10dbe6e6d2988049b4655b2b739f98785a884d4d6b85bc35133a8fb9a2233176", size = 1451926, upload-time = "2022-03-28T20:09:01.368Z" }, - { url = "https://files.pythonhosted.org/packages/7e/c8/ad41a7842f55b435b3f2c4c25ed8f2b74b01db79c074d6c97f34f2092e09/black-22.3.0-cp38-cp38-win_amd64.whl", hash = "sha256:cee3e11161dde1b2a33a904b850b0899e0424cc331b7295f2a9698e79f9a69a0", size = 1149114, upload-time = "2022-03-28T20:09:09.555Z" }, - { url = "https://files.pythonhosted.org/packages/a4/43/940f848d7d1ecf0be18453a293e5736e9ce60fd6197386a791bcc491f232/black-22.3.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5891ef8abc06576985de8fa88e95ab70641de6c1fca97e2a15820a9b69e51b20", size = 2390442, upload-time = "2022-03-28T20:09:40.342Z" }, - { url = "https://files.pythonhosted.org/packages/e5/b7/e4e8907dffdac70f018ddb89681dbc77cbc7ac78d1f8a39259110a7e7943/black-22.3.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:30d78ba6bf080eeaf0b7b875d924b15cd46fec5fd044ddfbad38c8ea9171043a", size = 1338106, upload-time = "2022-03-28T20:43:55.947Z" }, - { url = "https://files.pythonhosted.org/packages/56/74/c27c496223168af625d6bba8a14bc581e7742bf7248504a4b5743c374767/black-22.3.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ee8f1f7228cce7dffc2b464f07ce769f478968bfb3dd1254a4c2eeed84928aad", size = 1212264, upload-time = "2022-03-28T20:09:59.21Z" }, - { url = "https://files.pythonhosted.org/packages/51/ec/c87695b087b7525fd9c7732c630455f231d3df9a300b730bd0e04ea00f84/black-22.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ee227b696ca60dd1c507be80a6bc849a5a6ab57ac7352aad1ffec9e8b805f21", size = 1473733, upload-time = "2022-03-28T20:10:28.367Z" }, - { url = "https://files.pythonhosted.org/packages/5b/f9/e7aca76001a702dc258fb0443ca2553d5db13a3515c09062fbf344184363/black-22.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:9b542ced1ec0ceeff5b37d69838106a6348e60db7b8fdd245294dc1d26136265", size = 1137278, upload-time = "2022-03-28T20:10:42.963Z" }, - { url = "https://files.pythonhosted.org/packages/2e/ef/a38a2189959246543e60859fb65bd3143129f6d18dfc7bcdd79217f81ca2/black-22.3.0-py3-none-any.whl", hash = "sha256:bc58025940a896d7e5356952228b68f793cf5fcb342be703c3a2669a1488cb72", size = 153859, upload-time = "2022-03-28T19:10:42.199Z" }, -] - -[[package]] -name = "cbor2" -version = "5.6.5" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/e4/aa/ba55b47d51d27911981a18743b4d3cebfabccbb0598c09801b734cec4184/cbor2-5.6.5.tar.gz", hash = "sha256:b682820677ee1dbba45f7da11898d2720f92e06be36acec290867d5ebf3d7e09", size = 100886, upload-time = "2024-10-09T12:26:24.106Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f1/f2/eada1d3fcaeddbd0f9a25381eed6b150f2858cf615d33ef7c14f9f86218a/cbor2-5.6.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e16c4a87fc999b4926f5c8f6c696b0d251b4745bc40f6c5aee51d69b30b15ca2", size = 66473, upload-time = "2024-10-09T12:25:27.157Z" }, - { url = "https://files.pythonhosted.org/packages/62/d8/33ec188eeff9c5e2e8ee8e214d15a0edf8fd001eefa01730e27834cfd410/cbor2-5.6.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:87026fc838370d69f23ed8572939bd71cea2b3f6c8f8bb8283f573374b4d7f33", size = 67421, upload-time = "2024-10-09T12:25:28.962Z" }, - { url = "https://files.pythonhosted.org/packages/fa/88/9b5fc312f21a10e048c348cead933e9f891cc09a295757957d8a5726641f/cbor2-5.6.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a88f029522aec5425fc2f941b3df90da7688b6756bd3f0472ab886d21208acbd", size = 253856, upload-time = "2024-10-09T12:25:29.968Z" }, - { url = "https://files.pythonhosted.org/packages/bb/41/debb6f35d240caa8078a4a27c03e7eed09737575c564d619e1ee0e829616/cbor2-5.6.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b9d15b638539b68aa5d5eacc56099b4543a38b2d2c896055dccf7e83d24b7955", size = 242074, upload-time = "2024-10-09T12:25:31.585Z" }, - { url = "https://files.pythonhosted.org/packages/0b/ba/5c07b001bb26bd91d96e4b3b720676a909e1acdbaf7d250a47c5d7a5a0f7/cbor2-5.6.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:47261f54a024839ec649b950013c4de5b5f521afe592a2688eebbe22430df1dc", size = 241723, upload-time = "2024-10-09T12:25:33.264Z" }, - { url = "https://files.pythonhosted.org/packages/b2/d5/27eced2cee4725bb876875f26d659063e2b7750d0dfb7572f451b569c4d1/cbor2-5.6.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:559dcf0d897260a9e95e7b43556a62253e84550b77147a1ad4d2c389a2a30192", size = 240534, upload-time = "2024-10-09T12:25:34.29Z" }, - { url = "https://files.pythonhosted.org/packages/20/55/bd657fdedb0d046762f9bf567b262b233175995d40302cdaa71d9aadcec8/cbor2-5.6.5-cp310-cp310-win_amd64.whl", hash = "sha256:5b856fda4c50c5bc73ed3664e64211fa4f015970ed7a15a4d6361bd48462feaf", size = 66291, upload-time = "2024-10-09T12:25:35.763Z" }, - { url = "https://files.pythonhosted.org/packages/bd/b7/ef045245180510305648fd604244d3bb1ecf1b20de68f42ab5bc20198024/cbor2-5.6.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:863e0983989d56d5071270790e7ed8ddbda88c9e5288efdb759aba2efee670bc", size = 66452, upload-time = "2024-10-09T12:25:36.676Z" }, - { url = "https://files.pythonhosted.org/packages/41/20/5a9d93f86b1e8fd9d9db33aff39c0e3a8459e0803ec24bd837d8b56d4a1d/cbor2-5.6.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5cff06464b8f4ca6eb9abcba67bda8f8334a058abc01005c8e616728c387ad32", size = 67421, upload-time = "2024-10-09T12:25:38.114Z" }, - { url = "https://files.pythonhosted.org/packages/0f/1e/2010f6d02dd117df88df64baf3eeca6aa6614cc81bdd6bfabf615889cf1f/cbor2-5.6.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4c7dbcdc59ea7f5a745d3e30ee5e6b6ff5ce7ac244aa3de6786391b10027bb3", size = 260756, upload-time = "2024-10-09T12:25:39.657Z" }, - { url = "https://files.pythonhosted.org/packages/e1/84/e177d9bef4749d14f31c513b25e341ac84e403e2ffa2bde562eac9e6184b/cbor2-5.6.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:34cf5ab0dc310c3d0196caa6ae062dc09f6c242e2544bea01691fe60c0230596", size = 249210, upload-time = "2024-10-09T12:25:41.316Z" }, - { url = "https://files.pythonhosted.org/packages/38/75/ebfdbb281104b46419fe7cb65979de9927b75acebcb6afa0af291f728cd2/cbor2-5.6.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6797b824b26a30794f2b169c0575301ca9b74ae99064e71d16e6ba0c9057de51", size = 249138, upload-time = "2024-10-09T12:25:42.432Z" }, - { url = "https://files.pythonhosted.org/packages/b2/1e/12d887fb1a8227a16181eeec5d43057e251204626d73e1c20a77046ac1b1/cbor2-5.6.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:73b9647eed1493097db6aad61e03d8f1252080ee041a1755de18000dd2c05f37", size = 247156, upload-time = "2024-10-09T12:25:43.588Z" }, - { url = "https://files.pythonhosted.org/packages/6f/76/478c12193de9517ce691bb8a3f7c00eafdd6a1bc3f7f23282ecdd99d02ec/cbor2-5.6.5-cp311-cp311-win_amd64.whl", hash = "sha256:6e14a1bf6269d25e02ef1d4008e0ce8880aa271d7c6b4c329dba48645764f60e", size = 66319, upload-time = "2024-10-09T12:25:44.621Z" }, - { url = "https://files.pythonhosted.org/packages/57/af/84ced14c541451696825b7b8ccbb7668f688372ad8ee74aaca4311e79672/cbor2-5.6.5-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:e25c2aebc9db99af7190e2261168cdde8ed3d639ca06868e4f477cf3a228a8e9", size = 67553, upload-time = "2024-10-09T12:25:45.767Z" }, - { url = "https://files.pythonhosted.org/packages/f2/d6/f63a840c68fed4de67d5441947af2dc695152cc488bb0e57312832fb923a/cbor2-5.6.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fde21ac1cf29336a31615a2c469a9cb03cf0add3ae480672d4d38cda467d07fc", size = 67569, upload-time = "2024-10-09T12:25:46.665Z" }, - { url = "https://files.pythonhosted.org/packages/77/ac/5fb79db6e882ec29680f4a974d35c098020a1b4709cad077667a8c3f4676/cbor2-5.6.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8947c102cac79d049eadbd5e2ffb8189952890df7cbc3ee262bbc2f95b011a9", size = 276610, upload-time = "2024-10-09T12:25:48.14Z" }, - { url = "https://files.pythonhosted.org/packages/cf/cb/70751377d94112001d46c311b5c40b45f34863dfa78a6bc71b71f40c8c7f/cbor2-5.6.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:38886c41bebcd7dca57739439455bce759f1e4c551b511f618b8e9c1295b431b", size = 270004, upload-time = "2024-10-09T12:25:49.769Z" }, - { url = "https://files.pythonhosted.org/packages/f1/90/08800367e920aef31b93bd7b0cd6fadcb3a3f2243f4ed77a0d1c76f22b99/cbor2-5.6.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ae2b49226224e92851c333b91d83292ec62eba53a19c68a79890ce35f1230d70", size = 264913, upload-time = "2024-10-09T12:25:50.92Z" }, - { url = "https://files.pythonhosted.org/packages/a8/9c/76b11a5ea7548bccb0dfef3e8fb3ede48bfeb39348f0c217519e0c40d33a/cbor2-5.6.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f2764804ffb6553283fc4afb10a280715905a4cea4d6dc7c90d3e89c4a93bc8d", size = 266751, upload-time = "2024-10-09T12:25:52.777Z" }, - { url = "https://files.pythonhosted.org/packages/10/18/3866693a87c90cb12f7942e791d0f03a40ba44887dde7b7fc85319647efe/cbor2-5.6.5-cp312-cp312-win_amd64.whl", hash = "sha256:a3ac50485cf67dfaab170a3e7b527630e93cb0a6af8cdaa403054215dff93adf", size = 66739, upload-time = "2024-10-09T12:25:54.606Z" }, - { url = "https://files.pythonhosted.org/packages/2b/69/77e93caae71d1baee927c9762e702c464715d88073133052c74ecc9d37d4/cbor2-5.6.5-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f0d0a9c5aabd48ecb17acf56004a7542a0b8d8212be52f3102b8218284bd881e", size = 67647, upload-time = "2024-10-09T12:25:55.637Z" }, - { url = "https://files.pythonhosted.org/packages/84/83/cb941d4fd10e4696b2c0f6fb2e3056d9a296e5765b2000a69e29a507f819/cbor2-5.6.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:61ceb77e6aa25c11c814d4fe8ec9e3bac0094a1f5bd8a2a8c95694596ea01e08", size = 67657, upload-time = "2024-10-09T12:25:56.528Z" }, - { url = "https://files.pythonhosted.org/packages/5c/3f/e16a1e29994483c751b714cdf61d2956290b0b30e94690fa714a9f155c5c/cbor2-5.6.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97a7e409b864fecf68b2ace8978eb5df1738799a333ec3ea2b9597bfcdd6d7d2", size = 275863, upload-time = "2024-10-09T12:25:57.462Z" }, - { url = "https://files.pythonhosted.org/packages/64/04/f64bda3eea649fe6644c59f13d0e1f4666d975ce305cadf13835233b2a26/cbor2-5.6.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f6d69f38f7d788b04c09ef2b06747536624b452b3c8b371ab78ad43b0296fab", size = 269131, upload-time = "2024-10-09T12:25:59.635Z" }, - { url = "https://files.pythonhosted.org/packages/f4/8d/0d5ad3467f70578b032b3f52eb0f01f0327d5ae6b1f9e7d4d4e01a73aa95/cbor2-5.6.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f91e6d74fa6917df31f8757fdd0e154203b0dd0609ec53eb957016a2b474896a", size = 264728, upload-time = "2024-10-09T12:26:01.407Z" }, - { url = "https://files.pythonhosted.org/packages/77/cb/9b4f7890325eaa374c21fcccfee61a099ccb9ea0bc0f606acf7495f9568c/cbor2-5.6.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5ce13a27ef8fddf643fc17a753fe34aa72b251d03c23da6a560c005dc171085b", size = 266314, upload-time = "2024-10-09T12:26:02.451Z" }, - { url = "https://files.pythonhosted.org/packages/a8/cd/793dc041395609f5dd1edfdf0aecde504dc0fd35ed67eb3b2db79fb8ef4d/cbor2-5.6.5-cp313-cp313-win_amd64.whl", hash = "sha256:54c72a3207bb2d4480c2c39dad12d7971ce0853a99e3f9b8d559ce6eac84f66f", size = 66792, upload-time = "2024-10-09T12:26:03.615Z" }, - { url = "https://files.pythonhosted.org/packages/cc/e4/f33809edd874dc16edce3929abc4830d9d703894b265b77581035f12d362/cbor2-5.6.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:4586a4f65546243096e56a3f18f29d60752ee9204722377021b3119a03ed99ff", size = 66695, upload-time = "2024-10-09T12:26:04.587Z" }, - { url = "https://files.pythonhosted.org/packages/96/68/efca8d029f334e61767268e37184fb04138bd9e0b1d55b4512dd32c8ce8d/cbor2-5.6.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3d1a18b3a58dcd9b40ab55c726160d4a6b74868f2a35b71f9e726268b46dc6a2", size = 67513, upload-time = "2024-10-09T12:26:05.559Z" }, - { url = "https://files.pythonhosted.org/packages/c2/0b/d55db4214f093a966d31e4a4ee737fbf02ea81c88fc7fc743612e62a4dea/cbor2-5.6.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a83b76367d1c3e69facbcb8cdf65ed6948678e72f433137b41d27458aa2a40cb", size = 264259, upload-time = "2024-10-09T12:26:07.141Z" }, - { url = "https://files.pythonhosted.org/packages/a0/3b/b58d95dff6c8b1dd150451356fadac8294f1b8e73124863d7b9abb03a359/cbor2-5.6.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90bfa36944caccec963e6ab7e01e64e31cc6664535dc06e6295ee3937c999cbb", size = 256176, upload-time = "2024-10-09T12:26:08.285Z" }, - { url = "https://files.pythonhosted.org/packages/8b/7b/95f8930ad9e8299f4f8ba105f9d9ea840bc2f0403f349a062ae4f2267983/cbor2-5.6.5-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:37096663a5a1c46a776aea44906cbe5fa3952f29f50f349179c00525d321c862", size = 254660, upload-time = "2024-10-09T12:26:09.335Z" }, - { url = "https://files.pythonhosted.org/packages/d2/4d/4c11d6adfc1f5cd06f543a3b3a523d883f48ed8c4097c5feec38a617cb4b/cbor2-5.6.5-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:93676af02bd9a0b4a62c17c5b20f8e9c37b5019b1a24db70a2ee6cb770423568", size = 254036, upload-time = "2024-10-09T12:26:10.394Z" }, - { url = "https://files.pythonhosted.org/packages/b4/43/b1d235a841ec35066815fedc39c6f1317b06b17ce93bd599a540281963a0/cbor2-5.6.5-cp38-cp38-win_amd64.whl", hash = "sha256:8f747b7a9aaa58881a0c5b4cd4a9b8fb27eca984ed261a769b61de1f6b5bd1e6", size = 66285, upload-time = "2024-10-09T12:26:12.572Z" }, - { url = "https://files.pythonhosted.org/packages/ac/d2/cf0f7357912c51a2e8405797093b8c50f4aba3b113344782bafd4910e403/cbor2-5.6.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:94885903105eec66d7efb55f4ce9884fdc5a4d51f3bd75b6fedc68c5c251511b", size = 66482, upload-time = "2024-10-09T12:26:14.046Z" }, - { url = "https://files.pythonhosted.org/packages/0d/ef/dbc6cd298cc96ec51fe71d4b15d3ddb30692071f86fdc2a65fdbdeadfb11/cbor2-5.6.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fe11c2eb518c882cfbeed456e7a552e544893c17db66fe5d3230dbeaca6b615c", size = 67422, upload-time = "2024-10-09T12:26:15.691Z" }, - { url = "https://files.pythonhosted.org/packages/97/2c/1b08c060d1369113bbda8ba699effd049d7ef58ba9dc35dd6ba6b9fcccda/cbor2-5.6.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:66dd25dd919cddb0b36f97f9ccfa51947882f064729e65e6bef17c28535dc459", size = 252379, upload-time = "2024-10-09T12:26:16.653Z" }, - { url = "https://files.pythonhosted.org/packages/94/22/98eec0f27e0dec07222fcbf31f276631b8224c69ac979836cf3c184d9d6d/cbor2-5.6.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa61a02995f3a996c03884cf1a0b5733f88cbfd7fa0e34944bf678d4227ee712", size = 240509, upload-time = "2024-10-09T12:26:18.552Z" }, - { url = "https://files.pythonhosted.org/packages/98/fa/9c83eae3b45428f76444b23919ed8cd922d37d3281a953a8b41268a85d7b/cbor2-5.6.5-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:824f202b556fc204e2e9a67d6d6d624e150fbd791278ccfee24e68caec578afd", size = 240776, upload-time = "2024-10-09T12:26:19.648Z" }, - { url = "https://files.pythonhosted.org/packages/f7/f8/8febf9a0073f617b23c97fce819a6878c7310c40482c55a411a6075ed327/cbor2-5.6.5-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7488aec919f8408f9987a3a32760bd385d8628b23a35477917aa3923ff6ad45f", size = 239460, upload-time = "2024-10-09T12:26:20.769Z" }, - { url = "https://files.pythonhosted.org/packages/c7/22/d0c40558aa227b44b3cd80d313cee76dc36779cba3bdb7307ef9743c6322/cbor2-5.6.5-cp39-cp39-win_amd64.whl", hash = "sha256:a34ee99e86b17444ecbe96d54d909dd1a20e2da9f814ae91b8b71cf1ee2a95e4", size = 66393, upload-time = "2024-10-09T12:26:22.257Z" }, - { url = "https://files.pythonhosted.org/packages/9b/ef/1c4698cac96d792005ef0611832f38eaee477c275ab4b02cbfc4daba7ad3/cbor2-5.6.5-py3-none-any.whl", hash = "sha256:3038523b8fc7de312bb9cdcbbbd599987e64307c4db357cd2030c472a6c7d468", size = 23752, upload-time = "2024-10-09T12:26:23.167Z" }, -] - [[package]] name = "cbor2" version = "5.8.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] sdist = { url = "https://files.pythonhosted.org/packages/d9/8e/8b4fdde28e42ffcd741a37f4ffa9fb59cd4fe01625b544dfcfd9ccb54f01/cbor2-5.8.0.tar.gz", hash = "sha256:b19c35fcae9688ac01ef75bad5db27300c2537eb4ee00ed07e05d8456a0d4931", size = 107825, upload-time = "2025-12-30T18:44:22.455Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/3c/05/486166d9e998d65d70810e63eeacc8c5f13d167d8797cf2d73a588beb335/cbor2-5.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2263c0c892194f10012ced24c322d025d9d7b11b41da1c357f3b3fe06676e6b7", size = 69882, upload-time = "2025-12-30T18:43:25.365Z" }, @@ -788,21 +452,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b0/6f/8f7af07237c34a1defe7defc565a9bc1807762f672c0fde711a4b22bf9c0/charset_normalizer-3.4.4-cp314-cp314-win32.whl", hash = "sha256:f9d332f8c2a2fcbffe1378594431458ddbef721c1769d78e2cbc06280d8155f9", size = 99940, upload-time = "2025-10-14T04:41:49.946Z" }, { url = "https://files.pythonhosted.org/packages/4b/51/8ade005e5ca5b0d80fb4aff72a3775b325bdc3d27408c8113811a7cbe640/charset_normalizer-3.4.4-cp314-cp314-win_amd64.whl", hash = "sha256:8a6562c3700cce886c5be75ade4a5db4214fda19fede41d9792d100288d8f94c", size = 107104, upload-time = "2025-10-14T04:41:51.051Z" }, { url = "https://files.pythonhosted.org/packages/da/5f/6b8f83a55bb8278772c5ae54a577f3099025f9ade59d0136ac24a0df4bde/charset_normalizer-3.4.4-cp314-cp314-win_arm64.whl", hash = "sha256:de00632ca48df9daf77a2c65a484531649261ec9f25489917f09e455cb09ddb2", size = 100743, upload-time = "2025-10-14T04:41:52.122Z" }, - { url = "https://files.pythonhosted.org/packages/0a/4e/3926a1c11f0433791985727965263f788af00db3482d89a7545ca5ecc921/charset_normalizer-3.4.4-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:ce8a0633f41a967713a59c4139d29110c07e826d131a316b50ce11b1d79b4f84", size = 198599, upload-time = "2025-10-14T04:41:53.213Z" }, - { url = "https://files.pythonhosted.org/packages/ec/7c/b92d1d1dcffc34592e71ea19c882b6709e43d20fa498042dea8b815638d7/charset_normalizer-3.4.4-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eaabd426fe94daf8fd157c32e571c85cb12e66692f15516a83a03264b08d06c3", size = 143090, upload-time = "2025-10-14T04:41:54.385Z" }, - { url = "https://files.pythonhosted.org/packages/84/ce/61a28d3bb77281eb24107b937a497f3c43089326d27832a63dcedaab0478/charset_normalizer-3.4.4-cp38-cp38-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c4ef880e27901b6cc782f1b95f82da9313c0eb95c3af699103088fa0ac3ce9ac", size = 139490, upload-time = "2025-10-14T04:41:55.551Z" }, - { url = "https://files.pythonhosted.org/packages/c0/bd/c9e59a91b2061c6f8bb98a150670cb16d4cd7c4ba7d11ad0cdf789155f41/charset_normalizer-3.4.4-cp38-cp38-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2aaba3b0819274cc41757a1da876f810a3e4d7b6eb25699253a4effef9e8e4af", size = 155334, upload-time = "2025-10-14T04:41:56.724Z" }, - { url = "https://files.pythonhosted.org/packages/bf/37/f17ae176a80f22ff823456af91ba3bc59df308154ff53aef0d39eb3d3419/charset_normalizer-3.4.4-cp38-cp38-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:778d2e08eda00f4256d7f672ca9fef386071c9202f5e4607920b86d7803387f2", size = 152823, upload-time = "2025-10-14T04:41:58.236Z" }, - { url = "https://files.pythonhosted.org/packages/bf/fa/cf5bb2409a385f78750e78c8d2e24780964976acdaaed65dbd6083ae5b40/charset_normalizer-3.4.4-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f155a433c2ec037d4e8df17d18922c3a0d9b3232a396690f17175d2946f0218d", size = 147618, upload-time = "2025-10-14T04:41:59.409Z" }, - { url = "https://files.pythonhosted.org/packages/9b/63/579784a65bc7de2d4518d40bb8f1870900163e86f17f21fd1384318c459d/charset_normalizer-3.4.4-cp38-cp38-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a8bf8d0f749c5757af2142fe7903a9df1d2e8aa3841559b2bad34b08d0e2bcf3", size = 145516, upload-time = "2025-10-14T04:42:00.579Z" }, - { url = "https://files.pythonhosted.org/packages/a3/a9/94ec6266cd394e8f93a4d69cca651d61bf6ac58d2a0422163b30c698f2c7/charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:194f08cbb32dc406d6e1aea671a68be0823673db2832b38405deba2fb0d88f63", size = 145266, upload-time = "2025-10-14T04:42:01.684Z" }, - { url = "https://files.pythonhosted.org/packages/09/14/d6626eb97764b58c2779fa7928fa7d1a49adb8ce687c2dbba4db003c1939/charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_armv7l.whl", hash = "sha256:6aee717dcfead04c6eb1ce3bd29ac1e22663cdea57f943c87d1eab9a025438d7", size = 139559, upload-time = "2025-10-14T04:42:02.902Z" }, - { url = "https://files.pythonhosted.org/packages/09/01/ddbe6b01313ba191dbb0a43c7563bc770f2448c18127f9ea4b119c44dff0/charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:cd4b7ca9984e5e7985c12bc60a6f173f3c958eae74f3ef6624bb6b26e2abbae4", size = 156653, upload-time = "2025-10-14T04:42:04.005Z" }, - { url = "https://files.pythonhosted.org/packages/95/c8/d05543378bea89296e9af4510b44c704626e191da447235c8fdedfc5b7b2/charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_riscv64.whl", hash = "sha256:b7cf1017d601aa35e6bb650b6ad28652c9cd78ee6caff19f3c28d03e1c80acbf", size = 145644, upload-time = "2025-10-14T04:42:05.211Z" }, - { url = "https://files.pythonhosted.org/packages/72/01/2866c4377998ef8a1f6802f6431e774a4c8ebe75b0a6e569ceec55c9cbfb/charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:e912091979546adf63357d7e2ccff9b44f026c075aeaf25a52d0e95ad2281074", size = 153964, upload-time = "2025-10-14T04:42:06.341Z" }, - { url = "https://files.pythonhosted.org/packages/4a/66/66c72468a737b4cbd7851ba2c522fe35c600575fbeac944460b4fd4a06fe/charset_normalizer-3.4.4-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:5cb4d72eea50c8868f5288b7f7f33ed276118325c1dfd3957089f6b519e1382a", size = 148777, upload-time = "2025-10-14T04:42:07.535Z" }, - { url = "https://files.pythonhosted.org/packages/50/94/d0d56677fdddbffa8ca00ec411f67bb8c947f9876374ddc9d160d4f2c4b3/charset_normalizer-3.4.4-cp38-cp38-win32.whl", hash = "sha256:837c2ce8c5a65a2035be9b3569c684358dfbf109fd3b6969630a87535495ceaa", size = 98687, upload-time = "2025-10-14T04:42:08.678Z" }, - { url = "https://files.pythonhosted.org/packages/00/64/c3bc303d1b586480b1c8e6e1e2191a6d6dd40255244e5cf16763dcec52e6/charset_normalizer-3.4.4-cp38-cp38-win_amd64.whl", hash = "sha256:44c2a8734b333e0578090c4cd6b16f275e07aa6614ca8715e6c038e865e70576", size = 106115, upload-time = "2025-10-14T04:42:09.793Z" }, { url = "https://files.pythonhosted.org/packages/46/7c/0c4760bccf082737ca7ab84a4c2034fcc06b1f21cf3032ea98bd6feb1725/charset_normalizer-3.4.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a9768c477b9d7bd54bc0c86dbaebdec6f03306675526c9927c0e8a04e8f94af9", size = 209609, upload-time = "2025-10-14T04:42:10.922Z" }, { url = "https://files.pythonhosted.org/packages/bb/a4/69719daef2f3d7f1819de60c9a6be981b8eeead7542d5ec4440f3c80e111/charset_normalizer-3.4.4-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1bee1e43c28aa63cb16e5c14e582580546b08e535299b8b6158a7c9c768a1f3d", size = 149029, upload-time = "2025-10-14T04:42:12.38Z" }, { url = "https://files.pythonhosted.org/packages/e6/21/8d4e1d6c1e6070d3672908b8e4533a71b5b53e71d16828cc24d0efec564c/charset_normalizer-3.4.4-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:fd44c878ea55ba351104cb93cc85e74916eb8fa440ca7903e57575e97394f608", size = 144580, upload-time = "2025-10-14T04:42:13.549Z" }, @@ -894,18 +543,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b9/24/e28206e43160f411d3ae53f2e557c1905af2928854f7ce4a1be1af893915/ckzg-2.1.5-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:a0f82b8958ea97df12e29094f0a672cbe7532399724ea61b2399545991ed6017", size = 191777, upload-time = "2025-11-06T21:06:00.456Z" }, { url = "https://files.pythonhosted.org/packages/aa/ae/51b4e2575d1b4ab76433c6ef56d4dfc1bad38c2f7ffb33353e271c4e4d05/ckzg-2.1.5-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:22300bf0d717a083c388de5cfafec08443c9938b3abde2e89f9d5d1fffde1c51", size = 186138, upload-time = "2025-11-06T21:06:01.684Z" }, { url = "https://files.pythonhosted.org/packages/fe/6e/8ea848be3043b6bf9a7761492719a8c2d2c17a3da7b9551be7ec88a52c01/ckzg-2.1.5-cp314-cp314t-win_amd64.whl", hash = "sha256:aa8228206c3e3729fc117ca38e27588c079b0928a5ab628ee4d9fccaa2b8467d", size = 104191, upload-time = "2025-11-06T21:06:03.188Z" }, - { url = "https://files.pythonhosted.org/packages/d5/13/84fc850d561452c6975464f509b24596a3212afd26b03c687ed338dbb872/ckzg-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:b1b52d359013b551b85fff538d2ef12763abd87efbc544d6f2808b9dd6bf0a4b", size = 116081, upload-time = "2025-09-30T19:08:27.357Z" }, - { url = "https://files.pythonhosted.org/packages/66/8c/5625e68fcaabcbfb485077b451153cc9b5424ef1d0fb13816458b3e04969/ckzg-2.1.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4cfe1cacea729c06196dcecec9c38f9b59bb7eadce51145e7ee27de10854dd59", size = 99591, upload-time = "2025-09-30T19:08:28.485Z" }, - { url = "https://files.pythonhosted.org/packages/78/f9/4576f8ed87a177be5df07c122371a2eb149729328bd27f2c6f74c4926775/ckzg-2.1.5-cp38-cp38-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:86233ccbb0bcaf353990ce2a8e24f1aa37782272e64ca9b55dd45895829e4980", size = 177200, upload-time = "2025-11-06T21:06:04.33Z" }, - { url = "https://files.pythonhosted.org/packages/be/91/8fe31e436bfcb3cc85acab3e9f58ad25f7232167fae279444c4418f54a5c/ckzg-2.1.5-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c3449126ee416b438c22cd7b7620e8f030c9ba7e030a80ebbd5924f04bc95905", size = 162758, upload-time = "2025-11-06T21:06:05.424Z" }, - { url = "https://files.pythonhosted.org/packages/d7/09/01d07c191d9f35c89943cb695c4d2de2c182bc6037eac8a80a45ae9a8160/ckzg-2.1.5-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a687c0609de11d4eba5a982036fd77d21d35841effb468a41004c68ad13a7438", size = 172432, upload-time = "2025-11-06T21:06:06.851Z" }, - { url = "https://files.pythonhosted.org/packages/a1/3f/d6c2d76a5370898bdcff486b5275d6b56d41e872ad350139ce7a28614d69/ckzg-2.1.5-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3d22cef6551dee8d05151cc5184c37b190101b2027c0851301393561c559c669", size = 173162, upload-time = "2025-09-30T19:08:29.339Z" }, - { url = "https://files.pythonhosted.org/packages/21/4c/a54d7d557747c1484620f974b977041b5942c6b60259cc9186c56d13676a/ckzg-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2867e4a49f19248644206e82f5b8795e22096722dcd1e21acdad133e87632d5c", size = 158422, upload-time = "2025-09-30T19:08:30.252Z" }, - { url = "https://files.pythonhosted.org/packages/1f/6d/f16b32d306f8ee80223e3eab3ae8907ed0d31af8a48e22e11e1eba7eeff8/ckzg-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e7e7fd0c4b4d2af5661e3d54648c0447d33f17cbafa5dd1b0576899864b5b7da", size = 167887, upload-time = "2025-09-30T19:08:31.172Z" }, - { url = "https://files.pythonhosted.org/packages/e9/ff/bcebb31a44658784b959a762272a943467b7822f7da365de79749d45a6bc/ckzg-2.1.5-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ba3f1702780e5c47ef9c351b8d023110c9b6c27e7952f23216f37de5deb7e6eb", size = 170590, upload-time = "2025-09-30T19:08:32.121Z" }, - { url = "https://files.pythonhosted.org/packages/88/1c/7f75f50e6eab976d32482d1bcc93bbcce4e89cd54209a014e8878a61f603/ckzg-2.1.5-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:3c5e90f96867c32af0b3bf889de03043b2f26fb6d3722d194175b576d0e9d7c6", size = 185856, upload-time = "2025-09-30T19:08:33.001Z" }, - { url = "https://files.pythonhosted.org/packages/f3/d9/e9e11cd03c65f50dd5bf561075a921647e57345710d82c16a411cfc0cac6/ckzg-2.1.5-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:6b66c43fb23e0957e05481b07972702ff94d993c3f7b060aa80dc9c602778a42", size = 180297, upload-time = "2025-09-30T19:08:33.909Z" }, - { url = "https://files.pythonhosted.org/packages/78/e2/68b08ca0d4d41367a0ebeb0706e7e7716d92d64f36e64547aff1067f08d5/ckzg-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:15e0f7342a451569fa427c6ad3cb992975462c52c3ecdc2bd7c3ed35847bbb8b", size = 100909, upload-time = "2025-09-30T19:08:34.906Z" }, { url = "https://files.pythonhosted.org/packages/75/db/0a147a7ec74fb2438c5444fbccaa52dd9cc7cb1f572aac852e4b43e8ebd1/ckzg-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3773ccdb3501ff3779988aa97e5b15629d58ac02281f186030f66d2fc2b4b7ec", size = 116303, upload-time = "2025-09-30T19:08:35.763Z" }, { url = "https://files.pythonhosted.org/packages/1e/58/6962763a06314bb61f8ba90f34a3c115cca74c3a0c857b4e3448efc3ebf6/ckzg-2.1.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2c9b798c6eb4db9cf82272e5a5c62be86f0d435206c6c49cc078cbb67ebd51bd", size = 99809, upload-time = "2025-09-30T19:08:36.65Z" }, { url = "https://files.pythonhosted.org/packages/a4/c2/7d82790442d26e741a01988ac282c077e80977d91fa4deb48074ddbb5721/ckzg-2.1.5-cp39-cp39-manylinux2010_i686.manylinux_2_12_i686.manylinux_2_28_i686.whl", hash = "sha256:13c0630363a65182e99d064f7eb173195dcbdddc4048fd5b45cd0a3cd0c740f9", size = 179292, upload-time = "2025-11-06T21:06:08.019Z" }, @@ -930,12 +567,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/72/3b/8314ca493654bd035cc0a66308cec9a1089cf3bc33c2837e3e265345f3cc/ckzg-2.1.5-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e15faa1145b2408e17e3b2f0b159de325b0198615aa30268bb6cd8f4385ed745", size = 102844, upload-time = "2025-09-30T19:08:52.621Z" }, { url = "https://files.pythonhosted.org/packages/f4/9b/1729ee420865a71e68f18880341b37ef980c2881674dc0b06460253ef25e/ckzg-2.1.5-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:46d009dba9838630183610008a81bd80aafb389d45d8293d7a2fff7a5ea82266", size = 111739, upload-time = "2025-09-30T19:08:53.54Z" }, { url = "https://files.pythonhosted.org/packages/40/40/f259e2bf986d39717427bc12baa8189cd43f9675e81cd3bcab639e593614/ckzg-2.1.5-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:df66d2be54d91f74aded4ceb71e7b1f789e2636a3015f438904a22ec9de750f1", size = 101018, upload-time = "2025-09-30T19:08:54.391Z" }, - { url = "https://files.pythonhosted.org/packages/95/85/95c4a2434a6f21f3dffa0ec28aa8aa47eb294a57122e4d725ac08592dc30/ckzg-2.1.5-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:33b9ec66b8cc977ae861ec796b40aa4072f73ef53f2d7e7b67185219af7f361f", size = 112689, upload-time = "2025-09-30T19:09:00.528Z" }, - { url = "https://files.pythonhosted.org/packages/a2/51/0aa3ef85eb1460bcaba6c6e7095b46cf9a313ef5c8db85644e52890bb90e/ckzg-2.1.5-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:993476a2a7ff37e7085a7d3d3536b4278856228c737a3a73da7dc0731188faf5", size = 95589, upload-time = "2025-09-30T19:09:01.39Z" }, - { url = "https://files.pythonhosted.org/packages/90/2a/19733c6dbc8720b29c88673dfaaf4b20dba5bf08e86861930e5afb7ab584/ckzg-2.1.5-pp38-pypy38_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c773dd27bb9dd4738a9a1b94ed969ae2860536b559cd973ea21b44921227676", size = 126397, upload-time = "2025-09-30T19:09:02.674Z" }, - { url = "https://files.pythonhosted.org/packages/45/e5/687a5c28fec3fb64b715770a87a2bb479a62ba9dbb64ddfcb0762e9bd429/ckzg-2.1.5-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f68e286edaf8f3279177619a05b430e8a2b249db1f26ade39540ef9b4f912ca3", size = 102583, upload-time = "2025-09-30T19:09:03.511Z" }, - { url = "https://files.pythonhosted.org/packages/b3/c5/e30c59847ff6efbe0315d8f0403b66972cc63508891a35b379a333bf865b/ckzg-2.1.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a8904743a733dedea5b926dea58a346b3ee9f26d74d7b99ba400ba6fc1669a8", size = 111512, upload-time = "2025-09-30T19:09:04.437Z" }, - { url = "https://files.pythonhosted.org/packages/30/f8/0307c4c171072e6427b79ef501066a8f0a944bbe73675a5fd9ac89a750f4/ckzg-2.1.5-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:f3802221dde71cfafaa2c932b7981c2ad7de5f8e67c8c3aa79cba0c949b65958", size = 100941, upload-time = "2025-09-30T19:09:05.315Z" }, { url = "https://files.pythonhosted.org/packages/88/55/82906683179f0e50684635d57666912f6bc336937c83babbe1e04f3ef945/ckzg-2.1.5-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:9b2cd37c7dcbefe56fc85a6ebbc1920f32e8f61eae9b18b7e35d50b7bf9536f1", size = 113096, upload-time = "2025-09-30T19:09:06.52Z" }, { url = "https://files.pythonhosted.org/packages/6b/c7/97bc6561d5c5902de08914bd8f009730f9129dfc50818eaf3588b78790c7/ckzg-2.1.5-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:00fa1aaf21d12011b41403ce631c57b8ea442af46c1a8d16d0851646c705f016", size = 95808, upload-time = "2025-09-30T19:09:08.181Z" }, { url = "https://files.pythonhosted.org/packages/d9/e6/a85d3e7b8f734fd42851da7cf56552d7d11fc7829b528bad5b947c85007e/ckzg-2.1.5-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ecb2e1bd2272905dbcf8cad509735748043b63c303d67c9ba7aa263fd8edf06", size = 126629, upload-time = "2025-09-30T19:09:09.197Z" }, @@ -944,39 +575,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/34/08/b9863125590c5ab4afe804ea44b18ed4d6fa6017c27593d0b7d0784e9324/ckzg-2.1.5-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:6ca0a6c822793f2cd644f4d4fbdac75e11d80b4ceb1e31bcd3936d272a01e794", size = 101009, upload-time = "2025-09-30T19:09:12.443Z" }, ] -[[package]] -name = "click" -version = "8.1.8" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version == '3.9.*'", - "python_full_version < '3.9'", -] -dependencies = [ - { name = "colorama", marker = "python_full_version < '3.10' and sys_platform == 'win32'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593, upload-time = "2024-12-21T18:38:44.339Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188, upload-time = "2024-12-21T18:38:41.666Z" }, -] - -[[package]] -name = "click" -version = "8.3.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", -] -dependencies = [ - { name = "colorama", marker = "python_full_version >= '3.10' and sys_platform == 'win32'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/3d/fa/656b739db8587d7b5dfa22e22ed02566950fbfbcdc20311993483657a5c0/click-8.3.1.tar.gz", hash = "sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a", size = 295065, upload-time = "2025-11-15T20:45:42.706Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/98/78/01c019cdb5d6498122777c1a43056ebb3ebfeef2076d9d026bfe15583b2b/click-8.3.1-py3-none-any.whl", hash = "sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6", size = 108274, upload-time = "2025-11-15T20:45:41.139Z" }, -] - [[package]] name = "colorama" version = "0.4.6" @@ -986,99 +584,12 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, ] -[[package]] -name = "coverage" -version = "7.6.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/f7/08/7e37f82e4d1aead42a7443ff06a1e406aabf7302c4f00a546e4b320b994c/coverage-7.6.1.tar.gz", hash = "sha256:953510dfb7b12ab69d20135a0662397f077c59b1e6379a768e97c59d852ee51d", size = 798791, upload-time = "2024-08-04T19:45:30.9Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/61/eb7ce5ed62bacf21beca4937a90fe32545c91a3c8a42a30c6616d48fc70d/coverage-7.6.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b06079abebbc0e89e6163b8e8f0e16270124c154dc6e4a47b413dd538859af16", size = 206690, upload-time = "2024-08-04T19:43:07.695Z" }, - { url = "https://files.pythonhosted.org/packages/7d/73/041928e434442bd3afde5584bdc3f932fb4562b1597629f537387cec6f3d/coverage-7.6.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cf4b19715bccd7ee27b6b120e7e9dd56037b9c0681dcc1adc9ba9db3d417fa36", size = 207127, upload-time = "2024-08-04T19:43:10.15Z" }, - { url = "https://files.pythonhosted.org/packages/c7/c8/6ca52b5147828e45ad0242388477fdb90df2c6cbb9a441701a12b3c71bc8/coverage-7.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61c0abb4c85b095a784ef23fdd4aede7a2628478e7baba7c5e3deba61070a02", size = 235654, upload-time = "2024-08-04T19:43:12.405Z" }, - { url = "https://files.pythonhosted.org/packages/d5/da/9ac2b62557f4340270942011d6efeab9833648380109e897d48ab7c1035d/coverage-7.6.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fd21f6ae3f08b41004dfb433fa895d858f3f5979e7762d052b12aef444e29afc", size = 233598, upload-time = "2024-08-04T19:43:14.078Z" }, - { url = "https://files.pythonhosted.org/packages/53/23/9e2c114d0178abc42b6d8d5281f651a8e6519abfa0ef460a00a91f80879d/coverage-7.6.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f59d57baca39b32db42b83b2a7ba6f47ad9c394ec2076b084c3f029b7afca23", size = 234732, upload-time = "2024-08-04T19:43:16.632Z" }, - { url = "https://files.pythonhosted.org/packages/0f/7e/a0230756fb133343a52716e8b855045f13342b70e48e8ad41d8a0d60ab98/coverage-7.6.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a1ac0ae2b8bd743b88ed0502544847c3053d7171a3cff9228af618a068ed9c34", size = 233816, upload-time = "2024-08-04T19:43:19.049Z" }, - { url = "https://files.pythonhosted.org/packages/28/7c/3753c8b40d232b1e5eeaed798c875537cf3cb183fb5041017c1fdb7ec14e/coverage-7.6.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e6a08c0be454c3b3beb105c0596ebdc2371fab6bb90c0c0297f4e58fd7e1012c", size = 232325, upload-time = "2024-08-04T19:43:21.246Z" }, - { url = "https://files.pythonhosted.org/packages/57/e3/818a2b2af5b7573b4b82cf3e9f137ab158c90ea750a8f053716a32f20f06/coverage-7.6.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f5796e664fe802da4f57a168c85359a8fbf3eab5e55cd4e4569fbacecc903959", size = 233418, upload-time = "2024-08-04T19:43:22.945Z" }, - { url = "https://files.pythonhosted.org/packages/c8/fb/4532b0b0cefb3f06d201648715e03b0feb822907edab3935112b61b885e2/coverage-7.6.1-cp310-cp310-win32.whl", hash = "sha256:7bb65125fcbef8d989fa1dd0e8a060999497629ca5b0efbca209588a73356232", size = 209343, upload-time = "2024-08-04T19:43:25.121Z" }, - { url = "https://files.pythonhosted.org/packages/5a/25/af337cc7421eca1c187cc9c315f0a755d48e755d2853715bfe8c418a45fa/coverage-7.6.1-cp310-cp310-win_amd64.whl", hash = "sha256:3115a95daa9bdba70aea750db7b96b37259a81a709223c8448fa97727d546fe0", size = 210136, upload-time = "2024-08-04T19:43:26.851Z" }, - { url = "https://files.pythonhosted.org/packages/ad/5f/67af7d60d7e8ce61a4e2ddcd1bd5fb787180c8d0ae0fbd073f903b3dd95d/coverage-7.6.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7dea0889685db8550f839fa202744652e87c60015029ce3f60e006f8c4462c93", size = 206796, upload-time = "2024-08-04T19:43:29.115Z" }, - { url = "https://files.pythonhosted.org/packages/e1/0e/e52332389e057daa2e03be1fbfef25bb4d626b37d12ed42ae6281d0a274c/coverage-7.6.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ed37bd3c3b063412f7620464a9ac1314d33100329f39799255fb8d3027da50d3", size = 207244, upload-time = "2024-08-04T19:43:31.285Z" }, - { url = "https://files.pythonhosted.org/packages/aa/cd/766b45fb6e090f20f8927d9c7cb34237d41c73a939358bc881883fd3a40d/coverage-7.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d85f5e9a5f8b73e2350097c3756ef7e785f55bd71205defa0bfdaf96c31616ff", size = 239279, upload-time = "2024-08-04T19:43:33.581Z" }, - { url = "https://files.pythonhosted.org/packages/70/6c/a9ccd6fe50ddaf13442a1e2dd519ca805cbe0f1fcd377fba6d8339b98ccb/coverage-7.6.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9bc572be474cafb617672c43fe989d6e48d3c83af02ce8de73fff1c6bb3c198d", size = 236859, upload-time = "2024-08-04T19:43:35.301Z" }, - { url = "https://files.pythonhosted.org/packages/14/6f/8351b465febb4dbc1ca9929505202db909c5a635c6fdf33e089bbc3d7d85/coverage-7.6.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c0420b573964c760df9e9e86d1a9a622d0d27f417e1a949a8a66dd7bcee7bc6", size = 238549, upload-time = "2024-08-04T19:43:37.578Z" }, - { url = "https://files.pythonhosted.org/packages/68/3c/289b81fa18ad72138e6d78c4c11a82b5378a312c0e467e2f6b495c260907/coverage-7.6.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1f4aa8219db826ce6be7099d559f8ec311549bfc4046f7f9fe9b5cea5c581c56", size = 237477, upload-time = "2024-08-04T19:43:39.92Z" }, - { url = "https://files.pythonhosted.org/packages/ed/1c/aa1efa6459d822bd72c4abc0b9418cf268de3f60eeccd65dc4988553bd8d/coverage-7.6.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:fc5a77d0c516700ebad189b587de289a20a78324bc54baee03dd486f0855d234", size = 236134, upload-time = "2024-08-04T19:43:41.453Z" }, - { url = "https://files.pythonhosted.org/packages/fb/c8/521c698f2d2796565fe9c789c2ee1ccdae610b3aa20b9b2ef980cc253640/coverage-7.6.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b48f312cca9621272ae49008c7f613337c53fadca647d6384cc129d2996d1133", size = 236910, upload-time = "2024-08-04T19:43:43.037Z" }, - { url = "https://files.pythonhosted.org/packages/7d/30/033e663399ff17dca90d793ee8a2ea2890e7fdf085da58d82468b4220bf7/coverage-7.6.1-cp311-cp311-win32.whl", hash = "sha256:1125ca0e5fd475cbbba3bb67ae20bd2c23a98fac4e32412883f9bcbaa81c314c", size = 209348, upload-time = "2024-08-04T19:43:44.787Z" }, - { url = "https://files.pythonhosted.org/packages/20/05/0d1ccbb52727ccdadaa3ff37e4d2dc1cd4d47f0c3df9eb58d9ec8508ca88/coverage-7.6.1-cp311-cp311-win_amd64.whl", hash = "sha256:8ae539519c4c040c5ffd0632784e21b2f03fc1340752af711f33e5be83a9d6c6", size = 210230, upload-time = "2024-08-04T19:43:46.707Z" }, - { url = "https://files.pythonhosted.org/packages/7e/d4/300fc921dff243cd518c7db3a4c614b7e4b2431b0d1145c1e274fd99bd70/coverage-7.6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:95cae0efeb032af8458fc27d191f85d1717b1d4e49f7cb226cf526ff28179778", size = 206983, upload-time = "2024-08-04T19:43:49.082Z" }, - { url = "https://files.pythonhosted.org/packages/e1/ab/6bf00de5327ecb8db205f9ae596885417a31535eeda6e7b99463108782e1/coverage-7.6.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5621a9175cf9d0b0c84c2ef2b12e9f5f5071357c4d2ea6ca1cf01814f45d2391", size = 207221, upload-time = "2024-08-04T19:43:52.15Z" }, - { url = "https://files.pythonhosted.org/packages/92/8f/2ead05e735022d1a7f3a0a683ac7f737de14850395a826192f0288703472/coverage-7.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:260933720fdcd75340e7dbe9060655aff3af1f0c5d20f46b57f262ab6c86a5e8", size = 240342, upload-time = "2024-08-04T19:43:53.746Z" }, - { url = "https://files.pythonhosted.org/packages/0f/ef/94043e478201ffa85b8ae2d2c79b4081e5a1b73438aafafccf3e9bafb6b5/coverage-7.6.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07e2ca0ad381b91350c0ed49d52699b625aab2b44b65e1b4e02fa9df0e92ad2d", size = 237371, upload-time = "2024-08-04T19:43:55.993Z" }, - { url = "https://files.pythonhosted.org/packages/1f/0f/c890339dd605f3ebc269543247bdd43b703cce6825b5ed42ff5f2d6122c7/coverage-7.6.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c44fee9975f04b33331cb8eb272827111efc8930cfd582e0320613263ca849ca", size = 239455, upload-time = "2024-08-04T19:43:57.618Z" }, - { url = "https://files.pythonhosted.org/packages/d1/04/7fd7b39ec7372a04efb0f70c70e35857a99b6a9188b5205efb4c77d6a57a/coverage-7.6.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:877abb17e6339d96bf08e7a622d05095e72b71f8afd8a9fefc82cf30ed944163", size = 238924, upload-time = "2024-08-04T19:44:00.012Z" }, - { url = "https://files.pythonhosted.org/packages/ed/bf/73ce346a9d32a09cf369f14d2a06651329c984e106f5992c89579d25b27e/coverage-7.6.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3e0cadcf6733c09154b461f1ca72d5416635e5e4ec4e536192180d34ec160f8a", size = 237252, upload-time = "2024-08-04T19:44:01.713Z" }, - { url = "https://files.pythonhosted.org/packages/86/74/1dc7a20969725e917b1e07fe71a955eb34bc606b938316bcc799f228374b/coverage-7.6.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c3c02d12f837d9683e5ab2f3d9844dc57655b92c74e286c262e0fc54213c216d", size = 238897, upload-time = "2024-08-04T19:44:03.898Z" }, - { url = "https://files.pythonhosted.org/packages/b6/e9/d9cc3deceb361c491b81005c668578b0dfa51eed02cd081620e9a62f24ec/coverage-7.6.1-cp312-cp312-win32.whl", hash = "sha256:e05882b70b87a18d937ca6768ff33cc3f72847cbc4de4491c8e73880766718e5", size = 209606, upload-time = "2024-08-04T19:44:05.532Z" }, - { url = "https://files.pythonhosted.org/packages/47/c8/5a2e41922ea6740f77d555c4d47544acd7dc3f251fe14199c09c0f5958d3/coverage-7.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:b5d7b556859dd85f3a541db6a4e0167b86e7273e1cdc973e5b175166bb634fdb", size = 210373, upload-time = "2024-08-04T19:44:07.079Z" }, - { url = "https://files.pythonhosted.org/packages/8c/f9/9aa4dfb751cb01c949c990d136a0f92027fbcc5781c6e921df1cb1563f20/coverage-7.6.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a4acd025ecc06185ba2b801f2de85546e0b8ac787cf9d3b06e7e2a69f925b106", size = 207007, upload-time = "2024-08-04T19:44:09.453Z" }, - { url = "https://files.pythonhosted.org/packages/b9/67/e1413d5a8591622a46dd04ff80873b04c849268831ed5c304c16433e7e30/coverage-7.6.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a6d3adcf24b624a7b778533480e32434a39ad8fa30c315208f6d3e5542aeb6e9", size = 207269, upload-time = "2024-08-04T19:44:11.045Z" }, - { url = "https://files.pythonhosted.org/packages/14/5b/9dec847b305e44a5634d0fb8498d135ab1d88330482b74065fcec0622224/coverage-7.6.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d0c212c49b6c10e6951362f7c6df3329f04c2b1c28499563d4035d964ab8e08c", size = 239886, upload-time = "2024-08-04T19:44:12.83Z" }, - { url = "https://files.pythonhosted.org/packages/7b/b7/35760a67c168e29f454928f51f970342d23cf75a2bb0323e0f07334c85f3/coverage-7.6.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6e81d7a3e58882450ec4186ca59a3f20a5d4440f25b1cff6f0902ad890e6748a", size = 237037, upload-time = "2024-08-04T19:44:15.393Z" }, - { url = "https://files.pythonhosted.org/packages/f7/95/d2fd31f1d638df806cae59d7daea5abf2b15b5234016a5ebb502c2f3f7ee/coverage-7.6.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78b260de9790fd81e69401c2dc8b17da47c8038176a79092a89cb2b7d945d060", size = 239038, upload-time = "2024-08-04T19:44:17.466Z" }, - { url = "https://files.pythonhosted.org/packages/6e/bd/110689ff5752b67924efd5e2aedf5190cbbe245fc81b8dec1abaffba619d/coverage-7.6.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a78d169acd38300060b28d600344a803628c3fd585c912cacc9ea8790fe96862", size = 238690, upload-time = "2024-08-04T19:44:19.336Z" }, - { url = "https://files.pythonhosted.org/packages/d3/a8/08d7b38e6ff8df52331c83130d0ab92d9c9a8b5462f9e99c9f051a4ae206/coverage-7.6.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2c09f4ce52cb99dd7505cd0fc8e0e37c77b87f46bc9c1eb03fe3bc9991085388", size = 236765, upload-time = "2024-08-04T19:44:20.994Z" }, - { url = "https://files.pythonhosted.org/packages/d6/6a/9cf96839d3147d55ae713eb2d877f4d777e7dc5ba2bce227167d0118dfe8/coverage-7.6.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6878ef48d4227aace338d88c48738a4258213cd7b74fd9a3d4d7582bb1d8a155", size = 238611, upload-time = "2024-08-04T19:44:22.616Z" }, - { url = "https://files.pythonhosted.org/packages/74/e4/7ff20d6a0b59eeaab40b3140a71e38cf52547ba21dbcf1d79c5a32bba61b/coverage-7.6.1-cp313-cp313-win32.whl", hash = "sha256:44df346d5215a8c0e360307d46ffaabe0f5d3502c8a1cefd700b34baf31d411a", size = 209671, upload-time = "2024-08-04T19:44:24.418Z" }, - { url = "https://files.pythonhosted.org/packages/35/59/1812f08a85b57c9fdb6d0b383d779e47b6f643bc278ed682859512517e83/coverage-7.6.1-cp313-cp313-win_amd64.whl", hash = "sha256:8284cf8c0dd272a247bc154eb6c95548722dce90d098c17a883ed36e67cdb129", size = 210368, upload-time = "2024-08-04T19:44:26.276Z" }, - { url = "https://files.pythonhosted.org/packages/9c/15/08913be1c59d7562a3e39fce20661a98c0a3f59d5754312899acc6cb8a2d/coverage-7.6.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:d3296782ca4eab572a1a4eca686d8bfb00226300dcefdf43faa25b5242ab8a3e", size = 207758, upload-time = "2024-08-04T19:44:29.028Z" }, - { url = "https://files.pythonhosted.org/packages/c4/ae/b5d58dff26cade02ada6ca612a76447acd69dccdbb3a478e9e088eb3d4b9/coverage-7.6.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:502753043567491d3ff6d08629270127e0c31d4184c4c8d98f92c26f65019962", size = 208035, upload-time = "2024-08-04T19:44:30.673Z" }, - { url = "https://files.pythonhosted.org/packages/b8/d7/62095e355ec0613b08dfb19206ce3033a0eedb6f4a67af5ed267a8800642/coverage-7.6.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a89ecca80709d4076b95f89f308544ec8f7b4727e8a547913a35f16717856cb", size = 250839, upload-time = "2024-08-04T19:44:32.412Z" }, - { url = "https://files.pythonhosted.org/packages/7c/1e/c2967cb7991b112ba3766df0d9c21de46b476d103e32bb401b1b2adf3380/coverage-7.6.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a318d68e92e80af8b00fa99609796fdbcdfef3629c77c6283566c6f02c6d6704", size = 246569, upload-time = "2024-08-04T19:44:34.547Z" }, - { url = "https://files.pythonhosted.org/packages/8b/61/a7a6a55dd266007ed3b1df7a3386a0d760d014542d72f7c2c6938483b7bd/coverage-7.6.1-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13b0a73a0896988f053e4fbb7de6d93388e6dd292b0d87ee51d106f2c11b465b", size = 248927, upload-time = "2024-08-04T19:44:36.313Z" }, - { url = "https://files.pythonhosted.org/packages/c8/fa/13a6f56d72b429f56ef612eb3bc5ce1b75b7ee12864b3bd12526ab794847/coverage-7.6.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4421712dbfc5562150f7554f13dde997a2e932a6b5f352edcce948a815efee6f", size = 248401, upload-time = "2024-08-04T19:44:38.155Z" }, - { url = "https://files.pythonhosted.org/packages/75/06/0429c652aa0fb761fc60e8c6b291338c9173c6aa0f4e40e1902345b42830/coverage-7.6.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:166811d20dfea725e2e4baa71fffd6c968a958577848d2131f39b60043400223", size = 246301, upload-time = "2024-08-04T19:44:39.883Z" }, - { url = "https://files.pythonhosted.org/packages/52/76/1766bb8b803a88f93c3a2d07e30ffa359467810e5cbc68e375ebe6906efb/coverage-7.6.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:225667980479a17db1048cb2bf8bfb39b8e5be8f164b8f6628b64f78a72cf9d3", size = 247598, upload-time = "2024-08-04T19:44:41.59Z" }, - { url = "https://files.pythonhosted.org/packages/66/8b/f54f8db2ae17188be9566e8166ac6df105c1c611e25da755738025708d54/coverage-7.6.1-cp313-cp313t-win32.whl", hash = "sha256:170d444ab405852903b7d04ea9ae9b98f98ab6d7e63e1115e82620807519797f", size = 210307, upload-time = "2024-08-04T19:44:43.301Z" }, - { url = "https://files.pythonhosted.org/packages/9f/b0/e0dca6da9170aefc07515cce067b97178cefafb512d00a87a1c717d2efd5/coverage-7.6.1-cp313-cp313t-win_amd64.whl", hash = "sha256:b9f222de8cded79c49bf184bdbc06630d4c58eec9459b939b4a690c82ed05657", size = 211453, upload-time = "2024-08-04T19:44:45.677Z" }, - { url = "https://files.pythonhosted.org/packages/81/d0/d9e3d554e38beea5a2e22178ddb16587dbcbe9a1ef3211f55733924bf7fa/coverage-7.6.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6db04803b6c7291985a761004e9060b2bca08da6d04f26a7f2294b8623a0c1a0", size = 206674, upload-time = "2024-08-04T19:44:47.694Z" }, - { url = "https://files.pythonhosted.org/packages/38/ea/cab2dc248d9f45b2b7f9f1f596a4d75a435cb364437c61b51d2eb33ceb0e/coverage-7.6.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f1adfc8ac319e1a348af294106bc6a8458a0f1633cc62a1446aebc30c5fa186a", size = 207101, upload-time = "2024-08-04T19:44:49.32Z" }, - { url = "https://files.pythonhosted.org/packages/ca/6f/f82f9a500c7c5722368978a5390c418d2a4d083ef955309a8748ecaa8920/coverage-7.6.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a95324a9de9650a729239daea117df21f4b9868ce32e63f8b650ebe6cef5595b", size = 236554, upload-time = "2024-08-04T19:44:51.631Z" }, - { url = "https://files.pythonhosted.org/packages/a6/94/d3055aa33d4e7e733d8fa309d9adf147b4b06a82c1346366fc15a2b1d5fa/coverage-7.6.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b43c03669dc4618ec25270b06ecd3ee4fa94c7f9b3c14bae6571ca00ef98b0d3", size = 234440, upload-time = "2024-08-04T19:44:53.464Z" }, - { url = "https://files.pythonhosted.org/packages/e4/6e/885bcd787d9dd674de4a7d8ec83faf729534c63d05d51d45d4fa168f7102/coverage-7.6.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8929543a7192c13d177b770008bc4e8119f2e1f881d563fc6b6305d2d0ebe9de", size = 235889, upload-time = "2024-08-04T19:44:55.165Z" }, - { url = "https://files.pythonhosted.org/packages/f4/63/df50120a7744492710854860783d6819ff23e482dee15462c9a833cc428a/coverage-7.6.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:a09ece4a69cf399510c8ab25e0950d9cf2b42f7b3cb0374f95d2e2ff594478a6", size = 235142, upload-time = "2024-08-04T19:44:57.269Z" }, - { url = "https://files.pythonhosted.org/packages/3a/5d/9d0acfcded2b3e9ce1c7923ca52ccc00c78a74e112fc2aee661125b7843b/coverage-7.6.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:9054a0754de38d9dbd01a46621636689124d666bad1936d76c0341f7d71bf569", size = 233805, upload-time = "2024-08-04T19:44:59.033Z" }, - { url = "https://files.pythonhosted.org/packages/c4/56/50abf070cb3cd9b1dd32f2c88f083aab561ecbffbcd783275cb51c17f11d/coverage-7.6.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0dbde0f4aa9a16fa4d754356a8f2e36296ff4d83994b2c9d8398aa32f222f989", size = 234655, upload-time = "2024-08-04T19:45:01.398Z" }, - { url = "https://files.pythonhosted.org/packages/25/ee/b4c246048b8485f85a2426ef4abab88e48c6e80c74e964bea5cd4cd4b115/coverage-7.6.1-cp38-cp38-win32.whl", hash = "sha256:da511e6ad4f7323ee5702e6633085fb76c2f893aaf8ce4c51a0ba4fc07580ea7", size = 209296, upload-time = "2024-08-04T19:45:03.819Z" }, - { url = "https://files.pythonhosted.org/packages/5c/1c/96cf86b70b69ea2b12924cdf7cabb8ad10e6130eab8d767a1099fbd2a44f/coverage-7.6.1-cp38-cp38-win_amd64.whl", hash = "sha256:3f1156e3e8f2872197af3840d8ad307a9dd18e615dc64d9ee41696f287c57ad8", size = 210137, upload-time = "2024-08-04T19:45:06.25Z" }, - { url = "https://files.pythonhosted.org/packages/19/d3/d54c5aa83268779d54c86deb39c1c4566e5d45c155369ca152765f8db413/coverage-7.6.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:abd5fd0db5f4dc9289408aaf34908072f805ff7792632250dcb36dc591d24255", size = 206688, upload-time = "2024-08-04T19:45:08.358Z" }, - { url = "https://files.pythonhosted.org/packages/a5/fe/137d5dca72e4a258b1bc17bb04f2e0196898fe495843402ce826a7419fe3/coverage-7.6.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:547f45fa1a93154bd82050a7f3cddbc1a7a4dd2a9bf5cb7d06f4ae29fe94eaf8", size = 207120, upload-time = "2024-08-04T19:45:11.526Z" }, - { url = "https://files.pythonhosted.org/packages/78/5b/a0a796983f3201ff5485323b225d7c8b74ce30c11f456017e23d8e8d1945/coverage-7.6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:645786266c8f18a931b65bfcefdbf6952dd0dea98feee39bd188607a9d307ed2", size = 235249, upload-time = "2024-08-04T19:45:13.202Z" }, - { url = "https://files.pythonhosted.org/packages/4e/e1/76089d6a5ef9d68f018f65411fcdaaeb0141b504587b901d74e8587606ad/coverage-7.6.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9e0b2df163b8ed01d515807af24f63de04bebcecbd6c3bfeff88385789fdf75a", size = 233237, upload-time = "2024-08-04T19:45:14.961Z" }, - { url = "https://files.pythonhosted.org/packages/9a/6f/eef79b779a540326fee9520e5542a8b428cc3bfa8b7c8f1022c1ee4fc66c/coverage-7.6.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:609b06f178fe8e9f89ef676532760ec0b4deea15e9969bf754b37f7c40326dbc", size = 234311, upload-time = "2024-08-04T19:45:16.924Z" }, - { url = "https://files.pythonhosted.org/packages/75/e1/656d65fb126c29a494ef964005702b012f3498db1a30dd562958e85a4049/coverage-7.6.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:702855feff378050ae4f741045e19a32d57d19f3e0676d589df0575008ea5004", size = 233453, upload-time = "2024-08-04T19:45:18.672Z" }, - { url = "https://files.pythonhosted.org/packages/68/6a/45f108f137941a4a1238c85f28fd9d048cc46b5466d6b8dda3aba1bb9d4f/coverage-7.6.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:2bdb062ea438f22d99cba0d7829c2ef0af1d768d1e4a4f528087224c90b132cb", size = 231958, upload-time = "2024-08-04T19:45:20.63Z" }, - { url = "https://files.pythonhosted.org/packages/9b/e7/47b809099168b8b8c72ae311efc3e88c8d8a1162b3ba4b8da3cfcdb85743/coverage-7.6.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:9c56863d44bd1c4fe2abb8a4d6f5371d197f1ac0ebdee542f07f35895fc07f36", size = 232938, upload-time = "2024-08-04T19:45:23.062Z" }, - { url = "https://files.pythonhosted.org/packages/52/80/052222ba7058071f905435bad0ba392cc12006380731c37afaf3fe749b88/coverage-7.6.1-cp39-cp39-win32.whl", hash = "sha256:6e2cd258d7d927d09493c8df1ce9174ad01b381d4729a9d8d4e38670ca24774c", size = 209352, upload-time = "2024-08-04T19:45:25.042Z" }, - { url = "https://files.pythonhosted.org/packages/b8/d8/1b92e0b3adcf384e98770a00ca095da1b5f7b483e6563ae4eb5e935d24a1/coverage-7.6.1-cp39-cp39-win_amd64.whl", hash = "sha256:06a737c882bd26d0d6ee7269b20b12f14a8704807a01056c80bb881a4b2ce6ca", size = 210153, upload-time = "2024-08-04T19:45:27.079Z" }, - { url = "https://files.pythonhosted.org/packages/a5/2b/0354ed096bca64dc8e32a7cbcae28b34cb5ad0b1fe2125d6d99583313ac0/coverage-7.6.1-pp38.pp39.pp310-none-any.whl", hash = "sha256:e9a6e0eb86070e8ccaedfbd9d38fec54864f3125ab95419970575b42af7541df", size = 198926, upload-time = "2024-08-04T19:45:28.875Z" }, -] - -[package.optional-dependencies] -toml = [ - { name = "tomli", marker = "python_full_version < '3.9'" }, -] - [[package]] name = "coverage" version = "7.10.7" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version == '3.9.*'", + "python_full_version < '3.10'", ] sdist = { url = "https://files.pythonhosted.org/packages/51/26/d22c300112504f5f9a9fd2297ce33c35f3d353e4aeb987c8419453b2a7c2/coverage-7.10.7.tar.gz", hash = "sha256:f4ab143ab113be368a3e9b795f9cd7906c5ef407d6173fe9675a902e1fffc239", size = 827704, upload-time = "2025-09-21T20:03:56.815Z" } wheels = [ @@ -1189,7 +700,7 @@ wheels = [ [package.optional-dependencies] toml = [ - { name = "tomli", marker = "python_full_version == '3.9.*'" }, + { name = "tomli", marker = "python_full_version < '3.10'" }, ] [[package]] @@ -1197,8 +708,7 @@ name = "coverage" version = "7.13.1" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", + "python_full_version >= '3.11'", "python_full_version == '3.10.*'", ] sdist = { url = "https://files.pythonhosted.org/packages/23/f9/e92df5e07f3fc8d4c7f9a0f146ef75446bf870351cd37b788cf5897f8079/coverage-7.13.1.tar.gz", hash = "sha256:b7593fe7eb5feaa3fbb461ac79aac9f9fc0387a5ca8080b0c6fe2ca27b091afd", size = 825862, upload-time = "2025-12-28T15:42:56.969Z" } @@ -1306,8 +816,7 @@ name = "crytic-compile" version = "0.3.11" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "cbor2", version = "5.6.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "cbor2", version = "5.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "cbor2" }, { name = "pycryptodome" }, { name = "solc-select" }, ] @@ -1316,131 +825,12 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/90/34/1f0f1e8c5d6dffa75a7b3e734f2dd2a462489b8cd5e5f9219d0d8a22a780/crytic_compile-0.3.11-py3-none-any.whl", hash = "sha256:10f99c5f03ab124a14603093d65e534b58f078999bc3a39997cb3588fa82f80b", size = 99222, upload-time = "2025-11-14T13:12:34.062Z" }, ] -[[package]] -name = "cytoolz" -version = "1.0.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "toolz", version = "1.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/a7/f9/3243eed3a6545c2a33a21f74f655e3fcb5d2192613cd3db81a93369eb339/cytoolz-1.0.1.tar.gz", hash = "sha256:89cc3161b89e1bb3ed7636f74ed2e55984fd35516904fc878cae216e42b2c7d6", size = 626652, upload-time = "2024-12-13T05:47:36.672Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/1e/d9/f13d66c16cff1fa1cb6c234698029877c456f35f577ef274aba3b86e7c51/cytoolz-1.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:cec9af61f71fc3853eb5dca3d42eb07d1f48a4599fa502cbe92adde85f74b042", size = 403515, upload-time = "2024-12-13T05:44:27.845Z" }, - { url = "https://files.pythonhosted.org/packages/4b/2d/4cdf848a69300c7d44984f2ebbebb3b8576e5449c8dea157298f3bdc4da3/cytoolz-1.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:140bbd649dbda01e91add7642149a5987a7c3ccc251f2263de894b89f50b6608", size = 383936, upload-time = "2024-12-13T05:44:29.5Z" }, - { url = "https://files.pythonhosted.org/packages/72/a4/ccfdd3f0ed9cc818f734b424261f6018fc61e3ec833bf85225a9aca0d994/cytoolz-1.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e90124bdc42ff58b88cdea1d24a6bc5f776414a314cc4d94f25c88badb3a16d1", size = 1934569, upload-time = "2024-12-13T05:44:30.799Z" }, - { url = "https://files.pythonhosted.org/packages/50/fc/38d5344fa595683ad10dc819cfc1d8b9d2b3391ccf3e8cb7bab4899a01f5/cytoolz-1.0.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e74801b751e28f7c5cc3ad264c123954a051f546f2fdfe089f5aa7a12ccfa6da", size = 2015129, upload-time = "2024-12-13T05:44:32.297Z" }, - { url = "https://files.pythonhosted.org/packages/28/29/75261748dc54a20a927f33641f4e9aac674cfc6d3fbd4f332e10d0b37639/cytoolz-1.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:582dad4545ddfb5127494ef23f3fa4855f1673a35d50c66f7638e9fb49805089", size = 2000506, upload-time = "2024-12-13T05:44:34.403Z" }, - { url = "https://files.pythonhosted.org/packages/00/ae/e4ead004cc2698281d153c4a5388638d67cdb5544d6d6cc1e5b3db2bd2a3/cytoolz-1.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd7bd0618e16efe03bd12f19c2a26a27e6e6b75d7105adb7be1cd2a53fa755d8", size = 1957537, upload-time = "2024-12-13T05:44:39.499Z" }, - { url = "https://files.pythonhosted.org/packages/4a/ff/4f3aa07f4f47701f7f63df60ce0a5669fa09c256c3d4a33503a9414ea5cc/cytoolz-1.0.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d74cca6acf1c4af58b2e4a89cc565ed61c5e201de2e434748c93e5a0f5c541a5", size = 1863331, upload-time = "2024-12-13T05:44:42.61Z" }, - { url = "https://files.pythonhosted.org/packages/a2/29/654f57f2a9b8e9765a4ab876765f64f94530b61fc6471a07feea42ece6d4/cytoolz-1.0.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:823a3763828d8d457f542b2a45d75d6b4ced5e470b5c7cf2ed66a02f508ed442", size = 1849938, upload-time = "2024-12-13T05:44:45.324Z" }, - { url = "https://files.pythonhosted.org/packages/bc/7b/11f457db6b291060a98315ab2c7198077d8bddeeebe5f7126d9dad98cc54/cytoolz-1.0.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:51633a14e6844c61db1d68c1ffd077cf949f5c99c60ed5f1e265b9e2966f1b52", size = 1852345, upload-time = "2024-12-13T05:44:47.994Z" }, - { url = "https://files.pythonhosted.org/packages/6b/92/0dccc96ce0323be236d404f5084479b79b747fa0e74e43a270e95868b5f9/cytoolz-1.0.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f3ec9b01c45348f1d0d712507d54c2bfd69c62fbd7c9ef555c9d8298693c2432", size = 1989877, upload-time = "2024-12-13T05:44:51.514Z" }, - { url = "https://files.pythonhosted.org/packages/a3/c8/1c5203a81200bae51aa8f7b5fad613f695bf1afa03f16251ca23ecb2ef9f/cytoolz-1.0.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1855022b712a9c7a5bce354517ab4727a38095f81e2d23d3eabaf1daeb6a3b3c", size = 1994492, upload-time = "2024-12-13T05:44:52.922Z" }, - { url = "https://files.pythonhosted.org/packages/e2/8a/04bc193c4d7ced8ef6bb62cdcd0bf40b5e5eb26586ed2cfb4433ec7dfd0a/cytoolz-1.0.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9930f7288c4866a1dc1cc87174f0c6ff4cad1671eb1f6306808aa6c445857d78", size = 1896077, upload-time = "2024-12-13T05:44:56.118Z" }, - { url = "https://files.pythonhosted.org/packages/21/a5/bee63a58f51d2c74856db66e6119a014464ff8cb1c9387fa4bd2d94e49b0/cytoolz-1.0.1-cp310-cp310-win32.whl", hash = "sha256:a9baad795d72fadc3445ccd0f122abfdbdf94269157e6d6d4835636dad318804", size = 322135, upload-time = "2024-12-13T05:44:57.695Z" }, - { url = "https://files.pythonhosted.org/packages/e8/16/7abfb1685e8b7f2838264551ee33651748994813f566ac4c3d737dfe90e5/cytoolz-1.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:ad95b386a84e18e1f6136f6d343d2509d4c3aae9f5a536f3dc96808fcc56a8cf", size = 363599, upload-time = "2024-12-13T05:44:58.875Z" }, - { url = "https://files.pythonhosted.org/packages/dc/ea/8131ae39119820b8867cddc23716fa9f681f2b3bbce6f693e68dfb36b55b/cytoolz-1.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2d958d4f04d9d7018e5c1850790d9d8e68b31c9a2deebca74b903706fdddd2b6", size = 406162, upload-time = "2024-12-13T05:45:01.196Z" }, - { url = "https://files.pythonhosted.org/packages/26/18/3d9bd4c146f6ea6e51300c242b20cb416966b21d481dac230e1304f1e54b/cytoolz-1.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0f445b8b731fc0ecb1865b8e68a070084eb95d735d04f5b6c851db2daf3048ab", size = 384961, upload-time = "2024-12-13T05:45:02.387Z" }, - { url = "https://files.pythonhosted.org/packages/e4/73/9034827907c7f85c7c484c9494e905d022fb8174526004e9ef332570349e/cytoolz-1.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f546a96460a7e28eb2ec439f4664fa646c9b3e51c6ebad9a59d3922bbe65e30", size = 2091698, upload-time = "2024-12-13T05:45:04.353Z" }, - { url = "https://files.pythonhosted.org/packages/74/af/d5c2733b0fde1a08254ff1a8a8d567874040c9eb1606363cfebc0713c73f/cytoolz-1.0.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0317681dd065532d21836f860b0563b199ee716f55d0c1f10de3ce7100c78a3b", size = 2188452, upload-time = "2024-12-13T05:45:05.748Z" }, - { url = "https://files.pythonhosted.org/packages/6a/bb/77c71fa9c217260b4056a732d754748903423c2cdd82a673d6064741e375/cytoolz-1.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c0ef52febd5a7821a3fd8d10f21d460d1a3d2992f724ba9c91fbd7a96745d41", size = 2174203, upload-time = "2024-12-13T05:45:07.777Z" }, - { url = "https://files.pythonhosted.org/packages/fc/a9/a5b4a3ff5d22faa1b60293bfe97362e2caf4a830c26d37ab5557f60d04b2/cytoolz-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5ebaf419acf2de73b643cf96108702b8aef8e825cf4f63209ceb078d5fbbbfd", size = 2099831, upload-time = "2024-12-13T05:45:11.477Z" }, - { url = "https://files.pythonhosted.org/packages/35/08/7f6869ea1ff31ce5289a7d58d0e7090acfe7058baa2764473048ff61ea3c/cytoolz-1.0.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5f7f04eeb4088947585c92d6185a618b25ad4a0f8f66ea30c8db83cf94a425e3", size = 1996744, upload-time = "2024-12-13T05:45:14.172Z" }, - { url = "https://files.pythonhosted.org/packages/46/b4/9ac424c994b51763fd1bbed62d95f8fba8fa0e45c8c3c583904fdaf8f51d/cytoolz-1.0.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:f61928803bb501c17914b82d457c6f50fe838b173fb40d39c38d5961185bd6c7", size = 2013733, upload-time = "2024-12-13T05:45:16.912Z" }, - { url = "https://files.pythonhosted.org/packages/3e/99/03009765c4b87d742d5b5a8670abb56a8c7ede033c2cdaa4be8662d3b001/cytoolz-1.0.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d2960cb4fa01ccb985ad1280db41f90dc97a80b397af970a15d5a5de403c8c61", size = 1994850, upload-time = "2024-12-13T05:45:18.414Z" }, - { url = "https://files.pythonhosted.org/packages/40/9a/8458af9a5557e177ea42f8cf7e477bede518b0bbef564e28c4151feaa52c/cytoolz-1.0.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:b2b407cc3e9defa8df5eb46644f6f136586f70ba49eba96f43de67b9a0984fd3", size = 2155352, upload-time = "2024-12-13T05:45:19.763Z" }, - { url = "https://files.pythonhosted.org/packages/5e/5c/2a701423e001fcbec288b4f3fc2bf67557d114c2388237fc1ae67e1e2686/cytoolz-1.0.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:8245f929144d4d3bd7b972c9593300195c6cea246b81b4c46053c48b3f044580", size = 2163515, upload-time = "2024-12-13T05:45:21.08Z" }, - { url = "https://files.pythonhosted.org/packages/36/16/ee2e06e65d9d533bc05cd52a0b355ba9072fc8f60d77289e529c6d2e3750/cytoolz-1.0.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e37385db03af65763933befe89fa70faf25301effc3b0485fec1c15d4ce4f052", size = 2054431, upload-time = "2024-12-13T05:45:22.521Z" }, - { url = "https://files.pythonhosted.org/packages/d8/d5/2fac8315f210fa1bc7106e27c19e1211580aa25bb7fa17dfd79505e5baf2/cytoolz-1.0.1-cp311-cp311-win32.whl", hash = "sha256:50f9c530f83e3e574fc95c264c3350adde8145f4f8fc8099f65f00cc595e5ead", size = 322004, upload-time = "2024-12-13T05:45:24.048Z" }, - { url = "https://files.pythonhosted.org/packages/a9/9e/0b70b641850a95f9ff90adde9d094a4b1d81ec54dadfd97fec0a2aaf440e/cytoolz-1.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:b7f6b617454b4326af7bd3c7c49b0fc80767f134eb9fd6449917a058d17a0e3c", size = 365358, upload-time = "2024-12-13T05:45:25.383Z" }, - { url = "https://files.pythonhosted.org/packages/d8/e8/218098344ed2cb5f8441fade9b2428e435e7073962374a9c71e59ac141a7/cytoolz-1.0.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fcb8f7d0d65db1269022e7e0428471edee8c937bc288ebdcb72f13eaa67c2fe4", size = 414121, upload-time = "2024-12-13T05:45:26.588Z" }, - { url = "https://files.pythonhosted.org/packages/de/27/4d729a5653718109262b758fec1a959aa9facb74c15460d9074dc76d6635/cytoolz-1.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:207d4e4b445e087e65556196ff472ff134370d9a275d591724142e255f384662", size = 390904, upload-time = "2024-12-13T05:45:27.718Z" }, - { url = "https://files.pythonhosted.org/packages/72/c0/cbabfa788bab9c6038953bf9478adaec06e88903a726946ea7c88092f5c4/cytoolz-1.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:21cdf6bac6fd843f3b20280a66fd8df20dea4c58eb7214a2cd8957ec176f0bb3", size = 2090734, upload-time = "2024-12-13T05:45:30.515Z" }, - { url = "https://files.pythonhosted.org/packages/c3/66/369262c60f9423c2da82a60864a259c852f1aa122aced4acd2c679af58c0/cytoolz-1.0.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4a55ec098036c0dea9f3bdc021f8acd9d105a945227d0811589f0573f21c9ce1", size = 2155933, upload-time = "2024-12-13T05:45:32.721Z" }, - { url = "https://files.pythonhosted.org/packages/aa/4e/ee55186802f8d24b5fbf9a11405ccd1203b30eded07cc17750618219b94e/cytoolz-1.0.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a13ab79ff4ce202e03ab646a2134696988b554b6dc4b71451e948403db1331d8", size = 2171903, upload-time = "2024-12-13T05:45:34.205Z" }, - { url = "https://files.pythonhosted.org/packages/a1/96/bd1a9f3396e9b7f618db8cd08d15630769ce3c8b7d0534f92cd639c977ae/cytoolz-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e2d944799026e1ff08a83241f1027a2d9276c41f7a74224cd98b7df6e03957d", size = 2125270, upload-time = "2024-12-13T05:45:36.982Z" }, - { url = "https://files.pythonhosted.org/packages/28/48/2a3762873091c88a69e161111cfbc6c222ff145d57ff011a642b169f04f1/cytoolz-1.0.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88ba85834cd523b91fdf10325e1e6d71c798de36ea9bdc187ca7bd146420de6f", size = 1973967, upload-time = "2024-12-13T05:45:39.505Z" }, - { url = "https://files.pythonhosted.org/packages/e4/50/500bd69774bdc49a4d78ec8779eb6ac7c1a9d706bfd91cf2a1dba604373a/cytoolz-1.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5a750b1af7e8bf6727f588940b690d69e25dc47cce5ce467925a76561317eaf7", size = 2021695, upload-time = "2024-12-13T05:45:40.911Z" }, - { url = "https://files.pythonhosted.org/packages/e4/4e/ba5a0ce34869495eb50653de8d676847490cf13a2cac1760fc4d313e78de/cytoolz-1.0.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:44a71870f7eae31d263d08b87da7c2bf1176f78892ed8bdade2c2850478cb126", size = 2010177, upload-time = "2024-12-13T05:45:42.48Z" }, - { url = "https://files.pythonhosted.org/packages/87/57/615c630b3089a13adb15351d958d227430cf624f03b1dd39eb52c34c1f59/cytoolz-1.0.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c8231b9abbd8e368e036f4cc2e16902c9482d4cf9e02a6147ed0e9a3cd4a9ab0", size = 2154321, upload-time = "2024-12-13T05:45:43.979Z" }, - { url = "https://files.pythonhosted.org/packages/7f/0f/fe1aa2d931e3b35ecc05215bd75da945ea7346095b3b6f6027164e602d5a/cytoolz-1.0.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:aa87599ccc755de5a096a4d6c34984de6cd9dc928a0c5eaa7607457317aeaf9b", size = 2188374, upload-time = "2024-12-13T05:45:46.783Z" }, - { url = "https://files.pythonhosted.org/packages/de/fa/fd363d97a641b6d0e2fd1d5c35b8fd41d9ccaeb4df56302f53bf23a58e3a/cytoolz-1.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:67cd16537df51baabde3baa770ab7b8d16839c4d21219d5b96ac59fb012ebd2d", size = 2077911, upload-time = "2024-12-13T05:45:48.219Z" }, - { url = "https://files.pythonhosted.org/packages/d9/68/0a22946b98ae5201b54ccb4e651295285c0fb79406022b6ee8b2f791940c/cytoolz-1.0.1-cp312-cp312-win32.whl", hash = "sha256:fb988c333f05ee30ad4693fe4da55d95ec0bb05775d2b60191236493ea2e01f9", size = 321903, upload-time = "2024-12-13T05:45:50.3Z" }, - { url = "https://files.pythonhosted.org/packages/62/1a/f3903197956055032f8cb297342e2dff07e50f83991aebfe5b4c4fcb55e4/cytoolz-1.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:8f89c48d8e5aec55ffd566a8ec858706d70ed0c6a50228eca30986bfa5b4da8b", size = 364490, upload-time = "2024-12-13T05:45:51.494Z" }, - { url = "https://files.pythonhosted.org/packages/aa/2e/a9f069db0107749e9e72baf6c21abe3f006841a3bcfdc9b8420e22ef31eb/cytoolz-1.0.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6944bb93b287032a4c5ca6879b69bcd07df46f3079cf8393958cf0b0454f50c0", size = 407365, upload-time = "2024-12-13T05:45:52.803Z" }, - { url = "https://files.pythonhosted.org/packages/a9/9b/5e87dd0e31f54c778b4f9f34cc14c1162d3096c8d746b0f8be97d70dd73c/cytoolz-1.0.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e027260fd2fc5cb041277158ac294fc13dca640714527219f702fb459a59823a", size = 385233, upload-time = "2024-12-13T05:45:53.994Z" }, - { url = "https://files.pythonhosted.org/packages/63/00/2fd32b16284cdb97cfe092822179bc0c3bcdd5e927dd39f986169a517642/cytoolz-1.0.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88662c0e07250d26f5af9bc95911e6137e124a5c1ec2ce4a5d74de96718ab242", size = 2062903, upload-time = "2024-12-13T05:45:55.202Z" }, - { url = "https://files.pythonhosted.org/packages/85/39/b3cbb5a9847ba59584a263772ad4f8ca2dbfd2a0e11efd09211d1219804c/cytoolz-1.0.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:309dffa78b0961b4c0cf55674b828fbbc793cf2d816277a5c8293c0c16155296", size = 2139517, upload-time = "2024-12-13T05:45:56.804Z" }, - { url = "https://files.pythonhosted.org/packages/ea/39/bfcab4a46d50c467e36fe704f19d8904efead417787806ee210327f68390/cytoolz-1.0.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:edb34246e6eb40343c5860fc51b24937698e4fa1ee415917a73ad772a9a1746b", size = 2154849, upload-time = "2024-12-13T05:45:58.814Z" }, - { url = "https://files.pythonhosted.org/packages/fd/42/3bc6ee61b0aa47e1cb40819adc1a456d7efa809f0dea9faddacb43fdde8f/cytoolz-1.0.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0a54da7a8e4348a18d45d4d5bc84af6c716d7f131113a4f1cc45569d37edff1b", size = 2102302, upload-time = "2024-12-13T05:46:00.181Z" }, - { url = "https://files.pythonhosted.org/packages/00/66/3f636c6ddea7b18026b90a8c238af472e423b86e427b11df02213689b012/cytoolz-1.0.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:241c679c3b1913c0f7259cf1d9639bed5084c86d0051641d537a0980548aa266", size = 1960872, upload-time = "2024-12-13T05:46:01.612Z" }, - { url = "https://files.pythonhosted.org/packages/40/36/cb3b7cdd651007b69f9c48e9d104cec7cb8dc53afa1d6a720e5ad08022fa/cytoolz-1.0.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:5bfc860251a8f280ac79696fc3343cfc3a7c30b94199e0240b6c9e5b6b01a2a5", size = 2014430, upload-time = "2024-12-13T05:46:03.022Z" }, - { url = "https://files.pythonhosted.org/packages/88/3f/2e9bd2a16cfd269808922147551dcb2d8b68ba54a2c4deca2fa6a6cd0d5f/cytoolz-1.0.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:c8edd1547014050c1bdad3ff85d25c82bd1c2a3c96830c6181521eb78b9a42b3", size = 2003127, upload-time = "2024-12-13T05:46:04.401Z" }, - { url = "https://files.pythonhosted.org/packages/c4/7d/08604ff940aa784df8343c387fdf2489b948b714a6afb587775ae94da912/cytoolz-1.0.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b349bf6162e8de215403d7f35f8a9b4b1853dc2a48e6e1a609a5b1a16868b296", size = 2142369, upload-time = "2024-12-13T05:46:06.004Z" }, - { url = "https://files.pythonhosted.org/packages/d2/c6/39919a0645bdbdf720e97cae107f959ea9d1267fbc3b0d94fc6e1d12ac8f/cytoolz-1.0.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:1b18b35256219b6c3dd0fa037741b85d0bea39c552eab0775816e85a52834140", size = 2180427, upload-time = "2024-12-13T05:46:07.526Z" }, - { url = "https://files.pythonhosted.org/packages/d8/03/dbb9d47556ee54337e7e0ac209d17ceff2d2a197c34de08005abc7a7449b/cytoolz-1.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:738b2350f340ff8af883eb301054eb724997f795d20d90daec7911c389d61581", size = 2069785, upload-time = "2024-12-13T05:46:10.122Z" }, - { url = "https://files.pythonhosted.org/packages/ea/f8/11bb7b8947002231faae3ec2342df5896afbc19eb783a332cce6d219ff79/cytoolz-1.0.1-cp313-cp313-win32.whl", hash = "sha256:9cbd9c103df54fcca42be55ef40e7baea624ac30ee0b8bf1149f21146d1078d9", size = 320685, upload-time = "2024-12-13T05:46:11.553Z" }, - { url = "https://files.pythonhosted.org/packages/40/eb/dde173cf2357084ca9423950be1f2f11ab11d65d8bd30165bfb8fd4213e9/cytoolz-1.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:90e577e08d3a4308186d9e1ec06876d4756b1e8164b92971c69739ea17e15297", size = 362898, upload-time = "2024-12-13T05:46:12.771Z" }, - { url = "https://files.pythonhosted.org/packages/60/50/0d4bf1ab5859d32f238ae1b7c368ce577490cce156ca050d3581685ed701/cytoolz-1.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:f3a509e4ac8e711703c368476b9bbce921fcef6ebb87fa3501525f7000e44185", size = 404405, upload-time = "2024-12-13T05:46:15.409Z" }, - { url = "https://files.pythonhosted.org/packages/b3/4c/0982d37fb1e99a47ce92bcc6439bb268b841e3b1366a956f32e4d1cab9db/cytoolz-1.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a7eecab6373e933dfbf4fdc0601d8fd7614f8de76793912a103b5fccf98170cd", size = 385287, upload-time = "2024-12-13T05:46:16.699Z" }, - { url = "https://files.pythonhosted.org/packages/b3/a7/f7bd0362782051f9255ae17b2139f041081bfec6a08e6345b841c55fb9a5/cytoolz-1.0.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e55ed62087f6e3e30917b5f55350c3b6be6470b849c6566018419cd159d2cebc", size = 1999956, upload-time = "2024-12-13T05:46:18.013Z" }, - { url = "https://files.pythonhosted.org/packages/0d/64/73c883ec8097c513963b6b76c34aa7f01a809e02b52983e985b4f1b55e78/cytoolz-1.0.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:43de33d99a4ccc07234cecd81f385456b55b0ea9c39c9eebf42f024c313728a5", size = 2107500, upload-time = "2024-12-13T05:46:20.182Z" }, - { url = "https://files.pythonhosted.org/packages/c9/32/a706c812a914ade2bb7e4cdadaef9882aaa16ab8f5224692d308e652a145/cytoolz-1.0.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:139bed875828e1727018aa0982aa140e055cbafccb7fd89faf45cbb4f2a21514", size = 2090621, upload-time = "2024-12-13T05:46:21.705Z" }, - { url = "https://files.pythonhosted.org/packages/8f/4b/7b6b8565586678c5dc5d230fc806892cc0da140055dbba359ee3defb7caa/cytoolz-1.0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:22c12671194b518aa8ce2f4422bd5064f25ab57f410ba0b78705d0a219f4a97a", size = 2018656, upload-time = "2024-12-13T05:46:23.149Z" }, - { url = "https://files.pythonhosted.org/packages/70/5f/5b8c4b2bf09364b3ddf6b97da9381de5caee105eb13c762d788cac5a4694/cytoolz-1.0.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:79888f2f7dc25709cd5d37b032a8833741e6a3692c8823be181d542b5999128e", size = 1921562, upload-time = "2024-12-13T05:46:24.578Z" }, - { url = "https://files.pythonhosted.org/packages/78/1c/4f54a94877c741777f42442be8ed61c99b8a6fe2341165a836211539858f/cytoolz-1.0.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:51628b4eb41fa25bd428f8f7b5b74fbb05f3ae65fbd265019a0dd1ded4fdf12a", size = 1917777, upload-time = "2024-12-13T05:46:26.045Z" }, - { url = "https://files.pythonhosted.org/packages/5b/80/d5a1b2fa5fc16a60abe7997693a28cd61d7b57525c994a42add625a475df/cytoolz-1.0.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:1db9eb7179285403d2fb56ba1ff6ec35a44921b5e2fa5ca19d69f3f9f0285ea5", size = 1919666, upload-time = "2024-12-13T05:46:27.38Z" }, - { url = "https://files.pythonhosted.org/packages/04/f9/09cba24298ca161fe8662c9d525cb94b500f7803e46061722a9826a645f7/cytoolz-1.0.1-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:08ab7efae08e55812340bfd1b3f09f63848fe291675e2105eab1aa5327d3a16e", size = 2058239, upload-time = "2024-12-13T05:46:30.924Z" }, - { url = "https://files.pythonhosted.org/packages/ae/29/96a67a21efe83f45cf26f3c0bbeefb2663488365d704a4a85394740176f0/cytoolz-1.0.1-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:e5fdc5264f884e7c0a1711a81dff112708a64b9c8561654ee578bfdccec6be09", size = 2062239, upload-time = "2024-12-13T05:46:32.432Z" }, - { url = "https://files.pythonhosted.org/packages/d9/b0/a038045a4ed33e3ee98b4605f7367749da01eccf5d8d55b3ace0350d85c0/cytoolz-1.0.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:90d6a2e6ab891043ee655ec99d5e77455a9bee9e1131bdfcfb745edde81200dd", size = 1972408, upload-time = "2024-12-13T05:46:35.506Z" }, - { url = "https://files.pythonhosted.org/packages/29/92/579765ba89aaaf4ddf41be526b2cc89598a389a310ae7f57414c83cd1a9f/cytoolz-1.0.1-cp38-cp38-win32.whl", hash = "sha256:08946e083faa5147751b34fbf78ab931f149ef758af5c1092932b459e18dcf5c", size = 325949, upload-time = "2024-12-13T05:46:36.938Z" }, - { url = "https://files.pythonhosted.org/packages/2f/08/621133091a51a991261bb2da95882420616360390d8875b21b5c8212889f/cytoolz-1.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:a91b4e10a9c03796c0dc93e47ebe25bb41ecc6fafc3cf5197c603cf767a3d44d", size = 368331, upload-time = "2024-12-13T05:46:38.807Z" }, - { url = "https://files.pythonhosted.org/packages/79/bc/16442ead0b86f64c75602d47c158ef22d5c82a004fcff3b3954b9102d255/cytoolz-1.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:980c323e626ba298b77ae62871b2de7c50b9d7219e2ddf706f52dd34b8be7349", size = 405818, upload-time = "2024-12-13T05:46:41.324Z" }, - { url = "https://files.pythonhosted.org/packages/77/33/e660a734fcda5f83336cab7ce20d6011dfdc67f6e0e6d833badedf2a3b21/cytoolz-1.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:45f6fa1b512bc2a0f2de5123db932df06c7f69d12874fe06d67772b2828e2c8b", size = 386289, upload-time = "2024-12-13T05:46:42.69Z" }, - { url = "https://files.pythonhosted.org/packages/fa/06/d776935b9f5753ee84630857b95e6f77656266e3ad456c97ae78829fc983/cytoolz-1.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f93f42d9100c415155ad1f71b0de362541afd4ac95e3153467c4c79972521b6b", size = 1946297, upload-time = "2024-12-13T05:46:44.118Z" }, - { url = "https://files.pythonhosted.org/packages/bc/4e/d0babe9f3b81b248c92be2c6eb1b3d8bf4f663817a518910348a5fac1f12/cytoolz-1.0.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a76d20dec9c090cdf4746255bbf06a762e8cc29b5c9c1d138c380bbdb3122ade", size = 2028082, upload-time = "2024-12-13T05:46:47.021Z" }, - { url = "https://files.pythonhosted.org/packages/70/79/280c26569953e61e490f8ebc0928f8dc5ec8e455144e425887aece6278e5/cytoolz-1.0.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:239039585487c69aa50c5b78f6a422016297e9dea39755761202fb9f0530fe87", size = 2012925, upload-time = "2024-12-13T05:46:49.452Z" }, - { url = "https://files.pythonhosted.org/packages/9a/b1/8efbd06ba3dcfe0c5e44e68d098781e73535abcc7a49dd6ea88d5be4c98f/cytoolz-1.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c28307640ca2ab57b9fbf0a834b9bf563958cd9e038378c3a559f45f13c3c541", size = 1969409, upload-time = "2024-12-13T05:46:52.244Z" }, - { url = "https://files.pythonhosted.org/packages/6c/ee/8064953c28a6eccb97267285da816b691f524e2d2265b559d95dbe741340/cytoolz-1.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:454880477bb901cee3a60f6324ec48c95d45acc7fecbaa9d49a5af737ded0595", size = 1873884, upload-time = "2024-12-13T05:46:53.775Z" }, - { url = "https://files.pythonhosted.org/packages/05/81/761acff24d29dd2abf867ae2b2ec4c3bed5863492c997d9936d29117e52b/cytoolz-1.0.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:902115d1b1f360fd81e44def30ac309b8641661150fcbdde18ead446982ada6a", size = 1861041, upload-time = "2024-12-13T05:46:55.743Z" }, - { url = "https://files.pythonhosted.org/packages/08/73/48fc7de900664bdc1a59fb1da9bfa22afc5178bb2590fe5a4c6ddaec8f95/cytoolz-1.0.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:e68e6b38473a3a79cee431baa22be31cac39f7df1bf23eaa737eaff42e213883", size = 1864089, upload-time = "2024-12-13T05:46:59.168Z" }, - { url = "https://files.pythonhosted.org/packages/a2/8e/f53bf881bfd226f1ea75446360c9feeb97045bdfa0b75338c0919a93a83f/cytoolz-1.0.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:32fba3f63fcb76095b0a22f4bdcc22bc62a2bd2d28d58bf02fd21754c155a3ec", size = 2002961, upload-time = "2024-12-13T05:47:00.679Z" }, - { url = "https://files.pythonhosted.org/packages/fa/fd/3583907d14c0828bed0758111a44dce38dea87186f19b96ba8bea58fce9f/cytoolz-1.0.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:0724ba4cf41eb40b6cf75250820ab069e44bdf4183ff78857aaf4f0061551075", size = 2008125, upload-time = "2024-12-13T05:47:02.149Z" }, - { url = "https://files.pythonhosted.org/packages/f3/18/e27368ac982e813dae1ed737d52e9b896f2499c2150586f46b111119db99/cytoolz-1.0.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c42420e0686f887040d5230420ed44f0e960ccbfa29a0d65a3acd9ca52459209", size = 1908772, upload-time = "2024-12-13T05:47:04.75Z" }, - { url = "https://files.pythonhosted.org/packages/2e/c5/6626c4df2a710cd772fb349d48de5435b8907c24838c8a605f286e794dd6/cytoolz-1.0.1-cp39-cp39-win32.whl", hash = "sha256:4ba8b16358ea56b1fe8e637ec421e36580866f2e787910bac1cf0a6997424a34", size = 324277, upload-time = "2024-12-13T05:47:06.109Z" }, - { url = "https://files.pythonhosted.org/packages/8e/4f/34a4cfe7344d33624780fe299f3c441a94d56bf4313033d24f9d45adc6f6/cytoolz-1.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:92d27f84bf44586853d9562bfa3610ecec000149d030f793b4cb614fd9da1813", size = 365849, upload-time = "2024-12-13T05:47:07.37Z" }, - { url = "https://files.pythonhosted.org/packages/d9/f7/ef2a10daaec5c0f7d781d50758c6187eee484256e356ae8ef178d6c48497/cytoolz-1.0.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:83d19d55738ad9c60763b94f3f6d3c6e4de979aeb8d76841c1401081e0e58d96", size = 345702, upload-time = "2024-12-13T05:47:09.266Z" }, - { url = "https://files.pythonhosted.org/packages/c8/14/53c84adddedb67ff1546abb86fea04d26e24298c3ceab8436d20122ed0b9/cytoolz-1.0.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f112a71fad6ea824578e6393765ce5c054603afe1471a5c753ff6c67fd872d10", size = 385695, upload-time = "2024-12-13T05:47:11.011Z" }, - { url = "https://files.pythonhosted.org/packages/bd/80/3ae356c5e7b8d7dc7d1adb52f6932fee85cd748ed4e1217c269d2dfd610f/cytoolz-1.0.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5a515df8f8aa6e1eaaf397761a6e4aff2eef73b5f920aedf271416d5471ae5ee", size = 406261, upload-time = "2024-12-13T05:47:12.24Z" }, - { url = "https://files.pythonhosted.org/packages/0c/31/8e43761ffc82d90bf9cab7e0959712eedcd1e33c211397e143dd42d7af57/cytoolz-1.0.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92c398e7b7023460bea2edffe5fcd0a76029580f06c3f6938ac3d198b47156f3", size = 397207, upload-time = "2024-12-13T05:47:13.561Z" }, - { url = "https://files.pythonhosted.org/packages/d1/b9/fe9da37090b6444c65f848a83e390f87d8cb43d6a4df46de1556ad7e5ceb/cytoolz-1.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:3237e56211e03b13df47435b2369f5df281e02b04ad80a948ebd199b7bc10a47", size = 343358, upload-time = "2024-12-13T05:47:16.291Z" }, - { url = "https://files.pythonhosted.org/packages/43/c3/89dcb5dc948c7cf84bf6e8ce819157a054189a85515d0236a663b3dbee5b/cytoolz-1.0.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:ba0d1da50aab1909b165f615ba1125c8b01fcc30d606c42a61c42ea0269b5e2c", size = 343294, upload-time = "2024-12-13T05:47:18.885Z" }, - { url = "https://files.pythonhosted.org/packages/eb/be/bb1ea66e58c11f56fc923a3eaf2cdaeb01469de540cd0eb433907918bf38/cytoolz-1.0.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25b6e8dec29aa5a390092d193abd673e027d2c0b50774ae816a31454286c45c7", size = 385808, upload-time = "2024-12-13T05:47:22.292Z" }, - { url = "https://files.pythonhosted.org/packages/9e/4c/8d3f8064be5d324593133235455bc867d735ce1c33ba09cf35563d66b9b3/cytoolz-1.0.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:36cd6989ebb2f18fe9af8f13e3c61064b9f741a40d83dc5afeb0322338ad25f2", size = 406710, upload-time = "2024-12-13T05:47:23.668Z" }, - { url = "https://files.pythonhosted.org/packages/f7/25/3deda616b5ea3f02a90ea82aa9ce35be39fa01b2c9afd40c851a0c81dc9e/cytoolz-1.0.1-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a47394f8ab7fca3201f40de61fdeea20a2baffb101485ae14901ea89c3f6c95d", size = 397364, upload-time = "2024-12-13T05:47:24.935Z" }, - { url = "https://files.pythonhosted.org/packages/24/50/942a241e11aeedb4602260ebaab2bc08ea94ae7f026f4d500da0cd93faf2/cytoolz-1.0.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:d00ac423542af944302e034e618fb055a0c4e87ba704cd6a79eacfa6ac83a3c9", size = 341976, upload-time = "2024-12-13T05:47:27.482Z" }, - { url = "https://files.pythonhosted.org/packages/99/cf/fcea9849eeedc569d0d00bcab8d0ad07d0d0aa79664e6ff9e8745ccfd9a3/cytoolz-1.0.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:a5ca923d1fa632f7a4fb33c0766c6fba7f87141a055c305c3e47e256fb99c413", size = 344869, upload-time = "2024-12-13T05:47:28.994Z" }, - { url = "https://files.pythonhosted.org/packages/9c/38/106e0bd8610ebe1a8717c686e0663227a61cc03ed869b1610e1d8455f746/cytoolz-1.0.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:058bf996bcae9aad3acaeeb937d42e0c77c081081e67e24e9578a6a353cb7fb2", size = 384769, upload-time = "2024-12-13T05:47:30.309Z" }, - { url = "https://files.pythonhosted.org/packages/1c/a9/ac8a43c3adb93e9ccc42aa01c3fc86a0142f8265e3b869794e6fc471b976/cytoolz-1.0.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:69e2a1f41a3dad94a17aef4a5cc003323359b9f0a9d63d4cc867cb5690a2551d", size = 404914, upload-time = "2024-12-13T05:47:32.395Z" }, - { url = "https://files.pythonhosted.org/packages/e5/ae/516ffeba7d0b6fe75f99a2a9ab74a5344c4b5b236cd1719bd5e4721f9bbc/cytoolz-1.0.1-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67daeeeadb012ec2b59d63cb29c4f2a2023b0c4957c3342d354b8bb44b209e9a", size = 396288, upload-time = "2024-12-13T05:47:33.708Z" }, - { url = "https://files.pythonhosted.org/packages/b4/90/93e056d7554601619cf1f171c00f83b8a8f75beed680f35b413433f251c5/cytoolz-1.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:54d3d36bbf0d4344d1afa22c58725d1668e30ff9de3a8f56b03db1a6da0acb11", size = 342845, upload-time = "2024-12-13T05:47:35.08Z" }, -] - [[package]] name = "cytoolz" version = "1.1.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] dependencies = [ - { name = "toolz", version = "1.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "toolz" }, ] sdist = { url = "https://files.pythonhosted.org/packages/bd/d4/16916f3dc20a3f5455b63c35dcb260b3716f59ce27a93586804e70e431d5/cytoolz-1.1.0.tar.gz", hash = "sha256:13a7bf254c3c0d28b12e2290b82aed0f0977a4c2a2bf84854fcdc7796a29f3b0", size = 642510, upload-time = "2025-10-19T00:44:56.174Z" } wheels = [ @@ -1620,23 +1010,14 @@ wheels = [ [[package]] name = "deepdiff" -version = "8.4.2" +version = "8.6.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "orderly-set" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7f/2f/232a9f6d88a59526347cb483ec601d878ad41ab30ee4f2fba4aca1d5a10e/deepdiff-8.4.2.tar.gz", hash = "sha256:5c741c0867ebc7fcb83950ad5ed958369c17f424e14dee32a11c56073f4ee92a", size = 515380, upload-time = "2025-03-17T21:35:57.388Z" } +sdist = { url = "https://files.pythonhosted.org/packages/19/76/36c9aab3d5c19a94091f7c6c6e784efca50d87b124bf026c36e94719f33c/deepdiff-8.6.1.tar.gz", hash = "sha256:ec56d7a769ca80891b5200ec7bd41eec300ced91ebcc7797b41eb2b3f3ff643a", size = 634054, upload-time = "2025-09-03T19:40:41.461Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0b/03/810d2e70a6944eddc826deb7b68879d8de109369040b25eeb58cdd64d94c/deepdiff-8.4.2-py3-none-any.whl", hash = "sha256:7e39e5b26f3747c54f9d0e8b9b29daab670c3100166b77cc0185d5793121b099", size = 87610, upload-time = "2025-03-17T21:35:54.953Z" }, -] - -[[package]] -name = "dill" -version = "0.4.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/12/80/630b4b88364e9a8c8c5797f4602d0f76ef820909ee32f0bacb9f90654042/dill-0.4.0.tar.gz", hash = "sha256:0633f1d2df477324f53a895b02c901fb961bdbf65a17122586ea7019292cbcf0", size = 186976, upload-time = "2025-04-16T00:41:48.867Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/50/3d/9373ad9c56321fdab5b41197068e1d8c25883b3fea29dd361f9b55116869/dill-0.4.0-py3-none-any.whl", hash = "sha256:44f54bf6412c2c8464c14e8243eb163690a9800dbe2c367330883b19c7561049", size = 119668, upload-time = "2025-04-16T00:41:47.671Z" }, + { url = "https://files.pythonhosted.org/packages/f7/e6/efe534ef0952b531b630780e19cabd416e2032697019d5295defc6ef9bd9/deepdiff-8.6.1-py3-none-any.whl", hash = "sha256:ee8708a7f7d37fb273a541fa24ad010ed484192cd0c4ffc0fa0ed5e2d4b9e78b", size = 91378, upload-time = "2025-09-03T19:40:39.679Z" }, ] [[package]] @@ -1675,8 +1056,7 @@ dependencies = [ { name = "eth-rlp" }, { name = "eth-utils" }, { name = "hexbytes" }, - { name = "pydantic", version = "2.10.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "pydantic" }, { name = "rlp" }, ] sdist = { url = "https://files.pythonhosted.org/packages/74/cf/20f76a29be97339c969fd765f1237154286a565a1d61be98e76bb7af946a/eth_account-0.13.7.tar.gz", hash = "sha256:5853ecbcbb22e65411176f121f5f24b8afeeaf13492359d254b16d8b18c77a46", size = 935998, upload-time = "2025-04-21T21:11:21.204Z" } @@ -1733,8 +1113,7 @@ dependencies = [ { name = "eth-utils" }, { name = "hexbytes" }, { name = "rlp" }, - { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/7f/ea/ad39d001fa9fed07fad66edb00af701e29b48be0ed44a3bcf58cb3adf130/eth_rlp-2.2.0.tar.gz", hash = "sha256:5e4b2eb1b8213e303d6a232dfe35ab8c29e2d3051b86e8d359def80cd21db83d", size = 7720, upload-time = "2025-02-04T21:51:08.134Z" } wheels = [ @@ -1746,8 +1125,7 @@ name = "eth-typing" version = "5.2.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "typing-extensions" }, ] sdist = { url = "https://files.pythonhosted.org/packages/60/54/62aa24b9cc708f06316167ee71c362779c8ed21fc8234a5cd94a8f53b623/eth_typing-5.2.1.tar.gz", hash = "sha256:7557300dbf02a93c70fa44af352b5c4a58f94e997a0fd6797fb7d1c29d9538ee", size = 21806, upload-time = "2025-04-14T20:39:28.217Z" } wheels = [ @@ -1759,14 +1137,11 @@ name = "eth-utils" version = "5.3.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "cytoolz", version = "1.0.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9' and implementation_name == 'cpython'" }, - { name = "cytoolz", version = "1.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and implementation_name == 'cpython'" }, + { name = "cytoolz", marker = "implementation_name == 'cpython'" }, { name = "eth-hash" }, { name = "eth-typing" }, - { name = "pydantic", version = "2.10.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "toolz", version = "1.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9' and implementation_name == 'pypy'" }, - { name = "toolz", version = "1.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and implementation_name == 'pypy'" }, + { name = "pydantic" }, + { name = "toolz", marker = "implementation_name == 'pypy'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/e6/e1/ee3a8728227c3558853e63ff35bd4c449abdf5022a19601369400deacd39/eth_utils-5.3.1.tar.gz", hash = "sha256:c94e2d2abd024a9a42023b4ddc1c645814ff3d6a737b33d5cfd890ebf159c2d1", size = 123506, upload-time = "2025-08-27T16:37:17.378Z" } wheels = [ @@ -1778,8 +1153,7 @@ name = "exceptiongroup" version = "1.3.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] 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 = [ @@ -1795,24 +1169,12 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ab/84/02fc1827e8cdded4aa65baef11296a9bbe595c474f0d6d758af082d849fd/execnet-2.1.2-py3-none-any.whl", hash = "sha256:67fba928dd5a544b783f6056f449e5e3931a5c378b128bc18501f7ea79e296ec", size = 40708, upload-time = "2025-11-12T09:56:36.333Z" }, ] -[[package]] -name = "filelock" -version = "3.16.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/9d/db/3ef5bb276dae18d6ec2124224403d1d67bccdbefc17af4cc8f553e341ab1/filelock-3.16.1.tar.gz", hash = "sha256:c249fbfcd5db47e5e2d6d62198e565475ee65e4831e2561c8e313fa7eb961435", size = 18037, upload-time = "2024-09-17T19:02:01.779Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b9/f8/feced7779d755758a52d1f6635d990b8d98dc0a29fa568bbe0625f18fdf3/filelock-3.16.1-py3-none-any.whl", hash = "sha256:2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0", size = 16163, upload-time = "2024-09-17T19:02:00.268Z" }, -] - [[package]] name = "filelock" version = "3.19.1" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version == '3.9.*'", + "python_full_version < '3.10'", ] sdist = { url = "https://files.pythonhosted.org/packages/40/bb/0ab3e58d22305b6f5440629d20683af28959bf793d98d11950e305c1c326/filelock-3.19.1.tar.gz", hash = "sha256:66eda1888b0171c998b35be2bcc0f6d75c388a7ce20c3f3f37aa8e96c2dddf58", size = 17687, upload-time = "2025-08-14T16:56:03.016Z" } wheels = [ @@ -1824,8 +1186,7 @@ name = "filelock" version = "3.20.2" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", + "python_full_version >= '3.11'", "python_full_version == '3.10.*'", ] sdist = { url = "https://files.pythonhosted.org/packages/c1/e0/a75dbe4bca1e7d41307323dad5ea2efdd95408f74ab2de8bd7dba9b51a1a/filelock-3.20.2.tar.gz", hash = "sha256:a2241ff4ddde2a7cebddf78e39832509cb045d18ec1a09d7248d6bfc6bfbbe64", size = 19510, upload-time = "2026-01-02T15:33:32.582Z" } @@ -1833,118 +1194,10 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/9a/30/ab407e2ec752aa541704ed8f93c11e2a5d92c168b8a755d818b74a3c5c2d/filelock-3.20.2-py3-none-any.whl", hash = "sha256:fbba7237d6ea277175a32c54bb71ef814a8546d8601269e1bfc388de333974e8", size = 16697, upload-time = "2026-01-02T15:33:31.133Z" }, ] -[[package]] -name = "frozenlist" -version = "1.5.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/8f/ed/0f4cec13a93c02c47ec32d81d11c0c1efbadf4a471e3f3ce7cad366cbbd3/frozenlist-1.5.0.tar.gz", hash = "sha256:81d5af29e61b9c8348e876d442253723928dce6433e0e76cd925cd83f1b4b817", size = 39930, upload-time = "2024-10-23T09:48:29.903Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/54/79/29d44c4af36b2b240725dce566b20f63f9b36ef267aaaa64ee7466f4f2f8/frozenlist-1.5.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5b6a66c18b5b9dd261ca98dffcb826a525334b2f29e7caa54e182255c5f6a65a", size = 94451, upload-time = "2024-10-23T09:46:20.558Z" }, - { url = "https://files.pythonhosted.org/packages/47/47/0c999aeace6ead8a44441b4f4173e2261b18219e4ad1fe9a479871ca02fc/frozenlist-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d1b3eb7b05ea246510b43a7e53ed1653e55c2121019a97e60cad7efb881a97bb", size = 54301, upload-time = "2024-10-23T09:46:21.759Z" }, - { url = "https://files.pythonhosted.org/packages/8d/60/107a38c1e54176d12e06e9d4b5d755b677d71d1219217cee063911b1384f/frozenlist-1.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:15538c0cbf0e4fa11d1e3a71f823524b0c46299aed6e10ebb4c2089abd8c3bec", size = 52213, upload-time = "2024-10-23T09:46:22.993Z" }, - { url = "https://files.pythonhosted.org/packages/17/62/594a6829ac5679c25755362a9dc93486a8a45241394564309641425d3ff6/frozenlist-1.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e79225373c317ff1e35f210dd5f1344ff31066ba8067c307ab60254cd3a78ad5", size = 240946, upload-time = "2024-10-23T09:46:24.661Z" }, - { url = "https://files.pythonhosted.org/packages/7e/75/6c8419d8f92c80dd0ee3f63bdde2702ce6398b0ac8410ff459f9b6f2f9cb/frozenlist-1.5.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9272fa73ca71266702c4c3e2d4a28553ea03418e591e377a03b8e3659d94fa76", size = 264608, upload-time = "2024-10-23T09:46:26.017Z" }, - { url = "https://files.pythonhosted.org/packages/88/3e/82a6f0b84bc6fb7e0be240e52863c6d4ab6098cd62e4f5b972cd31e002e8/frozenlist-1.5.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:498524025a5b8ba81695761d78c8dd7382ac0b052f34e66939c42df860b8ff17", size = 261361, upload-time = "2024-10-23T09:46:27.787Z" }, - { url = "https://files.pythonhosted.org/packages/fd/85/14e5f9ccac1b64ff2f10c927b3ffdf88772aea875882406f9ba0cec8ad84/frozenlist-1.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:92b5278ed9d50fe610185ecd23c55d8b307d75ca18e94c0e7de328089ac5dcba", size = 231649, upload-time = "2024-10-23T09:46:28.992Z" }, - { url = "https://files.pythonhosted.org/packages/ee/59/928322800306f6529d1852323014ee9008551e9bb027cc38d276cbc0b0e7/frozenlist-1.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f3c8c1dacd037df16e85227bac13cca58c30da836c6f936ba1df0c05d046d8d", size = 241853, upload-time = "2024-10-23T09:46:30.211Z" }, - { url = "https://files.pythonhosted.org/packages/7d/bd/e01fa4f146a6f6c18c5d34cab8abdc4013774a26c4ff851128cd1bd3008e/frozenlist-1.5.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f2ac49a9bedb996086057b75bf93538240538c6d9b38e57c82d51f75a73409d2", size = 243652, upload-time = "2024-10-23T09:46:31.758Z" }, - { url = "https://files.pythonhosted.org/packages/a5/bd/e4771fd18a8ec6757033f0fa903e447aecc3fbba54e3630397b61596acf0/frozenlist-1.5.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e66cc454f97053b79c2ab09c17fbe3c825ea6b4de20baf1be28919460dd7877f", size = 241734, upload-time = "2024-10-23T09:46:33.044Z" }, - { url = "https://files.pythonhosted.org/packages/21/13/c83821fa5544af4f60c5d3a65d054af3213c26b14d3f5f48e43e5fb48556/frozenlist-1.5.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:5a3ba5f9a0dfed20337d3e966dc359784c9f96503674c2faf015f7fe8e96798c", size = 260959, upload-time = "2024-10-23T09:46:34.916Z" }, - { url = "https://files.pythonhosted.org/packages/71/f3/1f91c9a9bf7ed0e8edcf52698d23f3c211d8d00291a53c9f115ceb977ab1/frozenlist-1.5.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6321899477db90bdeb9299ac3627a6a53c7399c8cd58d25da094007402b039ab", size = 262706, upload-time = "2024-10-23T09:46:36.159Z" }, - { url = "https://files.pythonhosted.org/packages/4c/22/4a256fdf5d9bcb3ae32622c796ee5ff9451b3a13a68cfe3f68e2c95588ce/frozenlist-1.5.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:76e4753701248476e6286f2ef492af900ea67d9706a0155335a40ea21bf3b2f5", size = 250401, upload-time = "2024-10-23T09:46:37.327Z" }, - { url = "https://files.pythonhosted.org/packages/af/89/c48ebe1f7991bd2be6d5f4ed202d94960c01b3017a03d6954dd5fa9ea1e8/frozenlist-1.5.0-cp310-cp310-win32.whl", hash = "sha256:977701c081c0241d0955c9586ffdd9ce44f7a7795df39b9151cd9a6fd0ce4cfb", size = 45498, upload-time = "2024-10-23T09:46:38.552Z" }, - { url = "https://files.pythonhosted.org/packages/28/2f/cc27d5f43e023d21fe5c19538e08894db3d7e081cbf582ad5ed366c24446/frozenlist-1.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:189f03b53e64144f90990d29a27ec4f7997d91ed3d01b51fa39d2dbe77540fd4", size = 51622, upload-time = "2024-10-23T09:46:39.513Z" }, - { url = "https://files.pythonhosted.org/packages/79/43/0bed28bf5eb1c9e4301003b74453b8e7aa85fb293b31dde352aac528dafc/frozenlist-1.5.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fd74520371c3c4175142d02a976aee0b4cb4a7cc912a60586ffd8d5929979b30", size = 94987, upload-time = "2024-10-23T09:46:40.487Z" }, - { url = "https://files.pythonhosted.org/packages/bb/bf/b74e38f09a246e8abbe1e90eb65787ed745ccab6eaa58b9c9308e052323d/frozenlist-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2f3f7a0fbc219fb4455264cae4d9f01ad41ae6ee8524500f381de64ffaa077d5", size = 54584, upload-time = "2024-10-23T09:46:41.463Z" }, - { url = "https://files.pythonhosted.org/packages/2c/31/ab01375682f14f7613a1ade30149f684c84f9b8823a4391ed950c8285656/frozenlist-1.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f47c9c9028f55a04ac254346e92977bf0f166c483c74b4232bee19a6697e4778", size = 52499, upload-time = "2024-10-23T09:46:42.451Z" }, - { url = "https://files.pythonhosted.org/packages/98/a8/d0ac0b9276e1404f58fec3ab6e90a4f76b778a49373ccaf6a563f100dfbc/frozenlist-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0996c66760924da6e88922756d99b47512a71cfd45215f3570bf1e0b694c206a", size = 276357, upload-time = "2024-10-23T09:46:44.166Z" }, - { url = "https://files.pythonhosted.org/packages/ad/c9/c7761084fa822f07dac38ac29f841d4587570dd211e2262544aa0b791d21/frozenlist-1.5.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a2fe128eb4edeabe11896cb6af88fca5346059f6c8d807e3b910069f39157869", size = 287516, upload-time = "2024-10-23T09:46:45.369Z" }, - { url = "https://files.pythonhosted.org/packages/a1/ff/cd7479e703c39df7bdab431798cef89dc75010d8aa0ca2514c5b9321db27/frozenlist-1.5.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a8ea951bbb6cacd492e3948b8da8c502a3f814f5d20935aae74b5df2b19cf3d", size = 283131, upload-time = "2024-10-23T09:46:46.654Z" }, - { url = "https://files.pythonhosted.org/packages/59/a0/370941beb47d237eca4fbf27e4e91389fd68699e6f4b0ebcc95da463835b/frozenlist-1.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de537c11e4aa01d37db0d403b57bd6f0546e71a82347a97c6a9f0dcc532b3a45", size = 261320, upload-time = "2024-10-23T09:46:47.825Z" }, - { url = "https://files.pythonhosted.org/packages/b8/5f/c10123e8d64867bc9b4f2f510a32042a306ff5fcd7e2e09e5ae5100ee333/frozenlist-1.5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c2623347b933fcb9095841f1cc5d4ff0b278addd743e0e966cb3d460278840d", size = 274877, upload-time = "2024-10-23T09:46:48.989Z" }, - { url = "https://files.pythonhosted.org/packages/fa/79/38c505601ae29d4348f21706c5d89755ceded02a745016ba2f58bd5f1ea6/frozenlist-1.5.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cee6798eaf8b1416ef6909b06f7dc04b60755206bddc599f52232606e18179d3", size = 269592, upload-time = "2024-10-23T09:46:50.235Z" }, - { url = "https://files.pythonhosted.org/packages/19/e2/39f3a53191b8204ba9f0bb574b926b73dd2efba2a2b9d2d730517e8f7622/frozenlist-1.5.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f5f9da7f5dbc00a604fe74aa02ae7c98bcede8a3b8b9666f9f86fc13993bc71a", size = 265934, upload-time = "2024-10-23T09:46:51.829Z" }, - { url = "https://files.pythonhosted.org/packages/d5/c9/3075eb7f7f3a91f1a6b00284af4de0a65a9ae47084930916f5528144c9dd/frozenlist-1.5.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:90646abbc7a5d5c7c19461d2e3eeb76eb0b204919e6ece342feb6032c9325ae9", size = 283859, upload-time = "2024-10-23T09:46:52.947Z" }, - { url = "https://files.pythonhosted.org/packages/05/f5/549f44d314c29408b962fa2b0e69a1a67c59379fb143b92a0a065ffd1f0f/frozenlist-1.5.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:bdac3c7d9b705d253b2ce370fde941836a5f8b3c5c2b8fd70940a3ea3af7f4f2", size = 287560, upload-time = "2024-10-23T09:46:54.162Z" }, - { url = "https://files.pythonhosted.org/packages/9d/f8/cb09b3c24a3eac02c4c07a9558e11e9e244fb02bf62c85ac2106d1eb0c0b/frozenlist-1.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:03d33c2ddbc1816237a67f66336616416e2bbb6beb306e5f890f2eb22b959cdf", size = 277150, upload-time = "2024-10-23T09:46:55.361Z" }, - { url = "https://files.pythonhosted.org/packages/37/48/38c2db3f54d1501e692d6fe058f45b6ad1b358d82cd19436efab80cfc965/frozenlist-1.5.0-cp311-cp311-win32.whl", hash = "sha256:237f6b23ee0f44066219dae14c70ae38a63f0440ce6750f868ee08775073f942", size = 45244, upload-time = "2024-10-23T09:46:56.578Z" }, - { url = "https://files.pythonhosted.org/packages/ca/8c/2ddffeb8b60a4bce3b196c32fcc30d8830d4615e7b492ec2071da801b8ad/frozenlist-1.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:0cc974cc93d32c42e7b0f6cf242a6bd941c57c61b618e78b6c0a96cb72788c1d", size = 51634, upload-time = "2024-10-23T09:46:57.6Z" }, - { url = "https://files.pythonhosted.org/packages/79/73/fa6d1a96ab7fd6e6d1c3500700963eab46813847f01ef0ccbaa726181dd5/frozenlist-1.5.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:31115ba75889723431aa9a4e77d5f398f5cf976eea3bdf61749731f62d4a4a21", size = 94026, upload-time = "2024-10-23T09:46:58.601Z" }, - { url = "https://files.pythonhosted.org/packages/ab/04/ea8bf62c8868b8eada363f20ff1b647cf2e93377a7b284d36062d21d81d1/frozenlist-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7437601c4d89d070eac8323f121fcf25f88674627505334654fd027b091db09d", size = 54150, upload-time = "2024-10-23T09:46:59.608Z" }, - { url = "https://files.pythonhosted.org/packages/d0/9a/8e479b482a6f2070b26bda572c5e6889bb3ba48977e81beea35b5ae13ece/frozenlist-1.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7948140d9f8ece1745be806f2bfdf390127cf1a763b925c4a805c603df5e697e", size = 51927, upload-time = "2024-10-23T09:47:00.625Z" }, - { url = "https://files.pythonhosted.org/packages/e3/12/2aad87deb08a4e7ccfb33600871bbe8f0e08cb6d8224371387f3303654d7/frozenlist-1.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:feeb64bc9bcc6b45c6311c9e9b99406660a9c05ca8a5b30d14a78555088b0b3a", size = 282647, upload-time = "2024-10-23T09:47:01.992Z" }, - { url = "https://files.pythonhosted.org/packages/77/f2/07f06b05d8a427ea0060a9cef6e63405ea9e0d761846b95ef3fb3be57111/frozenlist-1.5.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:683173d371daad49cffb8309779e886e59c2f369430ad28fe715f66d08d4ab1a", size = 289052, upload-time = "2024-10-23T09:47:04.039Z" }, - { url = "https://files.pythonhosted.org/packages/bd/9f/8bf45a2f1cd4aa401acd271b077989c9267ae8463e7c8b1eb0d3f561b65e/frozenlist-1.5.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7d57d8f702221405a9d9b40f9da8ac2e4a1a8b5285aac6100f3393675f0a85ee", size = 291719, upload-time = "2024-10-23T09:47:05.58Z" }, - { url = "https://files.pythonhosted.org/packages/41/d1/1f20fd05a6c42d3868709b7604c9f15538a29e4f734c694c6bcfc3d3b935/frozenlist-1.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30c72000fbcc35b129cb09956836c7d7abf78ab5416595e4857d1cae8d6251a6", size = 267433, upload-time = "2024-10-23T09:47:07.807Z" }, - { url = "https://files.pythonhosted.org/packages/af/f2/64b73a9bb86f5a89fb55450e97cd5c1f84a862d4ff90d9fd1a73ab0f64a5/frozenlist-1.5.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:000a77d6034fbad9b6bb880f7ec073027908f1b40254b5d6f26210d2dab1240e", size = 283591, upload-time = "2024-10-23T09:47:09.645Z" }, - { url = "https://files.pythonhosted.org/packages/29/e2/ffbb1fae55a791fd6c2938dd9ea779509c977435ba3940b9f2e8dc9d5316/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5d7f5a50342475962eb18b740f3beecc685a15b52c91f7d975257e13e029eca9", size = 273249, upload-time = "2024-10-23T09:47:10.808Z" }, - { url = "https://files.pythonhosted.org/packages/2e/6e/008136a30798bb63618a114b9321b5971172a5abddff44a100c7edc5ad4f/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:87f724d055eb4785d9be84e9ebf0f24e392ddfad00b3fe036e43f489fafc9039", size = 271075, upload-time = "2024-10-23T09:47:11.938Z" }, - { url = "https://files.pythonhosted.org/packages/ae/f0/4e71e54a026b06724cec9b6c54f0b13a4e9e298cc8db0f82ec70e151f5ce/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:6e9080bb2fb195a046e5177f10d9d82b8a204c0736a97a153c2466127de87784", size = 285398, upload-time = "2024-10-23T09:47:14.071Z" }, - { url = "https://files.pythonhosted.org/packages/4d/36/70ec246851478b1c0b59f11ef8ade9c482ff447c1363c2bd5fad45098b12/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9b93d7aaa36c966fa42efcaf716e6b3900438632a626fb09c049f6a2f09fc631", size = 294445, upload-time = "2024-10-23T09:47:15.318Z" }, - { url = "https://files.pythonhosted.org/packages/37/e0/47f87544055b3349b633a03c4d94b405956cf2437f4ab46d0928b74b7526/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:52ef692a4bc60a6dd57f507429636c2af8b6046db8b31b18dac02cbc8f507f7f", size = 280569, upload-time = "2024-10-23T09:47:17.149Z" }, - { url = "https://files.pythonhosted.org/packages/f9/7c/490133c160fb6b84ed374c266f42800e33b50c3bbab1652764e6e1fc498a/frozenlist-1.5.0-cp312-cp312-win32.whl", hash = "sha256:29d94c256679247b33a3dc96cce0f93cbc69c23bf75ff715919332fdbb6a32b8", size = 44721, upload-time = "2024-10-23T09:47:19.012Z" }, - { url = "https://files.pythonhosted.org/packages/b1/56/4e45136ffc6bdbfa68c29ca56ef53783ef4c2fd395f7cbf99a2624aa9aaa/frozenlist-1.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:8969190d709e7c48ea386db202d708eb94bdb29207a1f269bab1196ce0dcca1f", size = 51329, upload-time = "2024-10-23T09:47:20.177Z" }, - { url = "https://files.pythonhosted.org/packages/da/3b/915f0bca8a7ea04483622e84a9bd90033bab54bdf485479556c74fd5eaf5/frozenlist-1.5.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7a1a048f9215c90973402e26c01d1cff8a209e1f1b53f72b95c13db61b00f953", size = 91538, upload-time = "2024-10-23T09:47:21.176Z" }, - { url = "https://files.pythonhosted.org/packages/c7/d1/a7c98aad7e44afe5306a2b068434a5830f1470675f0e715abb86eb15f15b/frozenlist-1.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dd47a5181ce5fcb463b5d9e17ecfdb02b678cca31280639255ce9d0e5aa67af0", size = 52849, upload-time = "2024-10-23T09:47:22.439Z" }, - { url = "https://files.pythonhosted.org/packages/3a/c8/76f23bf9ab15d5f760eb48701909645f686f9c64fbb8982674c241fbef14/frozenlist-1.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1431d60b36d15cda188ea222033eec8e0eab488f39a272461f2e6d9e1a8e63c2", size = 50583, upload-time = "2024-10-23T09:47:23.44Z" }, - { url = "https://files.pythonhosted.org/packages/1f/22/462a3dd093d11df623179d7754a3b3269de3b42de2808cddef50ee0f4f48/frozenlist-1.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6482a5851f5d72767fbd0e507e80737f9c8646ae7fd303def99bfe813f76cf7f", size = 265636, upload-time = "2024-10-23T09:47:24.82Z" }, - { url = "https://files.pythonhosted.org/packages/80/cf/e075e407fc2ae7328155a1cd7e22f932773c8073c1fc78016607d19cc3e5/frozenlist-1.5.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44c49271a937625619e862baacbd037a7ef86dd1ee215afc298a417ff3270608", size = 270214, upload-time = "2024-10-23T09:47:26.156Z" }, - { url = "https://files.pythonhosted.org/packages/a1/58/0642d061d5de779f39c50cbb00df49682832923f3d2ebfb0fedf02d05f7f/frozenlist-1.5.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:12f78f98c2f1c2429d42e6a485f433722b0061d5c0b0139efa64f396efb5886b", size = 273905, upload-time = "2024-10-23T09:47:27.741Z" }, - { url = "https://files.pythonhosted.org/packages/ab/66/3fe0f5f8f2add5b4ab7aa4e199f767fd3b55da26e3ca4ce2cc36698e50c4/frozenlist-1.5.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce3aa154c452d2467487765e3adc730a8c153af77ad84096bc19ce19a2400840", size = 250542, upload-time = "2024-10-23T09:47:28.938Z" }, - { url = "https://files.pythonhosted.org/packages/f6/b8/260791bde9198c87a465224e0e2bb62c4e716f5d198fc3a1dacc4895dbd1/frozenlist-1.5.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b7dc0c4338e6b8b091e8faf0db3168a37101943e687f373dce00959583f7439", size = 267026, upload-time = "2024-10-23T09:47:30.283Z" }, - { url = "https://files.pythonhosted.org/packages/2e/a4/3d24f88c527f08f8d44ade24eaee83b2627793fa62fa07cbb7ff7a2f7d42/frozenlist-1.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:45e0896250900b5aa25180f9aec243e84e92ac84bd4a74d9ad4138ef3f5c97de", size = 257690, upload-time = "2024-10-23T09:47:32.388Z" }, - { url = "https://files.pythonhosted.org/packages/de/9a/d311d660420b2beeff3459b6626f2ab4fb236d07afbdac034a4371fe696e/frozenlist-1.5.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:561eb1c9579d495fddb6da8959fd2a1fca2c6d060d4113f5844b433fc02f2641", size = 253893, upload-time = "2024-10-23T09:47:34.274Z" }, - { url = "https://files.pythonhosted.org/packages/c6/23/e491aadc25b56eabd0f18c53bb19f3cdc6de30b2129ee0bc39cd387cd560/frozenlist-1.5.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:df6e2f325bfee1f49f81aaac97d2aa757c7646534a06f8f577ce184afe2f0a9e", size = 267006, upload-time = "2024-10-23T09:47:35.499Z" }, - { url = "https://files.pythonhosted.org/packages/08/c4/ab918ce636a35fb974d13d666dcbe03969592aeca6c3ab3835acff01f79c/frozenlist-1.5.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:140228863501b44b809fb39ec56b5d4071f4d0aa6d216c19cbb08b8c5a7eadb9", size = 276157, upload-time = "2024-10-23T09:47:37.522Z" }, - { url = "https://files.pythonhosted.org/packages/c0/29/3b7a0bbbbe5a34833ba26f686aabfe982924adbdcafdc294a7a129c31688/frozenlist-1.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7707a25d6a77f5d27ea7dc7d1fc608aa0a478193823f88511ef5e6b8a48f9d03", size = 264642, upload-time = "2024-10-23T09:47:38.75Z" }, - { url = "https://files.pythonhosted.org/packages/ab/42/0595b3dbffc2e82d7fe658c12d5a5bafcd7516c6bf2d1d1feb5387caa9c1/frozenlist-1.5.0-cp313-cp313-win32.whl", hash = "sha256:31a9ac2b38ab9b5a8933b693db4939764ad3f299fcaa931a3e605bc3460e693c", size = 44914, upload-time = "2024-10-23T09:47:40.145Z" }, - { url = "https://files.pythonhosted.org/packages/17/c4/b7db1206a3fea44bf3b838ca61deb6f74424a8a5db1dd53ecb21da669be6/frozenlist-1.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:11aabdd62b8b9c4b84081a3c246506d1cddd2dd93ff0ad53ede5defec7886b28", size = 51167, upload-time = "2024-10-23T09:47:41.812Z" }, - { url = "https://files.pythonhosted.org/packages/33/b5/00fcbe8e7e7e172829bf4addc8227d8f599a3d5def3a4e9aa2b54b3145aa/frozenlist-1.5.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:dd94994fc91a6177bfaafd7d9fd951bc8689b0a98168aa26b5f543868548d3ca", size = 95648, upload-time = "2024-10-23T09:47:43.118Z" }, - { url = "https://files.pythonhosted.org/packages/1e/69/e4a32fc4b2fa8e9cb6bcb1bad9c7eeb4b254bc34da475b23f93264fdc306/frozenlist-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2d0da8bbec082bf6bf18345b180958775363588678f64998c2b7609e34719b10", size = 54888, upload-time = "2024-10-23T09:47:44.832Z" }, - { url = "https://files.pythonhosted.org/packages/76/a3/c08322a91e73d1199901a77ce73971cffa06d3c74974270ff97aed6e152a/frozenlist-1.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:73f2e31ea8dd7df61a359b731716018c2be196e5bb3b74ddba107f694fbd7604", size = 52975, upload-time = "2024-10-23T09:47:46.579Z" }, - { url = "https://files.pythonhosted.org/packages/fc/60/a315321d8ada167b578ff9d2edc147274ead6129523b3a308501b6621b4f/frozenlist-1.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:828afae9f17e6de596825cf4228ff28fbdf6065974e5ac1410cecc22f699d2b3", size = 241912, upload-time = "2024-10-23T09:47:47.687Z" }, - { url = "https://files.pythonhosted.org/packages/bd/d0/1f0980987bca4f94f9e8bae01980b23495ffc2e5049a3da4d9b7d2762bee/frozenlist-1.5.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1577515d35ed5649d52ab4319db757bb881ce3b2b796d7283e6634d99ace307", size = 259433, upload-time = "2024-10-23T09:47:49.339Z" }, - { url = "https://files.pythonhosted.org/packages/28/e7/d00600c072eec8f18a606e281afdf0e8606e71a4882104d0438429b02468/frozenlist-1.5.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2150cc6305a2c2ab33299453e2968611dacb970d2283a14955923062c8d00b10", size = 255576, upload-time = "2024-10-23T09:47:50.519Z" }, - { url = "https://files.pythonhosted.org/packages/82/71/993c5f45dba7be347384ddec1ebc1b4d998291884e7690c06aa6ba755211/frozenlist-1.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a72b7a6e3cd2725eff67cd64c8f13335ee18fc3c7befc05aed043d24c7b9ccb9", size = 233349, upload-time = "2024-10-23T09:47:53.197Z" }, - { url = "https://files.pythonhosted.org/packages/66/30/f9c006223feb2ac87f1826b57f2367b60aacc43092f562dab60d2312562e/frozenlist-1.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c16d2fa63e0800723139137d667e1056bee1a1cf7965153d2d104b62855e9b99", size = 243126, upload-time = "2024-10-23T09:47:54.432Z" }, - { url = "https://files.pythonhosted.org/packages/b5/34/e4219c9343f94b81068d0018cbe37948e66c68003b52bf8a05e9509d09ec/frozenlist-1.5.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:17dcc32fc7bda7ce5875435003220a457bcfa34ab7924a49a1c19f55b6ee185c", size = 241261, upload-time = "2024-10-23T09:47:56.01Z" }, - { url = "https://files.pythonhosted.org/packages/48/96/9141758f6a19f2061a51bb59b9907c92f9bda1ac7b2baaf67a6e352b280f/frozenlist-1.5.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:97160e245ea33d8609cd2b8fd997c850b56db147a304a262abc2b3be021a9171", size = 240203, upload-time = "2024-10-23T09:47:57.337Z" }, - { url = "https://files.pythonhosted.org/packages/f9/71/0ef5970e68d181571a050958e84c76a061ca52f9c6f50257d9bfdd84c7f7/frozenlist-1.5.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f1e6540b7fa044eee0bb5111ada694cf3dc15f2b0347ca125ee9ca984d5e9e6e", size = 267539, upload-time = "2024-10-23T09:47:58.874Z" }, - { url = "https://files.pythonhosted.org/packages/ab/bd/6e7d450c5d993b413591ad9cdab6dcdfa2c6ab2cd835b2b5c1cfeb0323bf/frozenlist-1.5.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:91d6c171862df0a6c61479d9724f22efb6109111017c87567cfeb7b5d1449fdf", size = 268518, upload-time = "2024-10-23T09:48:00.771Z" }, - { url = "https://files.pythonhosted.org/packages/cc/3d/5a7c4dfff1ae57ca2cbbe9041521472ecd9446d49e7044a0e9bfd0200fd0/frozenlist-1.5.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:c1fac3e2ace2eb1052e9f7c7db480818371134410e1f5c55d65e8f3ac6d1407e", size = 248114, upload-time = "2024-10-23T09:48:02.625Z" }, - { url = "https://files.pythonhosted.org/packages/f7/41/2342ec4c714349793f1a1e7bd5c4aeec261e24e697fa9a5499350c3a2415/frozenlist-1.5.0-cp38-cp38-win32.whl", hash = "sha256:b97f7b575ab4a8af9b7bc1d2ef7f29d3afee2226bd03ca3875c16451ad5a7723", size = 45648, upload-time = "2024-10-23T09:48:03.895Z" }, - { url = "https://files.pythonhosted.org/packages/0c/90/85bb3547c327f5975078c1be018478d5e8d250a540c828f8f31a35d2a1bd/frozenlist-1.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:374ca2dabdccad8e2a76d40b1d037f5bd16824933bf7bcea3e59c891fd4a0923", size = 51930, upload-time = "2024-10-23T09:48:05.293Z" }, - { url = "https://files.pythonhosted.org/packages/da/4d/d94ff0fb0f5313902c132817c62d19cdc5bdcd0c195d392006ef4b779fc6/frozenlist-1.5.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9bbcdfaf4af7ce002694a4e10a0159d5a8d20056a12b05b45cea944a4953f972", size = 95319, upload-time = "2024-10-23T09:48:06.405Z" }, - { url = "https://files.pythonhosted.org/packages/8c/1b/d90e554ca2b483d31cb2296e393f72c25bdc38d64526579e95576bfda587/frozenlist-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1893f948bf6681733aaccf36c5232c231e3b5166d607c5fa77773611df6dc336", size = 54749, upload-time = "2024-10-23T09:48:07.48Z" }, - { url = "https://files.pythonhosted.org/packages/f8/66/7fdecc9ef49f8db2aa4d9da916e4ecf357d867d87aea292efc11e1b2e932/frozenlist-1.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2b5e23253bb709ef57a8e95e6ae48daa9ac5f265637529e4ce6b003a37b2621f", size = 52718, upload-time = "2024-10-23T09:48:08.725Z" }, - { url = "https://files.pythonhosted.org/packages/08/04/e2fddc92135276e07addbc1cf413acffa0c2d848b3e54cacf684e146df49/frozenlist-1.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f253985bb515ecd89629db13cb58d702035ecd8cfbca7d7a7e29a0e6d39af5f", size = 241756, upload-time = "2024-10-23T09:48:09.843Z" }, - { url = "https://files.pythonhosted.org/packages/c6/52/be5ff200815d8a341aee5b16b6b707355e0ca3652953852238eb92b120c2/frozenlist-1.5.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:04a5c6babd5e8fb7d3c871dc8b321166b80e41b637c31a995ed844a6139942b6", size = 267718, upload-time = "2024-10-23T09:48:11.828Z" }, - { url = "https://files.pythonhosted.org/packages/88/be/4bd93a58be57a3722fc544c36debdf9dcc6758f761092e894d78f18b8f20/frozenlist-1.5.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fe0f1c29ba24ba6ff6abf688cb0b7cf1efab6b6aa6adc55441773c252f7411", size = 263494, upload-time = "2024-10-23T09:48:13.424Z" }, - { url = "https://files.pythonhosted.org/packages/32/ba/58348b90193caa096ce9e9befea6ae67f38dabfd3aacb47e46137a6250a8/frozenlist-1.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:226d72559fa19babe2ccd920273e767c96a49b9d3d38badd7c91a0fdeda8ea08", size = 232838, upload-time = "2024-10-23T09:48:14.792Z" }, - { url = "https://files.pythonhosted.org/packages/f6/33/9f152105227630246135188901373c4f322cc026565ca6215b063f4c82f4/frozenlist-1.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15b731db116ab3aedec558573c1a5eec78822b32292fe4f2f0345b7f697745c2", size = 242912, upload-time = "2024-10-23T09:48:16.249Z" }, - { url = "https://files.pythonhosted.org/packages/a0/10/3db38fb3ccbafadd80a1b0d6800c987b0e3fe3ef2d117c6ced0246eea17a/frozenlist-1.5.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:366d8f93e3edfe5a918c874702f78faac300209a4d5bf38352b2c1bdc07a766d", size = 244763, upload-time = "2024-10-23T09:48:17.781Z" }, - { url = "https://files.pythonhosted.org/packages/e2/cd/1df468fdce2f66a4608dffe44c40cdc35eeaa67ef7fd1d813f99a9a37842/frozenlist-1.5.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1b96af8c582b94d381a1c1f51ffaedeb77c821c690ea5f01da3d70a487dd0a9b", size = 242841, upload-time = "2024-10-23T09:48:19.507Z" }, - { url = "https://files.pythonhosted.org/packages/ee/5f/16097a5ca0bb6b6779c02cc9379c72fe98d56115d4c54d059fb233168fb6/frozenlist-1.5.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:c03eff4a41bd4e38415cbed054bbaff4a075b093e2394b6915dca34a40d1e38b", size = 263407, upload-time = "2024-10-23T09:48:21.467Z" }, - { url = "https://files.pythonhosted.org/packages/0f/f7/58cd220ee1c2248ee65a32f5b4b93689e3fe1764d85537eee9fc392543bc/frozenlist-1.5.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:50cf5e7ee9b98f22bdecbabf3800ae78ddcc26e4a435515fc72d97903e8488e0", size = 265083, upload-time = "2024-10-23T09:48:22.725Z" }, - { url = "https://files.pythonhosted.org/packages/62/b8/49768980caabf81ac4a2d156008f7cbd0107e6b36d08a313bb31035d9201/frozenlist-1.5.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1e76bfbc72353269c44e0bc2cfe171900fbf7f722ad74c9a7b638052afe6a00c", size = 251564, upload-time = "2024-10-23T09:48:24.272Z" }, - { url = "https://files.pythonhosted.org/packages/cb/83/619327da3b86ef957ee7a0cbf3c166a09ed1e87a3f7f1ff487d7d0284683/frozenlist-1.5.0-cp39-cp39-win32.whl", hash = "sha256:666534d15ba8f0fda3f53969117383d5dc021266b3c1a42c9ec4855e4b58b9d3", size = 45691, upload-time = "2024-10-23T09:48:26.317Z" }, - { url = "https://files.pythonhosted.org/packages/8b/28/407bc34a745151ed2322c690b6e7d83d7101472e81ed76e1ebdac0b70a78/frozenlist-1.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:5c28f4b5dbef8a0d8aad0d4de24d1e9e981728628afaf4ea0792f5d0939372f0", size = 51767, upload-time = "2024-10-23T09:48:27.427Z" }, - { url = "https://files.pythonhosted.org/packages/c6/c8/a5be5b7550c10858fcf9b0ea054baccab474da77d37f1e828ce043a3a5d4/frozenlist-1.5.0-py3-none-any.whl", hash = "sha256:d994863bba198a4a518b467bb971c56e1db3f180a25c6cf7bb1949c267f748c3", size = 11901, upload-time = "2024-10-23T09:48:28.851Z" }, -] - [[package]] name = "frozenlist" version = "1.8.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] sdist = { url = "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz", hash = "sha256:3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad", size = 45875, upload-time = "2025-10-06T05:38:17.865Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/83/4a/557715d5047da48d54e659203b9335be7bfaafda2c3f627b7c47e0b3aaf3/frozenlist-1.8.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b37f6d31b3dcea7deb5e9696e529a6aa4a898adc33db82da12e4c60a7c4d2011", size = 86230, upload-time = "2025-10-06T05:35:23.699Z" }, @@ -2114,8 +1367,7 @@ name = "httpx" version = "0.28.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "anyio", version = "4.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "anyio", version = "4.12.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "anyio" }, { name = "certifi" }, { name = "httpcore" }, { name = "idna" }, @@ -2134,13 +1386,24 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" }, ] +[[package]] +name = "importlib-metadata" +version = "8.7.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "zipp" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f3/49/3b30cad09e7771a4982d9975a8cbf64f00d4a1ececb53297f1d9a7be1b10/importlib_metadata-8.7.1.tar.gz", hash = "sha256:49fef1ae6440c182052f407c8d34a68f72efc36db9ca90dc0113398f2fdde8bb", size = 57107, upload-time = "2025-12-21T10:00:19.278Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fa/5e/f8e9a1d23b9c20a551a8a02ea3637b4642e22c2626e3a13a9a29cdea99eb/importlib_metadata-8.7.1-py3-none-any.whl", hash = "sha256:5a1f80bf1daa489495071efbb095d75a634cf28a8bc299581244063b53176151", size = 27865, upload-time = "2025-12-21T10:00:18.329Z" }, +] + [[package]] name = "iniconfig" version = "2.1.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version == '3.9.*'", - "python_full_version < '3.9'", + "python_full_version < '3.10'", ] sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793, upload-time = "2025-03-19T20:09:59.721Z" } wheels = [ @@ -2152,8 +1415,7 @@ name = "iniconfig" version = "2.3.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", + "python_full_version >= '3.11'", "python_full_version == '3.10.*'", ] sdist = { url = "https://files.pythonhosted.org/packages/72/34/14ca021ce8e5dfedc35312d08ba8bf51fdd999c576889fc2c24cb97f4f10/iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730", size = 20503, upload-time = "2025-10-18T21:55:43.219Z" } @@ -2161,124 +1423,22 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484, upload-time = "2025-10-18T21:55:41.639Z" }, ] -[[package]] -name = "isort" -version = "5.13.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/87/f9/c1eb8635a24e87ade2efce21e3ce8cd6b8630bb685ddc9cdaca1349b2eb5/isort-5.13.2.tar.gz", hash = "sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109", size = 175303, upload-time = "2023-12-13T20:37:26.124Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d1/b3/8def84f539e7d2289a02f0524b944b15d7c75dab7628bedf1c4f0992029c/isort-5.13.2-py3-none-any.whl", hash = "sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6", size = 92310, upload-time = "2023-12-13T20:37:23.244Z" }, -] - [[package]] name = "jinja2" version = "3.1.6" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "markupsafe", version = "3.0.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "markupsafe" }, ] sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, ] -[[package]] -name = "jiter" -version = "0.9.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/84/72/c28662416d9807bb5a38625eadedb82d4bd14fd2700c308ece7acdb8e89f/jiter-0.9.1.tar.gz", hash = "sha256:7852990068b6e06102ecdc44c1619855a2af63347bfb5e7e009928dcacf04fdd", size = 162540, upload-time = "2025-05-18T17:47:14.707Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/2b/5f/7f6aaca7943c644b4fd220650771f39dbfb74f9690efc6fb8c0d4092a399/jiter-0.9.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:c0163baa7ee85860fdc14cc39263014500df901eeffdf94c1eab9a2d713b2a9d", size = 312882, upload-time = "2025-05-18T17:45:14.056Z" }, - { url = "https://files.pythonhosted.org/packages/86/0d/aac9eafc5d46bdf5c4f127ac1ce85e434d003bb5e3ae886f5e726a988cf6/jiter-0.9.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:514d4dd845e0af4da15112502e6fcb952f0721f27f17e530454e379472b90c14", size = 311743, upload-time = "2025-05-18T17:45:16.196Z" }, - { url = "https://files.pythonhosted.org/packages/b8/54/fab1f4d8634af7bb1ad6dc49bee50ea9f649de0e5309c80192ace739f968/jiter-0.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b879faee1cc1a67fde3f3f370041239fd260ac452bd53e861aa4a94a51e3fd02", size = 1085889, upload-time = "2025-05-18T17:45:17.883Z" }, - { url = "https://files.pythonhosted.org/packages/bd/86/bf4ed251d8035d5d72a46c8f9969bd5054fad052371cbea0cb161060e660/jiter-0.9.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:20a5ce641f93bfb8d8e336f8c4a045e491652f41eaacc707b15b245ece611e72", size = 1117896, upload-time = "2025-05-18T17:45:19.82Z" }, - { url = "https://files.pythonhosted.org/packages/62/40/b04c40deccd5edd5f2a3853f4a80dc0ddbe157d1d523a573fb3d224315fc/jiter-0.9.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8575b1d2b49df04ca82d658882f4a432b7ed315a69126a379df4d10aeb416021", size = 1211956, upload-time = "2025-05-18T17:45:21.606Z" }, - { url = "https://files.pythonhosted.org/packages/85/f0/114e9893e4ef5b423718efe9b3da01117539c333f06ef19543c68c8b7ed1/jiter-0.9.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cc61831699904e0c58e82943f529713833db87acd13f95a3c0feb791f862d47b", size = 1219691, upload-time = "2025-05-18T17:45:23.061Z" }, - { url = "https://files.pythonhosted.org/packages/02/9a/1aeac4541ce1c59c65dc76dbab642232da3d8db0581df3e61b8943033bd7/jiter-0.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0fb733faf4d0e730d6663873249c1acb572fc8bd9dae3836ceda69751f27c5be", size = 352604, upload-time = "2025-05-18T17:45:24.485Z" }, - { url = "https://files.pythonhosted.org/packages/6b/27/446ec6ca0a25d9d2f45ad546633a2b4a1b6a7f28fb6819c7056b163c5aee/jiter-0.9.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d903b3bb917c0df24f2ef62f587c8f32f6003cb2f97264109ca56c023262557f", size = 1147136, upload-time = "2025-05-18T17:45:25.832Z" }, - { url = "https://files.pythonhosted.org/packages/09/9d/c8540bc097b07e106d060c21395c6fa6561223e7366c948a04ef0aa39979/jiter-0.9.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:eac3eb5206845b170142c016ae467eca523a25459dc9c53fcd8e154ea263406c", size = 1255843, upload-time = "2025-05-18T17:45:27.513Z" }, - { url = "https://files.pythonhosted.org/packages/d3/61/9b377ecf4e09e325e90f77a7a4859ec933162f58ff5c6b7730aff6352033/jiter-0.9.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7ea0c20cfc61acc5335bb8ee36d639e6a4ded03f34f878b2b3038bb9f3bb553c", size = 1257536, upload-time = "2025-05-18T17:45:29.304Z" }, - { url = "https://files.pythonhosted.org/packages/ed/f6/b6754e11ac9d02f05a2d713c0846ce813a69c1f6f7de7f1ae216c4e35ace/jiter-0.9.1-cp310-cp310-win32.whl", hash = "sha256:0f8f812dd6d2b4112db9ab4c1079c4fe73e553a500e936657fdda394fa2517e1", size = 214064, upload-time = "2025-05-18T17:45:31.037Z" }, - { url = "https://files.pythonhosted.org/packages/1d/cb/7b9c5d6f73499d1fb5e97e36e8078f3bea00d7541a973117eccf9db1e079/jiter-0.9.1-cp310-cp310-win_amd64.whl", hash = "sha256:f7f0198889170e7af6210509803e6527b402efc6c26f42e2896883597a10426f", size = 209952, upload-time = "2025-05-18T17:45:32.772Z" }, - { url = "https://files.pythonhosted.org/packages/ee/3b/9f9deaef471e346354c832b6627e0d1b9ba3d9611d0e0fd394c2acf2a615/jiter-0.9.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:6b8564e3198c4c8d835fc95cc54d6bcbd2fd8dc33a047fecc12c208491196995", size = 312737, upload-time = "2025-05-18T17:45:34.456Z" }, - { url = "https://files.pythonhosted.org/packages/36/00/76fa6d519f8289aad32ec1caf3716eb700ba48e3212d1dda71e74c385a5c/jiter-0.9.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:90b92044588d14efe89b394eca735adc4ac096eba82dc75d93c3083b1eebce8d", size = 313357, upload-time = "2025-05-18T17:45:36.672Z" }, - { url = "https://files.pythonhosted.org/packages/b3/e9/f864ebe9ddf07761d5bdd3148b45a5d433c6cbce7c7e8be29baf806fa612/jiter-0.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3505f7f419b355c7788fcaae0dfc4c6ccbc50c0dc3633a2da797e841c5a423dc", size = 1085946, upload-time = "2025-05-18T17:45:37.989Z" }, - { url = "https://files.pythonhosted.org/packages/82/a1/ed02d4c86d620989dcd392366daa67198961eedaf2e66f7a68f0d3846dba/jiter-0.9.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:93af8c3f4a3bf145c690e857a945eb5c655534bf95c67e1447d85c02e5af64d7", size = 1118090, upload-time = "2025-05-18T17:45:39.322Z" }, - { url = "https://files.pythonhosted.org/packages/d3/01/d107531d215a57cda3cbc4adfcf3119166dd32adc1c332c1f3f36efd3484/jiter-0.9.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:43b81dd21e260a249780764921b1f9a6379cb31e24e7b61e6bf0799f38ec4b91", size = 1212231, upload-time = "2025-05-18T17:45:40.738Z" }, - { url = "https://files.pythonhosted.org/packages/45/1e/6801a81a2ef1f917fe9a7d2139e576dd4f53497c309dab9461136922709c/jiter-0.9.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:db639fad5631b3d1692609f6dd77b64e8578321b7aeec07a026acd2c867c04a5", size = 1219263, upload-time = "2025-05-18T17:45:42.698Z" }, - { url = "https://files.pythonhosted.org/packages/a5/d4/40082e8666cfdb24461855e9bb29fe77f063cc65a6c903291f2e5225f780/jiter-0.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15356b943e70ca7ab3b587ffaffadc0158467f6c4e0b491e52a0743c4bdf5ba1", size = 350364, upload-time = "2025-05-18T17:45:44.257Z" }, - { url = "https://files.pythonhosted.org/packages/c4/09/09bc72dd143f76acd55e04c3a45b9f9ee3ed28e00b49924e3702ad041812/jiter-0.9.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:53a7033a46141ff815518a6972d657c75d8f5946b9315e1c25b07e9677c1ff6c", size = 1146802, upload-time = "2025-05-18T17:45:45.945Z" }, - { url = "https://files.pythonhosted.org/packages/5b/34/9d15a9c04d5760537b432134447bde94b936ec73dc922b4d14a48def2e1f/jiter-0.9.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:68cf519a6f00b8127f9be64a37e97e978094438abced5adebe088a98c64bdcff", size = 1256019, upload-time = "2025-05-18T17:45:47.544Z" }, - { url = "https://files.pythonhosted.org/packages/8f/01/1fcd165fb28968a54bb46a209d5919f7649b96608eef7dc4622ea378b95a/jiter-0.9.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9098abdd34cd9ddeb04768cc4f5fc725ebd9a52978c488da74e58a837ce93506", size = 1257610, upload-time = "2025-05-18T17:45:48.902Z" }, - { url = "https://files.pythonhosted.org/packages/9f/87/93ac6a57331dd90e4c896ac852bf8ce6b28b40dace4b9698a207dbb99af2/jiter-0.9.1-cp311-cp311-win32.whl", hash = "sha256:7179ce96aecd096af890dd57b84133e47a59fbde32a77734f09bafa6a4da619e", size = 214515, upload-time = "2025-05-18T17:45:50.248Z" }, - { url = "https://files.pythonhosted.org/packages/bb/ee/3678b8a3bd5f6471d0a492540e7ff9c63db278d844214458ec5cfb22adb2/jiter-0.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:e6517f5b7b6f60fd77fc1099572f445be19553c6f61b907ab5b413fb7179663f", size = 212258, upload-time = "2025-05-18T17:45:51.983Z" }, - { url = "https://files.pythonhosted.org/packages/ba/a7/5b3ce91b5bb83bf47e85ab2efda26a1706fb52498a2abe79df09af7dfa8f/jiter-0.9.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:f330c5023ce4153ceb3e8abe76ecab8c5b525824bcec4e781791d044e5b5fc3a", size = 307494, upload-time = "2025-05-18T17:45:53.639Z" }, - { url = "https://files.pythonhosted.org/packages/fd/9a/006ebbb5ab55fd9f47c219f9de7fdedd38694c158ddd6760a15f7a6fcdc8/jiter-0.9.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:77de4d2d529ece2d43fc0dbe90971e9e18f42ed6dd50b40fe232e799efb72c29", size = 312782, upload-time = "2025-05-18T17:45:55.384Z" }, - { url = "https://files.pythonhosted.org/packages/17/da/a437705850c8cf6b8c93769ff6fcb3abcbfeb9c12b690c5f1631682d4286/jiter-0.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ed3eec217a70762a01ecfbecea27eda91d7d5792bdef41096d2c672a9e3c1fe", size = 1087076, upload-time = "2025-05-18T17:45:56.866Z" }, - { url = "https://files.pythonhosted.org/packages/e6/8b/f463a03de974d437abc312a0ca6212e2b014b7023a880fd6956ebfde15c7/jiter-0.9.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d000bb8b9b3a90fb61ff864869461c56ad2dad5f0fa71127464cb65e69ec864b", size = 1118826, upload-time = "2025-05-18T17:45:58.359Z" }, - { url = "https://files.pythonhosted.org/packages/6a/04/4d9289d8610f2b10886b4bd32b0c6e036fdeabc86cc9a902e50434a066bd/jiter-0.9.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3610aed85fad26d5e107ce4e246c236b612e539b382d490761aacc4aa5d7cdbf", size = 1213155, upload-time = "2025-05-18T17:45:59.719Z" }, - { url = "https://files.pythonhosted.org/packages/f3/4c/851c0a7c95e333d5213558fc76d217a7760de8b704299c007537af49e1de/jiter-0.9.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ae8f1f42f4b0ed244f88bb863d0777292e76e43ee2dc0dac4d63fe29bee183e5", size = 1215024, upload-time = "2025-05-18T17:46:01.083Z" }, - { url = "https://files.pythonhosted.org/packages/8f/24/9c62f5775645715ded77a4cf03b9f3c36d4909ee35b07f65bb4ccaad4bfd/jiter-0.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2082da43e7b6174c3522a6905a9ee9187c9771e32cad7ab58360f189595a7c3f", size = 350280, upload-time = "2025-05-18T17:46:02.912Z" }, - { url = "https://files.pythonhosted.org/packages/d9/79/54a4b1074f1f048ca822a2f4a738fa7b623203540a59ec99d0b0277c38ef/jiter-0.9.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d82b2b8bc089c4ebff99907bdb890730e05c58169d5493473c916518f8d29f5c", size = 1150978, upload-time = "2025-05-18T17:46:04.229Z" }, - { url = "https://files.pythonhosted.org/packages/9c/1b/caaa8d274ba82486dfb582e32f431412f2e178344ebf6a231b8606c048fd/jiter-0.9.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:8b7214d4064759ff34846311cabcf49715e8a7286a4431bc7444537ee2f21b1a", size = 1257583, upload-time = "2025-05-18T17:46:06.113Z" }, - { url = "https://files.pythonhosted.org/packages/19/f7/a5f991075b16b76b15e4da7939243f373ff4369ce41145be428c7c43d905/jiter-0.9.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:136a635797b27aeb5cacea4d0ffeff5c80081089217c5891bd28968e5df97824", size = 1258268, upload-time = "2025-05-18T17:46:08.564Z" }, - { url = "https://files.pythonhosted.org/packages/94/8f/6fabe1aa77637be629e73db2ee3059889b893c4be391f0e038b71948d208/jiter-0.9.1-cp312-cp312-win32.whl", hash = "sha256:5da9a4e2939c4af7617fe01f7e3978fba224d93def72bc748d173f148a8b637f", size = 214250, upload-time = "2025-05-18T17:46:10.108Z" }, - { url = "https://files.pythonhosted.org/packages/7d/18/6f118d22acf5930d5a46c4f6853eead883af8c097d83e2a2971308864423/jiter-0.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:d1434a05965d0c1f033061f21553fef5c3a352f3e880a0f503e79e6b639db10c", size = 211070, upload-time = "2025-05-18T17:46:11.39Z" }, - { url = "https://files.pythonhosted.org/packages/e2/36/4b5c7c96ce4795376e546bcabd96d8fe8667c9fdeb946523ca382cc30eaa/jiter-0.9.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:cb0629af6a12804ace5f093884c2f14d5075d95951a086054e106cfdb6b8862f", size = 307047, upload-time = "2025-05-18T17:46:13.192Z" }, - { url = "https://files.pythonhosted.org/packages/3e/20/7635fb02fe62cd90899dc1c64c972c1470106eede55ce35fc6e3868251af/jiter-0.9.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d15cc2b5602fb5a16689afb507b27c650167152203394efa429a5139553dd993", size = 311796, upload-time = "2025-05-18T17:46:14.455Z" }, - { url = "https://files.pythonhosted.org/packages/e4/43/7e4a38c63b9f1a5795d406a7cf1e8a42af0e51d05d5c5b866708a345d49e/jiter-0.9.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffbf9279273b41fb8c4360ad2590a8eea82b36665728f57b0d7b095a904016d9", size = 1086812, upload-time = "2025-05-18T17:46:15.765Z" }, - { url = "https://files.pythonhosted.org/packages/30/17/3d5ad7a1e12bb172040c2e206068ee766a320c6b6327a0a52a9c05bf4cd6/jiter-0.9.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3fca2935783d4309eed77ed2acd625f93a07b79693f7d8e58e3c18ac8981e9ea", size = 1118218, upload-time = "2025-05-18T17:46:17.876Z" }, - { url = "https://files.pythonhosted.org/packages/a0/f7/9f46d976a91f339898783962043c36b8c9fe103135f264ae25dddad9838e/jiter-0.9.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f3f5f14d63924d3b226236c746ceb37f5ac9d3ce1251762819024f84904b4a0f", size = 1211346, upload-time = "2025-05-18T17:46:19.823Z" }, - { url = "https://files.pythonhosted.org/packages/93/71/cf594ec8c76188b5e42fc4f00a9cdfb3f675631234f5a1ac5413fe6684cb/jiter-0.9.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0d43dcddb437096ac48e85f6be8355d806ab9246051f95263933fa5e18d026aa", size = 1214466, upload-time = "2025-05-18T17:46:21.639Z" }, - { url = "https://files.pythonhosted.org/packages/e2/e5/efd89f27838ea9d8257c9bc8edd58a953e06ca304c7d2b397fdd2a932e51/jiter-0.9.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:19773c6f730523effbca88c4a15658b481cf81e4c981fcd1212dd4beaa0cd37a", size = 350245, upload-time = "2025-05-18T17:46:22.962Z" }, - { url = "https://files.pythonhosted.org/packages/b3/78/b7960c8a04d593687659007e6b7f911ef3f877eb11cd2503267ad5b2da0b/jiter-0.9.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:01fcc08b6d3e29562d72edfcd6c5b0aab30b964fb0c99ad8287c2dffeb6fd38c", size = 1149223, upload-time = "2025-05-18T17:46:25.732Z" }, - { url = "https://files.pythonhosted.org/packages/65/60/4777b5a70febeece230593a82a69d0d19b5b6e36a8b3afcc4b43528c2657/jiter-0.9.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:448afc1a801a518ed438667229f380bb0b8503f379d170ac947575cb7e1e4edf", size = 1257025, upload-time = "2025-05-18T17:46:27.162Z" }, - { url = "https://files.pythonhosted.org/packages/e8/c1/8fe3483537d85bc381bdab2a4952707d92944b1ac32074f7b33de188c2d0/jiter-0.9.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:f321fb984ed7544e77346714a25ffa5bbefddd1adcc32c8fba49030a119a31c6", size = 1257882, upload-time = "2025-05-18T17:46:29.21Z" }, - { url = "https://files.pythonhosted.org/packages/7b/1a/4453114fb7b3722f8d232b3c08114535e455d7d2d4d83b44cede53ed42ae/jiter-0.9.1-cp313-cp313-win32.whl", hash = "sha256:7db7c9a95d72668545606aeaf110549f4f42679eaa3ce5c32f8f26c1838550d8", size = 214946, upload-time = "2025-05-18T17:46:30.607Z" }, - { url = "https://files.pythonhosted.org/packages/15/d0/237d7dbaaafb08a6f719c8495663b76d70d6c5880a02c7b092f21292458b/jiter-0.9.1-cp313-cp313-win_amd64.whl", hash = "sha256:a6b750ef1201fe4c431f869705607ece4adaf592e497efb6bc4138efaebb4f59", size = 209888, upload-time = "2025-05-18T17:46:31.89Z" }, - { url = "https://files.pythonhosted.org/packages/51/32/e90c89adbea8342b6e470f3be9c213b628ae3842810553df15d5afb386ce/jiter-0.9.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:4096dba935aa2730c7642146b065855a0f5853fd9bbe22de9e3dd39fcacc37fe", size = 311645, upload-time = "2025-05-18T17:46:33.196Z" }, - { url = "https://files.pythonhosted.org/packages/29/40/98fee5bab390c27d20ba82c73d12afd1db89aabeef641ae7629a31a7100f/jiter-0.9.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13ad975e0d9d2f7e54b30d9ae8e2e1c97be422e75606bddc67427721ad13cd1c", size = 352754, upload-time = "2025-05-18T17:46:34.457Z" }, - { url = "https://files.pythonhosted.org/packages/9b/17/b0fa4ee5bdcb252b2407fc9528f11d8af717b7218455d23018cf314ccf6a/jiter-0.9.1-cp313-cp313t-win_amd64.whl", hash = "sha256:f11992b20f8a2d336b98b31bff4d8bfcc4bd5aef7840594e32d6cb44fb9b96cf", size = 212573, upload-time = "2025-05-18T17:46:35.855Z" }, - { url = "https://files.pythonhosted.org/packages/26/ca/1c7438d66969a13938266492de65daf752754ec59f2a3f3716027c7d708f/jiter-0.9.1-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:95065923a49ae387bab62b1bf5f798beb12e6fb4469a079fdd0ecad64b40b272", size = 313516, upload-time = "2025-05-18T17:46:37.568Z" }, - { url = "https://files.pythonhosted.org/packages/e8/d9/3a6300309e312f8ed529ae57d565f69abdb520e4f12460cefa7996d0716c/jiter-0.9.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a179fbc5c7922844a673be35099a3036a7276dc63753c6c81a77c3cb525f2f8d", size = 308161, upload-time = "2025-05-18T17:46:39.697Z" }, - { url = "https://files.pythonhosted.org/packages/b3/91/2aca15be38514daf8f1a1460fd9c4b652ed09148fe109520298858be7928/jiter-0.9.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abd30dc5c0183d31faf30ce8279d723809c54b3fe6d95d922d4a4b31bc462799", size = 1086100, upload-time = "2025-05-18T17:46:41.176Z" }, - { url = "https://files.pythonhosted.org/packages/9f/6f/f7ba3dfe7be08bf58939324e0bb4f4aa605eff7f2c2ac140a41221cf50a4/jiter-0.9.1-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9765512bdeae269843e6615377f48123432da247e18048d05e9c5685377c241c", size = 1118922, upload-time = "2025-05-18T17:46:42.651Z" }, - { url = "https://files.pythonhosted.org/packages/b5/4e/b1f4d9bdba81de293e1b8672598300a9195cf3d77b0acc5f331a75695b58/jiter-0.9.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6f15cdbdc1e1e89e0d9ea581de63e03975043a4b40ab87d5554fdc440357b771", size = 1212327, upload-time = "2025-05-18T17:46:44.193Z" }, - { url = "https://files.pythonhosted.org/packages/3e/ab/e417aaf5a62067bd91c5f7ed4e5ab83bd46f349449adde1159ad8e2d3a21/jiter-0.9.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b1a639b2cfe56b5b687c678ed45d68f46dfb922c2f338fdfb227eb500053929d", size = 1220860, upload-time = "2025-05-18T17:46:45.728Z" }, - { url = "https://files.pythonhosted.org/packages/1e/50/c5ba756c641ca8ebc1e4ff07c03ce5c8ef5052b0238f514436f8de3c9fc4/jiter-0.9.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41955c9d83c8470de9cc64c97b04a3ffd2f32815bb2c4307f44d8e21542b74df", size = 344077, upload-time = "2025-05-18T17:46:47.49Z" }, - { url = "https://files.pythonhosted.org/packages/c6/b3/bd7d8d4bad65aa1f4a20562233080054149785c0d7f7b9027e761335d882/jiter-0.9.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f26f6d42c330e26a6ba3471b390364faad96f3ca965a6c579957810b0c078efa", size = 1148785, upload-time = "2025-05-18T17:46:48.906Z" }, - { url = "https://files.pythonhosted.org/packages/c0/12/bfd9a167709f96171312d1e0ae2c1be70a167abcc3bff6f3441967e3626a/jiter-0.9.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:6a23e01bd7e918f27f02d3df8721b8a395211070a8a65aeb353209b8c72720cf", size = 1255962, upload-time = "2025-05-18T17:46:50.775Z" }, - { url = "https://files.pythonhosted.org/packages/5f/3c/3a79020862d2511b854b350bc9229cf228fd38b836e94f274ca940e22e95/jiter-0.9.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8a96ad217989dd9df661711c3fa2e6fb2601c4bbb482e89718110bdafbc16c9e", size = 1257561, upload-time = "2025-05-18T17:46:52.291Z" }, - { url = "https://files.pythonhosted.org/packages/93/d3/7f6f8e57613d4947a872980befa6af19de9252e310ea4a512eed0fe1e064/jiter-0.9.1-cp38-cp38-win32.whl", hash = "sha256:4b180e7baa4747b3834c5a9202b1ba30dc64797f45236d9142cdb2a8807763cf", size = 215019, upload-time = "2025-05-18T17:46:54.068Z" }, - { url = "https://files.pythonhosted.org/packages/9b/5d/b6f0cd60c8f702936f253644a92dee19e2c82010290e4607af462033351f/jiter-0.9.1-cp38-cp38-win_amd64.whl", hash = "sha256:baf881de1fbc7b3343cce24f75a2ab6350e03fc13d16d00f452929788a6cdc3f", size = 199563, upload-time = "2025-05-18T17:46:55.795Z" }, - { url = "https://files.pythonhosted.org/packages/4f/3a/a8a4768af26578c87894bb130bcd6fb6c97f4cb36ed7a20a664412d41935/jiter-0.9.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:ec95aa1b433c50b2b129456b4680b239ec93206ea3f86cfd41b6a70be5beb2f3", size = 313942, upload-time = "2025-05-18T17:46:57.153Z" }, - { url = "https://files.pythonhosted.org/packages/63/74/05977891db48000d985a5f573493c43adf0f190eada670e51b92c9ed9139/jiter-0.9.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5d92cb50d135dbdd33b638fa2e0c6af25e1d635d38da13aa9ab05d021fb0c869", size = 308160, upload-time = "2025-05-18T17:46:58.439Z" }, - { url = "https://files.pythonhosted.org/packages/21/54/75f529e90442c8ad41acd8cf08323a4f3dcaa105710b2c8a1fda56e3a462/jiter-0.9.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b146dc2464f1d96007271d08bdf79288a5f1aa4aae5329eb79dcffb1181c703e", size = 1086503, upload-time = "2025-05-18T17:47:00.286Z" }, - { url = "https://files.pythonhosted.org/packages/bf/fa/02532a7ce7b712c576125d4f2614e77bc897c95b2b15e21ee25f42b3ff34/jiter-0.9.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fcf20ba858658ecd54b4710172d92009afa66d41d967c86d11607592a3c220fa", size = 1120444, upload-time = "2025-05-18T17:47:01.713Z" }, - { url = "https://files.pythonhosted.org/packages/91/c2/ab8cebaea6f2691eddcc5b6c67deb1399adbd85f12ad836f7cd77be78bf8/jiter-0.9.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:147fccc44bebdb672d4c601e9312730488b840d415e201e89c8ea0929a63dacf", size = 1212370, upload-time = "2025-05-18T17:47:03.145Z" }, - { url = "https://files.pythonhosted.org/packages/13/e3/90dddb7877b67cc0e1ddb864c2ca74314def26ff6542431a6e3061e0f805/jiter-0.9.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a428061aae26efaa6fb690ef9e7d6224aefe4eef7524165d073beb3cdad75f6f", size = 1221210, upload-time = "2025-05-18T17:47:05.042Z" }, - { url = "https://files.pythonhosted.org/packages/81/76/90ee847519a94a4a1a8bad7addce7019f424aea03c55eacf068469226760/jiter-0.9.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7164d92bb901784bd3c098ac0b0beae4306ea6c741dbd3a375449a8affc5366", size = 353774, upload-time = "2025-05-18T17:47:06.445Z" }, - { url = "https://files.pythonhosted.org/packages/59/a6/614a5d672d4b9c6bc9ad34579f0522577a0a78cc265069fca96543a832ca/jiter-0.9.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:93049a562233808914a2b938b0c745d7049db1667b3f42f0f5cf48e617393ba5", size = 1148581, upload-time = "2025-05-18T17:47:07.821Z" }, - { url = "https://files.pythonhosted.org/packages/2d/94/c100147c310361fa83e25c4c6ce17723532147580252962b89e6085795c2/jiter-0.9.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:f6dcf2cb16cc15d82a018e20eeaf169e6f6cd8c426f4c312ebe11710c623bed2", size = 1256636, upload-time = "2025-05-18T17:47:09.189Z" }, - { url = "https://files.pythonhosted.org/packages/51/9a/dc82e218ba839052899df555e34f16b8ad1d7da9c01be208f65a5bf0083c/jiter-0.9.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:2da9d485a7c526817cde9ff8b3394fa50ff5b782b86b6896378a3ba8844550f2", size = 1258099, upload-time = "2025-05-18T17:47:10.568Z" }, - { url = "https://files.pythonhosted.org/packages/58/d5/d853e069624038950265ac0e877985b249049b624e925dab6cd11035140c/jiter-0.9.1-cp39-cp39-win32.whl", hash = "sha256:ea58c155d827d24e5ba8d7958ec4738b26be0894c0881a91d88b39ff48bb06c9", size = 214611, upload-time = "2025-05-18T17:47:12.012Z" }, - { url = "https://files.pythonhosted.org/packages/cb/8d/7b6b1ee6e3d9d1a06237bbdfe4c6bb21baf323d3f70a0cc8f203de40c6b2/jiter-0.9.1-cp39-cp39-win_amd64.whl", hash = "sha256:be2e911ecdb438951290c2079fe4190e7cc5be9e849df4caeb085b83ed620ff6", size = 211171, upload-time = "2025-05-18T17:47:13.47Z" }, -] - [[package]] name = "jiter" version = "0.12.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] sdist = { url = "https://files.pythonhosted.org/packages/45/9d/e0660989c1370e25848bb4c52d061c71837239738ad937e83edca174c273/jiter-0.12.0.tar.gz", hash = "sha256:64dfcd7d5c168b38d3f9f8bba7fc639edb3418abcc74f22fdbe6b8938293f30b", size = 168294, upload-time = "2025-11-09T20:49:23.302Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/3b/91/13cb9505f7be74a933f37da3af22e029f6ba64f5669416cb8b2774bc9682/jiter-0.12.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:e7acbaba9703d5de82a2c98ae6a0f59ab9770ab5af5fa35e43a303aee962cf65", size = 316652, upload-time = "2025-11-09T20:46:41.021Z" }, @@ -2393,77 +1553,10 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b8/06/2697b5043c3ecb720ce0d243fc7cf5024c0b5b1e450506e9b21939019963/markdown2-2.5.4-py3-none-any.whl", hash = "sha256:3c4b2934e677be7fec0e6f2de4410e116681f4ad50ec8e5ba7557be506d3f439", size = 49954, upload-time = "2025-07-27T16:16:23.026Z" }, ] -[[package]] -name = "markupsafe" -version = "2.1.5" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/87/5b/aae44c6655f3801e81aa3eef09dbbf012431987ba564d7231722f68df02d/MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b", size = 19384, upload-time = "2024-02-02T16:31:22.863Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e4/54/ad5eb37bf9d51800010a74e4665425831a9db4e7c4e0fde4352e391e808e/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc", size = 18206, upload-time = "2024-02-02T16:30:04.105Z" }, - { url = "https://files.pythonhosted.org/packages/6a/4a/a4d49415e600bacae038c67f9fecc1d5433b9d3c71a4de6f33537b89654c/MarkupSafe-2.1.5-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5", size = 14079, upload-time = "2024-02-02T16:30:06.5Z" }, - { url = "https://files.pythonhosted.org/packages/0a/7b/85681ae3c33c385b10ac0f8dd025c30af83c78cec1c37a6aa3b55e67f5ec/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46", size = 26620, upload-time = "2024-02-02T16:30:08.31Z" }, - { url = "https://files.pythonhosted.org/packages/7c/52/2b1b570f6b8b803cef5ac28fdf78c0da318916c7d2fe9402a84d591b394c/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f", size = 25818, upload-time = "2024-02-02T16:30:09.577Z" }, - { url = "https://files.pythonhosted.org/packages/29/fe/a36ba8c7ca55621620b2d7c585313efd10729e63ef81e4e61f52330da781/MarkupSafe-2.1.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900", size = 25493, upload-time = "2024-02-02T16:30:11.488Z" }, - { url = "https://files.pythonhosted.org/packages/60/ae/9c60231cdfda003434e8bd27282b1f4e197ad5a710c14bee8bea8a9ca4f0/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff", size = 30630, upload-time = "2024-02-02T16:30:13.144Z" }, - { url = "https://files.pythonhosted.org/packages/65/dc/1510be4d179869f5dafe071aecb3f1f41b45d37c02329dfba01ff59e5ac5/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad", size = 29745, upload-time = "2024-02-02T16:30:14.222Z" }, - { url = "https://files.pythonhosted.org/packages/30/39/8d845dd7d0b0613d86e0ef89549bfb5f61ed781f59af45fc96496e897f3a/MarkupSafe-2.1.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd", size = 30021, upload-time = "2024-02-02T16:30:16.032Z" }, - { url = "https://files.pythonhosted.org/packages/c7/5c/356a6f62e4f3c5fbf2602b4771376af22a3b16efa74eb8716fb4e328e01e/MarkupSafe-2.1.5-cp310-cp310-win32.whl", hash = "sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4", size = 16659, upload-time = "2024-02-02T16:30:17.079Z" }, - { url = "https://files.pythonhosted.org/packages/69/48/acbf292615c65f0604a0c6fc402ce6d8c991276e16c80c46a8f758fbd30c/MarkupSafe-2.1.5-cp310-cp310-win_amd64.whl", hash = "sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5", size = 17213, upload-time = "2024-02-02T16:30:18.251Z" }, - { url = "https://files.pythonhosted.org/packages/11/e7/291e55127bb2ae67c64d66cef01432b5933859dfb7d6949daa721b89d0b3/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f", size = 18219, upload-time = "2024-02-02T16:30:19.988Z" }, - { url = "https://files.pythonhosted.org/packages/6b/cb/aed7a284c00dfa7c0682d14df85ad4955a350a21d2e3b06d8240497359bf/MarkupSafe-2.1.5-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2", size = 14098, upload-time = "2024-02-02T16:30:21.063Z" }, - { url = "https://files.pythonhosted.org/packages/1c/cf/35fe557e53709e93feb65575c93927942087e9b97213eabc3fe9d5b25a55/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced", size = 29014, upload-time = "2024-02-02T16:30:22.926Z" }, - { url = "https://files.pythonhosted.org/packages/97/18/c30da5e7a0e7f4603abfc6780574131221d9148f323752c2755d48abad30/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5", size = 28220, upload-time = "2024-02-02T16:30:24.76Z" }, - { url = "https://files.pythonhosted.org/packages/0c/40/2e73e7d532d030b1e41180807a80d564eda53babaf04d65e15c1cf897e40/MarkupSafe-2.1.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c", size = 27756, upload-time = "2024-02-02T16:30:25.877Z" }, - { url = "https://files.pythonhosted.org/packages/18/46/5dca760547e8c59c5311b332f70605d24c99d1303dd9a6e1fc3ed0d73561/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f", size = 33988, upload-time = "2024-02-02T16:30:26.935Z" }, - { url = "https://files.pythonhosted.org/packages/6d/c5/27febe918ac36397919cd4a67d5579cbbfa8da027fa1238af6285bb368ea/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a", size = 32718, upload-time = "2024-02-02T16:30:28.111Z" }, - { url = "https://files.pythonhosted.org/packages/f8/81/56e567126a2c2bc2684d6391332e357589a96a76cb9f8e5052d85cb0ead8/MarkupSafe-2.1.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f", size = 33317, upload-time = "2024-02-02T16:30:29.214Z" }, - { url = "https://files.pythonhosted.org/packages/00/0b/23f4b2470accb53285c613a3ab9ec19dc944eaf53592cb6d9e2af8aa24cc/MarkupSafe-2.1.5-cp311-cp311-win32.whl", hash = "sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906", size = 16670, upload-time = "2024-02-02T16:30:30.915Z" }, - { url = "https://files.pythonhosted.org/packages/b7/a2/c78a06a9ec6d04b3445a949615c4c7ed86a0b2eb68e44e7541b9d57067cc/MarkupSafe-2.1.5-cp311-cp311-win_amd64.whl", hash = "sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617", size = 17224, upload-time = "2024-02-02T16:30:32.09Z" }, - { url = "https://files.pythonhosted.org/packages/53/bd/583bf3e4c8d6a321938c13f49d44024dbe5ed63e0a7ba127e454a66da974/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1", size = 18215, upload-time = "2024-02-02T16:30:33.081Z" }, - { url = "https://files.pythonhosted.org/packages/48/d6/e7cd795fc710292c3af3a06d80868ce4b02bfbbf370b7cee11d282815a2a/MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4", size = 14069, upload-time = "2024-02-02T16:30:34.148Z" }, - { url = "https://files.pythonhosted.org/packages/51/b5/5d8ec796e2a08fc814a2c7d2584b55f889a55cf17dd1a90f2beb70744e5c/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee", size = 29452, upload-time = "2024-02-02T16:30:35.149Z" }, - { url = "https://files.pythonhosted.org/packages/0a/0d/2454f072fae3b5a137c119abf15465d1771319dfe9e4acbb31722a0fff91/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5", size = 28462, upload-time = "2024-02-02T16:30:36.166Z" }, - { url = "https://files.pythonhosted.org/packages/2d/75/fd6cb2e68780f72d47e6671840ca517bda5ef663d30ada7616b0462ad1e3/MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b", size = 27869, upload-time = "2024-02-02T16:30:37.834Z" }, - { url = "https://files.pythonhosted.org/packages/b0/81/147c477391c2750e8fc7705829f7351cf1cd3be64406edcf900dc633feb2/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a", size = 33906, upload-time = "2024-02-02T16:30:39.366Z" }, - { url = "https://files.pythonhosted.org/packages/8b/ff/9a52b71839d7a256b563e85d11050e307121000dcebc97df120176b3ad93/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f", size = 32296, upload-time = "2024-02-02T16:30:40.413Z" }, - { url = "https://files.pythonhosted.org/packages/88/07/2dc76aa51b481eb96a4c3198894f38b480490e834479611a4053fbf08623/MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169", size = 33038, upload-time = "2024-02-02T16:30:42.243Z" }, - { url = "https://files.pythonhosted.org/packages/96/0c/620c1fb3661858c0e37eb3cbffd8c6f732a67cd97296f725789679801b31/MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad", size = 16572, upload-time = "2024-02-02T16:30:43.326Z" }, - { url = "https://files.pythonhosted.org/packages/3f/14/c3554d512d5f9100a95e737502f4a2323a1959f6d0d01e0d0997b35f7b10/MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb", size = 17127, upload-time = "2024-02-02T16:30:44.418Z" }, - { url = "https://files.pythonhosted.org/packages/f8/ff/2c942a82c35a49df5de3a630ce0a8456ac2969691b230e530ac12314364c/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a", size = 18192, upload-time = "2024-02-02T16:30:57.715Z" }, - { url = "https://files.pythonhosted.org/packages/4f/14/6f294b9c4f969d0c801a4615e221c1e084722ea6114ab2114189c5b8cbe0/MarkupSafe-2.1.5-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46", size = 14072, upload-time = "2024-02-02T16:30:58.844Z" }, - { url = "https://files.pythonhosted.org/packages/81/d4/fd74714ed30a1dedd0b82427c02fa4deec64f173831ec716da11c51a50aa/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532", size = 26928, upload-time = "2024-02-02T16:30:59.922Z" }, - { url = "https://files.pythonhosted.org/packages/c7/bd/50319665ce81bb10e90d1cf76f9e1aa269ea6f7fa30ab4521f14d122a3df/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab", size = 26106, upload-time = "2024-02-02T16:31:01.582Z" }, - { url = "https://files.pythonhosted.org/packages/4c/6f/f2b0f675635b05f6afd5ea03c094557bdb8622fa8e673387444fe8d8e787/MarkupSafe-2.1.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68", size = 25781, upload-time = "2024-02-02T16:31:02.71Z" }, - { url = "https://files.pythonhosted.org/packages/51/e0/393467cf899b34a9d3678e78961c2c8cdf49fb902a959ba54ece01273fb1/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0", size = 30518, upload-time = "2024-02-02T16:31:04.392Z" }, - { url = "https://files.pythonhosted.org/packages/f6/02/5437e2ad33047290dafced9df741d9efc3e716b75583bbd73a9984f1b6f7/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4", size = 29669, upload-time = "2024-02-02T16:31:05.53Z" }, - { url = "https://files.pythonhosted.org/packages/0e/7d/968284145ffd9d726183ed6237c77938c021abacde4e073020f920e060b2/MarkupSafe-2.1.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3", size = 29933, upload-time = "2024-02-02T16:31:06.636Z" }, - { url = "https://files.pythonhosted.org/packages/bf/f3/ecb00fc8ab02b7beae8699f34db9357ae49d9f21d4d3de6f305f34fa949e/MarkupSafe-2.1.5-cp38-cp38-win32.whl", hash = "sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff", size = 16656, upload-time = "2024-02-02T16:31:07.767Z" }, - { url = "https://files.pythonhosted.org/packages/92/21/357205f03514a49b293e214ac39de01fadd0970a6e05e4bf1ddd0ffd0881/MarkupSafe-2.1.5-cp38-cp38-win_amd64.whl", hash = "sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029", size = 17206, upload-time = "2024-02-02T16:31:08.843Z" }, - { url = "https://files.pythonhosted.org/packages/0f/31/780bb297db036ba7b7bbede5e1d7f1e14d704ad4beb3ce53fb495d22bc62/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf", size = 18193, upload-time = "2024-02-02T16:31:10.155Z" }, - { url = "https://files.pythonhosted.org/packages/6c/77/d77701bbef72892affe060cdacb7a2ed7fd68dae3b477a8642f15ad3b132/MarkupSafe-2.1.5-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2", size = 14073, upload-time = "2024-02-02T16:31:11.442Z" }, - { url = "https://files.pythonhosted.org/packages/d9/a7/1e558b4f78454c8a3a0199292d96159eb4d091f983bc35ef258314fe7269/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8", size = 26486, upload-time = "2024-02-02T16:31:12.488Z" }, - { url = "https://files.pythonhosted.org/packages/5f/5a/360da85076688755ea0cceb92472923086993e86b5613bbae9fbc14136b0/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3", size = 25685, upload-time = "2024-02-02T16:31:13.726Z" }, - { url = "https://files.pythonhosted.org/packages/6a/18/ae5a258e3401f9b8312f92b028c54d7026a97ec3ab20bfaddbdfa7d8cce8/MarkupSafe-2.1.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465", size = 25338, upload-time = "2024-02-02T16:31:14.812Z" }, - { url = "https://files.pythonhosted.org/packages/0b/cc/48206bd61c5b9d0129f4d75243b156929b04c94c09041321456fd06a876d/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e", size = 30439, upload-time = "2024-02-02T16:31:15.946Z" }, - { url = "https://files.pythonhosted.org/packages/d1/06/a41c112ab9ffdeeb5f77bc3e331fdadf97fa65e52e44ba31880f4e7f983c/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea", size = 29531, upload-time = "2024-02-02T16:31:17.13Z" }, - { url = "https://files.pythonhosted.org/packages/02/8c/ab9a463301a50dab04d5472e998acbd4080597abc048166ded5c7aa768c8/MarkupSafe-2.1.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6", size = 29823, upload-time = "2024-02-02T16:31:18.247Z" }, - { url = "https://files.pythonhosted.org/packages/bc/29/9bc18da763496b055d8e98ce476c8e718dcfd78157e17f555ce6dd7d0895/MarkupSafe-2.1.5-cp39-cp39-win32.whl", hash = "sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf", size = 16658, upload-time = "2024-02-02T16:31:19.583Z" }, - { url = "https://files.pythonhosted.org/packages/f6/f8/4da07de16f10551ca1f640c92b5f316f9394088b183c6a57183df6de5ae4/MarkupSafe-2.1.5-cp39-cp39-win_amd64.whl", hash = "sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5", size = 17211, upload-time = "2024-02-02T16:31:20.96Z" }, -] - [[package]] name = "markupsafe" version = "3.0.3" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] 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" }, @@ -2556,132 +1649,12 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/4e/d3/fe08482b5cd995033556d45041a4f4e76e7f0521112a9c9991d40d39825f/markupsafe-3.0.3-cp39-cp39-win_arm64.whl", hash = "sha256:38664109c14ffc9e7437e86b4dceb442b0096dfe3541d7864d9cbe1da4cf36c8", size = 13928, upload-time = "2025-09-27T18:37:39.037Z" }, ] -[[package]] -name = "mccabe" -version = "0.7.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e7/ff/0ffefdcac38932a54d2b5eed4e0ba8a408f215002cd178ad1df0f2806ff8/mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325", size = 9658, upload-time = "2022-01-24T01:14:51.113Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/27/1a/1f68f9ba0c207934b35b86a8ca3aad8395a3d6dd7921c0686e23853ff5a9/mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e", size = 7350, upload-time = "2022-01-24T01:14:49.62Z" }, -] - -[[package]] -name = "multidict" -version = "6.1.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/d6/be/504b89a5e9ca731cd47487e91c469064f8ae5af93b7259758dcfc2b9c848/multidict-6.1.0.tar.gz", hash = "sha256:22ae2ebf9b0c69d206c003e2f6a914ea33f0a932d4aa16f236afc049d9958f4a", size = 64002, upload-time = "2024-09-09T23:49:38.163Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/29/68/259dee7fd14cf56a17c554125e534f6274c2860159692a414d0b402b9a6d/multidict-6.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3380252550e372e8511d49481bd836264c009adb826b23fefcc5dd3c69692f60", size = 48628, upload-time = "2024-09-09T23:47:18.278Z" }, - { url = "https://files.pythonhosted.org/packages/50/79/53ba256069fe5386a4a9e80d4e12857ced9de295baf3e20c68cdda746e04/multidict-6.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:99f826cbf970077383d7de805c0681799491cb939c25450b9b5b3ced03ca99f1", size = 29327, upload-time = "2024-09-09T23:47:20.224Z" }, - { url = "https://files.pythonhosted.org/packages/ff/10/71f1379b05b196dae749b5ac062e87273e3f11634f447ebac12a571d90ae/multidict-6.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a114d03b938376557927ab23f1e950827c3b893ccb94b62fd95d430fd0e5cf53", size = 29689, upload-time = "2024-09-09T23:47:21.667Z" }, - { url = "https://files.pythonhosted.org/packages/71/45/70bac4f87438ded36ad4793793c0095de6572d433d98575a5752629ef549/multidict-6.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1c416351ee6271b2f49b56ad7f308072f6f44b37118d69c2cad94f3fa8a40d5", size = 126639, upload-time = "2024-09-09T23:47:23.333Z" }, - { url = "https://files.pythonhosted.org/packages/80/cf/17f35b3b9509b4959303c05379c4bfb0d7dd05c3306039fc79cf035bbac0/multidict-6.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6b5d83030255983181005e6cfbac1617ce9746b219bc2aad52201ad121226581", size = 134315, upload-time = "2024-09-09T23:47:24.99Z" }, - { url = "https://files.pythonhosted.org/packages/ef/1f/652d70ab5effb33c031510a3503d4d6efc5ec93153562f1ee0acdc895a57/multidict-6.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3e97b5e938051226dc025ec80980c285b053ffb1e25a3db2a3aa3bc046bf7f56", size = 129471, upload-time = "2024-09-09T23:47:26.305Z" }, - { url = "https://files.pythonhosted.org/packages/a6/64/2dd6c4c681688c0165dea3975a6a4eab4944ea30f35000f8b8af1df3148c/multidict-6.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d618649d4e70ac6efcbba75be98b26ef5078faad23592f9b51ca492953012429", size = 124585, upload-time = "2024-09-09T23:47:27.958Z" }, - { url = "https://files.pythonhosted.org/packages/87/56/e6ee5459894c7e554b57ba88f7257dc3c3d2d379cb15baaa1e265b8c6165/multidict-6.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10524ebd769727ac77ef2278390fb0068d83f3acb7773792a5080f2b0abf7748", size = 116957, upload-time = "2024-09-09T23:47:29.376Z" }, - { url = "https://files.pythonhosted.org/packages/36/9e/616ce5e8d375c24b84f14fc263c7ef1d8d5e8ef529dbc0f1df8ce71bb5b8/multidict-6.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ff3827aef427c89a25cc96ded1759271a93603aba9fb977a6d264648ebf989db", size = 128609, upload-time = "2024-09-09T23:47:31.038Z" }, - { url = "https://files.pythonhosted.org/packages/8c/4f/4783e48a38495d000f2124020dc96bacc806a4340345211b1ab6175a6cb4/multidict-6.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:06809f4f0f7ab7ea2cabf9caca7d79c22c0758b58a71f9d32943ae13c7ace056", size = 123016, upload-time = "2024-09-09T23:47:32.47Z" }, - { url = "https://files.pythonhosted.org/packages/3e/b3/4950551ab8fc39862ba5e9907dc821f896aa829b4524b4deefd3e12945ab/multidict-6.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f179dee3b863ab1c59580ff60f9d99f632f34ccb38bf67a33ec6b3ecadd0fd76", size = 133542, upload-time = "2024-09-09T23:47:34.103Z" }, - { url = "https://files.pythonhosted.org/packages/96/4d/f0ce6ac9914168a2a71df117935bb1f1781916acdecbb43285e225b484b8/multidict-6.1.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:aaed8b0562be4a0876ee3b6946f6869b7bcdb571a5d1496683505944e268b160", size = 130163, upload-time = "2024-09-09T23:47:35.716Z" }, - { url = "https://files.pythonhosted.org/packages/be/72/17c9f67e7542a49dd252c5ae50248607dfb780bcc03035907dafefb067e3/multidict-6.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3c8b88a2ccf5493b6c8da9076fb151ba106960a2df90c2633f342f120751a9e7", size = 126832, upload-time = "2024-09-09T23:47:37.116Z" }, - { url = "https://files.pythonhosted.org/packages/71/9f/72d719e248cbd755c8736c6d14780533a1606ffb3fbb0fbd77da9f0372da/multidict-6.1.0-cp310-cp310-win32.whl", hash = "sha256:4a9cb68166a34117d6646c0023c7b759bf197bee5ad4272f420a0141d7eb03a0", size = 26402, upload-time = "2024-09-09T23:47:38.863Z" }, - { url = "https://files.pythonhosted.org/packages/04/5a/d88cd5d00a184e1ddffc82aa2e6e915164a6d2641ed3606e766b5d2f275a/multidict-6.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:20b9b5fbe0b88d0bdef2012ef7dee867f874b72528cf1d08f1d59b0e3850129d", size = 28800, upload-time = "2024-09-09T23:47:40.056Z" }, - { url = "https://files.pythonhosted.org/packages/93/13/df3505a46d0cd08428e4c8169a196131d1b0c4b515c3649829258843dde6/multidict-6.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3efe2c2cb5763f2f1b275ad2bf7a287d3f7ebbef35648a9726e3b69284a4f3d6", size = 48570, upload-time = "2024-09-09T23:47:41.36Z" }, - { url = "https://files.pythonhosted.org/packages/f0/e1/a215908bfae1343cdb72f805366592bdd60487b4232d039c437fe8f5013d/multidict-6.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7053d3b0353a8b9de430a4f4b4268ac9a4fb3481af37dfe49825bf45ca24156", size = 29316, upload-time = "2024-09-09T23:47:42.612Z" }, - { url = "https://files.pythonhosted.org/packages/70/0f/6dc70ddf5d442702ed74f298d69977f904960b82368532c88e854b79f72b/multidict-6.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:27e5fc84ccef8dfaabb09d82b7d179c7cf1a3fbc8a966f8274fcb4ab2eb4cadb", size = 29640, upload-time = "2024-09-09T23:47:44.028Z" }, - { url = "https://files.pythonhosted.org/packages/d8/6d/9c87b73a13d1cdea30b321ef4b3824449866bd7f7127eceed066ccb9b9ff/multidict-6.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e2b90b43e696f25c62656389d32236e049568b39320e2735d51f08fd362761b", size = 131067, upload-time = "2024-09-09T23:47:45.617Z" }, - { url = "https://files.pythonhosted.org/packages/cc/1e/1b34154fef373371fd6c65125b3d42ff5f56c7ccc6bfff91b9b3c60ae9e0/multidict-6.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d83a047959d38a7ff552ff94be767b7fd79b831ad1cd9920662db05fec24fe72", size = 138507, upload-time = "2024-09-09T23:47:47.429Z" }, - { url = "https://files.pythonhosted.org/packages/fb/e0/0bc6b2bac6e461822b5f575eae85da6aae76d0e2a79b6665d6206b8e2e48/multidict-6.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d1a9dd711d0877a1ece3d2e4fea11a8e75741ca21954c919406b44e7cf971304", size = 133905, upload-time = "2024-09-09T23:47:48.878Z" }, - { url = "https://files.pythonhosted.org/packages/ba/af/73d13b918071ff9b2205fcf773d316e0f8fefb4ec65354bbcf0b10908cc6/multidict-6.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec2abea24d98246b94913b76a125e855eb5c434f7c46546046372fe60f666351", size = 129004, upload-time = "2024-09-09T23:47:50.124Z" }, - { url = "https://files.pythonhosted.org/packages/74/21/23960627b00ed39643302d81bcda44c9444ebcdc04ee5bedd0757513f259/multidict-6.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4867cafcbc6585e4b678876c489b9273b13e9fff9f6d6d66add5e15d11d926cb", size = 121308, upload-time = "2024-09-09T23:47:51.97Z" }, - { url = "https://files.pythonhosted.org/packages/8b/5c/cf282263ffce4a596ed0bb2aa1a1dddfe1996d6a62d08842a8d4b33dca13/multidict-6.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5b48204e8d955c47c55b72779802b219a39acc3ee3d0116d5080c388970b76e3", size = 132608, upload-time = "2024-09-09T23:47:53.201Z" }, - { url = "https://files.pythonhosted.org/packages/d7/3e/97e778c041c72063f42b290888daff008d3ab1427f5b09b714f5a8eff294/multidict-6.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d8fff389528cad1618fb4b26b95550327495462cd745d879a8c7c2115248e399", size = 127029, upload-time = "2024-09-09T23:47:54.435Z" }, - { url = "https://files.pythonhosted.org/packages/47/ac/3efb7bfe2f3aefcf8d103e9a7162572f01936155ab2f7ebcc7c255a23212/multidict-6.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a7a9541cd308eed5e30318430a9c74d2132e9a8cb46b901326272d780bf2d423", size = 137594, upload-time = "2024-09-09T23:47:55.659Z" }, - { url = "https://files.pythonhosted.org/packages/42/9b/6c6e9e8dc4f915fc90a9b7798c44a30773dea2995fdcb619870e705afe2b/multidict-6.1.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:da1758c76f50c39a2efd5e9859ce7d776317eb1dd34317c8152ac9251fc574a3", size = 134556, upload-time = "2024-09-09T23:47:56.98Z" }, - { url = "https://files.pythonhosted.org/packages/1d/10/8e881743b26aaf718379a14ac58572a240e8293a1c9d68e1418fb11c0f90/multidict-6.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c943a53e9186688b45b323602298ab727d8865d8c9ee0b17f8d62d14b56f0753", size = 130993, upload-time = "2024-09-09T23:47:58.163Z" }, - { url = "https://files.pythonhosted.org/packages/45/84/3eb91b4b557442802d058a7579e864b329968c8d0ea57d907e7023c677f2/multidict-6.1.0-cp311-cp311-win32.whl", hash = "sha256:90f8717cb649eea3504091e640a1b8568faad18bd4b9fcd692853a04475a4b80", size = 26405, upload-time = "2024-09-09T23:47:59.391Z" }, - { url = "https://files.pythonhosted.org/packages/9f/0b/ad879847ecbf6d27e90a6eabb7eff6b62c129eefe617ea45eae7c1f0aead/multidict-6.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:82176036e65644a6cc5bd619f65f6f19781e8ec2e5330f51aa9ada7504cc1926", size = 28795, upload-time = "2024-09-09T23:48:00.359Z" }, - { url = "https://files.pythonhosted.org/packages/fd/16/92057c74ba3b96d5e211b553895cd6dc7cc4d1e43d9ab8fafc727681ef71/multidict-6.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b04772ed465fa3cc947db808fa306d79b43e896beb677a56fb2347ca1a49c1fa", size = 48713, upload-time = "2024-09-09T23:48:01.893Z" }, - { url = "https://files.pythonhosted.org/packages/94/3d/37d1b8893ae79716179540b89fc6a0ee56b4a65fcc0d63535c6f5d96f217/multidict-6.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6180c0ae073bddeb5a97a38c03f30c233e0a4d39cd86166251617d1bbd0af436", size = 29516, upload-time = "2024-09-09T23:48:03.463Z" }, - { url = "https://files.pythonhosted.org/packages/a2/12/adb6b3200c363062f805275b4c1e656be2b3681aada66c80129932ff0bae/multidict-6.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:071120490b47aa997cca00666923a83f02c7fbb44f71cf7f136df753f7fa8761", size = 29557, upload-time = "2024-09-09T23:48:04.905Z" }, - { url = "https://files.pythonhosted.org/packages/47/e9/604bb05e6e5bce1e6a5cf80a474e0f072e80d8ac105f1b994a53e0b28c42/multidict-6.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50b3a2710631848991d0bf7de077502e8994c804bb805aeb2925a981de58ec2e", size = 130170, upload-time = "2024-09-09T23:48:06.862Z" }, - { url = "https://files.pythonhosted.org/packages/7e/13/9efa50801785eccbf7086b3c83b71a4fb501a4d43549c2f2f80b8787d69f/multidict-6.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b58c621844d55e71c1b7f7c498ce5aa6985d743a1a59034c57a905b3f153c1ef", size = 134836, upload-time = "2024-09-09T23:48:08.537Z" }, - { url = "https://files.pythonhosted.org/packages/bf/0f/93808b765192780d117814a6dfcc2e75de6dcc610009ad408b8814dca3ba/multidict-6.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55b6d90641869892caa9ca42ff913f7ff1c5ece06474fbd32fb2cf6834726c95", size = 133475, upload-time = "2024-09-09T23:48:09.865Z" }, - { url = "https://files.pythonhosted.org/packages/d3/c8/529101d7176fe7dfe1d99604e48d69c5dfdcadb4f06561f465c8ef12b4df/multidict-6.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b820514bfc0b98a30e3d85462084779900347e4d49267f747ff54060cc33925", size = 131049, upload-time = "2024-09-09T23:48:11.115Z" }, - { url = "https://files.pythonhosted.org/packages/ca/0c/fc85b439014d5a58063e19c3a158a889deec399d47b5269a0f3b6a2e28bc/multidict-6.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10a9b09aba0c5b48c53761b7c720aaaf7cf236d5fe394cd399c7ba662d5f9966", size = 120370, upload-time = "2024-09-09T23:48:12.78Z" }, - { url = "https://files.pythonhosted.org/packages/db/46/d4416eb20176492d2258fbd47b4abe729ff3b6e9c829ea4236f93c865089/multidict-6.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e16bf3e5fc9f44632affb159d30a437bfe286ce9e02754759be5536b169b305", size = 125178, upload-time = "2024-09-09T23:48:14.295Z" }, - { url = "https://files.pythonhosted.org/packages/5b/46/73697ad7ec521df7de5531a32780bbfd908ded0643cbe457f981a701457c/multidict-6.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76f364861c3bfc98cbbcbd402d83454ed9e01a5224bb3a28bf70002a230f73e2", size = 119567, upload-time = "2024-09-09T23:48:16.284Z" }, - { url = "https://files.pythonhosted.org/packages/cd/ed/51f060e2cb0e7635329fa6ff930aa5cffa17f4c7f5c6c3ddc3500708e2f2/multidict-6.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:820c661588bd01a0aa62a1283f20d2be4281b086f80dad9e955e690c75fb54a2", size = 129822, upload-time = "2024-09-09T23:48:17.835Z" }, - { url = "https://files.pythonhosted.org/packages/df/9e/ee7d1954b1331da3eddea0c4e08d9142da5f14b1321c7301f5014f49d492/multidict-6.1.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0e5f362e895bc5b9e67fe6e4ded2492d8124bdf817827f33c5b46c2fe3ffaca6", size = 128656, upload-time = "2024-09-09T23:48:19.576Z" }, - { url = "https://files.pythonhosted.org/packages/77/00/8538f11e3356b5d95fa4b024aa566cde7a38aa7a5f08f4912b32a037c5dc/multidict-6.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ec660d19bbc671e3a6443325f07263be452c453ac9e512f5eb935e7d4ac28b3", size = 125360, upload-time = "2024-09-09T23:48:20.957Z" }, - { url = "https://files.pythonhosted.org/packages/be/05/5d334c1f2462d43fec2363cd00b1c44c93a78c3925d952e9a71caf662e96/multidict-6.1.0-cp312-cp312-win32.whl", hash = "sha256:58130ecf8f7b8112cdb841486404f1282b9c86ccb30d3519faf301b2e5659133", size = 26382, upload-time = "2024-09-09T23:48:22.351Z" }, - { url = "https://files.pythonhosted.org/packages/a3/bf/f332a13486b1ed0496d624bcc7e8357bb8053823e8cd4b9a18edc1d97e73/multidict-6.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:188215fc0aafb8e03341995e7c4797860181562380f81ed0a87ff455b70bf1f1", size = 28529, upload-time = "2024-09-09T23:48:23.478Z" }, - { url = "https://files.pythonhosted.org/packages/22/67/1c7c0f39fe069aa4e5d794f323be24bf4d33d62d2a348acdb7991f8f30db/multidict-6.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:d569388c381b24671589335a3be6e1d45546c2988c2ebe30fdcada8457a31008", size = 48771, upload-time = "2024-09-09T23:48:24.594Z" }, - { url = "https://files.pythonhosted.org/packages/3c/25/c186ee7b212bdf0df2519eacfb1981a017bda34392c67542c274651daf23/multidict-6.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:052e10d2d37810b99cc170b785945421141bf7bb7d2f8799d431e7db229c385f", size = 29533, upload-time = "2024-09-09T23:48:26.187Z" }, - { url = "https://files.pythonhosted.org/packages/67/5e/04575fd837e0958e324ca035b339cea174554f6f641d3fb2b4f2e7ff44a2/multidict-6.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f90c822a402cb865e396a504f9fc8173ef34212a342d92e362ca498cad308e28", size = 29595, upload-time = "2024-09-09T23:48:27.305Z" }, - { url = "https://files.pythonhosted.org/packages/d3/b2/e56388f86663810c07cfe4a3c3d87227f3811eeb2d08450b9e5d19d78876/multidict-6.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b225d95519a5bf73860323e633a664b0d85ad3d5bede6d30d95b35d4dfe8805b", size = 130094, upload-time = "2024-09-09T23:48:28.544Z" }, - { url = "https://files.pythonhosted.org/packages/6c/ee/30ae9b4186a644d284543d55d491fbd4239b015d36b23fea43b4c94f7052/multidict-6.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:23bfd518810af7de1116313ebd9092cb9aa629beb12f6ed631ad53356ed6b86c", size = 134876, upload-time = "2024-09-09T23:48:30.098Z" }, - { url = "https://files.pythonhosted.org/packages/84/c7/70461c13ba8ce3c779503c70ec9d0345ae84de04521c1f45a04d5f48943d/multidict-6.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c09fcfdccdd0b57867577b719c69e347a436b86cd83747f179dbf0cc0d4c1f3", size = 133500, upload-time = "2024-09-09T23:48:31.793Z" }, - { url = "https://files.pythonhosted.org/packages/4a/9f/002af221253f10f99959561123fae676148dd730e2daa2cd053846a58507/multidict-6.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf6bea52ec97e95560af5ae576bdac3aa3aae0b6758c6efa115236d9e07dae44", size = 131099, upload-time = "2024-09-09T23:48:33.193Z" }, - { url = "https://files.pythonhosted.org/packages/82/42/d1c7a7301d52af79d88548a97e297f9d99c961ad76bbe6f67442bb77f097/multidict-6.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57feec87371dbb3520da6192213c7d6fc892d5589a93db548331954de8248fd2", size = 120403, upload-time = "2024-09-09T23:48:34.942Z" }, - { url = "https://files.pythonhosted.org/packages/68/f3/471985c2c7ac707547553e8f37cff5158030d36bdec4414cb825fbaa5327/multidict-6.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0c3f390dc53279cbc8ba976e5f8035eab997829066756d811616b652b00a23a3", size = 125348, upload-time = "2024-09-09T23:48:36.222Z" }, - { url = "https://files.pythonhosted.org/packages/67/2c/e6df05c77e0e433c214ec1d21ddd203d9a4770a1f2866a8ca40a545869a0/multidict-6.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:59bfeae4b25ec05b34f1956eaa1cb38032282cd4dfabc5056d0a1ec4d696d3aa", size = 119673, upload-time = "2024-09-09T23:48:37.588Z" }, - { url = "https://files.pythonhosted.org/packages/c5/cd/bc8608fff06239c9fb333f9db7743a1b2eafe98c2666c9a196e867a3a0a4/multidict-6.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b2f59caeaf7632cc633b5cf6fc449372b83bbdf0da4ae04d5be36118e46cc0aa", size = 129927, upload-time = "2024-09-09T23:48:39.128Z" }, - { url = "https://files.pythonhosted.org/packages/44/8e/281b69b7bc84fc963a44dc6e0bbcc7150e517b91df368a27834299a526ac/multidict-6.1.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:37bb93b2178e02b7b618893990941900fd25b6b9ac0fa49931a40aecdf083fe4", size = 128711, upload-time = "2024-09-09T23:48:40.55Z" }, - { url = "https://files.pythonhosted.org/packages/12/a4/63e7cd38ed29dd9f1881d5119f272c898ca92536cdb53ffe0843197f6c85/multidict-6.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4e9f48f58c2c523d5a06faea47866cd35b32655c46b443f163d08c6d0ddb17d6", size = 125519, upload-time = "2024-09-09T23:48:42.446Z" }, - { url = "https://files.pythonhosted.org/packages/38/e0/4f5855037a72cd8a7a2f60a3952d9aa45feedb37ae7831642102604e8a37/multidict-6.1.0-cp313-cp313-win32.whl", hash = "sha256:3a37ffb35399029b45c6cc33640a92bef403c9fd388acce75cdc88f58bd19a81", size = 26426, upload-time = "2024-09-09T23:48:43.936Z" }, - { url = "https://files.pythonhosted.org/packages/7e/a5/17ee3a4db1e310b7405f5d25834460073a8ccd86198ce044dfaf69eac073/multidict-6.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:e9aa71e15d9d9beaad2c6b9319edcdc0a49a43ef5c0a4c8265ca9ee7d6c67774", size = 28531, upload-time = "2024-09-09T23:48:45.122Z" }, - { url = "https://files.pythonhosted.org/packages/3e/6a/af41f3aaf5f00fd86cc7d470a2f5b25299b0c84691163b8757f4a1a205f2/multidict-6.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:db7457bac39421addd0c8449933ac32d8042aae84a14911a757ae6ca3eef1392", size = 48597, upload-time = "2024-09-09T23:48:46.391Z" }, - { url = "https://files.pythonhosted.org/packages/d9/d6/3d4082760ed11b05734f8bf32a0615b99e7d9d2b3730ad698a4d7377c00a/multidict-6.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d094ddec350a2fb899fec68d8353c78233debde9b7d8b4beeafa70825f1c281a", size = 29338, upload-time = "2024-09-09T23:48:47.891Z" }, - { url = "https://files.pythonhosted.org/packages/9d/7f/5d1ce7f47d44393d429922910afbe88fcd29ee3069babbb47507a4c3a7ea/multidict-6.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5845c1fd4866bb5dd3125d89b90e57ed3138241540897de748cdf19de8a2fca2", size = 29562, upload-time = "2024-09-09T23:48:49.254Z" }, - { url = "https://files.pythonhosted.org/packages/ce/ec/c425257671af9308a9b626e2e21f7f43841616e4551de94eb3c92aca75b2/multidict-6.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9079dfc6a70abe341f521f78405b8949f96db48da98aeb43f9907f342f627cdc", size = 130980, upload-time = "2024-09-09T23:48:50.606Z" }, - { url = "https://files.pythonhosted.org/packages/d8/d7/d4220ad2633a89b314593e9b85b5bc9287a7c563c7f9108a4a68d9da5374/multidict-6.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3914f5aaa0f36d5d60e8ece6a308ee1c9784cd75ec8151062614657a114c4478", size = 136694, upload-time = "2024-09-09T23:48:52.042Z" }, - { url = "https://files.pythonhosted.org/packages/a1/2a/13e554db5830c8d40185a2e22aa8325516a5de9634c3fb2caf3886a829b3/multidict-6.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c08be4f460903e5a9d0f76818db3250f12e9c344e79314d1d570fc69d7f4eae4", size = 131616, upload-time = "2024-09-09T23:48:54.283Z" }, - { url = "https://files.pythonhosted.org/packages/2e/a9/83692e37d8152f104333132105b67100aabfb2e96a87f6bed67f566035a7/multidict-6.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d093be959277cb7dee84b801eb1af388b6ad3ca6a6b6bf1ed7585895789d027d", size = 129664, upload-time = "2024-09-09T23:48:55.785Z" }, - { url = "https://files.pythonhosted.org/packages/cc/1c/1718cd518fb9da7e8890d9d1611c1af0ea5e60f68ff415d026e38401ed36/multidict-6.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3702ea6872c5a2a4eeefa6ffd36b042e9773f05b1f37ae3ef7264b1163c2dcf6", size = 121855, upload-time = "2024-09-09T23:48:57.333Z" }, - { url = "https://files.pythonhosted.org/packages/2b/92/f6ed67514b0e3894198f0eb42dcde22f0851ea35f4561a1e4acf36c7b1be/multidict-6.1.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:2090f6a85cafc5b2db085124d752757c9d251548cedabe9bd31afe6363e0aff2", size = 127928, upload-time = "2024-09-09T23:48:58.778Z" }, - { url = "https://files.pythonhosted.org/packages/f7/30/c66954115a4dc4dc3c84e02c8ae11bb35a43d79ef93122c3c3a40c4d459b/multidict-6.1.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:f67f217af4b1ff66c68a87318012de788dd95fcfeb24cc889011f4e1c7454dfd", size = 122793, upload-time = "2024-09-09T23:49:00.244Z" }, - { url = "https://files.pythonhosted.org/packages/62/c9/d386d01b43871e8e1631eb7b3695f6af071b7ae1ab716caf371100f0eb24/multidict-6.1.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:189f652a87e876098bbc67b4da1049afb5f5dfbaa310dd67c594b01c10388db6", size = 132762, upload-time = "2024-09-09T23:49:02.188Z" }, - { url = "https://files.pythonhosted.org/packages/69/ff/f70cb0a2f7a358acf48e32139ce3a150ff18c961ee9c714cc8c0dc7e3584/multidict-6.1.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:6bb5992037f7a9eff7991ebe4273ea7f51f1c1c511e6a2ce511d0e7bdb754492", size = 127872, upload-time = "2024-09-09T23:49:04.389Z" }, - { url = "https://files.pythonhosted.org/packages/89/5b/abea7db3ba4cd07752a9b560f9275a11787cd13f86849b5d99c1ceea921d/multidict-6.1.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f4c2b9e770c4e393876e35a7046879d195cd123b4f116d299d442b335bcd", size = 126161, upload-time = "2024-09-09T23:49:06.306Z" }, - { url = "https://files.pythonhosted.org/packages/22/03/acc77a4667cca4462ee974fc39990803e58fa573d5a923d6e82b7ef6da7e/multidict-6.1.0-cp38-cp38-win32.whl", hash = "sha256:e27bbb6d14416713a8bd7aaa1313c0fc8d44ee48d74497a0ff4c3a1b6ccb5167", size = 26338, upload-time = "2024-09-09T23:49:07.782Z" }, - { url = "https://files.pythonhosted.org/packages/90/bf/3d0c1cc9c8163abc24625fae89c0ade1ede9bccb6eceb79edf8cff3cca46/multidict-6.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:22f3105d4fb15c8f57ff3959a58fcab6ce36814486500cd7485651230ad4d4ef", size = 28736, upload-time = "2024-09-09T23:49:09.126Z" }, - { url = "https://files.pythonhosted.org/packages/e7/c9/9e153a6572b38ac5ff4434113af38acf8d5e9957897cdb1f513b3d6614ed/multidict-6.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:4e18b656c5e844539d506a0a06432274d7bd52a7487e6828c63a63d69185626c", size = 48550, upload-time = "2024-09-09T23:49:10.475Z" }, - { url = "https://files.pythonhosted.org/packages/76/f5/79565ddb629eba6c7f704f09a09df085c8dc04643b12506f10f718cee37a/multidict-6.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a185f876e69897a6f3325c3f19f26a297fa058c5e456bfcff8015e9a27e83ae1", size = 29298, upload-time = "2024-09-09T23:49:12.119Z" }, - { url = "https://files.pythonhosted.org/packages/60/1b/9851878b704bc98e641a3e0bce49382ae9e05743dac6d97748feb5b7baba/multidict-6.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ab7c4ceb38d91570a650dba194e1ca87c2b543488fe9309b4212694174fd539c", size = 29641, upload-time = "2024-09-09T23:49:13.714Z" }, - { url = "https://files.pythonhosted.org/packages/89/87/d451d45aab9e422cb0fb2f7720c31a4c1d3012c740483c37f642eba568fb/multidict-6.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e617fb6b0b6953fffd762669610c1c4ffd05632c138d61ac7e14ad187870669c", size = 126202, upload-time = "2024-09-09T23:49:15.238Z" }, - { url = "https://files.pythonhosted.org/packages/fa/b4/27cbe9f3e2e469359887653f2e45470272eef7295139916cc21107c6b48c/multidict-6.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:16e5f4bf4e603eb1fdd5d8180f1a25f30056f22e55ce51fb3d6ad4ab29f7d96f", size = 133925, upload-time = "2024-09-09T23:49:16.786Z" }, - { url = "https://files.pythonhosted.org/packages/4d/a3/afc841899face8adfd004235ce759a37619f6ec99eafd959650c5ce4df57/multidict-6.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f4c035da3f544b1882bac24115f3e2e8760f10a0107614fc9839fd232200b875", size = 129039, upload-time = "2024-09-09T23:49:18.381Z" }, - { url = "https://files.pythonhosted.org/packages/5e/41/0d0fb18c1ad574f807196f5f3d99164edf9de3e169a58c6dc2d6ed5742b9/multidict-6.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:957cf8e4b6e123a9eea554fa7ebc85674674b713551de587eb318a2df3e00255", size = 124072, upload-time = "2024-09-09T23:49:20.115Z" }, - { url = "https://files.pythonhosted.org/packages/00/22/defd7a2e71a44e6e5b9a5428f972e5b572e7fe28e404dfa6519bbf057c93/multidict-6.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:483a6aea59cb89904e1ceabd2b47368b5600fb7de78a6e4a2c2987b2d256cf30", size = 116532, upload-time = "2024-09-09T23:49:21.685Z" }, - { url = "https://files.pythonhosted.org/packages/91/25/f7545102def0b1d456ab6449388eed2dfd822debba1d65af60194904a23a/multidict-6.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:87701f25a2352e5bf7454caa64757642734da9f6b11384c1f9d1a8e699758057", size = 128173, upload-time = "2024-09-09T23:49:23.657Z" }, - { url = "https://files.pythonhosted.org/packages/45/79/3dbe8d35fc99f5ea610813a72ab55f426cb9cf482f860fa8496e5409be11/multidict-6.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:682b987361e5fd7a139ed565e30d81fd81e9629acc7d925a205366877d8c8657", size = 122654, upload-time = "2024-09-09T23:49:25.7Z" }, - { url = "https://files.pythonhosted.org/packages/97/cb/209e735eeab96e1b160825b5d0b36c56d3862abff828fc43999bb957dcad/multidict-6.1.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce2186a7df133a9c895dea3331ddc5ddad42cdd0d1ea2f0a51e5d161e4762f28", size = 133197, upload-time = "2024-09-09T23:49:27.906Z" }, - { url = "https://files.pythonhosted.org/packages/e4/3a/a13808a7ada62808afccea67837a79d00ad6581440015ef00f726d064c2d/multidict-6.1.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9f636b730f7e8cb19feb87094949ba54ee5357440b9658b2a32a5ce4bce53972", size = 129754, upload-time = "2024-09-09T23:49:29.508Z" }, - { url = "https://files.pythonhosted.org/packages/77/dd/8540e139eafb240079242da8f8ffdf9d3f4b4ad1aac5a786cd4050923783/multidict-6.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:73eae06aa53af2ea5270cc066dcaf02cc60d2994bbb2c4ef5764949257d10f43", size = 126402, upload-time = "2024-09-09T23:49:31.243Z" }, - { url = "https://files.pythonhosted.org/packages/86/99/e82e1a275d8b1ea16d3a251474262258dbbe41c05cce0c01bceda1fc8ea5/multidict-6.1.0-cp39-cp39-win32.whl", hash = "sha256:1ca0083e80e791cffc6efce7660ad24af66c8d4079d2a750b29001b53ff59ada", size = 26421, upload-time = "2024-09-09T23:49:32.648Z" }, - { url = "https://files.pythonhosted.org/packages/86/1c/9fa630272355af7e4446a2c7550c259f11ee422ab2d30ff90a0a71cf3d9e/multidict-6.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:aa466da5b15ccea564bdab9c89175c762bc12825f4659c11227f515cee76fa4a", size = 28791, upload-time = "2024-09-09T23:49:34.725Z" }, - { url = "https://files.pythonhosted.org/packages/99/b7/b9e70fde2c0f0c9af4cc5277782a89b66d35948ea3369ec9f598358c3ac5/multidict-6.1.0-py3-none-any.whl", hash = "sha256:48e171e52d1c4d33888e529b999e5900356b9ae588c2f09a52dcefb158b27506", size = 10051, upload-time = "2024-09-09T23:49:36.506Z" }, -] - [[package]] name = "multidict" version = "6.7.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] dependencies = [ - { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9' and python_full_version < '3.11'" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/80/1e/5492c365f222f907de1039b91f922b93fa4f764c713ee858d235495d8f50/multidict-6.7.0.tar.gz", hash = "sha256:c6e99d9a65ca282e578dfea819cfa9c0a62b2499d8677392e09feaf305e9e6f5", size = 101834, upload-time = "2025-10-06T14:52:30.657Z" } wheels = [ @@ -2832,59 +1805,12 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b7/da/7d22601b625e241d4f23ef1ebff8acfc60da633c9e7e7922e24d10f592b3/multidict-6.7.0-py3-none-any.whl", hash = "sha256:394fc5c42a333c9ffc3e421a4c85e08580d990e08b99f6bf35b4132114c5dcb3", size = 12317, upload-time = "2025-10-06T14:52:29.272Z" }, ] -[[package]] -name = "mypy-extensions" -version = "1.1.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a2/6e/371856a3fb9d31ca8dac321cda606860fa4548858c0cc45d9d1d4ca2628b/mypy_extensions-1.1.0.tar.gz", hash = "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558", size = 6343, upload-time = "2025-04-22T14:54:24.164Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505", size = 4963, upload-time = "2025-04-22T14:54:22.983Z" }, -] - -[[package]] -name = "numpy" -version = "1.24.4" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/a4/9b/027bec52c633f6556dba6b722d9a0befb40498b9ceddd29cbe67a45a127c/numpy-1.24.4.tar.gz", hash = "sha256:80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463", size = 10911229, upload-time = "2023-06-26T13:39:33.218Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6b/80/6cdfb3e275d95155a34659163b83c09e3a3ff9f1456880bec6cc63d71083/numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64", size = 19789140, upload-time = "2023-06-26T13:22:33.184Z" }, - { url = "https://files.pythonhosted.org/packages/64/5f/3f01d753e2175cfade1013eea08db99ba1ee4bdb147ebcf3623b75d12aa7/numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1", size = 13854297, upload-time = "2023-06-26T13:22:59.541Z" }, - { url = "https://files.pythonhosted.org/packages/5a/b3/2f9c21d799fa07053ffa151faccdceeb69beec5a010576b8991f614021f7/numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4", size = 13995611, upload-time = "2023-06-26T13:23:22.167Z" }, - { url = "https://files.pythonhosted.org/packages/10/be/ae5bf4737cb79ba437879915791f6f26d92583c738d7d960ad94e5c36adf/numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6", size = 17282357, upload-time = "2023-06-26T13:23:51.446Z" }, - { url = "https://files.pythonhosted.org/packages/c0/64/908c1087be6285f40e4b3e79454552a701664a079321cff519d8c7051d06/numpy-1.24.4-cp310-cp310-win32.whl", hash = "sha256:4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc", size = 12429222, upload-time = "2023-06-26T13:24:13.849Z" }, - { url = "https://files.pythonhosted.org/packages/22/55/3d5a7c1142e0d9329ad27cece17933b0e2ab4e54ddc5c1861fbfeb3f7693/numpy-1.24.4-cp310-cp310-win_amd64.whl", hash = "sha256:b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e", size = 14841514, upload-time = "2023-06-26T13:24:38.129Z" }, - { url = "https://files.pythonhosted.org/packages/a9/cc/5ed2280a27e5dab12994c884f1f4d8c3bd4d885d02ae9e52a9d213a6a5e2/numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810", size = 19775508, upload-time = "2023-06-26T13:25:08.882Z" }, - { url = "https://files.pythonhosted.org/packages/c0/bc/77635c657a3668cf652806210b8662e1aff84b818a55ba88257abf6637a8/numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254", size = 13840033, upload-time = "2023-06-26T13:25:33.417Z" }, - { url = "https://files.pythonhosted.org/packages/a7/4c/96cdaa34f54c05e97c1c50f39f98d608f96f0677a6589e64e53104e22904/numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7", size = 13991951, upload-time = "2023-06-26T13:25:55.725Z" }, - { url = "https://files.pythonhosted.org/packages/22/97/dfb1a31bb46686f09e68ea6ac5c63fdee0d22d7b23b8f3f7ea07712869ef/numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5", size = 17278923, upload-time = "2023-06-26T13:26:25.658Z" }, - { url = "https://files.pythonhosted.org/packages/35/e2/76a11e54139654a324d107da1d98f99e7aa2a7ef97cfd7c631fba7dbde71/numpy-1.24.4-cp311-cp311-win32.whl", hash = "sha256:4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d", size = 12422446, upload-time = "2023-06-26T13:26:49.302Z" }, - { url = "https://files.pythonhosted.org/packages/d8/ec/ebef2f7d7c28503f958f0f8b992e7ce606fb74f9e891199329d5f5f87404/numpy-1.24.4-cp311-cp311-win_amd64.whl", hash = "sha256:b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694", size = 14834466, upload-time = "2023-06-26T13:27:16.029Z" }, - { url = "https://files.pythonhosted.org/packages/11/10/943cfb579f1a02909ff96464c69893b1d25be3731b5d3652c2e0cf1281ea/numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61", size = 19780722, upload-time = "2023-06-26T13:27:49.573Z" }, - { url = "https://files.pythonhosted.org/packages/a7/ae/f53b7b265fdc701e663fbb322a8e9d4b14d9cb7b2385f45ddfabfc4327e4/numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f", size = 13843102, upload-time = "2023-06-26T13:28:12.288Z" }, - { url = "https://files.pythonhosted.org/packages/25/6f/2586a50ad72e8dbb1d8381f837008a0321a3516dfd7cb57fc8cf7e4bb06b/numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e", size = 14039616, upload-time = "2023-06-26T13:28:35.659Z" }, - { url = "https://files.pythonhosted.org/packages/98/5d/5738903efe0ecb73e51eb44feafba32bdba2081263d40c5043568ff60faf/numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc", size = 17316263, upload-time = "2023-06-26T13:29:09.272Z" }, - { url = "https://files.pythonhosted.org/packages/d1/57/8d328f0b91c733aa9aa7ee540dbc49b58796c862b4fbcb1146c701e888da/numpy-1.24.4-cp38-cp38-win32.whl", hash = "sha256:4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2", size = 12455660, upload-time = "2023-06-26T13:29:33.434Z" }, - { url = "https://files.pythonhosted.org/packages/69/65/0d47953afa0ad569d12de5f65d964321c208492064c38fe3b0b9744f8d44/numpy-1.24.4-cp38-cp38-win_amd64.whl", hash = "sha256:692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706", size = 14868112, upload-time = "2023-06-26T13:29:58.385Z" }, - { url = "https://files.pythonhosted.org/packages/9a/cd/d5b0402b801c8a8b56b04c1e85c6165efab298d2f0ab741c2406516ede3a/numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400", size = 19816549, upload-time = "2023-06-26T13:30:36.976Z" }, - { url = "https://files.pythonhosted.org/packages/14/27/638aaa446f39113a3ed38b37a66243e21b38110d021bfcb940c383e120f2/numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f", size = 13879950, upload-time = "2023-06-26T13:31:01.787Z" }, - { url = "https://files.pythonhosted.org/packages/8f/27/91894916e50627476cff1a4e4363ab6179d01077d71b9afed41d9e1f18bf/numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9", size = 14030228, upload-time = "2023-06-26T13:31:26.696Z" }, - { url = "https://files.pythonhosted.org/packages/7a/7c/d7b2a0417af6428440c0ad7cb9799073e507b1a465f827d058b826236964/numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d", size = 17311170, upload-time = "2023-06-26T13:31:56.615Z" }, - { url = "https://files.pythonhosted.org/packages/18/9d/e02ace5d7dfccee796c37b995c63322674daf88ae2f4a4724c5dd0afcc91/numpy-1.24.4-cp39-cp39-win32.whl", hash = "sha256:6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835", size = 12454918, upload-time = "2023-06-26T13:32:16.8Z" }, - { url = "https://files.pythonhosted.org/packages/63/38/6cc19d6b8bfa1d1a459daf2b3fe325453153ca7019976274b6f33d8b5663/numpy-1.24.4-cp39-cp39-win_amd64.whl", hash = "sha256:befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8", size = 14867441, upload-time = "2023-06-26T13:32:40.521Z" }, - { url = "https://files.pythonhosted.org/packages/a4/fd/8dff40e25e937c94257455c237b9b6bf5a30d42dd1cc11555533be099492/numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef", size = 19156590, upload-time = "2023-06-26T13:33:10.36Z" }, - { url = "https://files.pythonhosted.org/packages/42/e7/4bf953c6e05df90c6d351af69966384fed8e988d0e8c54dad7103b59f3ba/numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a", size = 16705744, upload-time = "2023-06-26T13:33:36.703Z" }, - { url = "https://files.pythonhosted.org/packages/fc/dd/9106005eb477d022b60b3817ed5937a43dad8fd1f20b0610ea8a32fcb407/numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2", size = 14734290, upload-time = "2023-06-26T13:34:05.409Z" }, -] - [[package]] name = "numpy" version = "2.0.2" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version == '3.9.*'", + "python_full_version < '3.10'", ] sdist = { url = "https://files.pythonhosted.org/packages/a9/75/10dd1f8116a8b796cb2c737b674e02d02e80454bda953fa7e65d8c12b016/numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78", size = 18902015, upload-time = "2024-08-26T20:19:40.945Z" } wheels = [ @@ -3004,8 +1930,7 @@ name = "numpy" version = "2.4.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", + "python_full_version >= '3.11'", ] sdist = { url = "https://files.pythonhosted.org/packages/a4/7a/6a3d14e205d292b738db449d0de649b373a59edb0d0b4493821d0a3e8718/numpy-2.4.0.tar.gz", hash = "sha256:6e504f7b16118198f138ef31ba24d985b124c2c469fe8467007cf30fd992f934", size = 20685720, upload-time = "2025-12-20T16:18:19.023Z" } wheels = [ @@ -3082,47 +2007,19 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/11/73/edeacba3167b1ca66d51b1a5a14697c2c40098b5ffa01811c67b1785a5ab/numpy-2.4.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:a39fb973a726e63223287adc6dafe444ce75af952d711e400f3bf2b36ef55a7b", size = 12489376, upload-time = "2025-12-20T16:18:16.524Z" }, ] -[[package]] -name = "openai" -version = "2.2.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "anyio", version = "4.5.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "distro", marker = "python_full_version < '3.9'" }, - { name = "httpx", marker = "python_full_version < '3.9'" }, - { name = "jiter", version = "0.9.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pydantic", version = "2.10.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "sniffio", marker = "python_full_version < '3.9'" }, - { name = "tqdm", marker = "python_full_version < '3.9'" }, - { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/b8/b1/8201e321a7d64a25c6f5a560320272d8be70547add40311fceb916518632/openai-2.2.0.tar.gz", hash = "sha256:bc49d077a8bf0e370eec4d038bc05e232c20855a19df0b58e5b3e5a8da7d33e0", size = 588512, upload-time = "2025-10-06T18:08:13.665Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/cb/92/6aeef1836e66dfec7f7f160a4f06d7041be7f6ccfc47a2f0f5738b332245/openai-2.2.0-py3-none-any.whl", hash = "sha256:d222e63436e33f3134a3d7ce490dc2d2f146fa98036eb65cc225df3ce163916f", size = 998972, upload-time = "2025-10-06T18:08:11.775Z" }, -] - [[package]] name = "openai" version = "2.14.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] dependencies = [ - { name = "anyio", version = "4.12.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "distro", marker = "python_full_version >= '3.9'" }, - { name = "httpx", marker = "python_full_version >= '3.9'" }, - { name = "jiter", version = "0.12.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "sniffio", marker = "python_full_version >= '3.9'" }, - { name = "tqdm", marker = "python_full_version >= '3.9'" }, - { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "anyio" }, + { name = "distro" }, + { name = "httpx" }, + { name = "jiter" }, + { name = "pydantic" }, + { name = "sniffio" }, + { name = "tqdm" }, + { name = "typing-extensions" }, ] sdist = { url = "https://files.pythonhosted.org/packages/d8/b1/12fe1c196bea326261718eb037307c1c1fe1dedc2d2d4de777df822e6238/openai-2.14.0.tar.gz", hash = "sha256:419357bedde9402d23bf8f2ee372fca1985a73348debba94bddff06f19459952", size = 626938, upload-time = "2025-12-19T03:28:45.742Z" } wheels = [ @@ -3131,11 +2028,11 @@ wheels = [ [[package]] name = "orderly-set" -version = "5.3.2" +version = "5.5.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/51/14/b2c6d6f9b95054b0b0c0afe54dc613285d2a8ab5d74080c2cc9d6500caa6/orderly_set-5.3.2.tar.gz", hash = "sha256:5fd6d917788d0e2196582f38a1c4b74591963d4df9be24ae5a51ba4cea2c987f", size = 20937, upload-time = "2025-04-09T23:58:43.653Z" } +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/e2/26/53b6ff62f27d0b449aebf9a05a569d9ee2ca6b9bf089aeda0c6813ba239d/orderly_set-5.3.2-py3-none-any.whl", hash = "sha256:81250ce092333db454a70e5d7ef1409ec4d3002e0d2c7546d710f4639f20f19d", size = 12338, upload-time = "2025-04-09T23:58:42.342Z" }, + { 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]] @@ -3152,8 +2049,7 @@ name = "parsimonious" version = "0.10.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "regex", version = "2024.11.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "regex", version = "2025.11.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "regex" }, ] sdist = { url = "https://files.pythonhosted.org/packages/7b/91/abdc50c4ef06fdf8d047f60ee777ca9b2a7885e1a9cea81343fbecda52d7/parsimonious-0.10.0.tar.gz", hash = "sha256:8281600da180ec8ae35427a4ab4f7b82bfec1e3d1e52f80cb60ea82b9512501c", size = 52172, upload-time = "2022-09-03T17:01:17.004Z" } wheels = [ @@ -3162,29 +2058,11 @@ wheels = [ [[package]] name = "pathspec" -version = "0.12.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", size = 51043, upload-time = "2023-12-10T22:30:45Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191, upload-time = "2023-12-10T22:30:43.14Z" }, -] - -[[package]] -name = "pdoc" -version = "14.7.0" +version = "1.0.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "astunparse", marker = "python_full_version < '3.9'" }, - { name = "jinja2", marker = "python_full_version < '3.9'" }, - { name = "markupsafe", version = "2.1.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pygments", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/28/50/e801b13b07efecaf8c2349c64edfffdd7bc1d9ebb9837f840c0e8af11cf8/pdoc-14.7.0.tar.gz", hash = "sha256:2d28af9c0acc39180744ad0543e4bbc3223ecba0d1302db315ec521c51f71f93", size = 154626, upload-time = "2024-09-11T23:35:36.132Z" } +sdist = { url = "https://files.pythonhosted.org/packages/28/2e/83722ece0f6ee24387d6cb830dd562ddbcd6ce0b9d76072c6849670c31b4/pathspec-1.0.1.tar.gz", hash = "sha256:e2769b508d0dd47b09af6ee2c75b2744a2cb1f474ae4b1494fd6a1b7a841613c", size = 129791, upload-time = "2026-01-06T13:02:55.15Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/27/bb/6dfa7e6f4eeed22d3311af76256615da637f821d584cf7b7aab5f4cbffc5/pdoc-14.7.0-py3-none-any.whl", hash = "sha256:72377a907efc6b2c5b3c56b717ef34f11d93621dced3b663f3aede0b844c0ad2", size = 144805, upload-time = "2024-09-11T23:35:34.385Z" }, + { url = "https://files.pythonhosted.org/packages/d2/fe/2257c71721aeab6a6e8aa1f00d01f2a20f58547d249a6c8fef5791f559fc/pathspec-1.0.1-py3-none-any.whl", hash = "sha256:8870061f22c58e6d83463cfce9a7dd6eca0512c772c1001fb09ac64091816721", size = 54584, upload-time = "2026-01-06T13:02:53.601Z" }, ] [[package]] @@ -3192,12 +2070,12 @@ name = "pdoc" version = "15.0.4" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version == '3.9.*'", + "python_full_version < '3.10'", ] dependencies = [ - { name = "jinja2", marker = "python_full_version == '3.9.*'" }, - { name = "markupsafe", version = "3.0.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "pygments", marker = "python_full_version == '3.9.*'" }, + { name = "jinja2", marker = "python_full_version < '3.10'" }, + { name = "markupsafe", marker = "python_full_version < '3.10'" }, + { name = "pygments", marker = "python_full_version < '3.10'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/91/5c/e94c1ab4aa2f8a9cc29d81e1c513c6216946cb3a90957ef7115b12e9363d/pdoc-15.0.4.tar.gz", hash = "sha256:cf9680f10f5b4863381f44ef084b1903f8f356acb0d4cc6b64576ba9fb712c82", size = 155678, upload-time = "2025-06-04T17:05:49.639Z" } wheels = [ @@ -3209,14 +2087,13 @@ name = "pdoc" version = "16.0.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", + "python_full_version >= '3.11'", "python_full_version == '3.10.*'", ] dependencies = [ { name = "jinja2", marker = "python_full_version >= '3.10'" }, { name = "markdown2", marker = "python_full_version >= '3.10'" }, - { name = "markupsafe", version = "3.0.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "markupsafe", marker = "python_full_version >= '3.10'" }, { name = "pygments", marker = "python_full_version >= '3.10'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/ac/fe/ab3f34a5fb08c6b698439a2c2643caf8fef0d61a86dd3fdcd5501c670ab8/pdoc-16.0.0.tar.gz", hash = "sha256:fdadc40cc717ec53919e3cd720390d4e3bcd40405cb51c4918c119447f913514", size = 111890, upload-time = "2025-10-27T16:02:16.345Z" } @@ -3224,95 +2101,24 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/16/a1/56a17b7f9e18c2bb8df73f3833345d97083b344708b97bab148fdd7e0b82/pdoc-16.0.0-py3-none-any.whl", hash = "sha256:070b51de2743b9b1a4e0ab193a06c9e6c12cf4151cf9137656eebb16e8556628", size = 100014, upload-time = "2025-10-27T16:02:15.007Z" }, ] -[[package]] -name = "platformdirs" -version = "4.3.6" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/13/fc/128cc9cb8f03208bdbf93d3aa862e16d376844a14f9a0ce5cf4507372de4/platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907", size = 21302, upload-time = "2024-09-17T19:06:50.688Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3c/a6/bc1012356d8ece4d66dd75c4b9fc6c1f6650ddd5991e421177d9f8f671be/platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb", size = 18439, upload-time = "2024-09-17T19:06:49.212Z" }, -] - -[[package]] -name = "platformdirs" -version = "4.4.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version == '3.9.*'", -] -sdist = { url = "https://files.pythonhosted.org/packages/23/e8/21db9c9987b0e728855bd57bff6984f67952bea55d6f75e055c46b5383e8/platformdirs-4.4.0.tar.gz", hash = "sha256:ca753cf4d81dc309bc67b0ea38fd15dc97bc30ce419a7f58d13eb3bf14c4febf", size = 21634, upload-time = "2025-08-26T14:32:04.268Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/40/4b/2028861e724d3bd36227adfa20d3fd24c3fc6d52032f4a93c133be5d17ce/platformdirs-4.4.0-py3-none-any.whl", hash = "sha256:abd01743f24e5287cd7a5db3752faf1a2d65353f38ec26d98e25a6db65958c85", size = 18654, upload-time = "2025-08-26T14:32:02.735Z" }, -] - -[[package]] -name = "platformdirs" -version = "4.5.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", -] -sdist = { url = "https://files.pythonhosted.org/packages/cf/86/0248f086a84f01b37aaec0fa567b397df1a119f73c16f6c7a9aac73ea309/platformdirs-4.5.1.tar.gz", hash = "sha256:61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda", size = 21715, upload-time = "2025-12-05T13:52:58.638Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/cb/28/3bfe2fa5a7b9c46fe7e13c97bda14c895fb10fa2ebf1d0abb90e0cea7ee1/platformdirs-4.5.1-py3-none-any.whl", hash = "sha256:d03afa3963c806a9bed9d5125c8f4cb2fdaf74a55ab60e5d59b3fde758104d31", size = 18731, upload-time = "2025-12-05T13:52:56.823Z" }, -] - -[[package]] -name = "pluggy" -version = "1.5.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", size = 67955, upload-time = "2024-04-20T21:34:42.531Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556, upload-time = "2024-04-20T21:34:40.434Z" }, -] - [[package]] name = "pluggy" version = "1.6.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, ] -[[package]] -name = "prettytable" -version = "3.11.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "wcwidth", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/28/57/0a642bec16d5736b9baaac7e830bedccd10341dc2858075c34d5aec5c8b6/prettytable-3.11.0.tar.gz", hash = "sha256:7e23ca1e68bbfd06ba8de98bf553bf3493264c96d5e8a615c0471025deeba722", size = 57527, upload-time = "2024-08-12T13:29:59.315Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d9/5a/bfdc26c0e19156992b1dc9de47f0b2e8992fe43db9981d814f860bdce2b3/prettytable-3.11.0-py3-none-any.whl", hash = "sha256:aa17083feb6c71da11a68b2c213b04675c4af4ce9c541762632ca3f2cb3546dd", size = 28734, upload-time = "2024-08-12T13:29:31.981Z" }, -] - [[package]] name = "prettytable" version = "3.16.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version == '3.9.*'", + "python_full_version < '3.10'", ] dependencies = [ - { name = "wcwidth", marker = "python_full_version == '3.9.*'" }, + { name = "wcwidth", marker = "python_full_version < '3.10'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/99/b1/85e18ac92afd08c533603e3393977b6bc1443043115a47bb094f3b98f94f/prettytable-3.16.0.tar.gz", hash = "sha256:3c64b31719d961bf69c9a7e03d0c1e477320906a98da63952bc6698d6164ff57", size = 66276, upload-time = "2025-03-24T19:39:04.008Z" } wheels = [ @@ -3324,8 +2130,7 @@ name = "prettytable" version = "3.17.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", + "python_full_version >= '3.11'", "python_full_version == '3.10.*'", ] dependencies = [ @@ -3336,124 +2141,10 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ee/8c/83087ebc47ab0396ce092363001fa37c17153119ee282700c0713a195853/prettytable-3.17.0-py3-none-any.whl", hash = "sha256:aad69b294ddbe3e1f95ef8886a060ed1666a0b83018bbf56295f6f226c43d287", size = 34433, upload-time = "2025-11-14T17:33:19.093Z" }, ] -[[package]] -name = "propcache" -version = "0.2.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/a9/4d/5e5a60b78dbc1d464f8a7bbaeb30957257afdc8512cbb9dfd5659304f5cd/propcache-0.2.0.tar.gz", hash = "sha256:df81779732feb9d01e5d513fad0122efb3d53bbc75f61b2a4f29a020bc985e70", size = 40951, upload-time = "2024-10-07T12:56:36.896Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3a/08/1963dfb932b8d74d5b09098507b37e9b96c835ba89ab8aad35aa330f4ff3/propcache-0.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c5869b8fd70b81835a6f187c5fdbe67917a04d7e52b6e7cc4e5fe39d55c39d58", size = 80712, upload-time = "2024-10-07T12:54:02.193Z" }, - { url = "https://files.pythonhosted.org/packages/e6/59/49072aba9bf8a8ed958e576182d46f038e595b17ff7408bc7e8807e721e1/propcache-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:952e0d9d07609d9c5be361f33b0d6d650cd2bae393aabb11d9b719364521984b", size = 46301, upload-time = "2024-10-07T12:54:03.576Z" }, - { url = "https://files.pythonhosted.org/packages/33/a2/6b1978c2e0d80a678e2c483f45e5443c15fe5d32c483902e92a073314ef1/propcache-0.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:33ac8f098df0585c0b53009f039dfd913b38c1d2edafed0cedcc0c32a05aa110", size = 45581, upload-time = "2024-10-07T12:54:05.415Z" }, - { url = "https://files.pythonhosted.org/packages/43/95/55acc9adff8f997c7572f23d41993042290dfb29e404cdadb07039a4386f/propcache-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:97e48e8875e6c13909c800fa344cd54cc4b2b0db1d5f911f840458a500fde2c2", size = 208659, upload-time = "2024-10-07T12:54:06.742Z" }, - { url = "https://files.pythonhosted.org/packages/bd/2c/ef7371ff715e6cd19ea03fdd5637ecefbaa0752fee5b0f2fe8ea8407ee01/propcache-0.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:388f3217649d6d59292b722d940d4d2e1e6a7003259eb835724092a1cca0203a", size = 222613, upload-time = "2024-10-07T12:54:08.204Z" }, - { url = "https://files.pythonhosted.org/packages/5e/1c/fef251f79fd4971a413fa4b1ae369ee07727b4cc2c71e2d90dfcde664fbb/propcache-0.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f571aea50ba5623c308aa146eb650eebf7dbe0fd8c5d946e28343cb3b5aad577", size = 221067, upload-time = "2024-10-07T12:54:10.449Z" }, - { url = "https://files.pythonhosted.org/packages/8d/e7/22e76ae6fc5a1708bdce92bdb49de5ebe89a173db87e4ef597d6bbe9145a/propcache-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3dfafb44f7bb35c0c06eda6b2ab4bfd58f02729e7c4045e179f9a861b07c9850", size = 208920, upload-time = "2024-10-07T12:54:11.903Z" }, - { url = "https://files.pythonhosted.org/packages/04/3e/f10aa562781bcd8a1e0b37683a23bef32bdbe501d9cc7e76969becaac30d/propcache-0.2.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a3ebe9a75be7ab0b7da2464a77bb27febcb4fab46a34f9288f39d74833db7f61", size = 200050, upload-time = "2024-10-07T12:54:13.292Z" }, - { url = "https://files.pythonhosted.org/packages/d0/98/8ac69f638358c5f2a0043809c917802f96f86026e86726b65006830f3dc6/propcache-0.2.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d2f0d0f976985f85dfb5f3d685697ef769faa6b71993b46b295cdbbd6be8cc37", size = 202346, upload-time = "2024-10-07T12:54:14.644Z" }, - { url = "https://files.pythonhosted.org/packages/ee/78/4acfc5544a5075d8e660af4d4e468d60c418bba93203d1363848444511ad/propcache-0.2.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:a3dc1a4b165283bd865e8f8cb5f0c64c05001e0718ed06250d8cac9bec115b48", size = 199750, upload-time = "2024-10-07T12:54:16.286Z" }, - { url = "https://files.pythonhosted.org/packages/a2/8f/90ada38448ca2e9cf25adc2fe05d08358bda1b9446f54a606ea38f41798b/propcache-0.2.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:9e0f07b42d2a50c7dd2d8675d50f7343d998c64008f1da5fef888396b7f84630", size = 201279, upload-time = "2024-10-07T12:54:17.752Z" }, - { url = "https://files.pythonhosted.org/packages/08/31/0e299f650f73903da851f50f576ef09bfffc8e1519e6a2f1e5ed2d19c591/propcache-0.2.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:e63e3e1e0271f374ed489ff5ee73d4b6e7c60710e1f76af5f0e1a6117cd26394", size = 211035, upload-time = "2024-10-07T12:54:19.109Z" }, - { url = "https://files.pythonhosted.org/packages/85/3e/e356cc6b09064bff1c06d0b2413593e7c925726f0139bc7acef8a21e87a8/propcache-0.2.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:56bb5c98f058a41bb58eead194b4db8c05b088c93d94d5161728515bd52b052b", size = 215565, upload-time = "2024-10-07T12:54:20.578Z" }, - { url = "https://files.pythonhosted.org/packages/8b/54/4ef7236cd657e53098bd05aa59cbc3cbf7018fba37b40eaed112c3921e51/propcache-0.2.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7665f04d0c7f26ff8bb534e1c65068409bf4687aa2534faf7104d7182debb336", size = 207604, upload-time = "2024-10-07T12:54:22.588Z" }, - { url = "https://files.pythonhosted.org/packages/1f/27/d01d7799c068443ee64002f0655d82fb067496897bf74b632e28ee6a32cf/propcache-0.2.0-cp310-cp310-win32.whl", hash = "sha256:7cf18abf9764746b9c8704774d8b06714bcb0a63641518a3a89c7f85cc02c2ad", size = 40526, upload-time = "2024-10-07T12:54:23.867Z" }, - { url = "https://files.pythonhosted.org/packages/bb/44/6c2add5eeafb7f31ff0d25fbc005d930bea040a1364cf0f5768750ddf4d1/propcache-0.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:cfac69017ef97db2438efb854edf24f5a29fd09a536ff3a992b75990720cdc99", size = 44958, upload-time = "2024-10-07T12:54:24.983Z" }, - { url = "https://files.pythonhosted.org/packages/e0/1c/71eec730e12aec6511e702ad0cd73c2872eccb7cad39de8ba3ba9de693ef/propcache-0.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:63f13bf09cc3336eb04a837490b8f332e0db41da66995c9fd1ba04552e516354", size = 80811, upload-time = "2024-10-07T12:54:26.165Z" }, - { url = "https://files.pythonhosted.org/packages/89/c3/7e94009f9a4934c48a371632197406a8860b9f08e3f7f7d922ab69e57a41/propcache-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:608cce1da6f2672a56b24a015b42db4ac612ee709f3d29f27a00c943d9e851de", size = 46365, upload-time = "2024-10-07T12:54:28.034Z" }, - { url = "https://files.pythonhosted.org/packages/c0/1d/c700d16d1d6903aeab28372fe9999762f074b80b96a0ccc953175b858743/propcache-0.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:466c219deee4536fbc83c08d09115249db301550625c7fef1c5563a584c9bc87", size = 45602, upload-time = "2024-10-07T12:54:29.148Z" }, - { url = "https://files.pythonhosted.org/packages/2e/5e/4a3e96380805bf742712e39a4534689f4cddf5fa2d3a93f22e9fd8001b23/propcache-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc2db02409338bf36590aa985a461b2c96fce91f8e7e0f14c50c5fcc4f229016", size = 236161, upload-time = "2024-10-07T12:54:31.557Z" }, - { url = "https://files.pythonhosted.org/packages/a5/85/90132481183d1436dff6e29f4fa81b891afb6cb89a7306f32ac500a25932/propcache-0.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a6ed8db0a556343d566a5c124ee483ae113acc9a557a807d439bcecc44e7dfbb", size = 244938, upload-time = "2024-10-07T12:54:33.051Z" }, - { url = "https://files.pythonhosted.org/packages/4a/89/c893533cb45c79c970834274e2d0f6d64383ec740be631b6a0a1d2b4ddc0/propcache-0.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:91997d9cb4a325b60d4e3f20967f8eb08dfcb32b22554d5ef78e6fd1dda743a2", size = 243576, upload-time = "2024-10-07T12:54:34.497Z" }, - { url = "https://files.pythonhosted.org/packages/8c/56/98c2054c8526331a05f205bf45cbb2cda4e58e56df70e76d6a509e5d6ec6/propcache-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4c7dde9e533c0a49d802b4f3f218fa9ad0a1ce21f2c2eb80d5216565202acab4", size = 236011, upload-time = "2024-10-07T12:54:35.903Z" }, - { url = "https://files.pythonhosted.org/packages/2d/0c/8b8b9f8a6e1abd869c0fa79b907228e7abb966919047d294ef5df0d136cf/propcache-0.2.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffcad6c564fe6b9b8916c1aefbb37a362deebf9394bd2974e9d84232e3e08504", size = 224834, upload-time = "2024-10-07T12:54:37.238Z" }, - { url = "https://files.pythonhosted.org/packages/18/bb/397d05a7298b7711b90e13108db697732325cafdcd8484c894885c1bf109/propcache-0.2.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:97a58a28bcf63284e8b4d7b460cbee1edaab24634e82059c7b8c09e65284f178", size = 224946, upload-time = "2024-10-07T12:54:38.72Z" }, - { url = "https://files.pythonhosted.org/packages/25/19/4fc08dac19297ac58135c03770b42377be211622fd0147f015f78d47cd31/propcache-0.2.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:945db8ee295d3af9dbdbb698cce9bbc5c59b5c3fe328bbc4387f59a8a35f998d", size = 217280, upload-time = "2024-10-07T12:54:40.089Z" }, - { url = "https://files.pythonhosted.org/packages/7e/76/c79276a43df2096ce2aba07ce47576832b1174c0c480fe6b04bd70120e59/propcache-0.2.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:39e104da444a34830751715f45ef9fc537475ba21b7f1f5b0f4d71a3b60d7fe2", size = 220088, upload-time = "2024-10-07T12:54:41.726Z" }, - { url = "https://files.pythonhosted.org/packages/c3/9a/8a8cf428a91b1336b883f09c8b884e1734c87f724d74b917129a24fe2093/propcache-0.2.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:c5ecca8f9bab618340c8e848d340baf68bcd8ad90a8ecd7a4524a81c1764b3db", size = 233008, upload-time = "2024-10-07T12:54:43.742Z" }, - { url = "https://files.pythonhosted.org/packages/25/7b/768a8969abd447d5f0f3333df85c6a5d94982a1bc9a89c53c154bf7a8b11/propcache-0.2.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:c436130cc779806bdf5d5fae0d848713105472b8566b75ff70048c47d3961c5b", size = 237719, upload-time = "2024-10-07T12:54:45.065Z" }, - { url = "https://files.pythonhosted.org/packages/ed/0d/e5d68ccc7976ef8b57d80613ac07bbaf0614d43f4750cf953f0168ef114f/propcache-0.2.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:191db28dc6dcd29d1a3e063c3be0b40688ed76434622c53a284e5427565bbd9b", size = 227729, upload-time = "2024-10-07T12:54:46.405Z" }, - { url = "https://files.pythonhosted.org/packages/05/64/17eb2796e2d1c3d0c431dc5f40078d7282f4645af0bb4da9097fbb628c6c/propcache-0.2.0-cp311-cp311-win32.whl", hash = "sha256:5f2564ec89058ee7c7989a7b719115bdfe2a2fb8e7a4543b8d1c0cc4cf6478c1", size = 40473, upload-time = "2024-10-07T12:54:47.694Z" }, - { url = "https://files.pythonhosted.org/packages/83/c5/e89fc428ccdc897ade08cd7605f174c69390147526627a7650fb883e0cd0/propcache-0.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:6e2e54267980349b723cff366d1e29b138b9a60fa376664a157a342689553f71", size = 44921, upload-time = "2024-10-07T12:54:48.935Z" }, - { url = "https://files.pythonhosted.org/packages/7c/46/a41ca1097769fc548fc9216ec4c1471b772cc39720eb47ed7e38ef0006a9/propcache-0.2.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:2ee7606193fb267be4b2e3b32714f2d58cad27217638db98a60f9efb5efeccc2", size = 80800, upload-time = "2024-10-07T12:54:50.409Z" }, - { url = "https://files.pythonhosted.org/packages/75/4f/93df46aab9cc473498ff56be39b5f6ee1e33529223d7a4d8c0a6101a9ba2/propcache-0.2.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:91ee8fc02ca52e24bcb77b234f22afc03288e1dafbb1f88fe24db308910c4ac7", size = 46443, upload-time = "2024-10-07T12:54:51.634Z" }, - { url = "https://files.pythonhosted.org/packages/0b/17/308acc6aee65d0f9a8375e36c4807ac6605d1f38074b1581bd4042b9fb37/propcache-0.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2e900bad2a8456d00a113cad8c13343f3b1f327534e3589acc2219729237a2e8", size = 45676, upload-time = "2024-10-07T12:54:53.454Z" }, - { url = "https://files.pythonhosted.org/packages/65/44/626599d2854d6c1d4530b9a05e7ff2ee22b790358334b475ed7c89f7d625/propcache-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f52a68c21363c45297aca15561812d542f8fc683c85201df0bebe209e349f793", size = 246191, upload-time = "2024-10-07T12:54:55.438Z" }, - { url = "https://files.pythonhosted.org/packages/f2/df/5d996d7cb18df076debae7d76ac3da085c0575a9f2be6b1f707fe227b54c/propcache-0.2.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1e41d67757ff4fbc8ef2af99b338bfb955010444b92929e9e55a6d4dcc3c4f09", size = 251791, upload-time = "2024-10-07T12:54:57.441Z" }, - { url = "https://files.pythonhosted.org/packages/2e/6d/9f91e5dde8b1f662f6dd4dff36098ed22a1ef4e08e1316f05f4758f1576c/propcache-0.2.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a64e32f8bd94c105cc27f42d3b658902b5bcc947ece3c8fe7bc1b05982f60e89", size = 253434, upload-time = "2024-10-07T12:54:58.857Z" }, - { url = "https://files.pythonhosted.org/packages/3c/e9/1b54b7e26f50b3e0497cd13d3483d781d284452c2c50dd2a615a92a087a3/propcache-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:55346705687dbd7ef0d77883ab4f6fabc48232f587925bdaf95219bae072491e", size = 248150, upload-time = "2024-10-07T12:55:00.19Z" }, - { url = "https://files.pythonhosted.org/packages/a7/ef/a35bf191c8038fe3ce9a414b907371c81d102384eda5dbafe6f4dce0cf9b/propcache-0.2.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:00181262b17e517df2cd85656fcd6b4e70946fe62cd625b9d74ac9977b64d8d9", size = 233568, upload-time = "2024-10-07T12:55:01.723Z" }, - { url = "https://files.pythonhosted.org/packages/97/d9/d00bb9277a9165a5e6d60f2142cd1a38a750045c9c12e47ae087f686d781/propcache-0.2.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6994984550eaf25dd7fc7bd1b700ff45c894149341725bb4edc67f0ffa94efa4", size = 229874, upload-time = "2024-10-07T12:55:03.962Z" }, - { url = "https://files.pythonhosted.org/packages/8e/78/c123cf22469bdc4b18efb78893e69c70a8b16de88e6160b69ca6bdd88b5d/propcache-0.2.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:56295eb1e5f3aecd516d91b00cfd8bf3a13991de5a479df9e27dd569ea23959c", size = 225857, upload-time = "2024-10-07T12:55:06.439Z" }, - { url = "https://files.pythonhosted.org/packages/31/1b/fd6b2f1f36d028820d35475be78859d8c89c8f091ad30e377ac49fd66359/propcache-0.2.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:439e76255daa0f8151d3cb325f6dd4a3e93043e6403e6491813bcaaaa8733887", size = 227604, upload-time = "2024-10-07T12:55:08.254Z" }, - { url = "https://files.pythonhosted.org/packages/99/36/b07be976edf77a07233ba712e53262937625af02154353171716894a86a6/propcache-0.2.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:f6475a1b2ecb310c98c28d271a30df74f9dd436ee46d09236a6b750a7599ce57", size = 238430, upload-time = "2024-10-07T12:55:09.766Z" }, - { url = "https://files.pythonhosted.org/packages/0d/64/5822f496c9010e3966e934a011ac08cac8734561842bc7c1f65586e0683c/propcache-0.2.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3444cdba6628accf384e349014084b1cacd866fbb88433cd9d279d90a54e0b23", size = 244814, upload-time = "2024-10-07T12:55:11.145Z" }, - { url = "https://files.pythonhosted.org/packages/fd/bd/8657918a35d50b18a9e4d78a5df7b6c82a637a311ab20851eef4326305c1/propcache-0.2.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4a9d9b4d0a9b38d1c391bb4ad24aa65f306c6f01b512e10a8a34a2dc5675d348", size = 235922, upload-time = "2024-10-07T12:55:12.508Z" }, - { url = "https://files.pythonhosted.org/packages/a8/6f/ec0095e1647b4727db945213a9f395b1103c442ef65e54c62e92a72a3f75/propcache-0.2.0-cp312-cp312-win32.whl", hash = "sha256:69d3a98eebae99a420d4b28756c8ce6ea5a29291baf2dc9ff9414b42676f61d5", size = 40177, upload-time = "2024-10-07T12:55:13.814Z" }, - { url = "https://files.pythonhosted.org/packages/20/a2/bd0896fdc4f4c1db46d9bc361c8c79a9bf08ccc08ba054a98e38e7ba1557/propcache-0.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:ad9c9b99b05f163109466638bd30ada1722abb01bbb85c739c50b6dc11f92dc3", size = 44446, upload-time = "2024-10-07T12:55:14.972Z" }, - { url = "https://files.pythonhosted.org/packages/a8/a7/5f37b69197d4f558bfef5b4bceaff7c43cc9b51adf5bd75e9081d7ea80e4/propcache-0.2.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ecddc221a077a8132cf7c747d5352a15ed763b674c0448d811f408bf803d9ad7", size = 78120, upload-time = "2024-10-07T12:55:16.179Z" }, - { url = "https://files.pythonhosted.org/packages/c8/cd/48ab2b30a6b353ecb95a244915f85756d74f815862eb2ecc7a518d565b48/propcache-0.2.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0e53cb83fdd61cbd67202735e6a6687a7b491c8742dfc39c9e01e80354956763", size = 45127, upload-time = "2024-10-07T12:55:18.275Z" }, - { url = "https://files.pythonhosted.org/packages/a5/ba/0a1ef94a3412aab057bd996ed5f0ac7458be5bf469e85c70fa9ceb43290b/propcache-0.2.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92fe151145a990c22cbccf9ae15cae8ae9eddabfc949a219c9f667877e40853d", size = 44419, upload-time = "2024-10-07T12:55:19.487Z" }, - { url = "https://files.pythonhosted.org/packages/b4/6c/ca70bee4f22fa99eacd04f4d2f1699be9d13538ccf22b3169a61c60a27fa/propcache-0.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6a21ef516d36909931a2967621eecb256018aeb11fc48656e3257e73e2e247a", size = 229611, upload-time = "2024-10-07T12:55:21.377Z" }, - { url = "https://files.pythonhosted.org/packages/19/70/47b872a263e8511ca33718d96a10c17d3c853aefadeb86dc26e8421184b9/propcache-0.2.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3f88a4095e913f98988f5b338c1d4d5d07dbb0b6bad19892fd447484e483ba6b", size = 234005, upload-time = "2024-10-07T12:55:22.898Z" }, - { url = "https://files.pythonhosted.org/packages/4f/be/3b0ab8c84a22e4a3224719099c1229ddfdd8a6a1558cf75cb55ee1e35c25/propcache-0.2.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5a5b3bb545ead161be780ee85a2b54fdf7092815995661947812dde94a40f6fb", size = 237270, upload-time = "2024-10-07T12:55:24.354Z" }, - { url = "https://files.pythonhosted.org/packages/04/d8/f071bb000d4b8f851d312c3c75701e586b3f643fe14a2e3409b1b9ab3936/propcache-0.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67aeb72e0f482709991aa91345a831d0b707d16b0257e8ef88a2ad246a7280bf", size = 231877, upload-time = "2024-10-07T12:55:25.774Z" }, - { url = "https://files.pythonhosted.org/packages/93/e7/57a035a1359e542bbb0a7df95aad6b9871ebee6dce2840cb157a415bd1f3/propcache-0.2.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3c997f8c44ec9b9b0bcbf2d422cc00a1d9b9c681f56efa6ca149a941e5560da2", size = 217848, upload-time = "2024-10-07T12:55:27.148Z" }, - { url = "https://files.pythonhosted.org/packages/f0/93/d1dea40f112ec183398fb6c42fde340edd7bab202411c4aa1a8289f461b6/propcache-0.2.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:2a66df3d4992bc1d725b9aa803e8c5a66c010c65c741ad901e260ece77f58d2f", size = 216987, upload-time = "2024-10-07T12:55:29.294Z" }, - { url = "https://files.pythonhosted.org/packages/62/4c/877340871251145d3522c2b5d25c16a1690ad655fbab7bb9ece6b117e39f/propcache-0.2.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:3ebbcf2a07621f29638799828b8d8668c421bfb94c6cb04269130d8de4fb7136", size = 212451, upload-time = "2024-10-07T12:55:30.643Z" }, - { url = "https://files.pythonhosted.org/packages/7c/bb/a91b72efeeb42906ef58ccf0cdb87947b54d7475fee3c93425d732f16a61/propcache-0.2.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:1235c01ddaa80da8235741e80815ce381c5267f96cc49b1477fdcf8c047ef325", size = 212879, upload-time = "2024-10-07T12:55:32.024Z" }, - { url = "https://files.pythonhosted.org/packages/9b/7f/ee7fea8faac57b3ec5d91ff47470c6c5d40d7f15d0b1fccac806348fa59e/propcache-0.2.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3947483a381259c06921612550867b37d22e1df6d6d7e8361264b6d037595f44", size = 222288, upload-time = "2024-10-07T12:55:33.401Z" }, - { url = "https://files.pythonhosted.org/packages/ff/d7/acd67901c43d2e6b20a7a973d9d5fd543c6e277af29b1eb0e1f7bd7ca7d2/propcache-0.2.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:d5bed7f9805cc29c780f3aee05de3262ee7ce1f47083cfe9f77471e9d6777e83", size = 228257, upload-time = "2024-10-07T12:55:35.381Z" }, - { url = "https://files.pythonhosted.org/packages/8d/6f/6272ecc7a8daad1d0754cfc6c8846076a8cb13f810005c79b15ce0ef0cf2/propcache-0.2.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e4a91d44379f45f5e540971d41e4626dacd7f01004826a18cb048e7da7e96544", size = 221075, upload-time = "2024-10-07T12:55:36.789Z" }, - { url = "https://files.pythonhosted.org/packages/7c/bd/c7a6a719a6b3dd8b3aeadb3675b5783983529e4a3185946aa444d3e078f6/propcache-0.2.0-cp313-cp313-win32.whl", hash = "sha256:f902804113e032e2cdf8c71015651c97af6418363bea8d78dc0911d56c335032", size = 39654, upload-time = "2024-10-07T12:55:38.762Z" }, - { url = "https://files.pythonhosted.org/packages/88/e7/0eef39eff84fa3e001b44de0bd41c7c0e3432e7648ffd3d64955910f002d/propcache-0.2.0-cp313-cp313-win_amd64.whl", hash = "sha256:8f188cfcc64fb1266f4684206c9de0e80f54622c3f22a910cbd200478aeae61e", size = 43705, upload-time = "2024-10-07T12:55:39.921Z" }, - { url = "https://files.pythonhosted.org/packages/b4/94/2c3d64420fd58ed462e2b416386d48e72dec027cf7bb572066cf3866e939/propcache-0.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:53d1bd3f979ed529f0805dd35ddaca330f80a9a6d90bc0121d2ff398f8ed8861", size = 82315, upload-time = "2024-10-07T12:55:41.166Z" }, - { url = "https://files.pythonhosted.org/packages/73/b7/9e2a17d9a126f2012b22ddc5d0979c28ca75104e24945214790c1d787015/propcache-0.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:83928404adf8fb3d26793665633ea79b7361efa0287dfbd372a7e74311d51ee6", size = 47188, upload-time = "2024-10-07T12:55:42.316Z" }, - { url = "https://files.pythonhosted.org/packages/80/ef/18af27caaae5589c08bb5a461cfa136b83b7e7983be604f2140d91f92b97/propcache-0.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:77a86c261679ea5f3896ec060be9dc8e365788248cc1e049632a1be682442063", size = 46314, upload-time = "2024-10-07T12:55:43.544Z" }, - { url = "https://files.pythonhosted.org/packages/fa/df/8dbd3e472baf73251c0fbb571a3f0a4e3a40c52a1c8c2a6c46ab08736ff9/propcache-0.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:218db2a3c297a3768c11a34812e63b3ac1c3234c3a086def9c0fee50d35add1f", size = 212874, upload-time = "2024-10-07T12:55:44.823Z" }, - { url = "https://files.pythonhosted.org/packages/7c/57/5d4d783ac594bd56434679b8643673ae12de1ce758116fd8912a7f2313ec/propcache-0.2.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7735e82e3498c27bcb2d17cb65d62c14f1100b71723b68362872bca7d0913d90", size = 224578, upload-time = "2024-10-07T12:55:46.253Z" }, - { url = "https://files.pythonhosted.org/packages/66/27/072be8ad434c9a3aa1b561f527984ea0ed4ac072fd18dfaaa2aa2d6e6a2b/propcache-0.2.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:20a617c776f520c3875cf4511e0d1db847a076d720714ae35ffe0df3e440be68", size = 222636, upload-time = "2024-10-07T12:55:47.608Z" }, - { url = "https://files.pythonhosted.org/packages/c3/f1/69a30ff0928d07f50bdc6f0147fd9a08e80904fd3fdb711785e518de1021/propcache-0.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:67b69535c870670c9f9b14a75d28baa32221d06f6b6fa6f77a0a13c5a7b0a5b9", size = 213573, upload-time = "2024-10-07T12:55:49.82Z" }, - { url = "https://files.pythonhosted.org/packages/a8/2e/c16716ae113fe0a3219978df3665a6fea049d81d50bd28c4ae72a4c77567/propcache-0.2.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4569158070180c3855e9c0791c56be3ceeb192defa2cdf6a3f39e54319e56b89", size = 205438, upload-time = "2024-10-07T12:55:51.231Z" }, - { url = "https://files.pythonhosted.org/packages/e1/df/80e2c5cd5ed56a7bfb1aa58cedb79617a152ae43de7c0a7e800944a6b2e2/propcache-0.2.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:db47514ffdbd91ccdc7e6f8407aac4ee94cc871b15b577c1c324236b013ddd04", size = 202352, upload-time = "2024-10-07T12:55:52.596Z" }, - { url = "https://files.pythonhosted.org/packages/0f/4e/79f665fa04839f30ffb2903211c718b9660fbb938ac7a4df79525af5aeb3/propcache-0.2.0-cp38-cp38-musllinux_1_2_armv7l.whl", hash = "sha256:2a60ad3e2553a74168d275a0ef35e8c0a965448ffbc3b300ab3a5bb9956c2162", size = 200476, upload-time = "2024-10-07T12:55:54.016Z" }, - { url = "https://files.pythonhosted.org/packages/a9/39/b9ea7b011521dd7cfd2f89bb6b8b304f3c789ea6285445bc145bebc83094/propcache-0.2.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:662dd62358bdeaca0aee5761de8727cfd6861432e3bb828dc2a693aa0471a563", size = 201581, upload-time = "2024-10-07T12:55:56.246Z" }, - { url = "https://files.pythonhosted.org/packages/e4/81/e8e96c97aa0b675a14e37b12ca9c9713b15cfacf0869e64bf3ab389fabf1/propcache-0.2.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:25a1f88b471b3bc911d18b935ecb7115dff3a192b6fef46f0bfaf71ff4f12418", size = 225628, upload-time = "2024-10-07T12:55:57.686Z" }, - { url = "https://files.pythonhosted.org/packages/eb/99/15f998c502c214f6c7f51462937605d514a8943a9a6c1fa10f40d2710976/propcache-0.2.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:f60f0ac7005b9f5a6091009b09a419ace1610e163fa5deaba5ce3484341840e7", size = 229270, upload-time = "2024-10-07T12:55:59.065Z" }, - { url = "https://files.pythonhosted.org/packages/ff/3a/a9f1a0c0e5b994b8f1a1c71bea56bb3e9eeec821cb4dd61e14051c4ba00b/propcache-0.2.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:74acd6e291f885678631b7ebc85d2d4aec458dd849b8c841b57ef04047833bed", size = 207771, upload-time = "2024-10-07T12:56:00.393Z" }, - { url = "https://files.pythonhosted.org/packages/ff/3e/6103906a66d6713f32880cf6a5ba84a1406b4d66e1b9389bb9b8e1789f9e/propcache-0.2.0-cp38-cp38-win32.whl", hash = "sha256:d9b6ddac6408194e934002a69bcaadbc88c10b5f38fb9307779d1c629181815d", size = 41015, upload-time = "2024-10-07T12:56:01.953Z" }, - { url = "https://files.pythonhosted.org/packages/37/23/a30214b4c1f2bea24cc1197ef48d67824fbc41d5cf5472b17c37fef6002c/propcache-0.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:676135dcf3262c9c5081cc8f19ad55c8a64e3f7282a21266d05544450bffc3a5", size = 45749, upload-time = "2024-10-07T12:56:03.095Z" }, - { url = "https://files.pythonhosted.org/packages/38/05/797e6738c9f44ab5039e3ff329540c934eabbe8ad7e63c305c75844bc86f/propcache-0.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:25c8d773a62ce0451b020c7b29a35cfbc05de8b291163a7a0f3b7904f27253e6", size = 81903, upload-time = "2024-10-07T12:56:04.651Z" }, - { url = "https://files.pythonhosted.org/packages/9f/84/8d5edb9a73e1a56b24dd8f2adb6aac223109ff0e8002313d52e5518258ba/propcache-0.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:375a12d7556d462dc64d70475a9ee5982465fbb3d2b364f16b86ba9135793638", size = 46960, upload-time = "2024-10-07T12:56:06.38Z" }, - { url = "https://files.pythonhosted.org/packages/e7/77/388697bedda984af0d12d68e536b98129b167282da3401965c8450de510e/propcache-0.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1ec43d76b9677637a89d6ab86e1fef70d739217fefa208c65352ecf0282be957", size = 46133, upload-time = "2024-10-07T12:56:07.606Z" }, - { url = "https://files.pythonhosted.org/packages/e2/dc/60d444610bc5b1d7a758534f58362b1bcee736a785473f8a39c91f05aad1/propcache-0.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f45eec587dafd4b2d41ac189c2156461ebd0c1082d2fe7013571598abb8505d1", size = 211105, upload-time = "2024-10-07T12:56:08.826Z" }, - { url = "https://files.pythonhosted.org/packages/bc/c6/40eb0dd1de6f8e84f454615ab61f68eb4a58f9d63d6f6eaf04300ac0cc17/propcache-0.2.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bc092ba439d91df90aea38168e11f75c655880c12782facf5cf9c00f3d42b562", size = 226613, upload-time = "2024-10-07T12:56:11.184Z" }, - { url = "https://files.pythonhosted.org/packages/de/b6/e078b5e9de58e20db12135eb6a206b4b43cb26c6b62ee0fe36ac40763a64/propcache-0.2.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fa1076244f54bb76e65e22cb6910365779d5c3d71d1f18b275f1dfc7b0d71b4d", size = 225587, upload-time = "2024-10-07T12:56:15.294Z" }, - { url = "https://files.pythonhosted.org/packages/ce/4e/97059dd24494d1c93d1efb98bb24825e1930265b41858dd59c15cb37a975/propcache-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:682a7c79a2fbf40f5dbb1eb6bfe2cd865376deeac65acf9beb607505dced9e12", size = 211826, upload-time = "2024-10-07T12:56:16.997Z" }, - { url = "https://files.pythonhosted.org/packages/fc/23/4dbf726602a989d2280fe130a9b9dd71faa8d3bb8cd23d3261ff3c23f692/propcache-0.2.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8e40876731f99b6f3c897b66b803c9e1c07a989b366c6b5b475fafd1f7ba3fb8", size = 203140, upload-time = "2024-10-07T12:56:18.368Z" }, - { url = "https://files.pythonhosted.org/packages/5b/ce/f3bff82c885dbd9ae9e43f134d5b02516c3daa52d46f7a50e4f52ef9121f/propcache-0.2.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:363ea8cd3c5cb6679f1c2f5f1f9669587361c062e4899fce56758efa928728f8", size = 208841, upload-time = "2024-10-07T12:56:19.859Z" }, - { url = "https://files.pythonhosted.org/packages/29/d7/19a4d3b4c7e95d08f216da97035d0b103d0c90411c6f739d47088d2da1f0/propcache-0.2.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:140fbf08ab3588b3468932974a9331aff43c0ab8a2ec2c608b6d7d1756dbb6cb", size = 203315, upload-time = "2024-10-07T12:56:21.256Z" }, - { url = "https://files.pythonhosted.org/packages/db/87/5748212a18beb8d4ab46315c55ade8960d1e2cdc190764985b2d229dd3f4/propcache-0.2.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:e70fac33e8b4ac63dfc4c956fd7d85a0b1139adcfc0d964ce288b7c527537fea", size = 204724, upload-time = "2024-10-07T12:56:23.644Z" }, - { url = "https://files.pythonhosted.org/packages/84/2a/c3d2f989fc571a5bad0fabcd970669ccb08c8f9b07b037ecddbdab16a040/propcache-0.2.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:b33d7a286c0dc1a15f5fc864cc48ae92a846df287ceac2dd499926c3801054a6", size = 215514, upload-time = "2024-10-07T12:56:25.733Z" }, - { url = "https://files.pythonhosted.org/packages/c9/1f/4c44c133b08bc5f776afcb8f0833889c2636b8a83e07ea1d9096c1e401b0/propcache-0.2.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:f6d5749fdd33d90e34c2efb174c7e236829147a2713334d708746e94c4bde40d", size = 220063, upload-time = "2024-10-07T12:56:28.497Z" }, - { url = "https://files.pythonhosted.org/packages/2e/25/280d0a3bdaee68db74c0acd9a472e59e64b516735b59cffd3a326ff9058a/propcache-0.2.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:22aa8f2272d81d9317ff5756bb108021a056805ce63dd3630e27d042c8092798", size = 211620, upload-time = "2024-10-07T12:56:29.891Z" }, - { url = "https://files.pythonhosted.org/packages/28/8c/266898981b7883c1563c35954f9ce9ced06019fdcc487a9520150c48dc91/propcache-0.2.0-cp39-cp39-win32.whl", hash = "sha256:73e4b40ea0eda421b115248d7e79b59214411109a5bc47d0d48e4c73e3b8fcf9", size = 41049, upload-time = "2024-10-07T12:56:31.246Z" }, - { url = "https://files.pythonhosted.org/packages/af/53/a3e5b937f58e757a940716b88105ec4c211c42790c1ea17052b46dc16f16/propcache-0.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:9517d5e9e0731957468c29dbfd0f976736a0e55afaea843726e887f36fe017df", size = 45587, upload-time = "2024-10-07T12:56:33.416Z" }, - { url = "https://files.pythonhosted.org/packages/3d/b6/e6d98278f2d49b22b4d033c9f792eda783b9ab2094b041f013fc69bcde87/propcache-0.2.0-py3-none-any.whl", hash = "sha256:2ccc28197af5313706511fab3a8b66dcd6da067a1331372c82ea1cb74285e036", size = 11603, upload-time = "2024-10-07T12:56:35.137Z" }, -] - [[package]] name = "propcache" version = "0.4.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] sdist = { url = "https://files.pythonhosted.org/packages/9e/da/e9fc233cf63743258bff22b3dfa7ea5baef7b5bc324af47a0ad89b8ffc6f/propcache-0.4.1.tar.gz", hash = "sha256:f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d", size = 46442, upload-time = "2025-10-08T19:49:02.291Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/3c/0e/934b541323035566a9af292dba85a195f7b78179114f2c6ebb24551118a9/propcache-0.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7c2d1fa3201efaf55d730400d945b5b3ab6e672e100ba0f9a409d950ab25d7db", size = 79534, upload-time = "2025-10-08T19:46:02.083Z" }, @@ -3619,169 +2310,27 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/2b/62/2392b7879f4d2c1bfa20815720b89d464687877851716936b9609959c201/pycryptodome-3.23.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:ce64e84a962b63a47a592690bdc16a7eaf709d2c2697ababf24a0def566899a6", size = 1802461, upload-time = "2025-05-17T17:21:41.722Z" }, ] -[[package]] -name = "pydantic" -version = "2.10.6" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "annotated-types", marker = "python_full_version < '3.9'" }, - { name = "pydantic-core", version = "2.27.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/b7/ae/d5220c5c52b158b1de7ca89fc5edb72f304a70a4c540c84c8844bf4008de/pydantic-2.10.6.tar.gz", hash = "sha256:ca5daa827cce33de7a42be142548b0096bf05a7e7b365aebfa5f8eeec7128236", size = 761681, upload-time = "2025-01-24T01:42:12.693Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/f4/3c/8cc1cc84deffa6e25d2d0c688ebb80635dfdbf1dbea3e30c541c8cf4d860/pydantic-2.10.6-py3-none-any.whl", hash = "sha256:427d664bf0b8a2b34ff5dd0f5a18df00591adcee7198fbd71981054cef37b584", size = 431696, upload-time = "2025-01-24T01:42:10.371Z" }, -] - [[package]] name = "pydantic" version = "2.12.5" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] dependencies = [ - { name = "annotated-types", marker = "python_full_version >= '3.9'" }, - { name = "pydantic-core", version = "2.41.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "typing-inspection", marker = "python_full_version >= '3.9'" }, + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, + { name = "typing-inspection" }, ] sdist = { url = "https://files.pythonhosted.org/packages/69/44/36f1a6e523abc58ae5f928898e4aca2e0ea509b5aa6f6f392a5d882be928/pydantic-2.12.5.tar.gz", hash = "sha256:4d351024c75c0f085a9febbb665ce8c0c6ec5d30e903bdb6394b7ede26aebb49", size = 821591, upload-time = "2025-11-26T15:11:46.471Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/5a/87/b70ad306ebb6f9b585f114d0ac2137d792b48be34d732d60e597c2f8465a/pydantic-2.12.5-py3-none-any.whl", hash = "sha256:e561593fccf61e8a20fc46dfc2dfe075b8be7d0188df33f221ad1f0139180f9d", size = 463580, upload-time = "2025-11-26T15:11:44.605Z" }, ] -[[package]] -name = "pydantic-core" -version = "2.27.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/fc/01/f3e5ac5e7c25833db5eb555f7b7ab24cd6f8c322d3a3ad2d67a952dc0abc/pydantic_core-2.27.2.tar.gz", hash = "sha256:eb026e5a4c1fee05726072337ff51d1efb6f59090b7da90d30ea58625b1ffb39", size = 413443, upload-time = "2024-12-18T11:31:54.917Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/3a/bc/fed5f74b5d802cf9a03e83f60f18864e90e3aed7223adaca5ffb7a8d8d64/pydantic_core-2.27.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2d367ca20b2f14095a8f4fa1210f5a7b78b8a20009ecced6b12818f455b1e9fa", size = 1895938, upload-time = "2024-12-18T11:27:14.406Z" }, - { url = "https://files.pythonhosted.org/packages/71/2a/185aff24ce844e39abb8dd680f4e959f0006944f4a8a0ea372d9f9ae2e53/pydantic_core-2.27.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:491a2b73db93fab69731eaee494f320faa4e093dbed776be1a829c2eb222c34c", size = 1815684, upload-time = "2024-12-18T11:27:16.489Z" }, - { url = "https://files.pythonhosted.org/packages/c3/43/fafabd3d94d159d4f1ed62e383e264f146a17dd4d48453319fd782e7979e/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7969e133a6f183be60e9f6f56bfae753585680f3b7307a8e555a948d443cc05a", size = 1829169, upload-time = "2024-12-18T11:27:22.16Z" }, - { url = "https://files.pythonhosted.org/packages/a2/d1/f2dfe1a2a637ce6800b799aa086d079998959f6f1215eb4497966efd2274/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3de9961f2a346257caf0aa508a4da705467f53778e9ef6fe744c038119737ef5", size = 1867227, upload-time = "2024-12-18T11:27:25.097Z" }, - { url = "https://files.pythonhosted.org/packages/7d/39/e06fcbcc1c785daa3160ccf6c1c38fea31f5754b756e34b65f74e99780b5/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e2bb4d3e5873c37bb3dd58714d4cd0b0e6238cebc4177ac8fe878f8b3aa8e74c", size = 2037695, upload-time = "2024-12-18T11:27:28.656Z" }, - { url = "https://files.pythonhosted.org/packages/7a/67/61291ee98e07f0650eb756d44998214231f50751ba7e13f4f325d95249ab/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:280d219beebb0752699480fe8f1dc61ab6615c2046d76b7ab7ee38858de0a4e7", size = 2741662, upload-time = "2024-12-18T11:27:30.798Z" }, - { url = "https://files.pythonhosted.org/packages/32/90/3b15e31b88ca39e9e626630b4c4a1f5a0dfd09076366f4219429e6786076/pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47956ae78b6422cbd46f772f1746799cbb862de838fd8d1fbd34a82e05b0983a", size = 1993370, upload-time = "2024-12-18T11:27:33.692Z" }, - { url = "https://files.pythonhosted.org/packages/ff/83/c06d333ee3a67e2e13e07794995c1535565132940715931c1c43bfc85b11/pydantic_core-2.27.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:14d4a5c49d2f009d62a2a7140d3064f686d17a5d1a268bc641954ba181880236", size = 1996813, upload-time = "2024-12-18T11:27:37.111Z" }, - { url = "https://files.pythonhosted.org/packages/7c/f7/89be1c8deb6e22618a74f0ca0d933fdcb8baa254753b26b25ad3acff8f74/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:337b443af21d488716f8d0b6164de833e788aa6bd7e3a39c005febc1284f4962", size = 2005287, upload-time = "2024-12-18T11:27:40.566Z" }, - { url = "https://files.pythonhosted.org/packages/b7/7d/8eb3e23206c00ef7feee17b83a4ffa0a623eb1a9d382e56e4aa46fd15ff2/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:03d0f86ea3184a12f41a2d23f7ccb79cdb5a18e06993f8a45baa8dfec746f0e9", size = 2128414, upload-time = "2024-12-18T11:27:43.757Z" }, - { url = "https://files.pythonhosted.org/packages/4e/99/fe80f3ff8dd71a3ea15763878d464476e6cb0a2db95ff1c5c554133b6b83/pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7041c36f5680c6e0f08d922aed302e98b3745d97fe1589db0a3eebf6624523af", size = 2155301, upload-time = "2024-12-18T11:27:47.36Z" }, - { url = "https://files.pythonhosted.org/packages/2b/a3/e50460b9a5789ca1451b70d4f52546fa9e2b420ba3bfa6100105c0559238/pydantic_core-2.27.2-cp310-cp310-win32.whl", hash = "sha256:50a68f3e3819077be2c98110c1f9dcb3817e93f267ba80a2c05bb4f8799e2ff4", size = 1816685, upload-time = "2024-12-18T11:27:50.508Z" }, - { url = "https://files.pythonhosted.org/packages/57/4c/a8838731cb0f2c2a39d3535376466de6049034d7b239c0202a64aaa05533/pydantic_core-2.27.2-cp310-cp310-win_amd64.whl", hash = "sha256:e0fd26b16394ead34a424eecf8a31a1f5137094cabe84a1bcb10fa6ba39d3d31", size = 1982876, upload-time = "2024-12-18T11:27:53.54Z" }, - { url = "https://files.pythonhosted.org/packages/c2/89/f3450af9d09d44eea1f2c369f49e8f181d742f28220f88cc4dfaae91ea6e/pydantic_core-2.27.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:8e10c99ef58cfdf2a66fc15d66b16c4a04f62bca39db589ae8cba08bc55331bc", size = 1893421, upload-time = "2024-12-18T11:27:55.409Z" }, - { url = "https://files.pythonhosted.org/packages/9e/e3/71fe85af2021f3f386da42d291412e5baf6ce7716bd7101ea49c810eda90/pydantic_core-2.27.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:26f32e0adf166a84d0cb63be85c562ca8a6fa8de28e5f0d92250c6b7e9e2aff7", size = 1814998, upload-time = "2024-12-18T11:27:57.252Z" }, - { url = "https://files.pythonhosted.org/packages/a6/3c/724039e0d848fd69dbf5806894e26479577316c6f0f112bacaf67aa889ac/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c19d1ea0673cd13cc2f872f6c9ab42acc4e4f492a7ca9d3795ce2b112dd7e15", size = 1826167, upload-time = "2024-12-18T11:27:59.146Z" }, - { url = "https://files.pythonhosted.org/packages/2b/5b/1b29e8c1fb5f3199a9a57c1452004ff39f494bbe9bdbe9a81e18172e40d3/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e68c4446fe0810e959cdff46ab0a41ce2f2c86d227d96dc3847af0ba7def306", size = 1865071, upload-time = "2024-12-18T11:28:02.625Z" }, - { url = "https://files.pythonhosted.org/packages/89/6c/3985203863d76bb7d7266e36970d7e3b6385148c18a68cc8915fd8c84d57/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9640b0059ff4f14d1f37321b94061c6db164fbe49b334b31643e0528d100d99", size = 2036244, upload-time = "2024-12-18T11:28:04.442Z" }, - { url = "https://files.pythonhosted.org/packages/0e/41/f15316858a246b5d723f7d7f599f79e37493b2e84bfc789e58d88c209f8a/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:40d02e7d45c9f8af700f3452f329ead92da4c5f4317ca9b896de7ce7199ea459", size = 2737470, upload-time = "2024-12-18T11:28:07.679Z" }, - { url = "https://files.pythonhosted.org/packages/a8/7c/b860618c25678bbd6d1d99dbdfdf0510ccb50790099b963ff78a124b754f/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c1fd185014191700554795c99b347d64f2bb637966c4cfc16998a0ca700d048", size = 1992291, upload-time = "2024-12-18T11:28:10.297Z" }, - { url = "https://files.pythonhosted.org/packages/bf/73/42c3742a391eccbeab39f15213ecda3104ae8682ba3c0c28069fbcb8c10d/pydantic_core-2.27.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d81d2068e1c1228a565af076598f9e7451712700b673de8f502f0334f281387d", size = 1994613, upload-time = "2024-12-18T11:28:13.362Z" }, - { url = "https://files.pythonhosted.org/packages/94/7a/941e89096d1175d56f59340f3a8ebaf20762fef222c298ea96d36a6328c5/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1a4207639fb02ec2dbb76227d7c751a20b1a6b4bc52850568e52260cae64ca3b", size = 2002355, upload-time = "2024-12-18T11:28:16.587Z" }, - { url = "https://files.pythonhosted.org/packages/6e/95/2359937a73d49e336a5a19848713555605d4d8d6940c3ec6c6c0ca4dcf25/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:3de3ce3c9ddc8bbd88f6e0e304dea0e66d843ec9de1b0042b0911c1663ffd474", size = 2126661, upload-time = "2024-12-18T11:28:18.407Z" }, - { url = "https://files.pythonhosted.org/packages/2b/4c/ca02b7bdb6012a1adef21a50625b14f43ed4d11f1fc237f9d7490aa5078c/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:30c5f68ded0c36466acede341551106821043e9afaad516adfb6e8fa80a4e6a6", size = 2153261, upload-time = "2024-12-18T11:28:21.471Z" }, - { url = "https://files.pythonhosted.org/packages/72/9d/a241db83f973049a1092a079272ffe2e3e82e98561ef6214ab53fe53b1c7/pydantic_core-2.27.2-cp311-cp311-win32.whl", hash = "sha256:c70c26d2c99f78b125a3459f8afe1aed4d9687c24fd677c6a4436bc042e50d6c", size = 1812361, upload-time = "2024-12-18T11:28:23.53Z" }, - { url = "https://files.pythonhosted.org/packages/e8/ef/013f07248041b74abd48a385e2110aa3a9bbfef0fbd97d4e6d07d2f5b89a/pydantic_core-2.27.2-cp311-cp311-win_amd64.whl", hash = "sha256:08e125dbdc505fa69ca7d9c499639ab6407cfa909214d500897d02afb816e7cc", size = 1982484, upload-time = "2024-12-18T11:28:25.391Z" }, - { url = "https://files.pythonhosted.org/packages/10/1c/16b3a3e3398fd29dca77cea0a1d998d6bde3902fa2706985191e2313cc76/pydantic_core-2.27.2-cp311-cp311-win_arm64.whl", hash = "sha256:26f0d68d4b235a2bae0c3fc585c585b4ecc51382db0e3ba402a22cbc440915e4", size = 1867102, upload-time = "2024-12-18T11:28:28.593Z" }, - { url = "https://files.pythonhosted.org/packages/d6/74/51c8a5482ca447871c93e142d9d4a92ead74de6c8dc5e66733e22c9bba89/pydantic_core-2.27.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9e0c8cfefa0ef83b4da9588448b6d8d2a2bf1a53c3f1ae5fca39eb3061e2f0b0", size = 1893127, upload-time = "2024-12-18T11:28:30.346Z" }, - { url = "https://files.pythonhosted.org/packages/d3/f3/c97e80721735868313c58b89d2de85fa80fe8dfeeed84dc51598b92a135e/pydantic_core-2.27.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:83097677b8e3bd7eaa6775720ec8e0405f1575015a463285a92bfdfe254529ef", size = 1811340, upload-time = "2024-12-18T11:28:32.521Z" }, - { url = "https://files.pythonhosted.org/packages/9e/91/840ec1375e686dbae1bd80a9e46c26a1e0083e1186abc610efa3d9a36180/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:172fce187655fece0c90d90a678424b013f8fbb0ca8b036ac266749c09438cb7", size = 1822900, upload-time = "2024-12-18T11:28:34.507Z" }, - { url = "https://files.pythonhosted.org/packages/f6/31/4240bc96025035500c18adc149aa6ffdf1a0062a4b525c932065ceb4d868/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:519f29f5213271eeeeb3093f662ba2fd512b91c5f188f3bb7b27bc5973816934", size = 1869177, upload-time = "2024-12-18T11:28:36.488Z" }, - { url = "https://files.pythonhosted.org/packages/fa/20/02fbaadb7808be578317015c462655c317a77a7c8f0ef274bc016a784c54/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05e3a55d124407fffba0dd6b0c0cd056d10e983ceb4e5dbd10dda135c31071d6", size = 2038046, upload-time = "2024-12-18T11:28:39.409Z" }, - { url = "https://files.pythonhosted.org/packages/06/86/7f306b904e6c9eccf0668248b3f272090e49c275bc488a7b88b0823444a4/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c3ed807c7b91de05e63930188f19e921d1fe90de6b4f5cd43ee7fcc3525cb8c", size = 2685386, upload-time = "2024-12-18T11:28:41.221Z" }, - { url = "https://files.pythonhosted.org/packages/8d/f0/49129b27c43396581a635d8710dae54a791b17dfc50c70164866bbf865e3/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fb4aadc0b9a0c063206846d603b92030eb6f03069151a625667f982887153e2", size = 1997060, upload-time = "2024-12-18T11:28:44.709Z" }, - { url = "https://files.pythonhosted.org/packages/0d/0f/943b4af7cd416c477fd40b187036c4f89b416a33d3cc0ab7b82708a667aa/pydantic_core-2.27.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28ccb213807e037460326424ceb8b5245acb88f32f3d2777427476e1b32c48c4", size = 2004870, upload-time = "2024-12-18T11:28:46.839Z" }, - { url = "https://files.pythonhosted.org/packages/35/40/aea70b5b1a63911c53a4c8117c0a828d6790483f858041f47bab0b779f44/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:de3cd1899e2c279b140adde9357c4495ed9d47131b4a4eaff9052f23398076b3", size = 1999822, upload-time = "2024-12-18T11:28:48.896Z" }, - { url = "https://files.pythonhosted.org/packages/f2/b3/807b94fd337d58effc5498fd1a7a4d9d59af4133e83e32ae39a96fddec9d/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:220f892729375e2d736b97d0e51466252ad84c51857d4d15f5e9692f9ef12be4", size = 2130364, upload-time = "2024-12-18T11:28:50.755Z" }, - { url = "https://files.pythonhosted.org/packages/fc/df/791c827cd4ee6efd59248dca9369fb35e80a9484462c33c6649a8d02b565/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a0fcd29cd6b4e74fe8ddd2c90330fd8edf2e30cb52acda47f06dd615ae72da57", size = 2158303, upload-time = "2024-12-18T11:28:54.122Z" }, - { url = "https://files.pythonhosted.org/packages/9b/67/4e197c300976af185b7cef4c02203e175fb127e414125916bf1128b639a9/pydantic_core-2.27.2-cp312-cp312-win32.whl", hash = "sha256:1e2cb691ed9834cd6a8be61228471d0a503731abfb42f82458ff27be7b2186fc", size = 1834064, upload-time = "2024-12-18T11:28:56.074Z" }, - { url = "https://files.pythonhosted.org/packages/1f/ea/cd7209a889163b8dcca139fe32b9687dd05249161a3edda62860430457a5/pydantic_core-2.27.2-cp312-cp312-win_amd64.whl", hash = "sha256:cc3f1a99a4f4f9dd1de4fe0312c114e740b5ddead65bb4102884b384c15d8bc9", size = 1989046, upload-time = "2024-12-18T11:28:58.107Z" }, - { url = "https://files.pythonhosted.org/packages/bc/49/c54baab2f4658c26ac633d798dab66b4c3a9bbf47cff5284e9c182f4137a/pydantic_core-2.27.2-cp312-cp312-win_arm64.whl", hash = "sha256:3911ac9284cd8a1792d3cb26a2da18f3ca26c6908cc434a18f730dc0db7bfa3b", size = 1885092, upload-time = "2024-12-18T11:29:01.335Z" }, - { url = "https://files.pythonhosted.org/packages/41/b1/9bc383f48f8002f99104e3acff6cba1231b29ef76cfa45d1506a5cad1f84/pydantic_core-2.27.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7d14bd329640e63852364c306f4d23eb744e0f8193148d4044dd3dacdaacbd8b", size = 1892709, upload-time = "2024-12-18T11:29:03.193Z" }, - { url = "https://files.pythonhosted.org/packages/10/6c/e62b8657b834f3eb2961b49ec8e301eb99946245e70bf42c8817350cbefc/pydantic_core-2.27.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82f91663004eb8ed30ff478d77c4d1179b3563df6cdb15c0817cd1cdaf34d154", size = 1811273, upload-time = "2024-12-18T11:29:05.306Z" }, - { url = "https://files.pythonhosted.org/packages/ba/15/52cfe49c8c986e081b863b102d6b859d9defc63446b642ccbbb3742bf371/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71b24c7d61131bb83df10cc7e687433609963a944ccf45190cfc21e0887b08c9", size = 1823027, upload-time = "2024-12-18T11:29:07.294Z" }, - { url = "https://files.pythonhosted.org/packages/b1/1c/b6f402cfc18ec0024120602bdbcebc7bdd5b856528c013bd4d13865ca473/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fa8e459d4954f608fa26116118bb67f56b93b209c39b008277ace29937453dc9", size = 1868888, upload-time = "2024-12-18T11:29:09.249Z" }, - { url = "https://files.pythonhosted.org/packages/bd/7b/8cb75b66ac37bc2975a3b7de99f3c6f355fcc4d89820b61dffa8f1e81677/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce8918cbebc8da707ba805b7fd0b382816858728ae7fe19a942080c24e5b7cd1", size = 2037738, upload-time = "2024-12-18T11:29:11.23Z" }, - { url = "https://files.pythonhosted.org/packages/c8/f1/786d8fe78970a06f61df22cba58e365ce304bf9b9f46cc71c8c424e0c334/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eda3f5c2a021bbc5d976107bb302e0131351c2ba54343f8a496dc8783d3d3a6a", size = 2685138, upload-time = "2024-12-18T11:29:16.396Z" }, - { url = "https://files.pythonhosted.org/packages/a6/74/d12b2cd841d8724dc8ffb13fc5cef86566a53ed358103150209ecd5d1999/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd8086fa684c4775c27f03f062cbb9eaa6e17f064307e86b21b9e0abc9c0f02e", size = 1997025, upload-time = "2024-12-18T11:29:20.25Z" }, - { url = "https://files.pythonhosted.org/packages/a0/6e/940bcd631bc4d9a06c9539b51f070b66e8f370ed0933f392db6ff350d873/pydantic_core-2.27.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8d9b3388db186ba0c099a6d20f0604a44eabdeef1777ddd94786cdae158729e4", size = 2004633, upload-time = "2024-12-18T11:29:23.877Z" }, - { url = "https://files.pythonhosted.org/packages/50/cc/a46b34f1708d82498c227d5d80ce615b2dd502ddcfd8376fc14a36655af1/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7a66efda2387de898c8f38c0cf7f14fca0b51a8ef0b24bfea5849f1b3c95af27", size = 1999404, upload-time = "2024-12-18T11:29:25.872Z" }, - { url = "https://files.pythonhosted.org/packages/ca/2d/c365cfa930ed23bc58c41463bae347d1005537dc8db79e998af8ba28d35e/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:18a101c168e4e092ab40dbc2503bdc0f62010e95d292b27827871dc85450d7ee", size = 2130130, upload-time = "2024-12-18T11:29:29.252Z" }, - { url = "https://files.pythonhosted.org/packages/f4/d7/eb64d015c350b7cdb371145b54d96c919d4db516817f31cd1c650cae3b21/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ba5dd002f88b78a4215ed2f8ddbdf85e8513382820ba15ad5ad8955ce0ca19a1", size = 2157946, upload-time = "2024-12-18T11:29:31.338Z" }, - { url = "https://files.pythonhosted.org/packages/a4/99/bddde3ddde76c03b65dfd5a66ab436c4e58ffc42927d4ff1198ffbf96f5f/pydantic_core-2.27.2-cp313-cp313-win32.whl", hash = "sha256:1ebaf1d0481914d004a573394f4be3a7616334be70261007e47c2a6fe7e50130", size = 1834387, upload-time = "2024-12-18T11:29:33.481Z" }, - { url = "https://files.pythonhosted.org/packages/71/47/82b5e846e01b26ac6f1893d3c5f9f3a2eb6ba79be26eef0b759b4fe72946/pydantic_core-2.27.2-cp313-cp313-win_amd64.whl", hash = "sha256:953101387ecf2f5652883208769a79e48db18c6df442568a0b5ccd8c2723abee", size = 1990453, upload-time = "2024-12-18T11:29:35.533Z" }, - { url = "https://files.pythonhosted.org/packages/51/b2/b2b50d5ecf21acf870190ae5d093602d95f66c9c31f9d5de6062eb329ad1/pydantic_core-2.27.2-cp313-cp313-win_arm64.whl", hash = "sha256:ac4dbfd1691affb8f48c2c13241a2e3b60ff23247cbcf981759c768b6633cf8b", size = 1885186, upload-time = "2024-12-18T11:29:37.649Z" }, - { url = "https://files.pythonhosted.org/packages/43/53/13e9917fc69c0a4aea06fd63ed6a8d6cda9cf140ca9584d49c1650b0ef5e/pydantic_core-2.27.2-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d3e8d504bdd3f10835468f29008d72fc8359d95c9c415ce6e767203db6127506", size = 1899595, upload-time = "2024-12-18T11:29:40.887Z" }, - { url = "https://files.pythonhosted.org/packages/f4/20/26c549249769ed84877f862f7bb93f89a6ee08b4bee1ed8781616b7fbb5e/pydantic_core-2.27.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:521eb9b7f036c9b6187f0b47318ab0d7ca14bd87f776240b90b21c1f4f149320", size = 1775010, upload-time = "2024-12-18T11:29:44.823Z" }, - { url = "https://files.pythonhosted.org/packages/35/eb/8234e05452d92d2b102ffa1b56d801c3567e628fdc63f02080fdfc68fd5e/pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85210c4d99a0114f5a9481b44560d7d1e35e32cc5634c656bc48e590b669b145", size = 1830727, upload-time = "2024-12-18T11:29:46.904Z" }, - { url = "https://files.pythonhosted.org/packages/8f/df/59f915c8b929d5f61e5a46accf748a87110ba145156f9326d1a7d28912b2/pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d716e2e30c6f140d7560ef1538953a5cd1a87264c737643d481f2779fc247fe1", size = 1868393, upload-time = "2024-12-18T11:29:49.098Z" }, - { url = "https://files.pythonhosted.org/packages/d5/52/81cf4071dca654d485c277c581db368b0c95b2b883f4d7b736ab54f72ddf/pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f66d89ba397d92f840f8654756196d93804278457b5fbede59598a1f9f90b228", size = 2040300, upload-time = "2024-12-18T11:29:51.43Z" }, - { url = "https://files.pythonhosted.org/packages/9c/00/05197ce1614f5c08d7a06e1d39d5d8e704dc81971b2719af134b844e2eaf/pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:669e193c1c576a58f132e3158f9dfa9662969edb1a250c54d8fa52590045f046", size = 2738785, upload-time = "2024-12-18T11:29:55.001Z" }, - { url = "https://files.pythonhosted.org/packages/f7/a3/5f19bc495793546825ab160e530330c2afcee2281c02b5ffafd0b32ac05e/pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdbe7629b996647b99c01b37f11170a57ae675375b14b8c13b8518b8320ced5", size = 1996493, upload-time = "2024-12-18T11:29:57.13Z" }, - { url = "https://files.pythonhosted.org/packages/ed/e8/e0102c2ec153dc3eed88aea03990e1b06cfbca532916b8a48173245afe60/pydantic_core-2.27.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d262606bf386a5ba0b0af3b97f37c83d7011439e3dc1a9298f21efb292e42f1a", size = 1998544, upload-time = "2024-12-18T11:30:00.681Z" }, - { url = "https://files.pythonhosted.org/packages/fb/a3/4be70845b555bd80aaee9f9812a7cf3df81550bce6dadb3cfee9c5d8421d/pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:cabb9bcb7e0d97f74df8646f34fc76fbf793b7f6dc2438517d7a9e50eee4f14d", size = 2007449, upload-time = "2024-12-18T11:30:02.985Z" }, - { url = "https://files.pythonhosted.org/packages/e3/9f/b779ed2480ba355c054e6d7ea77792467631d674b13d8257085a4bc7dcda/pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_armv7l.whl", hash = "sha256:d2d63f1215638d28221f664596b1ccb3944f6e25dd18cd3b86b0a4c408d5ebb9", size = 2129460, upload-time = "2024-12-18T11:30:06.55Z" }, - { url = "https://files.pythonhosted.org/packages/a0/f0/a6ab0681f6e95260c7fbf552874af7302f2ea37b459f9b7f00698f875492/pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bca101c00bff0adb45a833f8451b9105d9df18accb8743b08107d7ada14bd7da", size = 2159609, upload-time = "2024-12-18T11:30:09.428Z" }, - { url = "https://files.pythonhosted.org/packages/8a/2b/e1059506795104349712fbca647b18b3f4a7fd541c099e6259717441e1e0/pydantic_core-2.27.2-cp38-cp38-win32.whl", hash = "sha256:f6f8e111843bbb0dee4cb6594cdc73e79b3329b526037ec242a3e49012495b3b", size = 1819886, upload-time = "2024-12-18T11:30:11.777Z" }, - { url = "https://files.pythonhosted.org/packages/aa/6d/df49c17f024dfc58db0bacc7b03610058018dd2ea2eaf748ccbada4c3d06/pydantic_core-2.27.2-cp38-cp38-win_amd64.whl", hash = "sha256:fd1aea04935a508f62e0d0ef1f5ae968774a32afc306fb8545e06f5ff5cdf3ad", size = 1980773, upload-time = "2024-12-18T11:30:14.828Z" }, - { url = "https://files.pythonhosted.org/packages/27/97/3aef1ddb65c5ccd6eda9050036c956ff6ecbfe66cb7eb40f280f121a5bb0/pydantic_core-2.27.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c10eb4f1659290b523af58fa7cffb452a61ad6ae5613404519aee4bfbf1df993", size = 1896475, upload-time = "2024-12-18T11:30:18.316Z" }, - { url = "https://files.pythonhosted.org/packages/ad/d3/5668da70e373c9904ed2f372cb52c0b996426f302e0dee2e65634c92007d/pydantic_core-2.27.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ef592d4bad47296fb11f96cd7dc898b92e795032b4894dfb4076cfccd43a9308", size = 1772279, upload-time = "2024-12-18T11:30:20.547Z" }, - { url = "https://files.pythonhosted.org/packages/8a/9e/e44b8cb0edf04a2f0a1f6425a65ee089c1d6f9c4c2dcab0209127b6fdfc2/pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c61709a844acc6bf0b7dce7daae75195a10aac96a596ea1b776996414791ede4", size = 1829112, upload-time = "2024-12-18T11:30:23.255Z" }, - { url = "https://files.pythonhosted.org/packages/1c/90/1160d7ac700102effe11616e8119e268770f2a2aa5afb935f3ee6832987d/pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42c5f762659e47fdb7b16956c71598292f60a03aa92f8b6351504359dbdba6cf", size = 1866780, upload-time = "2024-12-18T11:30:25.742Z" }, - { url = "https://files.pythonhosted.org/packages/ee/33/13983426df09a36d22c15980008f8d9c77674fc319351813b5a2739b70f3/pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c9775e339e42e79ec99c441d9730fccf07414af63eac2f0e48e08fd38a64d76", size = 2037943, upload-time = "2024-12-18T11:30:28.036Z" }, - { url = "https://files.pythonhosted.org/packages/01/d7/ced164e376f6747e9158c89988c293cd524ab8d215ae4e185e9929655d5c/pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:57762139821c31847cfb2df63c12f725788bd9f04bc2fb392790959b8f70f118", size = 2740492, upload-time = "2024-12-18T11:30:30.412Z" }, - { url = "https://files.pythonhosted.org/packages/8b/1f/3dc6e769d5b7461040778816aab2b00422427bcaa4b56cc89e9c653b2605/pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d1e85068e818c73e048fe28cfc769040bb1f475524f4745a5dc621f75ac7630", size = 1995714, upload-time = "2024-12-18T11:30:34.358Z" }, - { url = "https://files.pythonhosted.org/packages/07/d7/a0bd09bc39283530b3f7c27033a814ef254ba3bd0b5cfd040b7abf1fe5da/pydantic_core-2.27.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:097830ed52fd9e427942ff3b9bc17fab52913b2f50f2880dc4a5611446606a54", size = 1997163, upload-time = "2024-12-18T11:30:37.979Z" }, - { url = "https://files.pythonhosted.org/packages/2d/bb/2db4ad1762e1c5699d9b857eeb41959191980de6feb054e70f93085e1bcd/pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:044a50963a614ecfae59bb1eaf7ea7efc4bc62f49ed594e18fa1e5d953c40e9f", size = 2005217, upload-time = "2024-12-18T11:30:40.367Z" }, - { url = "https://files.pythonhosted.org/packages/53/5f/23a5a3e7b8403f8dd8fc8a6f8b49f6b55c7d715b77dcf1f8ae919eeb5628/pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:4e0b4220ba5b40d727c7f879eac379b822eee5d8fff418e9d3381ee45b3b0362", size = 2127899, upload-time = "2024-12-18T11:30:42.737Z" }, - { url = "https://files.pythonhosted.org/packages/c2/ae/aa38bb8dd3d89c2f1d8362dd890ee8f3b967330821d03bbe08fa01ce3766/pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5e4f4bb20d75e9325cc9696c6802657b58bc1dbbe3022f32cc2b2b632c3fbb96", size = 2155726, upload-time = "2024-12-18T11:30:45.279Z" }, - { url = "https://files.pythonhosted.org/packages/98/61/4f784608cc9e98f70839187117ce840480f768fed5d386f924074bf6213c/pydantic_core-2.27.2-cp39-cp39-win32.whl", hash = "sha256:cca63613e90d001b9f2f9a9ceb276c308bfa2a43fafb75c8031c4f66039e8c6e", size = 1817219, upload-time = "2024-12-18T11:30:47.718Z" }, - { url = "https://files.pythonhosted.org/packages/57/82/bb16a68e4a1a858bb3768c2c8f1ff8d8978014e16598f001ea29a25bf1d1/pydantic_core-2.27.2-cp39-cp39-win_amd64.whl", hash = "sha256:77d1bca19b0f7021b3a982e6f903dcd5b2b06076def36a652e3907f596e29f67", size = 1985382, upload-time = "2024-12-18T11:30:51.871Z" }, - { url = "https://files.pythonhosted.org/packages/46/72/af70981a341500419e67d5cb45abe552a7c74b66326ac8877588488da1ac/pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2bf14caea37e91198329b828eae1618c068dfb8ef17bb33287a7ad4b61ac314e", size = 1891159, upload-time = "2024-12-18T11:30:54.382Z" }, - { url = "https://files.pythonhosted.org/packages/ad/3d/c5913cccdef93e0a6a95c2d057d2c2cba347815c845cda79ddd3c0f5e17d/pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:b0cb791f5b45307caae8810c2023a184c74605ec3bcbb67d13846c28ff731ff8", size = 1768331, upload-time = "2024-12-18T11:30:58.178Z" }, - { url = "https://files.pythonhosted.org/packages/f6/f0/a3ae8fbee269e4934f14e2e0e00928f9346c5943174f2811193113e58252/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:688d3fd9fcb71f41c4c015c023d12a79d1c4c0732ec9eb35d96e3388a120dcf3", size = 1822467, upload-time = "2024-12-18T11:31:00.6Z" }, - { url = "https://files.pythonhosted.org/packages/d7/7a/7bbf241a04e9f9ea24cd5874354a83526d639b02674648af3f350554276c/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d591580c34f4d731592f0e9fe40f9cc1b430d297eecc70b962e93c5c668f15f", size = 1979797, upload-time = "2024-12-18T11:31:07.243Z" }, - { url = "https://files.pythonhosted.org/packages/4f/5f/4784c6107731f89e0005a92ecb8a2efeafdb55eb992b8e9d0a2be5199335/pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:82f986faf4e644ffc189a7f1aafc86e46ef70372bb153e7001e8afccc6e54133", size = 1987839, upload-time = "2024-12-18T11:31:09.775Z" }, - { url = "https://files.pythonhosted.org/packages/6d/a7/61246562b651dff00de86a5f01b6e4befb518df314c54dec187a78d81c84/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:bec317a27290e2537f922639cafd54990551725fc844249e64c523301d0822fc", size = 1998861, upload-time = "2024-12-18T11:31:13.469Z" }, - { url = "https://files.pythonhosted.org/packages/86/aa/837821ecf0c022bbb74ca132e117c358321e72e7f9702d1b6a03758545e2/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:0296abcb83a797db256b773f45773da397da75a08f5fcaef41f2044adec05f50", size = 2116582, upload-time = "2024-12-18T11:31:17.423Z" }, - { url = "https://files.pythonhosted.org/packages/81/b0/5e74656e95623cbaa0a6278d16cf15e10a51f6002e3ec126541e95c29ea3/pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:0d75070718e369e452075a6017fbf187f788e17ed67a3abd47fa934d001863d9", size = 2151985, upload-time = "2024-12-18T11:31:19.901Z" }, - { url = "https://files.pythonhosted.org/packages/63/37/3e32eeb2a451fddaa3898e2163746b0cffbbdbb4740d38372db0490d67f3/pydantic_core-2.27.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7e17b560be3c98a8e3aa66ce828bdebb9e9ac6ad5466fba92eb74c4c95cb1151", size = 2004715, upload-time = "2024-12-18T11:31:22.821Z" }, - { url = "https://files.pythonhosted.org/packages/29/0e/dcaea00c9dbd0348b723cae82b0e0c122e0fa2b43fa933e1622fd237a3ee/pydantic_core-2.27.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c33939a82924da9ed65dab5a65d427205a73181d8098e79b6b426bdf8ad4e656", size = 1891733, upload-time = "2024-12-18T11:31:26.876Z" }, - { url = "https://files.pythonhosted.org/packages/86/d3/e797bba8860ce650272bda6383a9d8cad1d1c9a75a640c9d0e848076f85e/pydantic_core-2.27.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:00bad2484fa6bda1e216e7345a798bd37c68fb2d97558edd584942aa41b7d278", size = 1768375, upload-time = "2024-12-18T11:31:29.276Z" }, - { url = "https://files.pythonhosted.org/packages/41/f7/f847b15fb14978ca2b30262548f5fc4872b2724e90f116393eb69008299d/pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c817e2b40aba42bac6f457498dacabc568c3b7a986fc9ba7c8d9d260b71485fb", size = 1822307, upload-time = "2024-12-18T11:31:33.123Z" }, - { url = "https://files.pythonhosted.org/packages/9c/63/ed80ec8255b587b2f108e514dc03eed1546cd00f0af281e699797f373f38/pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:251136cdad0cb722e93732cb45ca5299fb56e1344a833640bf93b2803f8d1bfd", size = 1979971, upload-time = "2024-12-18T11:31:35.755Z" }, - { url = "https://files.pythonhosted.org/packages/a9/6d/6d18308a45454a0de0e975d70171cadaf454bc7a0bf86b9c7688e313f0bb/pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d2088237af596f0a524d3afc39ab3b036e8adb054ee57cbb1dcf8e09da5b29cc", size = 1987616, upload-time = "2024-12-18T11:31:38.534Z" }, - { url = "https://files.pythonhosted.org/packages/82/8a/05f8780f2c1081b800a7ca54c1971e291c2d07d1a50fb23c7e4aef4ed403/pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d4041c0b966a84b4ae7a09832eb691a35aec90910cd2dbe7a208de59be77965b", size = 1998943, upload-time = "2024-12-18T11:31:41.853Z" }, - { url = "https://files.pythonhosted.org/packages/5e/3e/fe5b6613d9e4c0038434396b46c5303f5ade871166900b357ada4766c5b7/pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:8083d4e875ebe0b864ffef72a4304827015cff328a1be6e22cc850753bfb122b", size = 2116654, upload-time = "2024-12-18T11:31:44.756Z" }, - { url = "https://files.pythonhosted.org/packages/db/ad/28869f58938fad8cc84739c4e592989730bfb69b7c90a8fff138dff18e1e/pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f141ee28a0ad2123b6611b6ceff018039df17f32ada8b534e6aa039545a3efb2", size = 2152292, upload-time = "2024-12-18T11:31:48.613Z" }, - { url = "https://files.pythonhosted.org/packages/a1/0c/c5c5cd3689c32ed1fe8c5d234b079c12c281c051759770c05b8bed6412b5/pydantic_core-2.27.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7d0c8399fcc1848491f00e0314bd59fb34a9c008761bcb422a057670c3f65e35", size = 2004961, upload-time = "2024-12-18T11:31:52.446Z" }, -] - [[package]] name = "pydantic-core" version = "2.41.5" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] dependencies = [ - { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "typing-extensions" }, ] sdist = { url = "https://files.pythonhosted.org/packages/71/70/23b021c950c2addd24ec408e9ab05d59b035b39d97cdc1130e1bce647bb6/pydantic_core-2.41.5.tar.gz", hash = "sha256:08daa51ea16ad373ffd5e7606252cc32f07bc72b28284b6bc9c6df804816476e", size = 460952, upload-time = "2025-11-04T13:43:49.098Z" } wheels = [ @@ -3916,68 +2465,24 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" }, ] -[[package]] -name = "pylint" -version = "3.0.3" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "astroid" }, - { name = "colorama", marker = "sys_platform == 'win32'" }, - { name = "dill" }, - { name = "isort" }, - { name = "mccabe" }, - { name = "platformdirs", version = "4.3.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "platformdirs", version = "4.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "platformdirs", version = "4.5.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "tomli", marker = "python_full_version < '3.11'" }, - { name = "tomlkit" }, - { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/24/4f/5ca8d654d69006b3a5d52332e56359448b5c5ce242574a8ff26cb260ac3d/pylint-3.0.3.tar.gz", hash = "sha256:58c2398b0301e049609a8429789ec6edf3aabe9b6c5fec916acd18639c16de8b", size = 441807, upload-time = "2023-12-11T13:20:22.023Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0b/59/289c76e3ebdaa2ce9910b366aea437dbc1e0e602a0a513abca757fc4997a/pylint-3.0.3-py3-none-any.whl", hash = "sha256:7a1585285aefc5165db81083c3e06363a27448f6b467b3b0f30dbd0ac1f73810", size = 510642, upload-time = "2023-12-11T13:20:16.441Z" }, -] - [[package]] name = "pytest" -version = "8.3.5" +version = "7.4.4" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version < '3.9'", + "python_full_version < '3.10'", ] dependencies = [ - { name = "colorama", marker = "python_full_version < '3.9' and sys_platform == 'win32'" }, - { name = "exceptiongroup", marker = "python_full_version < '3.9'" }, - { name = "iniconfig", version = "2.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "packaging", marker = "python_full_version < '3.9'" }, - { name = "pluggy", version = "1.5.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "tomli", marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/ae/3c/c9d525a414d506893f0cd8a8d0de7706446213181570cdbd766691164e40/pytest-8.3.5.tar.gz", hash = "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845", size = 1450891, upload-time = "2025-03-02T12:54:54.503Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/30/3d/64ad57c803f1fa1e963a7946b6e0fea4a70df53c1a7fed304586539c2bac/pytest-8.3.5-py3-none-any.whl", hash = "sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820", size = 343634, upload-time = "2025-03-02T12:54:52.069Z" }, -] - -[[package]] -name = "pytest" -version = "8.4.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version == '3.9.*'", + { name = "colorama", marker = "python_full_version < '3.10' and sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.10'" }, + { name = "iniconfig", version = "2.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "packaging", marker = "python_full_version < '3.10'" }, + { name = "pluggy", marker = "python_full_version < '3.10'" }, + { name = "tomli", marker = "python_full_version < '3.10'" }, ] -dependencies = [ - { name = "colorama", marker = "python_full_version == '3.9.*' and sys_platform == 'win32'" }, - { name = "exceptiongroup", marker = "python_full_version == '3.9.*'" }, - { name = "iniconfig", version = "2.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "packaging", marker = "python_full_version == '3.9.*'" }, - { name = "pluggy", version = "1.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, - { name = "pygments", marker = "python_full_version == '3.9.*'" }, - { name = "tomli", marker = "python_full_version == '3.9.*'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/a3/5c/00a0e072241553e1a7496d638deababa67c5058571567b92a7eaa258397c/pytest-8.4.2.tar.gz", hash = "sha256:86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01", size = 1519618, upload-time = "2025-09-04T14:34:22.711Z" } +sdist = { url = "https://files.pythonhosted.org/packages/80/1f/9d8e98e4133ffb16c90f3b405c43e38d3abb715bb5d7a63a5a684f7e46a3/pytest-7.4.4.tar.gz", hash = "sha256:2cf0005922c6ace4a3e2ec8b4080eb0d9753fdc93107415332f50ce9e7994280", size = 1357116, upload-time = "2023-12-31T12:00:18.035Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl", hash = "sha256:872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79", size = 365750, upload-time = "2025-09-04T14:34:20.226Z" }, + { url = "https://files.pythonhosted.org/packages/51/ff/f6e8b8f39e08547faece4bd80f89d5a8de68a38b2d179cc1c4490ffa3286/pytest-7.4.4-py3-none-any.whl", hash = "sha256:b090cdf5ed60bf4c45261be03239c2c1c22df034fbffe691abe93cd80cea01d8", size = 325287, upload-time = "2023-12-31T12:00:13.963Z" }, ] [[package]] @@ -3985,8 +2490,7 @@ name = "pytest" version = "9.0.2" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", + "python_full_version >= '3.11'", "python_full_version == '3.10.*'", ] dependencies = [ @@ -3994,7 +2498,7 @@ dependencies = [ { name = "exceptiongroup", marker = "python_full_version == '3.10.*'" }, { name = "iniconfig", version = "2.3.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, { name = "packaging", marker = "python_full_version >= '3.10'" }, - { name = "pluggy", version = "1.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "pluggy", marker = "python_full_version >= '3.10'" }, { name = "pygments", marker = "python_full_version >= '3.10'" }, { name = "tomli", marker = "python_full_version == '3.10.*'" }, ] @@ -4003,37 +2507,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/3b/ab/b3226f0bd7cdcf710fbede2b3548584366da3b19b5021e74f5bde2a8fa3f/pytest-9.0.2-py3-none-any.whl", hash = "sha256:711ffd45bf766d5264d487b917733b453d917afd2b0ad65223959f59089f875b", size = 374801, upload-time = "2025-12-06T21:30:49.154Z" }, ] -[[package]] -name = "pytest-cov" -version = "5.0.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "coverage", version = "7.6.1", source = { registry = "https://pypi.org/simple" }, extra = ["toml"], marker = "python_full_version < '3.9'" }, - { name = "pytest", version = "8.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/74/67/00efc8d11b630c56f15f4ad9c7f9223f1e5ec275aaae3fa9118c6a223ad2/pytest-cov-5.0.0.tar.gz", hash = "sha256:5837b58e9f6ebd335b0f8060eecce69b662415b16dc503883a02f45dfeb14857", size = 63042, upload-time = "2024-03-24T20:16:34.856Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/78/3a/af5b4fa5961d9a1e6237b530eb87dd04aea6eb83da09d2a4073d81b54ccf/pytest_cov-5.0.0-py3-none-any.whl", hash = "sha256:4f0764a1219df53214206bf1feea4633c3b558a2925c8b59f144f682861ce652", size = 21990, upload-time = "2024-03-24T20:16:32.444Z" }, -] - [[package]] name = "pytest-cov" version = "7.0.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] dependencies = [ - { name = "coverage", version = "7.10.7", source = { registry = "https://pypi.org/simple" }, extra = ["toml"], marker = "python_full_version == '3.9.*'" }, + { name = "coverage", version = "7.10.7", source = { registry = "https://pypi.org/simple" }, extra = ["toml"], marker = "python_full_version < '3.10'" }, { name = "coverage", version = "7.13.1", source = { registry = "https://pypi.org/simple" }, extra = ["toml"], marker = "python_full_version >= '3.10'" }, - { name = "pluggy", version = "1.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "pluggy" }, + { name = "pytest", version = "7.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "pytest", version = "9.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/5e/f7/c933acc76f5208b3b00089573cf6a2bc26dc80a8aece8f52bb7d6b1855ca/pytest_cov-7.0.0.tar.gz", hash = "sha256:33c97eda2e049a0c5298e91f519302a1334c26ac65c1a483d6206fd458361af1", size = 54328, upload-time = "2025-09-09T10:57:02.113Z" } @@ -4043,20 +2525,18 @@ wheels = [ [[package]] name = "pytest-insta" -version = "0.1.11" +version = "0.2.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version == '3.9.*'", - "python_full_version < '3.9'", + "python_full_version < '3.10'", ] dependencies = [ - { name = "pytest", version = "8.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "pytest", version = "7.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "wrapt", version = "1.17.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/01/c3/1502b3848c9111210b0a6c947958397eb07c5f5f218a6c91b1a59a270c9a/pytest-insta-0.1.11.tar.gz", hash = "sha256:cc0f338a8ac215dbf3b690198dc24a1c5987e2bef269f85170d415039cce06e5", size = 16256, upload-time = "2022-02-28T21:48:34.59Z" } +sdist = { url = "https://files.pythonhosted.org/packages/07/18/aa9f0162fc1cb46e527d964c03988106397a1401f153659537408c11d1ba/pytest_insta-0.2.0.tar.gz", hash = "sha256:c4e549f3c5aea8acf1ae6da12cffaaf4e4b3b03d9059c5115deab59f37b23867", size = 16165, upload-time = "2022-11-02T18:33:01.79Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a0/e0/2cf4cea0084f55f25db206c136958e563cf0a12e41731d30b7d6f52fae05/pytest_insta-0.1.11-py3-none-any.whl", hash = "sha256:c31af45255a8da234a73eff7649e297a053ffa22ba21806457f0fae66fc85f8a", size = 13587, upload-time = "2022-02-28T21:48:32.985Z" }, + { url = "https://files.pythonhosted.org/packages/21/0e/a52c2e61431450ac663f2651c4d58e5a16fb823037f54b3183ada5551e80/pytest_insta-0.2.0-py3-none-any.whl", hash = "sha256:e8d8a19f44917fa70102b132ddd4d6afcebe2a31987422dc79458ff849fe1a9e", size = 13610, upload-time = "2022-11-02T18:33:00.483Z" }, ] [[package]] @@ -4064,8 +2544,7 @@ name = "pytest-insta" version = "0.4.1" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", + "python_full_version >= '3.11'", "python_full_version == '3.10.*'", ] dependencies = [ @@ -4077,35 +2556,13 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/a7/33/a86f7617fe169f95686dfa3a3f507a2bc7a8d3729e6e8466a1a774a51f7d/pytest_insta-0.4.1-py3-none-any.whl", hash = "sha256:63b85ea2c38436e4d0b7633112cf3d0e583b5e40b82937031f33cb8cf42fd12c", size = 12930, upload-time = "2025-11-22T20:03:29.145Z" }, ] -[[package]] -name = "pytest-xdist" -version = "3.6.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "execnet", marker = "python_full_version < '3.9'" }, - { name = "pytest", version = "8.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/41/c4/3c310a19bc1f1e9ef50075582652673ef2bfc8cd62afef9585683821902f/pytest_xdist-3.6.1.tar.gz", hash = "sha256:ead156a4db231eec769737f57668ef58a2084a34b2e55c4a8fa20d861107300d", size = 84060, upload-time = "2024-04-28T19:29:54.414Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/6d/82/1d96bf03ee4c0fdc3c0cbe61470070e659ca78dc0086fb88b66c185e2449/pytest_xdist-3.6.1-py3-none-any.whl", hash = "sha256:9ed4adfb68a016610848639bb7e02c9352d5d9f03d04809919e2dafc3be4cca7", size = 46108, upload-time = "2024-04-28T19:29:52.813Z" }, -] - [[package]] name = "pytest-xdist" version = "3.8.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] dependencies = [ - { name = "execnet", marker = "python_full_version >= '3.9'" }, - { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "execnet" }, + { name = "pytest", version = "7.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "pytest", version = "9.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/78/b4/439b179d1ff526791eb921115fca8e44e596a13efeda518b9d845a619450/pytest_xdist-3.8.0.tar.gz", hash = "sha256:7e578125ec9bc6050861aa93f2d59f1d8d085595d6551c2c90b6f4fad8d3a9f1", size = 88069, upload-time = "2025-07-01T13:30:59.346Z" } @@ -4142,127 +2599,88 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c9/31/097f2e132c4f16d99a22bfb777e0fd88bd8e1c634304e102f313af69ace5/pywin32-311-cp314-cp314-win32.whl", hash = "sha256:b7a2c10b93f8986666d0c803ee19b5990885872a7de910fc460f9b0c2fbf92ee", size = 8840714, upload-time = "2025-07-14T20:13:32.449Z" }, { url = "https://files.pythonhosted.org/packages/90/4b/07c77d8ba0e01349358082713400435347df8426208171ce297da32c313d/pywin32-311-cp314-cp314-win_amd64.whl", hash = "sha256:3aca44c046bd2ed8c90de9cb8427f581c479e594e99b5c0bb19b29c10fd6cb87", size = 9656800, upload-time = "2025-07-14T20:13:34.312Z" }, { url = "https://files.pythonhosted.org/packages/c0/d2/21af5c535501a7233e734b8af901574572da66fcc254cb35d0609c9080dd/pywin32-311-cp314-cp314-win_arm64.whl", hash = "sha256:a508e2d9025764a8270f93111a970e1d0fbfc33f4153b388bb649b7eec4f9b42", size = 8932540, upload-time = "2025-07-14T20:13:36.379Z" }, - { url = "https://files.pythonhosted.org/packages/75/20/6cd04d636a4c83458ecbb7c8220c13786a1a80d3f5fb568df39310e73e98/pywin32-311-cp38-cp38-win32.whl", hash = "sha256:6c6f2969607b5023b0d9ce2541f8d2cbb01c4f46bc87456017cf63b73f1e2d8c", size = 8766775, upload-time = "2025-07-14T20:12:55.029Z" }, - { url = "https://files.pythonhosted.org/packages/ff/6c/94c10268bae5d0d0c6509bdfb5aa08882d11a9ccdf89ff1cde59a6161afb/pywin32-311-cp38-cp38-win_amd64.whl", hash = "sha256:c8015b09fb9a5e188f83b7b04de91ddca4658cee2ae6f3bc483f0b21a77ef6cd", size = 9594743, upload-time = "2025-07-14T20:12:57.59Z" }, { url = "https://files.pythonhosted.org/packages/59/42/b86689aac0cdaee7ae1c58d464b0ff04ca909c19bb6502d4973cdd9f9544/pywin32-311-cp39-cp39-win32.whl", hash = "sha256:aba8f82d551a942cb20d4a83413ccbac30790b50efb89a75e4f586ac0bb8056b", size = 8760837, upload-time = "2025-07-14T20:12:59.59Z" }, { url = "https://files.pythonhosted.org/packages/9f/8a/1403d0353f8c5a2f0829d2b1c4becbf9da2f0a4d040886404fc4a5431e4d/pywin32-311-cp39-cp39-win_amd64.whl", hash = "sha256:e0c4cfb0621281fe40387df582097fd796e80430597cb9944f0ae70447bacd91", size = 9590187, upload-time = "2025-07-14T20:13:01.419Z" }, { url = "https://files.pythonhosted.org/packages/60/22/e0e8d802f124772cec9c75430b01a212f86f9de7546bda715e54140d5aeb/pywin32-311-cp39-cp39-win_arm64.whl", hash = "sha256:62ea666235135fee79bb154e695f3ff67370afefd71bd7fea7512fc70ef31e3d", size = 8778162, upload-time = "2025-07-14T20:13:03.544Z" }, ] [[package]] -name = "regex" -version = "2024.11.6" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/8e/5f/bd69653fbfb76cf8604468d3b4ec4c403197144c7bfe0e6a5fc9e02a07cb/regex-2024.11.6.tar.gz", hash = "sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519", size = 399494, upload-time = "2024-11-06T20:12:31.635Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/95/3c/4651f6b130c6842a8f3df82461a8950f923925db8b6961063e82744bddcc/regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91", size = 482674, upload-time = "2024-11-06T20:08:57.575Z" }, - { url = "https://files.pythonhosted.org/packages/15/51/9f35d12da8434b489c7b7bffc205c474a0a9432a889457026e9bc06a297a/regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0", size = 287684, upload-time = "2024-11-06T20:08:59.787Z" }, - { url = "https://files.pythonhosted.org/packages/bd/18/b731f5510d1b8fb63c6b6d3484bfa9a59b84cc578ac8b5172970e05ae07c/regex-2024.11.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:164d8b7b3b4bcb2068b97428060b2a53be050085ef94eca7f240e7947f1b080e", size = 284589, upload-time = "2024-11-06T20:09:01.896Z" }, - { url = "https://files.pythonhosted.org/packages/78/a2/6dd36e16341ab95e4c6073426561b9bfdeb1a9c9b63ab1b579c2e96cb105/regex-2024.11.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3660c82f209655a06b587d55e723f0b813d3a7db2e32e5e7dc64ac2a9e86fde", size = 782511, upload-time = "2024-11-06T20:09:04.062Z" }, - { url = "https://files.pythonhosted.org/packages/1b/2b/323e72d5d2fd8de0d9baa443e1ed70363ed7e7b2fb526f5950c5cb99c364/regex-2024.11.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d22326fcdef5e08c154280b71163ced384b428343ae16a5ab2b3354aed12436e", size = 821149, upload-time = "2024-11-06T20:09:06.237Z" }, - { url = "https://files.pythonhosted.org/packages/90/30/63373b9ea468fbef8a907fd273e5c329b8c9535fee36fc8dba5fecac475d/regex-2024.11.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1ac758ef6aebfc8943560194e9fd0fa18bcb34d89fd8bd2af18183afd8da3a2", size = 809707, upload-time = "2024-11-06T20:09:07.715Z" }, - { url = "https://files.pythonhosted.org/packages/f2/98/26d3830875b53071f1f0ae6d547f1d98e964dd29ad35cbf94439120bb67a/regex-2024.11.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:997d6a487ff00807ba810e0f8332c18b4eb8d29463cfb7c820dc4b6e7562d0cf", size = 781702, upload-time = "2024-11-06T20:09:10.101Z" }, - { url = "https://files.pythonhosted.org/packages/87/55/eb2a068334274db86208ab9d5599ffa63631b9f0f67ed70ea7c82a69bbc8/regex-2024.11.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:02a02d2bb04fec86ad61f3ea7f49c015a0681bf76abb9857f945d26159d2968c", size = 771976, upload-time = "2024-11-06T20:09:11.566Z" }, - { url = "https://files.pythonhosted.org/packages/74/c0/be707bcfe98254d8f9d2cff55d216e946f4ea48ad2fd8cf1428f8c5332ba/regex-2024.11.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f02f93b92358ee3f78660e43b4b0091229260c5d5c408d17d60bf26b6c900e86", size = 697397, upload-time = "2024-11-06T20:09:13.119Z" }, - { url = "https://files.pythonhosted.org/packages/49/dc/bb45572ceb49e0f6509f7596e4ba7031f6819ecb26bc7610979af5a77f45/regex-2024.11.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:06eb1be98df10e81ebaded73fcd51989dcf534e3c753466e4b60c4697a003b67", size = 768726, upload-time = "2024-11-06T20:09:14.85Z" }, - { url = "https://files.pythonhosted.org/packages/5a/db/f43fd75dc4c0c2d96d0881967897926942e935d700863666f3c844a72ce6/regex-2024.11.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:040df6fe1a5504eb0f04f048e6d09cd7c7110fef851d7c567a6b6e09942feb7d", size = 775098, upload-time = "2024-11-06T20:09:16.504Z" }, - { url = "https://files.pythonhosted.org/packages/99/d7/f94154db29ab5a89d69ff893159b19ada89e76b915c1293e98603d39838c/regex-2024.11.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabbfc59f2c6edba2a6622c647b716e34e8e3867e0ab975412c5c2f79b82da2", size = 839325, upload-time = "2024-11-06T20:09:18.698Z" }, - { url = "https://files.pythonhosted.org/packages/f7/17/3cbfab1f23356fbbf07708220ab438a7efa1e0f34195bf857433f79f1788/regex-2024.11.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8447d2d39b5abe381419319f942de20b7ecd60ce86f16a23b0698f22e1b70008", size = 843277, upload-time = "2024-11-06T20:09:21.725Z" }, - { url = "https://files.pythonhosted.org/packages/7e/f2/48b393b51900456155de3ad001900f94298965e1cad1c772b87f9cfea011/regex-2024.11.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:da8f5fc57d1933de22a9e23eec290a0d8a5927a5370d24bda9a6abe50683fe62", size = 773197, upload-time = "2024-11-06T20:09:24.092Z" }, - { url = "https://files.pythonhosted.org/packages/45/3f/ef9589aba93e084cd3f8471fded352826dcae8489b650d0b9b27bc5bba8a/regex-2024.11.6-cp310-cp310-win32.whl", hash = "sha256:b489578720afb782f6ccf2840920f3a32e31ba28a4b162e13900c3e6bd3f930e", size = 261714, upload-time = "2024-11-06T20:09:26.36Z" }, - { url = "https://files.pythonhosted.org/packages/42/7e/5f1b92c8468290c465fd50c5318da64319133231415a8aa6ea5ab995a815/regex-2024.11.6-cp310-cp310-win_amd64.whl", hash = "sha256:5071b2093e793357c9d8b2929dfc13ac5f0a6c650559503bb81189d0a3814519", size = 274042, upload-time = "2024-11-06T20:09:28.762Z" }, - { url = "https://files.pythonhosted.org/packages/58/58/7e4d9493a66c88a7da6d205768119f51af0f684fe7be7bac8328e217a52c/regex-2024.11.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5478c6962ad548b54a591778e93cd7c456a7a29f8eca9c49e4f9a806dcc5d638", size = 482669, upload-time = "2024-11-06T20:09:31.064Z" }, - { url = "https://files.pythonhosted.org/packages/34/4c/8f8e631fcdc2ff978609eaeef1d6994bf2f028b59d9ac67640ed051f1218/regex-2024.11.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c89a8cc122b25ce6945f0423dc1352cb9593c68abd19223eebbd4e56612c5b7", size = 287684, upload-time = "2024-11-06T20:09:32.915Z" }, - { url = "https://files.pythonhosted.org/packages/c5/1b/f0e4d13e6adf866ce9b069e191f303a30ab1277e037037a365c3aad5cc9c/regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:94d87b689cdd831934fa3ce16cc15cd65748e6d689f5d2b8f4f4df2065c9fa20", size = 284589, upload-time = "2024-11-06T20:09:35.504Z" }, - { url = "https://files.pythonhosted.org/packages/25/4d/ab21047f446693887f25510887e6820b93f791992994f6498b0318904d4a/regex-2024.11.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1062b39a0a2b75a9c694f7a08e7183a80c63c0d62b301418ffd9c35f55aaa114", size = 792121, upload-time = "2024-11-06T20:09:37.701Z" }, - { url = "https://files.pythonhosted.org/packages/45/ee/c867e15cd894985cb32b731d89576c41a4642a57850c162490ea34b78c3b/regex-2024.11.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:167ed4852351d8a750da48712c3930b031f6efdaa0f22fa1933716bfcd6bf4a3", size = 831275, upload-time = "2024-11-06T20:09:40.371Z" }, - { url = "https://files.pythonhosted.org/packages/b3/12/b0f480726cf1c60f6536fa5e1c95275a77624f3ac8fdccf79e6727499e28/regex-2024.11.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d548dafee61f06ebdb584080621f3e0c23fff312f0de1afc776e2a2ba99a74f", size = 818257, upload-time = "2024-11-06T20:09:43.059Z" }, - { url = "https://files.pythonhosted.org/packages/bf/ce/0d0e61429f603bac433910d99ef1a02ce45a8967ffbe3cbee48599e62d88/regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a19f302cd1ce5dd01a9099aaa19cae6173306d1302a43b627f62e21cf18ac0", size = 792727, upload-time = "2024-11-06T20:09:48.19Z" }, - { url = "https://files.pythonhosted.org/packages/e4/c1/243c83c53d4a419c1556f43777ccb552bccdf79d08fda3980e4e77dd9137/regex-2024.11.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bec9931dfb61ddd8ef2ebc05646293812cb6b16b60cf7c9511a832b6f1854b55", size = 780667, upload-time = "2024-11-06T20:09:49.828Z" }, - { url = "https://files.pythonhosted.org/packages/c5/f4/75eb0dd4ce4b37f04928987f1d22547ddaf6c4bae697623c1b05da67a8aa/regex-2024.11.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9714398225f299aa85267fd222f7142fcb5c769e73d7733344efc46f2ef5cf89", size = 776963, upload-time = "2024-11-06T20:09:51.819Z" }, - { url = "https://files.pythonhosted.org/packages/16/5d/95c568574e630e141a69ff8a254c2f188b4398e813c40d49228c9bbd9875/regex-2024.11.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:202eb32e89f60fc147a41e55cb086db2a3f8cb82f9a9a88440dcfc5d37faae8d", size = 784700, upload-time = "2024-11-06T20:09:53.982Z" }, - { url = "https://files.pythonhosted.org/packages/8e/b5/f8495c7917f15cc6fee1e7f395e324ec3e00ab3c665a7dc9d27562fd5290/regex-2024.11.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4181b814e56078e9b00427ca358ec44333765f5ca1b45597ec7446d3a1ef6e34", size = 848592, upload-time = "2024-11-06T20:09:56.222Z" }, - { url = "https://files.pythonhosted.org/packages/1c/80/6dd7118e8cb212c3c60b191b932dc57db93fb2e36fb9e0e92f72a5909af9/regex-2024.11.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:068376da5a7e4da51968ce4c122a7cd31afaaec4fccc7856c92f63876e57b51d", size = 852929, upload-time = "2024-11-06T20:09:58.642Z" }, - { url = "https://files.pythonhosted.org/packages/11/9b/5a05d2040297d2d254baf95eeeb6df83554e5e1df03bc1a6687fc4ba1f66/regex-2024.11.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f2c4184420d881a3475fb2c6f4d95d53a8d50209a2500723d831036f7c45", size = 781213, upload-time = "2024-11-06T20:10:00.867Z" }, - { url = "https://files.pythonhosted.org/packages/26/b7/b14e2440156ab39e0177506c08c18accaf2b8932e39fb092074de733d868/regex-2024.11.6-cp311-cp311-win32.whl", hash = "sha256:c36f9b6f5f8649bb251a5f3f66564438977b7ef8386a52460ae77e6070d309d9", size = 261734, upload-time = "2024-11-06T20:10:03.361Z" }, - { url = "https://files.pythonhosted.org/packages/80/32/763a6cc01d21fb3819227a1cc3f60fd251c13c37c27a73b8ff4315433a8e/regex-2024.11.6-cp311-cp311-win_amd64.whl", hash = "sha256:02e28184be537f0e75c1f9b2f8847dc51e08e6e171c6bde130b2687e0c33cf60", size = 274052, upload-time = "2024-11-06T20:10:05.179Z" }, - { url = "https://files.pythonhosted.org/packages/ba/30/9a87ce8336b172cc232a0db89a3af97929d06c11ceaa19d97d84fa90a8f8/regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a", size = 483781, upload-time = "2024-11-06T20:10:07.07Z" }, - { url = "https://files.pythonhosted.org/packages/01/e8/00008ad4ff4be8b1844786ba6636035f7ef926db5686e4c0f98093612add/regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9", size = 288455, upload-time = "2024-11-06T20:10:09.117Z" }, - { url = "https://files.pythonhosted.org/packages/60/85/cebcc0aff603ea0a201667b203f13ba75d9fc8668fab917ac5b2de3967bc/regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2", size = 284759, upload-time = "2024-11-06T20:10:11.155Z" }, - { url = "https://files.pythonhosted.org/packages/94/2b/701a4b0585cb05472a4da28ee28fdfe155f3638f5e1ec92306d924e5faf0/regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4", size = 794976, upload-time = "2024-11-06T20:10:13.24Z" }, - { url = "https://files.pythonhosted.org/packages/4b/bf/fa87e563bf5fee75db8915f7352e1887b1249126a1be4813837f5dbec965/regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577", size = 833077, upload-time = "2024-11-06T20:10:15.37Z" }, - { url = "https://files.pythonhosted.org/packages/a1/56/7295e6bad94b047f4d0834e4779491b81216583c00c288252ef625c01d23/regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3", size = 823160, upload-time = "2024-11-06T20:10:19.027Z" }, - { url = "https://files.pythonhosted.org/packages/fb/13/e3b075031a738c9598c51cfbc4c7879e26729c53aa9cca59211c44235314/regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e", size = 796896, upload-time = "2024-11-06T20:10:21.85Z" }, - { url = "https://files.pythonhosted.org/packages/24/56/0b3f1b66d592be6efec23a795b37732682520b47c53da5a32c33ed7d84e3/regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe", size = 783997, upload-time = "2024-11-06T20:10:24.329Z" }, - { url = "https://files.pythonhosted.org/packages/f9/a1/eb378dada8b91c0e4c5f08ffb56f25fcae47bf52ad18f9b2f33b83e6d498/regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e", size = 781725, upload-time = "2024-11-06T20:10:28.067Z" }, - { url = "https://files.pythonhosted.org/packages/83/f2/033e7dec0cfd6dda93390089864732a3409246ffe8b042e9554afa9bff4e/regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29", size = 789481, upload-time = "2024-11-06T20:10:31.612Z" }, - { url = "https://files.pythonhosted.org/packages/83/23/15d4552ea28990a74e7696780c438aadd73a20318c47e527b47a4a5a596d/regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39", size = 852896, upload-time = "2024-11-06T20:10:34.054Z" }, - { url = "https://files.pythonhosted.org/packages/e3/39/ed4416bc90deedbfdada2568b2cb0bc1fdb98efe11f5378d9892b2a88f8f/regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51", size = 860138, upload-time = "2024-11-06T20:10:36.142Z" }, - { url = "https://files.pythonhosted.org/packages/93/2d/dd56bb76bd8e95bbce684326302f287455b56242a4f9c61f1bc76e28360e/regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad", size = 787692, upload-time = "2024-11-06T20:10:38.394Z" }, - { url = "https://files.pythonhosted.org/packages/0b/55/31877a249ab7a5156758246b9c59539abbeba22461b7d8adc9e8475ff73e/regex-2024.11.6-cp312-cp312-win32.whl", hash = "sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54", size = 262135, upload-time = "2024-11-06T20:10:40.367Z" }, - { url = "https://files.pythonhosted.org/packages/38/ec/ad2d7de49a600cdb8dd78434a1aeffe28b9d6fc42eb36afab4a27ad23384/regex-2024.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b", size = 273567, upload-time = "2024-11-06T20:10:43.467Z" }, - { url = "https://files.pythonhosted.org/packages/90/73/bcb0e36614601016552fa9344544a3a2ae1809dc1401b100eab02e772e1f/regex-2024.11.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a6ba92c0bcdf96cbf43a12c717eae4bc98325ca3730f6b130ffa2e3c3c723d84", size = 483525, upload-time = "2024-11-06T20:10:45.19Z" }, - { url = "https://files.pythonhosted.org/packages/0f/3f/f1a082a46b31e25291d830b369b6b0c5576a6f7fb89d3053a354c24b8a83/regex-2024.11.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:525eab0b789891ac3be914d36893bdf972d483fe66551f79d3e27146191a37d4", size = 288324, upload-time = "2024-11-06T20:10:47.177Z" }, - { url = "https://files.pythonhosted.org/packages/09/c9/4e68181a4a652fb3ef5099e077faf4fd2a694ea6e0f806a7737aff9e758a/regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:086a27a0b4ca227941700e0b31425e7a28ef1ae8e5e05a33826e17e47fbfdba0", size = 284617, upload-time = "2024-11-06T20:10:49.312Z" }, - { url = "https://files.pythonhosted.org/packages/fc/fd/37868b75eaf63843165f1d2122ca6cb94bfc0271e4428cf58c0616786dce/regex-2024.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bde01f35767c4a7899b7eb6e823b125a64de314a8ee9791367c9a34d56af18d0", size = 795023, upload-time = "2024-11-06T20:10:51.102Z" }, - { url = "https://files.pythonhosted.org/packages/c4/7c/d4cd9c528502a3dedb5c13c146e7a7a539a3853dc20209c8e75d9ba9d1b2/regex-2024.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b583904576650166b3d920d2bcce13971f6f9e9a396c673187f49811b2769dc7", size = 833072, upload-time = "2024-11-06T20:10:52.926Z" }, - { url = "https://files.pythonhosted.org/packages/4f/db/46f563a08f969159c5a0f0e722260568425363bea43bb7ae370becb66a67/regex-2024.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c4de13f06a0d54fa0d5ab1b7138bfa0d883220965a29616e3ea61b35d5f5fc7", size = 823130, upload-time = "2024-11-06T20:10:54.828Z" }, - { url = "https://files.pythonhosted.org/packages/db/60/1eeca2074f5b87df394fccaa432ae3fc06c9c9bfa97c5051aed70e6e00c2/regex-2024.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cde6e9f2580eb1665965ce9bf17ff4952f34f5b126beb509fee8f4e994f143c", size = 796857, upload-time = "2024-11-06T20:10:56.634Z" }, - { url = "https://files.pythonhosted.org/packages/10/db/ac718a08fcee981554d2f7bb8402f1faa7e868c1345c16ab1ebec54b0d7b/regex-2024.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d7f453dca13f40a02b79636a339c5b62b670141e63efd511d3f8f73fba162b3", size = 784006, upload-time = "2024-11-06T20:10:59.369Z" }, - { url = "https://files.pythonhosted.org/packages/c2/41/7da3fe70216cea93144bf12da2b87367590bcf07db97604edeea55dac9ad/regex-2024.11.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59dfe1ed21aea057a65c6b586afd2a945de04fc7db3de0a6e3ed5397ad491b07", size = 781650, upload-time = "2024-11-06T20:11:02.042Z" }, - { url = "https://files.pythonhosted.org/packages/a7/d5/880921ee4eec393a4752e6ab9f0fe28009435417c3102fc413f3fe81c4e5/regex-2024.11.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b97c1e0bd37c5cd7902e65f410779d39eeda155800b65fc4d04cc432efa9bc6e", size = 789545, upload-time = "2024-11-06T20:11:03.933Z" }, - { url = "https://files.pythonhosted.org/packages/dc/96/53770115e507081122beca8899ab7f5ae28ae790bfcc82b5e38976df6a77/regex-2024.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d1e379028e0fc2ae3654bac3cbbef81bf3fd571272a42d56c24007979bafb6", size = 853045, upload-time = "2024-11-06T20:11:06.497Z" }, - { url = "https://files.pythonhosted.org/packages/31/d3/1372add5251cc2d44b451bd94f43b2ec78e15a6e82bff6a290ef9fd8f00a/regex-2024.11.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:13291b39131e2d002a7940fb176e120bec5145f3aeb7621be6534e46251912c4", size = 860182, upload-time = "2024-11-06T20:11:09.06Z" }, - { url = "https://files.pythonhosted.org/packages/ed/e3/c446a64984ea9f69982ba1a69d4658d5014bc7a0ea468a07e1a1265db6e2/regex-2024.11.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f51f88c126370dcec4908576c5a627220da6c09d0bff31cfa89f2523843316d", size = 787733, upload-time = "2024-11-06T20:11:11.256Z" }, - { url = "https://files.pythonhosted.org/packages/2b/f1/e40c8373e3480e4f29f2692bd21b3e05f296d3afebc7e5dcf21b9756ca1c/regex-2024.11.6-cp313-cp313-win32.whl", hash = "sha256:63b13cfd72e9601125027202cad74995ab26921d8cd935c25f09c630436348ff", size = 262122, upload-time = "2024-11-06T20:11:13.161Z" }, - { url = "https://files.pythonhosted.org/packages/45/94/bc295babb3062a731f52621cdc992d123111282e291abaf23faa413443ea/regex-2024.11.6-cp313-cp313-win_amd64.whl", hash = "sha256:2b3361af3198667e99927da8b84c1b010752fa4b1115ee30beaa332cabc3ef1a", size = 273545, upload-time = "2024-11-06T20:11:15Z" }, - { url = "https://files.pythonhosted.org/packages/44/0f/207b37e6e08d548fac0aa00bf0b7464126315d58ab5161216b8cb3abb2aa/regex-2024.11.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3a51ccc315653ba012774efca4f23d1d2a8a8f278a6072e29c7147eee7da446b", size = 482777, upload-time = "2024-11-06T20:11:16.752Z" }, - { url = "https://files.pythonhosted.org/packages/5a/5a/586bafa294c5d2451265d3685815606c61e620f469cac3b946fff0a4aa48/regex-2024.11.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ad182d02e40de7459b73155deb8996bbd8e96852267879396fb274e8700190e3", size = 287751, upload-time = "2024-11-06T20:11:18.913Z" }, - { url = "https://files.pythonhosted.org/packages/08/92/9df786fad8a4e0766bfc9a2e334c5f0757356070c9639b2ec776b8cdef3d/regex-2024.11.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ba9b72e5643641b7d41fa1f6d5abda2c9a263ae835b917348fc3c928182ad467", size = 284552, upload-time = "2024-11-06T20:11:21.005Z" }, - { url = "https://files.pythonhosted.org/packages/0a/27/0b3cf7d9fbe43301aa3473d54406019a7380abe4e3c9ae250bac13c4fdb3/regex-2024.11.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40291b1b89ca6ad8d3f2b82782cc33807f1406cf68c8d440861da6304d8ffbbd", size = 783587, upload-time = "2024-11-06T20:11:23.17Z" }, - { url = "https://files.pythonhosted.org/packages/89/38/499b32cbb61163af60a5c5ff26aacea7836fe7e3d821e76af216e996088c/regex-2024.11.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cdf58d0e516ee426a48f7b2c03a332a4114420716d55769ff7108c37a09951bf", size = 822904, upload-time = "2024-11-06T20:11:25.49Z" }, - { url = "https://files.pythonhosted.org/packages/3f/a4/e3b11c643e5ae1059a08aeef971973f0c803d2a9ae2e7a86f97c68146a6c/regex-2024.11.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a36fdf2af13c2b14738f6e973aba563623cb77d753bbbd8d414d18bfaa3105dd", size = 809900, upload-time = "2024-11-06T20:11:27.382Z" }, - { url = "https://files.pythonhosted.org/packages/5a/c8/dc7153ceb5bcc344f5c4f0291ea45925a5f00009afa3849e91561ac2e847/regex-2024.11.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1cee317bfc014c2419a76bcc87f071405e3966da434e03e13beb45f8aced1a6", size = 785105, upload-time = "2024-11-06T20:11:29.428Z" }, - { url = "https://files.pythonhosted.org/packages/2a/29/841489ea52013062b22625fbaf49b0916aeb62bae2e56425ac30f9dead46/regex-2024.11.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50153825ee016b91549962f970d6a4442fa106832e14c918acd1c8e479916c4f", size = 773033, upload-time = "2024-11-06T20:11:32.175Z" }, - { url = "https://files.pythonhosted.org/packages/3e/4e/4a0da5e87f7c2dc73a8505785d5af2b1a19c66f4645b93caa50b7eb08242/regex-2024.11.6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ea1bfda2f7162605f6e8178223576856b3d791109f15ea99a9f95c16a7636fb5", size = 702374, upload-time = "2024-11-06T20:11:34.182Z" }, - { url = "https://files.pythonhosted.org/packages/94/6e/444e66346600d11e8a0f4bb31611973cffa772d5033ba1cf1f15de8a0d52/regex-2024.11.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:df951c5f4a1b1910f1a99ff42c473ff60f8225baa1cdd3539fe2819d9543e9df", size = 769990, upload-time = "2024-11-06T20:11:36.813Z" }, - { url = "https://files.pythonhosted.org/packages/da/28/95c3ed6cd51b27f54e59940400e2a3ddd3f8bbbc3aaf947e57a67104ecbd/regex-2024.11.6-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:072623554418a9911446278f16ecb398fb3b540147a7828c06e2011fa531e773", size = 775345, upload-time = "2024-11-06T20:11:39.079Z" }, - { url = "https://files.pythonhosted.org/packages/07/5d/0cd19cf44d96a7aa31526611c24235d21d27c23b65201cb2c5cac508dd42/regex-2024.11.6-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f654882311409afb1d780b940234208a252322c24a93b442ca714d119e68086c", size = 840379, upload-time = "2024-11-06T20:11:41.208Z" }, - { url = "https://files.pythonhosted.org/packages/2a/13/ec3f8d85b789ee1c6ffbdfd4092fd901416716317ee17bf51aa2890bac96/regex-2024.11.6-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:89d75e7293d2b3e674db7d4d9b1bee7f8f3d1609428e293771d1a962617150cc", size = 845842, upload-time = "2024-11-06T20:11:43.709Z" }, - { url = "https://files.pythonhosted.org/packages/50/cb/7170247e65afea2bf9204bcb2682f292b0a3a57d112478da199b84d59792/regex-2024.11.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:f65557897fc977a44ab205ea871b690adaef6b9da6afda4790a2484b04293a5f", size = 775026, upload-time = "2024-11-06T20:11:46.11Z" }, - { url = "https://files.pythonhosted.org/packages/cc/06/c817c9201f09b7d9dd033039ba90d8197c91e9fe2984141f2d1de270c159/regex-2024.11.6-cp38-cp38-win32.whl", hash = "sha256:6f44ec28b1f858c98d3036ad5d7d0bfc568bdd7a74f9c24e25f41ef1ebfd81a4", size = 261738, upload-time = "2024-11-06T20:11:48.611Z" }, - { url = "https://files.pythonhosted.org/packages/cf/69/c39e16320400842eb4358c982ef5fc680800866f35ebfd4dd38a22967ce0/regex-2024.11.6-cp38-cp38-win_amd64.whl", hash = "sha256:bb8f74f2f10dbf13a0be8de623ba4f9491faf58c24064f32b65679b021ed0001", size = 274094, upload-time = "2024-11-06T20:11:50.641Z" }, - { url = "https://files.pythonhosted.org/packages/89/23/c4a86df398e57e26f93b13ae63acce58771e04bdde86092502496fa57f9c/regex-2024.11.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5704e174f8ccab2026bd2f1ab6c510345ae8eac818b613d7d73e785f1310f839", size = 482682, upload-time = "2024-11-06T20:11:52.65Z" }, - { url = "https://files.pythonhosted.org/packages/3c/8b/45c24ab7a51a1658441b961b86209c43e6bb9d39caf1e63f46ce6ea03bc7/regex-2024.11.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:220902c3c5cc6af55d4fe19ead504de80eb91f786dc102fbd74894b1551f095e", size = 287679, upload-time = "2024-11-06T20:11:55.011Z" }, - { url = "https://files.pythonhosted.org/packages/7a/d1/598de10b17fdafc452d11f7dada11c3be4e379a8671393e4e3da3c4070df/regex-2024.11.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7e351589da0850c125f1600a4c4ba3c722efefe16b297de54300f08d734fbf", size = 284578, upload-time = "2024-11-06T20:11:57.033Z" }, - { url = "https://files.pythonhosted.org/packages/49/70/c7eaa219efa67a215846766fde18d92d54cb590b6a04ffe43cef30057622/regex-2024.11.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5056b185ca113c88e18223183aa1a50e66507769c9640a6ff75859619d73957b", size = 782012, upload-time = "2024-11-06T20:11:59.218Z" }, - { url = "https://files.pythonhosted.org/packages/89/e5/ef52c7eb117dd20ff1697968219971d052138965a4d3d9b95e92e549f505/regex-2024.11.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e34b51b650b23ed3354b5a07aab37034d9f923db2a40519139af34f485f77d0", size = 820580, upload-time = "2024-11-06T20:12:01.969Z" }, - { url = "https://files.pythonhosted.org/packages/5f/3f/9f5da81aff1d4167ac52711acf789df13e789fe6ac9545552e49138e3282/regex-2024.11.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5670bce7b200273eee1840ef307bfa07cda90b38ae56e9a6ebcc9f50da9c469b", size = 809110, upload-time = "2024-11-06T20:12:04.786Z" }, - { url = "https://files.pythonhosted.org/packages/86/44/2101cc0890c3621b90365c9ee8d7291a597c0722ad66eccd6ffa7f1bcc09/regex-2024.11.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08986dce1339bc932923e7d1232ce9881499a0e02925f7402fb7c982515419ef", size = 780919, upload-time = "2024-11-06T20:12:06.944Z" }, - { url = "https://files.pythonhosted.org/packages/ce/2e/3e0668d8d1c7c3c0d397bf54d92fc182575b3a26939aed5000d3cc78760f/regex-2024.11.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:93c0b12d3d3bc25af4ebbf38f9ee780a487e8bf6954c115b9f015822d3bb8e48", size = 771515, upload-time = "2024-11-06T20:12:09.9Z" }, - { url = "https://files.pythonhosted.org/packages/a6/49/1bc4584254355e3dba930a3a2fd7ad26ccba3ebbab7d9100db0aff2eedb0/regex-2024.11.6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:764e71f22ab3b305e7f4c21f1a97e1526a25ebdd22513e251cf376760213da13", size = 696957, upload-time = "2024-11-06T20:12:12.319Z" }, - { url = "https://files.pythonhosted.org/packages/c8/dd/42879c1fc8a37a887cd08e358af3d3ba9e23038cd77c7fe044a86d9450ba/regex-2024.11.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f056bf21105c2515c32372bbc057f43eb02aae2fda61052e2f7622c801f0b4e2", size = 768088, upload-time = "2024-11-06T20:12:15.149Z" }, - { url = "https://files.pythonhosted.org/packages/89/96/c05a0fe173cd2acd29d5e13c1adad8b706bcaa71b169e1ee57dcf2e74584/regex-2024.11.6-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:69ab78f848845569401469da20df3e081e6b5a11cb086de3eed1d48f5ed57c95", size = 774752, upload-time = "2024-11-06T20:12:17.416Z" }, - { url = "https://files.pythonhosted.org/packages/b5/f3/a757748066255f97f14506483436c5f6aded7af9e37bca04ec30c90ca683/regex-2024.11.6-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:86fddba590aad9208e2fa8b43b4c098bb0ec74f15718bb6a704e3c63e2cef3e9", size = 838862, upload-time = "2024-11-06T20:12:19.639Z" }, - { url = "https://files.pythonhosted.org/packages/5c/93/c6d2092fd479dcaeea40fc8fa673822829181ded77d294a7f950f1dda6e2/regex-2024.11.6-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:684d7a212682996d21ca12ef3c17353c021fe9de6049e19ac8481ec35574a70f", size = 842622, upload-time = "2024-11-06T20:12:21.841Z" }, - { url = "https://files.pythonhosted.org/packages/ff/9c/daa99532c72f25051a90ef90e1413a8d54413a9e64614d9095b0c1c154d0/regex-2024.11.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a03e02f48cd1abbd9f3b7e3586d97c8f7a9721c436f51a5245b3b9483044480b", size = 772713, upload-time = "2024-11-06T20:12:24.785Z" }, - { url = "https://files.pythonhosted.org/packages/13/5d/61a533ccb8c231b474ac8e3a7d70155b00dfc61af6cafdccd1947df6d735/regex-2024.11.6-cp39-cp39-win32.whl", hash = "sha256:41758407fc32d5c3c5de163888068cfee69cb4c2be844e7ac517a52770f9af57", size = 261756, upload-time = "2024-11-06T20:12:26.975Z" }, - { url = "https://files.pythonhosted.org/packages/dc/7b/e59b7f7c91ae110d154370c24133f947262525b5d6406df65f23422acc17/regex-2024.11.6-cp39-cp39-win_amd64.whl", hash = "sha256:b2837718570f95dd41675328e111345f9b7095d821bac435aac173ac80b19983", size = 274110, upload-time = "2024-11-06T20:12:29.368Z" }, +name = "pyyaml" +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" }, + { url = "https://files.pythonhosted.org/packages/10/cb/16c3f2cf3266edd25aaa00d6c4350381c8b012ed6f5276675b9eba8d9ff4/pyyaml-6.0.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00", size = 882114, upload-time = "2025-09-25T21:32:03.376Z" }, + { url = "https://files.pythonhosted.org/packages/71/60/917329f640924b18ff085ab889a11c763e0b573da888e8404ff486657602/pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d", size = 806638, upload-time = "2025-09-25T21:32:04.553Z" }, + { url = "https://files.pythonhosted.org/packages/dd/6f/529b0f316a9fd167281a6c3826b5583e6192dba792dd55e3203d3f8e655a/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a", size = 767463, upload-time = "2025-09-25T21:32:06.152Z" }, + { url = "https://files.pythonhosted.org/packages/f2/6a/b627b4e0c1dd03718543519ffb2f1deea4a1e6d42fbab8021936a4d22589/pyyaml-6.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4", size = 794986, upload-time = "2025-09-25T21:32:07.367Z" }, + { url = "https://files.pythonhosted.org/packages/45/91/47a6e1c42d9ee337c4839208f30d9f09caa9f720ec7582917b264defc875/pyyaml-6.0.3-cp311-cp311-win32.whl", hash = "sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b", size = 142543, upload-time = "2025-09-25T21:32:08.95Z" }, + { url = "https://files.pythonhosted.org/packages/da/e3/ea007450a105ae919a72393cb06f122f288ef60bba2dc64b26e2646fa315/pyyaml-6.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf", size = 158763, upload-time = "2025-09-25T21:32:09.96Z" }, + { url = "https://files.pythonhosted.org/packages/d1/33/422b98d2195232ca1826284a76852ad5a86fe23e31b009c9886b2d0fb8b2/pyyaml-6.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196", size = 182063, upload-time = "2025-09-25T21:32:11.445Z" }, + { url = "https://files.pythonhosted.org/packages/89/a0/6cf41a19a1f2f3feab0e9c0b74134aa2ce6849093d5517a0c550fe37a648/pyyaml-6.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0", size = 173973, upload-time = "2025-09-25T21:32:12.492Z" }, + { url = "https://files.pythonhosted.org/packages/ed/23/7a778b6bd0b9a8039df8b1b1d80e2e2ad78aa04171592c8a5c43a56a6af4/pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28", size = 775116, upload-time = "2025-09-25T21:32:13.652Z" }, + { url = "https://files.pythonhosted.org/packages/65/30/d7353c338e12baef4ecc1b09e877c1970bd3382789c159b4f89d6a70dc09/pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c", size = 844011, upload-time = "2025-09-25T21:32:15.21Z" }, + { url = "https://files.pythonhosted.org/packages/8b/9d/b3589d3877982d4f2329302ef98a8026e7f4443c765c46cfecc8858c6b4b/pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc", size = 807870, upload-time = "2025-09-25T21:32:16.431Z" }, + { url = "https://files.pythonhosted.org/packages/05/c0/b3be26a015601b822b97d9149ff8cb5ead58c66f981e04fedf4e762f4bd4/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e", size = 761089, upload-time = "2025-09-25T21:32:17.56Z" }, + { url = "https://files.pythonhosted.org/packages/be/8e/98435a21d1d4b46590d5459a22d88128103f8da4c2d4cb8f14f2a96504e1/pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea", size = 790181, upload-time = "2025-09-25T21:32:18.834Z" }, + { url = "https://files.pythonhosted.org/packages/74/93/7baea19427dcfbe1e5a372d81473250b379f04b1bd3c4c5ff825e2327202/pyyaml-6.0.3-cp312-cp312-win32.whl", hash = "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5", size = 137658, upload-time = "2025-09-25T21:32:20.209Z" }, + { url = "https://files.pythonhosted.org/packages/86/bf/899e81e4cce32febab4fb42bb97dcdf66bc135272882d1987881a4b519e9/pyyaml-6.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b", size = 154003, upload-time = "2025-09-25T21:32:21.167Z" }, + { url = "https://files.pythonhosted.org/packages/1a/08/67bd04656199bbb51dbed1439b7f27601dfb576fb864099c7ef0c3e55531/pyyaml-6.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd", size = 140344, upload-time = "2025-09-25T21:32:22.617Z" }, + { url = "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", size = 181669, upload-time = "2025-09-25T21:32:23.673Z" }, + { url = "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", size = 173252, upload-time = "2025-09-25T21:32:25.149Z" }, + { url = "https://files.pythonhosted.org/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", size = 767081, upload-time = "2025-09-25T21:32:26.575Z" }, + { url = "https://files.pythonhosted.org/packages/49/1e/a55ca81e949270d5d4432fbbd19dfea5321eda7c41a849d443dc92fd1ff7/pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", size = 841159, upload-time = "2025-09-25T21:32:27.727Z" }, + { url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", size = 801626, upload-time = "2025-09-25T21:32:28.878Z" }, + { url = "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", size = 753613, upload-time = "2025-09-25T21:32:30.178Z" }, + { url = "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", size = 794115, upload-time = "2025-09-25T21:32:31.353Z" }, + { url = "https://files.pythonhosted.org/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", size = 137427, upload-time = "2025-09-25T21:32:32.58Z" }, + { url = "https://files.pythonhosted.org/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", size = 154090, upload-time = "2025-09-25T21:32:33.659Z" }, + { url = "https://files.pythonhosted.org/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", size = 140246, upload-time = "2025-09-25T21:32:34.663Z" }, + { url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", size = 181814, upload-time = "2025-09-25T21:32:35.712Z" }, + { url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", size = 173809, upload-time = "2025-09-25T21:32:36.789Z" }, + { url = "https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", size = 766454, upload-time = "2025-09-25T21:32:37.966Z" }, + { url = "https://files.pythonhosted.org/packages/02/9e/e5e9b168be58564121efb3de6859c452fccde0ab093d8438905899a3a483/pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", size = 836355, upload-time = "2025-09-25T21:32:39.178Z" }, + { url = "https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", size = 794175, upload-time = "2025-09-25T21:32:40.865Z" }, + { url = "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", size = 755228, upload-time = "2025-09-25T21:32:42.084Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", size = 789194, upload-time = "2025-09-25T21:32:43.362Z" }, + { url = "https://files.pythonhosted.org/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", size = 156429, upload-time = "2025-09-25T21:32:57.844Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f4/a4541072bb9422c8a883ab55255f918fa378ecf083f5b85e87fc2b4eda1b/pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", size = 143912, upload-time = "2025-09-25T21:32:59.247Z" }, + { url = "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", size = 189108, upload-time = "2025-09-25T21:32:44.377Z" }, + { url = "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", size = 183641, upload-time = "2025-09-25T21:32:45.407Z" }, + { url = "https://files.pythonhosted.org/packages/7b/5b/3babb19104a46945cf816d047db2788bcaf8c94527a805610b0289a01c6b/pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", size = 831901, upload-time = "2025-09-25T21:32:48.83Z" }, + { url = "https://files.pythonhosted.org/packages/8b/cc/dff0684d8dc44da4d22a13f35f073d558c268780ce3c6ba1b87055bb0b87/pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", size = 861132, upload-time = "2025-09-25T21:32:50.149Z" }, + { url = "https://files.pythonhosted.org/packages/b1/5e/f77dc6b9036943e285ba76b49e118d9ea929885becb0a29ba8a7c75e29fe/pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", size = 839261, upload-time = "2025-09-25T21:32:51.808Z" }, + { url = "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", size = 805272, upload-time = "2025-09-25T21:32:52.941Z" }, + { url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", size = 829923, upload-time = "2025-09-25T21:32:54.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", size = 174062, upload-time = "2025-09-25T21:32:55.767Z" }, + { url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", size = 149341, upload-time = "2025-09-25T21:32:56.828Z" }, + { url = "https://files.pythonhosted.org/packages/9f/62/67fc8e68a75f738c9200422bf65693fb79a4cd0dc5b23310e5202e978090/pyyaml-6.0.3-cp39-cp39-macosx_10_13_x86_64.whl", hash = "sha256:b865addae83924361678b652338317d1bd7e79b1f4596f96b96c77a5a34b34da", size = 184450, upload-time = "2025-09-25T21:33:00.618Z" }, + { url = "https://files.pythonhosted.org/packages/ae/92/861f152ce87c452b11b9d0977952259aa7df792d71c1053365cc7b09cc08/pyyaml-6.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c3355370a2c156cffb25e876646f149d5d68f5e0a3ce86a5084dd0b64a994917", size = 174319, upload-time = "2025-09-25T21:33:02.086Z" }, + { url = "https://files.pythonhosted.org/packages/d0/cd/f0cfc8c74f8a030017a2b9c771b7f47e5dd702c3e28e5b2071374bda2948/pyyaml-6.0.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3c5677e12444c15717b902a5798264fa7909e41153cdf9ef7ad571b704a63dd9", size = 737631, upload-time = "2025-09-25T21:33:03.25Z" }, + { url = "https://files.pythonhosted.org/packages/ef/b2/18f2bd28cd2055a79a46c9b0895c0b3d987ce40ee471cecf58a1a0199805/pyyaml-6.0.3-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5ed875a24292240029e4483f9d4a4b8a1ae08843b9c54f43fcc11e404532a8a5", size = 836795, upload-time = "2025-09-25T21:33:05.014Z" }, + { url = "https://files.pythonhosted.org/packages/73/b9/793686b2d54b531203c160ef12bec60228a0109c79bae6c1277961026770/pyyaml-6.0.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0150219816b6a1fa26fb4699fb7daa9caf09eb1999f3b70fb6e786805e80375a", size = 750767, upload-time = "2025-09-25T21:33:06.398Z" }, + { url = "https://files.pythonhosted.org/packages/a9/86/a137b39a611def2ed78b0e66ce2fe13ee701a07c07aebe55c340ed2a050e/pyyaml-6.0.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:fa160448684b4e94d80416c0fa4aac48967a969efe22931448d853ada8baf926", size = 727982, upload-time = "2025-09-25T21:33:08.708Z" }, + { url = "https://files.pythonhosted.org/packages/dd/62/71c27c94f457cf4418ef8ccc71735324c549f7e3ea9d34aba50874563561/pyyaml-6.0.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:27c0abcb4a5dac13684a37f76e701e054692a9b2d3064b70f5e4eb54810553d7", size = 755677, upload-time = "2025-09-25T21:33:09.876Z" }, + { url = "https://files.pythonhosted.org/packages/29/3d/6f5e0d58bd924fb0d06c3a6bad00effbdae2de5adb5cda5648006ffbd8d3/pyyaml-6.0.3-cp39-cp39-win32.whl", hash = "sha256:1ebe39cb5fc479422b83de611d14e2c0d3bb2a18bbcb01f229ab3cfbd8fee7a0", size = 142592, upload-time = "2025-09-25T21:33:10.983Z" }, + { url = "https://files.pythonhosted.org/packages/f0/0c/25113e0b5e103d7f1490c0e947e303fe4a696c10b501dea7a9f49d4e876c/pyyaml-6.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:2e71d11abed7344e42a8849600193d15b6def118602c4c176f748e4583246007", size = 158777, upload-time = "2025-09-25T21:33:15.55Z" }, ] [[package]] name = "regex" version = "2025.11.3" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] sdist = { url = "https://files.pythonhosted.org/packages/cc/a9/546676f25e573a4cf00fe8e119b78a37b6a8fe2dc95cda877b30889c9c45/regex-2025.11.3.tar.gz", hash = "sha256:1fedc720f9bb2494ce31a58a1631f9c82df6a09b49c19517ea5cc280b4541e01", size = 414669, upload-time = "2025-11-03T21:34:22.089Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/8a/d6/d788d52da01280a30a3f6268aef2aa71043bff359c618fea4c5b536654d5/regex-2025.11.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2b441a4ae2c8049106e8b39973bfbddfb25a179dda2bdb99b0eeb60c40a6a3af", size = 488087, upload-time = "2025-11-03T21:30:47.317Z" }, @@ -4381,39 +2799,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/7c/98/4ed5b608130249810977b030b86abfc7fcd19b31aa75060d8ad11003826d/regex-2025.11.3-cp39-cp39-win_arm64.whl", hash = "sha256:43b4fb020e779ca81c1b5255015fe2b82816c76ec982354534ad9ec09ad7c9e3", size = 270328, upload-time = "2025-11-03T21:34:19.783Z" }, ] -[[package]] -name = "requests" -version = "2.32.4" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "certifi", marker = "python_full_version < '3.9'" }, - { name = "charset-normalizer", marker = "python_full_version < '3.9'" }, - { name = "idna", marker = "python_full_version < '3.9'" }, - { name = "urllib3", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz", hash = "sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422", size = 135258, upload-time = "2025-06-09T16:43:07.34Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7c/e4/56027c4a6b4ae70ca9de302488c5ca95ad4a39e190093d6c1a8ace08341b/requests-2.32.4-py3-none-any.whl", hash = "sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c", size = 64847, upload-time = "2025-06-09T16:43:05.728Z" }, -] - [[package]] name = "requests" version = "2.32.5" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] dependencies = [ - { name = "certifi", marker = "python_full_version >= '3.9'" }, - { name = "charset-normalizer", marker = "python_full_version >= '3.9'" }, - { name = "idna", marker = "python_full_version >= '3.9'" }, - { name = "urllib3", version = "2.6.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, ] sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517, upload-time = "2025-08-18T20:46:02.573Z" } wheels = [ @@ -4433,12 +2827,29 @@ wheels = [ ] [[package]] -name = "six" -version = "1.17.0" +name = "ruff" +version = "0.14.10" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +sdist = { url = "https://files.pythonhosted.org/packages/57/08/52232a877978dd8f9cf2aeddce3e611b40a63287dfca29b6b8da791f5e8d/ruff-0.14.10.tar.gz", hash = "sha256:9a2e830f075d1a42cd28420d7809ace390832a490ed0966fe373ba288e77aaf4", size = 5859763, upload-time = "2025-12-18T19:28:57.98Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, + { url = "https://files.pythonhosted.org/packages/60/01/933704d69f3f05ee16ef11406b78881733c186fe14b6a46b05cfcaf6d3b2/ruff-0.14.10-py3-none-linux_armv6l.whl", hash = "sha256:7a3ce585f2ade3e1f29ec1b92df13e3da262178df8c8bdf876f48fa0e8316c49", size = 13527080, upload-time = "2025-12-18T19:29:25.642Z" }, + { url = "https://files.pythonhosted.org/packages/df/58/a0349197a7dfa603ffb7f5b0470391efa79ddc327c1e29c4851e85b09cc5/ruff-0.14.10-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:674f9be9372907f7257c51f1d4fc902cb7cf014b9980152b802794317941f08f", size = 13797320, upload-time = "2025-12-18T19:29:02.571Z" }, + { url = "https://files.pythonhosted.org/packages/7b/82/36be59f00a6082e38c23536df4e71cdbc6af8d7c707eade97fcad5c98235/ruff-0.14.10-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d85713d522348837ef9df8efca33ccb8bd6fcfc86a2cde3ccb4bc9d28a18003d", size = 12918434, upload-time = "2025-12-18T19:28:51.202Z" }, + { url = "https://files.pythonhosted.org/packages/a6/00/45c62a7f7e34da92a25804f813ebe05c88aa9e0c25e5cb5a7d23dd7450e3/ruff-0.14.10-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6987ebe0501ae4f4308d7d24e2d0fe3d7a98430f5adfd0f1fead050a740a3a77", size = 13371961, upload-time = "2025-12-18T19:29:04.991Z" }, + { url = "https://files.pythonhosted.org/packages/40/31/a5906d60f0405f7e57045a70f2d57084a93ca7425f22e1d66904769d1628/ruff-0.14.10-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:16a01dfb7b9e4eee556fbfd5392806b1b8550c9b4a9f6acd3dbe6812b193c70a", size = 13275629, upload-time = "2025-12-18T19:29:21.381Z" }, + { url = "https://files.pythonhosted.org/packages/3e/60/61c0087df21894cf9d928dc04bcd4fb10e8b2e8dca7b1a276ba2155b2002/ruff-0.14.10-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7165d31a925b7a294465fa81be8c12a0e9b60fb02bf177e79067c867e71f8b1f", size = 14029234, upload-time = "2025-12-18T19:29:00.132Z" }, + { url = "https://files.pythonhosted.org/packages/44/84/77d911bee3b92348b6e5dab5a0c898d87084ea03ac5dc708f46d88407def/ruff-0.14.10-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:c561695675b972effb0c0a45db233f2c816ff3da8dcfbe7dfc7eed625f218935", size = 15449890, upload-time = "2025-12-18T19:28:53.573Z" }, + { url = "https://files.pythonhosted.org/packages/e9/36/480206eaefa24a7ec321582dda580443a8f0671fdbf6b1c80e9c3e93a16a/ruff-0.14.10-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4bb98fcbbc61725968893682fd4df8966a34611239c9fd07a1f6a07e7103d08e", size = 15123172, upload-time = "2025-12-18T19:29:23.453Z" }, + { url = "https://files.pythonhosted.org/packages/5c/38/68e414156015ba80cef5473d57919d27dfb62ec804b96180bafdeaf0e090/ruff-0.14.10-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f24b47993a9d8cb858429e97bdf8544c78029f09b520af615c1d261bf827001d", size = 14460260, upload-time = "2025-12-18T19:29:27.808Z" }, + { url = "https://files.pythonhosted.org/packages/b3/19/9e050c0dca8aba824d67cc0db69fb459c28d8cd3f6855b1405b3f29cc91d/ruff-0.14.10-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59aabd2e2c4fd614d2862e7939c34a532c04f1084476d6833dddef4afab87e9f", size = 14229978, upload-time = "2025-12-18T19:29:11.32Z" }, + { url = "https://files.pythonhosted.org/packages/51/eb/e8dd1dd6e05b9e695aa9dd420f4577debdd0f87a5ff2fedda33c09e9be8c/ruff-0.14.10-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:213db2b2e44be8625002dbea33bb9c60c66ea2c07c084a00d55732689d697a7f", size = 14338036, upload-time = "2025-12-18T19:29:09.184Z" }, + { url = "https://files.pythonhosted.org/packages/6a/12/f3e3a505db7c19303b70af370d137795fcfec136d670d5de5391e295c134/ruff-0.14.10-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:b914c40ab64865a17a9a5b67911d14df72346a634527240039eb3bd650e5979d", size = 13264051, upload-time = "2025-12-18T19:29:13.431Z" }, + { url = "https://files.pythonhosted.org/packages/08/64/8c3a47eaccfef8ac20e0484e68e0772013eb85802f8a9f7603ca751eb166/ruff-0.14.10-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:1484983559f026788e3a5c07c81ef7d1e97c1c78ed03041a18f75df104c45405", size = 13283998, upload-time = "2025-12-18T19:29:06.994Z" }, + { url = "https://files.pythonhosted.org/packages/12/84/534a5506f4074e5cc0529e5cd96cfc01bb480e460c7edf5af70d2bcae55e/ruff-0.14.10-py3-none-musllinux_1_2_i686.whl", hash = "sha256:c70427132db492d25f982fffc8d6c7535cc2fd2c83fc8888f05caaa248521e60", size = 13601891, upload-time = "2025-12-18T19:28:55.811Z" }, + { url = "https://files.pythonhosted.org/packages/0d/1e/14c916087d8598917dbad9b2921d340f7884824ad6e9c55de948a93b106d/ruff-0.14.10-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:5bcf45b681e9f1ee6445d317ce1fa9d6cba9a6049542d1c3d5b5958986be8830", size = 14336660, upload-time = "2025-12-18T19:29:16.531Z" }, + { url = "https://files.pythonhosted.org/packages/f2/1c/d7b67ab43f30013b47c12b42d1acd354c195351a3f7a1d67f59e54227ede/ruff-0.14.10-py3-none-win32.whl", hash = "sha256:104c49fc7ab73f3f3a758039adea978869a918f31b73280db175b43a2d9b51d6", size = 13196187, upload-time = "2025-12-18T19:29:19.006Z" }, + { url = "https://files.pythonhosted.org/packages/fb/9c/896c862e13886fae2af961bef3e6312db9ebc6adc2b156fe95e615dee8c1/ruff-0.14.10-py3-none-win_amd64.whl", hash = "sha256:466297bd73638c6bdf06485683e812db1c00c7ac96d4ddd0294a338c62fdc154", size = 14661283, upload-time = "2025-12-18T19:29:30.16Z" }, + { url = "https://files.pythonhosted.org/packages/74/31/b0e29d572670dca3674eeee78e418f20bdf97fa8aa9ea71380885e175ca0/ruff-0.14.10-py3-none-win_arm64.whl", hash = "sha256:e51d046cf6dda98a4633b8a8a771451107413b0f07183b2bef03f075599e44e6", size = 13729839, upload-time = "2025-12-18T19:28:48.636Z" }, ] [[package]] @@ -4450,9 +2861,9 @@ dependencies = [ { name = "eth-abi" }, { name = "eth-typing" }, { name = "eth-utils" }, + { name = "importlib-metadata" }, { name = "packaging" }, - { name = "prettytable", version = "3.11.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "prettytable", version = "3.16.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "prettytable", version = "3.16.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "prettytable", version = "3.17.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, { name = "pycryptodome" }, { name = "web3" }, @@ -4460,66 +2871,49 @@ dependencies = [ [package.dev-dependencies] dev = [ - { name = "black" }, - { name = "coverage", version = "7.6.1", source = { registry = "https://pypi.org/simple" }, extra = ["toml"], marker = "python_full_version < '3.9'" }, - { name = "coverage", version = "7.10.7", source = { registry = "https://pypi.org/simple" }, extra = ["toml"], marker = "python_full_version == '3.9.*'" }, + { name = "coverage", version = "7.10.7", source = { registry = "https://pypi.org/simple" }, extra = ["toml"], marker = "python_full_version < '3.10'" }, { name = "coverage", version = "7.13.1", source = { registry = "https://pypi.org/simple" }, extra = ["toml"], marker = "python_full_version >= '3.10'" }, { name = "deepdiff" }, - { name = "filelock", version = "3.16.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "filelock", version = "3.19.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "filelock", version = "3.19.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "filelock", version = "3.20.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, { name = "numpy", version = "2.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, - { name = "openai", version = "2.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "openai", version = "2.14.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "orderly-set" }, - { name = "pdoc", version = "14.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pdoc", version = "15.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "openai" }, + { name = "pdoc", version = "15.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "pdoc", version = "16.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "pylint" }, - { name = "pytest", version = "8.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "pytest", version = "7.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "pytest", version = "9.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "pytest-cov", version = "5.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pytest-cov", version = "7.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "pytest-insta", version = "0.1.11", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "pytest-cov" }, + { name = "pytest-insta", version = "0.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "pytest-insta", version = "0.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "pytest-xdist", version = "3.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pytest-xdist", version = "3.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "pytest-xdist" }, + { name = "ruff" }, + { name = "yamllint" }, ] doc = [ - { name = "pdoc", version = "14.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pdoc", version = "15.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "pdoc", version = "15.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "pdoc", version = "16.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, ] lint = [ - { name = "black" }, - { name = "pylint" }, + { name = "ruff" }, + { name = "yamllint" }, ] test = [ - { name = "coverage", version = "7.6.1", source = { registry = "https://pypi.org/simple" }, extra = ["toml"], marker = "python_full_version < '3.9'" }, - { name = "coverage", version = "7.10.7", source = { registry = "https://pypi.org/simple" }, extra = ["toml"], marker = "python_full_version == '3.9.*'" }, + { name = "coverage", version = "7.10.7", source = { registry = "https://pypi.org/simple" }, extra = ["toml"], marker = "python_full_version < '3.10'" }, { name = "coverage", version = "7.13.1", source = { registry = "https://pypi.org/simple" }, extra = ["toml"], marker = "python_full_version >= '3.10'" }, { name = "deepdiff" }, - { name = "filelock", version = "3.16.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "filelock", version = "3.19.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "filelock", version = "3.19.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "filelock", version = "3.20.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "numpy", version = "1.24.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, { name = "numpy", version = "2.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, - { name = "orderly-set" }, - { name = "pytest", version = "8.3.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pytest", version = "8.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.9.*'" }, + { name = "pytest", version = "7.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "pytest", version = "9.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "pytest-cov", version = "5.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pytest-cov", version = "7.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "pytest-insta", version = "0.1.11", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, + { name = "pytest-cov" }, + { name = "pytest-insta", version = "0.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "pytest-insta", version = "0.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "pytest-xdist", version = "3.6.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pytest-xdist", version = "3.8.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "pytest-xdist" }, ] [package.metadata] @@ -4528,6 +2922,7 @@ requires-dist = [ { name = "eth-abi", specifier = ">=5.0.1" }, { name = "eth-typing", specifier = ">=5.0.0" }, { name = "eth-utils", specifier = ">=5.0.0" }, + { name = "importlib-metadata", specifier = ">=3.6" }, { name = "packaging" }, { name = "prettytable", specifier = ">=3.10.2" }, { name = "pycryptodome", specifier = ">=3.4.6" }, @@ -4536,31 +2931,29 @@ requires-dist = [ [package.metadata.requires-dev] dev = [ - { name = "black", specifier = "==22.3.0" }, { name = "coverage", extras = ["toml"] }, { name = "deepdiff" }, { name = "filelock" }, { name = "numpy" }, { name = "openai" }, - { name = "orderly-set", specifier = "==5.3.2" }, { name = "pdoc" }, - { name = "pylint", specifier = "==3.0.3" }, { name = "pytest" }, { name = "pytest-cov" }, { name = "pytest-insta" }, { name = "pytest-xdist" }, + { name = "ruff", specifier = "==0.14.10" }, + { name = "yamllint", specifier = "==1.37.1" }, ] doc = [{ name = "pdoc" }] lint = [ - { name = "black", specifier = "==22.3.0" }, - { name = "pylint", specifier = "==3.0.3" }, + { name = "ruff", specifier = "==0.14.10" }, + { name = "yamllint", specifier = "==1.37.1" }, ] test = [ { name = "coverage", extras = ["toml"] }, { name = "deepdiff" }, { name = "filelock" }, { name = "numpy" }, - { name = "orderly-set", specifier = "==5.3.2" }, { name = "pytest" }, { name = "pytest-cov" }, { name = "pytest-insta" }, @@ -4583,8 +2976,7 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "packaging" }, { name = "pycryptodome" }, - { name = "requests", version = "2.32.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "requests", version = "2.32.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "requests" }, ] sdist = { url = "https://files.pythonhosted.org/packages/62/89/51e614fdbf26f47268c18f8a3b6cf1cb67c9a8b48b7b7231c948cae97814/solc_select-1.2.0.tar.gz", hash = "sha256:ad0a7afcae05061ce5e7632950b1fa0193ba9eaf05e4956f86effee024c6fb07", size = 52211, upload-time = "2025-12-04T20:57:18.584Z" } wheels = [ @@ -4640,37 +3032,10 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/77/b8/0135fadc89e73be292b473cb820b4f5a08197779206b33191e801feeae40/tomli-2.3.0-py3-none-any.whl", hash = "sha256:e95b1af3c5b07d9e643909b5abbec77cd9f1217e6d0bca72b0234736b9fb1f1b", size = 14408, upload-time = "2025-10-08T22:01:46.04Z" }, ] -[[package]] -name = "tomlkit" -version = "0.13.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/cc/18/0bbf3884e9eaa38819ebe46a7bd25dcd56b67434402b66a58c4b8e552575/tomlkit-0.13.3.tar.gz", hash = "sha256:430cf247ee57df2b94ee3fbe588e71d362a941ebb545dec29b53961d61add2a1", size = 185207, upload-time = "2025-06-05T07:13:44.947Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/bd/75/8539d011f6be8e29f339c42e633aae3cb73bffa95dd0f9adec09b9c58e85/tomlkit-0.13.3-py3-none-any.whl", hash = "sha256:c89c649d79ee40629a9fda55f8ace8c6a1b42deb912b2a8fd8d942ddadb606b0", size = 38901, upload-time = "2025-06-05T07:13:43.546Z" }, -] - -[[package]] -name = "toolz" -version = "1.0.0" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/8a/0b/d80dfa675bf592f636d1ea0b835eab4ec8df6e9415d8cfd766df54456123/toolz-1.0.0.tar.gz", hash = "sha256:2c86e3d9a04798ac556793bced838816296a2f085017664e4995cb40a1047a02", size = 66790, upload-time = "2024-10-04T16:17:04.001Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/03/98/eb27cc78ad3af8e302c9d8ff4977f5026676e130d28dd7578132a457170c/toolz-1.0.0-py3-none-any.whl", hash = "sha256:292c8f1c4e7516bf9086f8850935c799a874039c8bcf959d47b600e4c44a6236", size = 56383, upload-time = "2024-10-04T16:17:01.533Z" }, -] - [[package]] name = "toolz" version = "1.1.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] sdist = { url = "https://files.pythonhosted.org/packages/11/d6/114b492226588d6ff54579d95847662fc69196bdeec318eb45393b24c192/toolz-1.1.0.tar.gz", hash = "sha256:27a5c770d068c110d9ed9323f24f1543e83b2f300a687b7891c1a6d56b697b5b", size = 52613, upload-time = "2025-10-17T04:03:21.661Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/fb/12/5911ae3eeec47800503a238d971e51722ccea5feb8569b735184d5fcdbc0/toolz-1.1.0-py3-none-any.whl", hash = "sha256:15ccc861ac51c53696de0a5d6d4607f99c210739caf987b5d2054f3efed429d8", size = 58093, upload-time = "2025-10-17T04:03:20.435Z" }, @@ -4688,61 +3053,22 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540, upload-time = "2024-11-24T20:12:19.698Z" }, ] -[[package]] -name = "types-requests" -version = "2.32.0.20241016" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -dependencies = [ - { name = "urllib3", version = "2.2.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/fa/3c/4f2a430c01a22abd49a583b6b944173e39e7d01b688190a5618bd59a2e22/types-requests-2.32.0.20241016.tar.gz", hash = "sha256:0d9cad2f27515d0e3e3da7134a1b6f28fb97129d86b867f24d9c726452634d95", size = 18065, upload-time = "2024-10-16T02:46:10.818Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d7/01/485b3026ff90e5190b5e24f1711522e06c79f4a56c8f4b95848ac072e20f/types_requests-2.32.0.20241016-py3-none-any.whl", hash = "sha256:4195d62d6d3e043a4eaaf08ff8a62184584d2e8684e9d2aa178c7915a7da3747", size = 15836, upload-time = "2024-10-16T02:46:09.734Z" }, -] - [[package]] name = "types-requests" version = "2.32.4.20250913" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] dependencies = [ - { name = "urllib3", version = "2.6.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "urllib3" }, ] sdist = { url = "https://files.pythonhosted.org/packages/36/27/489922f4505975b11de2b5ad07b4fe1dca0bca9be81a703f26c5f3acfce5/types_requests-2.32.4.20250913.tar.gz", hash = "sha256:abd6d4f9ce3a9383f269775a9835a4c24e5cd6b9f647d64f88aa4613c33def5d", size = 23113, upload-time = "2025-09-13T02:40:02.309Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/2a/20/9a227ea57c1285986c4cf78400d0a91615d25b24e257fd9e2969606bdfae/types_requests-2.32.4.20250913-py3-none-any.whl", hash = "sha256:78c9c1fffebbe0fa487a418e0fa5252017e9c60d1a2da394077f1780f655d7e1", size = 20658, upload-time = "2025-09-13T02:40:01.115Z" }, ] -[[package]] -name = "typing-extensions" -version = "4.13.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/f6/37/23083fcd6e35492953e8d2aaaa68b860eb422b34627b13f2ce3eb6106061/typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef", size = 106967, upload-time = "2025-04-10T14:19:05.416Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c", size = 45806, upload-time = "2025-04-10T14:19:03.967Z" }, -] - [[package]] name = "typing-extensions" version = "4.15.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, @@ -4753,35 +3079,17 @@ name = "typing-inspection" version = "0.4.2" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "typing-extensions" }, ] sdist = { url = "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464", size = 75949, upload-time = "2025-10-01T02:14:41.687Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7", size = 14611, upload-time = "2025-10-01T02:14:40.154Z" }, ] -[[package]] -name = "urllib3" -version = "2.2.3" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/ed/63/22ba4ebfe7430b76388e7cd448d5478814d3032121827c12a2cc287e2260/urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9", size = 300677, upload-time = "2024-09-12T10:52:18.401Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ce/d9/5f4c13cecde62396b0d3fe530a50ccea91e7dfc1ccf0e09c228841bb5ba8/urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac", size = 126338, upload-time = "2024-09-12T10:52:16.589Z" }, -] - [[package]] name = "urllib3" version = "2.6.2" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] sdist = { url = "https://files.pythonhosted.org/packages/1e/24/a2a2ed9addd907787d7aa0355ba36a6cadf1768b934c652ea78acbd59dcd/urllib3-2.6.2.tar.gz", hash = "sha256:016f9c98bb7e98085cb2b4b17b87d2c702975664e4f060c6532e64d1c1a5e797", size = 432930, upload-time = "2025-12-11T15:56:40.252Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/6d/b9/4095b668ea3678bf6a0af005527f39de12fb026516fb3df17495a733b7f8/urllib3-2.6.2-py3-none-any.whl", hash = "sha256:ec21cddfe7724fc7cb4ba4bea7aa8e2ef36f607a4bab81aa6ce42a13dc3f03dd", size = 131182, upload-time = "2025-12-11T15:56:38.584Z" }, @@ -4801,138 +3109,30 @@ name = "web3" version = "7.14.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "aiohttp", version = "3.10.11", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "aiohttp", version = "3.13.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "aiohttp" }, { name = "eth-abi" }, { name = "eth-account" }, { name = "eth-hash", extra = ["pycryptodome"] }, { name = "eth-typing" }, { name = "eth-utils" }, { name = "hexbytes" }, - { name = "pydantic", version = "2.10.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "pydantic", version = "2.12.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "pydantic" }, { name = "pyunormalize" }, { name = "pywin32", marker = "sys_platform == 'win32'" }, - { name = "requests", version = "2.32.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "requests", version = "2.32.5", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "types-requests", version = "2.32.0.20241016", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "types-requests", version = "2.32.4.20250913", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "typing-extensions", version = "4.13.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "typing-extensions", version = "4.15.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "websockets", version = "13.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "websockets", version = "15.0.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "requests" }, + { name = "types-requests" }, + { name = "typing-extensions" }, + { name = "websockets" }, ] sdist = { url = "https://files.pythonhosted.org/packages/4c/85/1515644dc1b0170e43e8c26531a3cec8ebc916185fbe2db0020e450b7114/web3-7.14.0.tar.gz", hash = "sha256:d82c78007c280e478b3920cd56658df17f2f76af584ee3318df6b60d4944b8a2", size = 2194249, upload-time = "2025-10-16T19:25:07.484Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/66/94/68ce430b5e19803d2b34736dd653e8627bde68d93cd8b0bec44384487a59/web3-7.14.0-py3-none-any.whl", hash = "sha256:a78c0a979bf11c47795f564512131c01b7598a276976f7031c55140f733e210a", size = 1370801, upload-time = "2025-10-16T19:25:04.052Z" }, ] -[[package]] -name = "websockets" -version = "13.1" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] -sdist = { url = "https://files.pythonhosted.org/packages/e2/73/9223dbc7be3dcaf2a7bbf756c351ec8da04b1fa573edaf545b95f6b0c7fd/websockets-13.1.tar.gz", hash = "sha256:a3b3366087c1bc0a2795111edcadddb8b3b59509d5db5d7ea3fdd69f954a8878", size = 158549, upload-time = "2024-09-21T17:34:21.54Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0a/94/d15dbfc6a5eb636dbc754303fba18208f2e88cf97e733e1d64fb9cb5c89e/websockets-13.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f48c749857f8fb598fb890a75f540e3221d0976ed0bf879cf3c7eef34151acee", size = 157815, upload-time = "2024-09-21T17:32:27.107Z" }, - { url = "https://files.pythonhosted.org/packages/30/02/c04af33f4663945a26f5e8cf561eb140c35452b50af47a83c3fbcfe62ae1/websockets-13.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c7e72ce6bda6fb9409cc1e8164dd41d7c91466fb599eb047cfda72fe758a34a7", size = 155466, upload-time = "2024-09-21T17:32:28.428Z" }, - { url = "https://files.pythonhosted.org/packages/35/e8/719f08d12303ea643655e52d9e9851b2dadbb1991d4926d9ce8862efa2f5/websockets-13.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f779498eeec470295a2b1a5d97aa1bc9814ecd25e1eb637bd9d1c73a327387f6", size = 155716, upload-time = "2024-09-21T17:32:29.905Z" }, - { url = "https://files.pythonhosted.org/packages/91/e1/14963ae0252a8925f7434065d25dcd4701d5e281a0b4b460a3b5963d2594/websockets-13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4676df3fe46956fbb0437d8800cd5f2b6d41143b6e7e842e60554398432cf29b", size = 164806, upload-time = "2024-09-21T17:32:31.384Z" }, - { url = "https://files.pythonhosted.org/packages/ec/fa/ab28441bae5e682a0f7ddf3d03440c0c352f930da419301f4a717f675ef3/websockets-13.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a7affedeb43a70351bb811dadf49493c9cfd1ed94c9c70095fd177e9cc1541fa", size = 163810, upload-time = "2024-09-21T17:32:32.384Z" }, - { url = "https://files.pythonhosted.org/packages/44/77/dea187bd9d16d4b91566a2832be31f99a40d0f5bfa55eeb638eb2c3bc33d/websockets-13.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1971e62d2caa443e57588e1d82d15f663b29ff9dfe7446d9964a4b6f12c1e700", size = 164125, upload-time = "2024-09-21T17:32:33.398Z" }, - { url = "https://files.pythonhosted.org/packages/cf/d9/3af14544e83f1437eb684b399e6ba0fa769438e869bf5d83d74bc197fae8/websockets-13.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5f2e75431f8dc4a47f31565a6e1355fb4f2ecaa99d6b89737527ea917066e26c", size = 164532, upload-time = "2024-09-21T17:32:35.109Z" }, - { url = "https://files.pythonhosted.org/packages/1c/8a/6d332eabe7d59dfefe4b8ba6f46c8c5fabb15b71c8a8bc3d2b65de19a7b6/websockets-13.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:58cf7e75dbf7e566088b07e36ea2e3e2bd5676e22216e4cad108d4df4a7402a0", size = 163948, upload-time = "2024-09-21T17:32:36.214Z" }, - { url = "https://files.pythonhosted.org/packages/1a/91/a0aeadbaf3017467a1ee03f8fb67accdae233fe2d5ad4b038c0a84e357b0/websockets-13.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c90d6dec6be2c7d03378a574de87af9b1efea77d0c52a8301dd831ece938452f", size = 163898, upload-time = "2024-09-21T17:32:37.277Z" }, - { url = "https://files.pythonhosted.org/packages/71/31/a90fb47c63e0ae605be914b0b969d7c6e6ffe2038cd744798e4b3fbce53b/websockets-13.1-cp310-cp310-win32.whl", hash = "sha256:730f42125ccb14602f455155084f978bd9e8e57e89b569b4d7f0f0c17a448ffe", size = 158706, upload-time = "2024-09-21T17:32:38.755Z" }, - { url = "https://files.pythonhosted.org/packages/93/ca/9540a9ba80da04dc7f36d790c30cae4252589dbd52ccdc92e75b0be22437/websockets-13.1-cp310-cp310-win_amd64.whl", hash = "sha256:5993260f483d05a9737073be197371940c01b257cc45ae3f1d5d7adb371b266a", size = 159141, upload-time = "2024-09-21T17:32:40.495Z" }, - { url = "https://files.pythonhosted.org/packages/b2/f0/cf0b8a30d86b49e267ac84addbebbc7a48a6e7bb7c19db80f62411452311/websockets-13.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:61fc0dfcda609cda0fc9fe7977694c0c59cf9d749fbb17f4e9483929e3c48a19", size = 157813, upload-time = "2024-09-21T17:32:42.188Z" }, - { url = "https://files.pythonhosted.org/packages/bf/e7/22285852502e33071a8cf0ac814f8988480ec6db4754e067b8b9d0e92498/websockets-13.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ceec59f59d092c5007e815def4ebb80c2de330e9588e101cf8bd94c143ec78a5", size = 155469, upload-time = "2024-09-21T17:32:43.858Z" }, - { url = "https://files.pythonhosted.org/packages/68/d4/c8c7c1e5b40ee03c5cc235955b0fb1ec90e7e37685a5f69229ad4708dcde/websockets-13.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c1dca61c6db1166c48b95198c0b7d9c990b30c756fc2923cc66f68d17dc558fd", size = 155717, upload-time = "2024-09-21T17:32:44.914Z" }, - { url = "https://files.pythonhosted.org/packages/c9/e4/c50999b9b848b1332b07c7fd8886179ac395cb766fda62725d1539e7bc6c/websockets-13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:308e20f22c2c77f3f39caca508e765f8725020b84aa963474e18c59accbf4c02", size = 165379, upload-time = "2024-09-21T17:32:45.933Z" }, - { url = "https://files.pythonhosted.org/packages/bc/49/4a4ad8c072f18fd79ab127650e47b160571aacfc30b110ee305ba25fffc9/websockets-13.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62d516c325e6540e8a57b94abefc3459d7dab8ce52ac75c96cad5549e187e3a7", size = 164376, upload-time = "2024-09-21T17:32:46.987Z" }, - { url = "https://files.pythonhosted.org/packages/af/9b/8c06d425a1d5a74fd764dd793edd02be18cf6fc3b1ccd1f29244ba132dc0/websockets-13.1-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:87c6e35319b46b99e168eb98472d6c7d8634ee37750d7693656dc766395df096", size = 164753, upload-time = "2024-09-21T17:32:48.046Z" }, - { url = "https://files.pythonhosted.org/packages/d5/5b/0acb5815095ff800b579ffc38b13ab1b915b317915023748812d24e0c1ac/websockets-13.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5f9fee94ebafbc3117c30be1844ed01a3b177bb6e39088bc6b2fa1dc15572084", size = 165051, upload-time = "2024-09-21T17:32:49.271Z" }, - { url = "https://files.pythonhosted.org/packages/30/93/c3891c20114eacb1af09dedfcc620c65c397f4fd80a7009cd12d9457f7f5/websockets-13.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:7c1e90228c2f5cdde263253fa5db63e6653f1c00e7ec64108065a0b9713fa1b3", size = 164489, upload-time = "2024-09-21T17:32:50.392Z" }, - { url = "https://files.pythonhosted.org/packages/28/09/af9e19885539759efa2e2cd29b8b3f9eecef7ecefea40d46612f12138b36/websockets-13.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6548f29b0e401eea2b967b2fdc1c7c7b5ebb3eeb470ed23a54cd45ef078a0db9", size = 164438, upload-time = "2024-09-21T17:32:52.223Z" }, - { url = "https://files.pythonhosted.org/packages/b6/08/6f38b8e625b3d93de731f1d248cc1493327f16cb45b9645b3e791782cff0/websockets-13.1-cp311-cp311-win32.whl", hash = "sha256:c11d4d16e133f6df8916cc5b7e3e96ee4c44c936717d684a94f48f82edb7c92f", size = 158710, upload-time = "2024-09-21T17:32:53.244Z" }, - { url = "https://files.pythonhosted.org/packages/fb/39/ec8832ecb9bb04a8d318149005ed8cee0ba4e0205835da99e0aa497a091f/websockets-13.1-cp311-cp311-win_amd64.whl", hash = "sha256:d04f13a1d75cb2b8382bdc16ae6fa58c97337253826dfe136195b7f89f661557", size = 159137, upload-time = "2024-09-21T17:32:54.721Z" }, - { url = "https://files.pythonhosted.org/packages/df/46/c426282f543b3c0296cf964aa5a7bb17e984f58dde23460c3d39b3148fcf/websockets-13.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:9d75baf00138f80b48f1eac72ad1535aac0b6461265a0bcad391fc5aba875cfc", size = 157821, upload-time = "2024-09-21T17:32:56.442Z" }, - { url = "https://files.pythonhosted.org/packages/aa/85/22529867010baac258da7c45848f9415e6cf37fef00a43856627806ffd04/websockets-13.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:9b6f347deb3dcfbfde1c20baa21c2ac0751afaa73e64e5b693bb2b848efeaa49", size = 155480, upload-time = "2024-09-21T17:32:57.698Z" }, - { url = "https://files.pythonhosted.org/packages/29/2c/bdb339bfbde0119a6e84af43ebf6275278698a2241c2719afc0d8b0bdbf2/websockets-13.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:de58647e3f9c42f13f90ac7e5f58900c80a39019848c5547bc691693098ae1bd", size = 155715, upload-time = "2024-09-21T17:32:59.429Z" }, - { url = "https://files.pythonhosted.org/packages/9f/d0/8612029ea04c5c22bf7af2fd3d63876c4eaeef9b97e86c11972a43aa0e6c/websockets-13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a1b54689e38d1279a51d11e3467dd2f3a50f5f2e879012ce8f2d6943f00e83f0", size = 165647, upload-time = "2024-09-21T17:33:00.495Z" }, - { url = "https://files.pythonhosted.org/packages/56/04/1681ed516fa19ca9083f26d3f3a302257e0911ba75009533ed60fbb7b8d1/websockets-13.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf1781ef73c073e6b0f90af841aaf98501f975d306bbf6221683dd594ccc52b6", size = 164592, upload-time = "2024-09-21T17:33:02.223Z" }, - { url = "https://files.pythonhosted.org/packages/38/6f/a96417a49c0ed132bb6087e8e39a37db851c70974f5c724a4b2a70066996/websockets-13.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d23b88b9388ed85c6faf0e74d8dec4f4d3baf3ecf20a65a47b836d56260d4b9", size = 165012, upload-time = "2024-09-21T17:33:03.288Z" }, - { url = "https://files.pythonhosted.org/packages/40/8b/fccf294919a1b37d190e86042e1a907b8f66cff2b61e9befdbce03783e25/websockets-13.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3c78383585f47ccb0fcf186dcb8a43f5438bd7d8f47d69e0b56f71bf431a0a68", size = 165311, upload-time = "2024-09-21T17:33:04.728Z" }, - { url = "https://files.pythonhosted.org/packages/c1/61/f8615cf7ce5fe538476ab6b4defff52beb7262ff8a73d5ef386322d9761d/websockets-13.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:d6d300f8ec35c24025ceb9b9019ae9040c1ab2f01cddc2bcc0b518af31c75c14", size = 164692, upload-time = "2024-09-21T17:33:05.829Z" }, - { url = "https://files.pythonhosted.org/packages/5c/f1/a29dd6046d3a722d26f182b783a7997d25298873a14028c4760347974ea3/websockets-13.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a9dcaf8b0cc72a392760bb8755922c03e17a5a54e08cca58e8b74f6902b433cf", size = 164686, upload-time = "2024-09-21T17:33:06.823Z" }, - { url = "https://files.pythonhosted.org/packages/0f/99/ab1cdb282f7e595391226f03f9b498f52109d25a2ba03832e21614967dfa/websockets-13.1-cp312-cp312-win32.whl", hash = "sha256:2f85cf4f2a1ba8f602298a853cec8526c2ca42a9a4b947ec236eaedb8f2dc80c", size = 158712, upload-time = "2024-09-21T17:33:07.877Z" }, - { url = "https://files.pythonhosted.org/packages/46/93/e19160db48b5581feac8468330aa11b7292880a94a37d7030478596cc14e/websockets-13.1-cp312-cp312-win_amd64.whl", hash = "sha256:38377f8b0cdeee97c552d20cf1865695fcd56aba155ad1b4ca8779a5b6ef4ac3", size = 159145, upload-time = "2024-09-21T17:33:09.202Z" }, - { url = "https://files.pythonhosted.org/packages/51/20/2b99ca918e1cbd33c53db2cace5f0c0cd8296fc77558e1908799c712e1cd/websockets-13.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a9ab1e71d3d2e54a0aa646ab6d4eebfaa5f416fe78dfe4da2839525dc5d765c6", size = 157828, upload-time = "2024-09-21T17:33:10.987Z" }, - { url = "https://files.pythonhosted.org/packages/b8/47/0932a71d3d9c0e9483174f60713c84cee58d62839a143f21a2bcdbd2d205/websockets-13.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b9d7439d7fab4dce00570bb906875734df13d9faa4b48e261c440a5fec6d9708", size = 155487, upload-time = "2024-09-21T17:33:12.153Z" }, - { url = "https://files.pythonhosted.org/packages/a9/60/f1711eb59ac7a6c5e98e5637fef5302f45b6f76a2c9d64fd83bbb341377a/websockets-13.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:327b74e915cf13c5931334c61e1a41040e365d380f812513a255aa804b183418", size = 155721, upload-time = "2024-09-21T17:33:13.909Z" }, - { url = "https://files.pythonhosted.org/packages/6a/e6/ba9a8db7f9d9b0e5f829cf626ff32677f39824968317223605a6b419d445/websockets-13.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:325b1ccdbf5e5725fdcb1b0e9ad4d2545056479d0eee392c291c1bf76206435a", size = 165609, upload-time = "2024-09-21T17:33:14.967Z" }, - { url = "https://files.pythonhosted.org/packages/c1/22/4ec80f1b9c27a0aebd84ccd857252eda8418ab9681eb571b37ca4c5e1305/websockets-13.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:346bee67a65f189e0e33f520f253d5147ab76ae42493804319b5716e46dddf0f", size = 164556, upload-time = "2024-09-21T17:33:17.113Z" }, - { url = "https://files.pythonhosted.org/packages/27/ac/35f423cb6bb15600438db80755609d27eda36d4c0b3c9d745ea12766c45e/websockets-13.1-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:91a0fa841646320ec0d3accdff5b757b06e2e5c86ba32af2e0815c96c7a603c5", size = 164993, upload-time = "2024-09-21T17:33:18.168Z" }, - { url = "https://files.pythonhosted.org/packages/31/4e/98db4fd267f8be9e52e86b6ee4e9aa7c42b83452ea0ea0672f176224b977/websockets-13.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:18503d2c5f3943e93819238bf20df71982d193f73dcecd26c94514f417f6b135", size = 165360, upload-time = "2024-09-21T17:33:19.233Z" }, - { url = "https://files.pythonhosted.org/packages/3f/15/3f0de7cda70ffc94b7e7024544072bc5b26e2c1eb36545291abb755d8cdb/websockets-13.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:a9cd1af7e18e5221d2878378fbc287a14cd527fdd5939ed56a18df8a31136bb2", size = 164745, upload-time = "2024-09-21T17:33:20.361Z" }, - { url = "https://files.pythonhosted.org/packages/a1/6e/66b6b756aebbd680b934c8bdbb6dcb9ce45aad72cde5f8a7208dbb00dd36/websockets-13.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:70c5be9f416aa72aab7a2a76c90ae0a4fe2755c1816c153c1a2bcc3333ce4ce6", size = 164732, upload-time = "2024-09-21T17:33:23.103Z" }, - { url = "https://files.pythonhosted.org/packages/35/c6/12e3aab52c11aeb289e3dbbc05929e7a9d90d7a9173958477d3ef4f8ce2d/websockets-13.1-cp313-cp313-win32.whl", hash = "sha256:624459daabeb310d3815b276c1adef475b3e6804abaf2d9d2c061c319f7f187d", size = 158709, upload-time = "2024-09-21T17:33:24.196Z" }, - { url = "https://files.pythonhosted.org/packages/41/d8/63d6194aae711d7263df4498200c690a9c39fb437ede10f3e157a6343e0d/websockets-13.1-cp313-cp313-win_amd64.whl", hash = "sha256:c518e84bb59c2baae725accd355c8dc517b4a3ed8db88b4bc93c78dae2974bf2", size = 159144, upload-time = "2024-09-21T17:33:25.96Z" }, - { url = "https://files.pythonhosted.org/packages/83/69/59872420e5bce60db166d6fba39ee24c719d339fb0ae48cb2ce580129882/websockets-13.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:c7934fd0e920e70468e676fe7f1b7261c1efa0d6c037c6722278ca0228ad9d0d", size = 157811, upload-time = "2024-09-21T17:33:27.379Z" }, - { url = "https://files.pythonhosted.org/packages/bb/f7/0610032e0d3981758fdd6ee7c68cc02ebf668a762c5178d3d91748228849/websockets-13.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:149e622dc48c10ccc3d2760e5f36753db9cacf3ad7bc7bbbfd7d9c819e286f23", size = 155471, upload-time = "2024-09-21T17:33:28.473Z" }, - { url = "https://files.pythonhosted.org/packages/55/2f/c43173a72ea395263a427a36d25bce2675f41c809424466a13c61a9a2d61/websockets-13.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:a569eb1b05d72f9bce2ebd28a1ce2054311b66677fcd46cf36204ad23acead8c", size = 155713, upload-time = "2024-09-21T17:33:29.795Z" }, - { url = "https://files.pythonhosted.org/packages/92/7e/8fa930c6426a56c47910792717787640329e4a0e37cdfda20cf89da67126/websockets-13.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95df24ca1e1bd93bbca51d94dd049a984609687cb2fb08a7f2c56ac84e9816ea", size = 164995, upload-time = "2024-09-21T17:33:30.802Z" }, - { url = "https://files.pythonhosted.org/packages/27/29/50ed4c68a3f606565a2db4b13948ae7b6f6c53aa9f8f258d92be6698d276/websockets-13.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d8dbb1bf0c0a4ae8b40bdc9be7f644e2f3fb4e8a9aca7145bfa510d4a374eeb7", size = 164057, upload-time = "2024-09-21T17:33:31.862Z" }, - { url = "https://files.pythonhosted.org/packages/3c/0e/60da63b1c53c47f389f79312b3356cb305600ffad1274d7ec473128d4e6b/websockets-13.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:035233b7531fb92a76beefcbf479504db8c72eb3bff41da55aecce3a0f729e54", size = 164340, upload-time = "2024-09-21T17:33:33.022Z" }, - { url = "https://files.pythonhosted.org/packages/20/ef/d87c5fc0aa7fafad1d584b6459ddfe062edf0d0dd64800a02e67e5de048b/websockets-13.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:e4450fc83a3df53dec45922b576e91e94f5578d06436871dce3a6be38e40f5db", size = 164222, upload-time = "2024-09-21T17:33:34.423Z" }, - { url = "https://files.pythonhosted.org/packages/f2/c4/7916e1f6b5252d3dcb9121b67d7fdbb2d9bf5067a6d8c88885ba27a9e69c/websockets-13.1-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:463e1c6ec853202dd3657f156123d6b4dad0c546ea2e2e38be2b3f7c5b8e7295", size = 163647, upload-time = "2024-09-21T17:33:35.841Z" }, - { url = "https://files.pythonhosted.org/packages/de/df/2ebebb807f10993c35c10cbd3628a7944b66bd5fb6632a561f8666f3a68e/websockets-13.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:6d6855bbe70119872c05107e38fbc7f96b1d8cb047d95c2c50869a46c65a8e96", size = 163590, upload-time = "2024-09-21T17:33:37.61Z" }, - { url = "https://files.pythonhosted.org/packages/b5/82/d48911f56bb993c11099a1ff1d4041d9d1481d50271100e8ee62bc28f365/websockets-13.1-cp38-cp38-win32.whl", hash = "sha256:204e5107f43095012b00f1451374693267adbb832d29966a01ecc4ce1db26faf", size = 158701, upload-time = "2024-09-21T17:33:38.695Z" }, - { url = "https://files.pythonhosted.org/packages/8b/b3/945aacb21fc89ad150403cbaa974c9e846f098f16d9f39a3dd6094f9beb1/websockets-13.1-cp38-cp38-win_amd64.whl", hash = "sha256:485307243237328c022bc908b90e4457d0daa8b5cf4b3723fd3c4a8012fce4c6", size = 159146, upload-time = "2024-09-21T17:33:39.855Z" }, - { url = "https://files.pythonhosted.org/packages/61/26/5f7a7fb03efedb4f90ed61968338bfe7c389863b0ceda239b94ae61c5ae4/websockets-13.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9b37c184f8b976f0c0a231a5f3d6efe10807d41ccbe4488df8c74174805eea7d", size = 157810, upload-time = "2024-09-21T17:33:40.94Z" }, - { url = "https://files.pythonhosted.org/packages/0e/d4/9b4814a07dffaa7a79d71b4944d10836f9adbd527a113f6675734ef3abed/websockets-13.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:163e7277e1a0bd9fb3c8842a71661ad19c6aa7bb3d6678dc7f89b17fbcc4aeb7", size = 155467, upload-time = "2024-09-21T17:33:42.075Z" }, - { url = "https://files.pythonhosted.org/packages/1a/1a/2abdc7ce3b56429ae39d6bfb48d8c791f5a26bbcb6f44aabcf71ffc3fda2/websockets-13.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4b889dbd1342820cc210ba44307cf75ae5f2f96226c0038094455a96e64fb07a", size = 155714, upload-time = "2024-09-21T17:33:43.128Z" }, - { url = "https://files.pythonhosted.org/packages/2a/98/189d7cf232753a719b2726ec55e7922522632248d5d830adf078e3f612be/websockets-13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:586a356928692c1fed0eca68b4d1c2cbbd1ca2acf2ac7e7ebd3b9052582deefa", size = 164587, upload-time = "2024-09-21T17:33:44.27Z" }, - { url = "https://files.pythonhosted.org/packages/a5/2b/fb77cedf3f9f55ef8605238c801eef6b9a5269b01a396875a86896aea3a6/websockets-13.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7bd6abf1e070a6b72bfeb71049d6ad286852e285f146682bf30d0296f5fbadfa", size = 163588, upload-time = "2024-09-21T17:33:45.38Z" }, - { url = "https://files.pythonhosted.org/packages/a3/b7/070481b83d2d5ac0f19233d9f364294e224e6478b0762f07fa7f060e0619/websockets-13.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d2aad13a200e5934f5a6767492fb07151e1de1d6079c003ab31e1823733ae79", size = 163894, upload-time = "2024-09-21T17:33:46.651Z" }, - { url = "https://files.pythonhosted.org/packages/eb/be/d6e1cff7d441cfe5eafaacc5935463e5f14c8b1c0d39cb8afde82709b55a/websockets-13.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:df01aea34b6e9e33572c35cd16bae5a47785e7d5c8cb2b54b2acdb9678315a17", size = 164315, upload-time = "2024-09-21T17:33:48.432Z" }, - { url = "https://files.pythonhosted.org/packages/8b/5e/ffa234473e46ab2d3f9fd9858163d5db3ecea1439e4cb52966d78906424b/websockets-13.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:e54affdeb21026329fb0744ad187cf812f7d3c2aa702a5edb562b325191fcab6", size = 163714, upload-time = "2024-09-21T17:33:49.548Z" }, - { url = "https://files.pythonhosted.org/packages/cc/92/cea9eb9d381ca57065a5eb4ec2ce7a291bd96c85ce742915c3c9ffc1069f/websockets-13.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:9ef8aa8bdbac47f4968a5d66462a2a0935d044bf35c0e5a8af152d58516dbeb5", size = 163673, upload-time = "2024-09-21T17:33:51.056Z" }, - { url = "https://files.pythonhosted.org/packages/a4/f1/279104fff239bfd04c12b1e58afea227d72fd1acf431e3eed3f6ac2c96d2/websockets-13.1-cp39-cp39-win32.whl", hash = "sha256:deeb929efe52bed518f6eb2ddc00cc496366a14c726005726ad62c2dd9017a3c", size = 158702, upload-time = "2024-09-21T17:33:52.584Z" }, - { url = "https://files.pythonhosted.org/packages/25/0b/b87370ff141375c41f7dd67941728e4b3682ebb45882591516c792a2ebee/websockets-13.1-cp39-cp39-win_amd64.whl", hash = "sha256:7c65ffa900e7cc958cd088b9a9157a8141c991f8c53d11087e6fb7277a03f81d", size = 159146, upload-time = "2024-09-21T17:33:53.781Z" }, - { url = "https://files.pythonhosted.org/packages/2d/75/6da22cb3ad5b8c606963f9a5f9f88656256fecc29d420b4b2bf9e0c7d56f/websockets-13.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5dd6da9bec02735931fccec99d97c29f47cc61f644264eb995ad6c0c27667238", size = 155499, upload-time = "2024-09-21T17:33:54.917Z" }, - { url = "https://files.pythonhosted.org/packages/c0/ba/22833d58629088fcb2ccccedfae725ac0bbcd713319629e97125b52ac681/websockets-13.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:2510c09d8e8df777177ee3d40cd35450dc169a81e747455cc4197e63f7e7bfe5", size = 155737, upload-time = "2024-09-21T17:33:56.052Z" }, - { url = "https://files.pythonhosted.org/packages/95/54/61684fe22bdb831e9e1843d972adadf359cf04ab8613285282baea6a24bb/websockets-13.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f1c3cf67185543730888b20682fb186fc8d0fa6f07ccc3ef4390831ab4b388d9", size = 157095, upload-time = "2024-09-21T17:33:57.21Z" }, - { url = "https://files.pythonhosted.org/packages/fc/f5/6652fb82440813822022a9301a30afde85e5ff3fb2aebb77f34aabe2b4e8/websockets-13.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bcc03c8b72267e97b49149e4863d57c2d77f13fae12066622dc78fe322490fe6", size = 156701, upload-time = "2024-09-21T17:33:59.061Z" }, - { url = "https://files.pythonhosted.org/packages/67/33/ae82a7b860fa8a08aba68818bdf7ff61f04598aa5ab96df4cd5a3e418ca4/websockets-13.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:004280a140f220c812e65f36944a9ca92d766b6cc4560be652a0a3883a79ed8a", size = 156654, upload-time = "2024-09-21T17:34:00.944Z" }, - { url = "https://files.pythonhosted.org/packages/63/0b/a1b528d36934f833e20f6da1032b995bf093d55cb416b9f2266f229fb237/websockets-13.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:e2620453c075abeb0daa949a292e19f56de518988e079c36478bacf9546ced23", size = 159192, upload-time = "2024-09-21T17:34:02.656Z" }, - { url = "https://files.pythonhosted.org/packages/5e/a1/5ae6d0ef2e61e2b77b3b4678949a634756544186620a728799acdf5c3482/websockets-13.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:9156c45750b37337f7b0b00e6248991a047be4aa44554c9886fe6bdd605aab3b", size = 155433, upload-time = "2024-09-21T17:34:03.88Z" }, - { url = "https://files.pythonhosted.org/packages/0d/2f/addd33f85600d210a445f817ff0d79d2b4d0eb6f3c95b9f35531ebf8f57c/websockets-13.1-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:80c421e07973a89fbdd93e6f2003c17d20b69010458d3a8e37fb47874bd67d51", size = 155733, upload-time = "2024-09-21T17:34:05.173Z" }, - { url = "https://files.pythonhosted.org/packages/74/0b/f8ec74ac3b14a983289a1b42dc2c518a0e2030b486d0549d4f51ca11e7c9/websockets-13.1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82d0ba76371769d6a4e56f7e83bb8e81846d17a6190971e38b5de108bde9b0d7", size = 157093, upload-time = "2024-09-21T17:34:06.398Z" }, - { url = "https://files.pythonhosted.org/packages/ad/4c/aa5cc2f718ee4d797411202f332c8281f04c42d15f55b02f7713320f7a03/websockets-13.1-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e9875a0143f07d74dc5e1ded1c4581f0d9f7ab86c78994e2ed9e95050073c94d", size = 156701, upload-time = "2024-09-21T17:34:07.582Z" }, - { url = "https://files.pythonhosted.org/packages/1f/4b/7c5b2d0d0f0f1a54f27c60107cf1f201bee1f88c5508f87408b470d09a9c/websockets-13.1-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a11e38ad8922c7961447f35c7b17bffa15de4d17c70abd07bfbe12d6faa3e027", size = 156648, upload-time = "2024-09-21T17:34:08.734Z" }, - { url = "https://files.pythonhosted.org/packages/f3/63/35f3fb073884a9fd1ce5413b2dcdf0d9198b03dac6274197111259cbde06/websockets-13.1-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:4059f790b6ae8768471cddb65d3c4fe4792b0ab48e154c9f0a04cefaabcd5978", size = 159188, upload-time = "2024-09-21T17:34:10.018Z" }, - { url = "https://files.pythonhosted.org/packages/59/fd/e4bf9a7159dba6a16c59ae9e670e3e8ad9dcb6791bc0599eb86de32d50a9/websockets-13.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:25c35bf84bf7c7369d247f0b8cfa157f989862c49104c5cf85cb5436a641d93e", size = 155499, upload-time = "2024-09-21T17:34:11.3Z" }, - { url = "https://files.pythonhosted.org/packages/74/42/d48ede93cfe0c343f3b552af08efc60778d234989227b16882eed1b8b189/websockets-13.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:83f91d8a9bb404b8c2c41a707ac7f7f75b9442a0a876df295de27251a856ad09", size = 155731, upload-time = "2024-09-21T17:34:13.151Z" }, - { url = "https://files.pythonhosted.org/packages/f6/f2/2ef6bff1c90a43b80622a17c0852b48c09d3954ab169266ad7b15e17cdcb/websockets-13.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7a43cfdcddd07f4ca2b1afb459824dd3c6d53a51410636a2c7fc97b9a8cf4842", size = 157093, upload-time = "2024-09-21T17:34:14.52Z" }, - { url = "https://files.pythonhosted.org/packages/d1/14/6f20bbaeeb350f155edf599aad949c554216f90e5d4ae7373d1f2e5931fb/websockets-13.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:48a2ef1381632a2f0cb4efeff34efa97901c9fbc118e01951ad7cfc10601a9bb", size = 156701, upload-time = "2024-09-21T17:34:15.692Z" }, - { url = "https://files.pythonhosted.org/packages/c7/86/38279dfefecd035e22b79c38722d4f87c4b6196f1556b7a631d0a3095ca7/websockets-13.1-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:459bf774c754c35dbb487360b12c5727adab887f1622b8aed5755880a21c4a20", size = 156649, upload-time = "2024-09-21T17:34:17.335Z" }, - { url = "https://files.pythonhosted.org/packages/f6/c5/12c6859a2eaa8c53f59a647617a27f1835a226cd7106c601067c53251d98/websockets-13.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:95858ca14a9f6fa8413d29e0a585b31b278388aa775b8a81fa24830123874678", size = 159187, upload-time = "2024-09-21T17:34:18.538Z" }, - { url = "https://files.pythonhosted.org/packages/56/27/96a5cd2626d11c8280656c6c71d8ab50fe006490ef9971ccd154e0c42cd2/websockets-13.1-py3-none-any.whl", hash = "sha256:a9a396a6ad26130cdae92ae10c36af09d9bfe6cafe69670fd3b6da9b07b4044f", size = 152134, upload-time = "2024-09-21T17:34:19.904Z" }, -] - [[package]] name = "websockets" version = "15.0.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] sdist = { url = "https://files.pythonhosted.org/packages/21/e6/26d09fab466b7ca9c7737474c52be4f76a40301b08362eb2dbc19dcc16c1/websockets-15.0.1.tar.gz", hash = "sha256:82544de02076bafba038ce055ee6412d68da13ab47f0c60cab827346de828dee", size = 177016, upload-time = "2025-03-05T20:03:41.606Z" } wheels = [ { url = "https://files.pythonhosted.org/packages/1e/da/6462a9f510c0c49837bbc9345aca92d767a56c1fb2939e1579df1e1cdcf7/websockets-15.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d63efaa0cd96cf0c5fe4d581521d9fa87744540d4bc999ae6e08595a1014b45b", size = 175423, upload-time = "2025-03-05T20:01:35.363Z" }, @@ -5005,22 +3205,12 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/fa/a8/5b41e0da817d64113292ab1f8247140aac61cbf6cfd085d6a0fa77f4984f/websockets-15.0.1-py3-none-any.whl", hash = "sha256:f7a866fbc1e97b5c617ee4116daaa09b722101d4a3c170c787450ba409f9736f", size = 169743, upload-time = "2025-03-05T20:03:39.41Z" }, ] -[[package]] -name = "wheel" -version = "0.45.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8a/98/2d9906746cdc6a6ef809ae6338005b3f21bb568bea3165cfc6a243fdc25c/wheel-0.45.1.tar.gz", hash = "sha256:661e1abd9198507b1409a20c02106d9670b2576e916d58f520316666abca6729", size = 107545, upload-time = "2024-11-23T00:18:23.513Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0b/2c/87f3254fd8ffd29e4c02732eee68a83a1d3c346ae39bc6822dcbcb697f2b/wheel-0.45.1-py3-none-any.whl", hash = "sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248", size = 72494, upload-time = "2024-11-23T00:18:21.207Z" }, -] - [[package]] name = "wrapt" version = "1.17.3" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version == '3.9.*'", - "python_full_version < '3.9'", + "python_full_version < '3.10'", ] sdist = { url = "https://files.pythonhosted.org/packages/95/8f/aeb76c5b46e273670962298c23e7ddde79916cb74db802131d49a85e4b7d/wrapt-1.17.3.tar.gz", hash = "sha256:f66eb08feaa410fe4eebd17f2a2c8e2e46d3476e9f8c783daa8e09e0faa666d0", size = 55547, upload-time = "2025-08-12T05:53:21.714Z" } wheels = [ @@ -5084,15 +3274,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/be/44/a1bd64b723d13bb151d6cc91b986146a1952385e0392a78567e12149c7b4/wrapt-1.17.3-cp314-cp314t-win32.whl", hash = "sha256:41b1d2bc74c2cac6f9074df52b2efbef2b30bdfe5f40cb78f8ca22963bc62977", size = 38717, upload-time = "2025-08-12T05:53:15.214Z" }, { url = "https://files.pythonhosted.org/packages/79/d9/7cfd5a312760ac4dd8bf0184a6ee9e43c33e47f3dadc303032ce012b8fa3/wrapt-1.17.3-cp314-cp314t-win_amd64.whl", hash = "sha256:73d496de46cd2cdbdbcce4ae4bcdb4afb6a11234a1df9c085249d55166b95116", size = 41334, upload-time = "2025-08-12T05:53:14.178Z" }, { url = "https://files.pythonhosted.org/packages/46/78/10ad9781128ed2f99dbc474f43283b13fea8ba58723e98844367531c18e9/wrapt-1.17.3-cp314-cp314t-win_arm64.whl", hash = "sha256:f38e60678850c42461d4202739f9bf1e3a737c7ad283638251e79cc49effb6b6", size = 38471, upload-time = "2025-08-12T05:52:57.784Z" }, - { url = "https://files.pythonhosted.org/packages/74/2b/035dfac90dcf051e892d777c0921a979047f9fba8ad47555957c06bca89d/wrapt-1.17.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:70d86fa5197b8947a2fa70260b48e400bf2ccacdcab97bb7de47e3d1e6312225", size = 53237, upload-time = "2025-08-12T05:51:52.096Z" }, - { url = "https://files.pythonhosted.org/packages/b3/85/af1173e9ca8e5bd30371c2367fed2f02e07d0a41869adfd8ce0e2dac25e0/wrapt-1.17.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:df7d30371a2accfe4013e90445f6388c570f103d61019b6b7c57e0265250072a", size = 38469, upload-time = "2025-08-12T05:51:41.418Z" }, - { url = "https://files.pythonhosted.org/packages/6a/b1/cbe84085aa5a8decf9bd4af53159e64270110781b810f3df7fa5672a2b1a/wrapt-1.17.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:caea3e9c79d5f0d2c6d9ab96111601797ea5da8e6d0723f77eabb0d4068d2b2f", size = 38728, upload-time = "2025-08-12T05:52:01.704Z" }, - { url = "https://files.pythonhosted.org/packages/f5/69/f1353697728dab653f1d4267c4a5d4448f1d8cf1f5dda5b4ffbcf2d68904/wrapt-1.17.3-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:758895b01d546812d1f42204bd443b8c433c44d090248bf22689df673ccafe00", size = 84873, upload-time = "2025-08-12T05:52:47.077Z" }, - { url = "https://files.pythonhosted.org/packages/94/7f/681648d484ba20d8bde8e128f84775439ff15c0c2bb4a98fb3dd15c3dc16/wrapt-1.17.3-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:02b551d101f31694fc785e58e0720ef7d9a10c4e62c1c9358ce6f63f23e30a56", size = 85962, upload-time = "2025-08-12T05:52:25.127Z" }, - { url = "https://files.pythonhosted.org/packages/bd/ba/656e1a9fd72d5b0110e86eeafb51ed4e2b1fab83f5ceb933315b3b13bb4b/wrapt-1.17.3-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:656873859b3b50eeebe6db8b1455e99d90c26ab058db8e427046dbc35c3140a5", size = 84277, upload-time = "2025-08-12T05:52:26.208Z" }, - { url = "https://files.pythonhosted.org/packages/21/25/2f16a3f05a465a29675c7ce835e87e34525d5f302b52f7ba4d5665b25697/wrapt-1.17.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:a9a2203361a6e6404f80b99234fe7fb37d1fc73487b5a78dc1aa5b97201e0f22", size = 83790, upload-time = "2025-08-12T05:52:48.107Z" }, - { url = "https://files.pythonhosted.org/packages/3f/2e/488624ef15112dd5f4e5706e48dd8b493155b1887b6c8f92c08c17d55431/wrapt-1.17.3-cp38-cp38-win32.whl", hash = "sha256:55cbbc356c2842f39bcc553cf695932e8b30e30e797f961860afb308e6b1bb7c", size = 36399, upload-time = "2025-08-12T05:53:17.249Z" }, - { url = "https://files.pythonhosted.org/packages/44/13/dc0dfdc88f84d70ee4cc3a5a9a8088e6ce6cb47ecf7665daec82220367e9/wrapt-1.17.3-cp38-cp38-win_amd64.whl", hash = "sha256:ad85e269fe54d506b240d2d7b9f5f2057c2aa9a2ea5b32c66f8902f768117ed2", size = 38681, upload-time = "2025-08-12T05:53:16.239Z" }, { url = "https://files.pythonhosted.org/packages/41/be/be9b3b0a461ee3e30278706f3f3759b9b69afeedef7fe686036286c04ac6/wrapt-1.17.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:30ce38e66630599e1193798285706903110d4f057aab3168a34b7fdc85569afc", size = 53485, upload-time = "2025-08-12T05:51:53.11Z" }, { url = "https://files.pythonhosted.org/packages/b3/a8/8f61d6b8f526efc8c10e12bf80b4206099fea78ade70427846a37bc9cbea/wrapt-1.17.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:65d1d00fbfb3ea5f20add88bbc0f815150dbbde3b026e6c24759466c8b5a9ef9", size = 38675, upload-time = "2025-08-12T05:51:42.885Z" }, { url = "https://files.pythonhosted.org/packages/48/f1/23950c29a25637b74b322f9e425a17cc01a478f6afb35138ecb697f9558d/wrapt-1.17.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a7c06742645f914f26c7f1fa47b8bc4c91d222f76ee20116c43d5ef0912bba2d", size = 38956, upload-time = "2025-08-12T05:52:03.149Z" }, @@ -5111,8 +3292,7 @@ name = "wrapt" version = "2.0.1" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", + "python_full_version >= '3.11'", "python_full_version == '3.10.*'", ] sdist = { url = "https://files.pythonhosted.org/packages/49/2a/6de8a50cb435b7f42c46126cf1a54b2aab81784e74c8595c8e025e8f36d3/wrapt-2.0.1.tar.gz", hash = "sha256:9c9c635e78497cacb81e84f8b11b23e0aacac7a136e73b8e5b2109a1d9fc468f", size = 82040, upload-time = "2025-11-07T00:45:33.312Z" } @@ -5201,15 +3381,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/1d/f6/a1de4bd3653afdf91d250ca5c721ee51195df2b61a4603d4b373aa804d1d/wrapt-2.0.1-cp314-cp314t-win32.whl", hash = "sha256:be9e84e91d6497ba62594158d3d31ec0486c60055c49179edc51ee43d095f79c", size = 60609, upload-time = "2025-11-07T00:45:03.315Z" }, { url = "https://files.pythonhosted.org/packages/01/3a/07cd60a9d26fe73efead61c7830af975dfdba8537632d410462672e4432b/wrapt-2.0.1-cp314-cp314t-win_amd64.whl", hash = "sha256:61c4956171c7434634401db448371277d07032a81cc21c599c22953374781395", size = 64038, upload-time = "2025-11-07T00:45:00.948Z" }, { url = "https://files.pythonhosted.org/packages/41/99/8a06b8e17dddbf321325ae4eb12465804120f699cd1b8a355718300c62da/wrapt-2.0.1-cp314-cp314t-win_arm64.whl", hash = "sha256:35cdbd478607036fee40273be8ed54a451f5f23121bd9d4be515158f9498f7ad", size = 60634, upload-time = "2025-11-07T00:45:02.087Z" }, - { url = "https://files.pythonhosted.org/packages/4d/26/ed6979672ebe0e33f6059fdc8182c4c536e575b6f03d349a542082ca03fb/wrapt-2.0.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:90897ea1cf0679763b62e79657958cd54eae5659f6360fc7d2ccc6f906342183", size = 77192, upload-time = "2025-11-07T00:45:04.493Z" }, - { url = "https://files.pythonhosted.org/packages/b5/a5/fb0974e8d21ef17f75ffa365b395c04eefa23eb6e45548e94c781e93c306/wrapt-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:50844efc8cdf63b2d90cd3d62d4947a28311e6266ce5235a219d21b195b4ec2c", size = 60475, upload-time = "2025-11-07T00:45:05.671Z" }, - { url = "https://files.pythonhosted.org/packages/6b/7b/56bf38c8bd5e8a48749f1a13c743eddcbd7a616da342b4877f79ec3e7087/wrapt-2.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:49989061a9977a8cbd6d20f2efa813f24bf657c6990a42967019ce779a878dbf", size = 61311, upload-time = "2025-11-07T00:45:06.822Z" }, - { url = "https://files.pythonhosted.org/packages/18/70/ba94af50f2145cb431163d74d405083beb16782818b20c956138e4f59299/wrapt-2.0.1-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:09c7476ab884b74dce081ad9bfd07fe5822d8600abade571cb1f66d5fc915af6", size = 118542, upload-time = "2025-11-07T00:45:08.324Z" }, - { url = "https://files.pythonhosted.org/packages/14/ac/537c8f9cec8a422cfed45b28665ea33344928fd67913e5ff98af0c11470c/wrapt-2.0.1-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d1a8a09a004ef100e614beec82862d11fc17d601092c3599afd22b1f36e4137e", size = 120989, upload-time = "2025-11-07T00:45:09.928Z" }, - { url = "https://files.pythonhosted.org/packages/7f/b8/463284d8a74e56c88f5f2fb9b572178a294e0beb945b8ee2a7ca43a1696d/wrapt-2.0.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:89a82053b193837bf93c0f8a57ded6e4b6d88033a499dadff5067e912c2a41e9", size = 118937, upload-time = "2025-11-07T00:45:11.157Z" }, - { url = "https://files.pythonhosted.org/packages/3c/8e/08b8f9de6b3cfd269504b345d31679d283e50cc93cb0521a44475bb7311b/wrapt-2.0.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:f26f8e2ca19564e2e1fdbb6a0e47f36e0efbab1acc31e15471fad88f828c75f6", size = 117150, upload-time = "2025-11-07T00:45:12.324Z" }, - { url = "https://files.pythonhosted.org/packages/4c/f3/0eab878bb4d0eadbec2b75e399cfa6aa802e634587756d59419080aae1f5/wrapt-2.0.1-cp38-cp38-win32.whl", hash = "sha256:115cae4beed3542e37866469a8a1f2b9ec549b4463572b000611e9946b86e6f6", size = 57936, upload-time = "2025-11-07T00:45:15.468Z" }, - { url = "https://files.pythonhosted.org/packages/03/e5/fc964b370bf568312deda176682138ccbd41960285a7de49002183e2aa08/wrapt-2.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:c4012a2bd37059d04f8209916aa771dfb564cccb86079072bdcd48a308b6a5c5", size = 60308, upload-time = "2025-11-07T00:45:13.573Z" }, { url = "https://files.pythonhosted.org/packages/c6/1f/5af0ae22368ec69067a577f9e07a0dd2619a1f63aabc2851263679942667/wrapt-2.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:68424221a2dc00d634b54f92441914929c5ffb1c30b3b837343978343a3512a3", size = 77478, upload-time = "2025-11-07T00:45:16.65Z" }, { url = "https://files.pythonhosted.org/packages/8c/b7/fd6b563aada859baabc55db6aa71b8afb4a3ceb8bc33d1053e4c7b5e0109/wrapt-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6bd1a18f5a797fe740cb3d7a0e853a8ce6461cc62023b630caec80171a6b8097", size = 60687, upload-time = "2025-11-07T00:45:17.896Z" }, { url = "https://files.pythonhosted.org/packages/0f/8c/9ededfff478af396bcd081076986904bdca336d9664d247094150c877dcb/wrapt-2.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fb3a86e703868561c5cad155a15c36c716e1ab513b7065bd2ac8ed353c503333", size = 61563, upload-time = "2025-11-07T00:45:19.109Z" }, @@ -5226,132 +3397,26 @@ wheels = [ ] [[package]] -name = "yarl" -version = "1.15.2" +name = "yamllint" +version = "1.37.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.9'", -] dependencies = [ - { name = "idna", marker = "python_full_version < '3.9'" }, - { name = "multidict", version = "6.1.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, - { name = "propcache", version = "0.2.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.9'" }, + { name = "pathspec" }, + { name = "pyyaml" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/06/e1/d5427a061819c9f885f58bb0467d02a523f1aec19f9e5f9c82ce950d90d3/yarl-1.15.2.tar.gz", hash = "sha256:a39c36f4218a5bb668b4f06874d676d35a035ee668e6e7e3538835c703634b84", size = 169318, upload-time = "2024-10-13T18:48:04.311Z" } +sdist = { url = "https://files.pythonhosted.org/packages/46/f2/cd8b7584a48ee83f0bc94f8a32fea38734cefcdc6f7324c4d3bfc699457b/yamllint-1.37.1.tar.gz", hash = "sha256:81f7c0c5559becc8049470d86046b36e96113637bcbe4753ecef06977c00245d", size = 141613, upload-time = "2025-05-04T08:25:54.355Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/61/f8/6b1bbc6f597d8937ad8661c042aa6bdbbe46a3a6e38e2c04214b9c82e804/yarl-1.15.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e4ee8b8639070ff246ad3649294336b06db37a94bdea0d09ea491603e0be73b8", size = 136479, upload-time = "2024-10-13T18:44:32.077Z" }, - { url = "https://files.pythonhosted.org/packages/61/e0/973c0d16b1cb710d318b55bd5d019a1ecd161d28670b07d8d9df9a83f51f/yarl-1.15.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a7cf963a357c5f00cb55b1955df8bbe68d2f2f65de065160a1c26b85a1e44172", size = 88671, upload-time = "2024-10-13T18:44:35.334Z" }, - { url = "https://files.pythonhosted.org/packages/16/df/241cfa1cf33b96da2c8773b76fe3ee58e04cb09ecfe794986ec436ae97dc/yarl-1.15.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:43ebdcc120e2ca679dba01a779333a8ea76b50547b55e812b8b92818d604662c", size = 86578, upload-time = "2024-10-13T18:44:37.58Z" }, - { url = "https://files.pythonhosted.org/packages/02/a4/ee2941d1f93600d921954a0850e20581159772304e7de49f60588e9128a2/yarl-1.15.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3433da95b51a75692dcf6cc8117a31410447c75a9a8187888f02ad45c0a86c50", size = 307212, upload-time = "2024-10-13T18:44:39.932Z" }, - { url = "https://files.pythonhosted.org/packages/08/64/2e6561af430b092b21c7a867ae3079f62e1532d3e51fee765fd7a74cef6c/yarl-1.15.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:38d0124fa992dbacd0c48b1b755d3ee0a9f924f427f95b0ef376556a24debf01", size = 321589, upload-time = "2024-10-13T18:44:42.527Z" }, - { url = "https://files.pythonhosted.org/packages/f8/af/056ab318a7117fa70f6ab502ff880e47af973948d1d123aff397cd68499c/yarl-1.15.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ded1b1803151dd0f20a8945508786d57c2f97a50289b16f2629f85433e546d47", size = 319443, upload-time = "2024-10-13T18:44:45.03Z" }, - { url = "https://files.pythonhosted.org/packages/99/d1/051b0bc2c90c9a2618bab10a9a9a61a96ddb28c7c54161a5c97f9e625205/yarl-1.15.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ace4cad790f3bf872c082366c9edd7f8f8f77afe3992b134cfc810332206884f", size = 310324, upload-time = "2024-10-13T18:44:47.675Z" }, - { url = "https://files.pythonhosted.org/packages/23/1b/16df55016f9ac18457afda165031086bce240d8bcf494501fb1164368617/yarl-1.15.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c77494a2f2282d9bbbbcab7c227a4d1b4bb829875c96251f66fb5f3bae4fb053", size = 300428, upload-time = "2024-10-13T18:44:49.431Z" }, - { url = "https://files.pythonhosted.org/packages/83/a5/5188d1c575139a8dfd90d463d56f831a018f41f833cdf39da6bd8a72ee08/yarl-1.15.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b7f227ca6db5a9fda0a2b935a2ea34a7267589ffc63c8045f0e4edb8d8dcf956", size = 307079, upload-time = "2024-10-13T18:44:51.96Z" }, - { url = "https://files.pythonhosted.org/packages/ba/4e/2497f8f2b34d1a261bebdbe00066242eacc9a7dccd4f02ddf0995014290a/yarl-1.15.2-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:31561a5b4d8dbef1559b3600b045607cf804bae040f64b5f5bca77da38084a8a", size = 305835, upload-time = "2024-10-13T18:44:53.83Z" }, - { url = "https://files.pythonhosted.org/packages/91/db/40a347e1f8086e287a53c72dc333198816885bc770e3ecafcf5eaeb59311/yarl-1.15.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:3e52474256a7db9dcf3c5f4ca0b300fdea6c21cca0148c8891d03a025649d935", size = 311033, upload-time = "2024-10-13T18:44:56.464Z" }, - { url = "https://files.pythonhosted.org/packages/2f/a6/1500e1e694616c25eed6bf8c1aacc0943f124696d2421a07ae5e9ee101a5/yarl-1.15.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:0e1af74a9529a1137c67c887ed9cde62cff53aa4d84a3adbec329f9ec47a3936", size = 326317, upload-time = "2024-10-13T18:44:59.015Z" }, - { url = "https://files.pythonhosted.org/packages/37/db/868d4b59cc76932ce880cc9946cd0ae4ab111a718494a94cb50dd5b67d82/yarl-1.15.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:15c87339490100c63472a76d87fe7097a0835c705eb5ae79fd96e343473629ed", size = 324196, upload-time = "2024-10-13T18:45:00.772Z" }, - { url = "https://files.pythonhosted.org/packages/bd/41/b6c917c2fde2601ee0b45c82a0c502dc93e746dea469d3a6d1d0a24749e8/yarl-1.15.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:74abb8709ea54cc483c4fb57fb17bb66f8e0f04438cff6ded322074dbd17c7ec", size = 317023, upload-time = "2024-10-13T18:45:03.427Z" }, - { url = "https://files.pythonhosted.org/packages/b0/85/2cde6b656fd83c474f19606af3f7a3e94add8988760c87a101ee603e7b8f/yarl-1.15.2-cp310-cp310-win32.whl", hash = "sha256:ffd591e22b22f9cb48e472529db6a47203c41c2c5911ff0a52e85723196c0d75", size = 78136, upload-time = "2024-10-13T18:45:05.173Z" }, - { url = "https://files.pythonhosted.org/packages/ef/3c/4414901b0588427870002b21d790bd1fad142a9a992a22e5037506d0ed9d/yarl-1.15.2-cp310-cp310-win_amd64.whl", hash = "sha256:1695497bb2a02a6de60064c9f077a4ae9c25c73624e0d43e3aa9d16d983073c2", size = 84231, upload-time = "2024-10-13T18:45:07.622Z" }, - { url = "https://files.pythonhosted.org/packages/4a/59/3ae125c97a2a8571ea16fdf59fcbd288bc169e0005d1af9946a90ea831d9/yarl-1.15.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9fcda20b2de7042cc35cf911702fa3d8311bd40055a14446c1e62403684afdc5", size = 136492, upload-time = "2024-10-13T18:45:09.962Z" }, - { url = "https://files.pythonhosted.org/packages/f9/2b/efa58f36b582db45b94c15e87803b775eb8a4ca0db558121a272e67f3564/yarl-1.15.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0545de8c688fbbf3088f9e8b801157923be4bf8e7b03e97c2ecd4dfa39e48e0e", size = 88614, upload-time = "2024-10-13T18:45:12.329Z" }, - { url = "https://files.pythonhosted.org/packages/82/69/eb73c0453a2ff53194df485dc7427d54e6cb8d1180fcef53251a8e24d069/yarl-1.15.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fbda058a9a68bec347962595f50546a8a4a34fd7b0654a7b9697917dc2bf810d", size = 86607, upload-time = "2024-10-13T18:45:13.88Z" }, - { url = "https://files.pythonhosted.org/packages/48/4e/89beaee3a4da0d1c6af1176d738cff415ff2ad3737785ee25382409fe3e3/yarl-1.15.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1ac2bc069f4a458634c26b101c2341b18da85cb96afe0015990507efec2e417", size = 334077, upload-time = "2024-10-13T18:45:16.217Z" }, - { url = "https://files.pythonhosted.org/packages/da/e8/8fcaa7552093f94c3f327783e2171da0eaa71db0c267510898a575066b0f/yarl-1.15.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cd126498171f752dd85737ab1544329a4520c53eed3997f9b08aefbafb1cc53b", size = 347365, upload-time = "2024-10-13T18:45:18.812Z" }, - { url = "https://files.pythonhosted.org/packages/be/fa/dc2002f82a89feab13a783d3e6b915a3a2e0e83314d9e3f6d845ee31bfcc/yarl-1.15.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3db817b4e95eb05c362e3b45dafe7144b18603e1211f4a5b36eb9522ecc62bcf", size = 344823, upload-time = "2024-10-13T18:45:20.644Z" }, - { url = "https://files.pythonhosted.org/packages/ae/c8/c4a00fe7f2aa6970c2651df332a14c88f8baaedb2e32d6c3b8c8a003ea74/yarl-1.15.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:076b1ed2ac819933895b1a000904f62d615fe4533a5cf3e052ff9a1da560575c", size = 337132, upload-time = "2024-10-13T18:45:22.487Z" }, - { url = "https://files.pythonhosted.org/packages/07/bf/84125f85f44bf2af03f3cf64e87214b42cd59dcc8a04960d610a9825f4d4/yarl-1.15.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f8cfd847e6b9ecf9f2f2531c8427035f291ec286c0a4944b0a9fce58c6446046", size = 326258, upload-time = "2024-10-13T18:45:25.049Z" }, - { url = "https://files.pythonhosted.org/packages/00/19/73ad8122b2fa73fe22e32c24b82a6c053cf6c73e2f649b73f7ef97bee8d0/yarl-1.15.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:32b66be100ac5739065496c74c4b7f3015cef792c3174982809274d7e51b3e04", size = 336212, upload-time = "2024-10-13T18:45:26.808Z" }, - { url = "https://files.pythonhosted.org/packages/39/1d/2fa4337d11f6587e9b7565f84eba549f2921494bc8b10bfe811079acaa70/yarl-1.15.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:34a2d76a1984cac04ff8b1bfc939ec9dc0914821264d4a9c8fd0ed6aa8d4cfd2", size = 330397, upload-time = "2024-10-13T18:45:29.112Z" }, - { url = "https://files.pythonhosted.org/packages/39/ab/dce75e06806bcb4305966471ead03ce639d8230f4f52c32bd614d820c044/yarl-1.15.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0afad2cd484908f472c8fe2e8ef499facee54a0a6978be0e0cff67b1254fd747", size = 334985, upload-time = "2024-10-13T18:45:31.709Z" }, - { url = "https://files.pythonhosted.org/packages/c1/98/3f679149347a5e34c952bf8f71a387bc96b3488fae81399a49f8b1a01134/yarl-1.15.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:c68e820879ff39992c7f148113b46efcd6ec765a4865581f2902b3c43a5f4bbb", size = 356033, upload-time = "2024-10-13T18:45:34.325Z" }, - { url = "https://files.pythonhosted.org/packages/f7/8c/96546061c19852d0a4b1b07084a58c2e8911db6bcf7838972cff542e09fb/yarl-1.15.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:98f68df80ec6ca3015186b2677c208c096d646ef37bbf8b49764ab4a38183931", size = 357710, upload-time = "2024-10-13T18:45:36.216Z" }, - { url = "https://files.pythonhosted.org/packages/01/45/ade6fb3daf689816ebaddb3175c962731edf300425c3254c559b6d0dcc27/yarl-1.15.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3c56ec1eacd0a5d35b8a29f468659c47f4fe61b2cab948ca756c39b7617f0aa5", size = 345532, upload-time = "2024-10-13T18:45:38.123Z" }, - { url = "https://files.pythonhosted.org/packages/e7/d7/8de800d3aecda0e64c43e8fc844f7effc8731a6099fa0c055738a2247504/yarl-1.15.2-cp311-cp311-win32.whl", hash = "sha256:eedc3f247ee7b3808ea07205f3e7d7879bc19ad3e6222195cd5fbf9988853e4d", size = 78250, upload-time = "2024-10-13T18:45:39.908Z" }, - { url = "https://files.pythonhosted.org/packages/3a/6c/69058bbcfb0164f221aa30e0cd1a250f6babb01221e27c95058c51c498ca/yarl-1.15.2-cp311-cp311-win_amd64.whl", hash = "sha256:0ccaa1bc98751fbfcf53dc8dfdb90d96e98838010fc254180dd6707a6e8bb179", size = 84492, upload-time = "2024-10-13T18:45:42.286Z" }, - { url = "https://files.pythonhosted.org/packages/e0/d1/17ff90e7e5b1a0b4ddad847f9ec6a214b87905e3a59d01bff9207ce2253b/yarl-1.15.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:82d5161e8cb8f36ec778fd7ac4d740415d84030f5b9ef8fe4da54784a1f46c94", size = 136721, upload-time = "2024-10-13T18:45:43.876Z" }, - { url = "https://files.pythonhosted.org/packages/44/50/a64ca0577aeb9507f4b672f9c833d46cf8f1e042ce2e80c11753b936457d/yarl-1.15.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fa2bea05ff0a8fb4d8124498e00e02398f06d23cdadd0fe027d84a3f7afde31e", size = 88954, upload-time = "2024-10-13T18:45:46.305Z" }, - { url = "https://files.pythonhosted.org/packages/c9/0a/a30d0b02046d4088c1fd32d85d025bd70ceb55f441213dee14d503694f41/yarl-1.15.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:99e12d2bf587b44deb74e0d6170fec37adb489964dbca656ec41a7cd8f2ff178", size = 86692, upload-time = "2024-10-13T18:45:47.992Z" }, - { url = "https://files.pythonhosted.org/packages/06/0b/7613decb8baa26cba840d7ea2074bd3c5e27684cbcb6d06e7840d6c5226c/yarl-1.15.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:243fbbbf003754fe41b5bdf10ce1e7f80bcc70732b5b54222c124d6b4c2ab31c", size = 325762, upload-time = "2024-10-13T18:45:49.69Z" }, - { url = "https://files.pythonhosted.org/packages/97/f5/b8c389a58d1eb08f89341fc1bbcc23a0341f7372185a0a0704dbdadba53a/yarl-1.15.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:856b7f1a7b98a8c31823285786bd566cf06226ac4f38b3ef462f593c608a9bd6", size = 335037, upload-time = "2024-10-13T18:45:51.932Z" }, - { url = "https://files.pythonhosted.org/packages/cb/f9/d89b93a7bb8b66e01bf722dcc6fec15e11946e649e71414fd532b05c4d5d/yarl-1.15.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:553dad9af802a9ad1a6525e7528152a015b85fb8dbf764ebfc755c695f488367", size = 334221, upload-time = "2024-10-13T18:45:54.548Z" }, - { url = "https://files.pythonhosted.org/packages/10/77/1db077601998e0831a540a690dcb0f450c31f64c492e993e2eaadfbc7d31/yarl-1.15.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:30c3ff305f6e06650a761c4393666f77384f1cc6c5c0251965d6bfa5fbc88f7f", size = 330167, upload-time = "2024-10-13T18:45:56.675Z" }, - { url = "https://files.pythonhosted.org/packages/3b/c2/e5b7121662fd758656784fffcff2e411c593ec46dc9ec68e0859a2ffaee3/yarl-1.15.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:353665775be69bbfc6d54c8d134bfc533e332149faeddd631b0bc79df0897f46", size = 317472, upload-time = "2024-10-13T18:45:58.815Z" }, - { url = "https://files.pythonhosted.org/packages/c6/f3/41e366c17e50782651b192ba06a71d53500cc351547816bf1928fb043c4f/yarl-1.15.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f4fe99ce44128c71233d0d72152db31ca119711dfc5f2c82385ad611d8d7f897", size = 330896, upload-time = "2024-10-13T18:46:01.126Z" }, - { url = "https://files.pythonhosted.org/packages/79/a2/d72e501bc1e33e68a5a31f584fe4556ab71a50a27bfd607d023f097cc9bb/yarl-1.15.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:9c1e3ff4b89cdd2e1a24c214f141e848b9e0451f08d7d4963cb4108d4d798f1f", size = 328787, upload-time = "2024-10-13T18:46:02.991Z" }, - { url = "https://files.pythonhosted.org/packages/9d/ba/890f7e1ea17f3c247748548eee876528ceb939e44566fa7d53baee57e5aa/yarl-1.15.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:711bdfae4e699a6d4f371137cbe9e740dc958530cb920eb6f43ff9551e17cfbc", size = 332631, upload-time = "2024-10-13T18:46:04.939Z" }, - { url = "https://files.pythonhosted.org/packages/48/c7/27b34206fd5dfe76b2caa08bf22f9212b2d665d5bb2df8a6dd3af498dcf4/yarl-1.15.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4388c72174868884f76affcdd3656544c426407e0043c89b684d22fb265e04a5", size = 344023, upload-time = "2024-10-13T18:46:06.809Z" }, - { url = "https://files.pythonhosted.org/packages/88/e7/730b130f4f02bd8b00479baf9a57fdea1dc927436ed1d6ba08fa5c36c68e/yarl-1.15.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:f0e1844ad47c7bd5d6fa784f1d4accc5f4168b48999303a868fe0f8597bde715", size = 352290, upload-time = "2024-10-13T18:46:08.676Z" }, - { url = "https://files.pythonhosted.org/packages/84/9b/e8dda28f91a0af67098cddd455e6b540d3f682dda4c0de224215a57dee4a/yarl-1.15.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a5cafb02cf097a82d74403f7e0b6b9df3ffbfe8edf9415ea816314711764a27b", size = 343742, upload-time = "2024-10-13T18:46:10.583Z" }, - { url = "https://files.pythonhosted.org/packages/66/47/b1c6bb85f2b66decbe189e27fcc956ab74670a068655df30ef9a2e15c379/yarl-1.15.2-cp312-cp312-win32.whl", hash = "sha256:156ececdf636143f508770bf8a3a0498de64da5abd890c7dbb42ca9e3b6c05b8", size = 78051, upload-time = "2024-10-13T18:46:12.671Z" }, - { url = "https://files.pythonhosted.org/packages/7d/9e/1a897e5248ec53e96e9f15b3e6928efd5e75d322c6cf666f55c1c063e5c9/yarl-1.15.2-cp312-cp312-win_amd64.whl", hash = "sha256:435aca062444a7f0c884861d2e3ea79883bd1cd19d0a381928b69ae1b85bc51d", size = 84313, upload-time = "2024-10-13T18:46:15.237Z" }, - { url = "https://files.pythonhosted.org/packages/46/ab/be3229898d7eb1149e6ba7fe44f873cf054d275a00b326f2a858c9ff7175/yarl-1.15.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:416f2e3beaeae81e2f7a45dc711258be5bdc79c940a9a270b266c0bec038fb84", size = 135006, upload-time = "2024-10-13T18:46:16.909Z" }, - { url = "https://files.pythonhosted.org/packages/10/10/b91c186b1b0e63951f80481b3e6879bb9f7179d471fe7c4440c9e900e2a3/yarl-1.15.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:173563f3696124372831007e3d4b9821746964a95968628f7075d9231ac6bb33", size = 88121, upload-time = "2024-10-13T18:46:18.702Z" }, - { url = "https://files.pythonhosted.org/packages/bf/1d/4ceaccf836b9591abfde775e84249b847ac4c6c14ee2dd8d15b5b3cede44/yarl-1.15.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9ce2e0f6123a60bd1a7f5ae3b2c49b240c12c132847f17aa990b841a417598a2", size = 85967, upload-time = "2024-10-13T18:46:20.354Z" }, - { url = "https://files.pythonhosted.org/packages/93/bd/c924f22bdb2c5d0ca03a9e64ecc5e041aace138c2a91afff7e2f01edc3a1/yarl-1.15.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eaea112aed589131f73d50d570a6864728bd7c0c66ef6c9154ed7b59f24da611", size = 325615, upload-time = "2024-10-13T18:46:22.057Z" }, - { url = "https://files.pythonhosted.org/packages/59/a5/6226accd5c01cafd57af0d249c7cf9dd12569cd9c78fbd93e8198e7a9d84/yarl-1.15.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e4ca3b9f370f218cc2a0309542cab8d0acdfd66667e7c37d04d617012485f904", size = 334945, upload-time = "2024-10-13T18:46:24.184Z" }, - { url = "https://files.pythonhosted.org/packages/4c/c1/cc6ccdd2bcd0ff7291602d5831754595260f8d2754642dfd34fef1791059/yarl-1.15.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:23ec1d3c31882b2a8a69c801ef58ebf7bae2553211ebbddf04235be275a38548", size = 336701, upload-time = "2024-10-13T18:46:27.038Z" }, - { url = "https://files.pythonhosted.org/packages/ef/ff/39a767ee249444e4b26ea998a526838238f8994c8f274befc1f94dacfb43/yarl-1.15.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75119badf45f7183e10e348edff5a76a94dc19ba9287d94001ff05e81475967b", size = 330977, upload-time = "2024-10-13T18:46:28.921Z" }, - { url = "https://files.pythonhosted.org/packages/dd/ba/b1fed73f9d39e3e7be8f6786be5a2ab4399c21504c9168c3cadf6e441c2e/yarl-1.15.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:78e6fdc976ec966b99e4daa3812fac0274cc28cd2b24b0d92462e2e5ef90d368", size = 317402, upload-time = "2024-10-13T18:46:30.86Z" }, - { url = "https://files.pythonhosted.org/packages/82/e8/03e3ebb7f558374f29c04868b20ca484d7997f80a0a191490790a8c28058/yarl-1.15.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:8657d3f37f781d987037f9cc20bbc8b40425fa14380c87da0cb8dfce7c92d0fb", size = 331776, upload-time = "2024-10-13T18:46:33.037Z" }, - { url = "https://files.pythonhosted.org/packages/1f/83/90b0f4fd1ecf2602ba4ac50ad0bbc463122208f52dd13f152bbc0d8417dd/yarl-1.15.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:93bed8a8084544c6efe8856c362af08a23e959340c87a95687fdbe9c9f280c8b", size = 331585, upload-time = "2024-10-13T18:46:35.275Z" }, - { url = "https://files.pythonhosted.org/packages/c7/f6/1ed7e7f270ae5f9f1174c1f8597b29658f552fee101c26de8b2eb4ca147a/yarl-1.15.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:69d5856d526802cbda768d3e6246cd0d77450fa2a4bc2ea0ea14f0d972c2894b", size = 336395, upload-time = "2024-10-13T18:46:38.003Z" }, - { url = "https://files.pythonhosted.org/packages/e0/3a/4354ed8812909d9ec54a92716a53259b09e6b664209231f2ec5e75f4820d/yarl-1.15.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:ccad2800dfdff34392448c4bf834be124f10a5bc102f254521d931c1c53c455a", size = 342810, upload-time = "2024-10-13T18:46:39.952Z" }, - { url = "https://files.pythonhosted.org/packages/de/cc/39e55e16b1415a87f6d300064965d6cfb2ac8571e11339ccb7dada2444d9/yarl-1.15.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:a880372e2e5dbb9258a4e8ff43f13888039abb9dd6d515f28611c54361bc5644", size = 351441, upload-time = "2024-10-13T18:46:41.867Z" }, - { url = "https://files.pythonhosted.org/packages/fb/19/5cd4757079dc9d9f3de3e3831719b695f709a8ce029e70b33350c9d082a7/yarl-1.15.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c998d0558805860503bc3a595994895ca0f7835e00668dadc673bbf7f5fbfcbe", size = 345875, upload-time = "2024-10-13T18:46:43.824Z" }, - { url = "https://files.pythonhosted.org/packages/83/a0/ef09b54634f73417f1ea4a746456a4372c1b044f07b26e16fa241bd2d94e/yarl-1.15.2-cp313-cp313-win32.whl", hash = "sha256:533a28754e7f7439f217550a497bb026c54072dbe16402b183fdbca2431935a9", size = 302609, upload-time = "2024-10-13T18:46:45.828Z" }, - { url = "https://files.pythonhosted.org/packages/20/9f/f39c37c17929d3975da84c737b96b606b68c495cc4ee86408f10523a1635/yarl-1.15.2-cp313-cp313-win_amd64.whl", hash = "sha256:5838f2b79dc8f96fdc44077c9e4e2e33d7089b10788464609df788eb97d03aad", size = 308252, upload-time = "2024-10-13T18:46:48.042Z" }, - { url = "https://files.pythonhosted.org/packages/7b/1f/544439ce6b7a498327d57ff40f0cd4f24bf4b1c1daf76c8c962dca022e71/yarl-1.15.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:fbbb63bed5fcd70cd3dd23a087cd78e4675fb5a2963b8af53f945cbbca79ae16", size = 138555, upload-time = "2024-10-13T18:46:50.448Z" }, - { url = "https://files.pythonhosted.org/packages/e8/b7/d6f33e7a42832f1e8476d0aabe089be0586a9110b5dfc2cef93444dc7c21/yarl-1.15.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:e2e93b88ecc8f74074012e18d679fb2e9c746f2a56f79cd5e2b1afcf2a8a786b", size = 89844, upload-time = "2024-10-13T18:46:52.297Z" }, - { url = "https://files.pythonhosted.org/packages/93/34/ede8d8ed7350b4b21e33fc4eff71e08de31da697034969b41190132d421f/yarl-1.15.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:af8ff8d7dc07ce873f643de6dfbcd45dc3db2c87462e5c387267197f59e6d776", size = 87671, upload-time = "2024-10-13T18:46:54.104Z" }, - { url = "https://files.pythonhosted.org/packages/fa/51/6d71e92bc54b5788b18f3dc29806f9ce37e12b7c610e8073357717f34b78/yarl-1.15.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:66f629632220a4e7858b58e4857927dd01a850a4cef2fb4044c8662787165cf7", size = 314558, upload-time = "2024-10-13T18:46:55.885Z" }, - { url = "https://files.pythonhosted.org/packages/76/0a/f9ffe503b4ef77cd77c9eefd37717c092e26f2c2dbbdd45700f864831292/yarl-1.15.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:833547179c31f9bec39b49601d282d6f0ea1633620701288934c5f66d88c3e50", size = 327622, upload-time = "2024-10-13T18:46:58.173Z" }, - { url = "https://files.pythonhosted.org/packages/8b/38/8eb602eeb153de0189d572dce4ed81b9b14f71de7c027d330b601b4fdcdc/yarl-1.15.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2aa738e0282be54eede1e3f36b81f1e46aee7ec7602aa563e81e0e8d7b67963f", size = 324447, upload-time = "2024-10-13T18:47:00.263Z" }, - { url = "https://files.pythonhosted.org/packages/c2/1e/1c78c695a4c7b957b5665e46a89ea35df48511dbed301a05c0a8beed0cc3/yarl-1.15.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9a13a07532e8e1c4a5a3afff0ca4553da23409fad65def1b71186fb867eeae8d", size = 319009, upload-time = "2024-10-13T18:47:02.417Z" }, - { url = "https://files.pythonhosted.org/packages/06/a0/7ea93de4ca1991e7f92a8901dcd1585165f547d342f7c6f36f1ea58b75de/yarl-1.15.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c45817e3e6972109d1a2c65091504a537e257bc3c885b4e78a95baa96df6a3f8", size = 307760, upload-time = "2024-10-13T18:47:04.553Z" }, - { url = "https://files.pythonhosted.org/packages/f4/b4/ceaa1f35cfb37fe06af3f7404438abf9a1262dc5df74dba37c90b0615e06/yarl-1.15.2-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:670eb11325ed3a6209339974b276811867defe52f4188fe18dc49855774fa9cf", size = 315038, upload-time = "2024-10-13T18:47:06.482Z" }, - { url = "https://files.pythonhosted.org/packages/da/45/a2ca2b547c56550eefc39e45d61e4b42ae6dbb3e913810b5a0eb53e86412/yarl-1.15.2-cp38-cp38-musllinux_1_2_armv7l.whl", hash = "sha256:d417a4f6943112fae3924bae2af7112562285848d9bcee737fc4ff7cbd450e6c", size = 312898, upload-time = "2024-10-13T18:47:09.291Z" }, - { url = "https://files.pythonhosted.org/packages/ea/e0/f692ba36dedc5b0b22084bba558a7ede053841e247b7dd2adbb9d40450be/yarl-1.15.2-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:bc8936d06cd53fddd4892677d65e98af514c8d78c79864f418bbf78a4a2edde4", size = 319370, upload-time = "2024-10-13T18:47:11.647Z" }, - { url = "https://files.pythonhosted.org/packages/b1/3f/0e382caf39958be6ae61d4bb0c82a68a3c45a494fc8cdc6f55c29757970e/yarl-1.15.2-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:954dde77c404084c2544e572f342aef384240b3e434e06cecc71597e95fd1ce7", size = 332429, upload-time = "2024-10-13T18:47:13.88Z" }, - { url = "https://files.pythonhosted.org/packages/21/6b/c824a4a1c45d67b15b431d4ab83b63462bfcbc710065902e10fa5c2ffd9e/yarl-1.15.2-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:5bc0df728e4def5e15a754521e8882ba5a5121bd6b5a3a0ff7efda5d6558ab3d", size = 333143, upload-time = "2024-10-13T18:47:16.141Z" }, - { url = "https://files.pythonhosted.org/packages/20/76/8af2a1d93fe95b04e284b5d55daaad33aae6e2f6254a1bcdb40e2752af6c/yarl-1.15.2-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:b71862a652f50babab4a43a487f157d26b464b1dedbcc0afda02fd64f3809d04", size = 326687, upload-time = "2024-10-13T18:47:18.179Z" }, - { url = "https://files.pythonhosted.org/packages/1c/53/490830773f907ef8a311cc5d82e5830f75f7692c1adacbdb731d3f1246fd/yarl-1.15.2-cp38-cp38-win32.whl", hash = "sha256:63eab904f8630aed5a68f2d0aeab565dcfc595dc1bf0b91b71d9ddd43dea3aea", size = 78705, upload-time = "2024-10-13T18:47:20.876Z" }, - { url = "https://files.pythonhosted.org/packages/9c/9d/d944e897abf37f50f4fa2d8d6f5fd0ed9413bc8327d3b4cc25ba9694e1ba/yarl-1.15.2-cp38-cp38-win_amd64.whl", hash = "sha256:2cf441c4b6e538ba0d2591574f95d3fdd33f1efafa864faa077d9636ecc0c4e9", size = 84998, upload-time = "2024-10-13T18:47:23.301Z" }, - { url = "https://files.pythonhosted.org/packages/91/1c/1c9d08c29b10499348eedc038cf61b6d96d5ba0e0d69438975845939ed3c/yarl-1.15.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a32d58f4b521bb98b2c0aa9da407f8bd57ca81f34362bcb090e4a79e9924fefc", size = 138011, upload-time = "2024-10-13T18:47:25.002Z" }, - { url = "https://files.pythonhosted.org/packages/d4/33/2d4a1418bae6d7883c1fcc493be7b6d6fe015919835adc9e8eeba472e9f7/yarl-1.15.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:766dcc00b943c089349d4060b935c76281f6be225e39994c2ccec3a2a36ad627", size = 89618, upload-time = "2024-10-13T18:47:27.587Z" }, - { url = "https://files.pythonhosted.org/packages/78/2e/0024c674a376cfdc722a167a8f308f5779aca615cb7a28d67fbeabf3f697/yarl-1.15.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:bed1b5dbf90bad3bfc19439258c97873eab453c71d8b6869c136346acfe497e7", size = 87347, upload-time = "2024-10-13T18:47:29.671Z" }, - { url = "https://files.pythonhosted.org/packages/c5/08/a01874dabd4ddf475c5c2adc86f7ac329f83a361ee513a97841720ab7b24/yarl-1.15.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed20a4bdc635f36cb19e630bfc644181dd075839b6fc84cac51c0f381ac472e2", size = 310438, upload-time = "2024-10-13T18:47:31.577Z" }, - { url = "https://files.pythonhosted.org/packages/09/95/691bc6de2c1b0e9c8bbaa5f8f38118d16896ba1a069a09d1fb073d41a093/yarl-1.15.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d538df442c0d9665664ab6dd5fccd0110fa3b364914f9c85b3ef9b7b2e157980", size = 325384, upload-time = "2024-10-13T18:47:33.587Z" }, - { url = "https://files.pythonhosted.org/packages/95/fd/fee11eb3337f48c62d39c5676e6a0e4e318e318900a901b609a3c45394df/yarl-1.15.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:28c6cf1d92edf936ceedc7afa61b07e9d78a27b15244aa46bbcd534c7458ee1b", size = 321820, upload-time = "2024-10-13T18:47:35.633Z" }, - { url = "https://files.pythonhosted.org/packages/7a/ad/4a2c9bbebaefdce4a69899132f4bf086abbddb738dc6e794a31193bc0854/yarl-1.15.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ce44217ad99ffad8027d2fde0269ae368c86db66ea0571c62a000798d69401fb", size = 314150, upload-time = "2024-10-13T18:47:37.693Z" }, - { url = "https://files.pythonhosted.org/packages/38/7d/552c37bc6c4ae8ea900e44b6c05cb16d50dca72d3782ccd66f53e27e353f/yarl-1.15.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b47a6000a7e833ebfe5886b56a31cb2ff12120b1efd4578a6fcc38df16cc77bd", size = 304202, upload-time = "2024-10-13T18:47:40.411Z" }, - { url = "https://files.pythonhosted.org/packages/2e/f8/c22a158f3337f49775775ecef43fc097a98b20cdce37425b68b9c45a6f94/yarl-1.15.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:e52f77a0cd246086afde8815039f3e16f8d2be51786c0a39b57104c563c5cbb0", size = 310311, upload-time = "2024-10-13T18:47:43.236Z" }, - { url = "https://files.pythonhosted.org/packages/ce/e4/ebce06afa25c2a6c8e6c9a5915cbbc7940a37f3ec38e950e8f346ca908da/yarl-1.15.2-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:f9ca0e6ce7774dc7830dc0cc4bb6b3eec769db667f230e7c770a628c1aa5681b", size = 310645, upload-time = "2024-10-13T18:47:45.24Z" }, - { url = "https://files.pythonhosted.org/packages/0a/34/5504cc8fbd1be959ec0a1e9e9f471fd438c37cb877b0178ce09085b36b51/yarl-1.15.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:136f9db0f53c0206db38b8cd0c985c78ded5fd596c9a86ce5c0b92afb91c3a19", size = 313328, upload-time = "2024-10-13T18:47:47.546Z" }, - { url = "https://files.pythonhosted.org/packages/cf/e4/fb3f91a539c6505e347d7d75bc675d291228960ffd6481ced76a15412924/yarl-1.15.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:173866d9f7409c0fb514cf6e78952e65816600cb888c68b37b41147349fe0057", size = 330135, upload-time = "2024-10-13T18:47:50.279Z" }, - { url = "https://files.pythonhosted.org/packages/e1/08/a0b27db813f0159e1c8a45f48852afded501de2f527e7613c4dcf436ecf7/yarl-1.15.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:6e840553c9c494a35e449a987ca2c4f8372668ee954a03a9a9685075228e5036", size = 327155, upload-time = "2024-10-13T18:47:52.337Z" }, - { url = "https://files.pythonhosted.org/packages/97/4e/b3414dded12d0e2b52eb1964c21a8d8b68495b320004807de770f7b6b53a/yarl-1.15.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:458c0c65802d816a6b955cf3603186de79e8fdb46d4f19abaec4ef0a906f50a7", size = 320810, upload-time = "2024-10-13T18:47:55.067Z" }, - { url = "https://files.pythonhosted.org/packages/bb/ca/e5149c55d1c9dcf3d5b48acd7c71ca8622fd2f61322d0386fe63ba106774/yarl-1.15.2-cp39-cp39-win32.whl", hash = "sha256:5b48388ded01f6f2429a8c55012bdbd1c2a0c3735b3e73e221649e524c34a58d", size = 78686, upload-time = "2024-10-13T18:47:57Z" }, - { url = "https://files.pythonhosted.org/packages/b1/87/f56a80a1abaf65dbf138b821357b51b6cc061756bb7d93f08797950b3881/yarl-1.15.2-cp39-cp39-win_amd64.whl", hash = "sha256:81dadafb3aa124f86dc267a2168f71bbd2bfb163663661ab0038f6e4b8edb810", size = 84818, upload-time = "2024-10-13T18:47:58.76Z" }, - { url = "https://files.pythonhosted.org/packages/46/cf/a28c494decc9c8776b0d7b729c68d26fdafefcedd8d2eab5d9cd767376b2/yarl-1.15.2-py3-none-any.whl", hash = "sha256:0d3105efab7c5c091609abacad33afff33bdff0035bece164c98bcf5a85ef90a", size = 38891, upload-time = "2024-10-13T18:48:00.883Z" }, + { url = "https://files.pythonhosted.org/packages/dd/b9/be7a4cfdf47e03785f657f94daea8123e838d817be76c684298305bd789f/yamllint-1.37.1-py3-none-any.whl", hash = "sha256:364f0d79e81409f591e323725e6a9f4504c8699ddf2d7263d8d2b539cd66a583", size = 68813, upload-time = "2025-05-04T08:25:52.552Z" }, ] [[package]] name = "yarl" version = "1.22.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.12'", - "python_full_version == '3.11.*'", - "python_full_version == '3.10.*'", - "python_full_version == '3.9.*'", -] dependencies = [ - { name = "idna", marker = "python_full_version >= '3.9'" }, - { name = "multidict", version = "6.7.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, - { name = "propcache", version = "0.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.9'" }, + { name = "idna" }, + { name = "multidict" }, + { name = "propcache" }, ] sdist = { url = "https://files.pythonhosted.org/packages/57/63/0c6ebca57330cd313f6102b16dd57ffaf3ec4c83403dcb45dbd15c6f3ea1/yarl-1.22.0.tar.gz", hash = "sha256:bebf8557577d4401ba8bd9ff33906f1376c877aa78d1fe216ad01b4d6745af71", size = 187169, upload-time = "2025-10-06T14:12:55.963Z" } wheels = [ @@ -5485,3 +3550,12 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c2/a3/70904f365080780d38b919edd42d224b8c4ce224a86950d2eaa2a24366ad/yarl-1.22.0-cp39-cp39-win_arm64.whl", hash = "sha256:dd7afd3f8b0bfb4e0d9fc3c31bfe8a4ec7debe124cfd90619305def3c8ca8cd2", size = 82173, upload-time = "2025-10-06T14:12:51.869Z" }, { url = "https://files.pythonhosted.org/packages/73/ae/b48f95715333080afb75a4504487cbe142cae1268afc482d06692d605ae6/yarl-1.22.0-py3-none-any.whl", hash = "sha256:1380560bdba02b6b6c90de54133c81c9f2a453dee9912fe58c1dcced1edb7cff", size = 46814, upload-time = "2025-10-06T14:12:53.872Z" }, ] + +[[package]] +name = "zipp" +version = "3.23.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/02/0f2892c661036d50ede074e376733dca2ae7c6eb617489437771209d4180/zipp-3.23.0.tar.gz", hash = "sha256:a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166", size = 25547, upload-time = "2025-06-08T17:06:39.4Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2e/54/647ade08bf0db230bfea292f893923872fd20be6ac6f53b2b936ba839d75/zipp-3.23.0-py3-none-any.whl", hash = "sha256:071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e", size = 10276, upload-time = "2025-06-08T17:06:38.034Z" }, +] From 885dad2578af3a35268971bd397c81365e09f262 Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 6 Jan 2026 18:23:29 +0100 Subject: [PATCH 073/113] Remove the wrapper --- slither/tools/doctor/checks/paths.py | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/slither/tools/doctor/checks/paths.py b/slither/tools/doctor/checks/paths.py index bbf9f9d91e..5401739337 100644 --- a/slither/tools/doctor/checks/paths.py +++ b/slither/tools/doctor/checks/paths.py @@ -7,15 +7,6 @@ from slither.utils.colors import yellow, green, red -def path_is_relative_to(path: Path, relative_to: Path) -> bool: - """ - Check if a path is relative to another one. - - Compatibility wrapper for Path.is_relative_to - """ - return path.is_relative_to(relative_to) - - def check_path_config(name: str) -> Tuple[bool, Optional[Path], List[Path]]: """ Check if a given Python binary/script is in PATH. @@ -37,9 +28,9 @@ def check_path_config(name: str) -> Tuple[bool, Optional[Path], List[Path]]: if binary_path is not None: binary_path = Path(binary_path) this_code = Path(__file__) - this_binary = list(filter(lambda x: path_is_relative_to(this_code, x[1]), possible_paths)) + this_binary = list(filter(lambda x: this_code.is_relative_to(x[1]), possible_paths)) binary_here = len(this_binary) > 0 and all( - path_is_relative_to(binary_path, script) for script, _ in this_binary + binary_path.is_relative_to(script) for script, _ in this_binary ) return binary_here, binary_path, list(set(script for script, _ in possible_paths)) From fd23d880f861f0b62aade8a9c952c99d9f25f8e7 Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 6 Jan 2026 18:23:56 +0100 Subject: [PATCH 074/113] Delete test file --- test_ci_locally.sh | 89 ---------------------------------------------- 1 file changed, 89 deletions(-) delete mode 100755 test_ci_locally.sh diff --git a/test_ci_locally.sh b/test_ci_locally.sh deleted file mode 100755 index 433195bd30..0000000000 --- a/test_ci_locally.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/bin/bash -set -euo pipefail -IFS=$'\n\t' - -echo "=========================================" -echo "Local CI Simulation for Python 3.9 Upgrade" -echo "=========================================" - -# Color codes for output -RED='\033[0;31m' -GREEN='\033[0;32m' -YELLOW='\033[1;33m' -NC='\033[0m' # No Color - -# Check Python version -echo -e "\n${YELLOW}1. Checking Python version...${NC}" -python_version=$(python3 --version | cut -d' ' -f2) -min_version="3.9.0" -if [ "$(printf '%s\n' "$min_version" "$python_version" | sort -V | head -n1)" = "$min_version" ]; then - echo -e "${GREEN}✓ Python $python_version meets minimum requirement (>=3.9)${NC}" -else - echo -e "${RED}✗ Python $python_version does not meet minimum requirement (>=3.9)${NC}" - exit 1 -fi - -# Check for Python 3.8 references in key files -echo -e "\n${YELLOW}2. Checking for Python 3.8 references...${NC}" -files_with_38=$(grep -r "3\.8" --include="*.py" --include="*.yml" --include="*.yaml" --include="*.toml" --include="*.md" --include="setup.py" . 2>/dev/null | grep -v ".git" | grep -v "uv.lock" | grep -v "test_ci_locally.sh" || true) -if [ -z "$files_with_38" ]; then - echo -e "${GREEN}✓ No Python 3.8 references found${NC}" -else - echo -e "${RED}✗ Found Python 3.8 references:${NC}" - echo "$files_with_38" -fi - -# Run ruff linting -echo -e "\n${YELLOW}3. Running ruff linting...${NC}" -if uv run ruff check; then - echo -e "${GREEN}✓ Ruff linting passed${NC}" -else - echo -e "${RED}✗ Ruff linting failed${NC}" - exit 1 -fi - -# Test slither installation -echo -e "\n${YELLOW}4. Testing slither installation...${NC}" -if uv run slither --version > /dev/null 2>&1; then - version=$(uv run slither --version) - echo -e "${GREEN}✓ Slither runs successfully (version: $version)${NC}" -else - echo -e "${RED}✗ Slither failed to run${NC}" - exit 1 -fi - -# Test entry points plugin system -echo -e "\n${YELLOW}5. Testing entry points (plugin system)...${NC}" -if uv run python -c "from importlib import metadata; eps = metadata.entry_points().select(group='slither_analyzer.plugin'); print(f'✓ Entry points work: {list(eps)}')"; then - echo -e "${GREEN}✓ Entry points API working correctly${NC}" -else - echo -e "${RED}✗ Entry points API failed${NC}" - exit 1 -fi - -# Run a subset of unit tests -echo -e "\n${YELLOW}6. Running sample unit tests...${NC}" -if uv run pytest tests/unit/core/test_constant_folding.py -q 2>/dev/null; then - echo -e "${GREEN}✓ Sample unit tests passed${NC}" -else - echo -e "${YELLOW}⚠ Sample unit tests failed (this might be expected if test dependencies are missing)${NC}" -fi - -# Check pyproject.toml validity -echo -e "\n${YELLOW}7. Checking pyproject.toml validity...${NC}" -if python3 -c "import tomllib; tomllib.load(open('pyproject.toml', 'rb'))" 2>/dev/null || python3 -c "import toml; toml.load('pyproject.toml')" 2>/dev/null; then - echo -e "${GREEN}✓ pyproject.toml is valid${NC}" -else - echo -e "${RED}✗ pyproject.toml is invalid${NC}" - exit 1 -fi - -# Summary -echo -e "\n${YELLOW}=========================================${NC}" -echo -e "${GREEN}Local CI simulation complete!${NC}" -echo -e "${YELLOW}=========================================${NC}" -echo "" -echo "Next steps to verify CI will pass:" -echo "1. Push changes to a branch and create a PR to see actual CI results" -echo "2. Or run the full test suite locally with: UV_RUN='uv run' bash .github/scripts/unit_test_runner.sh" -echo "3. Check specific workflow files match Python versions: .github/workflows/*.yml" \ No newline at end of file From 42a0a1d523c64246cb55665da29c5a98f11018dc Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 6 Jan 2026 18:55:52 +0100 Subject: [PATCH 075/113] Remove uv run --- .github/scripts/integration_test_runner.sh | 8 +++---- .github/scripts/tool_test_runner.sh | 9 +++----- .github/scripts/unit_test_runner.sh | 9 +++----- .github/workflows/ci.yml | 2 -- .github/workflows/test.yml | 1 - scripts/ci_test_common.sh | 25 ---------------------- 6 files changed, 9 insertions(+), 45 deletions(-) delete mode 100755 scripts/ci_test_common.sh diff --git a/.github/scripts/integration_test_runner.sh b/.github/scripts/integration_test_runner.sh index 89aece0262..47c200866e 100755 --- a/.github/scripts/integration_test_runner.sh +++ b/.github/scripts/integration_test_runner.sh @@ -1,15 +1,13 @@ #!/usr/bin/env bash -# Use UV_RUN if set (for CI), otherwise run directly (for local dev) -RUN="${UV_RUN:-}" # used to pass --cov=$path and --cov-append to pytest if [ "$1" != "" ]; then - $RUN pytest "$1" tests/e2e/ -n auto + pytest "$1" tests/e2e/ -n auto status_code=$? - $RUN python -m coverage report + python -m coverage report else - $RUN pytest tests/e2e/ -n auto + pytest tests/e2e/ -n auto status_code=$? fi diff --git a/.github/scripts/tool_test_runner.sh b/.github/scripts/tool_test_runner.sh index 09678649cd..04cebea6ce 100755 --- a/.github/scripts/tool_test_runner.sh +++ b/.github/scripts/tool_test_runner.sh @@ -1,15 +1,12 @@ #!/usr/bin/env bash -# Use UV_RUN if set (for CI), otherwise run directly (for local dev) -RUN="${UV_RUN:-}" - # used to pass --cov=$path and --cov-append to pytest if [ "$1" != "" ]; then - $RUN pytest "$1" tests/tools + pytest "$1" tests/tools status_code=$? - $RUN python -m coverage report + python -m coverage report else - $RUN pytest tests/tools + pytest tests/tools status_code=$? fi diff --git a/.github/scripts/unit_test_runner.sh b/.github/scripts/unit_test_runner.sh index c15dce95b9..124230d0ce 100755 --- a/.github/scripts/unit_test_runner.sh +++ b/.github/scripts/unit_test_runner.sh @@ -1,15 +1,12 @@ #!/usr/bin/env bash -# Use UV_RUN if set (for CI), otherwise run directly (for local dev) -RUN="${UV_RUN:-}" - # used to pass --cov=$path and --cov-append to pytest if [ "$1" != "" ]; then - $RUN pytest "$1" tests/unit/ -n auto + pytest "$1" tests/unit/ -n auto status_code=$? - $RUN python -m coverage report + python -m coverage report else - $RUN pytest tests/unit/ -n auto + pytest tests/unit/ -n auto status_code=$? fi diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3c2d958df5..07004384b3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -78,7 +78,5 @@ jobs: PYTHONUTF8: 1 TEST_TYPE: ${{ matrix.type }} GITHUB_ETHERSCAN: ${{ secrets.GITHUB_ETHERSCAN }} - # Export UV_RUN to use in scripts - UV_RUN: "uv run" run: | bash "scripts/ci_test_${TEST_TYPE}.sh" diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index aa395a852c..40be6b536b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -85,7 +85,6 @@ jobs: elif [ ${{ matrix.os }} = "windows-2025" ]; then TEST_ARGS=() fi - UV_RUN="uv run" bash "./.github/scripts/${TEST_TYPE}_test_runner.sh" "${TEST_ARGS[@]}" - name: Upload coverage diff --git a/scripts/ci_test_common.sh b/scripts/ci_test_common.sh deleted file mode 100755 index 464b2bb284..0000000000 --- a/scripts/ci_test_common.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env bash - -# Common setup for CI test scripts -# In CI, activate the virtual environment so all tools are in PATH -# In local development, assume the environment is already set up - -if [ -n "$UV_RUN" ]; then - # CI environment - activate the virtual environment created by uv - # Find the project root (where .venv is located) - SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" - PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" - - # Activate the virtual environment - # This puts all installed tools in PATH - if [ -f "$PROJECT_ROOT/.venv/bin/activate" ]; then - source "$PROJECT_ROOT/.venv/bin/activate" - fi - - # Set VIRTUAL_ENV for solc-select to use - # This ensures solc binaries are installed to .venv/.solc-select - export VIRTUAL_ENV="$PROJECT_ROOT/.venv" -fi - -# Now all commands work directly without wrappers -# slither, solc-select, python, etc. are all in PATH \ No newline at end of file From 62d97f555264cb17f240619706eed2027f25428d Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 6 Jan 2026 18:58:41 +0100 Subject: [PATCH 076/113] Update CI scripts --- scripts/ci_test_cli.sh | 2 -- scripts/ci_test_dapp.sh | 3 --- scripts/ci_test_data_dependency.sh | 3 --- scripts/ci_test_embark.sh | 3 --- scripts/ci_test_erc.sh | 3 --- scripts/ci_test_etherlime.sh | 3 --- scripts/ci_test_etherscan.sh | 3 --- scripts/ci_test_find_paths.sh | 3 --- scripts/ci_test_flat.sh | 2 -- scripts/ci_test_interface.sh | 3 --- scripts/ci_test_kspec.sh | 3 --- scripts/ci_test_path_filtering.sh | 3 --- scripts/ci_test_printers.sh | 3 --- scripts/ci_test_prop.sh | 3 --- scripts/ci_test_simil.sh | 3 --- scripts/ci_test_slither_config.sh | 3 --- scripts/ci_test_truffle.sh | 3 --- scripts/ci_test_upgradability.sh | 3 --- 18 files changed, 52 deletions(-) diff --git a/scripts/ci_test_cli.sh b/scripts/ci_test_cli.sh index 0d5529ed50..9c9ed56951 100755 --- a/scripts/ci_test_cli.sh +++ b/scripts/ci_test_cli.sh @@ -3,8 +3,6 @@ set -euo pipefail ### Test -# Source common CI test setup -source "$(dirname "$0")/ci_test_common.sh" solc-select use 0.7.0 diff --git a/scripts/ci_test_dapp.sh b/scripts/ci_test_dapp.sh index 2b345d9189..8c346bdc47 100755 --- a/scripts/ci_test_dapp.sh +++ b/scripts/ci_test_dapp.sh @@ -1,9 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -# Source common CI test setup -source "$(dirname "$0")/ci_test_common.sh" - ### Test Dapp integration # work around having two python versions loading libraries from each other in CI diff --git a/scripts/ci_test_data_dependency.sh b/scripts/ci_test_data_dependency.sh index 6bd697a27e..d3b50afbd7 100755 --- a/scripts/ci_test_data_dependency.sh +++ b/scripts/ci_test_data_dependency.sh @@ -1,9 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -# Source common CI test setup -source "$(dirname "$0")/ci_test_common.sh" - ### Test data dependency if ! python ./examples/scripts/data_dependency.py ./examples/scripts/data_dependency.sol; then diff --git a/scripts/ci_test_embark.sh b/scripts/ci_test_embark.sh index 746e6ed8ca..26bfc0b746 100755 --- a/scripts/ci_test_embark.sh +++ b/scripts/ci_test_embark.sh @@ -1,9 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -# Source common CI test setup -source "$(dirname "$0")/ci_test_common.sh" - ### Test embark integration mkdir test_embark diff --git a/scripts/ci_test_erc.sh b/scripts/ci_test_erc.sh index 6c7e3e40eb..9a3f03e9fa 100755 --- a/scripts/ci_test_erc.sh +++ b/scripts/ci_test_erc.sh @@ -1,9 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -# Source common CI test setup -source "$(dirname "$0")/ci_test_common.sh" - ### Test slither-check-erc DIR_TESTS="tests/tools/check_erc" diff --git a/scripts/ci_test_etherlime.sh b/scripts/ci_test_etherlime.sh index c3bcea16e9..73b0bc5927 100755 --- a/scripts/ci_test_etherlime.sh +++ b/scripts/ci_test_etherlime.sh @@ -1,9 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -# Source common CI test setup -source "$(dirname "$0")/ci_test_common.sh" - ### Test etherlime integration mkdir test_etherlime diff --git a/scripts/ci_test_etherscan.sh b/scripts/ci_test_etherscan.sh index 5b5279cf7e..ed325e1e8e 100755 --- a/scripts/ci_test_etherscan.sh +++ b/scripts/ci_test_etherscan.sh @@ -1,9 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -# Source common CI test setup -source "$(dirname "$0")/ci_test_common.sh" - ### Test etherscan integration # Skip when API key is not present diff --git a/scripts/ci_test_find_paths.sh b/scripts/ci_test_find_paths.sh index 73a96bcb34..4d271c5aed 100755 --- a/scripts/ci_test_find_paths.sh +++ b/scripts/ci_test_find_paths.sh @@ -1,9 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -# Source common CI test setup -source "$(dirname "$0")/ci_test_common.sh" - ### Test slither-find-paths DIR_TESTS="tests/e2e/printers/possible_paths" diff --git a/scripts/ci_test_flat.sh b/scripts/ci_test_flat.sh index d6fc5afe0d..c6909262f4 100755 --- a/scripts/ci_test_flat.sh +++ b/scripts/ci_test_flat.sh @@ -1,8 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -# Source common CI test setup -source "$(dirname "$0")/ci_test_common.sh" shopt -s extglob ### Test slither-flat diff --git a/scripts/ci_test_interface.sh b/scripts/ci_test_interface.sh index b5722bea4e..21f0ebca09 100755 --- a/scripts/ci_test_interface.sh +++ b/scripts/ci_test_interface.sh @@ -1,9 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -# Source common CI test setup -source "$(dirname "$0")/ci_test_common.sh" - ### Test slither-interface DIR_TESTS="tests/tools/interface" diff --git a/scripts/ci_test_kspec.sh b/scripts/ci_test_kspec.sh index fb3dd877d7..6c43bf5f24 100755 --- a/scripts/ci_test_kspec.sh +++ b/scripts/ci_test_kspec.sh @@ -1,9 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -# Source common CI test setup -source "$(dirname "$0")/ci_test_common.sh" - DIR_TESTS="tests/tools/check_kspec" solc-select use "0.5.1" diff --git a/scripts/ci_test_path_filtering.sh b/scripts/ci_test_path_filtering.sh index 63733a2e00..b91a3a35d3 100755 --- a/scripts/ci_test_path_filtering.sh +++ b/scripts/ci_test_path_filtering.sh @@ -1,9 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -# Source common CI test setup -source "$(dirname "$0")/ci_test_common.sh" - ### Test path filtering across POSIX and Windows solc-select use 0.8.0 diff --git a/scripts/ci_test_printers.sh b/scripts/ci_test_printers.sh index f574c4285c..16f21e67da 100755 --- a/scripts/ci_test_printers.sh +++ b/scripts/ci_test_printers.sh @@ -1,9 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -# Source common CI test setup -source "$(dirname "$0")/ci_test_common.sh" - ### Test printer cd tests/e2e/solc_parsing/test_data/compile/ || exit diff --git a/scripts/ci_test_prop.sh b/scripts/ci_test_prop.sh index 0ead748697..f433f2c18b 100755 --- a/scripts/ci_test_prop.sh +++ b/scripts/ci_test_prop.sh @@ -1,9 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -# Source common CI test setup -source "$(dirname "$0")/ci_test_common.sh" - ### Test slither-prop cd examples/slither-prop || exit 1 diff --git a/scripts/ci_test_simil.sh b/scripts/ci_test_simil.sh index c52853f92c..1737c8f20f 100755 --- a/scripts/ci_test_simil.sh +++ b/scripts/ci_test_simil.sh @@ -1,9 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -# Source common CI test setup -source "$(dirname "$0")/ci_test_common.sh" - ### Install requisites if [ "$UV_PYTHON" = "" ]; then diff --git a/scripts/ci_test_slither_config.sh b/scripts/ci_test_slither_config.sh index 697d1c99f6..a505c50dd8 100755 --- a/scripts/ci_test_slither_config.sh +++ b/scripts/ci_test_slither_config.sh @@ -1,9 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -# Source common CI test setup -source "$(dirname "$0")/ci_test_common.sh" - ### Test solc-select use 0.7.0 diff --git a/scripts/ci_test_truffle.sh b/scripts/ci_test_truffle.sh index 7ecea0f072..6b83432dcc 100755 --- a/scripts/ci_test_truffle.sh +++ b/scripts/ci_test_truffle.sh @@ -1,9 +1,6 @@ #!/usr/bin/env bash set -eo pipefail -# Source common CI test setup -source "$(dirname "$0")/ci_test_common.sh" - ### Test truffle integration mkdir test_truffle diff --git a/scripts/ci_test_upgradability.sh b/scripts/ci_test_upgradability.sh index 73191c1291..293efb994c 100755 --- a/scripts/ci_test_upgradability.sh +++ b/scripts/ci_test_upgradability.sh @@ -1,9 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -# Source common CI test setup -source "$(dirname "$0")/ci_test_common.sh" - ### Test slither-check-upgradeability DIR_TESTS="tests/tools/check_upgradeability" From 95eb91a59e6296314786f016843453a9866350a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20L=C3=B3pez?= <2642849+elopez@users.noreply.github.com> Date: Tue, 6 Jan 2026 15:14:27 -0300 Subject: [PATCH 077/113] ci: test: re-add text execution --- .github/workflows/test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 40be6b536b..a8dff4d8f3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -85,6 +85,7 @@ jobs: elif [ ${{ matrix.os }} = "windows-2025" ]; then TEST_ARGS=() fi + bash "./.github/scripts/${TEST_TYPE}_test_runner.sh" "${TEST_ARGS[@]}" - name: Upload coverage From 35ccef8d9e3647b48292c0ed2dfb230c770f78f3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Jan 2026 18:33:02 +0000 Subject: [PATCH 078/113] Bump actions/upload-artifact from 5 to 6 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 5 to 6. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v5...v6) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/publish.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a75345e34d..f7fe8de736 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -19,7 +19,7 @@ jobs: - name: Build distributions run: uv build - name: Upload distributions - uses: actions/upload-artifact@v5 + uses: actions/upload-artifact@v6 with: name: slither-dists path: dist/ From 1ffc723e003569fc28e55b12fa11bf959c5bc93a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 6 Jan 2026 18:33:11 +0000 Subject: [PATCH 079/113] Bump actions/download-artifact from 6 to 7 Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 6 to 7. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v6...v7) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/publish.yml | 2 +- .github/workflows/test.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a75345e34d..3a4d6957e5 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -34,7 +34,7 @@ jobs: - build-release steps: - name: fetch dists - uses: actions/download-artifact@v6 + uses: actions/download-artifact@v7 with: name: slither-dists path: dist/ diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a8dff4d8f3..53e6013248 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -111,7 +111,7 @@ jobs: - run: uv pip install coverage[toml] - name: download coverage data - uses: actions/download-artifact@v6 + uses: actions/download-artifact@v7 with: pattern: coverage-data-* merge-multiple: true From a435431e5dcdcadbcf0f43ecab2693212b0bd370 Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 6 Jan 2026 19:38:29 +0100 Subject: [PATCH 080/113] Add support for CLZ EVM opcode --- slither/solc_parsing/yul/evm_functions.py | 2 ++ .../compile/yul-0.8.0.sol-0.8.0-compact.zip | Bin 5861 -> 0 bytes .../compile/yul-0.8.0.sol-0.8.1-compact.zip | Bin 5979 -> 0 bytes .../compile/yul-0.8.0.sol-0.8.10-compact.zip | Bin 6188 -> 0 bytes .../compile/yul-0.8.0.sol-0.8.11-compact.zip | Bin 6193 -> 0 bytes .../compile/yul-0.8.0.sol-0.8.12-compact.zip | Bin 6177 -> 0 bytes .../compile/yul-0.8.0.sol-0.8.13-compact.zip | Bin 6180 -> 0 bytes .../compile/yul-0.8.0.sol-0.8.14-compact.zip | Bin 6181 -> 0 bytes .../compile/yul-0.8.0.sol-0.8.15-compact.zip | Bin 6181 -> 0 bytes .../compile/yul-0.8.0.sol-0.8.2-compact.zip | Bin 6062 -> 0 bytes .../compile/yul-0.8.0.sol-0.8.3-compact.zip | Bin 6059 -> 0 bytes .../compile/yul-0.8.0.sol-0.8.33-compact.zip | Bin 0 -> 6641 bytes .../compile/yul-0.8.0.sol-0.8.4-compact.zip | Bin 6132 -> 0 bytes .../compile/yul-0.8.0.sol-0.8.5-compact.zip | Bin 6174 -> 0 bytes .../compile/yul-0.8.0.sol-0.8.6-compact.zip | Bin 6180 -> 0 bytes .../compile/yul-0.8.0.sol-0.8.7-compact.zip | Bin 6181 -> 0 bytes .../compile/yul-0.8.0.sol-0.8.8-compact.zip | Bin 6162 -> 0 bytes .../compile/yul-0.8.0.sol-0.8.9-compact.zip | Bin 6178 -> 0 bytes .../expected/yul-0.8.0.sol-0.8.1-compact.json | 7 ------- .../expected/yul-0.8.0.sol-0.8.10-compact.json | 7 ------- .../expected/yul-0.8.0.sol-0.8.11-compact.json | 7 ------- .../expected/yul-0.8.0.sol-0.8.12-compact.json | 7 ------- .../expected/yul-0.8.0.sol-0.8.13-compact.json | 7 ------- .../expected/yul-0.8.0.sol-0.8.14-compact.json | 7 ------- .../expected/yul-0.8.0.sol-0.8.15-compact.json | 7 ------- .../expected/yul-0.8.0.sol-0.8.2-compact.json | 7 ------- .../expected/yul-0.8.0.sol-0.8.3-compact.json | 7 ------- ...ct.json => yul-0.8.0.sol-0.8.33-compact.json} | 2 +- .../expected/yul-0.8.0.sol-0.8.4-compact.json | 7 ------- .../expected/yul-0.8.0.sol-0.8.5-compact.json | 7 ------- .../expected/yul-0.8.0.sol-0.8.6-compact.json | 7 ------- .../expected/yul-0.8.0.sol-0.8.7-compact.json | 7 ------- .../expected/yul-0.8.0.sol-0.8.8-compact.json | 7 ------- .../expected/yul-0.8.0.sol-0.8.9-compact.json | 7 ------- tests/e2e/solc_parsing/test_data/yul-0.8.0.sol | 1 + 35 files changed, 4 insertions(+), 106 deletions(-) delete mode 100644 tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.0-compact.zip delete mode 100644 tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.1-compact.zip delete mode 100644 tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.10-compact.zip delete mode 100644 tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.11-compact.zip delete mode 100644 tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.12-compact.zip delete mode 100644 tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.13-compact.zip delete mode 100644 tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.14-compact.zip delete mode 100644 tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.15-compact.zip delete mode 100644 tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.2-compact.zip delete mode 100644 tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.3-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.33-compact.zip delete mode 100644 tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.4-compact.zip delete mode 100644 tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.5-compact.zip delete mode 100644 tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.6-compact.zip delete mode 100644 tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.7-compact.zip delete mode 100644 tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.8-compact.zip delete mode 100644 tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.9-compact.zip delete mode 100644 tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.1-compact.json delete mode 100644 tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.10-compact.json delete mode 100644 tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.11-compact.json delete mode 100644 tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.12-compact.json delete mode 100644 tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.13-compact.json delete mode 100644 tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.14-compact.json delete mode 100644 tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.15-compact.json delete mode 100644 tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.2-compact.json delete mode 100644 tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.3-compact.json rename tests/e2e/solc_parsing/test_data/expected/{yul-0.8.0.sol-0.8.0-compact.json => yul-0.8.0.sol-0.8.33-compact.json} (57%) delete mode 100644 tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.4-compact.json delete mode 100644 tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.5-compact.json delete mode 100644 tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.6-compact.json delete mode 100644 tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.7-compact.json delete mode 100644 tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.8-compact.json delete mode 100644 tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.9-compact.json diff --git a/slither/solc_parsing/yul/evm_functions.py b/slither/solc_parsing/yul/evm_functions.py index 64e70d51c5..2c861e25f1 100644 --- a/slither/solc_parsing/yul/evm_functions.py +++ b/slither/solc_parsing/yul/evm_functions.py @@ -26,6 +26,7 @@ "SHL", "SHR", "SAR", + "CLZ", "ADDMOD", "MULMOD", "SIGNEXTEND", @@ -178,6 +179,7 @@ # "identifier": [input_count, output_count] function_args = { "byte": [2, 1], + "clz": [1, 1], "addmod": [3, 1], "mulmod": [3, 1], "signextend": [2, 1], diff --git a/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.0-compact.zip deleted file mode 100644 index 978d4f3691fcbcd80a98fe5e923e59debda7cdf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5861 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 diff --git a/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.11-compact.zip deleted file mode 100644 index 1911cca4e0be21d3ff986207b05b0400ff105258..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6193 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 diff --git a/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.12-compact.zip deleted file mode 100644 index 0496870e966a708ca79ba66da116e09a1f55945b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6177 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 diff --git a/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.13-compact.zip deleted file mode 100644 index 7fa50da531a89f4a7366597540ec8ab11b20bfde..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6180 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 diff --git a/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.14-compact.zip deleted file mode 100644 index 10447105bb8fc6b2ba1508b737857736db48c5ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6181 zcmai()msz}ptKiQIu~K-4nab?LAtv`Sh`b0LTZ5}rC|jD=@vn{rIDpOrMp=|n(ueM z`}3Tci@BLUV4ioh)zE0K%;@Y0Rq>U7)k~J$fN@R3;+PY-^Z1Uhg*c3huho3 z6=LV->G9zs#Oi~MqtholZf9=~cWfX!z#ISw1pp+YqaFAk`MvU|#u~-(v-{nhSbo#O z;&myd=;pmUz`U1-dFy~Z^ttO90#x}RL9Axk=M(O5rnmiw`}5CF&;T>b`?6-1L3_xj zQiLzj25Cijtw>&tN3_@`$4kboZh_l(RgX$1QkK!_olf^tCeLM4MT(NgHn3_6v-i3ag?uFd_FwQ7QqJ1uu}<{}&ggi4hf)D>Pt9w1u$T6rgugluUf2Qgzl-znKIc`{lZz^qkge2$7tJ}Z07k7!K#G)2f;hahe_-s z1&CM(b=Jj)YoY5T^5ZqZJiNp~>QLwW<7)S#H5LS>wo>hOF}0m$Uvi;qQ)ZB$BmSXP z*0f)@sMLr)xH*LRlf_RlhKUtj;eqHmfqljBOaX%XY$z~Udc{2S35lP{6+pv#kDH!lfT*3m(Z44dh~Fa+!LQ$jq6xP$jas-=}+*QkBb~*6{G_)LfgLkY6wCHRl4y0Tj zx>Ae|Np4w%3TY%Bj*uk}Oo$FgwR2s- zIu>{-p>N`!@g#7iiTOyU5J@3{+l73Pr{!w2viV$VUS%cXo}zg&T^fZ|BxclfT2Naw z_vU@W&O;ag?avmyae1yMLL*zN+<(L*wW#78cq_YR8tmGF~K+q}sQF?vB% z{XiaI^LNwD8$}CaQ$dJAW-s4f5x+v(TcAzOcj5D#&v3y9Bf-eOhQ%0b#(Jwtp!QP|MJ+;T(7HAHwcY=V`mHZHTj5M zC5=3`AT@Ow8tcvyW9qcN;FKw0T+mljT1Wgg$Fa}sSmj4u#dD~7uH`yn9t?Bg{V8>q z5r;K=o>^=7yU&|V2Bo2!X!yeDypXTbfaJQ1N! zt`on&C53@Rmv`yN2D$tVfM}oLJRx5uPUkEIJ>p#SiRXDTB9Vm*T1Ue%+VzD{-F5J1 zisT9Tyb_ubKlxjDmyq89=SK`iqqk9J5Q>nFk@)0Ym&z{%8?IzBqENYxd>w>u)~-(` zRc|IzJDd;q(g@1`G8LlZB^0aQDBC}ezPY5zbbD`u7xmZq^kp2+3q9?CNH%ScS~%ds z33&P&-_t0*XKD08I|t=KMQ5y(vT(r`;Dk=45ifk{E8;nkR?6g%XDHBmdeAbEYi#{} zG&Rn_uVbA&Y-4~bl9lBf(G)EGa@6z67UvBbks7jRK`N8}Ta!~*U|7|^@2X}Dty;7T zgC_lE@a9Rp}ZCY9zo(F@?1Qx>+T{;?IYG++u&EH^%?Sk39eKLS8E7jMY#r)t^JEF+?t?O=XI~!AfF(Q?Hk{KZ%&oze1a&p=*!3^a7gj+XQ)8DnGrFN;&%l21ABIX6kp@X1HWS z%{Xflkg!wHvuKT{?0(7m9PY?q%dde&bEg}{lusFSIINC=)SO2}%8s}tKN84t=y9ae zO=9fHh)z)&%bMFQ9+;$9x|aC6Kp0w6LflnUSW%}2!nLgZ`t@46LY4e%^9z7B@dRIl zN0y(){?T4#rH2Os)6TD6y$W<9j>y`If0)gt3-tnD5YA34YW%Qrf!Zb~Ha9Y)X zOc8hbBC^3#>54lVY8hRJez^9$0^}N#O6EBzn}G&#B7LGy8t(mQU4b6(9Zfl(TP6H1*+CBA7SLcv@h@cO7kq5xB zV-NAGGj_zO@FV+pF#d4w8+aR!A!|Iw+sMo1aB9vu`nesY%-JPH#cE#q`XG{fD!br? zYcKt$DS**(W5e$sC)*LM;to5%476+Np1p2PGDRqQv^V|AkXd-e;Zs~!fdL~9(mo#l zu(6oiC#P@zp2sd=(e=zQtCx)k#l=!Aovds~21b8pmBNcXt!;ay`6rLSWsiZ}zTxD7g$okPvIHMXL^FhZ0Fu}mI`_cxHA z8$%L2x4>**rTxQrM3HiHi%!aI$U%63Vx6TWV6I_PRcJE(Nqbg~F4M>-g=F~L7y=G7 zU_y)+5lve=b`SYTv-dZAQFHOaXnAYVtqLpYD-VJk8^rdxq&u7gw8Ek5SoXt}S)1pL zX=eh=QPzV`jc^}r4#bZFw&=bpH<1*#-A*zWqVZX((AS+&=iVB7i&27$0m7072PIyk zlR52}rQ)!P%Vhg6uT_d%St=Kt_M#Ly7tqXcA(58pQU{o_SgZ-fd!=l%*(KIvN^zLET6c%J>U9s&y z8^Z3ThQ~=*K8aOdQCSKE?>Xm)wUFVGJ~&O634@l|H{u)*QSZ`}O0e>}PE04#63ZxAw5UV{;8Xu18$@NZ@EBD)1`A#;Dm zh`$0VN`$DZ=x^!e)5hB^z7bGXYRuIH&za2J+6aI-ajNS_=Dc{v$%Fq$VEGY_5CkW@ zI+YC0vz{u1?D?=dpS7ZPJ>2^O=VLW6zDRM?759C$3Af((aY_P( zcVbhbIlQi#&iyA&-Vo&W#K}+JEM_;2d@d#^yNeDh6nz?sF>NWy?r2R9aVs@HEym=Q0B zwj!&M7RZI2*L>ywaIE#iY&?-+H*Ya60AFM3p3Dzy7pkRBWGa(} zgZNmTTg8_;8sRbIdq^T)^@wj3BFeeW5b`_xO+%$jvuUDGcl~D5U$n2NBxL;_HHqf2DJYwV@IVu^Qh?fP1>y7* zM^3fvPjn}*i8VFDI$gr5rkY>;cXi*=ZaZJVeZrl@rLHG%--@1(>r#4QB4f5Gl7wWd zX#qcrl)L|ujp7LNHG|bH1O49P{HQJ-#Syx$91|V{#0DC zY&sUSoI>9_WiLrr1ib7FIc%rW2SE<%Qftjx5@$LHv{RCepAP04a&bGV?+5aV&RCx& zYRgc6Ro;-$QZLC591u-KaZrFE16zI_@qSoW;ZkXN-#wC=fSkk--dhc1dewyG+-qXe z@z)>Aa}Hk!fbDBM4h+Mei^sq6XWFN3m5x%y)$Fsq$h5ZQe z4+y3h*zt$OuYh~sOOQ{Lhd=!Q`O5PIq`exH+J?^fWL~Z{ZR~8?Q$u};`7y4=RxVdj zDV**xV!6M&M*=~%P3WWv;uMhm1kM1G8DjlNCV6NWbVim|_Rf&%YYwx`rMdxY#a=^& zYChCgZu)3NM?5VXOrjXY1eSES7-xuq{>k-G18JYOebw?hAW*|+zOxqA>6fmK>P+CC z8{B&dBocb|h?ETI5Z8&SB_Y=2K;D8A|Jzd4loYE$X;rGwz`kJVsK+%rOWnpH>ICT_ z#<3yP^un4TKX(tHkwx(2j%OHZT$9xOftd%(D;yi(F5%j*=$jD*D_$`iQX9#Pp>|9gRBJ0A_-RHKW#Att%_{RRZMU=;@P7dt5;$(r1LZI z{uI-1BWzY817kv(zcXg)6imB5mNuI$E|jg2kjLaMkZ8IejNwoPyZri8`%!YbjpmEG zHLk~+hAq>hgJfv6SEFe+_(pmyt+{}s?du(FHm(21znYEB*Ey6jwZzkVCg?cvsnnsC z7@_+jN~F@Nsu{J%?Tk=)Pso;RD!gnzdWdbYq41{~Ubi8apA9)@FVP?Ta;uc_hu;193flZVl+H)e7&wk?B{Tn?Z6XuC19!zB+tI%Z{s;s5} z0YxgIw^KK4|6b>&5yg;Qth_Xj4{do}aJlm)q}dfKT2t}iPd<`44JGkc91pGhq5+T&^SCHo<=N|?K;#S zR~|(X*&fmH;gjDbZ_zQ%f{E;KbO_bBr7)O_(#M!_6@t>+MhWJ7V*Ln7%X(gQPA)yw z<$dF;xG~(5(Gter_jE|?yx->&H?*?JtO?m~PrE=QjJ@B<7)f2#BY%9TH$}NvC7aUt z{TJ@He&nf2YOX0g$nq+z+BPO9ZNB6eY^sG?->)|4eIaN>qj}A&G0l8&{|Vz>(`9UF zUHz-Y(sz{m?4*9(LwZ3I#p|&Jn=xNls+Srh6JyAfaUV6)SQw^dL z`)9B2@J`+_ZUN#%LFYGcfb?wakSb+h!7IP|T0V!!KYAW$9N_nVJDy?7*khk30(E{@ye7VePT$Z3^pr?J2#0WJZyzIzn3i6U4R{Gs0-uy%hE!3uOBRd&3qdav>LGtpc?^0-qB`CB@)$7!zZq^ zk9y)B4LqlDrt-EWq|%8}36<@d|y7dbz;U1asrqNP*g*9Rhb z#DtxU5QP}9LO`i5JFn>A(c>YkCrFbY4>Jbsj}UNB52BB z5~P&=CwR(%yJ{%q6}XmmeE_H~7s85^bjG@m&*I^VmZm*UDzHM|k0I+lSWVRKX$*gF?DnyH9w-ZF8^I`dB{4TcW(mL9xVooL2q*=6uuZW?Q5-bD@EZAV54SJJ!P1 z20ckKN!RP0S#gL_DXq6(2rfo4$FG=(37x3x% zQ*+lJ_!iEDzPz_Lt2_MrCf0Olhc=Z{iH6gpWk}ga(GL>zhC0om9(Dnl4UxQ;ox?bk z7;*@9Dwn-V`M~aQYc87|zRCREa}YqF=WtR!z41GoeP|sPIwOB`f?3$vl77h?WOznH zu4yk>Ib?idUU%|M=ONxgIgJ<|+{#nGE zjHDSQPmdV#n&$`0(2{_{6e|ziS6z{%qTg0?UFaquNM^YU_&;KH7nXa+M1_; zrXH~4x5Q!$zIEjA87&}Rd|kW$h}rou|viX zOk^>0G^YykyK?SdmKv#wjLA&lMkz#h%tYFKi`|FiGOoyDqrT|s^2_m)RC;(IEGxhL zy+H;1zLv)>VNGRVsXBg4E$9q(?&9FfbCVhvg79z1{=P;P8wP(@y*CkX@dCBuy@+^E`uU81Fio-Nj;ApkpD-wc*0&=AVPAX;Cf1MNiR> ziiPE#82k!6OU6z$=5bICCq;KEt!J_vzId56r$)-xkw?WU)H+Q_q*nt|>U7?Gi}kEI zkx=VJdc|dn%pv-&`Jz#Nkwh(_c60O%C)%vfZIgyY%fr|G0ZTZ9NrC(WMDiwj$-YOW zg!a1r*J`<<9|L9eblzB^ib=uEBy4|2ixD3VKEV}mOm8qQGr>F8vBGcl%ro#}@utdo zR==V*W2$b!N$!+|D(JgFBNg&27)(7IS2tZgV8V z&e!20n;6cxw)ze6C|Ux+5YME2Gfc}txj#q(4rk7s5ldg6pcLPYqTCO4Ego4cz+XNl z5;Vt6(!76Z2aY>l4nV($Z%i~T^s`@m4!vZ!tmcTkiYq#?6r_IIY$%9eLP`Bw+SXs` zULi4hb419MHfj36L@s(R{Z);u%Run3( zGww|UnqY9n0fNHxniIqZpxvEhK-5lu1#JU8UEUi*VD!yb!nVH{n@;#YAMdg~=#g3* zU6Qad8>^G^EXQ}PW>C`KP!TOk^S9CWVeTaCHLjy5zX)Gt6Ze7VTB-1L*T7m%{upI3 zPSc0lgcJ-x6yM5@m4+4XduTtWRW9v|n`DaG=&9L9?kM+^-|b`?uQv&pNMIo(Ao>qZ50igIu=C@{kRtZ>3_mODc0 zkkGmzRKnv;DJ%hlDoR9d^0OGitZ+6)2}J$GrpZo5#4B@ybpaa!cb1(h>Ej8h=x)hd znXn?(L_9SEowjrPBQ&mnAn6tlL)~S1kiHp%%x7Sm7vpu>srs9Wh=;lGPLx857J@0jXT=pTjpDjy}uYqz>{I0&W^ zh=cmSL$wa-R|pzym2vR7sjDO0FF&$OvUZpRgt6_#7$}8L2QLGRbDfTWR-`wNTRnGE z@>qF6EkFZfbrZGSU(tS_2qa&T3S3ez+^;#su*I6>oR~jx#iA~p7|p&2&?t}O?4lQ} zg5@6`R=kxjnB%7QmCL=v><4ie-So2l%xenx)Y|bFu74dtID2nYXvoVR;!UsQA9>j1 z5UX8Lac{19TeVM7pbMz}$OUztoi5dN{Fc&>1+POR@D;37T$8LFvvgH zJizgv$m;>_aGFL_)cZjj6HJE8cb)7M-`M{o+g81Uk^)-ZAKly)T1Fr%z!3n8>a+fu z2U!X$a(U!nIL_xBgtCGq0aT1ZqlEW%d}&mhiZb{K$Dza^9`Ces@;A7obzoeSC;fh1 z#bxMN5w5z&ndb&oPVXJ)e0-{D$iXGN!2N_L2Ny}sc7(rrso?4zy?8v_$I!XI_M|6F zD(kH0@TGp@kfz>}g^$~-Ohm+ngLEMEw0+l?PNsQJ54}0Ni8R4&M386CaC_Pr?fnvpgo%wK(W<@QM0`L%$bczAg@KgHUc<*qp zgO1}P;@?C$@J(%MAmidzlpxG{6Kg zXKjY6Aoh%nRfT@vGgWowxx=k0S;2T^%DU#qc>Yv;)@)#SQa9sZQ>5maJrYYFn@Z;E z%gG;027+scj2E!0h|`k&y652KqIqHyHnJO?#iKt$6e>-E_r^R=2|@8cUk!71ty#k6 zNt|Q2^_Ltm!4}I{L^-14PzubRWE;W2I zQf`PxVpVq>*XR{yK3!|Qt{MgyeAku3JO}as_0I2?lHNBk@86TX9Y7FtlI#m>p_Zbb zq|_(Ruqn;8_U(P2!MnT@Y+3_i+Tk*A#hlD*n zEMk>VF1ybWbr}aQ$6K*CqZL{;(#A-ZU@jaC%g~p&<~#&_^$2UJqr`Kmp805HQ;GY) zR9OMfJ6a~xZ~x2{#*oFV;^EilnY;_Of+BCQB}ktpw7^7)L;E>@Uh9CTxLm}99G8ir zE_%3OD~q=$ica`CCC?Hu_kuAT(HR4=wlMWR+z{^NG$besjJEI3z`=;U5w|dbXIsnc z3OtXd@gUBbcmzL{7L)SWB`FP=G|7iOueS(+$GB~$lf zVz4!49=B16kSLux<3~4qN0p^yyoHJ6;+@=+&1Z2^Z8^unhX3LaxAo`So#*1a7cSJ} zMC)=Yeej22p_aJDv&L{te(3G=w1eB_m8I*J7t-XeHgh6jL-F`Dl*Gn+}9OLz8Tvy#46Mw30~N6 zVxyn#n~bnf*fz9tUGji3=f0HhE6}+!(DBv)SM^93u9qVm2I8l#%h!YvL5bN{UPE=% zRc*9Y`G6(XwP4bGjD?1da-1aJ@&JwT#yZKJ4lgmT!cDa`kXw?=bt-Jm*H7HX(e{*&bBR``Y;EnuhhN=>ddnzs5!WAp;)6nJgIwvfULf1y;gpr2 ze0(`O1h@8^0U`4V6kX)CIRzGH2z`i!f&91lfxzuINBXW^32lAaFS1MjMoeXX)%MqL zo6fV!a4`6Yu+0^&&MCzo_dX&uRbbwwPLM#?h!xDRCyo1xT+;DbpT3#_Wg7AKDB8W; z>ngvDH|K@VFN;V#8}#kX_Mg$SApZ$5RwD{y5~}Q_|FB6OELMb32dxK72Ak)veEf^G z(sYuSb{~+#!m(-t+etlfo@s)6Cog$X+qsi*f(psW#V`*f4Jaw4Kjqu4#~hPSvn>dm zCO2?VaAXAL*G5+Jp64pg0Tw0BLkrm|ANT%oZklafcAG-kCEPJHCbG?<_Gfds0$0#B zK7D!dz~9S5zeds>Oz8Y}yk5wx)Gq3be)+ZDxtr=832-#s^BasR3&CA}*hfZvzZzhaM^k>^|tMy*$UtdMbr4eWt zKIdTGS+x%1?oYhT42W4}$w_y_{%8Ni;U&{*v&s|Gh77F%*+IEq)A+{|jl}qT|FTjQ z(|-;(2HkdjaIH#_&22F5DdX2l%PN9v|G=%Ou0{NSjKphtVq7KHkSRLqlHPVx>6^w3 zLEDJxIU*8~Wg2w+{#7A+|9Dvs4EK$pK5l9M+IogD(AoMQG@Z+1L@Du$IxZnhwayj=WbB# z=c1Nir1siVLF8bF$70nec{HtzH%BCn6t`H!v}P@5Q6%Zz-$n_p5BA>7!#)*$G45n< z{w;$s&Rc?8yZ4UGr_V}U;2RS^Be#BiD||jyu&SwD=SkF$T<{Kcd-yzLrm42r_>o1l zkN6&>(NE2RXaE tCp|3;OnI#To#6im@&CUdNS@h>)9NkOBaCDF6T+008jwa$@J=5aQtC@NjW5v+;Fx zarZQ{aJRB|@V4QAc(_2(kx>9(03a9u5RHtq<9+6J%b%TW62bmH0CiyOqK=5udM8G+ zHiV}Gd6!J{lz$BYvv6f^}*XA zE)V-DlvnE#DZKmsE#pzEz&V$RwCp`t+=9kemT!R#mV_6o(hbvR>K|*6U_r!Qd^0c< z`okgHv`jQ`FqSc1pZmei@oX^kwcu(%{_BpkTSr+`HU4$n+8;`GGa-e=Ofh&GKt9is z(+8odkq(HS!6*ktuekA!?kD1BU~o`IV;a+b;_qqQYY}b^D_T~4jw6CjNL~EFGUOG@ zqT&9?a8FkugdF1*j5YaUE#1v?&n{{s@crK+Y4IfRn+BbOK7B{_K^MG#2Kc2}^u)uG z*!e*y2vyn_d6LmHR;GT|uVJG?Ac!ca%IYjTRhts8(H>o#reK>_sC1D4v*Pn+%zzL5 z4?d9NXAj?=X(I&0wq@;;?05~2rSR>?yJsC$%Y?8D8$6>^h?Q|D6C;C+TptO>v!5Ei z$@DlK(+#W<{HaSjSCRPr6Wr!mY>XGk*@|I60?~7-ni0^llA*h_p7kg$^x>srZ-h`~m_fSno|($q>MY*<O=kqL1tii3~Pkzu5&n~?K-TF`j}A&b5{_Mt*P zDoN8=KTsK*W32@aaI43%A9AGCns>Jt(NcWaqg!*Th2-TtSjBmWzU6MK@Nc4}4${Eq zyb3>qxhbu|t|z-wPQJ9?3^L65^J6oM{r)83Mh%VWQX#&MQ-g7vjMB?B5AkkUhd?7L zk}T`D)fFeutb$)AB)U4GtNHt^w!05Kd0f`cY1_9A1T#jcK#r>CGHp{Ug2dM-eG{Uw)lQU<8G5-X|i!|ovbrlNOCpAR2w2_i5XE-e;$(?{zVr_W2 z?j;=|mB$V1U-G!+H3H?irFiZ&!Tjw5eDZZ)WvA-6QFpI7Di)2#D1Vl?cp%uu-t@rFq|cJJN$u zHkk*H4E^p}-TiiWis4`?jT?tSM$ z+;!l{_Lk;!n=Z74r`BM$rFtoL|MG0<&ipZ1*t%wzQ$>VGat0%?lChi|`|!#q-N^|i zuw})f#Maf2aL#VV0S%X5rZM#L6n9h<*KWr};oDB@T6mgi z$0%|Y2s@&nmC zxc~wy@b-j2#~X$nQ3A!-_9>{um1dzN{npnicWp)j(wi0K$huCYC%^Q?g%4pjE4hy#iuBnX}$&~nWW*MJ+F?LKRx;T zPm+Lulh4ws%qCuE*jGqL7UleuPrn&dC=59!q^D-~e7xB3kEPEbZLd-Kc#ug?PHCCS zYyj$IoRl@HJOoIiyd{Wkb;L&9c0V4I_vq(&I5JUWTEraxgFZVdRcs4^ivy=)y|*m* z$kf1Wp=aK~iX^3dhUe5**dF_$Y2pO~b4Ro8U4awwV}X*>dGoNmEWqxHya(mCJ_>;RhF<@#lAe;Cm6qu&f29 zh%^~$4;j({n8u8R8`4*cn5oQN%b*$~>coSf8l4W0Yu-7Oc#Zy`1%z^{R}f$k06wkC%>k*YZGtMM(U6|Lieqr;hfxTL_DHd@!?0 zGoF87Y=7aZHOtHmS;jj>%?yZIQRgJ=ezulAYFPs&Kh-0~U>@GE!ycP3+sCKr#+ycK z|w%Ns~)F({+*7*eLBO4oP%@GZJ7#= zruqxo)%jVvk2jd0a;y~%+%n>Elh}N%(tA8?o^$U2&b4s*w#yxXcDF`dIQVUeT-DhD zV&TQb^*2HbA-<(`qwvEs-YAzd1*`8ww9$GKu~c;A&x;N_?>CcO3p5}LO+EK$$YKX~ zw*?-K-?4rBg*`kXIui1H$rYS$hpre~AVEpQd2{7cF8yJiW|B&15j&1Bz=t%8HJeej zj(do5WOKRk}sLGQ!3S8L4~;4E2_tC0#%`twsom)&G>SMB7aH6ml)D5 z(|?B>>bcHrd_cVwOY?Lg3{A$JF0y0C>E?5p&v2zq*f+fzhN+F(8gf{kYa=3Bx?+uT zHzQUdQYyWO*72#CjZpgpwwV7-{nwbxqqx$ghI+=i9FAnsb`&o{tv0%rwwG9=rd>=D zsjd5vRO2VcXxae5vpLsr6Q8UP0F|_}_iosiLQ(#_)Vz8=-4yedP+{Zc_yrcD9mQuQ zqfIWH?%l?iR_~zsKxt7Y6t&RoDj>YIY^T(}>D^y@skz7Hj9}j#P8MtfFUVGYe)! zOU7!@ScICzM;+os-oY=V=eO=`V8Mwk*&&_ADAio|kS`l<&dKEi)=NNg3}PrtXZPcuGsvo=vh5pBhH zLXFsLN`Sx_DM5J&M8ni=643{1qrZa(c5(hGdWK<%+8gpy+G-R!v)s$uFP#;9w?tEM z?)PU;)%>`#N33rQ*0kC1it?N*)fu(y$t$?s4Hi@H6;Gz7M+MCfzuFFYaA=*Q19I|? zx8!vGLR0AwZnGSKEk#Vz{6M1l z6u)1OztO{+y}x%3$XAU>Qxl&zojh|x{jQx9u=}{iNsH7%hMfEZ#$t}d-y>=J6_?&y zl&!D%M7rw~qWt+vTR~$FETBYvF9tm|SQDQaL?uJfC*Wcc?-^7S`A8H>r0`Y$_)mqa z)C^8aU~WVWS0T7(14(-V-6j7oS{B}UH4$OJ(5+G`eewd}3Ap6`YPA`r!1=D`n1%4T zPn_c0`*^?$UE8`<)6kboU}I}O5zPnZ66?;_-i2U5F%FU`zgR3LECRQT?i-TvlAV>( z3W4ise@|N=3*7d%3z)|VWQ&uh=IX!LCIQFosjJu&SD1d~3cdc>7#B(-G2Z8oe&49nqhF`wd?6~J$udY(nLWch^WI+1UKu}V z%JR{e-BFtID@qgR$sD!9Q7S1gvnZX56jGl!O&wg^CHZ;HQRu#qUjva5-1%7kLG4Sl z&D!gvQb1z8izN5_?3M9%&FB@)sgoIC9kd1?Ks%>#%dw~K&rp)yec6%v$XCMB#~=*1 zmkLeE+r6Txj?HUE5yy=qwJTN990YViyX{D+e`W`GKcjSV^mWbZcbM*?IZtRAc8?~m zOl0~R2rxIz7FVTE*x@S~TCwp=Fo_ttNmTKm2_3BQh4%}ko_j8eV5ZRUmh8X7o)JD> zK=+a7G4jhd$)qB;J_@2p_m`V86ZNfkDP_f}^fBcCp=Lr{4<3+W*9+89ezSDOcu{=* z;B-SJsi&u%xCD>vg=LZFc?jB?+7C5S^$h5pLQ8bVTz(91AW@`*1r;98yQo)v=t_K* z0akb9y|`a3QS;d5|3u;=j}}W)7K9cFU`t}ubC`r{WGy*v#NzF}1A(IFeLMzceTp)a zZa-wD&X994iAEb7tGY0r<_)!M&y*_d1$8t15Zs<5vtEv{8!eY3KSzC~hbMU0W3z)ip~MJz~Ep1&aN)RNQ0Pr{!j44V{1$5=c}^R-Yf z6b`=Lq$k%y`ZX;!8k^pn#aA2Egiy$*im)kS*q0?QA~5XS<|Dby9#;c&oA*o-d8x|n zAl`A(h9hg|#vSX{Zq$!+PLLYQ+5Cw96Qd3?i|#8C=XDpq7F-$SI-*F>`MT#HW?gk! zM=*sp3tx4d+p=iJJU9;pGW zEig1Ev|8&gBDojrZEbHfMx@SM87isluk}sEGZa)xEbCmw662i4pEevUOG4l2=RJid z1>$Wi__-v(?l55}{1O2#%4+_eeSU0$jM_B4&SD*4E<`d|_F+EDxt`9n{A`nB^3xA# zTs?A^-54%d&DRC)$A&p8SIXSkquBRk82G5SHgl9>7%qv%+4%}vnpv^iXTD)yBBjwG zOfu!#oo|}e2P4N)MM+IBIA#@0sSj15?anbcq=GMuBiUq|gvs%HMn8E7gHDz6-?s9o2OkJ zeroIM_CMj^DmIhKKucaqngIMh)?7n*YOusG#|Di-2dGCCRK`Zz{%zyB>pgKKd82}G zZsmr5~F_AIG zWmW=k(SsB179%4c414a=-xIz2_eaP2Ts$^gTC?y9guB|*kaJMR?1>iRSqh@~aekuJiFj|1F0sH%ccomFVvk#!-28TV+Q7 zOYS-L(9AO9^w$h0Z|@egh5`JGbx@vTE9|ta>U0qFBk0BNx2e}7DHmUrxNw0BUkf1y zN{foVP{xk=_sL^d@%+e};=EteJz? z!Jw=Oyn*F-ylnrnI8Yg@reyqAF^N%56F2+6^}9GvqTbW@Z4=VqVwsJjh>7QjwSVIi zx5jbp8sp-Q_?7X-pHF#a1pkuM;Q^x&aZ>|k>05QzKLj0j z8~&UAt`KKH4S!ISr*IN>RLKH><$1cQ6_=F!oYD4jCOtfeh=NFQ#0`Gt6N~@8t4whB z3jKF2;592&4ZSm=U|(5GH~maSKw!C|ka>gM+Y?j~VJ-lK%x35})(xy_e3({sLqTXc z<#8jS*fNRO%P`{#KEzX;%2OUZL~2!_CKG;A%O)dp{(1?~o26&T+HS2oh2Flu^ry&uOesF?<+dYL@ zqm!~#=$NN39@(|v!desmq3z?R2g7MttiCG{8Nb*w{KUWxjTnRHW-@YuN&)F)f}D$B zsn?BCn~l`!z*_BUs8|Q?B6`+_E9*DrBVF++|A2~lq&G8y{mu!@xh)Ghx1sG;y>b{P z6Zlk9>n@8eZZq5F?R=sRaLxk1{fJf*&CE??!VJ82>B~u<Yw3O>U7Mx- zJ8YP+;gTk(T|wz29fg zxi~lH7rfdUNXRk(L;xcE ze)vI2_-;?iw*iMJt9Q$|h>GDt=n(mT=iIRjJmcSL5&$j#eMR-vaS= zh#O+tMax^glEmR0Z$%Hfl^$ixr1cyYGB(W527)W>Avt(4nnNK*%wscOWmyq%R^NQQ6>EhAJxwhyr>$%@fvhA>eb)L{t6#=Oob`EM$xN3DVFXW?jRFZOqx8 z<>{vIi=Zvq;~rATv@y2d6V0xFNHA_()a)a{iq7PD#%(258U;8=hOtBrogogBE6bv^ zD1PAV*U$+qX#&*Ajb@q~3;OBW*rXw_Yk_K9^7~k`2zD$>-;e4K*V+IqiF=g}v2~c? zK}~-ruk#h}^Mrj35a1&9+SE?B^PDM`if(&sjFCwa*tbFZSp zvBgkD4g}@^yf-y=8&@1a|LjN?MZPg;#C9GO^oOeKl>I4ln-+b_yox_gz!X!CzjLIm z_KxJzjFKzR5CW~H_uSM^%<^MF=+9-aE^n%Rg^@^K=E%PLk#vfRQ5jRaM;Ft2$4O0c zEfUar3{mlyGV}YK&Gtz)_(^%iSo;!=`lmM*oJ^u9<7ocQ7mUEARG=~C*}e3ua9HZ& z_~D`DQfx)`^rL*C8u}H};ABl>+Cp(As(QE4+b@;)Nq@&@b=-76skgFiO`+fD`4cqY zrGTmk3qDGF3-1#+%sq%U!??&=s3I+AM0xo_ptAH*d7QM6?0serI4cz_DD2J>T*J>g z-4}#w@n?W(F@ooJxdDU}q0$T#Ez=B`oqW z)eK@j6uXV<6X71!Cb50gxfe}@8m-oDn|nHx4r%pfcj2w?lBP|;mjSB0iX$LmdnoBeeG*0ow%tO zh{<<$6s5u)AGv9|?teUO*~BK>n~JjX6Tys(|LBZTsTVDV>7`jQ-eU8d^8p-x=+@?T zG=}+R_BNmDLDQX%jK-;sD9F)sX4n}#&3yrSsRa=HeGcMYMkP^b5zj#sv&tp`?Y6z2@=j_0GQ(q;QL!w8 z10<*d@p?GyG5E7SeLQ$C$D_*0NrR!8+E02gW=$xZuC3F9ea)d;tZ>QS@JqGwMxVPy z_v}>#1r2(3t=W(bggA#sHZ@HoS*`h=mvx;N}=nsxA9yIuCubZ4~|69&RPrnw;*Um z^)r95kNPvuOFYWzhwoHEr6J%F>Zq4V`S-t@`|81$t>VgnAUQE50667)okJf7+#a_X z6);>fX8#kvGYzu4-)muYwye;CSdS)6=x@&N=SBKG?e?}?@svFSk7lVrj)NXy|1(C- zD4uUh6&I|1QbD1HLZn&aZ%t@rK0C%hO@NYwS@GX}ut0W3RFy7JIIn1*xi-sKrcfDg ze2IKUwrqH~N)<|boqb;;c(AJ-YcA+>J;I1`s+S7cRFgi2H>S?7!Q#{;rEpLU(T7U* zBR+-O340xX#Bfs7o)B1?Tvz>rN4`2U@i!~F{)Sq(_~_c@b}Qyg4EyvQ7P4eH2_ld| zlLJ+I3tzJlI{m$(WWVqi_LbU~t*oCYiY^WxT;1DmVCIt!y2G>HxKVFe>d{d7E1e`| zG&DoTo?9d2xI~43Dom^gbO+YAC?iwPU0r=ATvP;AY`s$Vt(c=u{o&Zhwat_C=CAEB2RL7U| zMSL!>?xO0$DZCy9(XN0KV+w zO?tGQTxc=Gzf^ORjaH@(?{k%te}Bj*m&IJNx{)BCbM%Vynn){yBF3Bkk(Z)5*Bu}y z#S-^2Jox?Ik<}&DJ%{)sDPF>anVF!{`qiLpDkQ=o&y);yBHNE4m^7fGEZTfBrBbw# z3cIX14;PS?KrwkHsv!^BRL9lWd_!1fVQM`j3qu6j<&#il0bxvQSk2|uN395nIFrK$ z!8*XcL+k^L+d31Z!J__5OudfPh3hBNM z0ybA(gAoFz)nEE8>ZY|EP>@JDR*RLHarG`)BEQl*&^VY`I0%@<_HU4MhI)GNy;f&2 zu{Km-HyTfPU>k*qF|C=CW~WYArZ7{)*@a^2Eh7brMz!dr`3?#9zI1bc9DBRHw>6ww zn#h}Z4F(Gv2M1)+CX%O1bb;Mj6JG++!Yf^LReeWRo!R`Z89q;mz9#OIAWnK626yq7 zg=up9RIpuUznS`5^P3jNtxsyRP%$1rJ2QdYL|gNeq)c823rdNioA)i%Q_%U9s{^!y z^cO#|zdX#Dw!5u9o%W?_heHcp7{$oiF}JF5!QD7lN4K*+-{Vw4u>?3!Ksz^hSo7+v zpJ2^X=bt890w(Q(6qjQ54_AIOVyDyQoUe4&RhEO(QLQ!@&5@We40>L5fzFaydum^c zRj7I|ENGD?)42AwHh2Z94x$e`ZlfGDyb=0WZ!S8ST6eN0r_jrphnKEn1v_Fo=4qx9 zoSZvc8e{zpTzV=ua-LLdCq`2 zH2l{@9A!)Dr2CabrnEAvOC-}4nslCfmY{r6Ou(%3yuz(MH@Nf5b7J5UU7Fm+CYaWd zUankxtq++&?E9$uQXM8fbwMnTV<7sqYapaEI=WLDSPk(DA+`TaKw2l#q%PXo0+t+5 z6zV+eX25?=1rxSmL(3UyM)CO?3l5SP(G=985+2+zR+1b2yS&}f5sLl8OSus5Fv&qP zb5$|;@JEv=H#-CQ!$QBESZd6*kZ1q3uA9}>X-y>^`LwIrG;(DAXN^?GJ80<OlRn;Ri<>Q3Cd#O_7UT-5Q5%1iNIuZ8pugkr%oH`sDJT#ACKrtA<2rp8YR- z;Fe6~N#;n&lnj?p_Yw3p(hzcPhupGuF65BA7JSL-wW}=Zz2)#w-36h?BImgVLlg?b z;Ek>xjuoITk3@b7p|9C@^1GN3k|z;_QVjyzULgD*b_zm(8)hCA)l{9`@64gy><>To z)S5-sA&l9Vwd1zHg8uece%O-KvOV9&TUPcBPM|uD>GxEAgzjAaFJ|<5fogC8A?)IK zzH(D-qi*InD1Qz}`sd}8ieyvRD))>3^#@M^GgHJ6IwK&Ntf%%7e!6&+j6cH6zF^aK zY3*s!^wT;+R_(3=94}97dc=9Jq7>fayNgS87r(841s&b8;j#Bey0q zXr;(BE>yaKG0s|+HluV-cSN(tnRC+-9_N2bf4ok+i|l@z<@escAVnr#@2H<{S`o@9 z>Ls~lI(kdZI@+?ma}8pDR@zB=PuG~rrNfWDr`PfHsu|?1i9sM6-BhW?^*yY$*UaqP zILS>8{{DiJ2}sJxX|rrLN>2SlJddrNC3YzP8X`>aEGx+zXdjo3de5r)oip)BfcXq$ zlw6>&n~V7z^rdw%n}tcZjSKPvJA_?6<=*Bi;XhQ+tHM`Qh2b@#C`p_J_{PF&&hXd) zagr(tR#q26L#s=qvi8lvSZgv6MTnr@3#E$RvWViBOjf}VdD&of+Kou92Qy!==#+n< z)UeK1lv}GFT9PxoYg# zFzNlPMJ`P{+dJC(Yo+BN(c6icmeGEC`^{q8Q-=yq2&KEB<*rVPzPeIi?WM`~B&L`F zJTZgwef$j}B086*6GFRNW)TEFWbM_NuI{lsL-108{~=<$sY$BZuu2Vy>2GOaMua#@ zSFL?p+RUXJ4GP+*W5WAu9XTOR-8ou$D>ZD;5-PCM6?;e!u6R^xjHBH}Khx}V(i>QP z8f`8UZbks>vFGNn-(Dk(hi8r1b zlyNZ0Ck5kmm)r+@oXw8m`=*#UfmD3Q6U2SD`KNWNHwN@afJ(yHCr7`}_4r*eOHfai zWaTf34s2J}j8uO;LHoI~n>>fB^AHJ{UyA33i7gPu0}HV>n20$$dyjK{I4n7lCSNsi zW@1Epv0QEr^L5 zX`_9*ymsY$vrq=jj?oEZj0ZOVf(L%5AE_t5CH_DvSLmN{)U~p1=We$f=;|H|g1mAp z=dIBnj3-1=EM4^Jw3>Tb&Z=kl`w^~-l!;wiciM#Kt8q?KIN_uu_qw~pXHkB#TVqZklS~hq% z(d*>aI!CcQx%}_b_4qfjGE|?+Gemb0^&!{lYr-POTV%ZVSFxcXvc)~AVR=Z2(kZv1 zJb(s%lDu^mXAJ?T_mQDSVBSPRSNu8~alUKVkdd@AN0xOjUy8 z;MgcHD6Pn=agV994C4oC+0vSn3J>3NPr7Kl(Rg1?jOfedC81?qcl~A;sR!`U;?h=^ zcZqwRR`n<~XU<6veSzexUjF@$`=1K?TN8*e&YA=ONbx@bi)!0|g;xgZn7u&v2e>d9 zKZBaK;MfymL@OqOY){=d3g|;6lgwatCfC3t>ZrGQ@j(EylG-DI%8Ph=L)}6wnmmTXgW`&S2S-{{P(|r;1u6N%i^woU*orMl{6h3m< z)32g8e|>nSN%%dp>%#Ky_1bo5;#QxIRWo^iQFM^0U)$G?i$Nv0f%wLQZ%}ZDsY1l( zA<-LSa0Dhk9Eh_%O;5dTBMK`BPyB`+zVupAvU(=pB3`OBM$ZKbhMLb=YaG84ihaQ= zxJCA_pN7dlxEf2DLY%EFCZ*BevYg|4^wTSBwJ5awI37>E^~20Efb3dSQ%zmP@cj5aY9OeOolp496Hfv z&&0bYNldAYz=Z$R70IrL4Z}wt&8PoHYd#7Qnv2vwy`IhcM%#3qzBe$1ATfxM=S6Mr zwiodQc=xPU61v~Hh>Qh=#Rz%PDg`O?+;lyv$(2y89wqA6UmNeoy9kR3ay(z$G&0vO z*`p-FCb1+He()tdGI^!3se3>nMsV%^m+pdTj0dw~l*Wprcn8|KnJP4&$l@+RW~UB? z>|@RbzX{IsCoViQ(E&7A)Wu)ve=nBAyFS&_?psMs@ygQHb0TdzLgWtvQnfVP_3Sft z4B+hoWRrqYuBlms2V|7sUE14R8%CkJKtUUjvWz0%tKK8xyG!{N{8qDIe5-lj#rEok%U*Zax zwGJF{B_Aqov@m_bDDW?QC4YI`gTWY5_8DqHw8Yts!;;t2CG4z`AG5L2=-jC1SgJWh zAu$-Z+w0w+eiSz)T9-w2PqEfic&ufzU%0KKF>9BeOhPDDB7>XA*U?}57oRJk*P7eDig~0iP&xtTYnsB#HH<0INHiPJWjOm39Dh=}$GO`sO6 z0oy2lS1N9yAg7z5g^`*o&Nb0Gze1v>RIykY(DJB5>fpsKePi+JJCv>Md%|Lzfv!Sd zZr7AuX1no#H}pBAW_p>2^^Y2nQlc01Zg5qHuhKARx*h{ojuMA4>nCQokp}V_7q)SN&DM1?P9=e7u>F%MsOJL}b{=fV0?{m*t zyqmK&E3sOOo!6${R7Iyj?s?Fo3#;}I83 z&^eS@cvbqnajKiQXR|XA+%K_t4R^WvpDL^~Ci7ssJ^ z-~<8sclAOukVS}b-s7#K_kS~m{;F&!HyWm_l8-sW5BP*_J2Yiz9Usd~Ny_Mr$1+DV z`=?vX(uAF<`!mUQzjt~9*^frGT#AoQliZ{$dHuWa3= zzuYr8FFGkyA zIK*C2w7CAjG?r0&eDg>um9@zvc=&3AvB^d3B)1jLi|kxb{Vz%eta_GnENSY|(50g3 zBpHC_yK-eGkcTqSvkgA5Xb4GGx=(FJ^sn!MUVUAFI`AkwS}2+{DOR3t0kS|zHe4J$ zPOw|-%A8Bclt*UJAq?#=Rx)1iWWyyw-EfA)i74+;@eO(oHs%(=(!%M7kXBmgy}eZ5 z9odQTciLmGtVZJk8`_Z~Aw}OIeDuZ^IR2*U=!pfke02229m*KAJx2X3L(AcQs+l%3 zQg(xrOq7}f!k3&IOSYSv<^9Vu|KsBb$FH&Hxsrmc!n5*j{er0I_G7PB_7uO0FET6K zjhXl5H}yUnHNzcTwD%y3*Sf2N7t(B_dGWgGfFd8VDfF1(q_P{*Y)6YmXUX!r=ZVl9 zhJ7vaWxVNMk#_f_&OD^>t;*(%*K78gXDZW9mJ2vmq_$!600hf=W;}P(^o~T?4uJim zPb%v<6`MeU;FkLbICB{7YX_bYbLJLZjNqaMt=}~N-4)g-(ahM%^hUo}6&`71z6vIk zsd{Y8IQB(%fJ?D5ih5&pVzdyr@&L*{K1&Pig56{= z^~^F>zMRlBxKMya2qu<>-tvRDRlt_RgJ6+I%A!d(Thi?|qHLvU1sSZaBz$g0oRS6y zi|UvToAX3-h8zk<37v?{R((_&3+ooM`p3F+bG+Oi=fT|k%$v6(sSB8X$575V>QwFs z{_&_MC%CHCQM8HytjsRQy&*2w-eFF47Xe(i3+CJRGvGU!4cHpPextp@lx848S%ile zj{OXT`Qw)4^MWwKjsE)(NBpot{*qG`%Ow|mV zfi7iT_PWiGr23(_kL!RS^+B1`QtAdT`-xT(4EFHPGWEsCb^(bzF9bBlO9ak)+C~7) zoG@dfE0C>ZOxF8~{@Fe$N+zg!=xb+5-Apu&F4@$^#lraEkv&nlxe%b8cOmKUT;fZZdiyk$?r6cw-G! zjFcvB$6IF4@K^i8!#2;;1JZwGi}Jp;yjJua!c@l?IfEWTbwx5dZB{WO6 zEGRj#M?bRh6KpDkYM<4tnAE?#Lm0sfY%0MT`kiA$%nhw0@L})>bbk?$kmrEF=D#n6 zJ+XZCn~ob8spy`FO$DV!6avBXqKfnMRa`%}dud3GPN%}CbyF(OiGlc=C*%46U+V!V zZ8Wvu+6qf}HSxZYLZyu~@h>fdVFY?CvS)c-5wqKOlJ4`z8{Xpdqx&@_8-5`#e2(8? z#@^kib6veTiYejeUUrAxu$e6FzAt{$Ft^oZ!}3GSfWn?B%U1lEre*rl=V!g@$6ouu zT+CLnOo2wfY2fShJH>Q9E*J@TRG@xUc18zkv$_J*_&P@sHcxk~@Cq%Y~I zRj{zW1E4gow_mXY%60!y*DzcUN#gps=KY3PRO^aR?PDn!V<%z7BuK2T89E&^7Wrk| zvp1$Rct?D3hp*;}&_6-o2$GI0nMB(+#Ji;ZKt|0w1stxuSc;Mdtqm0MDlp(-V>X#) z)Z8iwHu(EczItpU*8D8c`}>)rUMAgPey_9TmRaa~es!7ZtO7cZzY*>w&t_da@$O)i zqi_G841Ei=+Cih{iI)_KQ1|j8PI)>RWTfgOr`T3f%UwP5n>Gn4{3l8*v_S4iJL|nU z1p@hpV|yG#6W8Id3^jnmDb;c8*GT&w0kAy#Fgi(EMp{ z?y7-MfgJn=>4>3oP=rpMSp3`YgfC@aU0u2iuyYiwjP~9ZZX0g?jdiCdMvt(8;lv8l zUu`4)VopD5R?&eYM-RDM&jFo46~Q@-z0;`GsMSO{{a9RPgkrVKB7s{=QK>d`R3aaw zX^rH9)pCqC-%L`0F@8B&fx_qvLV1%Obo-(8}-FulMmB@&r!0hWlS7VAUX-lFzI8{J@8!p zt5J#tam9+7Hvt)@PZ@=M{Xp0!opzA}E80?0A;#B;oducar6St}#-}sxNN8S2=Pn&K z#W<5%K4i!s^l}#HNp}N<>$o<8hz9m%FMm^_Ps(>uDTFL7V=9*L)fG38-B?ZS; zo-b)#5VAn*@HRPQ@{AM4{7iQZzh`5TvszI8azonj@Uk|~*21nr5?Rj=BGN%*=@Ql@ zb-{w2j^g(G75uU|0Sv3)FFVq~-Pbkle-DR#)0OW>zYeETV|t3Vl1#cJk4G}_&oV!i z&~3HIXrjHVqsh)~cXyr>o+r<|wJ^JR{OdnQ!z6CuR<{J7r`@!eundF%sQ>-6-a@6I zl{4S{*!$RSi8g6B73oscr>{*v#m8R;@$L8CfAxxQUYEA+{@sU=<VwxSQd;Ti!VcP4{Q$T^WO(AmsEOhxTC8qNY&Kk4ZLaIe$lUQJE5mez8k;8f->Y zT?C_vq|CP&6&}so6vfcKw{qJh8Zjl+F}6K#OfuO;rOgg~jC#jQ>Xei>L4?%&F$~Yf ze;Ndi$8YQkpR|&V@FyN!)^yH(o=6oGj z3;j&drG!TTw{Xsres6h=9!Fr7U8Y;~saZr>J;5dX4mW;cb4j#uAwo8EL_{^HGaVor z{asg~B({yD#)idSAfoOiV4YRcmU4%nR6~rbV`xTmZ*cA5XCk(o=%bU!BmBbO{*=O; z4%JcFdU6}=>GzFD?C`_fHuey)Sqd23;m$nhJaI=IJnU-D^Ru^E9GOrZuv}5R2n#antt+v<=Tv`|Oqf8+(P?*mv9uR#X8N?zjx~V?MM|El zOTFXi(713HZ~*I29B=gtn}w?sy{W%7)W>Ya|E7$$cA&w;3{U6s&!Nj9Rg4lEVEzO9 z*^2qOEX-KIKgU`qH`c7o151oc1xQrR!6yyw?;xWb=f@{swm$k)1!}Nr)1A@*PYw z&O&bQ9~PIsggR}cb3k#6`#I3eUkS>0qb=wv+pq8Ka4mm@AZv7;cX#|P%kR^)k%CEX z5DfKEN_>cP2*|p$V;l+g4rvu+%Kh|bmYd(l3?7MJBfS+G39QTLm#*t9$oeEQZI8ml z1b=@Nd!zn2!U4xy#8LIKoFDfk?Ni3Bfyj9RnchIu3X!K+ja|{u)D5$2eH>)TH;d&Q zgT3ecc&1$ufuRl!MdUQ0Cpe-HYa@nh&%)2ZQcPuxS<_)FSv4bApebzxyi1AHOTL_ifXg0&90q9`e zR;sEhZMy52q;cvQ@vVI05PD+fclE;oXp;S{1HF-9EX1pZMqIg!6Z;W&I6A)%dBn`z z%E%BHdsit~W~7kD$YHX)#s_^o&f|L~ks9)b8d`fy{-etzM;)I1>}j}my6NFbCZqhr zh?so1;>vq!;SOg*BjEk=QF0)?Ar9m?q`JJQvD@zj;ddKf9%247h>uhR@qoA&Zu5)H zz=|~jp3jCj)$B5fxIdKLznI?io(42A(%^dlTl;oIz?Wv$(veP!lxmt(P*y^ z!k)+D{0-gh{zrLUe9L|2y^OG1b^Y44`@inzD(Bz9i1?-o_($4WCAgbZnNfBFLZTp!VSfI#JO1! z>`SjjESJLer$jszb9Zz#tCJFZnb`3Cs={EHqf7iF44 z*j@7R6}&%rhBG7Xgk1Cx+Va`YNs6EA^Kz!JoFG~8N3Vj#72gWflmq%`nw)aeIENi! zk7b!=??1`Th9rZcugJm-I9Z+NgM zvxbaK%Vj*=kC>Fc+!He4lx7D1L<%IKK|jsktA@2@N#;X?u8~_Wr}KA>SHZWD8$y@P z0Utf5T;r56c{jLI3azv8W?^-{%R!R~wEf4@qN-%eGxSzl#yRdqf2!FxZj$7dB%(V` zJ$9Z$Qk|%1qKN|Z9Dyqq^Fx~tjX5AWJ_UgI;n5#Dysoh{UpK%wHenr*vsAZ7D4z398Ji=(AV zPeuMjvq;|BU^YBEM5bq!mN9t}It-?tkLj5_g>nJw8^xQSh#XicX${2&X^9NM2Pp|I1%?z7ZZF0r=X~JYgA1zvb2W z8?;Wb&<+AU=NYR0Iaf*{(2t%-UmC3wQ&#Aa{Ot9)9d+ki3W&Hu)pMsOQNi~(BA~E; ze9lu$;lpIEo>X3c-=PuEI2#Rt zYNn8q>(BXxH+^N3gCMGMdF7N(QS6cKYf;V@(BaNZ2Q^mZ{0;nC`PxCX~997f~!AnmdNqsSvSI$ zGE>`VKMfY{J1E)sq1^BjDP662I8YZuK^W3$gITAp+?cecZK_QdKP-xN7;02$;CvH} zfO{yK`N#-2Qysf9ZseIIH~zTTFYQosKzS@#TfCJ~W0v?4BEIUcNqZK|L~M8me;3Vu ztIO-O?U#`5hoq-oHAe6jIfLWJ;Bi-8|?{ZDPVq~l6iD!uHP@qE)ZGjnBk z$(b4`jFR9@AlazvIMklXG~k#pEPJRJc9rMYB;?HM(|=V9uw3&X_H(MWn7k@VAbBV# z;5;~JyZ=g9L&rR^+|pI-GGLuPSkh zh`i$`jYWUo>#wP+nZtEF37@qDPW0W22WN`YVJQhqUZE|gj8&bFavf=Grf9=tc0bEE zt2H)PsT`jWfE`#RyOTuvN^`9wXb_~n-eDU`wm;@0IHt0ZF zmi&tdWr~`3`YUg=OsZiXveH%ivu?akewDbhG?C+}`6H4*@TITHY&1polPo(`NmTpzi3xZIr`j4gd! zoZUQ(P2J3GY`rYG?A)E5(16GQ2mlZQ0EorJSo6Q|yB5t)w~1hV8+Ni~{7D^|s6j4H z^V_|bnD_dqa09T9ymY&OjrciG0JTHSt*3RMEjWYGv$I4)w;} zB&rH;`dHZD9P??5{a^NjMzLc)6GM`;P}?%$@a{zRWOF`;wf)IR*jw@Cuw3+}jB9UYY#rWJ;@T-Cr}0O3AZz1BrHy+g z&UJDyA1aoi6KXrms;7_^iOm4sF!uiPU>j~nL$h6EXs_&WncX0bCG|kCB@gxIRQ3d| zzamgPuK(=b4*uIl$CGu!T#DGcU&RqlNLs1WKvc55HW!YF#Ma)WTk>DOjmu%JCoDd9!ZkpYYsi zGrF=z);qhgnWug_gOx7$nTQPi=s>@>o?-{3hv*f%3c`8zwsK?1-Y~zH+_s? z(Fl&cF@vRS_s5&>z_E#2>#`)$*%f@1-*|vJZJfO6k%56`GqkC^K+9Pc`qplc&7U3AVsO2P21q( zLWMY2*E~tla87+a$H?g{@hKzQ3Ko82Cq%SCKbV;|&`v=2mb}2(k!8;UG+*P8rA|kc z)#T|sMjo`|PkmeL_(aExq|f&;o(@f^DsCxtt33u=98oJ7_fX5t*nl{wMm8V}dOAD2LgH;rHMs+!skzchSU3}S{sh;( z0$W%<8q+AX>Hai7`R~Ko%H%gb;SY!q;?8Y)M5mxU73Wz5>FZk$9~-x)lQIT=5oTEA zTok6^(9$O%0x^n8Ab5#>Q2ihuw?xBXU~4_+epvYVo~_(*tEakp_fNdg$k=Si#R_k? zYJr8Lym-~>y(taxbYTTopOJSOf7;=+&k%`$tNPf;$hG@BgpfF&X{S7ASB*lit^NbG zZ7YxJ5d;t-hYo$QlJ6Af71jYnVdqb z9wvEFgHfoSwDRm?z%S6>Chl_naXJZJOqGq2_as#vMfj;%NkxumO+!?!*=GX~n|FM{ zCz7TJ2>O%0{<^p&=g#&3RiMWi_rR_#>#Yssem{%&cE?9nqnY_{Qd(rjf%DjckFiCX z=~z^baloF$vOo>3=&x9P(Ng`Fm)``vEfE{L(FXId^R>`^TU+&C@CF0Ryzfs; zlgCn2iXvb*Qi z&VqNklDkv9gtx3z{@YpYL*HP238SSNNLENqJ>$uIr<>($)eua~I-7FFNkv-3Lf%`` zoVgn_WJ_Dsz4V5=cdcUvR$&6f0-y0NIvA|>BGq>rvkWkmOCP#>YCIdVhTqickffc| zsHi`V=@SxOR868+$a0%AX=iM{TNzAh79b_OS4F$z!kVh6M8zKb4I9!SRoWSm61O64 z<7h1rwKVf^kmLM8_mqKbN`Cc-H_c@*b(j^zcEJWeUyD`kpgm~5%tAzm2NoW-db|`@ zB9!>O`{lqgdCiK1yXtnUi=@8(xzWq4=II%U@4NDBoEM_{{6VN#73unG z+mWjf^MMq+#NlGu8H^Yzb>vKVAp@03=dk!|B!q>P(e74?=A&qgF1>Qg0?}8ic&IBp z_br~eNy|$)uydB8x_Ug?UZW#5CjbQtt`7fJr@*C#6Bg;(TDH`oJA!e{T8tKP`bH~e zO=#@9Q?mAE!jGK)Mo+wW@9f>)f-*|�k1^>0H+j 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 diff --git a/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.5-compact.zip deleted file mode 100644 index d04e5bc7198e3dbbf9f7da8cc0f8e6ed6b2ee092..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6174 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 diff --git a/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.7-compact.zip deleted file mode 100644 index 564233c3f4d2a13d8ce25b31d68e55e8f8a0395d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6181 zcmai(Ra+E*qD5y2>2fIP?hfe?kQ`#@?vU>85|D>F$&qTDrSY;GT2e?|1ip zSTFk*tgWVmh$I0(0AK?ewPds$%qI#%i2#7;bO3-F008)UIe-4v1W>LlWn zOYWV7+&9O0e*g!_i+A(b2r_~EsK2CM&p5(qIS0p{Fa2La{R~W>%YM-hTbp>5j(Ov5 z5mbc#6wIr0juzf#ean1QFK~o05S6nUNtk^`N#`#ZnUJI@U<)XHvT|3KTYVfY(SI@}UO$7Py7^H)$os-a| zwc#Gcs5P(aX13lvaj?C&gx-o=@=t>t_sSAi8NJ?Z0yZfRuf5?bUxoHNz;e&-RBthd znmt41dcD)|xX*F_Vh6l4cTb_E3!1T~-n@wckT%Cf*1eJl%CNXiAA4<7fm#nI_JxAS z^m%f8A?X(RP&0BZ;QTw!*XOWi;OJfJmB4VRYiZ{IgVGwPNSmIzaVB^^=*5)SPPcQs z3Ao0_3z}(`mbIbeFlU}|t5W3kTvrlEPg0${0}vb(TVRODvr%B1uY0ai&l*UA_qN5n z9*HwYY{RI9f^J24gE^~gj1@iGV-?rWZ>K))Xo!_KsU7RvAvurerE>KVWPdg758~G^ zTgoc#->B)FF~&>4dm;OdBWIM2zYqW)!>MN*ur~cx2+26`=xK&QW=(6xy$>{99V1

BZ+QfK&G5i`2`9Y1 zlzK7wsXm>TIwPHTksCyWeiZ7_>q!N6aPk=zlj5k=SlNT{#(c)X6&3x;QCk(V^WRiu$JWmW`K;?gSs?x@8j6Qpv9M$Ql_2mY@&J70$0?0y3 zOU}aQeN+Aw!Bx=IQNDIX{ZqiIX%dRt&VVdjDyR(x^CyeiKQ<`GnpQ{`#>Dy?J`Gyl z@Z(M|_ZKMPD*lZ8wqNG(iJuTgdJ*D!ygBczf=G79NPu(Imvb<2VhmcLVTmTJypTc2 zNtxu;?IJGb+4VLOC5abyFI+9G`hE$cTZ4+MP&cOCU3PceIPEglqQ&;#$cPFyvx|vB3Piej+ zUs8upVFCh({1&YL9c4+PD4RBe+2}_Yl%W>}laErI*@Dv`TG+Uq3cm~=ULOyl!5;>t zluB`Wb3LmpM5#Tc>Ozbm3=>X4jzr!my+-Pw&g6s6cHba8 z0vS<~FHnW2+Ol%Sf!-LC*WC5x6vFa8Eyx2fCFjWv^U?zzryDBtW_IQUKkw577Wo7n z$D9<%48QmU6#r1}SAVI^^&G`b_*j-4$8z{EEa`c_qxedmFQrhdZ{XP_G@d$`ujCIP zOU;)-3HgK@DTsD8^r6$n=uzlvru!t=*e#wR1M74gUh{n}f>X^|W{D|eB)boIy0MZdn z%$Gy0yhySBwAOGb-`2RtXY;e2+G=`?-X)qxK^IIcuF+n-`D4;4XK%S3`Kf=x5TEZ~ zOM3=9AmexQ)@Y(fA0P^PG{`{+zFQ7){fVi@Bs2#f~)$cH#bN>G6B> zT|0SKMMuJNmg+=6xB6A6Z~cAG*mc8jY_CswoWV6o=NKzP$Z1Dz3{JV&(<12Cvz^QQ zZyYWpLHd_vO^9IbGFv??1JSUQ&zlHM1dsjau2)h+GwF(s06d`2bd1TE9ZZE`)wnq0 zx`}*)D(o{m!9IQPF61EiG)1@^Ce^DLnPEDRhc}}L);X-^m(_ahcP)u=Phc}y9SYGq z<7;?(hAXn;=gI`)IsF=uINa3m8X!ZTaQAyuF^LNw=AgpzCS*TurtR6*CPXIl%m8p$ z3;o_x!XLyM<=vNUn`&SfXoqz0=|3KqTL2^3Ka@T?rjL2im(NFb2tZj4d zGUv^nZ(X+NREtMN*I3IXj~tc18`ppV`4#41ewngGIC?~RPCKeV-FXYz8{}F^3-A}4 zEzYhbQqt-9s<21_ArwN+3U_>-B|8^XUOP;HK83`44kfmbDBhC{IS+XoqRqcmrq-pG-ZU#cX z(yQxz8(uiCuH-X_h=E?vQkt%%0nE=s5t}`CEZzI&7;1H#wYV-4_pD_<63W`IPU;?J z>?#|pv8y)QT!+W|Xo;s9BP*koJlcc^UB1zNn6ibU9_wLD*(cF;b=!a5^YZXasne9U ze{fdq^n?cdOgSgN5cfJRj}vJQECy;1Vq!#VY&)-Sh8mQH_wH$4r)`^LvmU!2*EibE zDr1|i>Y?ROrMa`t343eUpbQGG4cVq(Ju~Yaw=r#Uvle&byqnDp#b$?|wx%9askJ^b z?rZ96_7#LWdOgfU`638)IUdA!8!;CYx1c1eMKD0MTmRlXqgnRN8Qbs6W0UsVplDmC)%tqJOAUiHSYjjm0Q_p*B5HQdn zXzVB2Y&Lbomg|BUwjoztXTO%N|5M`#;t%Q^ow(oy@yf$=!op#l4qj)a{_b2U&YR|B>=4koOcZ(Bue%(+dn=K0elm&@09G=v)_7P8GI zM~vgx6|c1MT|mO$bSqWXh+4GO^ARRVa)S{J10U&QWtZmCh*%jfpb9QZ3hVrBNnRWn z@u&nw3>qQdN{4ja0zc5Ma)h5~md!B^C@*Z5sT!HnVnw1olqQ%V*swZRRyIr`*>WrH zMU+_-NTVdM`z=3eDO!E%K+saM)0N;3SBw-hOL`tGo2GRt2adQo{UrrhUlmb{BOg4T z3Z(Lv?Ohd1>7V!I02}Z*Muy-_h+V{3(p9W}ATNL757~q=rft@8gM{Wbq1`h2iC-uM z5DDSp+ce-T z3S1cMowyd%Mt-@TfZ?gh*3dB32!7`Tf|X3Kvc#m*?oqYEU0D^n(-*65$3TRy8W zPtcw^%;+ge-^+0@A9MdvMmi-pQj^}czi4zf!-6tes;juc|0!u{_P*C0>^)3kRzbX} zTptvpMsXMDAX~>3(Q`Gl=F6AVdKNsco6NzXFbL_v#u%F>efU7Kpd+<@)6vo1t=zSU z6STIm#|PSBo*2d3vs6xjcZyUj0R&Q*k7g+Uns-2}XZbO~KeyOn1NK-QxV2qnowTp& zvD2I|C=~rGJ1aKF!#Ni;(n!Iho=Vx=(5%`yw8?MII$-c~FTb2md0AkNFb7747)tSY z%Jm~5Eb%?sPpjk`Qz2glHNPT~QgC%sCZ+o%BQ2{$hHN zUnSk>2k;PL@G!pj!FPP|Mb%oqU*Vu5i+0Nz?Q{#*(t#A2`HNFUTatfR4W^*@AWc_R}(G|p5o6DUF4!<*giqrEb$(j zdR{22Rd4xZe<0RwJ8Bt%L8X2;cz@*B!l-6&>??Zk?9_z=%O)?e>*|qFDbWPuV!RCg zmdr5)5#_i7wS6XYi!J=Jt~&(Gm|_GlYXE#00;tpTWG&Jg2E zuKGKrAEb9ky0Tv5fo=me3ct6Pi<<)zkbo>~-Te532)WLx)J-CYp@2X7&@OqOKsZ|o z)BCALBC=_lfTC|c{1p%oAy-%+GP;wdyCfHteYD4G(+A+@rH*(m$N1%E^r-JTo^z?h zk1~Y^!0a9`AKgc>IzEYu zjh<7uHHIX(s8vN*FB2~!$K6AeSukjnP86rT6BdUeX#5pQc~pvD{an6o{M8gGK^wcs zL&Q#uy%Cgjra038Lp3H3dXhd<(gaEF+eSHbYd&d#a;q)++18z~WCJB_5g_-|~OpZi1& zsFu?s?9151OS5Ep8M+Tfu)KrLmfK%ncTiq*4*K=T=%ve@yE-<5G;iG|KUxk2Vuz_G zIfnU+9v5EwY*@L#%KTy)a2<3j_)gD3wX5|OBMLcGQa07(spU)JSYT!H-HkMB?XW*?(r5-VsqLA zbLRPcH-~G{Y!{Z`taMik*79DFY7L|-en6!AikG5e*s#D>IF0Y&@({SQz&XhY8L4r( zDuG=fC85MG$Ohwxn|;Q1VMJmV%MN8(9Cvc-+RE>B?NvqgCirM_|2wp{MJD|xxw1gF z+Q|v_Ns;!ctl^&iToJvYk(GuVibmCP4WKE(K%*e0zgqY$axva~^$fYWH|;Ib;A}Eu zOh8|@R^Rp0o(n~mNk%Q3kI8}J<0`tHc#>Fd*}xZX=e+`ffvR^5K$(>kxK2YhonV%Z zX@j%=lmM56@^hYdaQrnYg6AsP9e7C3g3oqa7jEt2TIfYzhA%C4jaL3i9tZM#m6zNj zylJfHbD^03uILl{YOh*eqOZkECgMz3JKnN->!joIa;3GGSsgD#W6Z)B)@(KcnJBhr zx0Z%0<~``Hel2Wx@W}Zf;k~~dhC;7)t3Ipt%l+wLCGIbR4(`Omxlw8F5S=KgA&X~J zh0J@7-e0rUuApFrK*t(hete~#;M&*0x4GD;2m>gbNo`AS3VnCOoDaVy#!YYAnSmto z^=l$OMO@t3+=HH7EKOX^GfHb7_GL#RFykh>`OhuD*zharvAICg1?)VwyxPK)!K<() zR^}<^5uH-{@hPhBeA>rUKW#Y?-34NnSrL8^Q9;&x;8>;TNMz&>;Y==fc1ra#q{qt( z_H$B-_|a=U7z1tk^xcqou05!gqXJ$|esT9IoglsicxCY=VjZhzm&qd4O4(j@v$xM% zKQc2|;Jt=NJXq4O2Vj~I3T|m)N_@V>h_VSEw|U7{z=vu(shDIXbBA+*&mCozxcCy2 zYrPh@Tt4!(ohPG?n3U#F|eZQy2yO12l91s3jL8R{$$|JXd%aF|qVOt890JaN}H_&eWFbBk}O zjkgN_;HZX0hW4iN;3DSH~Os4orH*Qraj zD?B@-hqAd%#*D*m%WVw2topPY?^R6$gPIX@`z_UFCc5>5)||Ny{Q~7dCB^>qHnE5A zhR#*FPFg;Uz|JDKdV)$CHfB7uLR9#9w|h_Ydv{`FmlrcL550`V)z{+)3E z=8jOAbBHkUIF9RB0g~g@4`0cw6-fjB^etv;r-H&F(FX#4bo518aV~q)B~*sAf7e3{ z)K}vyIxHoa^3iS1n=~R#zwhk`Ck|dwi*kjoVjFk+lH=M((YTgB2GP>I8XK3je~txd zdSpxwtAOErE+}a$wV4SX+0%=8MWz+e3i1oQ=)5-|jy3JVwb7K}?Z7s;=!hXHwBB@3>O7zv!+q5J0&GLiSe%6rw( zha&JTi+*r+_IC307hyi${U*-v{lU6T8L!`Gy&h>+rVWd9+N~s!h#y}mf=+Hnc_^o= z_QO{){G)(@9G`WY7xpVf8D?jSCWyTR3CC86T9_1n!sbJGQE;j)+E5Q`M}Zk}aM zXf*z}9~SJ_I!6(OJug%;qVKO`C|u{dk+0d8d_6WUK^?3*?rAnB1yxm6_23k2lew`D zr0fr8f`{r^`;r}mOx^(K^erXRQt!34IpK)8I!jDAj?pcf!te7*=*jz+1P)|Q;dtv^ zXY0@b{f>?%PiMLAz82bVZV<0|A=kbI#4`EWB996E_ODyg_giseH)!PitwSWUiorp| zO{~4NZmbNqWPL0R_QM4F8XY_wrUS8M{qJgWTHn@s7R+401sxl#4Z+{9Dz?yIcBGXA zmG_yc`gIpQvxDL nApYM5|34D{e-i@yFaBSjucn0j?!QCef2#T)_Wb7z009061is;E diff --git a/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.8-compact.zip deleted file mode 100644 index d972371ee2fb4107df90d379e39e6274b1eb7f10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6162 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 WQ$j-i?-A}lRsGM_{73!)fd2t37u3E0 diff --git a/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.9-compact.zip deleted file mode 100644 index f098c52a04cd54d8c64119ae062c14de9af1ff9d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6178 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 diff --git a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.1-compact.json deleted file mode 100644 index 2d5d7bc17e..0000000000 --- a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.1-compact.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "L": {}, - "C": { - "f(uint256,uint256[])": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: NEW VARIABLE 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: NEW VARIABLE 19\n\"];\n19->20;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: NEW VARIABLE 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: EXPRESSION 26\n\"];\n26->27;\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->28;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->30;\n30[label=\"Node Type: NEW VARIABLE 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->32;\n32[label=\"Node Type: END INLINE ASM 32\n\"];\n32->33;\n33[label=\"Node Type: RETURN 33\n\"];\n}\n", - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: END INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: RETURN 4\n\"];\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.10-compact.json deleted file mode 100644 index 2d5d7bc17e..0000000000 --- a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.10-compact.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "L": {}, - "C": { - "f(uint256,uint256[])": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: NEW VARIABLE 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: NEW VARIABLE 19\n\"];\n19->20;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: NEW VARIABLE 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: EXPRESSION 26\n\"];\n26->27;\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->28;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->30;\n30[label=\"Node Type: NEW VARIABLE 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->32;\n32[label=\"Node Type: END INLINE ASM 32\n\"];\n32->33;\n33[label=\"Node Type: RETURN 33\n\"];\n}\n", - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: END INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: RETURN 4\n\"];\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.11-compact.json deleted file mode 100644 index 2d5d7bc17e..0000000000 --- a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.11-compact.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "L": {}, - "C": { - "f(uint256,uint256[])": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: NEW VARIABLE 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: NEW VARIABLE 19\n\"];\n19->20;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: NEW VARIABLE 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: EXPRESSION 26\n\"];\n26->27;\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->28;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->30;\n30[label=\"Node Type: NEW VARIABLE 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->32;\n32[label=\"Node Type: END INLINE ASM 32\n\"];\n32->33;\n33[label=\"Node Type: RETURN 33\n\"];\n}\n", - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: END INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: RETURN 4\n\"];\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.12-compact.json deleted file mode 100644 index 2d5d7bc17e..0000000000 --- a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.12-compact.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "L": {}, - "C": { - "f(uint256,uint256[])": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: NEW VARIABLE 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: NEW VARIABLE 19\n\"];\n19->20;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: NEW VARIABLE 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: EXPRESSION 26\n\"];\n26->27;\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->28;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->30;\n30[label=\"Node Type: NEW VARIABLE 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->32;\n32[label=\"Node Type: END INLINE ASM 32\n\"];\n32->33;\n33[label=\"Node Type: RETURN 33\n\"];\n}\n", - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: END INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: RETURN 4\n\"];\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.13-compact.json deleted file mode 100644 index 2d5d7bc17e..0000000000 --- a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.13-compact.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "L": {}, - "C": { - "f(uint256,uint256[])": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: NEW VARIABLE 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: NEW VARIABLE 19\n\"];\n19->20;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: NEW VARIABLE 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: EXPRESSION 26\n\"];\n26->27;\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->28;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->30;\n30[label=\"Node Type: NEW VARIABLE 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->32;\n32[label=\"Node Type: END INLINE ASM 32\n\"];\n32->33;\n33[label=\"Node Type: RETURN 33\n\"];\n}\n", - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: END INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: RETURN 4\n\"];\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.14-compact.json deleted file mode 100644 index 2d5d7bc17e..0000000000 --- a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.14-compact.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "L": {}, - "C": { - "f(uint256,uint256[])": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: NEW VARIABLE 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: NEW VARIABLE 19\n\"];\n19->20;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: NEW VARIABLE 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: EXPRESSION 26\n\"];\n26->27;\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->28;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->30;\n30[label=\"Node Type: NEW VARIABLE 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->32;\n32[label=\"Node Type: END INLINE ASM 32\n\"];\n32->33;\n33[label=\"Node Type: RETURN 33\n\"];\n}\n", - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: END INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: RETURN 4\n\"];\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.15-compact.json deleted file mode 100644 index 2d5d7bc17e..0000000000 --- a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.15-compact.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "L": {}, - "C": { - "f(uint256,uint256[])": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: NEW VARIABLE 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: NEW VARIABLE 19\n\"];\n19->20;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: NEW VARIABLE 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: EXPRESSION 26\n\"];\n26->27;\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->28;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->30;\n30[label=\"Node Type: NEW VARIABLE 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->32;\n32[label=\"Node Type: END INLINE ASM 32\n\"];\n32->33;\n33[label=\"Node Type: RETURN 33\n\"];\n}\n", - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: END INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: RETURN 4\n\"];\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.2-compact.json deleted file mode 100644 index 2d5d7bc17e..0000000000 --- a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.2-compact.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "L": {}, - "C": { - "f(uint256,uint256[])": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: NEW VARIABLE 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: NEW VARIABLE 19\n\"];\n19->20;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: NEW VARIABLE 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: EXPRESSION 26\n\"];\n26->27;\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->28;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->30;\n30[label=\"Node Type: NEW VARIABLE 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->32;\n32[label=\"Node Type: END INLINE ASM 32\n\"];\n32->33;\n33[label=\"Node Type: RETURN 33\n\"];\n}\n", - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: END INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: RETURN 4\n\"];\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.3-compact.json deleted file mode 100644 index 2d5d7bc17e..0000000000 --- a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.3-compact.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "L": {}, - "C": { - "f(uint256,uint256[])": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: NEW VARIABLE 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: NEW VARIABLE 19\n\"];\n19->20;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: NEW VARIABLE 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: EXPRESSION 26\n\"];\n26->27;\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->28;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->30;\n30[label=\"Node Type: NEW VARIABLE 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->32;\n32[label=\"Node Type: END INLINE ASM 32\n\"];\n32->33;\n33[label=\"Node Type: RETURN 33\n\"];\n}\n", - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: END INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: RETURN 4\n\"];\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.33-compact.json similarity index 57% rename from tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.33-compact.json index 2d5d7bc17e..e9fe8dbb23 100644 --- a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.0-compact.json +++ b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.33-compact.json @@ -1,7 +1,7 @@ { "L": {}, "C": { - "f(uint256,uint256[])": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: NEW VARIABLE 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: NEW VARIABLE 19\n\"];\n19->20;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: NEW VARIABLE 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: EXPRESSION 26\n\"];\n26->27;\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->28;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->30;\n30[label=\"Node Type: NEW VARIABLE 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->32;\n32[label=\"Node Type: END INLINE ASM 32\n\"];\n32->33;\n33[label=\"Node Type: RETURN 33\n\"];\n}\n", + "f(uint256,uint256[])": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: NEW VARIABLE 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: NEW VARIABLE 19\n\"];\n19->20;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: NEW VARIABLE 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->26;\n26[label=\"Node Type: EXPRESSION 26\n\"];\n26->27;\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->28;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->30;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->32;\n32[label=\"Node Type: NEW VARIABLE 32\n\"];\n32->33;\n33[label=\"Node Type: EXPRESSION 33\n\"];\n33->34;\n34[label=\"Node Type: END INLINE ASM 34\n\"];\n34->35;\n35[label=\"Node Type: RETURN 35\n\"];\n}\n", "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: END INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: RETURN 4\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.4-compact.json deleted file mode 100644 index 2d5d7bc17e..0000000000 --- a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.4-compact.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "L": {}, - "C": { - "f(uint256,uint256[])": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: NEW VARIABLE 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: NEW VARIABLE 19\n\"];\n19->20;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: NEW VARIABLE 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: EXPRESSION 26\n\"];\n26->27;\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->28;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->30;\n30[label=\"Node Type: NEW VARIABLE 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->32;\n32[label=\"Node Type: END INLINE ASM 32\n\"];\n32->33;\n33[label=\"Node Type: RETURN 33\n\"];\n}\n", - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: END INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: RETURN 4\n\"];\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.5-compact.json deleted file mode 100644 index 2d5d7bc17e..0000000000 --- a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.5-compact.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "L": {}, - "C": { - "f(uint256,uint256[])": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: NEW VARIABLE 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: NEW VARIABLE 19\n\"];\n19->20;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: NEW VARIABLE 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: EXPRESSION 26\n\"];\n26->27;\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->28;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->30;\n30[label=\"Node Type: NEW VARIABLE 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->32;\n32[label=\"Node Type: END INLINE ASM 32\n\"];\n32->33;\n33[label=\"Node Type: RETURN 33\n\"];\n}\n", - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: END INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: RETURN 4\n\"];\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.6-compact.json deleted file mode 100644 index 2d5d7bc17e..0000000000 --- a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.6-compact.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "L": {}, - "C": { - "f(uint256,uint256[])": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: NEW VARIABLE 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: NEW VARIABLE 19\n\"];\n19->20;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: NEW VARIABLE 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: EXPRESSION 26\n\"];\n26->27;\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->28;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->30;\n30[label=\"Node Type: NEW VARIABLE 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->32;\n32[label=\"Node Type: END INLINE ASM 32\n\"];\n32->33;\n33[label=\"Node Type: RETURN 33\n\"];\n}\n", - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: END INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: RETURN 4\n\"];\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.7-compact.json deleted file mode 100644 index 2d5d7bc17e..0000000000 --- a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.7-compact.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "L": {}, - "C": { - "f(uint256,uint256[])": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: NEW VARIABLE 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: NEW VARIABLE 19\n\"];\n19->20;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: NEW VARIABLE 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: EXPRESSION 26\n\"];\n26->27;\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->28;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->30;\n30[label=\"Node Type: NEW VARIABLE 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->32;\n32[label=\"Node Type: END INLINE ASM 32\n\"];\n32->33;\n33[label=\"Node Type: RETURN 33\n\"];\n}\n", - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: END INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: RETURN 4\n\"];\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.8-compact.json deleted file mode 100644 index 2d5d7bc17e..0000000000 --- a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.8-compact.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "L": {}, - "C": { - "f(uint256,uint256[])": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: NEW VARIABLE 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: NEW VARIABLE 19\n\"];\n19->20;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: NEW VARIABLE 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: EXPRESSION 26\n\"];\n26->27;\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->28;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->30;\n30[label=\"Node Type: NEW VARIABLE 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->32;\n32[label=\"Node Type: END INLINE ASM 32\n\"];\n32->33;\n33[label=\"Node Type: RETURN 33\n\"];\n}\n", - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: END INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: RETURN 4\n\"];\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.9-compact.json deleted file mode 100644 index 2d5d7bc17e..0000000000 --- a/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.9-compact.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "L": {}, - "C": { - "f(uint256,uint256[])": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: NEW VARIABLE 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: NEW VARIABLE 19\n\"];\n19->20;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: NEW VARIABLE 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: EXPRESSION 25\n\"];\n25->26;\n26[label=\"Node Type: EXPRESSION 26\n\"];\n26->27;\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->28;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->30;\n30[label=\"Node Type: NEW VARIABLE 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->32;\n32[label=\"Node Type: END INLINE ASM 32\n\"];\n32->33;\n33[label=\"Node Type: RETURN 33\n\"];\n}\n", - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: END INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: RETURN 4\n\"];\n}\n" - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/yul-0.8.0.sol b/tests/e2e/solc_parsing/test_data/yul-0.8.0.sol index 449df9135c..da7c1fa2b4 100644 --- a/tests/e2e/solc_parsing/test_data/yul-0.8.0.sol +++ b/tests/e2e/solc_parsing/test_data/yul-0.8.0.sol @@ -17,6 +17,7 @@ contract C { let aParamA := paramA let aRetA := retA let aLocalA := localA + let clzCount := clz(paramA) sstore(storA.slot, 0) sstore(offset, 0) From 29d45e291e08c2ffa675addb4b01a05f21a09848 Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 6 Jan 2026 19:47:22 +0100 Subject: [PATCH 081/113] Run the yul test only for solc 0.8.33 --- tests/e2e/solc_parsing/test_ast_parsing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/e2e/solc_parsing/test_ast_parsing.py b/tests/e2e/solc_parsing/test_ast_parsing.py index d33c3484b3..9e7898b9f8 100644 --- a/tests/e2e/solc_parsing/test_ast_parsing.py +++ b/tests/e2e/solc_parsing/test_ast_parsing.py @@ -182,7 +182,7 @@ def make_version(minor: int, patch_min: int, patch_max: int) -> List[str]: ), Test("yul-0.7.0.sol", make_version(7, 0, 4)), Test("yul-0.7.5.sol", make_version(7, 5, 6)), - Test("yul-0.8.0.sol", VERSIONS_08), + Test("yul-0.8.0.sol", ["0.8.33"]), Test("pragma-0.4.0.sol", VERSIONS_04), Test("pragma-0.5.0.sol", VERSIONS_05), Test("pragma-0.6.0.sol", VERSIONS_06), From c65b754821784843fa1dd45c15eab88117284fb2 Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 6 Jan 2026 20:34:03 +0100 Subject: [PATCH 082/113] Use windows-2025 --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 07004384b3..f9548a79b2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,7 +27,7 @@ jobs: matrix: os: >- ${{ (github.event_name == 'pull_request' && fromJSON('["ubuntu-latest"]')) - || fromJSON('["ubuntu-latest", "windows-2022"]') }} + || fromJSON('["ubuntu-latest", "windows-2025"]') }} python: >- ${{ (github.event_name == 'pull_request' && fromJSON('["3.9", "3.12"]')) || fromJSON('["3.9", "3.10", "3.11", "3.12"]') }} @@ -43,10 +43,10 @@ jobs: - os: windows-2025 type: dapp # Requires nvm - - os: windows-2022 + - os: windows-2025 type: truffle # fasttext fails to install on Windows - - os: windows-2022 + - os: windows-2025 type: simil steps: - uses: actions/checkout@v6 From cefc17a5af4e7513c763498f85d1717ac4f2c7af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20L=C3=B3pez?= Date: Tue, 6 Jan 2026 16:50:30 -0300 Subject: [PATCH 083/113] tool demo: restore README --- slither/tools/demo/README.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 slither/tools/demo/README.md diff --git a/slither/tools/demo/README.md b/slither/tools/demo/README.md new file mode 100644 index 0000000000..2ed90692cd --- /dev/null +++ b/slither/tools/demo/README.md @@ -0,0 +1,6 @@ +# Demo + +This directory contains an example of Slither utility. + +See the [utility documentation](https://github.com/crytic/slither/wiki/Adding-a-new-utility) + From 65f125e93b88800181b6aa2eb6a15caf7e8dcb55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20L=C3=B3pez?= Date: Tue, 6 Jan 2026 16:53:21 -0300 Subject: [PATCH 084/113] lint: fix yamllint errors --- .pre-commit-config.yaml | 2 +- .yamllint | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 16e731398f..4a7594b99f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -60,4 +60,4 @@ default_language_version: python: python3.11 # Run hooks on pre-commit and pre-push -default_stages: [pre-commit, pre-push] \ No newline at end of file +default_stages: [pre-commit, pre-push] diff --git a/.yamllint b/.yamllint index 7154956882..3693246df6 100644 --- a/.yamllint +++ b/.yamllint @@ -21,4 +21,4 @@ ignore: | node_modules/ build/ dist/ - *.egg-info/ \ No newline at end of file + *.egg-info/ From e1d34da1463f6ba191b1d8a6b7ac30bd9b793e7b Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 6 Jan 2026 20:53:58 +0100 Subject: [PATCH 085/113] Format --- slither/tools/mutator/__main__.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/slither/tools/mutator/__main__.py b/slither/tools/mutator/__main__.py index ca3676e2f4..91cadaa658 100644 --- a/slither/tools/mutator/__main__.py +++ b/slither/tools/mutator/__main__.py @@ -342,7 +342,7 @@ def main() -> None: if total_mutant_counts[0] > 0: logger.info( magenta( - f"Revert mutants: {uncaught_mutant_counts[0]} uncaught of {total_mutant_counts[0]} ({round(100 * (total_mutant_counts[0] - uncaught_mutant_counts[0])/total_mutant_counts[0], 1)}% caught)" + f"Revert mutants: {uncaught_mutant_counts[0]} uncaught of {total_mutant_counts[0]} ({round(100 * (total_mutant_counts[0] - uncaught_mutant_counts[0]) / total_mutant_counts[0], 1)}% caught)" ) ) else: @@ -351,7 +351,7 @@ def main() -> None: if total_mutant_counts[1] > 0: logger.info( magenta( - f"Comment mutants: {uncaught_mutant_counts[1]} uncaught of {total_mutant_counts[1]} ({round(100 * (total_mutant_counts[1] - uncaught_mutant_counts[1])/total_mutant_counts[1], 1)}% caught)" + f"Comment mutants: {uncaught_mutant_counts[1]} uncaught of {total_mutant_counts[1]} ({round(100 * (total_mutant_counts[1] - uncaught_mutant_counts[1]) / total_mutant_counts[1], 1)}% caught)" ) ) else: @@ -360,7 +360,7 @@ def main() -> None: if total_mutant_counts[2] > 0: logger.info( magenta( - f"Tweak mutants: {uncaught_mutant_counts[2]} uncaught of {total_mutant_counts[2]} ({round(100 * (total_mutant_counts[2] - uncaught_mutant_counts[2])/total_mutant_counts[2], 1)}% caught)\n" + f"Tweak mutants: {uncaught_mutant_counts[2]} uncaught of {total_mutant_counts[2]} ({round(100 * (total_mutant_counts[2] - uncaught_mutant_counts[2]) / total_mutant_counts[2], 1)}% caught)\n" ) ) else: From b64f7be80b56e78707e44b6a8ee32135d30775c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20L=C3=B3pez?= Date: Tue, 6 Jan 2026 16:54:42 -0300 Subject: [PATCH 086/113] slither-format: restore specific gitignore rules --- slither/tools/slither_format/.gitignore | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 slither/tools/slither_format/.gitignore diff --git a/slither/tools/slither_format/.gitignore b/slither/tools/slither_format/.gitignore new file mode 100644 index 0000000000..cbef61e67c --- /dev/null +++ b/slither/tools/slither_format/.gitignore @@ -0,0 +1,14 @@ +# .format files are the output files produced by slither-format +# .patch files are the output files produced by slither-format +*.format +*.patch + +# Temporary files (Emacs backup files ending in tilde and others) +*~ +*.err +*.out + + + + + From d3870a32e59edc7dd0beac66e049e0c8e8e9df43 Mon Sep 17 00:00:00 2001 From: Simone <79767264+smonicas@users.noreply.github.com> Date: Tue, 6 Jan 2026 21:23:05 +0100 Subject: [PATCH 087/113] Update CLAUDE.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Emilio López <2642849+elopez@users.noreply.github.com> --- CLAUDE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CLAUDE.md b/CLAUDE.md index 81d2075942..3d2c53b54b 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -15,7 +15,7 @@ ## Python guidelines - Always use `uv` instead of pip - Build with `hatchling` (`[build-system]` in pyproject.toml) -- Use `astral-sh/ruff-action@v1` in CI +- Use `astral-sh/ruff-action@v3` or newer in CI - Let tools auto-detect versions from pyproject.toml - Verify builds: `uv build`, `uv tool install dist/*.whl`, `uv tool install -e .` From d2d25d0ded7136611c7f013a7f94c60f669ef4c3 Mon Sep 17 00:00:00 2001 From: bohendo Date: Tue, 6 Jan 2026 15:56:45 -0500 Subject: [PATCH 088/113] track caught instead of uncaught mutants --- slither/tools/mutator/__main__.py | 32 ++++++------ .../mutator/mutators/abstract_mutator.py | 50 +++++++++++-------- 2 files changed, 46 insertions(+), 36 deletions(-) diff --git a/slither/tools/mutator/__main__.py b/slither/tools/mutator/__main__.py index 91cadaa658..3edf3e0931 100644 --- a/slither/tools/mutator/__main__.py +++ b/slither/tools/mutator/__main__.py @@ -234,8 +234,8 @@ def main() -> None: files_dict = backup_source_file(sl.source_code, output_folder) # total revert/comment/tweak mutants that were generated and compiled total_mutant_counts = [0, 0, 0] - # total uncaught revert/comment/tweak mutants - uncaught_mutant_counts = [0, 0, 0] + # total caught revert/comment/tweak mutants + caught_mutant_counts = [0, 0, 0] # lines those need not be mutated (taken from RR and CR) dont_mutate_lines = [] @@ -282,38 +282,38 @@ def main() -> None: output_folder, dont_mutate_lines, ) - (total_counts, uncaught_counts, lines_list) = m.mutate() + (total_counts, caught_counts, lines_list) = m.mutate() if m.NAME == "RR": total_mutant_counts[0] += total_counts[0] - uncaught_mutant_counts[0] += uncaught_counts[0] + caught_mutant_counts[0] += caught_counts[0] if verbose: logger.info( magenta( - f"Mutator {m.NAME} found {uncaught_counts[0]} uncaught revert mutants (out of {total_counts[0]} that compile)" + f"Mutator {m.NAME} found {caught_counts[0]} caught revert mutants (out of {total_counts[0]} that compile)" ) ) elif m.NAME == "CR": total_mutant_counts[1] += total_counts[1] - uncaught_mutant_counts[1] += uncaught_counts[1] + caught_mutant_counts[1] += caught_counts[1] if verbose: logger.info( magenta( - f"Mutator {m.NAME} found {uncaught_counts[1]} uncaught comment mutants (out of {total_counts[1]} that compile)" + f"Mutator {m.NAME} found {caught_counts[1]} caught comment mutants (out of {total_counts[1]} that compile)" ) ) else: total_mutant_counts[2] += total_counts[2] - uncaught_mutant_counts[2] += uncaught_counts[2] + caught_mutant_counts[2] += caught_counts[2] if verbose: logger.info( magenta( - f"Mutator {m.NAME} found {uncaught_counts[2]} uncaught tweak mutants (out of {total_counts[2]} that compile)" + f"Mutator {m.NAME} found {caught_counts[2]} caught tweak mutants (out of {total_counts[2]} that compile)" ) ) logger.info( magenta( - f"Running total: found {uncaught_mutant_counts[2]} uncaught tweak mutants (out of {total_mutant_counts[2]} that compile)" + f"Running total: found {caught_mutant_counts[2]} caught tweak mutants (out of {total_mutant_counts[2]} that compile)" ) ) @@ -342,7 +342,7 @@ def main() -> None: if total_mutant_counts[0] > 0: logger.info( magenta( - f"Revert mutants: {uncaught_mutant_counts[0]} uncaught of {total_mutant_counts[0]} ({round(100 * (total_mutant_counts[0] - uncaught_mutant_counts[0]) / total_mutant_counts[0], 1)}% caught)" + f"Revert mutants: {caught_mutant_counts[0]} caught of {total_mutant_counts[0]} ({round(100 * caught_mutant_counts[0] / total_mutant_counts[0], 1)}% caught)" ) ) else: @@ -351,7 +351,7 @@ def main() -> None: if total_mutant_counts[1] > 0: logger.info( magenta( - f"Comment mutants: {uncaught_mutant_counts[1]} uncaught of {total_mutant_counts[1]} ({round(100 * (total_mutant_counts[1] - uncaught_mutant_counts[1]) / total_mutant_counts[1], 1)}% caught)" + f"Comment mutants: {caught_mutant_counts[1]} caught of {total_mutant_counts[1]} ({round(100 * caught_mutant_counts[1] / total_mutant_counts[1], 1)}% caught)" ) ) else: @@ -360,7 +360,7 @@ def main() -> None: if total_mutant_counts[2] > 0: logger.info( magenta( - f"Tweak mutants: {uncaught_mutant_counts[2]} uncaught of {total_mutant_counts[2]} ({round(100 * (total_mutant_counts[2] - uncaught_mutant_counts[2]) / total_mutant_counts[2], 1)}% caught)\n" + f"Tweak mutants: {caught_mutant_counts[2]} caught of {total_mutant_counts[2]} ({round(100 * caught_mutant_counts[2] / total_mutant_counts[2], 1)}% caught)" ) ) else: @@ -370,9 +370,9 @@ def main() -> None: total_mutant_counts[0] = 0 total_mutant_counts[1] = 0 total_mutant_counts[2] = 0 - uncaught_mutant_counts[0] = 0 - uncaught_mutant_counts[1] = 0 - uncaught_mutant_counts[2] = 0 + caught_mutant_counts[0] = 0 + caught_mutant_counts[1] = 0 + caught_mutant_counts[2] = 0 # Print the total time elapsed in a human-readable time format elapsed_time = round(time.time() - start_time) diff --git a/slither/tools/mutator/mutators/abstract_mutator.py b/slither/tools/mutator/mutators/abstract_mutator.py index 51ed7d43e1..90ace9db5a 100644 --- a/slither/tools/mutator/mutators/abstract_mutator.py +++ b/slither/tools/mutator/mutators/abstract_mutator.py @@ -48,8 +48,8 @@ def __init__( self.dont_mutate_line = dont_mutate_line # total revert/comment/tweak mutants that were generated and compiled self.total_mutant_counts = [0, 0, 0] - # total uncaught revert/comment/tweak mutants - self.uncaught_mutant_counts = [0, 0, 0] + # total caught revert/comment/tweak mutants + self.caught_mutant_counts = [0, 0, 0] if not self.NAME: raise IncorrectMutatorInitialization( @@ -80,11 +80,12 @@ def _mutate(self) -> Dict: def mutate(self) -> Tuple[List[int], List[int], List[int]]: all_patches: Dict = {} + # call _mutate implementation of different mutation types try: - # call _mutate function from different mutators (all_patches) = self._mutate() except Exception as e: logger.error(red("%s mutator failed in %s: %s"), self.NAME, self.contract.name, str(e)) + if "patches" not in all_patches: logger.debug("No patches found by %s", self.NAME) return [0, 0, 0], [0, 0, 0], self.dont_mutate_line @@ -95,7 +96,7 @@ def mutate(self) -> Tuple[List[int], List[int], List[int]]: patches.sort(key=lambda x: x["start"]) for patch in patches: # test the patch - patchWasCaught = test_patch( + patch_was_caught = test_patch( self.output_folder, file, patch, @@ -106,16 +107,34 @@ def mutate(self) -> Tuple[List[int], List[int], List[int]]: self.verbose, ) - # count the uncaught mutants, flag RR/CR mutants to skip further mutations - if patchWasCaught == 0: + # skip mutants that couldn't compile + if patch_was_caught == 2: + continue + + # Add all mutants that could compile to the totals by type + if self.NAME == "RR": + self.total_mutant_counts[0] += 1 + elif self.NAME == "CR": + self.total_mutant_counts[1] += 1 + else: + self.total_mutant_counts[2] += 1 + + # count caught mutants + if patch_was_caught == 1: + if self.NAME == "RR": + self.caught_mutant_counts[0] += 1 + elif self.NAME == "CR": + self.caught_mutant_counts[1] += 1 + else: + self.caught_mutant_counts[2] += 1 + + + # record uncaught mutants to skip known-under-tested lines + if patch_was_caught == 0: if self.NAME == "RR": - self.uncaught_mutant_counts[0] += 1 self.dont_mutate_line.append(patch["line_number"]) elif self.NAME == "CR": - self.uncaught_mutant_counts[1] += 1 self.dont_mutate_line.append(patch["line_number"]) - else: - self.uncaught_mutant_counts[2] += 1 patched_txt, _ = apply_patch(original_txt, patch, 0) diff = create_diff(self.compilation_unit, original_txt, patched_txt, file) @@ -128,13 +147,4 @@ def mutate(self) -> Tuple[List[int], List[int], List[int]]: ) as patches_file: patches_file.write(diff + "\n") - # count the total number of mutants that we were able to compile - if patchWasCaught != 2: - if self.NAME == "RR": - self.total_mutant_counts[0] += 1 - elif self.NAME == "CR": - self.total_mutant_counts[1] += 1 - else: - self.total_mutant_counts[2] += 1 - - return self.total_mutant_counts, self.uncaught_mutant_counts, self.dont_mutate_line + return self.total_mutant_counts, self.caught_mutant_counts, self.dont_mutate_line From 3033a6f68a108109d536061ac7103b0c88cc8070 Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 6 Jan 2026 23:24:29 +0100 Subject: [PATCH 089/113] Format --- slither/tools/mutator/mutators/abstract_mutator.py | 1 - 1 file changed, 1 deletion(-) diff --git a/slither/tools/mutator/mutators/abstract_mutator.py b/slither/tools/mutator/mutators/abstract_mutator.py index 90ace9db5a..570fa35d6e 100644 --- a/slither/tools/mutator/mutators/abstract_mutator.py +++ b/slither/tools/mutator/mutators/abstract_mutator.py @@ -128,7 +128,6 @@ def mutate(self) -> Tuple[List[int], List[int], List[int]]: else: self.caught_mutant_counts[2] += 1 - # record uncaught mutants to skip known-under-tested lines if patch_was_caught == 0: if self.NAME == "RR": From 4d806147f44580ac40c20d5c7300c7ab505e434d Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 6 Jan 2026 23:34:27 +0100 Subject: [PATCH 090/113] Use yamllint 1.37.1 --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 4a7594b99f..b158b99e97 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -20,7 +20,7 @@ repos: # YAML linting - repo: https://github.com/adrienverge/yamllint - rev: v1.35.1 + rev: v1.37.1 hooks: - id: yamllint name: yamllint From 999a82ebb4f88c3f71d73fc77b271e3e5453e53a Mon Sep 17 00:00:00 2001 From: Simone Date: Tue, 6 Jan 2026 23:39:07 +0100 Subject: [PATCH 091/113] Use ruff-check. ruff is legacy --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index b158b99e97..f1614ece1a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -9,7 +9,7 @@ repos: rev: v0.14.10 # Use 'pre-commit autoupdate' to get the latest version hooks: # Run ruff linter - - id: ruff + - id: ruff-check name: ruff lint args: [--fix, --exit-non-zero-on-fix] types_or: [python, pyi] From 72301d02f79bfd3332ceb53bb96f12576b29c95f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20L=C3=B3pez?= Date: Tue, 6 Jan 2026 20:07:20 -0300 Subject: [PATCH 092/113] Test Slither on Python 3.13 and 3.14 Closes #2856 --- .github/workflows/ci.yml | 4 ++-- .github/workflows/doctor.yml | 2 +- .github/workflows/ruff.yml | 2 +- .github/workflows/test.yml | 4 ++-- pyproject.toml | 2 ++ 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f9548a79b2..e8054c74ad 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,8 +29,8 @@ jobs: ${{ (github.event_name == 'pull_request' && fromJSON('["ubuntu-latest"]')) || fromJSON('["ubuntu-latest", "windows-2025"]') }} python: >- - ${{ (github.event_name == 'pull_request' && fromJSON('["3.9", "3.12"]')) - || fromJSON('["3.9", "3.10", "3.11", "3.12"]') }} + ${{ (github.event_name == 'pull_request' && fromJSON('["3.9", "3.14"]')) + || fromJSON('["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]') }} type: >- ${{ (github.event_name == 'pull_request' && fromJSON('["data_dependency", "path_filtering", "erc", "find_paths", diff --git a/.github/workflows/doctor.yml b/.github/workflows/doctor.yml index e3ce8a0851..205218aa9a 100644 --- a/.github/workflows/doctor.yml +++ b/.github/workflows/doctor.yml @@ -23,7 +23,7 @@ jobs: fail-fast: false matrix: os: ["ubuntu-latest", "windows-2025"] - python: ["3.9", "3.10", "3.11", "3.12"] + python: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"] steps: - uses: actions/checkout@v6 diff --git a/.github/workflows/ruff.yml b/.github/workflows/ruff.yml index ae7a0a031c..7ff7d421a8 100644 --- a/.github/workflows/ruff.yml +++ b/.github/workflows/ruff.yml @@ -51,7 +51,7 @@ jobs: - name: Install uv and Python for yamllint uses: astral-sh/setup-uv@v7 with: - python-version: "3.12" + python-version: "3.14" activate-environment: true - name: Install and run yamllint diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 53e6013248..d122c38d6b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -26,8 +26,8 @@ jobs: os: ["ubuntu-latest", "windows-2025"] type: ["unit", "integration", "tool"] python: >- - ${{ (github.event_name == 'pull_request' && fromJSON('["3.9", "3.12"]')) - || fromJSON('["3.9", "3.10", "3.11", "3.12"]') }} + ${{ (github.event_name == 'pull_request' && fromJSON('["3.9", "3.14"]')) + || fromJSON('["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]') }} steps: - uses: actions/checkout@v6 - name: Install uv and Python ${{ matrix.python }} diff --git a/pyproject.toml b/pyproject.toml index 219ab03ddf..30b8482b51 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,6 +26,8 @@ classifiers = [ "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] dependencies = [ "importlib_metadata>=3.6", From f6c25d58e630fa35e37fdfeb67ad869306044bbc Mon Sep 17 00:00:00 2001 From: Simone Date: Wed, 7 Jan 2026 02:39:16 +0100 Subject: [PATCH 093/113] Update pre-commit-hooks version --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f1614ece1a..5bfeb42a00 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -30,7 +30,7 @@ repos: # General file checks - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v5.0.0 + rev: v6.0.0 hooks: - id: trailing-whitespace name: trim trailing whitespace From 44593416a729ca7393e20d23ace802398347ea06 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 7 Jan 2026 16:45:57 +0000 Subject: [PATCH 094/113] Bump actions/checkout from 4 to 6 Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/ruff.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ruff.yml b/.github/workflows/ruff.yml index 7ff7d421a8..c1167fb639 100644 --- a/.github/workflows/ruff.yml +++ b/.github/workflows/ruff.yml @@ -28,7 +28,7 @@ jobs: steps: - name: Checkout Code - uses: actions/checkout@v4 + uses: actions/checkout@v6 - name: Run Ruff linter uses: astral-sh/ruff-action@v3 From 4488f1d93480bb056b76264e6959b8d11e7f18b6 Mon Sep 17 00:00:00 2001 From: Simone Date: Wed, 7 Jan 2026 20:43:28 +0100 Subject: [PATCH 095/113] Do not track references to TopLevelVariable --- slither/core/cfg/node.py | 5 ----- slither/slithir/utils/ssa.py | 4 ++-- slither/slithir/variables/local_variable.py | 4 +--- .../compile/yul-0.8.0.sol-0.8.33-compact.zip | Bin 6641 -> 7247 bytes .../yul-0.8.0.sol-0.8.33-compact.json | 3 ++- .../e2e/solc_parsing/test_data/yul-0.8.0.sol | 8 ++++++++ 6 files changed, 13 insertions(+), 11 deletions(-) diff --git a/slither/core/cfg/node.py b/slither/core/cfg/node.py index b9387a31f7..aa52f324d4 100644 --- a/slither/core/cfg/node.py +++ b/slither/core/cfg/node.py @@ -969,11 +969,6 @@ def _update_read_using_ssa(self, ir: Operation) -> None: # If we read from a storage variable (outside of phi operator) if isinstance(var, LocalIRVariable) and var.is_storage: for refer_to in var.refers_to: - # It is possible to have a TopLevelVariable - # assembly { - # $.slot := M - # } - # where M is a constant TopLevelVariable if isinstance(refer_to, (StateIRVariable, LocalIRVariable)): self._ssa_vars_read.append(refer_to) diff --git a/slither/slithir/utils/ssa.py b/slither/slithir/utils/ssa.py index a2c5cc3079..c4df335510 100644 --- a/slither/slithir/utils/ssa.py +++ b/slither/slithir/utils/ssa.py @@ -294,13 +294,13 @@ def generate_ssa_irs( if isinstance(new_ir.rvalue, ReferenceVariable): refers_to = new_ir.rvalue.points_to_origin new_ir.lvalue.add_refers_to(refers_to) - # Discard Constant + # Discard Constant and TopLevelVariable # This can happen on yul, like # assembly { var.slot = some_value } # Here we do not keep track of the references as we do not track # such low level manipulation # However we could extend our storage model to do so in the future - elif not isinstance(new_ir.rvalue, Constant): + elif not isinstance(new_ir.rvalue, (Constant, TopLevelVariable)): new_ir.lvalue.add_refers_to(new_ir.rvalue) for succ in node.dominator_successors: diff --git a/slither/slithir/variables/local_variable.py b/slither/slithir/variables/local_variable.py index 7c4a7a211c..0b4e5030ad 100644 --- a/slither/slithir/variables/local_variable.py +++ b/slither/slithir/variables/local_variable.py @@ -1,6 +1,5 @@ from typing import Set from slither.core.variables.local_variable import LocalVariable -from slither.core.variables.top_level_variable import TopLevelVariable from slither.slithir.variables.temporary import TemporaryVariable from slither.slithir.variables.variable import SlithIRVariable from slither.slithir.variables.state_variable import StateIRVariable @@ -67,8 +66,7 @@ def non_ssa_version(self) -> LocalVariable: def add_refers_to(self, variable: StateIRVariable) -> None: # It is a temporaryVariable if its the return of a new .. # ex: string[] memory dynargs = new string[](1); - # It can also be a TopLevelVariable for file-level constant/immutable references - assert isinstance(variable, (SlithIRVariable, TemporaryVariable, TopLevelVariable)) + assert isinstance(variable, (SlithIRVariable, TemporaryVariable)) self._refers_to.add(variable) @property diff --git a/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.33-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.33-compact.zip index df10bafbb17846ca2efb19b59f6e02ce9f9c6456..573a5042097fc5e89f93ec0af30b1152544c4193 100644 GIT binary patch delta 7024 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 OlcpI(2I?CC0000cw4f#c delta 6413 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\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: NEW VARIABLE 2\n\"];\n2->3;\n3[label=\"Node Type: INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: NEW VARIABLE 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: NEW VARIABLE 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: NEW VARIABLE 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: NEW VARIABLE 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: NEW VARIABLE 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n13->14;\n14[label=\"Node Type: EXPRESSION 14\n\"];\n14->15;\n15[label=\"Node Type: EXPRESSION 15\n\"];\n15->16;\n16[label=\"Node Type: EXPRESSION 16\n\"];\n16->17;\n17[label=\"Node Type: EXPRESSION 17\n\"];\n17->18;\n18[label=\"Node Type: EXPRESSION 18\n\"];\n18->19;\n19[label=\"Node Type: NEW VARIABLE 19\n\"];\n19->20;\n20[label=\"Node Type: EXPRESSION 20\n\"];\n20->21;\n21[label=\"Node Type: NEW VARIABLE 21\n\"];\n21->22;\n22[label=\"Node Type: EXPRESSION 22\n\"];\n22->23;\n23[label=\"Node Type: NEW VARIABLE 23\n\"];\n23->24;\n24[label=\"Node Type: EXPRESSION 24\n\"];\n24->25;\n25[label=\"Node Type: NEW VARIABLE 25\n\"];\n25->26;\n26[label=\"Node Type: EXPRESSION 26\n\"];\n26->27;\n27[label=\"Node Type: EXPRESSION 27\n\"];\n27->28;\n28[label=\"Node Type: EXPRESSION 28\n\"];\n28->29;\n29[label=\"Node Type: EXPRESSION 29\n\"];\n29->30;\n30[label=\"Node Type: EXPRESSION 30\n\"];\n30->31;\n31[label=\"Node Type: EXPRESSION 31\n\"];\n31->32;\n32[label=\"Node Type: NEW VARIABLE 32\n\"];\n32->33;\n33[label=\"Node Type: EXPRESSION 33\n\"];\n33->34;\n34[label=\"Node Type: END INLINE ASM 34\n\"];\n34->35;\n35[label=\"Node Type: RETURN 35\n\"];\n}\n", - "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: END INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: RETURN 4\n\"];\n}\n" + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: END INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: RETURN 4\n\"];\n}\n", + "_m()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: INLINE ASM 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: END INLINE ASM 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: RETURN 5\n\"];\n}\n" } } \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/yul-0.8.0.sol b/tests/e2e/solc_parsing/test_data/yul-0.8.0.sol index da7c1fa2b4..606f68e1ab 100644 --- a/tests/e2e/solc_parsing/test_data/yul-0.8.0.sol +++ b/tests/e2e/solc_parsing/test_data/yul-0.8.0.sol @@ -2,6 +2,7 @@ library L { } uint256 constant offset = 100; +bytes32 constant M = 0x9bc558e75ed0a57385e96d6b87fd2864d462eed29668be6fed742168fd90ab0f; contract C { uint storA; @@ -53,6 +54,13 @@ contract C { } } + function _m() internal returns (St storage $) { + assembly { + $.slot := M + } + $.a = 3; + } + } // function from https://docs.soliditylang.org/en/v0.8.0/assembly.html From 86ad360b98b858698fa326f8ec078663dc7ca614 Mon Sep 17 00:00:00 2001 From: Simone Date: Wed, 7 Jan 2026 20:48:25 +0100 Subject: [PATCH 096/113] Update lock file --- uv.lock | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/uv.lock b/uv.lock index 75506f1fc7..628148dcc7 100644 --- a/uv.lock +++ b/uv.lock @@ -3055,14 +3055,14 @@ wheels = [ [[package]] name = "types-requests" -version = "2.32.4.20250913" +version = "2.32.4.20260107" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/36/27/489922f4505975b11de2b5ad07b4fe1dca0bca9be81a703f26c5f3acfce5/types_requests-2.32.4.20250913.tar.gz", hash = "sha256:abd6d4f9ce3a9383f269775a9835a4c24e5cd6b9f647d64f88aa4613c33def5d", size = 23113, upload-time = "2025-09-13T02:40:02.309Z" } +sdist = { url = "https://files.pythonhosted.org/packages/0f/f3/a0663907082280664d745929205a89d41dffb29e89a50f753af7d57d0a96/types_requests-2.32.4.20260107.tar.gz", hash = "sha256:018a11ac158f801bfa84857ddec1650750e393df8a004a8a9ae2a9bec6fcb24f", size = 23165, upload-time = "2026-01-07T03:20:54.091Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2a/20/9a227ea57c1285986c4cf78400d0a91615d25b24e257fd9e2969606bdfae/types_requests-2.32.4.20250913-py3-none-any.whl", hash = "sha256:78c9c1fffebbe0fa487a418e0fa5252017e9c60d1a2da394077f1780f655d7e1", size = 20658, upload-time = "2025-09-13T02:40:01.115Z" }, + { url = "https://files.pythonhosted.org/packages/1c/12/709ea261f2bf91ef0a26a9eed20f2623227a8ed85610c1e54c5805692ecb/types_requests-2.32.4.20260107-py3-none-any.whl", hash = "sha256:b703fe72f8ce5b31ef031264fe9395cac8f46a04661a79f7ed31a80fb308730d", size = 20676, upload-time = "2026-01-07T03:20:52.929Z" }, ] [[package]] @@ -3088,11 +3088,11 @@ wheels = [ [[package]] name = "urllib3" -version = "2.6.2" +version = "2.6.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1e/24/a2a2ed9addd907787d7aa0355ba36a6cadf1768b934c652ea78acbd59dcd/urllib3-2.6.2.tar.gz", hash = "sha256:016f9c98bb7e98085cb2b4b17b87d2c702975664e4f060c6532e64d1c1a5e797", size = 432930, upload-time = "2025-12-11T15:56:40.252Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c7/24/5f1b3bdffd70275f6661c76461e25f024d5a38a46f04aaca912426a2b1d3/urllib3-2.6.3.tar.gz", hash = "sha256:1b62b6884944a57dbe321509ab94fd4d3b307075e0c2eae991ac71ee15ad38ed", size = 435556, upload-time = "2026-01-07T16:24:43.925Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6d/b9/4095b668ea3678bf6a0af005527f39de12fb026516fb3df17495a733b7f8/urllib3-2.6.2-py3-none-any.whl", hash = "sha256:ec21cddfe7724fc7cb4ba4bea7aa8e2ef36f607a4bab81aa6ce42a13dc3f03dd", size = 131182, upload-time = "2025-12-11T15:56:38.584Z" }, + { url = "https://files.pythonhosted.org/packages/39/08/aaaad47bc4e9dc8c725e68f9d04865dbcb2052843ff09c97b08904852d84/urllib3-2.6.3-py3-none-any.whl", hash = "sha256:bf272323e553dfb2e87d9bfd225ca7b0f467b919d7bbd355436d3fd37cb0acd4", size = 131584, upload-time = "2026-01-07T16:24:42.685Z" }, ] [[package]] From 470bee9d33dea62ac9419dcd3b405b5c18d877ef Mon Sep 17 00:00:00 2001 From: Simone Date: Wed, 7 Jan 2026 20:54:21 +0100 Subject: [PATCH 097/113] Re-add comment --- slither/core/cfg/node.py | 1 + 1 file changed, 1 insertion(+) diff --git a/slither/core/cfg/node.py b/slither/core/cfg/node.py index aa52f324d4..76a94a2740 100644 --- a/slither/core/cfg/node.py +++ b/slither/core/cfg/node.py @@ -969,6 +969,7 @@ def _update_read_using_ssa(self, ir: Operation) -> None: # If we read from a storage variable (outside of phi operator) if isinstance(var, LocalIRVariable) and var.is_storage: for refer_to in var.refers_to: + # the following should always be true if isinstance(refer_to, (StateIRVariable, LocalIRVariable)): self._ssa_vars_read.append(refer_to) From d49960c7a39c6a44a7f913cf9c9922344f933f49 Mon Sep 17 00:00:00 2001 From: Simone Date: Thu, 8 Jan 2026 01:29:02 +0100 Subject: [PATCH 098/113] Fix parsing of modifiers --- slither/solc_parsing/declarations/function.py | 3 ++- .../function_declaration/test_function.sol | 4 ++++ tests/unit/core/test_function_declaration.py | 23 +++++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/slither/solc_parsing/declarations/function.py b/slither/solc_parsing/declarations/function.py index 855d513286..8275e60ecc 100644 --- a/slither/solc_parsing/declarations/function.py +++ b/slither/solc_parsing/declarations/function.py @@ -9,6 +9,7 @@ ModifierStatements, FunctionType, ) +from slither.core.declarations.modifier import Modifier from slither.core.declarations.function_contract import FunctionContract from slither.core.expressions import AssignmentOperation from slither.core.source_mapping.source_mapping import Source @@ -1363,7 +1364,7 @@ def _parse_modifier(self, modifier: Dict): return for m in ExportValues(m).result(): - if isinstance(m, Function): + if isinstance(m, Modifier): node_parser = self._new_node( NodeType.EXPRESSION, modifier["src"], self.underlying_function ) diff --git a/tests/unit/core/test_data/function_declaration/test_function.sol b/tests/unit/core/test_data/function_declaration/test_function.sol index aca9fc93d8..d5e804e3b9 100644 --- a/tests/unit/core/test_data/function_declaration/test_function.sol +++ b/tests/unit/core/test_data/function_declaration/test_function.sol @@ -54,6 +54,10 @@ contract TestFunction { function public_pure() public pure returns (bool) { return true; } + + modifier m(uint y) { _; } + function helper_to_test_q() internal pure returns(uint) { return 3; } + function q() public pure m(helper_to_test_q()) {} } contract TestFunctionCanSendEth { diff --git a/tests/unit/core/test_function_declaration.py b/tests/unit/core/test_function_declaration.py index f429b7d256..c4a62661aa 100644 --- a/tests/unit/core/test_function_declaration.py +++ b/tests/unit/core/test_function_declaration.py @@ -247,6 +247,29 @@ def test_functions(solc_binary_path): assert f.parameters == [] assert f.return_type[0] == ElementaryType("bool") + f = functions["q()"] + assert f.name == "q" + assert f.full_name == "q()" + assert f.canonical_name == "TestFunction.q()" + assert f.solidity_signature == "q()" + assert f.signature_str == "q() returns()" + assert f.function_type == FunctionType.NORMAL + assert f.contains_assembly is False + assert f.can_reenter() is False + assert f.can_send_eth() is False + assert f.is_constructor is False + assert f.is_fallback is False + assert f.is_receive is False + assert f.payable is False + assert f.visibility == "public" + assert f.view is True + assert f.pure is True + assert f.is_implemented is True + assert f.is_empty is True + assert f.parameters == [] + assert f.return_type is None + assert len(f.modifiers) == 1 and f.modifiers[0].name == "m" + def test_function_can_send_eth(solc_binary_path): solc_path = solc_binary_path("0.6.12") From 1d1580a31bdbec8b840a81349b7f60fce07f47e7 Mon Sep 17 00:00:00 2001 From: Simone Date: Thu, 8 Jan 2026 03:12:11 +0100 Subject: [PATCH 099/113] Fix aliasing of member access with Vyper's builtins when parsing an expression --- .../expressions/expression_parsing.py | 10 +++++- tests/e2e/solc_parsing/test_ast_parsing.py | 10 ++++++ .../memberaccess-0.4.0.sol-0.4.0-legacy.zip | Bin 1662 -> 1670 bytes .../memberaccess-0.4.0.sol-0.4.1-legacy.zip | Bin 1661 -> 1667 bytes .../memberaccess-0.4.0.sol-0.4.10-legacy.zip | Bin 1661 -> 1666 bytes .../memberaccess-0.4.0.sol-0.4.11-legacy.zip | Bin 1696 -> 1694 bytes .../memberaccess-0.4.0.sol-0.4.12-compact.zip | Bin 2194 -> 2193 bytes .../memberaccess-0.4.0.sol-0.4.12-legacy.zip | Bin 2019 -> 2015 bytes .../memberaccess-0.4.0.sol-0.4.13-compact.zip | Bin 2198 -> 2191 bytes .../memberaccess-0.4.0.sol-0.4.13-legacy.zip | Bin 2019 -> 2013 bytes .../memberaccess-0.4.0.sol-0.4.14-compact.zip | Bin 2203 -> 2191 bytes .../memberaccess-0.4.0.sol-0.4.14-legacy.zip | Bin 2024 -> 2013 bytes .../memberaccess-0.4.0.sol-0.4.15-compact.zip | Bin 2199 -> 2190 bytes .../memberaccess-0.4.0.sol-0.4.15-legacy.zip | Bin 2019 -> 2011 bytes .../memberaccess-0.4.0.sol-0.4.16-compact.zip | Bin 2215 -> 2203 bytes .../memberaccess-0.4.0.sol-0.4.16-legacy.zip | Bin 2039 -> 2031 bytes .../memberaccess-0.4.0.sol-0.4.17-compact.zip | Bin 2208 -> 2205 bytes .../memberaccess-0.4.0.sol-0.4.17-legacy.zip | Bin 2030 -> 2030 bytes .../memberaccess-0.4.0.sol-0.4.18-compact.zip | Bin 2225 -> 2214 bytes .../memberaccess-0.4.0.sol-0.4.18-legacy.zip | Bin 2046 -> 2040 bytes .../memberaccess-0.4.0.sol-0.4.19-compact.zip | Bin 2226 -> 2216 bytes .../memberaccess-0.4.0.sol-0.4.19-legacy.zip | Bin 2047 -> 2042 bytes .../memberaccess-0.4.0.sol-0.4.2-legacy.zip | Bin 1664 -> 1665 bytes .../memberaccess-0.4.0.sol-0.4.20-compact.zip | Bin 2227 -> 2217 bytes .../memberaccess-0.4.0.sol-0.4.20-legacy.zip | Bin 2049 -> 2043 bytes .../memberaccess-0.4.0.sol-0.4.21-compact.zip | Bin 2229 -> 2216 bytes .../memberaccess-0.4.0.sol-0.4.21-legacy.zip | Bin 2051 -> 2042 bytes .../memberaccess-0.4.0.sol-0.4.22-compact.zip | Bin 2231 -> 2216 bytes .../memberaccess-0.4.0.sol-0.4.22-legacy.zip | Bin 2053 -> 2039 bytes .../memberaccess-0.4.0.sol-0.4.23-compact.zip | Bin 2231 -> 2219 bytes .../memberaccess-0.4.0.sol-0.4.23-legacy.zip | Bin 2053 -> 2041 bytes .../memberaccess-0.4.0.sol-0.4.24-compact.zip | Bin 2231 -> 2220 bytes .../memberaccess-0.4.0.sol-0.4.24-legacy.zip | Bin 2052 -> 2042 bytes .../memberaccess-0.4.0.sol-0.4.25-compact.zip | Bin 2233 -> 2218 bytes .../memberaccess-0.4.0.sol-0.4.25-legacy.zip | Bin 2055 -> 2041 bytes .../memberaccess-0.4.0.sol-0.4.26-compact.zip | Bin 2227 -> 2218 bytes .../memberaccess-0.4.0.sol-0.4.26-legacy.zip | Bin 2048 -> 2042 bytes .../memberaccess-0.4.0.sol-0.4.3-legacy.zip | Bin 1657 -> 1666 bytes .../memberaccess-0.4.0.sol-0.4.4-legacy.zip | Bin 1659 -> 1671 bytes .../memberaccess-0.4.0.sol-0.4.5-legacy.zip | Bin 1661 -> 1672 bytes .../memberaccess-0.4.0.sol-0.4.6-legacy.zip | Bin 1655 -> 1671 bytes .../memberaccess-0.4.0.sol-0.4.7-legacy.zip | Bin 1699 -> 1694 bytes .../memberaccess-0.4.0.sol-0.4.8-legacy.zip | Bin 1689 -> 1688 bytes .../memberaccess-0.4.0.sol-0.4.9-legacy.zip | Bin 1658 -> 1667 bytes .../memberaccess-0.4.0.sol-0.5.0-compact.zip | Bin 2239 -> 2222 bytes .../memberaccess-0.4.0.sol-0.5.0-legacy.zip | Bin 2068 -> 2055 bytes .../memberaccess-0.4.0.sol-0.5.1-compact.zip | Bin 2241 -> 2228 bytes .../memberaccess-0.4.0.sol-0.5.1-legacy.zip | Bin 2068 -> 2060 bytes .../memberaccess-0.4.0.sol-0.5.10-compact.zip | Bin 2244 -> 2227 bytes .../memberaccess-0.4.0.sol-0.5.10-legacy.zip | Bin 2083 -> 2076 bytes .../memberaccess-0.4.0.sol-0.5.11-compact.zip | Bin 2242 -> 2225 bytes .../memberaccess-0.4.0.sol-0.5.11-legacy.zip | Bin 2082 -> 2074 bytes .../memberaccess-0.4.0.sol-0.5.12-compact.zip | Bin 2243 -> 2222 bytes .../memberaccess-0.4.0.sol-0.5.12-legacy.zip | Bin 2082 -> 2072 bytes .../memberaccess-0.4.0.sol-0.5.13-compact.zip | Bin 2242 -> 2227 bytes .../memberaccess-0.4.0.sol-0.5.13-legacy.zip | Bin 2081 -> 2076 bytes .../memberaccess-0.4.0.sol-0.5.14-compact.zip | Bin 2244 -> 2224 bytes .../memberaccess-0.4.0.sol-0.5.14-legacy.zip | Bin 2083 -> 2074 bytes .../memberaccess-0.4.0.sol-0.5.15-compact.zip | Bin 2243 -> 2223 bytes .../memberaccess-0.4.0.sol-0.5.15-legacy.zip | Bin 2082 -> 2072 bytes .../memberaccess-0.4.0.sol-0.5.16-compact.zip | Bin 2244 -> 2225 bytes .../memberaccess-0.4.0.sol-0.5.16-legacy.zip | Bin 2085 -> 2073 bytes .../memberaccess-0.4.0.sol-0.5.17-compact.zip | Bin 2242 -> 2223 bytes .../memberaccess-0.4.0.sol-0.5.17-legacy.zip | Bin 2081 -> 2071 bytes .../memberaccess-0.4.0.sol-0.5.2-compact.zip | Bin 2235 -> 2217 bytes .../memberaccess-0.4.0.sol-0.5.2-legacy.zip | Bin 2063 -> 2049 bytes .../memberaccess-0.4.0.sol-0.5.3-compact.zip | Bin 2234 -> 2217 bytes .../memberaccess-0.4.0.sol-0.5.3-legacy.zip | Bin 2060 -> 2050 bytes .../memberaccess-0.4.0.sol-0.5.4-compact.zip | Bin 2234 -> 2221 bytes .../memberaccess-0.4.0.sol-0.5.4-legacy.zip | Bin 2060 -> 2053 bytes .../memberaccess-0.4.0.sol-0.5.5-compact.zip | Bin 2225 -> 2210 bytes .../memberaccess-0.4.0.sol-0.5.5-legacy.zip | Bin 2055 -> 2045 bytes .../memberaccess-0.4.0.sol-0.5.6-compact.zip | Bin 2228 -> 2211 bytes .../memberaccess-0.4.0.sol-0.5.6-legacy.zip | Bin 2057 -> 2043 bytes .../memberaccess-0.4.0.sol-0.5.7-compact.zip | Bin 2231 -> 2216 bytes .../memberaccess-0.4.0.sol-0.5.7-legacy.zip | Bin 2072 -> 2064 bytes .../memberaccess-0.4.0.sol-0.5.8-compact.zip | Bin 2232 -> 2213 bytes .../memberaccess-0.4.0.sol-0.5.8-legacy.zip | Bin 2074 -> 2063 bytes .../memberaccess-0.4.0.sol-0.5.9-compact.zip | Bin 2240 -> 2223 bytes .../memberaccess-0.4.0.sol-0.5.9-legacy.zip | Bin 2081 -> 2073 bytes .../memberaccess-0.5.3.sol-0.5.3-compact.zip | Bin 2622 -> 2598 bytes .../memberaccess-0.5.3.sol-0.5.3-legacy.zip | Bin 2417 -> 2399 bytes .../memberaccess-0.5.3.sol-0.5.4-compact.zip | Bin 2647 -> 2622 bytes .../memberaccess-0.5.3.sol-0.5.4-legacy.zip | Bin 2440 -> 2424 bytes .../memberaccess-0.5.3.sol-0.5.5-compact.zip | Bin 2632 -> 2603 bytes .../memberaccess-0.5.3.sol-0.5.5-legacy.zip | Bin 2429 -> 2408 bytes .../memberaccess-0.5.3.sol-0.5.6-compact.zip | Bin 2631 -> 2606 bytes .../memberaccess-0.5.3.sol-0.5.6-legacy.zip | Bin 2429 -> 2411 bytes .../memberaccess-0.5.3.sol-0.5.7-compact.zip | Bin 2628 -> 2612 bytes .../memberaccess-0.5.3.sol-0.5.7-legacy.zip | Bin 2440 -> 2424 bytes .../memberaccess-0.5.3.sol-0.5.8-compact.zip | Bin 2628 -> 2610 bytes .../memberaccess-0.5.3.sol-0.5.8-legacy.zip | Bin 2439 -> 2422 bytes .../memberaccess-0.5.3.sol-0.5.9-compact.zip | Bin 2643 -> 2625 bytes .../memberaccess-0.5.3.sol-0.5.9-legacy.zip | Bin 2452 -> 2440 bytes .../memberaccess-0.5.3.sol-0.6.0-compact.zip | Bin 2689 -> 2671 bytes .../memberaccess-0.5.3.sol-0.6.1-compact.zip | Bin 2689 -> 2677 bytes .../memberaccess-0.5.3.sol-0.6.10-compact.zip | Bin 2636 -> 2626 bytes .../memberaccess-0.5.3.sol-0.6.11-compact.zip | Bin 2639 -> 2624 bytes .../memberaccess-0.5.3.sol-0.6.12-compact.zip | Bin 2638 -> 2625 bytes .../memberaccess-0.5.3.sol-0.6.2-compact.zip | Bin 2693 -> 2681 bytes .../memberaccess-0.5.3.sol-0.6.3-compact.zip | Bin 2706 -> 2693 bytes .../memberaccess-0.5.3.sol-0.6.4-compact.zip | Bin 2706 -> 2692 bytes .../memberaccess-0.5.3.sol-0.6.5-compact.zip | Bin 2706 -> 2690 bytes .../memberaccess-0.5.3.sol-0.6.6-compact.zip | Bin 2713 -> 2700 bytes .../memberaccess-0.5.3.sol-0.6.7-compact.zip | Bin 2712 -> 2701 bytes .../memberaccess-0.5.3.sol-0.6.8-compact.zip | Bin 2721 -> 2706 bytes .../memberaccess-0.5.3.sol-0.6.9-compact.zip | Bin 2639 -> 2622 bytes .../memberaccess-0.5.3.sol-0.7.0-compact.zip | Bin 2560 -> 2542 bytes .../memberaccess-0.5.3.sol-0.7.1-compact.zip | Bin 2554 -> 2546 bytes .../memberaccess-0.5.3.sol-0.7.2-compact.zip | Bin 2554 -> 2545 bytes .../memberaccess-0.5.3.sol-0.7.3-compact.zip | Bin 2554 -> 2544 bytes .../memberaccess-0.5.3.sol-0.7.4-compact.zip | Bin 2552 -> 2546 bytes .../memberaccess-0.5.3.sol-0.7.5-compact.zip | Bin 2554 -> 2542 bytes .../memberaccess-0.5.3.sol-0.7.6-compact.zip | Bin 2553 -> 2545 bytes .../memberaccess-0.5.3.sol-0.8.0-compact.zip | Bin 2557 -> 2546 bytes .../memberaccess-0.5.3.sol-0.8.1-compact.zip | Bin 2557 -> 2547 bytes .../memberaccess-0.5.3.sol-0.8.10-compact.zip | Bin 2592 -> 2590 bytes .../memberaccess-0.5.3.sol-0.8.11-compact.zip | Bin 2594 -> 2587 bytes .../memberaccess-0.5.3.sol-0.8.12-compact.zip | Bin 2593 -> 2593 bytes .../memberaccess-0.5.3.sol-0.8.13-compact.zip | Bin 2594 -> 2595 bytes .../memberaccess-0.5.3.sol-0.8.14-compact.zip | Bin 2593 -> 2593 bytes .../memberaccess-0.5.3.sol-0.8.15-compact.zip | Bin 2591 -> 2591 bytes .../memberaccess-0.5.3.sol-0.8.2-compact.zip | Bin 2587 -> 2573 bytes .../memberaccess-0.5.3.sol-0.8.3-compact.zip | Bin 2589 -> 2573 bytes .../memberaccess-0.5.3.sol-0.8.4-compact.zip | Bin 2596 -> 2584 bytes .../memberaccess-0.5.3.sol-0.8.5-compact.zip | Bin 2599 -> 2587 bytes .../memberaccess-0.5.3.sol-0.8.6-compact.zip | Bin 2598 -> 2585 bytes .../memberaccess-0.5.3.sol-0.8.7-compact.zip | Bin 2597 -> 2588 bytes .../memberaccess-0.5.3.sol-0.8.8-compact.zip | Bin 2584 -> 2587 bytes .../memberaccess-0.5.3.sol-0.8.9-compact.zip | Bin 2591 -> 2593 bytes .../memberaccess-0.6.7.sol-0.6.7-compact.zip | Bin 0 -> 2976 bytes .../memberaccess-0.6.8.sol-0.6.8-compact.zip | Bin 0 -> 4018 bytes .../memberaccess-0.6.8.sol-0.7.0-compact.zip | Bin 0 -> 3866 bytes .../memberaccess-0.6.8.sol-0.7.1-compact.zip | Bin 0 -> 3864 bytes .../memberaccess-0.6.8.sol-0.7.2-compact.zip | Bin 0 -> 3874 bytes .../memberaccess-0.6.8.sol-0.7.3-compact.zip | Bin 0 -> 3875 bytes .../memberaccess-0.6.8.sol-0.7.4-compact.zip | Bin 0 -> 3875 bytes .../memberaccess-0.6.8.sol-0.7.5-compact.zip | Bin 0 -> 3871 bytes .../memberaccess-0.6.8.sol-0.7.6-compact.zip | Bin 0 -> 3878 bytes .../memberaccess-0.6.8.sol-0.8.0-compact.zip | Bin 0 -> 3947 bytes .../memberaccess-0.6.8.sol-0.8.1-compact.zip | Bin 0 -> 4064 bytes .../memberaccess-0.6.8.sol-0.8.10-compact.zip | Bin 0 -> 4191 bytes .../memberaccess-0.6.8.sol-0.8.11-compact.zip | Bin 0 -> 4188 bytes .../memberaccess-0.6.8.sol-0.8.12-compact.zip | Bin 0 -> 4191 bytes .../memberaccess-0.6.8.sol-0.8.13-compact.zip | Bin 0 -> 4189 bytes .../memberaccess-0.6.8.sol-0.8.14-compact.zip | Bin 0 -> 4192 bytes .../memberaccess-0.6.8.sol-0.8.15-compact.zip | Bin 0 -> 4186 bytes .../memberaccess-0.6.8.sol-0.8.2-compact.zip | Bin 0 -> 4116 bytes .../memberaccess-0.6.8.sol-0.8.3-compact.zip | Bin 0 -> 4114 bytes .../memberaccess-0.6.8.sol-0.8.4-compact.zip | Bin 0 -> 4144 bytes .../memberaccess-0.6.8.sol-0.8.5-compact.zip | Bin 0 -> 4184 bytes .../memberaccess-0.6.8.sol-0.8.6-compact.zip | Bin 0 -> 4183 bytes .../memberaccess-0.6.8.sol-0.8.7-compact.zip | Bin 0 -> 4169 bytes .../memberaccess-0.6.8.sol-0.8.8-compact.zip | Bin 0 -> 4181 bytes .../memberaccess-0.6.8.sol-0.8.9-compact.zip | Bin 0 -> 4192 bytes .../memberaccess-0.6.7.sol-0.6.7-compact.json | 7 +++++ .../memberaccess-0.6.8.sol-0.6.8-compact.json | 8 +++++ .../memberaccess-0.6.8.sol-0.7.0-compact.json | 8 +++++ .../memberaccess-0.6.8.sol-0.7.1-compact.json | 8 +++++ .../memberaccess-0.6.8.sol-0.7.2-compact.json | 8 +++++ .../memberaccess-0.6.8.sol-0.7.3-compact.json | 8 +++++ .../memberaccess-0.6.8.sol-0.7.4-compact.json | 8 +++++ .../memberaccess-0.6.8.sol-0.7.5-compact.json | 8 +++++ .../memberaccess-0.6.8.sol-0.7.6-compact.json | 8 +++++ .../memberaccess-0.6.8.sol-0.8.0-compact.json | 8 +++++ .../memberaccess-0.6.8.sol-0.8.1-compact.json | 8 +++++ ...memberaccess-0.6.8.sol-0.8.10-compact.json | 8 +++++ ...memberaccess-0.6.8.sol-0.8.11-compact.json | 8 +++++ ...memberaccess-0.6.8.sol-0.8.12-compact.json | 8 +++++ ...memberaccess-0.6.8.sol-0.8.13-compact.json | 8 +++++ ...memberaccess-0.6.8.sol-0.8.14-compact.json | 8 +++++ ...memberaccess-0.6.8.sol-0.8.15-compact.json | 8 +++++ .../memberaccess-0.6.8.sol-0.8.2-compact.json | 8 +++++ .../memberaccess-0.6.8.sol-0.8.3-compact.json | 8 +++++ .../memberaccess-0.6.8.sol-0.8.4-compact.json | 8 +++++ .../memberaccess-0.6.8.sol-0.8.5-compact.json | 8 +++++ .../memberaccess-0.6.8.sol-0.8.6-compact.json | 8 +++++ .../memberaccess-0.6.8.sol-0.8.7-compact.json | 8 +++++ .../memberaccess-0.6.8.sol-0.8.8-compact.json | 8 +++++ .../memberaccess-0.6.8.sol-0.8.9-compact.json | 8 +++++ .../test_data/memberaccess-0.5.14.sol | 29 ------------------ .../test_data/memberaccess-0.6.8.sol | 10 ++++++ 182 files changed, 228 insertions(+), 30 deletions(-) create mode 100644 tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.7.sol-0.6.7-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.6.8-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.7.0-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.7.1-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.7.2-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.7.3-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.7.4-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.7.5-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.7.6-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.0-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.1-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.10-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.11-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.12-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.13-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.14-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.15-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.2-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.3-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.4-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.5-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.6-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.7-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.8-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.9-compact.zip create mode 100644 tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.7.sol-0.6.7-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.6.8-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.0-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.1-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.2-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.3-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.4-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.5-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.6-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.0-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.1-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.10-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.11-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.12-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.13-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.14-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.15-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.2-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.3-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.4-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.5-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.6-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.7-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.8-compact.json create mode 100644 tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.9-compact.json delete mode 100644 tests/e2e/solc_parsing/test_data/memberaccess-0.5.14.sol diff --git a/slither/solc_parsing/expressions/expression_parsing.py b/slither/solc_parsing/expressions/expression_parsing.py index 87e34a76d5..672e90f06a 100644 --- a/slither/solc_parsing/expressions/expression_parsing.py +++ b/slither/solc_parsing/expressions/expression_parsing.py @@ -40,6 +40,7 @@ ) from slither.solc_parsing.declarations.caller_context import CallerContextExpression from slither.solc_parsing.exceptions import ParsingError, VariableNotFound +from slither.core.variables.variable import Variable from slither.solc_parsing.expressions.find_variable import find_variable from slither.solc_parsing.solidity_types.type_parsing import UnknownType, parse_type @@ -576,7 +577,14 @@ def parse_expression(expression: Dict, caller_context: CallerContextExpression) return sup member_access = MemberAccess(member_name, member_type, member_expression) member_access.set_offset(src, caller_context.compilation_unit) - if str(member_access) in SOLIDITY_VARIABLES_COMPOSED: + # Only convert to SolidityVariableComposed if the base expression is NOT + # a user-defined variable. This prevents a mistake like a parameter struct + # named "self" in a function with a balance field being treated as Vyper's self.balance. + is_user_defined = isinstance(member_expression, Identifier) and isinstance( + member_expression.value, + Variable, + ) + if str(member_access) in SOLIDITY_VARIABLES_COMPOSED and not is_user_defined: id_idx = Identifier(SolidityVariableComposed(str(member_access))) id_idx.set_offset(src, caller_context.compilation_unit) return id_idx diff --git a/tests/e2e/solc_parsing/test_ast_parsing.py b/tests/e2e/solc_parsing/test_ast_parsing.py index 9e7898b9f8..15cfab8d5d 100644 --- a/tests/e2e/solc_parsing/test_ast_parsing.py +++ b/tests/e2e/solc_parsing/test_ast_parsing.py @@ -242,6 +242,16 @@ def make_version(minor: int, patch_min: int, patch_max: int) -> List[str]: VERSIONS_06 + VERSIONS_07 + VERSIONS_08, disable_legacy=True, ), + Test( + "memberaccess-0.6.7.sol", + ["0.6.7"], + disable_legacy=True, + ), + Test( + "memberaccess-0.6.8.sol", + ["0.6.8"] + VERSIONS_07 + VERSIONS_08, + disable_legacy=True, + ), Test("throw-0.4.0.sol", VERSIONS_04), Test( "throw-0.5.0.sol", diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.0-legacy.zip index 344f0647591b941874bdf7577d516fcd198ca991..34f0b75c2d8fddd2591868da543f41bc76c0bf5f 100644 GIT binary patch delta 1526 zcmV@KL7#%4ghi(C|oIXf2+_1006U*7g~R{Dgw5sX$_<1pTj3$ zBf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZUgM$&P5RL9KHd# zUNZ?7xvgt&I%i*{QB{6>Os*SRaE{`xf+#4*tY;m(!}=5z*&;bJ>ywfhJ4?dMTR|!u zSpwjQ$?RAVFz0_Ji^#)DGytn*Ce%UxCf^*r%wwN5C^5j`cEi>Xd|$Q8{iZf1Ix-;B z1!*VCZe^BxJD~jx3>`DR3lW^i@2{BBb7r0cpuUeC<8XGy&=U=I~ji*89>nd7XSJz*=ziPPA+_t z$CJh<4Dw}qj1UGR_Yl!Z$MF2!7jKM(bMU`Nc~h-Z(S6GqiQ9aplw&AOE%^_eyK;K4 zlqtrRBLDbDPDq*!QR+PjFiqk2kcYlMnEvXP5S}232V#lpq*QS<@5{EL^4u9G9h-!> z^ZE17>J)!Zihj9lk@u!%RV# zRKPy-ee02Q?+*_XfJxtzR&$_n(e#pm26g#sW?!t#;Vzztz?*^+Hx5JlyfH zHIS-ha$SUO+E@Ftx=zDakd(x$z~aDWluu%OlW%{_5h}>(uy*?}V4wB~D(%biKK(JT zO%>10Y75qa1vug7q$J+Dr7NllLRe&+(x{nDIY~ug)Fl{@fWs{w{VgXY`X5FOAlg|! z+_Tz7;{7d4rxgvLDY`}x9L32q*Mi&mWv%RY0i((joRdu9@sb3YP>+}JT!Rir*|zH5 zHwb_J1Gtg%&lWYxNl(G#k0y4%9FB))f7d=DC!7_*!1t&%nF{Q^OOf(uHJRMz3}8LV zLN5Cy>&8)&nXdi+((e8SDB2*Gy<>&}STJ%oH};us;mW@;eE9*++x8SzfI^{R5GVM^ zY~-@xar4^dd9Bv%?ycz&b^?*W8Z@jMLUVt80{;}vr$uLr$z{XwnW(#hc+}Dv+#kNRxH43nd2^%npRB`v*tI}Gl z-i_!hEjD3hGRb!N#jmfwGZ{s?s_%nXb6I&dbz~e-yW%r5b0@D$qKZ_Jb@W8N2zWB& z{}E*9t@C?2oW5&3K)3krsPi%=ZP|Z58lyqsl$@lqqCBU=S*Pcv7oq5J%MhbG*)D>K zS+6y{tZ$rWiQ!o?PEs+%-=eQF!!^Y`l_C;GBSSgEjijX@-UU;jqMX7__O2(ERn#1u zKsF!{tESNs>iuolfpb7gHxsA&^Ot5r=un|;`hgdaDD>x_7XTEa36xSG5Ceaq(|!NN zYCvN0`+7bav2y;HNA4Sm;W-DLNhw|@@1W(0!+TqJ4O}+yhPFmmFE#p3yZ74#t5gpN z-;9&Yl{r7*&BAlANxb&!*Jr>mOneeUfep``nzoP~$l=33Fi)i*tf>g^o1G}CLdWq^ zNAP3T7k(ifK)J3XtKOkFSE_&iv1q;fo_G)<#}h|!sc_`7aMn~~O`#HP1nkVm<`7bi zHgP9oTS)+Aja5UZLQCBgVZ!hhYut;YFyYvskgt5PX!*_B)Kf5RdoLg1@(zsU@D)x8 zGUZO&xi>V4G6NkJe{$HB<4cjdrA@j$?cg|NHX1O8^@7Dv)7)g|7K}?&oJ=Uuo1og! z%Igyfr~Mo^LX8cP8DlcTsESUdjf|LkjQ&QMDM0zU&k00ICG c0CE^8Tq$#ZtI!1i0JD=R22TbU1^@s60C9`wu>b%7 delta 1518 zcmV@KL7#%4ggnja8$~1$z{j|001BD=aw^#$;@ePB3 z%)eD8Yvf+&h|RU2Pwe|1g+)U$F8AkwOfs5nSxVu?_F2Y;Ed8y);NROnZEwx4 zxO00tT<&WYy4{CCsp(iZslc1oqW>{z0FhIQc19D|Hy`F`{-2+RnhsoFuz!sDOHy$k zQCZTWx{gCxu1RcTeIaJE9kJ^Fr)?DJ7%bpdnC00A*nEHRz(dU-mb?P$QRuwyg z)>Zkg#}Jc%`eDbfFk>N!ufx0oy8o#5u#c7tD>=<75#ODSJ3hWHTYi4Xfuz*e!yW^O z{ZLl~s0G7t@&k?<0Oftm!?ByX#(2G+-o@%J%AyEkw5kW!)Pf7Z7{t<2mne)KA;UWo zG;t71HX?uUi%8fm)@sc)&nBPWsY17!vnz=?Am{lEq6qw;Ex=;P|GvE5+;TX*LmRc@$D}+9l6n^N@^X`=2in?wE*{R!tHSPX2JqRHqT|}U2?ga8bJsQJbYk8 zYvvciic?xijhG!oE}23%U~AEngeYe9k3-5-p*(+Bh%k`D+8$orrXd*?AP*Bo$?PkK z(~-uNEAF`#!U*nAYfLbzcZj_3vZkXAN%hYWRJb>S4<}}2?UWB~J*=tg6-PJ)w>=u= z(hDWG`&?q}pr3&i>aNxBb#V8+X0|dbEq>{UReiz>h*W{%RGs?p6bK}TW?z|Ki?j4& z>GFR~qBFk?DkV?pa9Iab!-tH2jKfDpfR_!2ZsJt0-Hk^LlxjFR5 z_Ray_mJ|!t1SHU3ifzrU+uzh&yGc`J?NEP`9g*=;m}RcF*eF&x528rn?&4Le_R-G>CaRm}lKwz989p=7) z`Fk73QZQ4HeY6e3iDZk<-$j;8ns@f0!rfbvrb;hb^{2M`eXgm+`i%5X=PuXW;O&22 z8NgqjrUwbg(#GVb{xd$7GYC+a=w<&I^?n6yDmzaN@6Un!!cFLRI`TZxWqtwT0IfgShEf^}AkW&Wb z-%6RpH1jwBlNF1~X*fEQJiOcL7f>3JWwP0cH4f#`O64o#eq;VyEd!@pNIfz&luqY{ zUB!(NMhd^MUDUp>V$5doC*TRegK}L`bP&xR7b-8K<*QVEg)l#aM= zp>kgB)VSd;8&%aWI3GY__o4TsS4lx!S&r8e)6$N4`SP6vB(P&+49$ZMk0TXzz6!Lq zKC`%+FpC?N0)&0?B7v$jc&>k8HLo|+=)HIg z`mk`*iqGEWZ{3~odnirmbxUr}Eb2vXReD=Uyml*w<~|ju>H5WF5n8126~j_iSLIyP zu@#6odJ7YC$Esu79`&cGMt&%SX%*@kt{v&qMucl?ltXsj8OHE3a5F=YCi-w6)ixzV z=q)T*$5vS2_&#)T44vnD8QK2vBn^22TbM1^@s608vNhod5s; diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.1-legacy.zip index 92e6a92703eda85253e43f995055a70f8987032c..0547f3b985f1eecac6216c67eb62604c5bb8ab7f 100644 GIT binary patch delta 1523 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 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.10-legacy.zip index fbb2826c62e93a7266ff7f52324824362102220c..2f37b864ffabed9b3b088d5031a62b7ced67522c 100644 GIT binary patch delta 1522 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 JFa`hs008x8=pO(8 delta 1554 zcmV+t2JQKt4WJDeP)h>@KL7#%4ggtla8!n|_1o$N000mgkr-KjvFXEmrMFlE-|-ED zfXu&DCTrwg=!ng=pik`hOPFV<3RM2%xp+|IvKwx1ls`WK@iX=tMiQ^6xg^^}VWZx# zqE8xolkKn2+ciC~)*j(_b3E)PVwW*K3Rf)=)TD^lb8Npb`Zr4_xcK@U zHlY4TR1NgU(JOR+8~@T1sc%%&*qv~IqJV_;@tc@bi-o52df4%FrOw|nv-%2*H`OnI z+#bKcGQita1>X7r%KO>-k;0H<(K4g~*xR|vJtn@YK#i__Oi|RTQp2cI-G(Hr={#mc z0B{wbXoXBGJWT`6JdrEe+O8k-vF7RzjjS#15Cs+2@ALA1=21;}qFfwO^V zb&sPIq*KIFcu3nyT2IVp7qB-YPcnnem$uTc@1(Iq?m{#Lt=R3Yd9%u(feqQGf0BKB zjt<<(DJfr`-9jXwC74=(a2^%Kg6A!Tb$!hIHF$!cq|2K9qnV?VIU1*p&6qNOlK8;Q zDSUb&5h>n(SN1P8(-8xSNSRL>WD|#J*g&Hi<8s=)w^pni%sML2k zW58I=ZAlYv_n?fx>TEP115tB{zW21&b5%sI_896}7^+BcBBKVYjq2mq;zCfYcoo-u zz|Kx-J$NY~->sI-Yf*T*hi8HLm~oA;Y7>b6D}@k$xgh^dTqEPF{#)+Hs1`O zVUVPMNJMDdnua4SJU(sjoGvShSG0S4>k%x(?_kEBN;lXe+!RyQJ}+|?6q!Nt?guy& zZqOdvel`#LJ)90EdkOC+4liZ&0%-)gbITm_jAQ=mK@N>psn!$w+}-A=XRAIYFv)aF zJa0a~p$TX)S6rjao8vI@X2+!5aSa-6_ zF=Ublf|J{~9PK^8);(N&7=q=0 z(m3I7Pug2xnA`{KCXM(Ve|DY!lMc7BoJrwZ4We5A+Gf!mLbH!uG}PtL$5Z?*R+avm z-oKafn&x8ycR*LpK5fC=1#J%Q)D`W?PB}=0<6%qakxb~zxnDC;E&;sCp)R7Q9CP;8 zYE0{t>Q17cZgp8VpU+nCL-4EPV~|yUq0*W&|M^s7@etlf2ROXhxwi%r$Tad~4=gB! zuYz<60TdSUv4sGFlio3@S@gu;$;S{6D)GX%%pt$#@tdE+`k{ji-^gG9da+DTNADSU zZvxU99f9*o#)7(s5a!|x-*JKCQ$KGh7}6)+TC3=UPr-IjU1;VP2$ye<&)xUcQrH0tF9$!Zhk1_-+!c4RO^9mVA!Ib1H` zD`ROcU1UR(?=_!fd@{>tJMQ3rF=JtA`PQnkTv_nDk7JCoZ#;_ay0yc^gFEUxt~`~p!!O&$wUQGp_Z3I z$=0_|3J1S5o%n^-q5^qYZnc*tXnIWlfvNn7Epl@i$mZMqT*odE@%esc)!{XCL?`7> zX#mF;RJGRawl-yhSpe3lUv#AIk;DLb@vD5&jg0jr{qTH8t8Da7SKGgwN#ZrW2Q>hT z$U!MqYV?mN7lot$=fvl>P)h*IDD*5E_$822KVt1^@s6 E0DYkdq5uE@ diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.12-compact.zip index f4bf4dde3adb9d43b52adb2440cfc3a86d28546c..fce1431b5c8c1dbbb126b47bb1a945158c420a7d 100644 GIT binary patch delta 2066 zcmV+t2<`Wh5s?uaP)h>@KL7#%4ghi(C|q!cc5B-Q002HH001hJPY5lMNF;wJuM4|1 zwJHL(sA&zO=AXkSU?aK`3^>4cMm?W2o@13dpf1%*4I13^MuV|f##9H6S}!-pd8RTX zeQpEn;m$=6@EpDYxLz{}7rCu#Z#rjRrBPLWdrTS1$uE}B4CQX7Gi@gV#=%MlPbEaV zN0SAFi5gCT(s8`!KhHQ2m70H&^Q!m?Re+9B9kNV4SsCdps~e8(!_bcF)?f8NqTT6v zXxu0HNX!zDw6cxa8H1oGUCT6OkDDNC=&8tnWEzp_8t|OszQR!q8S|MOv&xki-dz?- zdG6NuR%}Z1s`N(HPL6;#U*$|}X`bn#;0*ieZK2$j zgqMagO)2qw0XQP!<3}#gv}4wh0|_j0;#Qq3*h608b=e+il69leF?_`GjgHvkSTK3X zzduc8o`f2<9Gk*kIl+HLfz_3L@0q^724^}UDhM#zdt?0pF3xd|U-~%{$`1;Wm=HAj zaIafju1Ds&U!;Rg9X{GLUc&*?<6z+8iCo?$XunRSrm25G;jM6ow zfPQv^@}$O-iIcJ?FPfN(5S3%jz_~y5XjSzSy0ho1lFWGJt-yc0X&65fW1oWKOW<$$ zjMblxcVAGtR74Ju+Cx|Y9|{8Z(=~CVhqzRd^UJ(Ca(G{yPx;^&1j!83lVcY3Qc1!} z+ZUJ`(Q&mqtFKw(%jzoyF03VIn0wC@=Hc?z<$m3F9xJr=R!2i}D`~j$y*>6 z0&%(LZzHf6um*o_zf#q`fnXYta!AhpfnPfE#072NXz1sbwTh= zE4Jq1PUO!rgKIBR^3&aU@!*kS=Qm3`$Wn~5JftotK>n7aNydF}2hcX(%SyLymCgFQ zw4E%Zf)X_TJ)|zC!7{eFOmUk6Pa3x@QYa)?I{&X2v1fm~xCejlP<>ZhMA?~fhn3Gi zeJDNiVG(m+@q{Gy=`|V~xYL~irTKP0-4Mo7bI6#c$DH{JWmzer%2a1|nhv=c!PV9# z13!sZr|HypC)0Zjk@qf0k-m*uhdRxlU}$|~&7>Z!i-|r2i((T1r}Rew7sV<%u{(O_ zGJd&J;+ubfFS_qs5|>@YvE#Diw6Ikf#jd2MxTn?Kf?!fttXSbp%>C7bt^JEj$>ePs z>!a-XT;#NTOvZ~RBYLY<2KOGvKI-V3gD#}k)SbaNBbx&8SE#Cbbud9F2RqrMc4k852+M$i`ga{kDSaL*| z!NW9b89uI|fpbaZBN^~we&DZW1Ec{*xPr%vC8m-hX@1nSVZv+HmMC6xZ7}x!)|5|` ztrHh6-p={Vhd+!eMWssInN-r~o-{cFmovpAC9xKj1_Wd)Y!zd9)3}MPfc%?sooxEq zSvP-2xzxFFMD5Z}6bxFnozX;GWA@qwpwaQkPn)$A%<3S#W|+Bkv4TiM48Kd&=w+AF zNC<}Ou*HT(!)6g+0nta8ud-J13!(k5qFNftZQj5ZyyEr&z6 zK^+b{sajXvvDl)9P7zxr-8L(;1C9h_NWOo5z_;yqS+=pn!Wjm7%F!I3lkNCC7fRO8 zBTdoPYs3a4;R0p8TQrpSO)ok_dQrIb-3p(;aT+M76_U;2{!mZ1h|SPFC;R9}{R4@& zjAq;2`}PXmBz<_%LSS7Kvg_I4i&QUXn2ZF4rp7(Yn`(=mEVrMI@uZOhLS|n^r8s|D zxrv4pyd_`zc&+4P^;K_e(q?`MAuJql!y)aUqp=0maO|w)hV?+(h~`2JHXLVd8O&1mSm2V{Zsba zpOD0|fbFC2pRF@xl#fFAneZ=la;hOIkAFg5k16;f(6jHBrbi#5o+tXuToLhIm(qH_ zef8@8FaK4FKaSf3n?P#j&j&!U+zNf&IcTa!zq^XLU&;<@VT*RX6+7_n4)1?%ND@J2 zjBtZT@~7Qm zD?NGTuEbwX_>Y7X-zXTvc)Y%W;#gE{_Ybny2?pca`aOX zNThBSgM`>#juHy!lB%5&vf|Xo!ef``LdYE|I!)i&DuZGbRRGU%L wh($ delta 2067 zcmV+u2<-Qf5t0!bP)h>@KL7#%4gl-5WL82+E{5C(003Vo001hJP6#cLNF;wB*K@rV zG4V$ag{75VSJ!(05OMDn=$jD3rR6|_G==IMoyCDiL|!Kc13cE+fPgO3N`n=$7CPUB z7eg3~qtLbq$SC|))}A*+TP@zhyNog`zMl@uHR)=>z;ex2b%4I}O3rZb|aov({JE<3!2UTl}}`p?YasWwe@oIu!B z{3nnhD0|J>`7>&fm#z}WvaMI(6>)Wt<{Iwbo&)bJa4|9t|7bPAN0Wb?q2cs8S)@Wr zO2Qj}nNk45`GE24fXlaLYe(A7#V=U(+irPU5W(?#r%T_18+#uoaj|g!*Pw$c*(>Em z=38m;C3oXXqyrFwgRo|4>8cUeX{98r56bcfueY_z;axp{c&|1(;?J zYg%jS=|8bh4bXp^ts_UmPqRbao%w);xa?{LR@3+2L4~weQMR0RTndwS56<)=_w;#t zGg#!dq+yaaUlR%k_~7h!?M*7!wQy8*N^reabVHch0GL*ax&?*$?u6=ec!B$d&juW! zweAnP{h8xv?dSFH7hm0OimFv6r1EtPsE|(GO(t!3je38sA^+pcOKoNP%RSU|hdO`d z^y6N-^0hI2qW`)oROIpeOKO?T`0?Ws%|wbt0E*op^;27CT1CFIBK*SrKPY72CI_QU zwmd`eOMcm3xW%@>S-~<)q;pF2z?D+hQ*or`afTQ_F9P)+Qz{w701Kx4P43B{D^Lm3 zw_IZL0Mr8N^>18+{SASF zneCOfWB5WQ3D?AUes0=IXqu*P1#;qT`?yB=uMU5|eM%p){K?0XAi~|%np|~@oW}^9 zE}_2qOUpkx;7$B5mfRyK$y-ut7R8r>K=z90jD5}{u!)S<5m)pHTU3}^_2nTuYh<@ zpZlWo-M7`YLGbc+E6PQaCPPH>;|D*OyW&vGKb(Fl$`r@lsWJB!|A}MFomhKyNqmW< z!T)HAub>9<)>tJlzeQ^rix=lcZj^{l{^@^=Xz?NEKIeVrabJg;MTSPFH>ZThhtR(Y zcAeo+Vqh3dJe(!uFb1Sb6Obs^}P!rAW&7Xi&Wi9&os0&d33RQnK ztd4oMA7dPv?=yX)fF|I*{&<)zkaU1NeQooH%`(OwjM5cw9qaqGKzBpeBVL=L1|&CkhD8V+-| zG(&62^43NYdz0B()zy2%QGj}iN2^Y~pp2?=J*JG~2k^IIW8ri#;czJ!$kTr;E-)XE z#*Q$&0Ag80T&FGyl2z1vHs+pfd7C`bY_8L(crRKLHCX$dn?3XJ9m`yz{xSxHIEC!r z@#ml_{Ff*!VnxTw0l{#g_gMD~AurnaPE)*Qd-4cK7UJA9Jd&YBrSt}{f=reBFXca;O1rL;#RlXC>6F{4x zsxLvaw#yxqrVa#_(xaf_bRWzv5=f6SVimfciLj^4DR?i9e`%JCd-1o#_mp+LVJ57` z>d+Vg^AFp@o~EoEb^7=|7v~}2^Ky}v9zh3)8B)pn=~-O-rU~L1TMS^FKeN~U;PbWd z6kJfflNFr~a9fq9f%#A51+n&MEN(DsGZwVXkn8+bMf;N8*ZR}4R&QVQ$r<|rBfr}r x_@tW!_htT(vtv+80Rle*KL7#%4gl-5WL82+E{5C(003W;JP1z)BnSWi004t-^@acd diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.12-legacy.zip index 9f0034712b38376a67f0cef5998ac35e42338e0f..9e2466d8f20405b7a38a01e418c2dc4eaecf3b1b 100644 GIT binary patch delta 1882 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 YRMk+iiY*5K0J@Wk2Tuld2LJ#70JsB|od5s; diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.13-compact.zip index c034fadb704f00e1aeaa06d1b6d794202e7bc6c7..ea062cd2cbbd6ecfe0c42f8c723afe6b51de7bbf 100644 GIT binary patch delta 2051 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 S2LJ$Bla2>Z25$!d0002VosQ=K delta 1878 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 delta 2071 zcmV+y2@KL7#%4ggtla8&ut%md{I005yV001hJOb9KJNGX4@>BD=a zw^#$;@ePB3%)eD8Yvf+&h|RU2Pwek4cO%aP+Q`kiC3$B;)2Il!T%D) zyAe`xgyxq$b5?wMCS{QJ+L3?P027BU!T#{&tl_LXb`4rQo*I&9n%3>@|K-lGwohOq z0mZ16TYo7+U&`WW-l#>4ce3Lucq0FES1F7cL*PoUBTNGt z6%e+Q@HGS9Lmq3zX*(Z`Pc3D4z%^P+d-AZIvpIVFNK%N#L~qtq%7c)jX#cJ3Y*N+o zRoau3*;#P4Wxny$q;G$b<}wPyHp$emdF(&`;+{FXQUb|3+y!mqEs%?WpJ;k@`Re`} zRkrqdzE~(C5g-)mR(+731pei!3H6gxDVsjA0Lp%yiKS#A)kFcSY}g*xY+`G^sbwpJ zz6DiKyZsiQ$f2L}*|NN_5e_Uv9JN#X3_?a=C)n01_T3V+d3Ap{wNhMwByYs4&lqNw zn!-od^I@OYTiIUT5hjZ^JKahS{@8hL@M2dS7(R;xA3x^C48u#yh7w{{u8ySCrZWzx z0us;JosJ&kw{#+zEAqpKwN8aPv7x2teN<P1%9M&dwk++IPVJWFlUZ2Zj+B zpJxkA-3ndDo4b8AJ1_j&*?5?ObZaCn=!zzxt;a{Jj8SQ)%BG<->u!`R3qCl68o{R> zt}b)dP`<-tc$NQPyEA51&>pe82v*S%H~wz-Z+`+#(!b9ZxZ#dD6h{Y$(`1JPOX=*d z^{=PwM3;ZOg%_M-x{`Ma3;e&iE< z1e+J@kTUAMT*7%FQAF<%ib{I1J!Z%Z*N7wNj8HwyzP}UtWUYF@K6n?8;O=5z+ynDA zNXNbn9-)GgAk7I)C~-x6nkfD^Y<1cwGI>Bz7KVRCnWv|X+RWUy==#}zd7Z&jN1tI~ z+7ujjCf-+oTav3BOQ3hw@~sham7|HeCxE*~@suei1UphgWol7>CEX##<}ft}tWfer zRgP~$vEygjja;2o=nf&;FEzClkJ2X3^t4SBg1!C)q)TpPy{UkU(K|rF!P6hrRDbSWA_qIHVYBJDH)F6FQ2yy#=NxeS z(AZ?3#Do2Hm}V_VXgMV3(7`$p;$+m6gm{0R9GHpO1&S|3GqMKSb!*~|NLw8VVA#EH zCF*0SUBOQS{{9-xsc(2Bi#87^pb1=iiFa5P+idw0(fq1G_A(qae9@{7 z>AeY9D+I4;V$by+ciO4qgGKG>zN~T=@b-_L!u(R^F>Jk2o#PGsoGmsrwh_sd-4}nU zid^jSdvA;a!bG$1RlaP$(pol|grh&Tki52p%d4r%klpfZC+Bi2{z@uHul{x%tJm{k z65#x6Q&kDlNV$hi$2jM5?ypfRsb{$CT| zd)Eh^_XYJzX!8}X`+h89WL2RqZ>^qVQ>VmMU9J1&EO-<*{;$v9%|DQA6 zzp?AOf9EfuNUj)AVUdat{hfd3U|$~f_GmQqeSIjR1VNs!(u{du=F*!Je&A&pL1puS z6(Mmj4Cyj4A^#UYO;_dO)dKbn!h;j>~!*@wWW#9Sr^z9{_@KL7#%4ghl)C|owz&JrgF003E$7g~R{Dgw5sX$_<1pTj3$ zBf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZUgM$&P5RL9KHd# zUNZ?7xvgt&I%i*{QB{6>Oc~0_R*-GcAiR$Pqwhu~QIl??$o==}rufZYUN^)1PX<%Y zlA>U^#o3Q)=`4TwapK8A?!9YiS=)Y!XJC+B$BEo#kU)^nqgq`i4f9}UD?TUaDipBiiUrY`%(87Y-WlG`?#7$x9sB^ z!?#Aqv0GF?8U*V@SnIenpMT}i9}r@I7(&5M z%Fy8YQ7sW}()VT=(jfEx>YEg}bGc|Taa!xEWwj9KB>A_+Ou8;<@6m_996A5awvN5M z67^pYkgI>$Q|?3;8s%W-0kKC+-@}|u>Xee^j^F90SaQfip*A_7)QB=&5`LNVB!gj6 zJ1w!mLQ{>=3-i3S0WM|+3lnrYji~%&xPI-~1HA|xwyHc4_K0{R!@da+Hfo|~F`sh( zA{+d9!(>cva1NFG3hIT5c-Wb-gA2esI0O|B8K8emmYk8^?$8Vst93UQmxltB=xEvr z&nbvJ&LB&eVwMR>lX!L?yCZh{ee;r`(j%Ux?l~p#9-6X6gJ86q{6mZJYSH>8Uzo3t$!|-U;VBEV09>km^_PO$Rl<_Z1WZNE_hC5t|S_U=LkQgNX z$z^|IFvWY(Sp_^t)+v+oGIF_LTIcSPBR}KL+QXpV1a;A?p0HyLRLPgQ7tW^Pfq0Al zL~v#NK{bzCID1tV4p~_(oYI(cd7WYoL$&7l&=z&dX3mviT;rRR1PBB* zY%?Ltujw>A-d6jGXw`pQ6P}h|1hxhaC5pp;FD)O#Q8|{DgBUsH z`Iaoge)xa; zrPXH+08Y5%cuc8k!)V~Zz;OR5^5WHp&xB}5?0_I8TVJ<^h0)S_X(fukvC7c597R&{ z{YSW%noAzP-@JDqJ12lne?;C-KvY< zXXj~7Hexepp((a^j|AZDlXklR-xFOyY_*3s+VSlfxhph}Fzc=}Rz~)BU0{FM&syM2 ztCqptS`(Socz70cs!$}wQ~PmlyAldgopj)A3*um_gn-xA)aFE|%9PdaTsgEp{`XjU%B|Yw&s_MJg~-47?%d_E*W#eODcPUq0oCAD1v5T+@7p0G30J?glAm?*aFyDV)k7#g+T2p&TZodv535N3A1zx=Y>`~em_=*A?-#{beQlA8x zFdOZWf2a}>%@2wjEpEW_K89>#S8M!>13$KEGS-ul*jS0??@-c^eE2~uG#8GuYG&+u zRzh_KT)wQqKgQ)Rub7Y`{EajjcjqnQ8PJ#0mZ$z-FM=DMmZN{QkQiPVxjc@LH68Tq z$8vt*8nC~$<$V{N8sPBV*#8>|D9wX1IV!_i6PXXVx92 zi@~}e#n7MUK1Nc;l`PDH$Ad?nwQMsm$zw^X!Z1$2C!R@C(-FlDju0^l{Ka~05y4UD z_;babKmA~_ae5`yDDE3uwi^Go%%dMrO928u13v%)01g0i7${se*Ul0r2LJ$BlamKe K25$!d0001g#E_`~ delta 1883 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 delta 2059 zcmV+m2=w=k5tk7cP)h>@KL7#%4ggtla8%_tL3ZH>005zp7g~R@>BD=aw^#$;@ePB3 z%)eD8Yvf+&h|RU2PweoT_(ZKEJ^WA=vV%*of;tC zTBYnW3+34oILI5blFIy%k|{@Cw}!w`Qn#fgPSP45e9K6!Z2f?SqJS1G>dXqo$P?5z zQdlKbMMgPqrQ6mMSJ%Q(|EG|ADW6@6?A9N6Gw3dImM{5bV_qydmP@2?@hNViY zW=e~^9eB}5k9U%@*7=o%-4XH@;?Ml|U-!9$-usqYp$EFO(9!%ak5-^A2|{0Lw-+EX zGVR^G$mvLW>i!TM!ge4wmpps0cd4XGqA}P^4G;Uf$W)#bTp%X=QNdb=upCB)WoSJq z(9=K@?(csd^rqPFC(0P^V&9R+=+_(3My=A_Sddl;{8Bs_|3WZ?_WT~v@b$KkO1zx# zVuD{_ogjhNi`Ldw7JUItGP+rC=RlM`HT!O=}YW7+hYpQY&Esx+U&rv5DYiCW%K6$x_F_ZG!N|)xyTTQ7F z_G^E_2bwp1alKZC;tie`TNc%ei_8~_)|{68ekZP~oekGp?+<4+#Ls@~!P|7VE%We! zxqwTaljqYboD- zWG&+vo@o#6e-wtHM;LG7O=PC?Fsf|wo>PBX1Y(NhqIOIl`ckASOiKh0It0Yj(K zTsO2Rx{6)ugLZH(`g|Sy^=z1`1;08e52 zboiExz~j3;Cb%xJ7QG5-JSLYIncUF~RNXo>n>aeq9QiKMOApG3jJ2$5RP!+bY%qUx zLXP<)FaEKJuj;@GwH0>?MYrui{dPHL*C!N`^rFU-mFzHEZtt_oRY=tqUpBAsu}G`}Og@YWl^W@?#GmP6rTM7{I+ zqmksv<(!D)ByJ}PcECC-9Kf8w9Nm9Neh3+Fjf{t=n_=q^ef~Y&N|v70UZP_3Pc`TZ z<~sEqMQD$2T)WRw-J#%{7+B$%Y40oQ_Oa8vO6RnoUu(_s^3zVDhY=}>U^5UQP{w(ElSdwdsEE5ws0i@1B6oII5|a4Z&&2K>b4X-OZ@pj6qa&uFkhMtYWnp zDKgr+2TAiWZ(W(@*|UYEd9T>^%A&o&;(}eauPa(;sYy!w-3LN>FwVGtTvZ^4DqgSM z(BB=2z_S}JeQN%}gUn|A{waT`%A`%_rN+0-neP|rA~Ji`CJGt@2l--Vs_A6wZ-cMWSzbV0n=9`o z(qVO=Q@2r!#RJ}u$H44s6CfxMHe*siw3^LsQC%TkfcjmUn6ce}9g-^D8}LxWy%Nfd z$nD^&S3*nQ>Q69jF-5dgbG!XnN=kYigsdbLK&f|wRR9n7nC_-I64on8X#qNR8;0D4 z|9|#V7N{(5TB3g!C}Xr`iwQ;YiceIJI?k%ihB;M}u|u005zrIS5Y%DF^@n000Gb4Hf_Z diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.15-legacy.zip index de4afce01352e6d971f9fdfe9b6ee12baf96acaa..e5a6258d59524d1ab45fe133d614a93bc5e66cdf 100644 GIT binary patch delta 1878 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 Q0J@Wg2Tuld2LJ#70AU-eI{*Lx diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.16-compact.zip index 879a8f2da7be0749c6b0850532032d18098d4e8f..d927986098b9c41a14a5c7dbf2af9f4c97acce34 100644 GIT binary patch delta 2090 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 U00000005I!2tWoo2mk;807A47O8@`> diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.16-legacy.zip index 2a0d8eaf230c2af55733f862f0f3d699e1e8d7b0..ea11b9c78dbcb86beee46496a0fdd58cd89701b8 100644 GIT binary patch delta 1890 zcmV-o2c7u$5AP2bP)h>@KL7#%4ghl)C|vYP`;j>Z005hj7g~R{Dgw5sX$_<1pTj3$ zBf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZUgM$&P5RL9KHd# zUNZ?7xvgt&I%i*{QB{6>Oc~0_edaQ!r$wulGh)D;IodpYyg#^4a4qAPnJrSxy9X;8r80#sGeJLqx=UP7GZCej&$i(hJ5Y| zO|K0KNoV1U_vbIaqk;BBOefS9y9@F1t37toGh?S3q^MULp7e4j5P8HA%&Yh8nPee2H4a(U|ha zDM8bbZ6$xjE8-#$LMLuuXiH&UX*I(0TUBK?62}F;77)X$``_)+%Ug)`)segLti9j) zW7n{B^##`ygZw}k;8$83*ryf&xgclvzLFI^ihK^+fJwmDinek59iSapVB|gRGv}J}S?MkPy|UV(lF4*R zGOt0Dz)`jCSL^Kk>9p{D=$%n2Eg*MtM%zmvKZIliE*MutE7DD-3RgkX z2Nr+JOcXlDa>sq zP0ehT<=QNhlU>6#=WqJ#T$WFRk{*8;<}_N^&slkt6ch=GFgM#WG@+GjzCn2`kY1hmt>>InQryu`jNMAHcG#9>A1Ln{&1sr7;z0Ee_VtY zq|bEo7}K_J=h%#Ws|br03gUn8-6z~_!=8(7&r7)9n=M14NWQA%&)o7}Yhgu+{n{18NqMAFAw`QS1>ggMyuN=*Rzy>f#mZMcIX7z)1fooUrs}em#aXMCW1m9$ZjwW_>0P8H zth5|thmOq)Prd2jVq`mqymNws?kTm{4)ICZ<)7(>KWlx(#g9#%jcjihdK>~O$!~Vv z3LbWo>02PI)Z>2 za4nGjMirllRA~u0m&j*rBV@}lDy$IAkmc~`53Y6PUePiMa8uzo8atq%P)uRu>K=!6 z_n$ACI`jVW2w*pMW*p!jm<2Rg`C*(l2ba90U6m(yKGMRB|Jw#vX;4c60zU&k00ICG c0CN~9T=Yu&kvRtd0GpGd2Tulp2LJ#70Gq6#K>z>% delta 1906 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 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.17-legacy.zip index fc740d22a81a4a95d3c3e17a959b61f25bcb4df2..6feab541e09f33dbf031f9425ece21192bc0285c 100644 GIT binary patch delta 1884 zcmV-i2c!7z5AF{bP)h>@KL7#%4ghl)C|os?Jv}%F005&Tkr-KjwJHL(sA&zO=AXkS zU?aK`3^>4cMm?W2o@13dpf1%*4I13^MuV|f##9H6S}!-pd8RTXeQpEn;m$=6@EpDY zxLz{}7rCu#Z#rjRrBPLWdrTS1$&lc(=BGugmNR0&oH^P&e7rxnPjD^cmzgb6+Gog{ zT_Jw3!;+ST`1g^21II)e{EA=>q;^B*0J+88l^WHqps1c(a-;kQ92Q}3mX37kR)&1; z3r(*L3Q1?-i}&X*zoUWnL`)~t7P|}a@~b^|(lcYH8lJnY4KlEhT`>*~oMV2BLE`f-y!Y6*9C{tg&d-!)0aPG{?RHB7P&rJs$^ zl8dZtfTh@fc5^Ev$KbkcWN6C5ozJl!`wjE+=5{(76dqb=uDKwkd={|bxwS}ACV$4H z^$3#@ep%IYo%vk|%+c}!9Stx@A(^15qUmDHHPI6yw#x`{zuOl2?2VV_lfUP*7nm3Y zib($t#HyOZ>F%2&2SG|hPdtPip5lrA~H_~%Ieh}(5hv4jZ>tw>q?d$Wz4v0(Y$ zE}n+sD&DH_o#^z;ObIPMR-&cv3lceVFaZTl_(_KQsL}*=2HDIi`7I3pXs4MSPMAs4WgGN0Ng`|gS zm_mmg|BvP*J3^t!Y?t*6o&C@Cf^dfHHI+@z^4RkHzX83Z^gh}vm6JRqJhI`hxQU*^w8SkL7<+`~z-}T(4%r0q zbdfXsp&$lmlM}j?xG|+LK!mOAI*o||hV(yZZLg_EpO(P6I0J+}Y*Qo=c9dpqOR&0osY9ZXY)*gl{AX!sKH!BLP^qXuYu3)35@;ED`rP|Aeyn@4& z0K;^Mnce%`{Uji8kFgxuej2xGt^p_u%Pv@}|L}m{EKo}U0zU&k00ICG W0CN~9Ts4wCJvavd0HY+6ng>*XA)L+t delta 1884 zcmV-i2c!7z5AF{bP)h>@KL7#%4ggtla8!&@_is1{000Cfkr-KjvFXEmrMFlE-|-ED zfXu&DCTrwg=!ng=pik`hOPFV<3RM2%xp+|IvKwx1ls`WK@iX=tMiQ^6xg^^}VWZx# zqE8xolkKn2+ciC~)*j(_b3GrVn~ze~JgI_Vjn+prVAJ|ksG z2=$#z7cq;cR^1+dHU#Th#p2kIX4g@xKtJyQAD8y1W}9j`k)!o}F=B~~*7#a0=2?c1 zD+R~oJn>g3jM21_TjzlOgz=-Ip_Y$@!Q(g8dYXX9uL7WvzcG9L2TMOTZrb>)7?fN2 zLq;Qf_lC_i8i@~e0Qr8cn)L;6v<_858=QoMElJv_0} zCVAP>)&d`Y+w>rFD=lHaiyH%V+(IIX4+aj3*c(-dkr7C<7|d7qF~8nr6r%%b^R z`m8%J_`JPA!vLB4`rCgk0l}S}j^U-k`UQc%j$VlFpY@BAb5uH58x?g}g&~F@lbJFF z1U}S%HabXBk}aB4qu@T$Fb2XnKwa51L(2du@UJ>gFI-g70dp#4(aPs{y3YCA^=>&6 z&ICOgiHty0MmBrqu{~tRE-Em>dwj8)_xb|sw7%net7_zqp;X!;J`!xDyXj*KXh3ah z{fmO%^{xexWg2`-HvPj-I(P|erX)3J^jouk5CT1KRN>6mD6&Zo3zR#Cg)ttSQ729Yks>yi zU&3qD@UnwIuX;f|)b>W(Quwq{B>y@PM-6j_kZCl6b%S>B(RaKrezy?BsQiP~I~&n6 zjIf#~K#NnHovKzw6hLdw^X6RAomIV;^Y$Hx9!HVufiL}7b{**61K z!rq-36NQKq*7jAng{LjogiDPt-+m=C5|ZS92f6(&h^bkRmj9U^E!Xyp1ZvHH&4=6h z!JAhPF-vX7pS4?++`Q4~go(oZ!G47+cZ(w*QFOBE3i7kjTel(LY3N^*40w5(A7xeRlBt$h@ zUr4F#R1-PX`Y=gg+-yjW)AYoK9>&CEKHovRvyatxv(1Tg;`iz5rh0e<7f@k;D zhm+?y6(Ry`T2sxjp3;#~MTQJKxTJfg;7odzEydgSl?z^#1DMI}F3Wm$7x75xP$|>< z0mCi#b-{fkw>Gn%b08TM;eEH zR^5n#xfiCkjTRU!TfQ8B8UTf5*D;qP%HK0@w|zGz-kBw8Hh|Io?M4euoFU3JBg)NQ zD0fol5M*9BUvV+_rY8ue>c?0?TV&JAGy1nfi5+oaho^PAS?tfxIQ{p84hy!e8Y*}slA7vpOp zTto$MvoP99KYbu`R^B;W9elNHRBKjY3vr?KjVu|F!*!)%w0@}pg3Vj^eABzK*e>{O z&yg*~sI3fN3hX`FP-OpeDG#=hts~SO&>3yZi_{MwBCGgx35A?>J4Y8w`aw@aYUiyo zZ#DOc%t_q2V*nI4?nA@Co>)VpyQcYyC)pwYSBHS4Q=FZH|KT76R!~a;0zU&k00ICG W09kTyRE$ygZ#V}400bqIng>+;=9CHm diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.18-compact.zip index f3d62c2cb294036fa85a928d7bc5bffaf9ffc381..3621a9acfde5ec8e4cc22b9328e10997e93af724 100644 GIT binary patch delta 2098 zcmV-22+jAg5vCCvP)h>@KL7#%4ghl)C|v(0&;9TR006Nl001hJZU`-rNGX4{Dgw5s zX$_<1pTj3$Bf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZUgM$ z&P5RL9KHd#UNZ?7xvgt&I%i*{QB{6>Oc~0_qk(wW=1Opig zId(1cFLk?_40_@N;K?hlDM%mK8R>S zpVT!-M7xO5t4-=Z>3>0;HTn5Gt|YUB+{ltJ6+$(^5joyUVOf6%p_5)~fP=%OkLw}d zkzK1DvRKNHqiJIR#ddRS(^?_AYuzf`a`&Rp0*L9ite#jXPjh49!`OpHh2)~cefNUz z;MfA(w7Vf)H?sS`hgA-)6ssO{cuICS_cP>Q=9pL5DDjZg5_)2Pd;1s^^tjA^Xou0Q z{#6+7IE)TlhFgC+STs?>Ee>EIA|5nUpja5xx4-&!f$nuh_o~Q!&~>)aD6<4!vgE9n zoJvi83!utFGvB}Rnd*6;0AD8wJY1qzo)eKfp(VVIDws^K2nTQJj>uBtv5K*JLgL|j z7p~+nN3Dpn+qAs4VMjAGMm;1DQao-|fCYgn7Tp;2^A3V2FIjPlBV?~M^1)QgGrRC;Q7X`I`^n{hF!T^RVg ze5^kiB)s>b49b+5USrFiu7hM{GI!A_N_aefLQo^MM?Cgy8#v~K1CQdOzopN1f;P=( zORRWo+5F`JTQJ7}u=~^2X48lUG@j+Dt67 zZVRWq@*;ECRuA1unXU$DHy!w~XFpxc3iJ6O3jHr~7TV)W_AOi70K%fUW{yYrZOK|X zu$_Mp_2h^D-5m?U{zVb5ZWf=H_s8-6cRmdBA0;H!hc7OCQ*`6hBLvy#dD%uB^cmn)4r61B)`)s)a2HS^6P)r$n3fu^o9mAUm~v)S%fR>r6)|Ll_9KrFyozH z(+ho4rvumuBn{+!i0lgSH1S^&Q*Tcse?3o8kkqRFYp6%aY`wwwt^>T32Se;LEZh6H z$y@3QOK4V>Ih%*8OTX8~2zfn(ZcVt7G>4ufw}IrFjt_5@>W>|8AMFbha*BT{b=X5< zX1{19mLEvlfMK(^ohzL@XbaxQ;$K?445Cvf?k1)S^AzT1RY=D4G3+^|2h%&P==gP} zJj~F~jxS&X=`nIxS*@y)B^En^JMpng9}?O2QJ&pDZTQk$G+_M%_Ew29PP5xSB88j> zi~oO5Ubux@ZtAQa>~~*U7$<*(OgH+4%1~))2?uf*Iq}4jP>QXxT-yHe9vMaRxaXDa z3ew{8da3O6U87*D^HmvqMu%|UKK9-;HxrloUv7I9Uh6E~9>Zxer%6e;+a!>KfL9v} za^1Lufg5CXM(r)hTXeQTc3#mD|{qP3>0I?_l c04e|g00000000000DzNh2tNim2mk;80I>)6RsaA1 delta 2091 zcmV+`2-Nqc5wQ^%P)h>@KL7#%4ggtla8&;`21ok`000#!kr-KjvFXEmrMFlE-|-ED zfXu&DCTrwg=!ng=pik`hOPFV<3RM2%xp+|IvKwx1ls`WK@iX=tMiQ^6xg^^}VWZx# zqE8xolkKn2+ciC~)*j(_b3G^EVS#j@?jB>)%;E<)^h!v2f8zb-U+xJ!*$yED*uqKF z=+*Ia>qXukya<4QkNX%P68pw05tWOk06Fv4?#GU`7>&=Mzb$xkNE1i>u+rpA>LwUe z*1#mpk!;@>u;+yNh`3w96TmA3an;bFZk5RRw~UL9n+2#z7@C-izn?@OWDW%`lK#9O zWz5Em>0|pzTcEme%`EImmV3yp0fTympUdW@G>9#uM`fLVhT4Vy{r}pa@Q&!r-3wnz zInG&fqn*zZW!e2Bii)Q=CEK7(mj&6P?k+w~xX`DW-VyZcS93{QSN={6;c&C2wZqIG z5`evI(5ZdU&OB3uu3C4wL+s9JLAU_y++4W&~z`#@fs*reV&;0;P7Xq3TwgS}vxaldtnD)?T;WYlt$xXvc*2IQ=T8i){G* zs}V|YT-wZ0zPrhnQxbzzWKC{tN6}TEb`+ACE8K%3qRb~-qr{8_)B^;S@e=^i>}`-8 zY)@s58{YSUTDSnG(iP=h?V3{u7o_1Wk1KG9tckAG6Vu9&`EE87$Z4o~thcDS zEl!(k_%_B8aBTv?ZMO?Jc3ez>^JMCtT!3E?99rr*dctB0nRN>oQV|`PR#;yY5p0l@ zrU0*h`84Dty-k*cW1F-}$@PU{)7&@qX)&}>73mzdsufO0=3j1=L z^+F6f;2gXhJnaeLL783ko~IR{dr`MILZzpzJA^Xw`+6>O$g)p@cw zuc$tnA?R14VGb0VoB5dS^2pTo(pA!B?OZyyPtG(eNI0#2J1gj{PGV9E#E>R_m{n&A zoK}aUbe_|WcLd2=QyeMi-v+B~ARbMBUoUJ}njxKB1Va_+Bs#0eFh_zm(YhNsHbAfl z3RDW|`eZ?S5@@^jUqzv?#&`(nzXY$H`1=G3?bigvTTW{dnJh z0A9M-)Ca~R+E%@TI#wahufRiJ$nRsuWo*Do(L-B)n2bwmT#^zO@*)p4Q@kvH89WRV z4OMJo^V1HZ!a*uEc7@VKi6E6JM5Jm3Jt$X0)6a0eXwb)aS)U}db}0?@r)Eg`a*dtL z(N>Bg%Mx9wE2G5oW@0y>XsSUdQ;$f>C+N3qRQ^b{Ar^jt<|OR%cNuKV1?nmdkK_XUyAy782Gj1_w#>M8O3S86u&?4jZj(J)+t==Jn8GU*2CF_FI zo)yg;HNT2HyY!=tjG9~LPqTN20~Rc)cih82&Kc_mQ)Ua8k`J#gKI zVkrjCf*?_zjm`cWk%ruV2_7j~m+o^&{%)hnD{T6rax^Ve+Y!`u!R^9gun6D2YXm2R zVklsBd5OQNc<~UvuP90g97t!t;lqcZmjjRd@C`@-@H#zV7IxJ3scPh&70YU5-eKtSO|GElb7vwFndhz-0;IT-YbNRoy{aaloO?ceH=`4Q#SGcA{|ap|Fz6o86S+bq z#oKn3a-g{KfEtPhkq~!k7wiD+*vJ3B(oobT#6KJG#V?<|?%e!SAW~P8KrhO_jgJ%R zLd|kiw03u5!vShRCkts}6^q@HYMi9eA1VeVocJw*_HurIGy@&SfLN4FVeg`tKab|KTy2(ojnQ0zU&k00ICG09kTyRR1;xNBai= V02L_!04e~JRtQQ4LkIu>002US3RD09 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.18-legacy.zip index c03672a83b5ff511448cab418bd87940ced2b33e..0752f39055d1d6adbd230b92a4f518fb7a85988f 100644 GIT binary patch delta 1901 zcmV-z2a@>y5BLulP)h>@KL7#%4ghl)C|uid9=}2d007J+kr-KjwJHL(sA&zO=AXkS zU?aK`3^>4cMm?W2o@13dpf1%*4I13^MuV|f##9H6S}!-pd8RTXeQpEn;m$=6@EpDY zxLz{}7rCu#Z#rjRrBPLWdrTS1$)kaI*XBxar|%l;^8|{tCZ#C^|^nQ~IE@;Rebzhqvw%tRH8zR6?vPg+ZR%h+W|p_kk!o zqJ*h|?sGhgyB4HpQ?$Cu$?QHM@ojdy@h~BgWIB5rcPCpF%hI)8xPu&jW z3bwF#Su7O5V~bkk*WSI*5`-EKz^Xi@Xw4eUfCB$ks~8b~fem~&MI>=RwvmM~1V7Xr zS)VbeUC{bo--p&Zrt)J()dS>8>$IHy)&^jTNn{*sEHfSM-%E>SLj?)BB1z`MCRI^1 zMYGHzyEb_IBikNye136xp}u+a3*t$%ou3WW*}XG*a@itn7+soEmHBw;^^4$szuk6S z=Rsgfd1C8-K6Voo%Kvee7S@zr) zTjVvYps2ca+r#HF7>&WskGK$JPs9T-i5FZ)8ij@51gfzdE$jj)I9wm9xl)@)HWN9< zEdJ|U&o=Tc3S?3y^LU1`5ea@f#KXhA$u)CpEqt0ZpecLe!BNL2G>Gad{~?Z_Y68eY z1%af0hsNnn@i!Or-8AeW_Sfqk{g9*h7SNnG(Oh-qDA%)zipMG=QUj7pvwLf%hMm;Q zJL&dDc%K7d(_I_m;e9{f@)6rOwV0S-eR+E4Lee~^M`4TEa{5&K-Uf=|)8Mc{&}v2P zam_F#f6q{N3g`bM;%Ig*gB$7)WkaK*lyqf(A|y5(xV);+EdPw=5@4k=&0ou7)p`9v z8@XjKf&$K9rRh6YvNN7m(lK!?-cYe{q}!3 zzxzmUO#qB{9myZCmpfm=%J0n7Xv7Qlr!d$HyPtJcaj~-&zzJKY;U{SR(+#r_p0GB5 z5}0m@hNH*o>5seHqn!7jwu|;&XxPTnvG5HqMN9G(NE@wwK}K}y<3%dRv1b3ZZro9Q z!M3G7n)RA2yt@)aVU{vcTqL{Tpu(=-KBD{9ORhr;Hg(QhKKuSPus;E>LYeL535PaO zcmG0vRp4r5pMeRJf!Vw%Ak~d*dNp-_n}(A2sKT=@(TFo!_*i~tWBIoH$?(=ByZ^WX%|ShJdl;1-xiH8dXqvl}Q-sM}DGwAa@XnPP zj}tCrb=AFTlaEmy^}4}eN2w0q1*}pGltx|9b%4;dz+6;B%tRtSP}&iR zF>8se1_;5adZ7SR)MIqqdXeG`NkX#lXZQS=qP0m%X7FyycDfsckpbLeXBiIY+W)?K zaAhcwIi#o!igHTt`*%dQVEI}kwj*K>5Qra3*M`GEAEdNjufeq%+sf&G`k6sR_8U@D zns0;$yIo5SASXc^WTYsQ+095q&n-7$+Jh{dAT^r?i|qoI+NU1_{I$$kZ!)4NpGO-b ztpTHw>^cmLQBU5m8Ot+VfU57ODQS3xTQ?ouCQs(TQx-XsC?BX$1fvV$ zXX;@UKe#|9ss;=VU%(C@p03Ph$6=^{rcaE}s1-_yCPM3CS!?2dB+`f*I4q+Ze?8Hv zEDU;M4Gq6Yy6y&}51Q%~a`hYCt@oSP77jzexA+Bq$CW1vB#jEg*@`>ZnIxliC}yCu zW_l=(+Cf_3&Kb3Kba4YB{)}N9-xz=XW=08rCcv!jL8efBV)&HKVmGCkJ}n zxkB@enosoya&-bhI;HU~%&q8qp`G8lXjZ|7k2&;tVYD?tsE*ZP<*N)?U#tJglN?-7 nO928u13v%)01g0i7${uZaUQ=y2LJ%fB$KKKP6mnx00000VFQh) delta 1907 zcmV-(2aNdm5B?7rP)h>@KL7#%4ggtla8yX{<)}yp001r}kr-KjvFXEmrMFlE-|-ED zfXu&DCTrwg=!ng=pik`hOPFV<3RM2%xp+|IvKwx1ls`WK@iX=tMiQ^6xg^^}VWZx# zqE8xolkKn2+ciC~)*j(_b3G^EVS#j@?jB>)%;E<)^h!v2f8zb-U;Ij$ASy0k5hSGQ z#djcciUTcELbDHl%%)EQpK0=hca|pCoA$G5cDPkE^$pD4q$SjzcO1#9CB+*Grp`wK zDnu-Gd}Hdf6%EYg$dbzieaWq<11%?bO@}=g6oswfE3WFsffWl{zn5e`SG}^iHbJ|9 z3XtuAx{L0oye7>PE-VwTNJaF~bNu3ihz+cp@s{m2Pq6-lGiD@HK}+y_qWD(9c#5bmU+S%2YF2Gz@@B zdmL7E0xsGFe+ifwNljym@a7^o=MK3D$NOMlvBnvT3@n0mwaAoo?=4;QS+UtEWoPw+ zwWb5Su7Fv86+;Ru#<2^0HdGL`TR!C!S(MRv6uvWNd^1i-MeRyOvuF_26OFDI!nZ5R zUFl#>c@zJh*Pe1}D7#WB=+7BbSK6#2??JDac=Oc2JydZY{Uve&cAcD6+XPKF$c(M8 zh9xPxnkJld7cklu`UZB*7Pko1g|pZ=A??FKTWEKG4&+~vX$ZzCIG|QXjv5A53nrTb z^aOUS(cpHm*g);Qhh!(~fS97kF-yY%6bcG|ISfSIy2Cr}GRw0WO2HUOMVn`)*EUkT z88>%Ojtni`9$slF?&zVrvS2?^3gR-Z8|9{-1_P&*G6|8Pg-4siCLo##IvXP_h4)8E zLD8XqZpAc=0+prOJWBTNFJ`7Wup7A2@fmpwPvcuQ%uP0VNRh)Ks)8=lHXvn!8K}UA zW~SUS-SqmDVW{fF@@sXu89uK(aeNxeW-4j7w4jXDmkTFRR6b?mC5Bl#GOjeABy0eq z*UnmVF%^)65J8M!d@F!*zK3#X%uHHpM2;653v@clF+DdMq z$)I+~(+-_4(L%^@ccs&YpnnIx>Uwz9-vv?sLEcASy;^RV)zDa~@at2#r{FPVWr(ptcNWr5iY3ofZBzZ?r)pk&FLdPL|A3|zusRiinkV@c4>GK6Q+Ay z#@U`lf8bX;8IF58%u1%IQs{LiP%fXRQ5aqYpQylQZmmXvg@R~#G{gy{ePAq|xZ4N7 zmi9sCn$4rmXEbjF@vqS@j;?ZlYkyPw-Eh>6Gq+_uFS0J{m%$tEkURtuxIdL5k-}r9 zV4<|r_VoVzbN(r^rDDfxMSd`kKu_9R^DwP7aIJm}C&yN-{vxufC6U=XbPm4Kw*;$P zUAE>h^+NMhvY8v+!@ImCW75o>c$NsezLj8T%{yq~3aN%>te6*Be*g=Avt`DD0N7aR>IIH&Z4QpFmXG7<6%_ z(MiI6QpX+ZQ-;XJuSw*84~f_BZnOtppbSrQDst8MNfH-kJc>`RkyoU1EhldR@ftj# z!XV*<&?adM+w(NXloCpvpb8PONRPl&dL#ImKm{JI#clF||JoR|NL-|xVtJB72qLfO zr~i|2i`ZIDix^ej!0{m?@H1(~bu_LwhM`qT@aQ9`d9M*rz#QU#V?yB0atU@D_L{EF zDFNAH(p#Xb5b^h$VhKg+pa81Fvt2|{r~l{>e&#eHh(XaXmPqyHpu9FXKkyjR@51fi zqc{3LA4D~J*`#6OQZ0~9RVVT1R_TyiBsGMs))JMONZ?yUWaq_#XO1ktMj=JyOkw3t zivxm(Pf}hVA|qNy_O5WE>B2b74($oHY`$EB>!Y*cSZ~|dBLSF?3cFP*C{!G;X+FLC t|HoiKXi!T50zU&k00ICG09kTyR7mdSs7MC@04^nyqz6t0kOu$&003haj2-|0 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.19-compact.zip index 8b349f81b32971c7fced7f191ac830689f7354b7..8c924b569042f5d25dbc615ad7e50bdc9c9675be 100644 GIT binary patch delta 2098 zcmV-22+jAh5vUOxP)h>@KL7#%4ghl)C|t*fdTR0q006Nl001hJZwM`sNGX4{Dgw5s zX$_<1pTj3$Bf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZUgM$ z&P5RL9KHd#UNZ?7xvgt&I%i*{QB{6>Oc~0_wcv2q=1Op8F3?ty_ku8qHqn=HTC)GYtYGCx=o0WwY+9`1$eqY6 z7&JI;fBoE=S&vRK3QpW8#DVSeR&EA2I0o6Ayur@RRB&=&^PgMy!$%uL3l#Yxs9h=37{ZwO{9zWxO7&64B=b z<_a;sZyhlM0iEgcS>FMZ%&i^c>0?5>CAxXeQuC(fklc#{7t?cfV|O4} zwJ@=axz&I6vw-PoofRGpH9U)LS?Lcg|2;;ueHCR5I7ps4LuQM$P!&VeM4}dkS^nV> zal-(7|6y|*jTDc};}m(0$`!bC-r-rM@jXy}%Zz>UG^cbxFuvYixt_#%#0Kb|o{V8Z>-=Z~QjjStHNT0T!&Rn%~)BAyXf(ZdcpcuZwe^`INCBS#8Yw#Ww0&p(6zrk~S zp9$K}DUi9xQ*Zu6$M~!u{%{&S$m7kRCxh`wT+ z8$>!u$f|&u-B2e7{B)--**cNUFiLXKJ1>`%tH%lf3vA94see=Xx zkD<^DdES)r0ukyOg2}BRL=#l(oB=AU0r`J0n2<)Cw$W9tO2vlA({3bbXKbn6ImtJM|Q%h9>*Gf^SuHk(-^~`YIVroAuQpfB= z2!^J=8aqX#Gi;$u&^;^wB3(hA({>+fim0xa#A&YEaWQagR9WHadogduTDI4KLhbUl zXjHzg78TliR*uF_j_05=>6#r zod(=Pbe8tWFsIMM#+EdsRv0X0QpF z;`Z!K5_G7BCLPt(9+CM2=YFws+9Ut*)Bd1PO928u13v%)01g0i7${uFhk9!A2LJ%E cC;$K|0000000000005I~2tfuq2mk;80I7KVT>t<8 delta 2091 zcmV+`2-Nqe5wZ~&P)h>@KL7#%4ggwma8y=1(6Rgn000#!kr-KjvFXEmrMFlE-|-ED zfXu&DCTrwg=!ng=pik`hOPFV<3RM2%xp+|IvKwx1ls`WK@iX=tMiQ^6xg^^}VWZx# zqE8xolkKn2+ciC~)*j(_b3HHq;em9Z?jB>)%;E<)^h!v2f8zb-U+xJ!*$yED*uqKF z=+*Ia>qXukya<4QkNX%P68pw05tWOk05?LFO&k$_X)pQle&4 z|K}bbW71MTR79&d=!9s-t!Z1XO<5AatcYkopFnciWZEWwUH|tip;4&gdloZ%3%7o$ zFOUROP^+N9w1B`g?Oz`{2gP-FnC7aBu5DB`(lue;nbkv1T&v3U!jA z@-qidb&9m=S=@ACW~*df8bgLb?Mel;DiOU$U3eq;1Xh6L)acSL$ZZ;NQkia<>gJF& zNDjlA)iH~IT9|_qE@VB!nyF3<$<>D+Tsv)r%m+Ik-jGZKVv6BHqP&u*{{8b~RyWO8^-Zcf`$N?lt5xJq=W8`!Q8uHgsaRbQ|{FDbl#Zv2G$V z%NHdQ{$8aeZZ6%C|#I?HuIWa8z{Ud6terG9! zIy-pWC3cdqSl-zP+Mb5{g zX?1SZ@}5*t^|cOp4_u6|LEIMUm#tIj4Y&3Wa^?sP7@YhWbw zPTF013pL5o16JXeKW<}^&cO9#Sn-AYLGj`d|VTp~o6du}w1flN{q{IgRGT#~67<#M_*Nb6EI)kC^ zk`PV}M3GQ9OzBs&{E7V<-G|kr+?})sw27B^KKDRhn)O|b6qMV9Yd5qkdREjl>-9ua zUIpM_zOT}cO%K5eAT@D2we+li$#qzbelA;Q2J8zg?E+;ObUx>2YeCJk3i(Y|<)OW! z5k`2i?S4Ul>Wa?CVP}!o0M?68RtnqsLe*0NbNmY8L|DESTHQ z5wbzMJ@SKXtE)OFFp1nYsqIkbw#8o*p7+eD_O5run`L2J#V(^~wc9&?SkaxDFJ@9= zD{e_DuQM~&f!{K2gQp)HoR!&%m_Pn3RFgjU7@tNk4eK{CFjUMC=_v&e9m<61t>LGrG~fMjL@#Xb+@Hl3KVgB;t?YU5$_-~j6tXhWm6nQmTjP*o_@n+9 zz4|?dG>PwQNJn&uJp-GX+~)2acP7cZm-G8n>VV$nMy>p!^08bu|MyWc2YjL0HvyB@;;mx`UL}p5FSX zlJzb<$vc#=cx25%T1F#(u-9&N#%9Gv%>R8+KLAim0Rle*KL7#%4ggwma8y=1(6Rgn V000#!001hJR|rc6L@KL7#%4ghl)C|q$Wv3f)Y007J+001hJyaz3jNGX4{Dgw5s zX$_<1pTj3$Bf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZUgM$ z&P5RL9KHd#UNZ?7xvgt&I%i*{QB{6>Oc~0_wcv2q=1Opv0j=z`UZ4aGu zA`;)5sg(p2`-TjsA;J7~K zre@cy!KQXS)3?VJV&>v6%FAz(YK=b`(x^ILp$#B)lnTFDL%W8DjR%g(K7aYH{r4r; z#0^u6+~~?o#{IWE$x)o+RsMrbY;swW!Qe4){l^Xr#t|(a^};;0Sz}$=DVEfw$$Dy> z>?{l+Gd7ys?LCZ4u?l}IwG1J)48_p6%H=*>N>+*e=SO1TL76r2hwAgzCfjIfG2<~| zmBT$}mcxFc{-KdhCDf%EO+SCurZFUtoK9 zoN!?K7C}DrijGsmEKwyJ7rIe8jWQlNKPWndly=Yf;tb|TVN(rX-pPgI_@IY?p z>4$5(K>&YkBQ>C2MmsNx>D^r9Sim( zJHiOzabU&QsI$~*YH0Q~(e*dEp0K(D%S4*cHXcwIuSAwc`TMxiZaHUYIgG>?AwN?Y zjoVkRU%gq-`$%t10E~AX$se$nJ72=e@66O_#0&PPFxU&bpLJDnv9lJy30tS(8D1vp zpyMA-wC;aiTa06meSnSu2NGM)c5PJf7oa7(tz@_0eB4?)w;4aJT6;bP$()7sBp#m_ zWDHp(Lj|Vpk7Sv%MfUgh4&IK?22CVDWg}In5v#JflU%W(&!nG5`U0szx4&c=UoPE9 zVKnI1nl=(z9bFuK7RizAGg2oq0u_SpQc1(QeIb8X&+A6c>biBtX@ISnuzu`4aayhq z(DhzJB)m7ZiC$iI=kVwZxTg0yJ!?o#?yaw{yz9iU3LQ%#9xH1ZU10ayoXSjC#&qn` zb-S=M1JruJhdzYV9=~vYv+P+bH1c_=wkoXVa7y{PmKIO9=e9#TSl?tX3kj&zAHhw} zjxv9wWe@`EP?!~gV=TI;ltl8>i}7|eI+QF@plZ#B{C+~w%!zyRT-m@lmD1z`F8mL* zj8gLx32Tu8zVw>(<2JV946xqnnotK@0b{oLug>}|$VBDP$&s1l#L=XGL?4~C2+lQT z@yV)Pqirgk@p6fh4n$F5UswZ5K`gd8nFE@Qxv*m|dt&oc{@m&=cJJ}|@J+w|q4 zkB(DAkxbzvi8EI^h4*vo0lhIsMbA7=^nssSrs=g;{Q~qixocDuykX>ObD{Y&vx9$N z0W0o~z=vfC8oLi!&Dv|HO2Z~E05H;4VEwlj+ApP(@B+fyXYN?zmhGXK6~q->k7#KY z%Of=|D;%(kCFZIA^n=2nFsss9$Ny3xZr9Y(1N;t1Te>Hn<`;@###gxpU=r7`XQNtY zE(B|u9pG+9a6luzrr+_uTw)?5@=<@HkwzQ`b|>qgp@{C*u1YAe+ol70@zd6<2~XoE zNYhsyjxPTuQU7;~BM?Qmf=$NMFJdFv*NNd<{Z)&X0hO{PIP3;Q4e*#vpV-~6zS3KU zwIbtD^zNg&lFt}wQ|T8ZO&|W@RvG467gnyjNI-Gctk_CE$;B~*hUbpi#9)lBlcH(H6dU?R3d+k;csV6_a8GN w5@q85^!2dkP)h*%p{Ym2Tlfz2LJ#70QL;4y#N3J delta 1908 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 delta 1910 zcmV-+2Z{Lm4}lOEP)h>@KL7#%4ggwma8#<~h(${W001r}kr-KjvFXEmrMFlE-|-ED zfXu&DCTrwg=!ng=pik`hOPFV<3RM2%xp+|IvKwx1ls`WK@iX=tMiQ^6xg^^}VWZx# zqE8xolkKn2+ciC~)*j(_b4FwEn7KMYHr6AOlO9In1f1CN3<4q%=2B~k55lA8Brh>)V$LJOL7;Fp%BkLwz-f;< z&K&Q!9pL%q-Ai=`5gu}q)vcj)=ILXbSP6MlgiR6MPx}#n6m{p01xYQiC@yl`bY_83V$H=H=T5Qyva+12jj~yuJZhJ0 zEX_6>)=@QorYO14cD|*BCjpSQ7w{czY_KK!ClWK<0ZgC86_J$PY*8ZBe+Q^v+w+{z zaPG;nn7N)vej?n==wrrUKo`U%xfs?HdH4y>%k^KJj|6@Wgd_gd-GM|@|* z`%=(L69N^GoWsDNpO3Af=D}}PuKCc#Uolue5XBGXjX2Up*s)8!$&;Yo9gj%!f_*)5 z%bz@ax6@{@+dBB&-h13jwTD4TIbi$IK5;{yn4o~H?+bfT^(x9RF7#$!bn*rX>=8*8 zrd}z3I{B8uE0F}@a4ze?D$PXOQ47obY;!&(@1*h2v?Er5^A?F{tgEe)U~@jRok8qi zE5Zs9d!|Ztigtol4HPbUXKdgbp){lG(G1LD|5P>2miCB0%NL&(rWdGx zgT6Z9B9+XY2k;wTpYuw0M?o+YS;;gXCce8F74ya4714ajD{=2Ku$GV{{uGJ|`5K?S zd&mi3G?u=dzxv6XABy2tROh%@Z1$vY4);p~=D1t#*&UL<0}1o9mo5dK-aCB$Tsd?a zO=QhuNrQ!%R7I_n`^^gZIYYs!!t#-S!vuGHz-@htXb^;8zx262=AA1}z!VlenQag& z+{(>w;6&7|qi?I~)-{TbO)B{#h$dK81cianVWJO#9RHJAe`XWsa%FX&78qJNndpq( zit10;vZlBavFL$@@Rp@5#W{^V5sCd*$_dK%9Nqoo-+s8vu52<=(y6Px8toWhWuR;Z_+Fef~y65*% zCDhdLY25D1Cup1ByVRYG=~av8ixCQ+$~yFq{lSQHF$mAmwd&@-Ptcd@wA=XIoETJl zO5z_v(-KL@#n{IG##Cjmh&G>pZ^q=b2oUr=_%^>i;`|CJs}m<&O<+q?**%rVOtwUN zaTT-t0!;1qd!ssyabc~~w&Le$)LAqWg*&397MK7sNa7ane+dxwu9d`4-n*}|ILg*h z7b3>C4xZCe?GTR)AZu$|-gRhpq~yVpP>F1tgDf|v_n5JmT{M zzTeA~dcUF6OgEE*_0NlL8iI{1mh%N9OGWJuaI;n*` zO9>zh-t&FV&8dJ`q}P+iZ$1YyA0$4jC<)6x{5qbPLt( zpvi+2_A!(bBES&UjZ2d+$iz&R%%=riw@xjABJ#|y+QW$n{;g23xA#O}7 z9SnwXtQ~fsYIEsI+#wH;-8^SL4E9x1SYvr-a575f`ese_V*BdRs1;(nd8kuMHNked wCdOH#{cjYzP)h*b%7 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.21-compact.zip index df3f1006d1435ed8122956da99324c3b8893a350..2397f0306ff3278a940a1c6fe0b9edcd6ec45761 100644 GIT binary patch delta 2091 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 delta 1912 zcmV-;2Z#9j4}%aGP)h>@KL7#%4ggwma8%bP8*fbq002cLkr-KjvFXEmrMFlE-|-ED zfXu&DCTrwg=!ng=pik`hOPFV<3RM2%xp+|IvKwx1ls`WK@iX=tMiQ^6xg^^}VWZx# zqE8xolkKn2+ciC~)*j(_b4F~>VwW*K3Rf)=)TD^lb8Npb`>Nl(_nKBxeV#OgBX(uqk(NvcOUUC0g419lPBjcGrs z*}dd?=}Ze`PPTI|htu<|kim2{yD6CK_gYL-0|~pk%z{0ZWW$fw z6pb^3OPbpU-*t^S_k1{iH7g9`)hiOm$edSw!f!t7W*WWkJ9P2SL6PRecEAhAU z9i({LvRod>Q)#HJnn!Dwljulf(xlT^P+((jJ<5*Zq`c!I|3#Co{#=7*Q?88229?|T zi(wL6q?*dv{Qk@W)eOV~gZP2Ho#`0XMcV6YlL9QKm<3sE&t9;_aCYLHY2Id@%B2uNq5N zO=QXhBqjM61f4=b4?t193mPIEhTcQAn+L4`g)E7iFW2%oVB^fjPz2n|h4B_V`R-(9 z{xDf&%wQt-6n_)QPqsQS3U$fF4aHeR!r#&I) z-4-M9-Ps&IC3Eq&E_T?|Ut;s_%rb@K;D(2j3x}dbW?$q8^Zd5`Xm}_m_lywbgfRcD z*OKQms4wJ|3%)m{m;h>eQzZ|L_4XToPQ-M{v{X)LFS;5mrj!ipik35;UX+Ekx#cp3 zcZTbjXw)##k_=(6p(#_}>(*jgOWa1?uiy^s`I4-+a}SqOv}QwN<_F+1Z=CsmQhr+_ zWZg3$L@MxIV&XPJ6(ZZs2v3hO0W%x64cn$>>vzHcfpA~P zP)T74t*ZTxH$I}EFkkj|vtyow76vdC`&DI~P$r{|!horoI6z_56+g6^d#yyz{QV#R z>*((t?9?XW2KqZw_gXrg02>8=Oh>L<(ZieQm5}Eul@}Gv9g(*`)O*QqY%w7^F?k&5 z5o8cT018HiP1wC4#&qe6XM6vm8)Vn`uABDaWdaFf|X_KcTH#w2lxO1(S(%lG|R zk@b&M47OFA9dA_b3Y8T8WaCd{2{#iTgxc*Hmbi5WC|9-uBA z_nvOSSfQ^hEpf;RO4{Ca#LM_}PpcT%tTkF!rOTA&o>V z0nMcw!3yFu|M??G*HwpqpAi1(SxzUilCJ&;CmYmL&TxP{>$INN>M+b;`6cSEqqKR! zNY_i$G?xpOL3w76Qc*$++xzrhuaI99Ldvz)>n>A9GS$iulw%9%Xa?zVngQ&zd7eH4 zq+@|ncgced@rTtoU%V2oJv=;;ny?&$-SRxU<1{!q21YT-vwypPzFx#a_os(c0qUy{ z08@E_yQ-i1>*efYnNlLSoiGGTdB2%%Bu+}odHMb`W9sjN`O*k?v~XLI)Cg#TZR}c$T`p++M^Wl-jm;G!R{hj z|9Q;}ojbnl2ntY4UY7geqwcT1U>Zq0LMdX^?(CD3t6X3Io`yB42@6t;U-mz^)@e4v y$Ka`yYODVEW}i??0Rle*KL7#%4ggwma8%bP8*fbq002cLlconw29*Z@0001!39UN- diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.22-compact.zip index c22fc8755e9efac255d24e8795a97b7382b34239..7c396965b2327dbe739cd2f297204cb0a04ce581 100644 GIT binary patch delta 2090 zcmV+_2-Wwu5vUOtP)h>@KL7#%4ghl)C|oI{%JT9D004E77g~R{Dgw5sX$_<1pTj3$ zBf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZUgM$&P5RL9KHd# zUNZ?7xvgt&I%i*{QB{6>Oc~1HyY4-B0%WK-vB4NwR8$!aT(9^ue8lg@lmTixT6mZo z1)tgVm-dzNeyV?JHGC`p=gGmIr8Y_7^RQD+%`lfI60gOW-Ro6$?c9^-Rsq{40UxG* z6S2bz@ftSL4K6BPD!*vs)C4_~CN{?DDs}tTl z4Md@oc}st_;G^!J{cfJx2|_ZZJ{AP+4-4yjWaV9odT<4xa$gVa@vKz=oILiJ05X$) zm~)^z)|%^G&$m*MQAJoCY?p?&=@K9?=1*R&J!Ldu+>!A?G*!QLds3k6Q$#Hh1eG zjgCec_!)ax%T5USeICc=bNox%X%dNA8Hrj0-wO1f#YzWz2L2A)K#IPs4q!t^152$E zGhTchp;Ymql>Hx1=*PR^@jT)DM5Wb_F?)ag*&lyslwzHJ_KRNRr0q+171N%4Fn>mRDHGRDf2G%E61Z*!6*R20)cM z0Y}gG^Cp8|k9{aTxaGid$;`4j{(=j!ZpRJhp(dgeFUm zA~k9I+=&iO=C=|0974ee88FS5MjwBqt(TbRDwXtluu~7(WY0b`{t!5*bTDZyGr6gB zV+uw^rxE20>IUI=Bu%y+AR7nT6nW0YnQu&tr!(BkbMT?)bfupAub6EmAl(q z&`EBW;s)suEnrN2iGsOwGzDoCE=wt|`<#ZS+4=vP!ZnEak%Jx64efoX5<`FNYWwP8 zd_9;VzT z3hY*oEco+&=Ypi})OkeCQ64k9RG^YZfJN#7e$Uss9FltAp;`gE84q zHX*G1KZ*Ti+MgDw(8KcM{cWDlR=)(ALLero?tP<@^nT?AKcIq@oF}ln6gR1NN zK{QGskO8xX4H{0P{%Lz5M+6m=Co(QZyZCr`KnK0TQnS~`1D~YEcNl-vhn64|(NYvA zSpnA4kqr>XD=We?jXmd%PcNP#F$fO!_<`L4q!!f)&+lj&(7I*OdL{B)fhaWhU~5o zsRIWo4q9=pVv2eg!=ir*e6pR#uJy_k5B}x8G=={r1qiRlIGy1*-&wG^b^(IJynDtcNS%AgI@%dU1W_!p}kjKb|gmUBAn%KM2_oU5NO)CDg$u zMlLAVuow&X!XGyETG5q2yzf4R1YQ`ToJCyi=R6NF3!EJW(gY}Wbli>1Ekb*HBR9|4 z%A*P5`fIuoKZ1YP(QUZ3J(QJT4CO`Y;CdhD=rm4)kaWh2mw1YV~^9 zZY|nB$O^^zYlBQ)HySz}1~3WGmQCWDezM*A%Xy7KI(Ljj0MBXLMi7Ugg$?h@OKOWae!K}KMW@`Pp;zd zY^t9Nb(b=eWPf1xBH^8ocnh*-vb{wOFU?)>R8}3{hxBEBT^Rtyiy(nU!U3q;M=zlF z>Zw;P6q?!wy`?ozw1dC?Z{ibBO928u13v%)01g0i7${sRqssE~2LJ$dC;$K|00000 U00000005J42tfuq2mk;801PYgng9R* delta 2092 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 delta 1912 zcmV-;2Z#9g4}}mHP)h>@KL7#%4ggwma8z69r8-Xs008ol7g~R@>BD=aw^#$;@ePB3 z%)eD8Yvf+&h|RU2PweN4rliAhLFsz*3o$PLf~b`jN$X+Nsj zz2ti7ObcXAwsS9s)AOy6!E`mdDVXc`T1-;|3A@&N)z<)b;WW^3r)s~Ik-Qm$rGigi zdoKBfhq=~x?Y^2NA@JHBWL@D#ln5>!PPSvS*z?$=Ja2!`tki>Yku&)-r1)usz6RFn z=7oC3brYIk5U)7mR=6*Lak%M`S*HIF41|=ISkC9jkQ%kaV85l%iWES+DUSd1YM=LJPlG^QRdRRMQr88dA(j8IC(eaw1>`0g62M z#kUq^t1KPO_3^bbfT(vLs|}v;+_laF$)0;HAMd4x|9|_(2{$Z%*G0E&%GZ1noz->I zXjgy6L_-Ydyi2~s5wF8WH=_E|pug^HTI@*v)1~ypf7}mEsD9AZrc}!XAyNl!de|$@ zZJI2c`km#>#;^HE#b;lxU<8Y7vQl%fw?p`9f;yv`wseOR^V4s@3gh%N)86MFODs}j z5o2u}KhjQgiJs4k|F!sFdZRgfNt^X@7-)Z=nUTMf0froKBfVRa9pb8pwa~~Yb*S{m z19pb#C1G7Hh|_N&ZPiw>GFj_o5~wHc9J&60Qymt@`jzlfYp0UH^Z$kjDV6Ca)gm+y zO)P&%SnEje^WW7C2ay4etFCBzS!wiIqcJieSnzHe`S9 zV^?Lm-twyvThVkVa%(SQv+^`;B*wsAYO$gVR|_5buue2B!4kA%camz8$ zbNZ|%wlt7aplh%pOoT@Q{4u6Gg0_F^AuI4vFxxdrWzBHwqg;%yyVeWHHUWN^AoWUwLY&W=$3{PmsOd(by~4#SCJuW63{{hxKr zRtVa@AhXMpu&B7sa&EO;GjwibA%g~CFBOaKm0BC>b{r)?_Ep$qC z^%ME>jL^zS7l9E(0m6mjC)p(Q0`ddKa{GNzruPc0G+%$vA`j-!wu42>MI-o};-T)3 z@!{P-7GO(D6N!b9c|uF!;mc{!IM3No0t8TPYTFe(X4cOrr0(#$FritnDUfvM#NAOs zbhUAT6&#c8kImQFpNW6+%w>)Gh+F)mnwKfa@348i<=Z61^9zpq7N$#eq*niImJfwhlPCK zA(gZ>r`yxgpU0m2u}vsBcJ#IA=d8S_g7bBUYq|gMmt%9SZ*hOzaw8#%Lz}5T)V_j& z`;t$r)GbdUe8;J0Q?4AOv}Na&4~vX2%2&t=Y_$?H^ofuTnmhPPe%@3U%6i*R59>F+ zjZ|20gq7&?Z+ER{TIHaNZtIou{TA}N-ShSWayuP5Cw;@SYbtFzGSmp2P=OoJN%2TO zp8n}L*a#BD;5kh%<-W3d^I7-iA|1zP)qJXLgx~~$6A_sUu73XEu?SWR+n<}TFXaL; yf+4*plK@rztQZMUO928u13v%)01g0Ja&S~z=%qSO2LJ%_lcEPt2A2l_0002do3ri! diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.23-compact.zip index 6968f247214bb4958a0541d462f318a990b444a7..41acd9b6824db4ddee3c591c18691b18d396a736 100644 GIT binary patch delta 2090 zcmV+_2-Wwu5vvgwP)h>@KL7#%4gho*C|scPDNFSS004E77g~R{Dgw5sX$_<1pTj3$ zBf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZUgM$&P5RL9KHd# zUNZ?7xvgt&I%i*{QB{6>Oc~1H&d2KNLeeMGWToI@`vRVG*K|bo9t%sS|0Q0>;{Nsb z+=$kp=8ejD!Z3e!iGYsbpkce?!rBld>42G7WM@G_W;^hJ;*EmQOxWM#-r_`@?ust@ z3SbQWfQ}@-57&Q(2|vwQ#LEwX)z}WqIAgf(SdG3WrxkFLOH8aill9O!&K*h&GSKfk zRxqz3V{&wq7%e6v#FU-3)C{v9_`o`gn6~n_=Vso;EiivVsy`~^H zNmw$=vj6i2sdYgn`jCJlzC;NM-ZG>Fh1JUS=$1V@U@3^O*IC%A#=|E2#i+!nB}(h` zd1VAps?c2}iY&;c*_0|vrrY+5MIAqMVcpd^u( zYel`P{@%XHwDfR*+IZ#Kl{H|;D;-uiPn(Z{+sf#p;1iVeRTm^}t4Cxk`Up zQA|GTj`U7FgRy)#;|(!9HnauAyiK zNali0H(~8;QA=N}?miP0!Z_HX(c|pHuW6<$qiI_S8(J^$ay$&F#c6#XMHSm=m-d!} zPS5CW(Oschep@vuBqRwwRlW@NV|S%DRpVa0I#&C9K+?VZC6Ae|C%`)BZ`prE3Ru9= za_>rb3eyuDoiLx2rHKTsdvo#K9%GJ=kiP&}M-gd=(NbMqq2efBTyIdDB>Ss@H_T)O zviIHWE~)eu4IQ`qt&;5lud5d2o22@+O%!H}hg7mE`?!ZS!U{_SIIuL&dGN45yaM#m zZ-BxyTHIY${KwTs_pPg%@+&*rJ-z3`>w zYsr=2WOP@WpYY*+vSPX*Map)T+%OF%+W>1C*>(d!&dgg}3zh>YDNKL-yNJj9du*xt zOAB#v9oZuN(H`|ezdha2vSW|ZcpiX7v7R~ZI}76jy0{Oz|JaMtSjFTycFINl=@>PH zN+&}sFp+036g9tBAc>#53>T(auf%w_yOdqlMCOo2K+nASvyL6dVfux%?t=-y1_9C~ zjA#Vo`^A9%d~mCEmVbX+r~&lp*Io=T?JGpLKqg$`L=}dT4=6vwA@X$uxe=3`AsW3_ zPtN{cxiDIqe4$K?Wp53McfYUJ(od0-pgPw6 z<1}k@Vz0+d?f)Sq@O2=m6~s_ax_#dh^03xWP3<_H8Z+OTpiqC*J&`9C5{~>*rqZnI z&>{>03HI?I79*4uT_1k)62Z;sNZN!0tVGUhK#0&#vuU==MUr<#^!)*V#&^X6_d~(D zHy++AxKjUlgvSem5sAoY4^yst5<`=DxdE88jl*B(N#hT#6zAj%6tV%5m1m^P@Z+Tu z(>0SVkfBS2xi^1|YWqSt5c{5PzRdAP4Q`VeJ&>+QzUqYq(}?O*zcQ@Yw9HdZaqT6V zojXvNPpuu)tK#xpmo`9%4sk7Ny>;MOZQ93xwPlDQ_kCSOF)aa13-CHtyC zHT#MjqhHkI*1Ua9P$$DGWLJf%Slk%J!14h&+krcECyIY6deke^Tg!almT9XXZm)3v zmliV%&YEkmK$Q0LmOjBD09u`GF#c{3mRtM^lYPea?CZJ~EU1DRp7t>*=7ISK1^Dh= z^F4L4SBIL8dN|5$0sbzzfd72nN&rwx0Rle*KL7#%4gho*C|scPDNFSS004C;001fg U00000005J12t)=w2mk;80FHPA`v3p{ delta 2092 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 delta 1912 zcmV-;2Z#9i4}}mHP)h>@KL7#%4ggwma8&QSS5{94008ol7g~R@>BD=aw^#$;@ePB3 z%)eD8Yvf+&h|RU2PweIPpl{Z8z zZfRe{5%R>^H>q%zA}9@U!Of)yPm^L!>W)Z=q`F&akT`#_$fC|X8Qar{zaC(jF`tnb zgD(Z6i`O^8I{rOPUJ-+SCZT=HU%bk_JmHksK4Xkd0!3?sMl7wH59{{6! zZN|!njNR&i6Z1Q?x%uEYj zl_ucsIsQ9X4UaV85l%iWES+DUSd1YM=LJPlG^QRdRRMQr88dA(j8IC(eaw1>`0g62M z#kUq^t1KPO_3^bbfT(vLs|}v;+_laF$)0;HAMd4x|9|_(2{$Z%*G0E&%GZ1noz->I zXjgy6L_-Ydyi2~s5wF8WH=_E|pug^HTI@*v)1~ypf7}mEsD9AZrc}!XAyNl!de|$@ zZJI2c`km#>#;^HE#b;lxU<8Y7vQl%fw?p`9f;yv`wseOR^V4s@3gh%N)86MFODs}j z5o2af0}4OiBQ8~fjmxjwW>lKwZ=$^CDz|@X+Q+!?$uxrMhH%8KmOvr7Y(ec=N_p{j zo^rw0;*}y8GOrFylA5a=TDl+F$CR&UFLUP~kxhZ+*nhuTu?>@wJ=*7J=+ArX@`zK> zq5mRxL~Ra$4@y_{gvNB396k`g(Sk!^WfHBBev{ADi{}db1zK40@iD``3R| za}m~veNGe7QJi6=SpkM`c2FZv#XTaqk3ND?=KD1~<*gf;_-=Hqqo*_O4hUCzz?ueE zDVf?H;);5(Yx@o7icPM};aoV6;i;E=Dx6nKrXLSa@d~aBzR*C9-Mv z?FVtJf#+^~V8T7S|FMV(tl(}4~pON;@mJ>a~ARmBCKy7Xc(Xk6I#sQtHIU?%Y*Lb6`ute zg9@^Zpky>MUfg%FBG+R~Ym3XM!oL|Y7w*Q|8y6O|>R;I&eE*ld5S5E;!`L|1@S zKwKMm(4&VoOh!EcKM}a?2NuQH%?H=So~;^iy$F?2xA=*ApX7hPr_~FGYox0uB282F^O`Rfh!^Z0$$aS}~r7a5a(^hY{ zI0!E-e1&o)5e2sRq^W;^S|^Nyzy-FuOfSd3w10;Hd?!1bUkZX2Y69{zW9nZo#ISdU zfIo53A}V)Of{X|it0RXddRvo&CEUvzr3j4VUwiGVXn>}pID9JYu=T}cEv6tel_E&m zZfCNbKf2Q>LL*N7seRDWquJ7nMX}9>IIHaLcaiP#W+5iL_f3B>WczXzsbHG7&nu@n zZ{kLp51es49mxd!WMqkC>1HbD`}vP<1b%VH^(y<#f@KNC@&1Ez2=sqIRjgvuFSQ68 zWK?*~{}<6&HS}5!Lrdl2u#n|+T46s4EVZPw9EwW-pR;M#u^F)ADQiC2y28z=$*Y2! z^9U(E@4KWC0HjUcU)W7m=szvr+xL5dE@i*@!rmBr!>y`Oji!s!kB#^2KlgED1Mj+{ y*rK3!mRA4!I*-gyO928u13v%)01g0Ja&T1dyjNCF2LJ%_lcWbv2A2l_00017FspR{ diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.24-compact.zip index 9a6ba03b2a91993f118f4f6e6256c7b1ff8919bd..5bbce7be5b3d8cf4eb75c96bb671f06b65e55774 100644 GIT binary patch delta 2090 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 Wui60!0005mlUE2&21y720000>iwW)k diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.24-legacy.zip index ed8b812daadde3904cbb8c329f5b37b370cf5847..1c8e65a696a17be67a0ae332252d005af0d18fa9 100644 GIT binary patch delta 1909 zcmV-*2a5QF5c&@rP)h>@KL7#%4gho*C|o+*BR@n30059A001hJ!3QmoNGX4{Dgw5s zX$_<1pTj3$Bf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZUgM$ z&P5RL9KHd#UNZ?7xvgt&I%i*{QB{6>Oc~1H;*f38AiR$Pqwhu~QIl??$o==}rufZY zUN^)1PX<%YlA>U^#o3Q)=`4TwapK8A?!9YiS=)Y!XJC+B$BEo#kU)^nqgq`i4f9}UD?TUaDipBiiUrY`%(87Y-WlG z`?#7$x9sB^!?#Aqv0GF?8U*V@SnIebUK8c2$`??G&jtI3&sCAGeGgd(V2}w0-UB-#`Dq!W}M7u;&N60_u&98#cH&yJ*qZ zXy~HX4kc-@6ZI$Z>y&>oH3oolD@(et7_&92S|b1L&_Zn5D++ttsdAys2?g+nn;ST9 z0&q<8j7+NV0yC>whLum+^Z$TB$sIp3LzN^htigbgjdpGOTt6ocf>C7)QXXAUi0C+h1s-~0xR-nKRj(VoWLUE`P~!1mlvtR4-kcB?R-Tzg zJu>)o?}TwhRoQHX8v!pP7jyf>AedQ82Ny7U55MXmcIN=R=b|B2@4VwBfkrJ zZ})w76nQ*{(%XLtY1D}z-^z%`jmlH#W!B&;pVk)^G*x;j(;gm8t2pR&a@izajt zT7G3nC>*mpX!jj&%0nY%n@k_6XYRi=TZ!!|5nHi2Dfs$P)snjMzM%CJpkNxp>GpGIKLFY%M-1RM@zYoc3K zx$5MNg@P8lYuFlDw3%b|)ucOSP)p79Q2E*XNcl|Kzo*vIY`P}y8DG=ZBgl(rb*c$+ z{S92N!%TloK>$rN%~8z5dG%MUiClpRQm+l^nO-U;bxGG;RGb^mVE74wvh-=ddNhhO z0EnchmjPWH<(N#(>-;?AB=;%4YldH2<Lg9dnO+11sq-YiLase`EGCD9 zrdEGpMJGTd4u96So8(YqdwziB8GCcy_yNmLnL+nsIWZgV?m@U zwqBPH_az~YQn?14iR*}0iEy>CurYas<0eynam>2j{Z`XhP zd$h|GFHG^|2_KQ{>V?A)Vj?2p?!U#KQCZMTyY@MI)$hG1z?1Mq*=?}*O|4h0i1umD!KV<0ay=1cj~^MC7rixi~a)UJyZAM^gqUZ z0oO(bw}Bacaa|x^l_}}4ZcEz^WI&$`(MP6sP?Nmq+>*}@kUT1)W0%4nt;%s5t+`@ v+3~*r`<%nzP)h*ZLkdv$!00000^8%+c delta 1911 zcmV--2Z;Fk4}=gGP)h>@KL7#%4ggwma8yeaqfJf+008ol7g~R@>BD=aw^#$;@ePB3 z%)eD8Yvf+&h|RU2Pwek4cO%aP+Q`kiC3$B;)2Il(kxlZZOYZrxUSw? zxnc1wl8oLF;NO2sf-m5W#u)=_#)YhYTN!d@p`3$w=mWpDF#rd>#~I zU8{*~$UhI=`YcRqUGIJv3Gv<<9k@2TEj%|sKg35c>l&Xzr2!F7v=dlrn@#-eED0|` zLX&#K45)v<9p3%i`;tL>+pdwQMkTz~Q@*=vF|;GUv4cKZLJr&Hc8<2$ zi4^YVtM&d>z<8-?fB7dbzJKY&WkL0$&5S&=tj*Hi+hG@`l-%R#>k zjGrcxrmU0%ZN@xW1*V!yBoe0a*+~=ButG|b(t6}yCibe*@HsUTutH=<+IutF;7j^jKa6d`m9Qg=M zEecmaz7IO39-7TgI!#S*eMF)XENYNn{gp*k5BFt|PTRlH_^qVW2Uv$jrHL>uIV?Ti zGemzxFU=2~Phw0%C6WesS!2M=n&07qa?gq_xDlxZ6YpmOD|WVHxWQh;av+yV&`p!_ zFs2-d!<3(O-C_+BUCCt}x*3zg(>W5&O_v)12@nc#zAk+LA^-;Ck9wgrxOfk$)UqS>w);tIlcF>yDJ6e6t)Uj91gXAvfT@>s!fQ|KU<6;aZ?`d- z=TMWNZ?ePivXVY1G1=?K$2WJz%>BQK4OU69tL!7SzTyY__37Qko0&a{l`pshSgbNTFlj2e)jANlkn%4cE8 z!X95+yU7G_lICkS(&3Y^G%+$I2f@IbS(=YhTZQRb%{rALEN&jv>^R>9^WQy}og3aO zBe>kSa)#Gv(Qr^vx;EFyT_#~p^NW8>jqbz0XO!RE7dG?Az^3R;>~T`Pw2-6K!+_{g zfK53qh6-LoHpMCK-`Z&%^xPJ2;m~qsL1OX9|B6d%2hA&u|9r5i2r{#PE$_QQ1|sC0 z=uhM)*({3y3J1RpDSu-ezoXim_e2=+i+^`vWo{6yj>j9MiHL+1?iEPJ^;>`TUfq0f zZBhb|J*D{%MNZg=Sjr3veCRGiK6~kh@!F>OPGryi0ln!nf2Kb zW(nt44Ba z&y}N1qTQz2_lI0W(OZ941}v%@I=@uVkA8%tj+k;pGi)gdmdDc4#%b<{UuFs3D7aSa z261xJ#>T0xYF~GRfa^6b9EDEvc)8?|)~4Gs+hO2GOHygr&RB`H-Lp+{%Ot5k;6D{c zSTl+L8ys^aj-2bWkkNqz;T(U1?+2R^^aF}7-1$@Wa%_5h-J*ZacYq|n5CK6m9xr6A zp3)wx9pwJl6bOnZnYg!rS+X%=Ia=5=g{cbMhU@r66hO@H=aTd*=-EZmAc<|yq$%!- zbza$=_!S5!%$r&_c4(Dd*3)zo9m^vwZZ+6H9p?C)w7Jo<-_>8jk~awN$?Tz)i)IcF z*3+}|7%Y0&H^WRA>Plk(@tWX?;mV!1t)oXG@Tlj5&cq5NyPiMlzW@ly%nb_T?K)(U xFY-m?lWYEFywXrh0Rle*KL7#%4ggwma8yeaqfJf+008onr3X(2mInX;004ent%v{s diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.25-compact.zip index 5c73b8ada3655c3caf23eaa0ef99c8c7042b06ae..a4ac6d3f2099352b92824b3827651f9f8c0a8c0c 100644 GIT binary patch delta 2090 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 delta 1914 zcmV-=2Zi|g4~GyJP)h>@KL7#%4ggwma8y@ibiYvt008ol7g~R@>BD=aw^#$;@ePB3 z%)eD8Yvf+&h|RU2Pwexgv0_cClGy8Su0!mPNrM=%4V3&Zzk8pm)#6rXd>B$F%_c4vh(?NCUOVcKE z@Gp&f=CtsqqOWGMH6UVChzJb%?I&rl(DLAtPl6=g8lIC0;KCnDuQKzasUQ!rGQ9uRhFpnbv|G(2 z73U#USieZ!oVV07Z;?GiNWyVk?Yv%QWY;B2AC}bit zyDjglU*bWmtIjcjVo2FZTs=B5J2jZX)!=Lnv|+XEheu`%H{doFnbxZ&rOkbyo1(jg z2#Sz_hwDPY8L@@#q|qtehAd=h++h>fIXWwD^IV1Npv`u1BM33Yby&UwOuOcQo(d#% z+NggYn$-FVoZz8NNz-VZVaOWWe>e=vBjm3T>a?$f*!h*XXUg^f7^bWQw}-G>jX1ch zBiHH+|MKrl8tYvCzl1r_1;5A;Zv+Iq+Gj&%h+lUkZP+ z#KietI^@LVCgv583Q3jye_!K?`0=m_KX*6j_qy%Y)dAfM{?HLpCTu12zuRganXqMz zv;OjoHr)zvVGN89fQpILRy%`xf6Rgp^++Pu=aCt#wcBTmFOs!W({f)Rm(CM)&Je_; zbHso&(`9wM*DF6`>T+#v0nZ;cQ4Io!gV zD_3tBvGAkC`!p9&&EV6Xo$r5|VnL(vO5jAOxkW`ThB2BMeK&q)*Fa*~f9pONZB$G~ z2~gbHd7Uz`W||<7Thx{7UH3PN^Qyi@KmP#!LQBKyW5q}Mb%#lKYMV_2cltjCRifgV z&ZAvvB&w8Us6o-A2^v6n>goGBu;;{35?riqhVcPFCF_nxzA#lw6PJIP8BbKvF>C{6 z@MN&HTCx$b3 zBJH^`HpVP_ZExfHSVcwOPZVCf#ZrXCAxK`)`r5HPT)DK(S6rgr!HEE#Fg0-J8`Q^` zfGHe3v&Dkqw9!-r5xjq4$!_bbO)zyL;`j-1^SG8z8RSnz*de6mG4$>?3Pw$EFJ zc^#tsnhZqUvx<#HI%2q*Y0`POdLc+zES!~ZnTPShl z+3evD3D=ff&$vFu5z^_qouSaB79@ZR!G=OVmXsWd7`U-|%Ins2l{ydh)tsvieW~1R z2)To5ZN4&PtHw{^V;&_6GEB`qB)N%}>eaO}*kha4wJbc)ss>>}^K2Y>)?td%OK|dw zyK7eQ88~pa|6!*b08mQ-0zU&k00ICG09tZzR99tmzflJO0P>Th2Tul>2LJ#706&<* ANdN!< diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.26-compact.zip index 43fcf80393e85dd5d72e5ee087a7bc34852bf80d..e40756427cd460043fbb331267e3c9422092e78c 100644 GIT binary patch delta 2098 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 U007x2005I%2uub=2mk;80J10!qW}N^ diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.26-legacy.zip index 5e91208680ba0f468dced706b5abc7600f9f9841..3987e2afd5df8eaca135146f9512fdbcb431f373 100644 GIT binary patch delta 1909 zcmV-*2a5QB5c&@rP)h>@KL7#%4gho*C|peG<_|;%0059A001hJy$3CkNGX4{Dgw5s zX$_<1pTj3$Bf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZUgM$ z&P5RL9KHd#UNZ?7xvgt&I%i*{QB{6>Oc~1I3Fb1Vr$wulGh)D;IodpYyg#^4a4qAP znJrSxy9X;8r80#sGeJLqx=UP7GZCe zj&$i(hJ5Y|O|K0KNoV1U_vbIaqk;BBOefS9y9@F1t37toGh?S3q^MULp7eKarW=H|8p_FOj?B4A;W-i2+d-yf=0AN>ziwx^$ti z$n(TTfP1pw1i$(($t{2XaMh=Q$M4~^t##CI>5~SAvG?bi35wi;6eAyYoPC)rRgY!tT<^z%w)He1}A=6Xg4XO7S>PLb+(ZO>(@uw_9) zfJ!+MZJ$ffdAN<}_KqK}uFQGKA={qR*S3-D3zJij>4MvEKr6F6@?;LilsH!uXy!t!uN#eXd8?vfof_F5{lnW*G`t|U%&*misR13b@B$C5^PO4o9;A~EjjQ#@`LE{;f{2FE1yGQJNk3x-wMQB z6X<5uv`&90#|fzrxnbUWkg{yGs+ftGwc34TSnB{e(9-JC1zLMo?f&)=HGFyoqpitf z5NAoLD$PY$Q@;Ca;I7aij8V#Tgy`LS!SSlFaeovPZ z+jM^(Qy!nl@3|BxSSZ&a-EWJtbH~tCY4K8||)& zs6?|?6Ph(&=m}==&A%fw0uJ=1r9wJ$iXe>0P!W~bAiEA+)C5oJX19%I_hgPxAtfmK z+pKLjDA~5S%)WVmDrK85MWCFT2OzM zhCqg!kyg4XT5hTfCD6Z zK>2D-Fa610KISAs7znY#)1amq)2zf{tzDC8Vu$up9gdw@JljbmkL(z{oNhW=(BhE2 z_V2tglhnaf6o-(r=yJ?cYkdvziPX>$!00000Zk?k; delta 1907 zcmV-(2aNdo4}cICP)h>@KL7#%4ggwma8y4qKwwG-008ol7g~R@>BD=aw^#$;@ePB3 z%)eD8Yvf+&h|RU2Pwenr6MT){f>M7|6b{nvp`IC3%={aFdW9Io z+xXt82fm@S!W)&vf<+|F{g4g%pUJC|(ohTl^YutyA(r=U_%CU4{|A~FU7KH@sMjUg ziF>9tK^fgv2;woKGZ1nlkU<5h# zYSiw5#r_9{r<#!pB}{|@8<%hSv=`&AnpBbPP#!Xm?{$V-DqJ^=YU;Wgu7av3pjB>n zOzT37;tGvyDCd|*eu{R^R#}0%NzDBY9Q;8A@o|6PBQmMl0Uw2Y!SNn z^G1J`x_A+O%Piez#HUSm%5aIi%{Jf@%=c>PF37aIwu-wZ=# zlVu5)+5c*tY5I@|s;@%ZzrWGK#@W>+%d&q_GoNMkutY^;8K*95j8`QK3bP%3{fCJK zU-a(#sK(ei-_y|SQV}Xj73|otOwhuSvi5P792dbjAi3S_9o=9*@>4+_3n`qV*ctQpdW zxsieXsUg34+09!P3x=OT9xMk8ZZTyk4teP3r zaV&kwvRKOCHQ%*v$VoSnimmqObKWQ%&TML}xURU$P1em$+wVjdJA^0%6e@r3o&tU2 z``Ip<^GN}CK;Cm{%|OU>-O4(f}8(DW0s^(5!x&i zP3G0Vg1<{r6iVz=u@~tg3+I4*2pl(E63oy9TO2 zS(a(y!tC49)OoGWW#O!~qyGIrBxf}OHm%Cw6p55~(`1TY0M2SPb}+HT6k!O=DvWSG zhsmaogXBB^mH=IqmjF9Pir1KsJ4nI!e`r0{?KuD`U=lQmD8 zb?r_y=}SQ6k##qkEuWoL^xe8??0_`Ri=GwPQZ(Is9w1RH7;?5Jx59~?x_`eTgagOR zqIvaoG#y{I!Yn#yOy|_Y_aED0?*LhXanwqhTe`1ljMECxP)g~|mZVaHJZNVZuW*lP z1l<^Me9%>aZFlH{388<=Yb6&EWfFoB@GJ6@9fV%uD=_OLrx2d5`1;;tfZ9$HCS@^4 z6r;Z}K6Ml^>wtiF)6EnHqbj=~YyBZ8p&MJM0s~OsrzodE=_TrZpYhLpJS zmV6Z^id>0?lxzA&NO%|xIb=;eJyQ9leyw5JKU~_j@GZc0t808gXz9f^XSCr9(F6G9 z*O4~hcZYC~<*7*AX)z?rBz;%k64FR!ln7B8S!7SK&lEeKPXl|1nasSVF+eLZQJ8kr tWljE*><>^&0Rle*KL7#%4ggwma8y4qKwwG-008onr3X(2k_P|)007(|sUZLW diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.3-legacy.zip index bed03d0bf2fabc8ce5c4fb1dc08ec4264f364786..dca4f26e2df9d169626aa9bfd0bae0796b9c1456 100644 GIT binary patch delta 1522 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 delta 1515 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 delta 1517 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 d4ghi(C|sXpSEJDd006a5 delta 1511 zcmV@KL7#%4ggqka8xf@RJp+g001_T7g~R@>BD=aw^#$;@ePB3 z%)eD8Yvf+&h|RU2Pwe2fKZ=8a0)w5W93_aH?ViBV>nAeU)3kYJO4j-ksAZZ+^)dQ8g;$1y zl|C=I=n6V7ZL7Yr#^MYSD%l^UMW0_hSeO>;eE;^Nb~y9Ao}+(3f+eX+VAv|6CjT9s zyFtG5O2eZRe(-xyCCk*SOQJ?857J;rUAf3x5<`SgFa%vDMhnCL-SWTc)HhsA-$QVpn5dTM8l>-@(pHHl;=0b`#fiGSD~LN2Gb zNlz2rd~ksRxEM_o!jLU|x6)_wgl?#$JiaXt!$mFXd)G)UG-SI&;f?laRC=j4tW1_d zew5mG9bRCkh(-43ZwVGt$|X*)lux{iONH&BOA{W3}T$h?m@BOrc{?uAOp z`Jg-_&oQAg;1YaLP)N)zmbUH-|9pEX@^fE9_etZ5?577$B_d{HU)`GtF`ICQI{$j>YcZtxH)1A>xUDJwp>GA5d%$QF0;MPaF zVRwItm(5%U>cKYpU-Hmdx2fKdFrj)lv2Mks4HX?y89n(pr;QFwm_lWA>QQ|iKa-`K46no75R`xX~Z%ISZ~ zIucWLxGb;X89XP9iUG%H&xpG}+>I){mDXpI>4TvH!Yw|r@3WIUCcIyKDF^uVKvTmF zuT=K)gK#3_h@O?x2lAkY+b4@@=8tB{lEBtMWM8F9S!d+o>h&BO?oGh2DowX1$h3bi zD^G)#Zr=>M(uQR!Q{`Wp-r>0#djJ;V!JV?L@;fc{5%JPSAV8)ZNl-fz#;@RDr;8>= zsf~o3^;U@l4F(7a-aU;bY>4AzB0_?TItAyY<_Z1rc6EJ%yDOE4yX;YOh@p4%kY|D* z^ql)29R&lR6x(yr+c}_V%$xTs^?840_s#K$iy}Pnk>PtXE*0#;-B@rJq`hk|G&&hZ zBl>|;Edrzzw`PzJ*NYaxe$*XCXGcw#lAP847tXG>XmZ{k!@a?XD)Bx_d^iPWqHdiN z*Pm?|FvlI?r1;nAi4B;~=tmpJKigLB!t39`lVvhK)U(v?Hd>K%%CQM6juU?@YVKgu z>6qs%a`<({fB2KV$Pw>f2btVEx!>c=7eg|B)L&3?rusCwdzia$Zb_19F{`K!aP{RY z6JU72@-_D{x8ooN#c32APjI1b*mZ(XcFcO4SgJvINj+ztMp+TMAB6s z1>yDV06Ok;*t=7H8lx5{_=tc1{puu_3M^24Z}1n6T6+Lh0{D`Aio19&1Vnp1$=uy< zQ>~INw{ydWUcDE|tY`jmy1r0L0Rle*KL7#%4ggqka8xf@RJp+g001_V NG6qiu2?hWF005;?_4@z- diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.7-legacy.zip index 56a76ae008a96c93bc4c7bea10b7837dc03f2d10..4a760cb1a57f5efde7984e1944ad5b8ba99d13ba 100644 GIT binary patch delta 1558 zcmV+x2I={u4W11fP)h>@KL7#%4ghi(C|vZ~Wmo70006TY001hJUOc~2y%N=+o^CJ;lme`|*-(CAdWe)S?Y*FSO zVOI7I|Io&JMC=h;0Ps@;g8YB5+YQdOy`R|B)>$PqR))D()f}a@*K8(gIWDC++lpN*%tM0VL*ldh)1>y93=Fkl2D(sI9>9e6bF1Nj8(dN218(#-QPa}Wy8l3&etz-zHJ%$QxYNI+Qt7ZjvwF}2VwB7H4gg$bh@>)*0 z>@vbfG2I0d+;lW>3J2VC#%XO2xc1KE<|sbS@wWYQ%p?B}+F(%=<@bWY-CS(UI&6!P z2Eb~Nqq7F8<&xZ6n2ajAnVq`yN3xdNN(e!K)}$lez6l6HY1Myq>HqE^5Rkzk-~vFG z(j6c$&95bm4;W%jg?!Hi>&SiV-Cpb!tMne*q1BH)qsB@EHMT)`{; zYP8?(sncIlZ(x59t<9WaQy{kjpoI$|8=0fWigO_A7G!LX`JDGrTsOHx8{+WwmT8Dryu$fXi|_J%W~x(Ex~( z)`~g0;N2UBof6E(Gc}l!zq57H@*Ox^Fq7*kSWtg^%^1m^MW6m|7_De<#fJ8;s>H15 zdf`yvn!@EDg=A2WyawxNu_7SS=(E$TaMj9?l-1KHxh1f13bH)S5QAz^nTsXv0^vOT_au4uc3Nn{rHmM?o)nPJY{x@A z@_VC+42RBxVRn_5e62b2SU?0RD;QS)6ejmZA}Yb!VsjnuT6a4`k|u()LrqA_ZCv34VRnCB99+3^?GLf$h*m?@HJ&qvcV}uUTHX?T zwo;o3GXrM_R~weQxL%cq?CLcB{=yhli*MT5(UKU+1>2fmyh6;Mk70zU&k00ICG0CE^8T=d#ySLg)*0JD=$22Tbs I1^@s603SB_k^lez delta 1578 zcmV+_2G#kV4WkVgP)h>@KL7#%4ggqka8#vngm&!(001BD=aw^#$;@ePB3 z%)eD8Yvf+&h|RU2Pwe2fKZ=8a0)w5W93_aH?ViBV>nAeU)3kYJO4j-ksAZZ+^)dQ8g;$1y zl|C>m_nrLNpro8(c{4U=8YFyRgR@1*z-cb|@f<5E?IlMAjVYM;$0A`zz5{nP1aaK1 z29yUSQRf2hqZMW;c zAlIEXrX40`dH4x{4W+CoJniCACwL`tOhn;b;;;E8bBBr z{ATXvjy^UH6!8~MMIZoogEw4C02+;P9OZgibBT;1k-`#ed{)Y>V%e$V&JgGem~Jk@=?bXMj@LEJMf8OuST9xP=A@4I9#j7+3OlfPsHh(s*WeFVo_6pAUz306YtYdAz&k z8<^6z-A1Tsfv9)p=vwQ_sm=$l{#Oi`qf=tdDGL*GtVNoH@M4|Gmk zCUzYZD|o)t8)J9|o&GZzC*`b3O*HyBOyL|`oV;)k_{KDNL9wd#uxUO^g;=dpp8qe) zKZ$=MR7sa+Lu4KKWAU9(PR=3EnUyTm$Wq^4uD=v#j|4M(NtuwLubd?gx)mEK07B@^ z(lL(YEZE1F}bm`FlI!7oiD~<79rV9_sUr0mWlXmEaJf)_?1= z0^%{X*`r^xtl-wOF~3IAuN%3_L^el5c7=cWy1X%Ib>qXXErUM$HvM@rORgzPkO%Wu z?P#i$zJf24!}_AVzP49!fs+`?)v*>SNWsiKJ<$8M zwsi}OUH-b18)yk-;t5UNFuSBoA>|?7w9veVoaiG#sSo36f0n`=;&%}F66T4qKYV}j z4%CvEFU>$Z^Wx1~S?#GzL?%-NnX@-T0EAwwF(hh_B7pj|2OANWa*qN=L3l&5nO2NR zq2Ol&IK9!3W9_y!V7^dPOgQsu0KsHa;CJH)3IZ-A<=};KzZPIUY_0O!d0? zm#8vf)5Bt~s(uT-ueQTx&lEZbO+Z-rq78RzS~OyuV~^s=(j0YH#JhhFTXe>! z>WFUSULHRCaMTLt)L`dl!vvr2PbvPL=qcjSmoXh6fEq!UCPfFB+<01GH1PPNUD(A5 z#h$%29WDoy78kv9CJ*HC3B2qysmJ4mDx2;D&V_Z4J)-OwaviRt#yyNlvYj$|GhmC{ zF=24Q$Jg}?XMcl;DT!R?o}qs}dQ8i{Y9Gqehey%m>&Mji4qGinFhx#{Z9UFLA9RE4 z^egg_t*2QB>;^4v(6|DpK&|=djE~AO)P21{q0XR%!eOENcU7XFr*yI#%PVj&aD8NQ zkUYmD?kF7{XCy;CV1Y)-M0@3;80X9W1_1n*a1^@s60C{cj4gdfE diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.8-legacy.zip index 862a97e3831815c0a7ec1abd342b629cec596241..b650c55625c4a9cc0f861f829a0efaec6f639c02 100644 GIT binary patch delta 1544 zcmV+j2KV`y4VVoVP)h>@KL7#%4ghi(C|nV~E?eRS005$q7g~R{Dgw5sX$_<1pTj3$ zBf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZUgM$&P5RL9KHd# zUNZ?7xvgt&I%i*{QB{6>Oc~2~0a0<99yCfz^C#matiPfqbe%j+c|3lGJnJu7$6MBj*$Q%sh@I@WSQmge zei84W$-^yR)hegWO&K&2)dwsWbWfvKhh~aXG#mdn%Y{#KuovHNO!w>@5>rURMm`v0 ze`PcN)Gx#yZ6D~yQaE0s=%h$up?9S3igrtIYgZ0xpo4#}i=EjSP<-3olVMZVwj>0Y z4^WdjQM1?TeR*iQ$?0VWvC7wD>;eWAK=%ekgAO%8Ri$R?4zB6Oh|&v~Xon6*jwC>t zidg~TAG3FGFI_;iMGb~oO=-YST4HG=z$5qMd%dy}DUB9!9aC6`pa*Es+^;7CZ zRYXy9`0jrJtP?ok-Xypus|NJG`O$2|MA0>(=O*OC0*DK+WNqbug8u~ukA)+4R5}2r z>m!t2QmnQ5A0xC>{a~BqVPJu@&K7jpU$Wh}!}$<^=ll=`Fb0&o#u_0r-NwjXr%vP? zUxoe!7|nLIZM7Ep`_O%>;Ipy6i4=HU48L}hjL&*?F@i}J+9zwBV9vA%!C zHdp4(9iO<tVm5`Tjo}eO@BvL9TJU z6ykr5S*F;768=gImlMb{3X=v(zUdvXL}ASRiVP=&OZBhc=2eJD#nsyy#nSCgx$>*M z7WPv*>2%zK=e_a{G(P^`t5M@lqrb1zzi9 z&GbXh@_4=z?};qU0ZU)Osj_qZkH*7^8egkL<->UfYy=sm0ex2Wj|XJpF@nd)uU4xW z(+xRgv;M_r;F`HgYX8k6USb&Xjc9@PYvs-GN4hVlehnf#Qol+Z;|t#Del?x zm^mbooZSo78-1qRy-!R%2YHm1`Rsr5-C!+9!G1Th+;C@>k9n#94Xo*m87W5X{gsv! zwK;vFOvdT5&&`;G^~V&J1Cqg$iBEm<=Rw|$_GSn==aR8}B$-PjXn&@4;8oIY;Fwyf z9&t;iM2*sdL5*mpUR8dyqm5LR<9ykeF||IYqSP+FEZ;G#GhTI?2e%Gmf75@v2#W^e z`F?x0hV)`z-(2}3+u<}xWW=tT7)ln=QHb7^`E1k~Q_*X@KL7#%4ggqka8!F!{r%$w001MA7g~R@>BD=aw^#$;@ePB3 z%)eD8Yvf+&h|RU2PweZR$fhYxhxi~+USXu-06pO@3 zaB%vf2*rOvbZ(7+Yh)BZ9qWJWg+g1gWg$NLIk~9O?0=o;YOiscW`i;OB@)fK5_^2S*uxQWbtA45tYNl{u1D1 zEdUhoj`(tkT}$?<1wuA07)@Dh&Nkp#UYtBO2md2&?gH5sneJ_+id-; z&qYgS9>ph_lK+W77F+=l=@G*+cw+(joTZN>1br##^mm;JE#J*V82sZ=0?$op$zIj^ za}d*SO%^FySry{9q%rXu?o7D0yI1~_(uPM@k5we{^A+Z3LmqU7{5Qqllu|=8fxhAV zOyPeSECigcB9Vk7-yENCgYg$4Qo2C_Sb!pwVT%+-=nbNm-Dwv$Gu>BvME0z)9msEG zN|Klp)9ym7>$76)fbI7uF;6qbKU~1s7s$}1**yM@KM8Ej$>?;=CAmpe8CQ~8;!eeH zH!jBcATu*Y>*!Donwo5KTM&eS_aM1dfqH-B@-@!r>iPcmr z{#zQJ=^3ZG4O&!8n6fx2gN>CKK1DbOJJwlkCiJMm#f?Nn0851kiEjj1vc5{QDQ17G zx2WpHV-Hn4RAXe&!C41QnhD%N@O=2N_hRKq9weD8TF>fEhrwo6WJUjR-kNKN(gm5Q zz+@z4-Kmx8QQb~gKddw{yU@H}H(#O*d+u(I=M zWvza>L96^|y58^si1pUI9jE>or=NdABZ!32%}rOEB8&H3^CEs|Vq^cS9F02|H2H*N z8(dhbymt_+iMF0h&pJ(1pfd~F2)KGxZ^(GP!bvI|F?`OXT>Z1T=-HlTl&A;9cCzm+ zYG$c=P72kkoBO&ND5{-$U9t(xRm+5Ud0vD3ORKnT1Vhj9aVXF();`Z)qeFk>RaWUO zYdqZmWd4#&aM2IY{3?<&yRr_q8<8T|ZK1b;-7TC zG`Fwaz)~;%#i3F7S zI{aXuRq$nC=4S#9YQAFy&QsB-+zQ%Vs|(s3nAhw(cM+5du2>o*U|^)U*xuaNU~GPN zAba_bLovtA4&Yo>O5(996-Vhi-YloC*EVo5@0CQ^!Bxear|X!7BKuzJ(B-jIS?OrC zC2h9Ye)qS{o7TUig_cDu%|c>P)h*@KL7#%4ghi(C|oI4aq-Os008rm7g~R{Dgw5sX$_<1pTj3$ zBf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZUgM$&P5RL9KHd# zUNZ?7xvgt&I%i*{QB{6>Oc~3Mhwc!2fSrM2qbK7ftiPfqbe%j+c|3lGJnJu7$6MBj*$Q%sh@I@WSQmge zei84W$-^yR)hegWO&K&ojWXWpM9tsmN=y7}(%5Si;HR-D6e8#rcp`Kz$CGFXvr0>^ zT-?z$roM+2%oc8L#(X?-+XEYgK$=1g74TBs`AQuP{uzIMGOLU05iw+V(b z0!UOsAOWrW81Tr3csW~U8Ux29$G>na12c{{R*+hTzZvVnVW_S5{)S+EhOh2Ne@*4w z4QR)VlRPdOo}g^JwRSf)PrTp06u4Tr=&`JJK!lRA=9&|~ zD@!RhnX8n&Q;-X7lduNq>yjCG`^Ne8D#n;FdQX>FB;*tFD(G+{X5}4FUj)!(3&Q5; zmgb4H`OsS9M85t9H=BS?c1O+vx3p{`2?2kSHiiAF!ORFtG~B8gB9%?Vz&oAXklZ{E z?P$;rzIANB2g~xSTB;LqLx_2x#^WeFx1>kXfV=>_hD> z_WjK6P_qhf>TpCqTV^~CJN`v;@`<{M^z{5;>Eb%oF0WQr*=IRfO-HqKvtKB=PCS31 znG=^yl(4~yuK8VaxW>@|KQ3Foj^dd_Q?bGE4fLK59>SP7kVCM4mW3VlVWVdB2n`4X zmcPy#l}(GhUmZi2*0h7>pL+}QLej=fx)0RLOKYOWZ+nKr$l&+kMvHKsOF-0;dlW$W zM4SIe8JDiBW<#9H69z!8K_NUxbjyDzp0l-j#Y36mRDmRj=!B~N-M>7~)F-#n+F>?$ z0O>Rn1DhgfN8D9Zge&u;CpIU7RC})e8j6Gd-1G34QgDdj*>s zmkZ!k)zU35D7KcpG>bx1nlECc8J!Xl4A)j0@wpx?-$}dKqoY{R9W?(+fs}vG5#4eu z)0QYch7k))5enZLj0d?pw5C@`MNCPIH+%YU#1ro2@f9`S1JC6+wBcaB@K}&Yj1a8D zoo9Z<96KKoU-Iiy`rp~+fZ+d1xs=_x2zVY}jC3^E&{u5!r)S=|kuC7gd63lBeu9sw zq@X(%w2y%e_;8U`a&0%uTAH+F49?T&F%m0h8^882m=9w9;vb;$E0pefu9}!P|2kT0YoOae zR9)*0=Q)!vA}zZcxFu(hIL*Vvw`7~$J&@K7tI`pYn{4Ej2cT%~O*BaJb;pwUk=NjZ ztM}1#IqUON^aLM2e$1{c>@WIg1QNd(d|w6%=x)q($NlpWhoVqR0Rle*KL7#%4ghi( ZC|oI4aq-Os008roB?eCh6$StR0086h+!p`< delta 1522 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 I2LJ#702bGR%>V!Z delta 1927 zcmV;22YC305R?!XP)h>@KL7#%4ggzna8$X;t<7Es008!p7g~R@>BD=aw^#$;@ePB3 z%)eD8Yvf+&h|RU2Pwep-NrpbPI>VjR{Umq5Lb_s#Gr*?YBa zkoz-L)XAPOR2*&<0zrB@h#a@==LX&Cj_q~TiZFlHL^OXU%^kqR`(>Ntd>_`RsND1l zfgkDE7o$VCW(pr;?3Ozfe6r_Yo!id8{KCGD?hM3%u($H|G>aIk1*QAj!Ma^+Ik&H| zJURMEUC6z&vdgpoi8(@pQp_kO@?_Oa{2UbUzN5V(tle zU?h?7t#!`k7WQ_Mz|haS-7g;SlbuT}SG`ZOb(HQ>z)bIHc?PsjI6o7SmCaG(n+X1) z6#RdFJKH}9{4zi)RqIb!fC(82cluMgo|1_2hn#XJB4z%ZHcWQ3|7e=5#fh&37=NO^ ziYFfqLex#SvcZU@H-*X1ry2{JIau~xPOCb1M#?v68lis%y-A!%tyt{BF3QkmtZQ9D zfRnW}6Xzoe+Heai*l9?JMWg(~ga-wCD-VCTA-NKoOB6zGUinq(#kR`J(`naD`;V9w zY&C*;>A(A1cex`PGh!u<+F3_WrTc5*H;JA&=AhRKO`Ga6bzb(JUN*?`q1v6wI`M=;kBm@St)jG>$ zW@ul_Zc{84Xa3MmVCJ(-!D+HiQQ~i1Ej>wMFWg_&^|{0YA2=rP=GK24T)%oTp(Y~R z93&koSgmkIO91spw@~9<`ag^8KJ|ZKC9pNMp50!qVrn?$J)FF{{?D8?JOFcE_5=7r zI1Gg1I{Nae8B(;Y4^&E}7{u@aOOtkGyP|AtNH{5P648W|is?nsfVHn8{7#1BZ7=-0 z^N&s#t>Aq_Y?~9j=zgz!@a#w5*mkL(KtjnI&_awP!B5#x>@PrfV_1Sc@e6-RMn1$q ztPGkcS&}HwL9Dw+LJ;n1L^1Ys5tk|60P)&$z^kNCC2DtVr8SkQ2Kt4$vi8K zCGPG(=twQ_0teNQ(Z=&Q_}{%c1pA2`y^Z^#=n#3{_w_9%uyx$Y9RLr$bNPi}5O2L?2nlzv_McaQnD$J>q;jLNr z4EO7j!L@_{hX9o7W}}{h{6n^mv$g#z9hKn<{I4oLZxH3z*)p1mmK^z-DzRDaC!j#I zAf$Lt@4K^=0_WvH$ZIoZL`L0Rle*KL7#%4ggzna8$X;t<7Es008!r NvIkEFrUw83002n1&p!YF diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.1-compact.zip index fc47422e797c49af18eb204831e799337ff9f62d..c6f91ba1f8fe838da2073daffe012c17dccf44d0 100644 GIT binary patch delta 2098 zcmV-22+jAw5wsB-P)h>@KL7#%4gho*C|qEpb3XnD003hs001hJeh4j*NGX4{Dgw5s zX$_<1pTj3$Bf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZUgM$ z&P5RL9KHd#UNZ?7xvgt&I%i*{QB{6>O8@6ov-fAH?OL0pCD4+D8eZ$gHXksJ7oYr4 zSq3!$@MQ_f_%r71@+%=edGKGe$@SqUdt7cio3q z&TE3pdM@BUcu9TC-lS;Y!l?`4 zOc<2o#xat5VS)CFKbK4ZVgG3vSelMf)X>9IlC5F-=+4i2RxFD>pcj8k>R^K=+rx&2 z$y2@|d3`Jd$(dt~q!GM06Lo2qRZ=QFLoH^C%>Y96kzQrdwg&q7-5uWE)u6*%>`D#% z*5AG2t618A$CI@19yJPJ}m*MFe`OzugzP7Um9w!Kl(d?9BY zLee9Ffql7&R9vxW?v;OyTY8=N$a7fL&rJMWh9$+CjnJ!E)8vgES|YJlw;o3$%fNiM zyh=NM52(vHok0JZjex$zcA&OsEYx|}CK66@2;x=8O$ufGbk`1Fg7o_DS0E(-t;s_$ zR0>?TF9YpUQ$U736PM;c)$94%^&YSxF%ayJ84@)vU)xR)4qAW6T4Y1}>_KQ z5|o$LCQdi#ln6b9is0Kh#?UKpS$8mn%tg_9Mv|q;{mM6Ue&Wk_^xBuT;SP745Tr~> zgEC%j=3$*giwr|Qea`%qqr@rFhNq_S8~fKoAG$xwj|)&xF~1+Qmis2A@U7G8Iwi7p z^+2$h@N$P22l0P-88}XXz<=+;KBj?I{7t@jK6f6_89ZD}g;2D~vmXiTRM7_BhjO)@ zYmD&zW;nKk#aK$PcI;!#g1ILwtsF1jnRNRZ%Q_LXC_s%LMcE=W;k9f9xv8mWLaA>3 z?HH7Xav%HFqd;*5L411(QNRHZ29gy4F2$w=((n#L+Ms_V$LXx)(`R*{WlH(va*HFZ zF~sNnvj8MT(}Wj-tDz2GQY{;}api{8(amy;8Zg!^gBasS0h3x?CP^KzFn;nH7zHh}?+>?9YB-PF}vLXU(D^l)e?_ zJQR-o4Cn%z-juW85p##A$ooHr3A4>aTb^rvTDE`lXBla;YIeKuRyNLLnc(|@$IQYJ zfusjUA~aBo3{7Z`b3xRAg0t{Q=>yO6pj~Df7~-sH36JeKzs=-B3mB%~g=OXQo7W=> zk{^TgV>qEZZf2)i%cIE>nt?JSaix)Q5;E>U)$3eCSb&IyE>SQ*Uw#$93k?cd%E}(% zK%RdLgF7UvPRS$Q*`()w5LeOta2{q^6{W?!wEzeFL0`WCC5Oh5{+hpKVy#-UwVNj3 zcM%d!Cfu*01z?>)f+7agvXQZWhM1mOH_+4LlA0|ClWGY(%;Lln46&^`)kyQ*+spN> zE{Ba<-05=o<4YDglzV*WwERmg9%mIVkJf)x#iD?x19{Ls;+&f9m3*5l{)zSMyi&uJ zWZp%QG1Q$69i(E!@R$e1z+~(S*uCl=ZFsUE-GXwfIX`=C$RM*xmu-e%Be&zGW@g1dT|J&mW9V zx;El&0z9_~-wR=rI_4*DfXM;H=ZDH$J1~lIC_&TP_O;9ZJHi5`<52SSTAGSN`7{|# zS|BKZ>=?2u6s!*sazfeDzMe@z3aFFt4xW3i%ujO+Y39A-sp_KanUu)TNKStj?!zm- z%t)#s%%#_3@XcWZ$5DJCe?oNvj%;Fs14zKJ%i**xQ-`oz@s;T)oTIU&5AkzpiY9-!KUfoUr1y~( z{<|A-&r7aPR!|NDJR7uIaVV3NEj1x_5BS;h3d}0N+nUL~K0C#G&+VqONd&&|-p`pR z_jV4!;7%gq3MMWxb^QTY%9hrQwxU4KeY&?%9y|w=ua5usLrVuxO928u13v%)01g0j c7${s|qjNs~2LJ$LC;*dg2u%h?2mk;80Fo03H~;_u delta 2110 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 NzXwkSo(BK`008o=li>gW delta 1927 zcmV;22YC355R?!XP)h>@KL7#%4ggzna8xtkH6dOH0088X7g~R@>BD=aw^#$;@ePB3 z%)eD8Yvf+&h|RU2Pwe?~ezc7G!N;W^dj( z7w#XS`3LAsW)=#1a+K#VuX-csRyZ9wsewA`_8;&h&}9Ic3%kSqxx z>^vj1I{JSaT9JT&O!eX(KW2;Ucp2k7i0Ad^)wE0{%)vqf-;KPv14Ju(k(=J!irI%e zpl*BcPVGq>UE-{5W3sx;_6hkBf=((?+XGsjqvd2{;YE*4;$L2 zLz+-9c(;C(KL~JnMVM+Dg3b}mAHuS84KZ) zt4FQSF)5Do`Eb+!1Xyqwx%Bh9j{3-xykbG5U07lOgD+@wU>Uu&{PZ|qxSLxzj%rOU zzN4bP=mxE7er*s)Mj=DGcZiX9i~5Ky&gQgn#)_F1IcXIG0dEt(m#uFwt)`5>A4vcP zqC|f)sp)RYG>c}VWWJ+90Q|OC3B)vB*{+BuAHt*m)eCX#&lrCf0zOB0=w;250_a^6 z#YHcp6p>|JISyPVO--DER877ZtV5#t(k=m~_X&F5LPmom?66MIWqL?=4YP?OzXd!L z4+_X)be}~6SQAp2>VhV_@Vp?$J|o)2R`h>*n%f@rxAvu>52Ii4UwDqtgLCMYF-enl zYJ!2R$6X;hK_uN`s82Uf#-!MVcjuy)7u$K;Ia3HDDj4qpz}coGQRl|p$$S?!`_lLm zEpc)2Ui@PVZ?)zmg3@9kUw(`TlQjKi+G?rFu6o3W9R6HhC{4Ir)ip=p71t6EFg<^_ zNPRDvhauP%Z_(Oi64cTI-?wKvl2xiz%vuE|h||hMF(VCMAc)OONAYGRy*zQh&@f+j z<2iYpB`Dy8N-8{W7pau=>U-bdMEUZj70G~&$66N*k%bi)EhD$qgXy-7*W2fIwt=X7_|r)$J)nOTHI9Epr!-SUA`Imadh|b`)27Yv?^}QT7u)|IZ~wF3n~Z@d?s@nqq%TR!*nixh?~qg&JM6FW z<}y2SK?EkbVEuI!3DP`lS7!O^{$9I+!#urf8Gaek!_W;CA#K)ybCw|c{X_%y3&94H zu}1^tqmVW*`{Q6Av3(H^hA5|d_&Z0ZJ@R(=OpwP!&j>pW%)eg~10R3Eqlj0!5%4;+6GjD`-F7ErWTm*ARw+{s-*V=CXhBEpHhS z_L>9v`5SFyBw*SqZEp~)fHQRVb}<7vwU326X_7ecP=wCfjR!bMj^>VL1zzh zxiy2{|LvxK#Th(vtU%nRa5j#{!V7)0iklQazX-{!Lz3bA4eEc1d%p`E0vQpVR+Y+5 zGT=D@iEoy2e09)2ovul4g92WypL>h`ESOB6IYv?x$}CakNycVklptPk)d@D~5E5xP zm##dF%on%+6$vP!aV4_=SG3SH&d7ez$N*EIWSIfTdX_J`x*4oKl`@X6|x{O z>Iw@>^p2n>?eARWAsf)TIHK539=yL>lz>^$toM!#fI)v59SW*3A#RFuf%}5you1bq zfP|ZddN2rxwFD>biDg#TwSY#3T7~?>$9+&s0Rle*KL7#%4ggzna8xtkH6dOH0088Z Nw+BxKrUw83000w)o}&N& diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.10-compact.zip index a20e05030da0ae73573c802ef5a6b4e0a98d39bc..d4ff3514d97a21a57a22f8a784c3b8707d15fb65 100644 GIT binary patch delta 2098 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 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.10-legacy.zip index 3bdf4c9821a839690ef431b1656183e2d226ae61..802b563725becf41037fc069511a46378189a8d5 100644 GIT binary patch delta 1943 zcmV;I2Wa@C5S$PjP)h>@KL7#%4ghr+C|pFW&aq|(003O8@6ov+0%BAbd{dg8XO$%%I3t9cR22hk06f z>1MaKO;a@`zQFEHNcZPpa(aI>Y@d4Rvx`sG>E8Wrt*BpQc=Lr?X{+o21q80{Hd+C- z8+wABg0Wph2#TNj7Qj-o<=%6Z^4YLQW_W^$6N-tJTl0E~bwJLdLfRQ>YrcP-#u|tAC&2n| zh5a&Lj45gFF7P>-^XsHPdnIv+nY8E7brl-e_ef&=7`0m0S{D^8R;BkwuzU2xOF9oh z;rx6b{lkRQZ&@3EI<;xZ8o8+s`!cMB9*t-AKLvhNux3l%bl1=^2fvXB?NnIY!5QV1 zPf{9+N=8bus#NSI$t8cw9(c~RL;LGZ%Xkb^kr20kGgNv9oxg`$9M|22sav=nlDBZm{mruw>so7=?v+8fUlC(kSxbU;>gD@=yawqcLC=%xvltCOO z>L&SYQ8d5V9e2d*j+9o3Cn6peZ% ze-jO>suV(U=ao=j^yY)aKCFHg=i|eVHIXm>7`;=+lB0FD?IxqoM&!oF@3CB?7>5)$ z0|AH%n`7K8D<~f8B9gWL*?FKkT!3DmT8b^rFOEA4^IvJpv`QpXfSRCnIayn&1IUbv zx9_ZW7P6hjrqO>;@HMlKRclx&y=IOgfYUtVzpolBvrpZEf3Tonh=1EBq@{O>ak?{r0DQ zQV2?;d6W}^2+s)@fU^Ov38_P9iOTQDa)PGn*z4>MrE-6MhVX}%f|1PJ#rFYHoXkbu z-31ZFZqCKl)2)a^_*%EnG$bw;-^M7+;BffodjS^UD>ppf;slug#FDkJ`1ND_eCnes zIRNm&pHGo#(?Z+QkRAaa~*6^K=fg1X}h*v@ea! z+Ba%l|Bin_8v(jJ&k!*H7F_-a6PQAE=y7b+Ps~)k)7+xlNUc$1VN?-4Dpj$|8IqFa z1dA$wXVbP|lzy_LtuKy5by3S4x$*0~(E=&7tTm#Pkmo~cK}CF%=lK70O4}ot?ZfLl zooc~wfaR;8ptvT9jyl6@ZctLQGPA7?yt|LflrmtwG&FoF{B;ppB1D_|Zhq zW|&K}K&)_jU3S&dJLNhP-s8X?3vhy|Vjj)mY9+l}+gCu?7oUcF948iHU` znbqFE9A0jy#Ym8~W4Q+g%7n+Vu5`IUPkc6W!ZCpNhplY9cwlwiluy>NQzmolJam6( z=X3+PSXp)j#cHY|{w23|CUr3UNOhOJoiruIo&4|GPo;*WNW|v1z<$A!ZYKra_)33X zebKJ%gR?1$W4#?^V~-DtFLME_*>QOBHF-JefTV+(Ed+^7>Nmt5KGgxViSMCj4I$$C(owcF6Jtx;&e50`=HGTt_svi^`q~L z5(Y?Bf~#ScN0^ zT{_u2Yid2JOuiPZz72Mp6u>6HT+zx+z&T<4p%F-dd|{WOqQ1$jdeFk^HC%sXxAF{{ z&1Hj0rwTv;NV?EghQ(Fg?wq%1;boU;0lhbSrrC9AW@3Z`RU3H7H=)30PMQZ=3TB@P z2U|&f)O_~Ra#&AL~9exqjX-Rv*n*cM!pRphdmz^ zC4_-}XRsesf3E_sxG2xt=*eV$7`B9$UZ}e?OTomWCUtaw87HUH>~e4J76M%&k5?v} zf5xNejHtH?jaRrFSmI%-dP8p|_Yi`{kr{!R%0^O)094_`L;s10Isi~h0Rle*KL7#% d4ghr+C|pFW&aq|(003>1&IeBht_J`B007{7vr+&6 delta 1962 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 delta 2111 zcmV-F2*CHT5yBB0P)h>@KL7#%4gg$oa8!FfxTOpT006Wo001hJZU`-rNGX4@>BD=a zw^#$;@ePB3%)eD8Yvf+&h|RU2PweE=sPXUIKMwA)CcQT?Ds_AoSeA8e{CC0Zo~MfOq<#I7s!MUgWt;Q6s)*&g`5MqP zg(k2&TL01C+Cp21i^3$t%(0==-T9^chG^?|%Zx3Ov?bx*VS%8dF?FMGN=D9YSG^*G z7yCBWPy{!ilX&A%lSzNhd*DOdMnHRh4DB-miyz?oBrLI|-k(Pl7fo;?b7M8XY>6*M zmH%~L{(zK*es*zuNSbnSBpI%I6V+1%n6gMeQb_L_-M zT)>y!tsQ9&>9x5s*ySS94p-6QAjOkH9OIVKljLsttPSqIJUWXareVb|UKn*AA`x_m zx7L8Hbm=uJ2w?hJi;;~P6nk(aBi1hqvr;SBC1@1ofYzjy711l_x&plN$Vmc$Er5e0f zfrk0v|HGhERPZW#6)%`#vKUbaGU3-S`X(l78vPDc8aQd>Y#jX&?H$qH zAmny%dnJD(Y~0)lCf6h1SjGM;4l0T~Np)Z62P1@}W$wW9w?d~l$cUj*&jFD@_Bkht zB4|s$h&~ax#CG>G29O4WGUlDn_ajBV8|N?vgRm}s@g^-Csn=0P!A)`ZI6_<*QCPbT zHfRnjb0oRhy2IDf8Fmq5Yn-_?-5eJZ?%5apOviudXy6u?QH`|kRuKubF%r~S1mX-* zb+WzlhW4;t%>fi#o$aX_f%_?5{_$lQ##@G@|1UT$hMvv z>g`q7e^ql(?!47mpPT794r@wJ4#PnWVt_Ai@oIGq$r@q9_ehHKiGuz%jtlvary_5);V7TkP_g912nOW%R=`F8=221x}U9uDLT&7eSzmn5_^B#bSZ0T&iHO;bfls^`SD`t5R%u=)bYqM z;$DUvaPB^1=rZFH=tt^@1@Wglmp06M#>fRC5-M0osnD{PR``+apJ(%BAsW95z)%Ma zWt7XIS-R1Fq4AIZo^mz=JlnG=LHS!B=}qWDJ3rPys_N6GGd1TS2?@pMVn{K#U}VbWzGL^ZQc?KZ;(Aczy!@SXzfVsh=mbkg%R zde8`x_{RQy<>klujGZ!9+Z83(O<}WF`IHY>#A&WE_x=TPZ#j65=98`wm3bQau*C@l zof1e!?v?xx0FGvI9P=uR)zREKTrDcYOeOH z$Zgy9ZtgslkB2}00SOJ?*i)22bgZVYoK};x0j&U?IxTMhrFvKK+}Zc6vJ*ND^1_<+ zDBTa0!1$i{$sk|k;BVm~5e|^Yh0O=yA5d&H8#TvrE1XsTTC>pg$ccqq8rFYqMi6;c zl#Ywjv|EfUfKYUPt_|H4GW*;t_;FpncVeec^6t$Ig0n_Y{_bac+Rb?gpf&iQng1e` zS+N(%Y0Cw!8#~CWV_RGilC6I`4#V=1Q;tU? z6|9u6e(i#+Pvqz%D&z%PRfiAgnl1SYq)amHwuv pC{RlQ0zU&k00ICG09*`ma8!FfxTOpT006X;TnJAFR0se7001ic95Da@ diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.11-legacy.zip index 891e711c92f3b7b4365f8d1cef20a3fe1541ca86..d9d16f5a9c2eac49e232eae2cb942cae0424ee34 100644 GIT binary patch delta 1941 zcmV;G2Wt4D5SkDhP)h>@KL7#%4ghr+C|nUUO&Med003O8@6ov+2Aa&?-r)#wB214V55ZFNnl;Ly~i){n?9q$kUyW=6wFZ;x~@yGYv&ryFU`ExGQ-Ib!>e(wJ(`b-ulj^xKAJeT*fwEb5qz} zygdcJ8e$~V1{b%*L)V;7%m|yYFpCYQW8+c7*bEdKJ8>3kyUl<8eTwZF)X_SJg+=f9 zg~|NLM?VZY^+T7eh(Tbfcu9AGCSJaeIK7jQ2+2|1yt$vH zOx*iJmT9Ivy%=IEs?+V{$QE$MCN8|goS=0X-jQia9`+p#*d4r;MF~AK1Q!?yp>bn7 zSQ#hPF3xw9!()GPXV1AKmhZX=@bj#>ul%Ie>ErlMUHZ(nZvvkIB;W0>zin^%6?WB% zV~}}q2l~mnIma6vR3j-7A-k>z@qIeHFobwh(rF@b8gyqp==5jk#Ga5488(g6H33MY zsyIt#L`uUZHVpp^c;(wCad)3uZm}H*&H)l{i5w$VIj(<8LkOhCfby=kePlhHj&8xx zQk%Z(4(gsi=eM~?9*pk+b~lX21YjlS&g7yZA7o7FkbgQR6nM$EeoB~WIGw+T(4%J5 zTN5OaYk@J+l9v;TR7%0!3hT`n#Xcy1h5*SN_$_4KqJ&OFg_n({ID>@^fBA}3Vs04M zi+^!vf60FUt%O`SxJ0~3cqV0DkRO23kUlutwKzn7EKF3I-ph{HiH}*06Ks7-gkL;vv5oyoc5vS za&UrJW)uRA~Aa(T`@;VxF(n4)3j7vW&)t5~N7$K0tPO)w74 za*>UcbKhK^{vgb_k#*YX+3A3yT{>CK3tf259dMQY4Es2KImc z7odgH==QS~^`_TP09VXkU>^@L!7*SFGW(~inc$Yx2mBDXPVrt03KSWfAs?~FEc|+8 zYdXBjS1&hcW>B?G&O^Q_9^RFoA_Td%V5ej6o{*f|!2ENjYe`@XKGV*(N|?MQS>#Ck zI5t{4WjDrdNYl5-u~Qz&A!S5mz;=J)kxQLwYGmg(5sttBaz>O=&oW^gqbcq^xkH(8 z`pXWfxr^Aru!|hy%U!&1nA~8%?zg6+EogPjQ>g@dxME@m%N#FNU7aCBb&Fkk?M=No3a%%`~;f_)qGldPW_r-uN|_rLj*>8-u%q#zuX z9K%pQZ;-)gS{cUwVD@aNo z4Nr#Xu~K}m}Y)35z%%L!obV_=*$A8P)h*jI5i?C0WCs8MZIjIhPX??900000eYmAV delta 1962 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 ZC|t1%?D2gss{i7007xrudM(8 delta 1962 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 delta 2111 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 delta 1962 zcmV;b2UYl-5TOtkP)h>@KL7#%4gg$oa8zrb2ZU<}007XD7g~R@>BD=aw^#$;@ePB3 z%)eD8Yvf+&h|RU2Pwe zycCuk-6GM51DZtPK{U0y@r*G_X1;h6^$ZF>6*9xyE!-`~yG~{oD~wm#{vybSCMSTA zv!?4@Bhwh1E2KCrb%_iq5}qskb)!Y6=Ku5xf{sTkBG-TH-j#xWjVC3w)V>Yg558qL zwjYq#!@DF4$novIMLz;G`AXYED$k?~Fg$XhTtyCBi}5p6Gf>kFkF?%bqa7R6M7R=X zJ!aAH{XA({aZ@&u3O7kXR{g@pe+L(qtGEvWSO2lvlY+Mp*4BsK(Z9CXz@1hWoyem zP%jDkA%Gu7rf(2M7H2w(>M5(Q?02uM5UIyB`0u*Grk6M7)9Q=pk@Ky-p%c#$$wCWe z;=A*pBR;y}V}Q`X*%g>WS@XZF_DTcnB?%=4i>`lpvcIeBBIXLxAqUx@!%Lca(&S%J z{RMcSby(TVq``>nfw>%5wp9Yi0K9^k6VZ}LZw^UdgE3CBHf|q%^yr$7w#Vv}f>NWN zZO4;yCWB^*6R%81sLC3z{urT2k?G`-$kdek7{PM)rsBfM?;0^Pk&c~?NIS3(EeerTC}uH(AGQpEFyrN@h+4a4=CYGyN(aUnUD8`qtxKi z43kR*gar>q5SlY199K-6?AOU!v}ILZ$=QF8Lf=zy*Wh%6)1UBk48|mXSn*!{p(>*%_Vp+D&NdOKc0?Fs|IFH&5ahe0srd$= zr*h>665@woqC#U4E{3s45eU0|^=b&7n4sc9QYPW!`}n$#Luf#OUc7y-fkXzznGm^uAFXH!Lii)Z}(9 z4w00Bx=hW&6ySSMTO>_f$HoCKYc+q)EZmOJ?-XuUP*-ElESf#3Pd`cdQ*!(WCR$T4FKtWRFh?QE@F$^eG<7V?F-uOoV z?wX4K#3@T3W3u`ekrHZg9}1M?dfA*`;_r5MPX1@n=t~0ptHuTk+CX;fYE6H@X@im2 z%ko-Ax=a6pV9#Bd3InZATN@xoG!g~?bNptLEjqIk7H&}CS6jnS5UX3%uA%GW}OmIjj45NIfO;rHbk!+z~>r4aq zNJFtR!T(6(8W20IIZ3ds5rcs^Af_YWrL>s!`W#`?BrZ4q1|$Q;*(U< z3Os62YF$I6CA)0AoWOrNMC$=c^#3|rlv-s*x zg!q|s?;+O&!~+1LZ^6>kmV`^47TayuGJW*}yOt%Qh#M^_ykxB%2Yra(A95w+#qR&J zoFhwL7c~GcIA4E7BKBDL&{>W6jt`_LfQd12`9|%pUvO(9tN!-$9UE}}Rw7k|(O928u13v%)01g0L wa&S~@p9h3%2LJ%jBme*^00000000000001h0RR910Bw`q2RR0_2LJ#70Ku5M`v3p{ diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.14-compact.zip index d81c49847a266bc74dfad8833d863005957d99b5..631ed3fb4500fa511406a6c598f67d34187eb580 100644 GIT binary patch delta 2098 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 delta 2113 zcmV-H2)_5Q5yTN2P)h>@KL7#%4gg$oa8!@~?#m7c006Wo001hJZ3r!qNGX4@>BD=a zw^#$;@ePB3%)eD8Yvf+&h|RU2PweHBT@m-td1JeGK0}aw}r22&jSK7c4c#&uOTtOP(3};$t;$VzU$N zzWbAQ3F!L*=XarH*?P!GespQ>lUyyPMYxEe)E$as2C8rFL-H7@_;HWlp%m!BeG`ZWR=>;qG^&;&|TI4Q+s zS`c7GK&#$zus+{ z&d=6;Wut-hq86EOza=Z9=k&s=Vp;{_Pv)+uQUTadu3wv}R?fT{8<}t)p;DM<>iLSK zbP#C=t9j# zy7DM1to%lf-ZNnYpQp=X!_>u6N`HfBg}|^UN(ip??WV|ym&qzxn`CG$9!RlW0u{4R zx*4SDolA(!CQ5c0){VICy(_c$WqnWOk+@4bMiwxw{ zplI4JWbS|I0hYJh$nMZ8Vpj-Z=3Vr${eViWi9czc93$-|rw42|plh$Imrk`bpNK~4 zK(Raw0d!7Sn3K3Q$VS0TSgte^X2O$7$xMuuTbGu=G-jKBOVa5{91sgY01xOME=wdf~g1IcrpT6+CXJyNvB)`92ZbmD7D_W!sqqMRI0>{vlX%Ca~`ZUL{+& zD=&CD!omii$&!FS7l)k70l?{?>xt%z$5GuM8%OEwgPRD_q4vE6^wANOwtJPSgvyp; zD^NW;w$xBZdDi{lxQoJ>8R2K!ZJ){N3Milm?4Qr|`-Wl$aGI?29QzA~N`rr# zAFi$N-T)aoA~vNM@;)L6uir{^FcZb2mJi5mS=AqEVO?ZQrvA)PqM^u5y#70SUu!n) zyGKecTC20aQo-V#vWjxIQome4Fj5D}+jHL;1o4t_EN+Z`h zZZfH?pm?o`0>)3Q&%ZouAR*{x$SveSx^O95L1mbls|E~@MypS0;}?5u|B^G1)g+C< z5c-iY%PY0fxsh9e+8(&$ zDt2aqss@`b%DVqeJ;1a#z=wx`5Rs(7WPg@k*S6!EX6_f+0GMM8nPkQybYbF?U)DQ2 z=ACl50b@rd|Fmrb()VvLK2J)nmT?9-SEd7t((K-ui$!Q0$(p7Nwc9i9iz?99JPi&8F#gLN&8 zOCo0|VRxqA6E!dq-|Qx(igGpZWWVnWIMjSoW%^_kq2%IOT@FH+9^-X@a54fyRZ{<{ r#aQ4_O928u13v%)01gfSTyk(!kN@t=4hR4Mw3Ay1PX<;900000h1U_x diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.14-legacy.zip index 7948f22d560aefa41dadd0030ba2d180fd9b0710..db07f598413aec3fe4d744b0253a11abd9d05792 100644 GIT binary patch delta 1941 zcmV;G2Wt4E5SkDhP)h>@KL7#%4ghr+C|q-y0+wV4003O8@6ov+5=Y@k3x%T|qUu7sPXC{BvVT0TtqB z818lU_Z&0tWznBsC3@XnHGhBgQ$K4e!=A;BB;RL@0ZlpfE-L0htcC2VSwmA`l^pqI zp=GoPIzPQzL25Xi8;8|cRnUgr4{Q*d&YS_9co{PT>sP**CDXN+PiCD@}9PacY zAT+DO9Ab2yA?yA_q)?-+eF%VQ;tQ;_bGZjchf|{ltpGZ2t43ze*pYwThVjNWW;TI= zM0_6kz3lctO-5}Ld9u1dJB&Q|`wpO>^>V3)bW4Io9iD3a%+l4O5rv7Cqq4~bWb;^_JK z4FYS>-JPR^5oI8y?AE54O=c)w6rbE!UmKLCo=BEUFqHL8XRsHjr*t9&k>F zA9wt;&w$F0@AH3yy9~K>DZB)9M4L=&qfX@hoj8B@+LzyxeTHwIvy{bbQeC#GQ~e>B zIGHp9fjRo8%#}Jr{6(=m9y)|DH^Gu=9?vQ$Mn%mNgW}FZ6xTC7>%E)X~v8*mDZhR+>$Z1GP zJDp15bP#`TN0fK`ds`axI~~yZd*iC=*5r$5WqOwtZEB-oz5mEL!Quf1aE99{N-n=- zGbhRaYoQ^VuGXQml+KE}RIZ)fz8u9R=P74htq!jOhb+e~*`x7Y`O6Cfyn&wr$hMBd z+#B(d4m*iDqD3M!@FL!p#HsG5k+FZ?KKVaZk0pQSC*eAB0%_qtoewzao-ct zyHe<-A8g8EDu68AO#|<3nqP;OB8@v`eC;Y^2=YLfvT0h9u(Y+H|H2fdi%T<1M1#u; z7JA2;ivwtP!}BL;`LrP8kHw$36MdnXvv)6LFE}uohvp7ir(~@IIq2#~25RV)^rwGV ze44O4ThSYPfLq#huBIB(t|xau)C}WmTZe6EO(%+bnRtN%18yG;(fc5)A>sDs z#0f!8UeKupxk=>>V0RmlQVne@^akn>)($QV2@j>F>9FUbDT@Kte06*C-anB9W@*v8 za8xdd?d5lNpzV_LdljQ2?3<^Ut=E4YY`eBT{1%{s&!4FeY}fxhYGYk*Qlb*? z%J2c5?CPW_D07<{*{|siuM??#>f59 zqMt%nfEhuV-i?UCh}E6U^+SI%TGA{m3*>OZHY;QD_Xxz2rZ7~Y!~UbiB_DrB|7{h; ze0aQ+i4~Oig-iX9LR6{cRc~+tHk?SckOMuo54-s?JDAVfRGrSI0>L8zCqL{8yNu;kR6@uzA-etj;75@}ty1@K zvqoPVdu1PB?2fSjjh4I0qN8GiE=smu@Y%ab8e}TiG+C6bQv|Y$KV=o_KFS8K>3J&+ zUVcHJwAK&$c)psy(26&G!e83obYM-C012T$$n@NQphGXZ{LXx1P)h*jIbD08`WCs8MZIjLiPX??900000{?E07 delta 1962 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 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.15-legacy.zip index 4a55b1c3965dc9f75138f269580b7a38066cbf67..6fe045c30466255ccddca6753763706b594ddeb4 100644 GIT binary patch delta 1939 zcmV;E2W@KL7#%4ghu-C|u+-w<2N(003O8@6ov+7JhXipscUd*b{{}8LW#agPygR_`+ zH2vRui+hwtME9uFpdm{-Nwa^?Rd|MA!%Wul;)o&~j0RDd3_cXIW*XCBaUU#9asy2M zVXP~rRNFQSxVgx_O9??bW&}7Y4x=Cwb=IbZT`@sRQh9!kAJ#>h2#TNj7Qj-o<=%6Z^4YLQW_W^$6N-tJTl0E~bwJLdLfRQ>YrcP-#u|tAC&2n| zh5a&Lj45gE$bQYFEIln4$*cQ;{4t}n@9P5H<8>a9hbC;Ffe;<-Mu zMb8IAQKeZu7_>d8m>0FJubzP~eBK2zKUFD3gq~|W#|S^s@V@@MAL3VmF&G@7%i`-1 z@de<^o3)c`lL{|6E$lUwjpI)4vUSLgEDD?=wf&~_qZz)PYn-4yE z|KGxH85M+BumXQo$Koh+iYjln4q+6ePwaDpHP57FQk=#IF5IQF!##Ixz27}OlyuH^ zV?KCi9)@vxl!wRNxxkxP5wcUZhno`rf@cW)u9nx1lTR&Rf-9%meV!IAbs3h6hF6_3^o zFktFxUWCYh72>L^?XvSnK);1peYGfsItGmX&$!f_VTl`Hn}OD(YCZ>4sX+yY)|@u1 zD6sE!0ZSdfq%wzm?Rv3Nn0~+-x&$LvCkXRu!aSLcx@nY9r5>vG?!w`_+ONPkD6h7B zNqWLXWz>H%v^wg(^v@ReXH@W=vVjGn=8m0IYn*|)VoeaDST%chI&BdcJ+0&67B8`0 z(4w#kmX6sTf`$rx$|5PMEliyZLg{FnSKDSEdSB(|j}q%NVK3JXZJ`?GUJz!|z_NAH zJnQ*vWqx8jF~7-GYa+j)CS*7LaCAe|4K-7}_tJlLvbBWwRi^|%iE0eG#~UQv3+2zx zGO*FoUa4rldJj5Tv>L~6MWxv`+wDPY$m6oXHY4y>KcMkW^@}d_2v?jMJk+@KXkIX& z<4?-&-+=g_F*bj_;ZoB_g8#q<*W6O8lRvUbfhwIAW*9E#aL0&3)>o_tnFYlLdS*m@ zf6#xPdKe_13WF8~9l=d8sFm1N`@75qy=S;C;IqBBP+_^kr0XSl@>=I%7np072Q)`-kAs5p|2O|`})kJ5ZG zf4A0euly(~z2~v~SIpe9Z!A7bQKjgw z;EYO=tq&78N+hRy0CY0GI3EP4qQ9pJn3%=d#%auE*S9$^aAt*``E%ykyqTDivrK=f znuhWTb*UdW3h>b_Z|X29K5xFD9M8d z%2*kAB`Td4-Y|r(s(%l5e;DH^kLG^}%3;Ew*_zMT4n_C^sTNo2^C<%pVZtb@N?QR# zW3bSLe~krR@}aFqKjZzVqgRMC3)*ddWC6!O>djt?2S|!W)N_B!4Y;{b z(7VRnWU2QhiUkFjVS-#VIx>I-0lj#)5@bxHWKr!9A)*y(LqQoG`M8Nl=uRdC)_fkdT z`z}_?n$&s^I2i8cHX?)4M!8^vku?+(ZC#MjTr5g{j11uf^plc=hCD*NXC6M|-7v@; z)@^QVKZ*C~uB@JAeHZJ~_pq2pH_!Lyvm^*RqA(vM)Bo$B9tluO0Rle*KL7#%4ghu- ZC|u+-w<2N(003>1%?D2gss{i7004jGq6q*1 delta 1962 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 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.17-compact.zip index e4ebfc711e825507f77d9a185a4d920b5197809d..ed2b6b33183c3db7453f50f5c413f2a12f366094 100644 GIT binary patch delta 2098 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 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.17-legacy.zip index e8a27835e8519cf471708c720ae532c3f45eb7d4..770433d5d8f4b81af75f3d4e186d195038f09e2f 100644 GIT binary patch delta 1938 zcmV;D2W|MF5SI`eP)h>@KL7#%4ghu-C|t~IDu!VP003O8@6ov+9wdu)|1vP3rp?!*-t`%7k^YhsZk6 zV#R_=z;2h;vr?F>&K^G{DeQmihoa^dYF?&-55g|VIBU+TQ=%hTj>trsX`6`YwL(b% zLGVTCXRXQkZ*_qW9Y>DHyB4A%+h{e&x%dg&?XLM`uP_)BTf=Zo)mh;m__G+51ekzf z1guz9x4cBwvVl_OQx8&Bl{r5Z%j%-1P`u+USgNTt#{n9qOhLvWWPZpW`J z$!gknSgltqs-;KGhhDPXbXzC%A_Yu*h%3-M#%qp4arzA1O;DMLEl|73nDvBl&VsQh z+v<@Pc8?#|iprj9Cc|bx!*kj?=L=ebp^1}V*P!6uBi^`(mV>U~vX1AmQwSXk5GshU zAgZ9WTFS~%$s>COI3Rx(F(%0YK0iAh)#gW(N1g*fs6uilwaYv|r2`Ah4F#{10^$$6 z*f}Q#>td_E$t&Tw1Y3;nFn)G?&Jg5_CajhoN^oeH8LYIF0^7 zkmhstOo9U>whc-#Zafx(_h==^o(Yu8JWraOCO;OyJrvp3Uf+K(K48-Sx0Vzs5GYrQ zoe)hSUQ$M=Iw_q8he%t{{vda{3Jfamr8`SeMrVrH}38pud?Z?+t6MwPSEEMgkHjBL(7*_;TxB5JFg zOM;`x_d2;_^-@5=VusV2b@eTSUdLYV3bwA@$04~WgD*%ZA7oi6S*aQcVE3xMOrag1 zvWGGv^f3V-BhE=1jxSZcO!K>}_gL9(X#!K;elU#IS@M65aH;e%C`w12P~pa&Y)zRP z0=iYy=|4Ff`b4f~_r9?JJ32L4;Mj@Fy8sh-KYymGO!-*J8G}G}QZFm(@Pi!ZJf`EV z(69HnF*Naau*-8Y4VKCZJ0G`^DP5o7J7qU0_SHDF-2<6;CSpj9E>p`RR@i$RdpCBf z`OE7_hV*~5Y=N}Fk(vZJO6F455yH{Dcwg$@B?>P{^`2bL)t*snxmL)9eIJ$pLMhc<5UrWO5Fh8?&8(W9d(c|`> zV5pD{jq@f&BtAE$__iA~z-V(ObMNM6wR~I{Y z)Uu;TagOP!2+YX@8w{KzH2#LgTPzRPpO1eh1jXc6v;~068vvNP4KSJxS4fIA^*nQK zTom6DtBpDd4fGpObsJKf_D2MC7tN~D*Se|8rS8-imTd69oG0owm{G2MT{ zlIgD+j<|nS260`Wi8KPRa4@QNi7n0B>YUWH8L`ihy)cV$J(lV}ebD-jhxwBO77~7j zN_+@MIw>Lehxw3^l9@Z}cFyF~0Ad2OgD~4znAL@-)mY<-pBM)x1T%f+n%v30JhzHs zJe`^b0S7)0AAPF1Fn?i-nbv5BI-Gw8kNdNE6M>T8+1!z*YlM0@&s{%8I_`KQ^tqac zDh}X(qXN^`2tQBsupYX}T*}5y%lcRG@C0X9Buel~u$Nx@L!hv&*{>ztq`%1P$^z_+ z6d)xAL`O#Zcg^WHhBEkRus`}fxhBB{NUgsmYW`zuTw#s6AQK-FjOH1nO|yTz$EhJZ zN|aMI@|ho^v5|d1pwdBv!zV%1t5n>3OlPe}Rk?BlVE!krEzP(58Cr8>?h>o}PTm@l zu~nUjmYSH-BA16ZaF2nSMKYpz3B}W`8?BPv;TBgrGvo;L6+@qq)+yij*?eXTek7VV zIm0zU&k00ICG0CpHC YT+C}KhG7Q)0Bw`Z2Tum62LJ#702K$HtpET3 delta 1962 zcmV;b2UYl&5TOtkP)h>@KL7#%4gg(pa8zhJs!(eO007XD7g~R@>BD=aw^#$;@ePB3 z%)eD8Yvf+&h|RU2Pwe;(u!2*+u%GxVz(a6m#+m<|pK?OwMz>bmRtNYu z_w$osmKdE#>FQHoI+>@H=B;4|i~26mYf0A^6bD3r}n16s?xA*nM!9$DZ5)~`aBE|*y{ue4 z6Si#Tlp}v8#e8^da20W=;>fd0#*xXMDxET#(cj^S(3=~{DVF+8ktAtLb`6u3D>JIi z&kzZxI5Vzn&I2S1ldaqr1cp=LgXAvD(4`^O$eM-hto z=^_HG?e;=|@&mk_Q!EZWg!J}%Q%o%iIm7BLFXqVvU*_oWl17$Og-|3l`>(GtWYqFm z3WR@wGUpD>lCftK4YHf8*8kwIDOYI+DjW{2aZ}qUDTbkT2q;h-*`K3bvWh7B`NWRj z%`}}W`!l2!4&@>xbO{tO*DPA3c6k<4K@UNPx|Sqo6tei>1Vf?fj>vO)Q?&^$_Vv|K z9Y*$^VZ=X%Ze&uu1YO|)?!E%MVDQcV44Ho~R?OYS(lm}rqU7NQ2pQYT2z8xTa zzJRSF>D!2!ZMIQ|DFrmHs5w)8uOS5aVwnkwsbvzZSG~Z0GjNXnLmN#|kD{HV{EmN! zzDAbzR*URXvq#>i#sWHZ8O@=zOVna|82>}|H8Ef@cI;jweoX@1GFRr9pfN7~17f-> zSRNockMv{BZ){rQ7Ndr~$9DglU#5!~^yhRzlD@iTQ~gS~`E(gQG5ChgkjMVWkkOkA zW%ZO*A~6I0Q((sNyewY3Pm+&iy_tU#3-9knX)_d1AbUqZ+h{twDo#9q9N%AL&O4WD zm9wch;Ps1En5d{o+l^m9gs5!spQyRto;CRW&^^$+lWKCu2GW?;;YK-Wu|UXq5njc3 z2vmk8S{U`p%-m>VLs?hsm+M6PZD%nfWS33kMvm^tdsSb=s#>#o|VJm3Cv604U zvB}Kp7eqYSfvw$Cypj6F^CW+qX@50R5P#*Jl`idciVp%8HJQxskI!MQ>Uny*Za+|p z%~Vbu5g~@~R}dVJNMC3|3Y(^W0~iB4)bwEYA3a4q0HvTz6|H_^1jIxl{Y$*Ai%dwL zgK2dOAbJo7ohoO#@~y=t+2GQiRyq%0%zh@P;?RX!+wDYNFZdKX0=|Dz-SC7395bjY z%)>>~OK%fv=1*jCo6dPwoz?2eED-^G$l?5dGRQhAk!J3}`aFu1x>zPBMhD}LFt_=Y zf9hsyLiZmy_nsmDyxoI2l+{b@xyZ-X_f0k7RXh@vWzs2VD1!RBb5{a5AymS6$o15`Oj>NMo?X4-bSRj(D50QIWHDw;Ygp9^? z2@D1S{pt<-0sIlpu{=%)2}iSG;l=+iF%N?v(#DdW zCXBqtTInoYNMT;a7xHQ00Xi1k)KPN;2s7W}ko}POpE)qdi&5ry%=U z{%2NccG}BxC02jAHwnbQH$D7hhkPv)Wtz@Gdw|O928u13v%)01g0M wa&S~=JE~A?2LJ%jBme*^00000000000001h0RR910Bw`l2RR0_2LJ#709ney?f?J) diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.2-compact.zip index 67810388bfb385c7ae7479c9879f1559f1417241..78f6eab83bd521431556cd970c1735639b09efc4 100644 GIT binary patch delta 2090 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 CVwHCQ delta 1930 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 ZR1C0Ungj$000766R0vN7Ob7q~0063n`xpQK diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.3-legacy.zip index 3ac06ec6dde338ebe42e94e9d24f8f70b55ba31c..264002e852ce3f945b6e3349492eac4945fac3f3 100644 GIT binary patch delta 1909 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 Ntp`sAo(BK`007S&qD=q* diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.4-compact.zip index 5d429e1b5c6652c6db02239994669b0f2b075d1d..2a97ae3c92bcb39f1ed99b4682e068f4d4aa3119 100644 GIT binary patch delta 2090 zcmV+_2-Wwx5v>syP)h>@KL7#%4gho*C|tcyj#l>v003f<7g~R{Dgw5sX$_<1pTj3$ zBf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZUgM$&P5RL9KHd# zUNZ?7xvgt&I%i*{QB{6>O8@6z8bqrQX9@7WR#yNVRAsG`12}UPj1giXg0X`3`yt=V z{+V26fNFlV)e(Peqz=X9U%yGw?GB6A^!g%qcaoV6Kx|t0XDf(|s8tSM`-ZGH1yZAi zevUKi;79q$+~tY>O-W`BbIY1U;Q!Z!XoVRd4rNL$f!eU0Rqz$Oo$Yo#D}+!Jmz{K) zsr$YqB%c(@K{6BV(60_gqIyI)`XOHXZx3;KqG<3@9GriB{T8+fuuZ*mi3r(%W_!z4 z+`)RhrX1?p#50f^V^fAe$(~~6?<5Ii!m+Z`U`m147hRQ)I+boNNWd@gg>qG+pNKF*W zvR+M<0@`M7KF=#=sB1aXpc7BEeH_Y+b-IER#sNPm#`t%|fpY~I-(-GQprbC|v+Q-bjQXbn3qhy0X|T_)t`>}$KRx{| zA0!UdxFo$WNPu0?YMTXPmR|J7v}TWWp+^F9dyt$pZsMtwctt6+Yw+UeUAL3^D}_mc zM>D$l@D1};JX}=3{LGD{X!a4^LN>=!Oj)`1t{H6utM!DdkwXOjh%dA?jvG9i^tC8K z`iy_Ijy>T(Q!Dnc)jV@3i!KGQ)`|OaP!&0^XvZ1nt9r4 zO>XmvZ7NI$ER6d<%2P(DDzx&DZ5Xac51dm`*MY`RQ=l1oFnuy(f%?X9c@}m|a zaIzL)Ob(72LY;(8*sH{%gjcVmr;8vGC=7qrk!XGEUHcvX7e%|k_k_!3QhA$E2rcDr zC69Jk3I#rV;NJQvV~?#uoF!;my7cQVVJjx^Nw}H;d(K;%2@dV9)hB*$&l=ao(X?ph(r#HE0Akpnoo(hbAhg!!b+HiH0Bfon+W$35{I{X^os~9oxu}KP&{#ligp_2;lYY zSxHA;uIi$4IQ*rj`hylhE54@`gwcPJ%hT8P5Xm&-Oou2c-=O)T&FX?{*kbrS= zGD2FwuvBvqj>24f6F+v?cZ*vBQeAkqPO&zWnoFX&txu+%i1$FbW2df}0x^}K5h>?g zHBDTRT<=qKV5H0{8ixwf236R(F)*8PqX#DJuMlnO8xe507Q|WKJw{CdkJf+P72@8? z50Zr8Qll=$kOT*r>5?A=pX{J2%h~phmXi6>nS>Duv=j~%6@+(P77H)r4A)~S@{927_ zF;PZ=>PD!&@m?J-wh9*N?UF*(aOwEiKN1!<<(qjH`o_?Bu=*hNa@g>mEWLL2!{#L} zd1p4&3LvYC_!IhyA_VAt1ADVQhcP8)gU~+!&*jHFB<*)nUn`+V&e8l-vqpFh-V;t} z`K)%mLKG4q;2lRwbPs<3Wj690ZY7T9r(H+z?#OpaFse2g2N=4NsTy(;ctNUFlOz=p zI!M{GUseQ|1pt=UTy&Q}9<@&iK)v&ADTds5t9dY*LQ9K&rp%0~2=MYT@nyt&#DBTf(#G66 znwOcnX)RMgHP%Swg3OLypW--M($+9ghD67-hKS_KxrzWX*xy>)7INm9g7R@+{A6Wv z$S*wg(*~fw=dXWRG^{@NJ?#+X4FTN79=aUrI)ve1JSD=pp(phg_nOp4n(DniPHVVE z7h%&pA`)`X353QVeV?KmFtS?R1BwYYQpw2d_1xlQ1&b@3k6Q%GeJnx!)Xkh)*P|8d z_`8A~r(sH!zcV>(DZNHAZd8X?kAnKf=*lH%q*jn+H!y!{i&NnY7Bn}I#uEh%gf3es zna?cq{7qNz71#g54;_v~5Ey(PDwRTs)8U&LEg3BdqC1qg@J_o!f^CdH*Iq{e)1ny% zJMblz>nJhws&8dHfVtb8RnN2k`!13NP)h*9smFU delta 2095 zcmV+~2+;Sf5xNl@KL7#%4ggzna8#TZXQc!P007647g~R@>BD=aw^#$;@ePB3 z%)eD8Yvf+&h|RU2PweuNZ3O%QrNIakLX(;KcY4X zSa43E67eS0=EQ$oDA@}_V2)RDGirgS7IsiO$=B;sQwdO0a3WHAHzAh&F?4<1)X4E{ zEq1CAW1=w1tteJyZf@*Ro7-<5>Y%2 z8p-l{UmT$`I1aDlUuPj`UuhTrUSY^zr_uA;(BnJ3x(H+`9uBAI!RFm zSP=+7^%aSpKCQ{Eb=ZB`)7U6pJiMnUg42IdVs!yEktvryD<`O_`8h_Z^3KxYH)^|? zd5ZiM&gk$1P^SCU|J$+KJQ#aRf=SAMblrzuli(aCIj%qe^7D8p!f1TjKOJ{bo-9Dh zS>xd9f5`?K^!C=q$3=xu=PmqObX0t^5@Q9h7Iq3E9wKJ7HQsZ z$&`EXD8>B5e;!8hxldf-ojCyek*&${;$_Mlsdx#zWC^!;nR;NJzFsCSc8KwktnkF0 z&Yc_{Um@qWb)8A_O8UkGanhSWF{ppSMZz%R^89-iIZSXI#DT{Ek%E%2^|JPu95*S% zOO5xRbdXmaZNi64#vEa{5oOh&4WRgX9i!jIRxXJV{N7B4aEunpgs6oX#0Q@JmGi3I zoor&4!*`9jtGtXew0p6}rwFXWJggm(=YQg&Bv7(~9Y{ zWuYc4p~CI}5Z>mf*~bKnCJ7hTrb*X83G0MjC^ zHUcxO0(%$LlTwgz0?thE)s&yvnVczP^x7*)hx?4%?y4)*VY!Z}pMQG_{3SL5;8n+U z9=Xuur#t*YPtKQg;3<}V`dWXqB@n0Rd=S1>e#1O0;-Kz$YG7cWdFORy!#6FC;D^0u zJ~Mr#Or~-T2*TJ3?j}9x$=f$AkgNX?9ocKgdP!`dd|3OxIQt)fI&zG*%Jzt^B`$Rn z`7@y}x!=#T>I?BDmd?`)QJ0P+Q<~lpyraaHl`GWcmBa@tfz}a1M!G-$6K&x?dh+Sb|fc}{g&@hrMi?D$2_iBG=Ca`V9p9vJ+6To%XQb3T2vb^s$IMdAvyq72oNz;A-rh zb6M@YXr4PI>H=6JBwEyZk z{#&DFo{$xjVUl0v|JZdZV?|M>Jn+NTC zX)l^(fzosKvV{kp*^ELs;E#i>oqS{Xj6YxHk2`vBUd>=?bVPqD>@V{mv&=xTo5}tF zul_BSst`T8PmJshN~HvsC(kp^VtXhFEfK@IBqLBX;9bCN(#FvHeb?%0rB2*DZW0A@ zRul(v=lD3#hM-q&KzoQyPE;x;eDp9yh0L80D```l?e%OwM*lnrALf&v>`P9LU02sp zYwP`vM(lOtm3V)Hls7pAYZ_Rs<9UfYzdtOl2lmT7n(fn({_5e&^#53LGY(34yDEol zj6fcvx~la=en`kR=L9Bthi|ig0&(`f_srw?`gE}q2pFEjC~5J65F8OmtVWG|EJnx= z=v^v>Ik?w}E7(Mk1xuFLzI7Pc?pIl#1+6sgjc8#9F%^I26i;04DFnL^msfp<+SK4E z`jj37h=IK96*9+W3dQpa!+o5rW$;eB(PPg-{X+QGAo0zU&k00ICG09$f! ZRGb%Qr33^B00766SO`xBOb7q~002Dl6&3&h diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.4-legacy.zip index a78c8131b39ceb3ab6da4fad42eea44a0d789357..ce5e7f2f95f8d55c685241567503e5785645c3d5 100644 GIT binary patch delta 1912 zcmV-;2Z#8K5QPvIP)h>@KL7#%4gho*C|nY&RV+^j004lI7g~R{Dgw5sX$_<1pTj3$ zBf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZUgM$&P5RL9KHd# zUNZ?7xvgt&I%i*{QB{6>O8@6z8bqrQX9@7WR#yNVRAsG`12}UPj1giXg0X`3`yt=W z0%uT(>I*D66ls4hgrULsBu|E2R%32 z&^y4bu;qjnB9I%E0qN>?vFVoM_yTzRam*I+$!QyaM%WtPm8@3^>Q=RIVp|7P#A0zB z-`gZLXFt0JCIG5W5L(JK@D8&t%;_(g7o<~$?%LtWTOWUT0X;xO%KncnIaifqIS*1} z3oZy({w;Z8`9IU6lgSUP;7|j(P{fpuX=?&2F?^x5$3FiTWh&NM&h|D!kEnJvr<&5I zJVM&K$|do1tg~0Qz`?0tU&5Vb%7SFp{bus94ssMODCryVQ)3m0EwmLWsfC%&1KZsr z`%GT=`XPTK@?zme#xs*_s-@k>#k9#N79yudW~Uy>{Yfg!JY>ea9|Sm67XJ7NP}=0jImJ#e6OA8 zM>l^}``J#1)SqmVk_BndJnNuzSA{u*see2)rl+NmdADworbWA|QvDVkSimA;{SlQ| z6&hh1OIKHdu2~we?p2ryoWq_ev{_A&P9PpSmc@T(rK=pwP$xx+>I<)Ere`y5CWf3y zVVI`+S@JyV^fwf0SBLbwFodxMz8oo6xi8B(kmG1>4CcwT0#Ql^QI{;$r)b#Pti?i<9G#AdGEg=EPik27{Cn(=A(_s^Z5jq zIo}5lE1X<}qF!x#)7U3ERc7zAV zfo5X2!&&_vsKL<%d#o!NYpwMo#Vr=f0Q8+d*{lgVju9vWoZ248R$9@+zG$fvfhD$u zE}6_WwupDmgo~D76qMt8HFC5~jVFJ8Posgj`GlSA#OE9w#->4-bKo|?#TN2a94o;7 zI4>C#Naw#vre!HpG1ZS3{<(wC4akZB$=fvQa(cT3;qM>KO44e9VcxJi^|!P63j^J& zJBWL0rYS!9{!k574CK~D(IIRg0Iw=3*mRiIFSbt*s~E60F`@RvfY=T=@-TlAMJI;{ zY(%Hg3K~a-e=QJF(41=3=QhAwX!g9r%9;BlMKfZ!Mq= zT2ZJ{S88Vh;bhijha>fgYWNpApX`HdDo3vP^7{4rvSIDk{5yM3q-;1d7%xz7>s_0N zcgJUg5`4(lRA^LCaIis-7$wEQFH5W29^+#tG zN)bzcOzlqyHSPP+ z^i!Ud=Syqi6`9`Ke7WQF^(s{rXIYGRm75sRT-hBv%K^vg7MAg>j)va-&n^laLGCFR zixaKr{Cl$Ldz5z;@wk7223FH5uX7)sc&B;|8H|z`U_YSC;bT%oswjmZv=z+ yGD#>e3x)srb|yGbO928u13v%)01g0j7${s4t5qyd2LJ$oleY&?2A2l_0000Jdy$#| delta 1919 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 F000b*wNU^7 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.5-compact.zip index 0d3201e83272d0156f3dc4c6cf9aa220d47ae0bf..5f2f03db67a1a27648cd3034e9fa503207b26c97 100644 GIT binary patch delta 2098 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 delta 1914 zcmV-=2Zi|k4~GyJP)h>@KL7#%4ggzna8x|3=nYW^003!`7g~R@>BD=aw^#$;@ePB3 z%)eD8Yvf+&h|RU2Pwe6 zub!r>;P+KitXO|z3n#oET;;2a)?)+GqDJ~Jv$b>f>BHud_-hG9yR!&nmHX*I39r<% z5lBFns72CI(bT2h&ie(y2AVE2|0yZNv`|hCtG8 zl8e!cg`y(5nS?j+C3YGHHH(!wTp|ThwCMaL#?7P8r~!WjWoQ6TySfCf!6J9}7lU8* z*W*W3a(PX8CM@TONhZUxPDH1GZ9q z2#QFx>B5S#MS_~0_fhD{W}@fiWh!bXFl}JNS5XO5O9hWtH%3A4&tfwT^g+?^le-3v zS*2K*0J+V3MB)qmzFVY;ki%oN2Y%v5E6(TbIO(cmk4=56^4y`LZv^KO13eGrXvw< zrlXbyXo*zt+kgzbKe<6(jsWJ~XFWkt|6V3lIY<6{Ae^XP{MXoQG7O5qp3z9S2o`@R zCfjD&Bbv`Bugvs3MOHF-_LpnuQ5pT3nlIWRw)xSJ7_&}nl9m(V@yIqEBt?@hNgPUf z{ThPnNOxLbTta_npQ2X#=%AX#>+C53 z^G1bhU9E=3J3Ni`adncQymrs{tN^=T;VXaaJPQoAzYO$$Y@f5sr0FjaT>|j4S^Uz0 z1bfj}x2n3!HUZTw!AbMRIlv@ zGb+hqJjPXMpqsvvHl^|{#2tU)I{G{BQyXLN5_VxEk?IP0CM^VDHY~5I_CMFKE>sIW z5GK27I5{F}Vwb_^T$+p6uRpxAcMW%W@^=|{8D*)7APDuM8#O%6u*ww)iY)v>73R10 zKZwI5Ul2eNL&zb5L{+2K?}P*UU%a}f?aXnv$zU}EQ-lf0i|BUufCqncrC@hn`ngte zCC+0udzQTQv#>3>nKH$)mpYI=$HNHA5lgD`^%UipM9N+e+n%#%RJkN40n`>51GqLK zeE9i{MrKLib^_L?%v*>bNmJ#TQFe4iCxt667pdKobi`Z5et)-w^QK7JqW@xF!q&_I zw&%W$%gV~11k?kxD#Cv%(=-ogpyknz7$FPNJrTAI_hI*;(C2CU=muEWNh|Gddu@`w zZ(%l^u%cR`bC#sP!G8Q@evm`1RKLehA`P0ca_@{AiH_VRU0}fHsH=U~W0Mz>fh1K!~L6GWj3=yf)zNkqAlK%pLS}x3a9$I7_-a>+t z5nrdXE0F#pr@&7|7dd5$kU)!n15J!B&(kklzNV(?oLxQ;hm@?DSIdmBDcUj<8<0e> zG%8H}K>tTp|BJ&Nwopp}0zU&k00ICG09$f!R6MNc4N(UG0BMt`2Tul>2LJ#70Kc}m A0{{R3 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.6-compact.zip index 708b0f85aac573a673ad42dddcad04b1e9dc7865..471e0320b8920d19a4a93d4080d677e99d0cd57b 100644 GIT binary patch delta 2080 zcmV+*2;cX#5u*_sP)h>@KL7#%4ghr+C|rf90io>&008JG001hJaR@DuNGX4{Dgw5s zX$_<1pTj3$Bf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZUgM$ z&P5RL9KHd#UNZ?7xvgt&I%i*{QB{6>O8@6ow1ZQZ&RUzKCD4+D8eZ$gHXksJ7oYr4 zSq3!$@MQ_f_%r71@+%=edGKGe$@SqUdt7cio3p zgCmvuKDevh&xO}1j!$eu4nP4)wpALkI#S*tyuKJBhMVBkFHN0Y(~e=F%)qD^-8oMH zb=;72)DMjYL^_VuLM048IYh51e)7ub})YxvZj8=PNYh- zGuN(E???usY@!Df#@mnV3)VUWi_dP%mC}K}AR@A~AeZT*k`hB&Kg_${N?s3+w!-Hy zqmq8=oz*yc)nq>IMPGoiAO=-reRdOWZ0HBqxU;8OndrT;ext!2$f(%<^~yY+(o=vO zMyL+}4wU)wTRNlC*7kq1oc?+d45mR>rbc{vi)$xnvUK6xAI^O7fu;N6$n1vR0C>Fv z-hIaSkthB=UJIfOt@>lo;6G!U^Th)NAB)B`xnJK|@rouoExX3m?QcS@Epv`^b7K3i zaZr2mp6$2UPg{U6O$z}(2p_Z%yN{>H?*seWOoQ>9RF(5;NW6a~VK;7L$9V~YC?=Ys zAZN_h{eI=)K3mulhow(vW^WiUTmMm*(#NDyx8#Z6slw*axDW;)dY!BnAHMP{6a;T; z#87bA;FePK5&)sPpFmc?1QvXU8<;1hOa~^h*xtxM>;NT3m4)H3E&(s}s%rGEiGxYH z%+&I&6wS+?V=sTNkd6L{Jw7Fc*VPH`lvhJTMl8+IUHCx1tF1nnJ9d*!0szrp|EgQ9 zvx=i|C_iM7rheud)SMWiTP$KHJC1LbT6Y~7B*z%<1>uG8wTFDAVrP+r_@6A0(-hd+vB|Xshc_P~ z`x?j>{8rfv-nTXO;`I(2Acrr*tf!qbRS8go81a82+E>jT@ntv*zo`Vs`9_u+xWXvb znvgOvYh2&w`w2HAiVG9Vp`clgWo0M6>z&U=5R?@<<}J0H0Q>kJGaI2&Y0zaJQl&|7 z%*I@QN7TOajk`#DRc!r63wR|}%VnhQldYNAgT(>Bo08(n_??O5cJk8-I125`WRc0fb_GePXBNZXlZSP>cqJ8>anQ*GPZ0tWNJf!Gqx&mx}I0cCm$MtMVg%7<|a| zNBVwRJKBC->54JUsKvozc3SmPQ;{V6&x%1(WsO$8l>k3frbGwGH_^5#?WgD$POhRy z2tipC zsxb!3Vcgp1@#y9)ZE$xa`{nBO+EQ;CjE!-dz-bQj>}QPaQqFVY<^F3fvc?yjyN@_Y z;WwGA);k)9y~F`36gazG@nN5gBBOtKw2oir&uTb=YCLU6t`7XdIf?rUIA4#0$u`rm zVU!ezOa|r9?wV?@2wLJBDfkI#^DXL?@kUBdEV;>p5C>Va3315M*XX`A3PZ(okhxmH~v&Fw*{a&P#!4MRm&+bY2a$7%Hc=W-}Zcbrr?8b|luR;`T>R25Zo;Jdhl%+(?W)${vs z&!8>YMztz2x?99D#Hb0aMyNFBiQD6aq{e&%-~H$7jGa+A`+5WDx-)Iiri~Hh+3^b& zl1FC@aVR!kt3qAx-8%{kk5}}=zRADNk!0?U&|#oC-uqciCr9_Sr(|Q*#+FP${Zswn zt}^+mG{(`Sf`ZgfRsqlM<^T4(1Qt+B0Rle*KL7#%4ghr+C|rf90io>&008JGlVAu= K1~mu(0000vFAhWi delta 2098 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 delta 1916 zcmV-?2ZQ+g4~Y;LP)h>@KL7#%4ggzna8$_|x?EES003!`7g~R@>BD=aw^#$;@ePB3 z%)eD8Yvf+&h|RU2Pwe?rf>R*eO!dpjaME z#mxA%j#=thv+#+31zD613>czmS^BrTN~!dHJHJ+${JnB`>U47qi^?fk|LQk7L+b~L zCFnuP#cXUy78yRHsIB_5?{fx($bNoq9Lg_B5+%}CGM5+>HK$<8kFJ_yH~WU82}>~x z%ECyq?_YmrqFBHMGkrQDInJKehU*dWF+(-TRkAzkF|@izU5IsEL>k`_1dXLfsj(DO zy1hrl{tm)v!tC5|x>{nat)?EHy=)upitivGR;FXUhR`STAPql@6NSzpa=1Kt!zAOS z(gH&~eqtI|e60|wRu=Xj@V?K5yc1_3U9N&H}E{skZDhk_M5g?A{Rj{5#pUu1W0`vex)IGFi5$w`@3YN9hcGdJ?|;+y=Y!5pEv znIhj~SZhy%pH5-FGwhb?m&Pykp85dR=$e}j@W9pNF&Qw*w<^v(Xg{>R=xCPUFBV8P z#w~w|a|RKj_c6k~!3HxIH*MuQC9^CF#<_Q_l^1rU2XMU($F=Y15{ck>Gn<2BdEU^z z(11M&%oVAys(kp~4K2CMu!v`j`ph&Zq+#R>Vxb;V1dsi7X!ia1AA$rQ6fPKX0+hyW$Cd{3$nIi*oEPJ`(jOmjevhv@ROf;y5sJugb;%jHJkDg=hPmIND|>$ zlh=@dXw_j6p3#~!o{FC$i2LqX_dz>jsX`|Ya|S1;Gpb?ioC8L@ijY&AcgMj#h*H=# zQVv3743Eq22Uve{^v(!df%Hc`hBrOSYS8=%9_EN?)x;~?-Rxy{rKu))pHT9n0`7m= zycz>V7qiTk5n1aDKX$W!4A>olzxC-g&&w=T9XAXfDA21F1w?92hl-fif zuvPTT$DLwnoTvpS$~F0^vU*iom9v0^S@`MXZ{;oG+1{-jxaQ1RAV}07T2S`c>$Htu zdey1AMlZ$;)F-PJpMBNnR!i2p9JGIdEN0<4Z9LRg=+#<|s=5vVE}p$^IZ}q}44tL) zQhik`kF^Pr)sJ9>M46DnyI^nuq|yDGYjlz*D@Pmrzy$!}k;T>a zVV?_hZOo56wY2QZf&_ZJ4;LM)9&m)bQQjRqRys(mtO9|YsZjrA6n_2K&Deh@d0ooD zN5gr$%+AKfweJHbC~%)&n`vg)E{yC%n?W*uhJ&E=t^n0tBAXn(LY4rRmb7=W>BAqO zK}*nRv7*NlB^zA{ETWKYddb<0##X-eGC&~1mh@!tJ1;-;KiDOT6VZ_679VvAvGzVs- zH(QCRi_wCMq6np&WHeY&UnnON+<@xb{4tWk#-c2l4_+!oh141+cI(k8J5r-6YLnt@ zQGn=$L?EmVLqf`klDaPrdT_=sH^^oN7z(#+4U3(mX+eulo z0LJkW#5g@e3`4Yo=&kEqe6JxDM75SZh5@B^mXA07horCo`ZlY|U?5j)bu9;L+!r1l zX!#}-WfEMHv#WeLNxM{fi~}P2shL~Bp7jt5lG6(Amo-<$ zQ_nnSGTtCGQn7q8=UBVur8>@#HLOV74HP1v!tF&J@r|QvmrIo61OJxtHEf`2{`;xU zs$+M(HJI4h3h6xC$*}&!2AxKDZ8VaSy%YuFHZO_CeAlH%JejT&FlzQ<);_=Ab+uYL z`}c?O92>lQ7&%dM%^Y*?eK?Xj6z|)S)dP>c(kqT(>t9Dg%~_RS8D8$ZWrGJoAb7#f zBI+P0t_q3xM+Lt8?v|5KO928u13v%)01g0Ka&T118M<6k2LJ$Rlconx2Ac-}0002S C`K)^Y diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.7-compact.zip index 0b04a45252385c9db3ed1a26228ea278ac82974d..f5cbc86c0bafc0c5376fbc1334eee28515188e5e 100644 GIT binary patch delta 2090 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 WvD*O%0004xlT!#!21y720001aX$UF+ diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.7-legacy.zip index 182a91ca7240031d219ed70ed29106647425a708..6215926328436578c42d97dce83e57027b12260f 100644 GIT binary patch delta 1923 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 U00000fB}Hq)$ delta 2093 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 I2LJ#70ELaAB>(^b delta 1941 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 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.3-compact.zip index 685d75c263fa55f116aa5ef8b5e21ced8972af69..3564059cf03083dab7e698959d3fd2a94eac32d3 100644 GIT binary patch delta 2474 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 delta 2486 zcmV;n2}$;*6uuM}P)h>@KL7#%4gg(pa8z6lF6@X2007XD7g~R@>BD=aw^#$;@ePB3 z%)eD8Yvf+&h|RU2PweuGF4M;Ju>ceF@>{N$MzYlSkr=h6GdlT%k$vcTQ-b#SuI_ZVwBXhG6* zMR+OCKClaK<-31yRJ}C=C6^hj2$JiFET+OB<=w8aS>mAohD;1xVvb6z&hPUvcda*Q z26c47r?48^DQls+h(0Gq`bkpt&Pa~*tR1kF(r_bO9GjSQ2n=)FoixiblzyR~2VC7C zniMbifmf5nSDmf5^Yd@y2Y+OIV7Xe7D2e&G1`1ldXY_yiyl$d@GtLi+`I+LOwuj~8$-BJ8<;yANSJmxtD;STb&B$J0y zw69xtPu={z0mDpIItIhXx-H;2M3A~NZ^N)P04{%hTJy><{qk~@YlMA`k<|PBiUr8B z%52nzDyiH03Ty73JDe7H3U#^YOMP%^Fdh*1j7AM2 za|i6asVN@@RgmWEWlt(o(tWewKyoA~|1E!|CZ7eBq{mk`3oUmR;(f6T#hNDv#ATRnWsdXT-UPNS|UO*-DWEym^xV_ZZx9bQOMYx0I~zuT1Pk#Gl6|< zWB{m9iw2Z3(EvDWH+5J?OCqC`3FnGaBs2U)D&V{AE#S)gOEizo7P^glA>O05g z;ey)Zo`(71_Q7;o7c!k`!V$`a@*=2!zbdFxy81kbuV9}<#J{dbPe%0|>vzOC5hp;r zGu!sntaC0CU@QYv7Iac%$#K=g8z}2a$%}vE#svep zLD;V2;4b5&V}b;GJR@g5h`zp4`d;sVC?6bQ<%#&2=3D?D`{6a1-14~%1G+i7*O}^U z5wZT3T9H$NL>*J=+nF3OG!RpHL)rT0FM&AAsL)LfF@88OS$}pIkDbYRN*u&ta zdNkAFo(LJ;*-r}$;FT@?$7LMLc>^d^QmgwAp%XUg(;T*LYhbQ!jRk)MF_9eBt|1Zt zWTesXz6^+=(b%6vo=*p7g&ZUAva42M7woUO6h=5dn&7|eP0UQeK_t|x&l!D-`#y4<814rvn{O{@+5i^-1jDdmd# zTV>Jv%fn)ZJc3e00V>#{oak6888!Ag+!2w>Z8li~VL3cZZdTT8VGGO5c0U-a(Sper z&&=DC5q750mhuzUt?S!fwEDO`NQ|5mi#z|)Je;2sTnq8lGF<%8qX!R5 zp>TIs@xdkxF{XN@*S_g#IV=@;5u#I+$j;YCIqvqZY~{szeX$(`;0*XZ>@Nl zHhqV(k4<*%*t^#oI*CD`ITomtk$b(vYj2;Tb0q0E2VX}g!tk=Gpk@>cn9j$`$0f+U zd1J~W$&6k3Z?&n*b)D1X-Rvs>fRKepqmLmIh?9Rp6S=4bfI0bAQ?r?{jWt>{NO>RX z@WuFT7%tg&)E$@ydx;CzTiK^WXA(rAnf`)hs8w%1n7|&~?^?>9B zp63iy{4lUg*`G)UgZSoz;vo`6>|2&$&Q={1Zx5ttVVnm^zO9eaBhM6XF1w}Lwa-*} z=8AvJv4GLh=9dDJfIAcqS5vbFX_T~Rpijk<-CAR6#uNW;a2V- z|4u8(;|kOE2(&|-6_MK%4>B3}wjQ}U@KK;(%aJK-ATlM#6unmWk4qStA16d7?RO^s zy-sN_BjZqA{+vbmP)h*R9p@&?1%{f0ML`s2~P&l2><{90Cbkl AzyJUM diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.3-legacy.zip index b586b6f6858f94ddfc48cef0cdaa74ff7b541da3..a66adc5b76b70a84f8664fcf4d06d30e091fec8b 100644 GIT binary patch delta 2270 zcmV<42qE|J65kRVP)h>@KL7#%4gh@^C|r<7@;Ipo008zc001hJE(tA>NGX4{Dgw5s zX$_<1pTj3$Bf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZU&K` zzr zgd6)EhF6S4zZOX_Q4WCTSS|9kR?f4&g4PXv?BECKX#39>yR2Yt;iImEbgm~?#2e5= zAygJ)cZwjtg1Fgb9pTu3(n4|M0r?~a8;H9#JbRrxn6Q7hrXDsQIJbYpo)IlHYoK?e zh45h+^!QOZG=?3|kh`VKGYHVW!0+FC3Ybg5@$C_PUm*}OQTI)FEH@ZNy!|Vnyw;4g<@p&{N=e z6)JLr&)V7IJpWi8{4e5hM#mpPL!}^C<;!#x4@@FG z{J%Ph>_6Ea#DAS_I6vD`A8Q`Zq{I}hQS4>JO(7%ChGsP@QPe<};4kz-<&`y-XyTff z4bAcwWF`ye!ViB@muMoOobRONuFpGTDhb+sH~M%B2+PH9;?gXZ99Uo0eDIZJT=$|r z4;wu;E@~u|PO0VMhu<%d02sD0aEli`SGloB-sfGt0@S#jvT`fIFBu|*nc-{Zd)YjV z4nbD9P*T4Cx^&fL3-e3hUHlnn59=jd`!4Ua98N?K zBli(hT>F}D{vMuQOL5lmT@1yDf2(40$0G!x2vL2xBE-3OteeSPhRqi0-1@oKODyBQ ziRQn9^*?_@ByiR#9Ymhg41%G*8>cs9&PN5lOuodWJ{Uq>Q5$b?q6)Q9CYBZ}SxNam z=qg$T|6JG6L4Zk)F_NqR$ae1J)D>FI*4}=jq&JT}KEfB1T_`tobR3w~PO*!hd=Qar z((?HY)zZZaatE4gSjD=BR?(lyg!c zI7f);1?A=2$42d8Y^_t6WsNfVDJS{kq}i86OqfU)-}O75_jJ%!vy992rExOQ=P zRYQM@Qq9$Hs?msWuU-}2RZcue3BcCqYG`$M=&J%c<~@mg6lnvuF8^euc(|OvTKy2_ z1>qS8&cWxTiz8YOf#G#8xo^kvn7aIDfu10&RJ)`+VmqOp#dka)vGGN{%KsgQ$J5kh z!{$+vm@R9q`_+dh+B?cR_qsI#U_?k!76^YQ43M!o@gUC~W0HJ`utKai0O5N71*G}&gmm6nw%QHeXB2(cPZjs!wX{7ZH z2$Tn*_i8SwD@gFeGLe-Uk0&1My{wt!ib2f!@uJDl^}1Y-*v2E5X|<#hU{7ljb5MW4 z(R_-#8A-L++_vgAzaP{7#v1}anw2mSU!8F-{03zR)(YupKW&NIZryTNqBfTH6ilA{ z8|ADPz*e1LOhC-x>S+IFAw3zQmEEr)#H%k2KrAjj!C{uVg1%TPbwnLS;AxxbLpJiv zDk$6nbe4%&cak0AG3#fm-joqNLXQSjA+z_IfVQUy>F{|pdb<}!CMnV0? z8gApTD%KSCg zqr|-lF4Q+!dh`D`pXJ&zYV`}L2*J7aK$>bu1#ASK1o0`m>8OqRgp@2f`GBgyh^e*| z6FN3uI%5{#hPUlU)T8mj)URduEi2Oz)Y$3DcHHLVI54;LI*|OHUv&MMQ5H5rl?mKI z)xFZUzojaiZaLl!vuP!NX#;=%K7u)3zL6NGyEcRo2I9bcP7K9US7{40&8X2av`NW@ zIX5^(5RH+wAR>=^n)$^TLz^vJOxc#X7XY%Ur7_Ww80ZESa@YpP*j3(#puWq{{n3#2 zct02?A>-WqAv?^hy!|m{5gS!-fuOO0AfU2tml9RXj1uTG>Z*~cp9g;kyhdqL?OVhz z@dx9b6w%^8wDIQZ%d8x~Ujes4SMpb~WV2a+r18PpR0qhv7sgR(NrS=DqFf}A3^>trR0t~hB*9;U|RoC6`!vPREP0DNLWY=qA*xVVS zJ`+&s@1iR3w*=SFn0tSiJ=$;Da<^`YQO5r-{dFBcw{>xFWqo2jF&629$_yh*_r2aW zM=E`({%LF>l;R<$3FUNlK=U$Be|o3%vjVI>c>a43{Fgv7Y7dr7-`10diVB!|%sXja zKh&G+oG(S#D(hXp`RXMJ62oxYr{h>T1%5c@wEM3)0tQ$n&(|wrio!g}r}=SDv$4Pb s<&0w2P)h*Nxc~qF delta 2288 zcmV@KL7#%4gg(pa8$8*ux7gm000Ou001hJ90@IvNGX4@>BD=a zw^#$;@ePB3%)eD8Yvf+&h|RU2PweuGF4M;Ju>ceF@>{N$MzYlSkr=h6GdlT%k$vcTR6Sp^9- zFGvEgTmmf;?48mVg?RKj@iKqBgAwUI0818}a=ktDunW0Z8oVd#KTfcy^1Wu=7or8* zZ)vT;MLSDsP+)04AWL?I3I+gceVs-VVi$rFwh3o|jebV%E0hv4%AZ%M=iC&8`nm6U z!wg;5^h`#-yAClS6lXLjUD#9>u_HB_6T>lJf5s+IbQC*57c=8oEgTcvY!%$GPth4eC{{Kauqp@{+`a*ABGWYio zV#qOPyABZ=W}Q48&?^ifq582$Aoq*F?q*`fuq=6fr_tgbRDM_Wf11&sZcm#_I#dA- zQbtQBbjej}1>QxP8r6SX=@(;J`sKa=;tnt*mI;I^V=yQ2*nu&<2}tsd!7Df(Htc#C zQBd=50#0vUP_5KEAkHg>t-#(zqlUi1RLlYl5Cj5o6>k~lwe5eSrgHkwemG+`a5z7e zYuBO6m}ILh2cpzuY2gmCKd>Xgd_vET4rNH5War{w>j(Za> z6PbLwj|-7A_tnZ|v0F9lA4o(nc<$=py8yRWX!@UqiRiJeJE}r4>1~o-xqSB-{@(Z5 zhjSBi(H8kV{0x7&))5_DYN*~ZsKZDFdC&@?>bAz+r=Ee`qmmUPj9FySl^YQBN~m+4 zQ5J(x;o=Z#Dr)(T{G_C(d8RxDKrBzCF5WG*p!>nKfRnTIF^reM3cr%;d)0q`MtLL3 z!}XU}(EHUYs7IY@IEg%2*2GSLYyxBdYFT^%q(RdloJIp+6e7&Jy022S?R3Ji#K z;_rVeF5uqp;v0xyeSw>{xz$JmUGft-jUC;D(CmbXD)EC z$A1KNdg5RfJR-=j4Tf9yQDJig$I4Q%VZL}Wv;gnmeqQz3RR~d_WLO&bcLuEzx?q{5 zqdhPUNH{HE&T-Mm1!&H27_DxlqbavDQLc-qqGGkTD*VZ62$+r-R*iRipB=E6zM+2$ zG>=8@4xv>NH2|?^dg|oNhsF@znB&s;mX<=WX zl0%Gv1rnr2^)ipYM|f2y$F%{NTj`}6PQ9W|kBhOFwDflqTu5k#S(60G;O|OZnrUGJ z%jQ;K0cStsaFD7dHl`Z-I~}6`6<%qxQ@VlKLr7e#Z@fT@o;uYU<-$^%;9GwZ==~#~ zOq&TI0juYaX^|PmaNtX9Q7>{Zqhun3YUq@1J-|v>MMy0!F2D`2wdO8aoChocnFm&d ze)S87fmsgD{pO2R>#D1-S|N{1*Z-%vpK&bFrE--@|={;vVF zDLPRnUveHTpK;vbon7uN8|Qznf@KueI;fSgx=?aK>GZvJvG7LyPUhh{_-5QkoyMXZ z_f!ue>%8YQ6YoiuE=Zq0SBNEIrk`l=O5OWvYCP2cJUcoXy8|%VVD0XYP~LL`eT7ON znC4AU+hJ!Nek%{DpYX1@+fk-Nd_Vko}?;@bp?=FAk2{Yn{^%P3SPzfHe-+LC4kV2pevw`am|Bcc)oSfKBx+=vgv^rk4E6nkTBoZ>>spCvR2Z?!0B zhE^O#A`~7h5m}wdU)vR;$J2?ouX7sMg&IakT+iX#8cibpb{iGOnqk|I3y_r%Ff;{} zSt;?;4VP%-g4`oEJIG7lJdffOGh?3K4%!OSqq_<{3NlZ|V{1LUBa~(YdVEOGUEQ8Z z2=ZwA&S*9^RsFLav6@U K1_KEI00021ggb!% diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.4-compact.zip index 16bf319bdc6f6a15f9c96ff663f50ad245b2df69..80ec3e1aa9f6108a3f2162af14da739cace52424 100644 GIT binary patch delta 2488 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 Ch{-ho delta 2513 zcmV;?2`=`&6xS3OP)h>@KL7#%4gg(pa8#Qn9rB?G000Lykr-KjvFXEmrMFlE-|-ED zfXu&DCTrwg=!ng=pik`hOPFV<3RM2%xp+|IvKwx1ls`WK@iY7}7EPdTh#-o=42hH! zvk3kQs0~OlvFgKRIqXz?!l&`JB)0J6J<*#V8Heps)dyW1J+D(NHt*-M)wS~3rB+lI~S6K@cT>eA!QM*H}CM089Wwvh^^ zefL&PNpK8(7#K+D+1jARbPmEfDx8SvaO1T|=MSB?AywReDXLpyFrd+}Ap6HH2h;qBdC)DxY26kS40e zp<_qZ0%KQyP8b|3z%{#GbKG~TXwH5^0_vTfmUK#|uqb@XPZ{fu+-NG!y5_?Jc}dD6 zy33Wvq0}!uSADBjjz-TLM@y;Qe!w{I^>r6s0+w^*vYe1+2*pjEl)(DZPs_j4=nhGznq0lua(d(iidfBvR>*(EN^C`Yc6%f8h>}mDiJ#Ytuv7{dPZ*AY>~*4WH%(ra#L75P zVM)+`x)tyH_I&J_P__ z4AfLYWXwIR4c&t?H^+y5k1}+SM$QvBSQC+dfrNa`&R78u5%1{coVk0?<6Y$Z^;)aR z3A`~wBDJJ>8BpBI*%1ty!9w3MFko#An?p(M13dL+xWeC+x|&l{)pWKL(<79pMMQYk zxZX!yrri0VD^;kQ(V&5$!anR-9S&C*A8U4ksc&(vZ|PrOz1h@d<$ywkgeW>lv(hPl zz9+OWKs$JViL_adWO(?Ky!+dCKOS&0SX@TqVXy0@m9n5|1$$tEH3UIIvUq>WDZ>k} zX2}=RrDWhn=TT{-XLeV~rr~4mMF;A#_BDhaIS4BiR|LEv_A7tSG^}SeuQ}27_xK;^ zm4*L~q zEpW=xnz=mZK21s_KWGvxD_Rc;vslbv_GPf|Ma^DclLo$86hx-MiUT*##`28}D+uAz zG7JN?{pNap=8xEObAOpHrVb*}(pCg66**ZU9qWvMkl|;~?kG{{H+dCcdf#HVuDbdG zPD zLG*hTn;#J0p%sK<_Gm*l+eC_Qpk8{=-)g&Rrga(dkkpPec&fhO&eNf{g=8zE98vBoE!uEwfO0xN)t3Et`o)5m4LT=qC@_M2|ivclzym1d@#%c37l=HO) zh?dg3q_lSiknF+( zM-O;QJw+VicmimDBxuG`1**&su(70%1yW&b3GseSHeS}9j!oJ|@B`Oz7G06++5b=v zugbEpoGi#h5BWLtx8dM_HQo0vR&F{1lkPyFzQ`^E8D!=ynML>I2eukzQMs4kPb7z5o!h|09CD9Z`3&Ynsn0IZ0Aw1`%F74}8aem5%WaAz2zr;xTSH+i_p1T+D9zZ7EFnun;O_*vAk{2zvJ zQ24l_7v~VM^$le-;Ok3T0A77!0+#{2;=_ShA9jJv0~i+6r&fOh@qh-WiMCtBn#D6R zZ;mHtOcZiweQp#D|NmgE&o65&!vMw3qF-z8X}tn}hVW*e0>Yd`29QCmXd_(Bf(AEe zGW6ek3KssUBhk)ZRm=5J$ps#LdB|Rqm+4_tP!55#=#M9`I>tq0X~ld2w(CfIg>#3Z z92c=T@7;Kj#@gfx^M&zf?$mCJ1HFf5( ztG%Uv<}24O^c>#T`jEy_l*g*@w2(GI(Z+s%ycW9Yir(VG3sz=*ZdZZgc?t1Pb%au} zz_ha3Pm5fhqaI?r!6td>9fj+PD0a|Qgl79C#ud^FoVoua#t;BdO928u13v%)01g0M ba&T0eCLQvj2><{GHIwQIP6p`-00000Pyx+M diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.4-legacy.zip index 5d7e4898adf75ccc6a5c71158ac4afa2c9882e89..6ca1834a397c49de5e4d3254d80fcdabb712a3c7 100644 GIT binary patch delta 2286 zcmV@KL7#%4gh@^C|nXkx2?hm001qK7g~R{Dgw5sX$_<1pTj3$ zBf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZU&K`i)UZ*wvW9h5q=H&{J{{R&gLii>;?+GW zfTOdHRR@$SeMogqu z`iINjlZ5{uCRx0d!H1Qi2*=NYipcJ_&fk02v2NfajGZHuwswY&m2br6wXY9M@a~`Z z&gCb8?32gN?kOlPr$b2VY1C~I{@fE2C?qS(QPa)`9C{F$t9}C=*39&+Ai5cC06%}a zU!Xs+U+oH{vd*W9$vQdUUbW#tz!a(+>V^qV`BS`*k}IuGwiKX1Y@MlSx-X%>OpDh9 z5i18b^FQQ=8XP7Sca$3DZ(1v_k_mrN3JDLx0)#@ga<3Mf1J_BpERpj$Gki#3YxxP3 zyd|l&hhs(ZRJ*BbV^@vxv3W_44&pY%Eo(c-(`Gz|ba^FDgLEgIZ(yGVt6iT-NM~rx zx)6oVG&gldjqrw05#>M<6GHF@Y-i#xnY>IO#aR;Z97{dNb=R8}rsb}HSxkTG{Uh~+ zpXeopF)w<{v(Wg7;SGw9BFB5_9euV+fJ^0cuw=bxE+uPHLkPh_@mLO^_OG2eAP9j7YhO*y*&lH7fS$*_Q(fbWm%s*@_Jmz6p z-Db_EkeH?Ti`-Bkv@i81#DssJkTHhH$wyNZ7N`wGX}K4YM2H-(nJ{}rvg%Y{7dtdp zf~DyBm%Ut~+M|o&ioJ`nJO8==8o{;zTxVLa)x(WT$EpY`XpD>)6xz@uy>gj8zhw|& zG}sIA(7x+j>_*-2v>b12tfwHFB+3F;Ah0uO=)k_m$;s!d#x49C<=B5hF;Xt$OUK+A z>&GLztaVK58*uM8ucXKe+(rrjsi&sKK2yYUF`%BI1V9-iQ%D#sfM&53b2*Q+zwFh{ z(F7RrQI+TBQDYU0sYv9DOhu<}CPi7s|2a4due(1>+-7JMCi39(gB&1Jg%(|z85HM_ z!`k(+M-1{NxAk}*TtI(v5h0x*&XpjlN40OjQU_qSi4 zQ6&O-N+&!dVj5);!J>^JIEy%RnVq~{6iawr^OY!x&DF#FK6PiM+mA2{SV*#$ucFJQ z)Do$s2f?RO%-3>)eSDEMO5i|<2~JD-H^e_+Sy}q*sj(8j6{~-je!5v&(q_n+88z&U z_nJOC=_N1ZE?T$~C~*rSk6NP-Xu0oVJK4%`mi=)TY32k*R{^XTanrVJU~rG(?I6HN zaE*{bz8{zarIPwt5vs9Rer*EpxLAaUqT?9%A6d!%TppG?v=Q2D3i=g@8cM4EcByTx zsQ+|y;G0sDOt*hN4hq)jiZITTv5iOcf1~iNf0rUP`2Q&Q#k;Pz1o1%LHZF64#3Rsa z^z3s|iqO%ec3Mz&HDlJ}orvk-*>&+U4^Ay!=D^jhrjDc)*#shYlF;i+DAha}3sT?g zGuPIGd({^VQJQknHi&z`gPS^ely|xNQ;8+0q>G%TpIm=kbm-EBn6)yOu3_xuIYb0* zozP{dGcP(j_Fybjv!xQbOZP*lR>U?v(AJ?rkP&q27gBJSOC1oX3_GCiB$M?FmU6hI zPys^L(7I?GBC1O4(eMn$z$AjN>=Wfqm{|c#uu?jEgwhyRfT)e3D2B% zsjol??l*sz_e>uwQ!9pB%e%`pno=#0snK>tT*|scL421@IR;zB>i;Ab1B2I(pE!l( z>1hzN9PQIKn?gs`FouWj`L*qRW;@`LbN%zI!dsdtr0 z|HaeDLN+671OHFfV&sxN<Y zH4U}PIgrW3`-y1T{Ejk@|6f_<08mQ-0zU&k00ICG0DTxJToOXJt-=TZ04<{90Nd_Z@Bjb+ delta 2302 zcmV@KL7#%4gg(pa8&xq2=USg002Lc7g~R@>BD=aw^#$;@ePB3 z%)eD8Yvf+&h|RU2PweuGF4M;Ju>ceF@>{NWhr}4HVw(#UV(VHI`hwW0;2VERJuTv~G{Mvzk8{sXm%YKBx zfajc)8ql;AiF|+TNi30ydi!I%lZi5)EbJ5ny_paKk1|{s5weGVXf| zygb`*M3fJ_advh2Nt?H0Kk3S7mEh{z%Z)tv7bR)z%I$w}gOwkq`604C$);#yR|ic- z7aX1O{Gs1QmY&I)K|_Q^Yrbpr&by}R_iSd-S zO#OD?73C}+w`gQ%LH3Ga8$XnUkv+VXGXVDE#(vN&4!uC|b2$!GZ&oN3{R4AjD0c7EZ*xOMit|b9jINdmwE*`e*^g(5)HBm5HGCI>yz1F4~7i_(pUEeRd=Qj zwT#AhlV{tBlH2BeX*RLDnVTCqrd={_lcl;)E@pp0yh7@AN7-6c{Cb#(q5i0S=3kb=ti2by*-OVg?4Geu-2xQayca}%@Q1&k`(U5MY=Q2h*X~~gyU@K9y)A>12v)=O~McoU@0dIPiF<^rt~peny|F*jl0+kg8aF~?gdV% zlZO7s7q3=bQKdhaY99(fl5hSg=)3UED9wLCm5vI*crFP&FweG|EM=@Hbj9l_{jamX z?h!bJNesiQufg!=_EAp0#4FzPi*pr;;um*;)(l~*r!pW0XBt_M79G7#&Hb2$Fg=g@ z(y%10@kN^;pRiAD7t$VRE0O8mV1&^Wmh`KgnU0z8|E=tRsMKD|LZiq$B=u^*4-bEC z>v!{Zwtd%Tu20oHcL`G>L}Mu`hdqy<6HLVM792i;$SS2$HN0FP&a~;ZW}DAz8mmxp z)%8Yz(p4$i8h~?X!wt~AA2^xCYj~Wb*WaGc%^`fQ7rpYU>TMc=QQ%sVO@!*z7b%+v z$w;Z5;T_O6EzXpX@Q!fGB(>km|2uys&BLl?#Y=w=jrmHihxrwvJS?8kuZ}Zrn=^uQ zVkS_=Zc3;z;!?(EwQ*&qV+nYG_TC&PJtLGH`k>O^?i2)w3RrD40~c4S&U1Ioi)@yg zci^Vb_;}abuzKH#UwkV5aNVO%h_=|bqpkh=|MyP8)yQ_~_=MNg2{6{$t?++1kn}{( zU&)0$k&$;H7(ssbCro5wVnL9~kzhNX(4q;!dHi~&Dx+Gvw<>Hcz*3`nmMLjTYrF}I zuSxEH%PuE+D7oh4v<_4an8LfBxs7>C=?+5I-6k4Qxjw=A;gbH+V35K~mV?y;tWV&osGX(y@7#fD^)SixkMr zJO$W+V(O)s=l&t$9N)zhxRWk*d{;yBLwf6`+$HxRJ)h zuwp+o>Fpu>S(drqjWmB6a@{5v&yfN6BR_l5c{mt^1ifjM@SeE>7%$oTxh>^yLpe>% zwFgs3YgN-}_QYXgmvzzab1fKKmU)1f^zdMc8Oc^n6Mrtrp7{yzGZLlmgu18u*$_Ju zaIsSwRXMw@5La$<)B^3Nh+?WfHWe)=En38t4X+AgX~s{$*2aGiN1O^)iaGbn#SwYp z$=Z^}4rPPnUOZic(>B^fc=Hr3d~Rjna!VK`91Fx*9~h&xR!*~F+)P)8;mozweTF2i zym&d#{6z4L%m7+xeWm==(9J7=w2FNW##=|~@K_?40Fz=gmarR%<~UojJNqCLRkW^x z<*c4CFq=u zX(1`rpP+37XKyl4w+~Fy(f(KFs~=k_e4mmNq?_W%gNA=$bgYw+URih6s>e}y4I(sj z4HWOxI{%_JlQt43kBY)s@d=0Tzzrt$zyZzN9mpMzq#r&g;?pV8s_lIq61cm46qKTt~n0zU&k00ICG09|r$ YRQkyX@zMwY06&u>2~P$Z2><{904`H*Q2+n{ diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.5-compact.zip index b107e8e87c16af9dd0042fa112450a6a98aedad6..05ad53e69c77744e21c5e6378836c47b4018b6ef 100644 GIT binary patch delta 2474 zcmV;b303yU6sr^$P)h>@KL7#%4gh@^C|pD$TwHYt004547g~R{Dgw5sX$_<1pTj3$ zBf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZU&K`rFUh@idIo1?4@YinZh%~0^QzzBz^J-vOdEpc z@@1}ZF*b3`{9b?59(7!mxVni6)j-2HUSa66i{9it58m*8jpGZj$49Ay3;uZPs_n~> z!+jkES>8lnC!^9lqRPLO!Y*AYPQZ%PoDXh@+0C)BeOpee(zKiYmD>RcD%gDE9k6o_ zQ$LWe;X?L9f_6^&i{i(xL+#1ZanBMBuA+zjSnaH7FR_2{I5X|^RS-5HYHcK1 z4KC!YaZ>YoZh;=0V%w5iL)O|I-*I=-P4Ybx+ik*^g#g{tcEpT_*;?YbQTnK{SyOdUtuG%lz6`}jUQ~SM>YXQxC$f>;${0LG zJAr%4B|>m|FGf>H)+$Gyw`K607SPs(-y7aV7D5Ueit+QQheI%Mc16oz=t>W*oTzNR zm);Wi2A%lb7^mnZdPp-JuWT(GT?qy2n1i;{xBY*2gVfFT25jf4&RN9AASSsUwPst+ zz#j?BrPhE$)TV5ed8CQ}flI3+gc*rVj~uL*XTl)1Lva@{C73 zV!k#aPzBo`t^@c)evbBEIhVe>6MX91?#+1xD6!!wwWFEGvq&UJYo|sd!;RraC^1xq zon?Pn_1o6dH;XaT?Y&&oSfKF35(eo}SY=?ExqetFB)ZC{W)~?WgI)qyMsFA2^X|9p zboJ$qKEijJEO}9oGFKc>31Tsc0XL+2JV%}3$eUCJy)$v~T|QRrxSO9-pxh!iTgNIz zR_u+J_o@EiMIt{-{bI*>AFT|#O)X)lfeC-sy2ucBQ6rRiyOC4_W)d<0Co2b3@eF@1wy+3(Qt%6+rkWO(hLzC-tftaFQ8LmZpPIjW zX*dYUTsfT>`U~HzTVfIQHA8ysl49-!*XRR{0L?biSSin4+K_^#2y7Jlz%{t4Igi|W z0>ybgZci8y@mF34#iU*4`&b>MgNOQz%>=N{s~*AV9o@EWyIs1QPO^}vae#k&hn?Na z79N0R&p6PxcCR2cTVl*5_&l*P!jdJoa%09d^e1jTrvMnvO1X(RXTeA9bp1HC=|nnA zzMI%FCnLUB4AbhT$}EXnu?l)0ENQKnYe!zyT2a)v`uJ4=m^yFCK9yCA@KRg0%}}m6 z^>**2VlqZj@~2xSJ?*MOGCzMQ`lB)F4|S7;cBN*ibf9Bgn%t%}c_c_iP!> zqV6ZkHMgj4dwGg;IvpgiyV}`NmRhEtNkbc#bl$cx%!TcZQP@f#I6zG>h*b za9&_h%V49KcekFp)y}BWnCyaki2pLkLM~^8>`!UaLuoznwyR_)+Jg%xm6P+t5JTi)1>V1%3B)>}@ zdkM)9WUu?O!YKtCJR=Y7(@JIkY7F-GYxybU7(suWo465ANH;)icaj=ST_5Uh21Ws0YW zT5*fZ4#C?2hOWD+Jrc`_%c(^nC`c6yoiWZ)fEU3sJr1Qom&5q_XQ5aqp<^c__b$3xYj|M zcZeCT72#Vza{0Ib4FjAp8*DtJ4+pQi_?E`?uwf^NRe{N+x7&jee&(Zye$~9 z!r~$TcjO3}u&8>y;e6NR_|$jT_^0bv-ME&o4;HDM^u|SpsqZBkr_^#eYt1-)@BoGS zE(gXhh#nVThyJl( znFt(M5R!VtQd<9%#}7$ssIb^2jV$xurH0zU&k o00ICG0DTxJTtp&VTy+Tm0CF?{04e|g005Kw2}cIK2><{90D?rh9smFU delta 2496 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 delta 2495 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 J*$Dsu008l)+wA}V diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.6-legacy.zip index aec755ce10bb61f0ffecd97a9b5e7c14d4b54469..f41ef4c714957d282fef1bcdf15824d2f99b97a8 100644 GIT binary patch delta 2273 zcmV<72p;$S66+EdP)h>@KL7#%4gh@^C|vCd0$a5R006F$7g~R{Dgw5sX$_<1pTj3$ zBf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZU&K`;{jL#JTDLahXE8*O3u=f&X~0a~19N4&qB+_M2x*Io^8NXg)kO0Aznfn6AcsPcH+JJ1(ms3YJc&PTDS_uikK3iIFc=}8{ zv1Xnio?#_U@~7E&gP5Tp)KRtU3|9n&Ax)-voB11YDU2>1cuDOdu}Q_f`DZmkP>c#=cW^Av~_7)lz`V zo|hPTLen&rxS7{ElK1iG&i0%anT1dnEirU09~R=16mIRLkC;)PzfT*tpmx&EVMr@z z8MkX7O<|||VMZ@xqXU*iIw(t)K3;Cc#3Wj}XDMjZIIz*kTeqR@l!%qSH#8{9hk)nQ zU=DwO%K~6%Eh(8y{&jKiNMMQ>aguCi_)#VN7my(@(Cpzid%+K>D41l6ncS1u0n zuw@PBCk@-*7m30L7owG^?Mi$~q+4!FMN-#EeO!L%NLS@GP*Vv} z`h^3oDe2Lgg^ohSrsK!Ryn46VJZb!PxE4ngx}{jwpSPX zfZq{0sA5bmVGArNh+fHrVnPTjRiy7wvzejIX?9FmQ7oko|n8$N%jZS*aFJsk){JE=VwFx%qTxd!i&dRIa0kI1Z&KT-Vh4x#I+m#9{$@%;Rf3 z3TK;J-Y;SP9{S;UFbcfC#nFkHGzfoBxuYZb$%iy9-!DK68GFzLyvO4OmOKmxTn3$e zG`55p{{C?o>Q;uew|^t&S8xOlY^cWld|aR+52YxUo@o6gs1NxL95kqgIp43z64tL{ zH|Ael!MYL^O|apnEY}v}+17#a)1_T(`<#R;OBFzPlNp{^g0V;-x1@MA*VTXXl&I9! zq(Tp%O?Km>UV|FFSc5H94*s2NkkQJ^+j9Rwvu<(RxrvETMSSl8pBMprj??5(WVy80 zznj*|T=zvFFUoz=x^l@8O!xwkQpU%v-F`X07!%XR3ID)i8`K9jZ z=f&$)+#AfqNCGcwN9+~g7h$o7T;7{GJ${%5q|MaDU_HriBH15T=lA8hQFrD+b^}{^ zR@iyX5e+zd>tr@RIyS3YF zrf{_i6PDe~drnJM=+eHM#*qQttdmNCLgQAW$Kt`8Lr9$W+6N^&-0n&0M`!siYa86W z0*dPMDhrr%1ea0!>92o653fzMVa-0=AownZ$}z;=KB0k7$YE5I(SDTVfzaHCD>Z(3 zGa2LeRA0_D#gzv)+8WJIHYTw8f>te^)4YQ+;9rg9ez0wGHy~y?Tdf740Y=2b9{t~ z(9dg}E>)^m5tAM_Zt$vT;{Aa$f>Wb}TdWUkoiSX>Q2)#?yF*BrQ26A(W5Lns z3!8``I%$7STWXY@=2kK3}Ot(iU<77lDxjAm-{4TwkrbY0A(MTL9n zeC!YHyb$AWaK7ge7+BgK!5s02j4PH@ol?}R_U<jvgS5Jj0zCT!Wf v{LCl+F80U(P)h*9>l delta 2291 zcmV@KL7#%4gg(pa8%bcqrk@q006*|7g~R@>BD=aw^#$;@ePB3 z%)eD8Yvf+&h|RU2PweuGF4M;Ju>ceF@>{NWht0wk+h{b1YsXu9?qWB`-u`1P!ItW|w^df(jfIKok3GR9n zfO5`K8Er9=sMvo`(_cq=dP?ax?HWTtjVFj4n0y-rKjeLA=%Ng8~_C@w}gvlh=}-M&1uqrZKB6Wc}(GrmSa`72`9k8xFCu=9yTtbfeZl>AeC^%e#X|wnNZze%OJv@_X z#3^AAJbr(Mj4ncyKpe?9VataDO|foiDDl)agTc$Q{nU~rss42q4h^nr5eCI2yPG+7 zx_|%8eKj>Lzn_QN8yT_s-k~It4l#}KbrER4gFLHk`aZeqEH2IBn$)1U>Xg?!Sp|V3 z65f$yj!LF?q5!x;>D_lLPx`qYjIo?W1CneKArybS$QDw-&+lSVpZ%x1+~*g z1y~X=*(bQhu}if23!DtO+-v_+!wVc*9CnMo^KWyLJ4IoXl%wJuarbAMp90Ga-m+~5 z5X@-?9vP?%fly9J<~oo!{!*$EqeM?M!54pHaA(iTlSi}yi^!G+cRAw)i9DOHSi5_o zxiAEOGkrRasdhjZw-!nc@&dzEGGZhiA~}43JY!?+x{{f>jQ?Vb$*YUP;^X4p6ARj zXz?6Ts*eQlEE=l-&k!s#x$NaSb&|T{9SUx!^2PkzdOzlRpBxYeb}k7dU+wU+YyC>9 zqflv&m2!KTr+|7Gp~?rg!IcJFYbAfK+NZu_;=MVa%B4U^h?6sj#?6yYZ{W5A=6}dy z=#PO^R1a?zS~GjEJu_ODxK`vBm6YHz-*Z=Az^cIZ`he6n6QN+A2~GwT)mt+kyHzZ- z$TKv9R;G&&@P!~4$t3DA^v|>K62F=FQiOYKZ8d7JQ)W?ri>WevOYH_R`1%nnwH2)Ud0@`lVT2b9hN6~!Q%wiKbK$>dL3CUcBsmEY(42 z##AHGls_+$+EOtm0*RY1+BJTkC@^zBMUi_}%PBpwg`=vNOPSRzKRrO4`nTzH5*u~$ zVReC2bdrQeZgV3N{3jEz!cn2@=jm;ebZ)*LqvzK1TGA@m{t4dja72H@^cZ8l4P5&I zO6}M(hR{fJt6R{w$voAh0Vi3&Ti#UQX*M$=lQFrX;0hgEgYGSUiKnpaxQVGD= zd+(8R&+=qpMvMM<$}adCCO(Bp*dVA8XpmQEmX6M>AJj>t9UjRQKLAisG60Kp!4mVG z2LmQJk8kz8I_BGZ6Mu3Ewx2!?C8joTR7B;ls0zcqgpx&Unc#ROwf!m(ac z`GiCZS>V_vQM^iVdw0u&fpsOHl42#@S|Q{+21*)*x%NTW^}HFF9QTm!po*Gv0p1Tp z{LqT^OPtZavrD@8)--R_{gE7 z*_dO-+WC&X;}d^23kLikyq})cvUnL{7~xv@WXZrnR~`^DS||i=;4t#+5P5xu1X#b* zv|u6nQ;Nt0zPX)@*{R`eBb6mQnZoBpV{Oq541G~g1rChvLeYf?lllbiU`*%lm;2LM z8xx!NZ3J2QkDtDmPVtayVMUr-FU(^yv>X0(Hm#AH$ESa1`tqUrt5>_VFcP@sS0iyU zo{gDN=Ipdeo#GlbTFWQy6}`IJg@XOftN+fmC)MSP?^53;SeoWtKLk?Fqq5kWDHsaha&^FR53eKvXI7pJ^3yP4C4j(Cm(9 z8YQ`xJ%oRfziTmZ{RigWf*#?A9uu9*B9%1|^q`keuviBZy89L_(`>bK*_%Q)O?NXE z2h~ExjjKEai7y(k43C)vyz^)s(_dlPy9Cd^{ElYsI$lw@k(gst#WV?7U_|}Jr$44$ zE92wu+;HjdsNj|;w}I$tRvpRFgXc_KPB;!xQ=dq;s7b!D$2i29Au8mxLHhYF%kPRE zIl2Fz<(skgm>x6(d3l=R47|ppk^lODRkBb^0Rle*KL7#%4gg(pa8%bcqrk@q006*~ N770%V4+#JO0037HSGE8E diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.7-compact.zip index a1985066ec5d6e9cf51aa99be5fdd343d2b95109..cb132d6d7be88c3c7084c0edbfc435a72b2cce76 100644 GIT binary patch delta 2484 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 delta 2500 zcmV;#2|M<*6vPx8P)h>@KL7#%4gg(pa8w|OgDs8;007D~001hJ@d+)FNGX4@>BD=a zw^#$;@ePB3%)eD8Yvf+&h|RU2PweuGF4M;Ju>ceF@>{NWhtgHgYeZ^;NsXu9?qWB`-u`1P!ItW|w=alBV zv#U1r-@GyTru>(ck+E2e`rm(*%vZBIzNpcTVF+?Y!O#4l5=^5@R5kQZgp@i*y|hT_ zgZ+6@VKbWwB6nE%EZNy5@zv^zM~t}r(Xov^=!!kb8s3*Y05PGdXW?07Me;&I8ec;k zL}{du+gM_|LzU!KUM-Xbf0c`t@{bsoc%cP$^JP8?>Afo}?1{Ks;g^4XH&_2~RGkB2 z!EJwxkXhKJN14z+Yqbi6t@jgaI1;Y#F%_HWM2!G5gEgkcAc?&)M<)j6rX}2GkhI{> z`2^e`cIwLjgE%TKB$0oC;0Hki>>4{htn-Us}0L4~*=&~y) z3^+PNu>@>GQ0ITEf14c~=tul}QehklFn_ZvZbHtYbBg%lSH4H=q%>=$eixf!4A)sa z5wfNJFBGWXGFds8XdyW)7^dbOkzpM+RpiVMX_1o*x%g)5IP^5&yO7Hjxg$JgwmG5X zOkJR+AOL<8{UWK%Ga9-{dmC7-SP~p*FZDL(JZfLLQr3SVhaRNT<|=1v9|2}%RA04? z%n@^nG{SW|WTOPOPd|YgWWr>U{V0reGYc>c52uB6wdo`GvSq zMFk&lsI;1SBVE+k6`xBE%45Fdc{VMNF>*0Yv3#KP!08m^M2@xF0tU3s;(X`kGmSL` zZf5m^EUtg5%beev_0MgXcKN1!_9zVEOUl@~%-Xp?DtlGO*pt%7w^#D!v{=*?8sf~8 z3$``6Dys$_R*n7&59`;E|D?GLEGB8A_upy)%igB>jDyv+%tz-ihRq!{@hmbBF}2gA zKn~QW7=xxIxz%P4&Y~ubfvCW-^$*QmjEy2;I{<$ScFq)csZ|Eq33C~ao?UHy$)hIu zg|u<&0DB+KT&O*})YvIV7R8p{ya4~Z1X=P~*x0Wrzs4n=^|c`nIyj_J43}h{@5TEN z#On3S@vRY$s)Yp_wT6~u*140#Uj7b;u(|Z3CDm_@ne$TbaeC$A&;w7{XD1&CA<0D~ z$?bnWYiAwk$4`fqy?f~*74By$3bzomtEuY~QTG=YNr1IyM-0CAoHt|Ip1)+QSGbL- z-1lF0(*#KNogyJ-qfR5phHI>6(_@IlKRk`K-`PSfVP*wZoA7mDo|g%trK|q5F(sWz z5_#)ADz~_fh2=20soyM^CJyPUSk|^18uWjS#bbKB0QOAMrpi&5!Fp1<{aWbQ8UVW@ zJx$#}68R%e#R~z05(v;IC@F~mH|x1ae1x(BmvOnB`5u;mL0>Y8%px8Yl7m?;A@|Jg zGcLm`JPs01<`|2IoJDetb3eAFGsfFRi!O;W5b(~4-_z2YP%zv5C5?XOk06%sA#;Dt z{`Og1+dfq_P4D>G_(PUwTwmf9^0?Q{?};L#`GxTb;DN>!7&S^IfO$$%|%sWo51{C=j+lznydkjaGUv$>WvIOCM4$8*WA7LCVvDLbXfrixG z)vc$ZeLMz9hV6_}07R$kZj!L&WBOQstGY7U-$JR9Eh#q>aaZ-CBKEJLQYX4JMu;w6 z9x+)6A77j{SN*8HJ6e?QJs*Ye=eG;aOT6$*5|@%UW2rFky*k99x0)CBTz`K~%hH;q zmO>dFn+R0>)80IfH!_*|@b9?%KLBR- zobWK0oQ6Q|1FL$x8j{QPFZ+KMP|VL#xwfey`3Nh)N?H6{1ztunPhsEJ?r zv3z$bTw-#dGvo}&N2>+s&lpt0)VOWBLa|_7H`9wsYD|jLLji^|Xh=tkyYDe#sYVfx z#AZ{+y(ads?Pko4)IXOUc3V~@hyU$RZ5eh#aH6=_HV%?+c zMBkyEco3dv5)AvqNa$k=k$ziCAN2l`%VA-naHVmhxIdSV|0`{TkJI>5f!+E(Ig}w< za-Y3EuO5bF05_#l&=Nh z<}f OlivwX2G$7x0000+M9&le diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.7-legacy.zip index cbac8d25e3147845c68bed2866dcfcf5bcd687a5..31835750ec18f5b0114b696bd39b72986bdaecd8 100644 GIT binary patch delta 2288 zcmV@KL7#%4gi1{C|o*z?DoP4008hWkr-KjwJHL(sA&zO=AXkS zU?aK`3^>4cMm?W2o@13dpf1%*4I13^MuV|f##9H6S}!-pd8RTXeQpMkpX02}er`c2 zXGyju<&X#~S?mUnlEk^{0dbi^y4R5rdV&9VuyV5v zUBHwO>_|g5wXSfXu<_mMrr=|O4#f0Y;#JXvwsJq!3vo5Xx+-A<;2fU-p}4OF7O2ssz} zo6h}0w#){_|5+GYgZvy=}`=nI+|3PFv_uHcQA)}4HD^Kj`K)RS z3i>OA-Bh!il9VT*Pa_WxjKkiTeBv9%MH4b&G1F<@GlqI(SIiBuoF{XFwSBB+-nB=2 z?5PL?ieWK-UZ$}&zY7Z&KnFLzw8FS6AIlYQC`;iXr(?IHkCAgJnl&t4{sqzg1oo{P z@$0zfk(CS4VEUnmw2(?Qia$mBP;Fdf_?VRpETOLciBsO-^Vpj&9r@XPs z9Xa$ri1^_3`NrGOkDW_n3TpeyyQREk{9e5_AV%z(0IsGjDVWNgcQy}Zw=4`!Hzd=B z>KF=tpE+{2(~~rER8(84SJN)$OdsC^g_mS`EZuSYP8%7BTz zXSqQ}emdi`*iu)>I4gB(X`>wnuZlB5BC~^#J!&|hr|38BFUxR7{rII-RYWQ1;BRPu zpT~s&bRlfyQ!If>*;jHE3d?Ho*~O84)%gHT*CxL^CMdJ<*pfAp@|!QiC7_i0*Zaf4 zGAaHac0%bY=A{x>^fhM{_aYm9+rDr!fmn`8Hu&+AZ`|m^Y|V+?6Qxo;G{+E{mKH*A zfE+>1v^UOfW|miZl5c3I;zJfe8`uDU?l#(E2i54haLDfa>n%8Kn^bR^mFqYcr+Y<$&IlgzD|)AH=FGydIiuA$}@*{>ASgE{a7(> zc`=qij}-X0<_1(R_Aqo}f1ys-of~tP&I@4-DG3P#Z2%g&Ka7#ZulRd?e0<4XR_-NY z%BZ_|U~KpVx8egfc978=W%GT1iVDS0-Fhevlg)R%H0otHR}06+hAbp z+nGYuR?4r2%`{eJ{4_nfS6#7u&E#Ij!?pWo?Lap_XZ*}idkBeM1iC#)WTNWNyK6fX z?T)Rq2(@O#PUp3|sCPV>A_ipaT88RZC|d9LO~9Qy0GKaiFevK99pW0}g^}A;ERYA% ziSPfz3sRq&MaGX82PJKPU&Y2t;hqlDaQ)~BK`n@%_z%+ZJz=Au*^MOaqL0o+^tq`s zRC?2mJ6;x!0tOm+*MDUKWH#sEvSUd*@ZgN-lH7fK)GIHkqh0p%{IH`v0BGc$oym3; zeAs3?P;%H%u}V3o>9b~&>vr`cO-%H{cx2&9_q@xD@1KQYZUBUTU*e6oNRbRkRj$v- zGcK#qFgRMfQQ}7(r9&<$nl1Ballv38exG9-79Z*Rx;9#{jF&XMTKKU#Qy>d2gDZc zV2a;;!?nx*2pZl3+jql;Os4wV$9PoFk=IstTb`$fP)}xV@ZJPm9nyU?6s1ICK$ZKB z7`Qq}(f$R^8bIb1pUHU!dx7DXZ0S0K&dcuLRx%Vn>+{inN^-qo;vJ}N5dBwsR`PKQ z*^m~~iLzsA@*s53NJyJ*ZynsHgcV?mZZ2T&ooHwx2VTyJ+v)CxieQb^c_#g!j6`?9cZu-P6LapL73`EFCTG*n z&75X|W?lg1_G1{1w7?@f?*$A8yW+J}|M zki1$OJpcDsV#?gJwITo@zlI#8)(AfN%s{(3E%`LZ0(>4+taGY2MVADBI5^}BUn~47 zJ0uDRtx#eBkPsxXxw$>fQE^Iy|IR1giHJS=#I(Ic5x)d|Ma4(V1fvOC_M(~j+X^XH z(f|Pzj~qG;5y@jK@oAQlWdF4Nda_VU0Rle*KL7#%4gi1{C|o*z?DoP4008hWlQaoV K1_}uP0001F@nzcp delta 2304 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 delta 2500 zcmV;#2|M<(6vPx8P)h>@KL7#%4gg(pa8!~6S}%?X007D~001hJ?+GoDNGX4@>BD=a zw^#$;@ePB3%)eD8Yvf+&h|RU2PweuGF4M;Ju>ceF@>{NWht~eRh>9E;7(VHI`hwW0;2VERJuTv~G@8`1B zwes2I1wCi_w|B#8^6%j~o_&8&Jj&umu^yvv@VL`gO!@$T2_MZ$(yhAbj8}tVP?rL5 z`d(g>XjOayF$ZiIRh#BRq(x+xQ+th&~LMQ(p+zmmIcUX2HIJDomGi2tm< z2?RQ=iDT)bW_vZRSc-5c=u_(JJ_6iO%-ajMeJW~s{xE5OLiS{_FqMA;ayU*}*(PnO zgW%#7af+}d^@!g!0AgkwRkZSXDYSm-bq};*F4>3)14AFrLMmzgi+&14TTSJqL#H1U zE~k?IHbc*ER#^#|k&en73Drni05St8!dM*9}wVfE?E9MYLz zOFX+Z#&c%wZ?$0(`p9Kvy61SN+Q~)%NUj`h35C9T#2j=Q$LHAMhv~PDo2`iAtokLv zmQr~d>|0 z1(M>#lrrv39*@U4mB-<(Ziu&>D-J&O4K3^#iOkSYh?`-PO(f8SbgxUVH=keifSrCT=x#$Y|BMxS-Csla*KlO@p=Gp1KIgoJ>(bPdf@g<$zZ9 zR1wruBbk5AM?jmal$4z{SoDQJ7Lgf_dY|8wG0N)=x=QcWcxe3#B6pMgR`@>;vC9eH z7rhRv-h>{y#%$yQRXJKRXVC9A1RA5k`#GT`c-`Y!?_jIbh3L&ecXW70yJEOem@s~N$ ztZWd`VBBLXp7w@%_uRo(BDCeBl-=dqax}iDAteWNkdF<_3?#fyd6y;Uoxa&?AIX*r z0k(g0e-I(h*C1bIk1=Y})GIsbXRuR9iZQ+UP*`pV6sV=zc$v!^VYDoAm=!Dh3Yef2 z1Fju)+9@?LB*d)YG?LA2_)JnIg3WhYcG3?Z1s0zMfqbrlSVSqt-X@<4;RxJuIyyF* z?D>z`shTE`aiMRMac-R^H?UXD5Dy1xNZo$|usMwLO?(k67U~Nes#Dt6ADMrD9Au8V zU-BFO;#u!1rb3(N8eJm5(4dw^WUB4ifYL7N7>DrQv3Wix5$BML?x}w$A(DBebyxI8 z-D4Jc@|L$%Y}?!dju?5l%)?{gv|luMACD!sKaBR-U<*(T6qrXecPGdPIMHMqPd9&0 z2D@lCUkGndI}_deChE;g(vYYdMNggn(N@|)Vn#ds+|L&&D$TxhSjbmju242{>SzaD zRbbrDIZzieY}&d%5rqVZ%v$4fcbgMhdgW zlcO8cd-sIc z)Dh>Xy1@aVKs`4Dswq-ioj`#dL%{oTYttQG82$u8U5)srV2H68QB)xR zP^bP8`iKM?(cXW$PKssNggBRi8wBor9V&uSg%fL-_g zLy3Z$I3K|bYu~b&#Z=@};SBPDfDJV6jPR?r1ln$2p*kpb{Mwjne~T9iWEus3Tp?_| z+Nb%B-<1#U%u~?i9XtXnSc`vB3XTK5Y-8Z}<>_6UN7!bSMENI_7qIG+N*r^3dazWrw+GQy zdXr_3Yn~slyKa8GAH1z~zHN|wixeGEWq@+ zn?iwVcrBu=D?vfP2s8JaQTIlaB99%ug$W!-n#AMzO4c^m7Hc4Ky(+zG3{v23EVgE1 zo+uInCuVq|Y8^}+PSN-9hS$|qybK&J(lQXs4e=5# zix8j2fg)e)M(d2Zel~x1r1Bf_Q}{duGs(EULHT)!X=Dbjm&n2SPGl^iIW2sxA$Vo% z#_Yo^E)wzd^yw1ADb)wVUnezj`lM@2*@d%^Jb$OHO%cvxj92E)$e-BNx;-H^v&jX9 z9YeA$QvN^~yYNEAT>)+NUvj#41YjsL7!>BIQu7-}!M zo$Q|Pb=nDMqc$ZdHboOLiCK3$;N{YnZ!+{AMz4xQl zIk%IO1=fEUgnEB(wl<=2-X{B+Vq%6C9Dy2LYd+;c!v$fNr~ z8|oR+6^5S-jF7rNDcZmUvn<}f OlidkV2G$7x0002z-^bzr diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.8-legacy.zip index 39ea9569c831ea3477fada956a9626732ebf0d21..be5527a49378286600f315e7b6429fcf787eedca 100644 GIT binary patch delta 2286 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 delta 2303 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 delta 2314 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 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.0-compact.zip index dc116f727fbd8e75c1ae37a0da2e66d15b54cf78..0554524aee6f1ab3ce9190009d634584fc3c2365 100644 GIT binary patch delta 2543 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 LPX-4H00000O?vAd delta 2553 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 E02yz%>;M1& delta 2508 zcmV;-2{ZP>6wDMGP)h>@KL7#%4gg?sa8%0r?;4f~000v<001hJ{|POTNGX4@>BD=a zw^#$;@ePB3%)eD8Yvf+&h|RU2PweuGF4M;Ju>ceF@>{FlYv6=IcUjd^(zSQT=AS(74C_W|wfGzMoJAwk>2Zb;S8=<&v;1sNr1uDq zg5w{{DOV+=Q=S#7>pO})H<=i42x?Ee%+|3~X|^H|xR{86kl{H#;UIsss>W25mJwis zM3AK>&lY`AOtRE>1-Lf&<`Ne#+}Op&Hep9RT$@};v-3OD%}D|Whg{@>$kKjXF->Bp z^~4HRcU@owU4qx15 zyZoE?9NQ)vG~+4)3~zscZKN%^pTTX_8ELMg?lR!5ao?Dy?l}U+RF<~Z^F>w z@H+PQEXTzD5>(Klxi{=DmF0nLuC4UFRF(WFoR?+S62B9M6f=7hf}<`aQGXqLuT~o0 zL|M>an?`#(z$P~J>2c5+M4dFjuXhi-Eq(PGH)#F$`n*o&N!FZPos?3!ov!~uYGM6o zHWbMdnBRYRHQ})Dd9OyR%~itVD8r=l1s?yy4qQSpnJPN$z0XYq*wWdJ{iJVo zD_IIwpKH+uF2K0{#?SQf-2IUQ&4?d9IR^KcIY^%O)eEx0!Pbai^rmyPZ%3>boXVPn&;5SDFeLmJs}&!iOx2q(??JrFBA*MV7Ay zC{YC*y@+#gAAX)EVE12yS{hI&-6Efq`mVAzcMCj(-gu994hq zB9ZI^Q=?HYJz(}7#{@;lzMCMEOZnHLqZ3cJij)?;NQ4Fy=E%H=xLg8aD2dU*;UN!k zU=PY>XvyuB&UmvpWhx1R>i|!3^X9rkN8aD|@1??i3=(8QZ`7amIUWVolpVX2_gv)( zeoB!kZ7t(EweO^|YnHH-=Oz1BeF}frS5TQ=;jtq$Ew4S)9a=n>yOS5b*rl^&r|_wR zInp+tCLDxfSUlM=CnU3u0iLMK$SPgI&el21>kzz1~T(lS@Pdwk0pC9Tj zwUI|$e^~-A9k9Q zC{xR4Yt}vGiSc)52Y8D#Y?N@{2iK8>6GJE2gQ{NTT#=MM+az7WWHiAbob8do1DD5v zVWiv#q{|RabYxk`K~*J#h_H2Z{?u960cLc?uMQN6HyONtPxLPdw84LGyV-jsvC5@~ zwd^cc20vQ?7Np<5Yg|0q&?rhY{o%$taw?HsNbrQI|6uk$J zQC@JMv4~MI$mbRw<<>9GfI&i3*w-wWB&4~%jr-P0_|W3GNDW+$Pm*Xx&Iz!iR``rP z_%*Eb;Jo5bdRo>)-cdG*Cvii8e`N}c`)FGKiGx3bMp=(?y z3Q-K7g~~gA$nCc)g!r!1K}PMoq?wsfS44K`#GM9Mp|aTT{U=R=6H$5X#goRIZEng? z3N`T|087U1;8Zu;8R&QDyRbN6z!rRo=6n@HAH@<7F<%ID8mWJ#RTu2-d;?nM^hwRd zVCVu2KQJ?E?nDo;5qVP^5RJ7Wl)sY{P*{&34)2`NRhLB;WBUgtnBAh#T=80(=|#IE zUm&YE5z9qbtX!65fvvyZgeJ)zCD){Zg9ncC!;{IgxnDU?hudV9IR2GoYWJaRbR;!j zY?O`PdC}a0e&2uSI={iqXEipq>&=gDBBM9a4MqLPEo?2NyRGFG<{SlkEvl2Hpt(0001_0?MfX diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.11-compact.zip index 45281b19fa5276dbdaef6e6b51cf414c0678bd61..dbf07f397147e8179944a408d2ac92a94528d990 100644 GIT binary patch delta 2496 zcmV;x2|xDF6u=Z4P)h>@KL7#%4gi1{C|pfO@Xv|~0006u001hJ3<@ogNGX4{Dgw5s zX$_<1pTj3$Bf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZU&K` z$_I}uA_G|ue)9Uy;}L@NSd1EykQNzIx=6TiM@+AAwj`=o|+cCUm z80!jTP+B3c*<=-DYtVLAh%%CN_K~B!GXN5GV}5v=Q2F|w+cHU7^6jQ3io#8zU&7?k zFbhKA7@v&?TKWfMo2OXf-MF|S-7bMQ+E%3RSL7fyEG(~k5FckvNuYn@i&;sGNG$;v zD$9tIgzSl45mst9>pw<_U7hoEYBpb6e~(EKJW(YqC_N|V^nCCS zET0PX?V1{asHd*vRA?QaO!z>NDwRtpM6Xd|s4+&v5sfO%`x0Z3gil{lmx z)nT1iQ#OHT@PU6n>$utzW(zYu7=mW5|M~i6!ng(QJ}qjIG{Xl}cc;L|pHie^l=8p_ zo4y~RRTJqWA7K%m6V7d1Rul_*&;)bj<)E(GMixrQK?hWSI!4DWKiGt313M}LPZ{8g zX0l*R2E-%Kb&@xB>3C7~aV~J{r*RT%crM#+F_M7~b-e^i3!0=sPR}k2`gdiKM+Swwm5RhDw}LyH#t+dMERZiyC)-%3ZR$FB7uI|+|M{qEOYZc zD+9_k039VnbVYJR^@uxq7Hf+?qx5AamDta;vaf%pZ?Zj5uH1qBvPjBTKy^h%7qx<${_&IHgl#^t03(}xD?!$_I|T&dy1gk7PT1uiz1`5#!woAk+ga3>EW4- zkHS}-*J|(L%=@SRLSBxV^+UUd6$xJKU^9io99XqyZ!kmnuYzG2iH$`SBf{CN4`Yl5 zXAV=hIIcB%fgRuCqw1(!uWW(@< ze*kl(OeXe7I9Lxg3Jn{yA)KzDEuL;1aHW5dt*H9&?PUgCQ)iRvmSD0U%pgz#_ey+=CcP$% zxr$(5Y5NoD0{IMIrkJi3?=?-I@;7fY5%AsAcx7gIkcnHkE;}EHHzr+H(^>{NgPK)=Ogb%a(!qZgR|2j@ zDywI~JRp_Ym>P!RnmX5Zc%eQ+iM6a`BvQPU4RK5TX*Ur)wYmgTVJ{IT|@jcM$HOkGNH0o;kO0m%o?; zX^pqD6M=vcHVtqFd9_cv5>kKpB$j_1bc6o=X@fRbKzG~DUfp5LlECe%Ideujyrnjr zCRN#_BeRug4(R%}8V8Kwy_E?aGSor@{tzqc6q>9YoJ5FiMFY>hsX?$MA)cYZS$|KA zPE(x+G=DrJAaH5pAsLXCjvZZqRRK3y0NfILzn5m4YUlWA?|u1j+wOn#4^*chimPI# z5$pDiCtK<_&8G}}t2QOs!Cp|eX{_1?PZ+|-Syt|d?SATsj8?t#o#wb&bQrY zs=9`Z)~kuK(ix*vor$DiVPK#JV%E7|zRU0FJZ1hj&;E^NCU@sW2V%NlIboegyBU$~NAB_K;uhFO0Ef3xWbk2POstj-)O z6{|JaYjJpUmqJ(*Q0|?o6@M=*kMl*`Coa@^J>551I37R}r-GN~#l(?ATlF+a0A)|& zDFGuB9k@TTF3WFlo;~3q7`fMDTB^67@|Lg=ko^f;^Y_#K9@j;ts|YMU&6Gl0YUVrf zuzd7a9*VSVFGGJI!y8CT2#IDn8bd1^!Xys+hfDWK5ptGe=HaO{Qb*Q(RBJ|Er0>gF z+Y>{IvIU7?xs{MHdy4a8GP<+3c^NulB zdf*}(uKT+Q>6tSG=(wx3X#ebQt{PBF0Rle*KL7#%4gd{+7${s#M)1#y2><{Bllloy K2GR)t0002Vkf|a7 delta 2511 zcmV;=2{87+6weeJP)h>@KL7#%4gg?sa8$TqzFnCK000v<001hJ{Ru6RNGX4@>BD=a zw^#$;@ePB3%)eD8Yvf+&h|RU2PweuGF4M;Ju>ceF@>{FlYv6=Ir=iIq-{ZXBGk$NkGf9jacCcY~&_Ee&5 zsW|KN9z-f;+lxS-f`LqWfpvcZF}yk)xl+l_e%JdfXLHyx zGEvG0@%(-9fcE`4-VwS860u#fTIw_mt7oeg61FV0yclzf6xQ0~~GK4$` zc5oSjxA|f0CDv1TN@aN{)t|Q=Vh#map1+?8@Dl&ajg3rJ*I~R{EdaG5xk90vdu<*C(X3pLVTONt8O$rd_S4Dw(?yg5#^5hp zrUU!9cn|u~7#ij_4G@}I+}zSLH_X{BWtq@XSfl#98jT8eU6$x zG0muXqbk_{DLD<%n=KBy0-2H+8gAr$Yu{EO)DOxZ zaV^7Izjh$f!1Bsre|oAfpx6B630VDr6HSBgF9TH%E|||(t)pMVB%`uc`WcGXkT_m$ zb1w}eamHMc%4!Kc5HDLOQXH`CTtS2>XqtUMCK~uJ39HAyqG|5^CkZllnwgZLxbG!K z_KAP-lLp*CaMHISM~I+@3S_Rea#Z$5#uGZgdF6Ig!5Mg#KbaqrA^g6yzXw`sY=y!~l{y3BpsR zhY?i+rAZ54mNPEqXT9+li37Imq~~*`lQw@q8zoPo)KT!k;%B8;{Wmt(-K2&A_kT@D zuY}~9ozA4+zv=f$h|M=}pL%RSav9YU_<06e)cXxD&l8w5H0$k@m@pt~tauyNw>J8D zqHa!=+p~ERb*~42a5RA71{-uZ5`bZj?SC)Tu zM1NhSWZRy+10o!S5t6s3>OdNcub+AaOIBq~>gOQr+I0d@@gtarzn&Z=(~ljluJhB~z}RUU2%JZ`8YD;^na#0F4do6spIMv| z5p%2Lji8VNU+>1w5^@&}0-fd7J#T-1#8<7%e8K5y^d?f{gReUT6p6-oaI}M?=9`T4 zKQ!UcDZE}(7Wu&%*nA4*m@e_g#%yd5oCaNhedP4SmA&8RA3GczN}>GmgO1XHpvxBA z#gdq(K<=E31c}S7#lJT#o6-F}_k?*+zB|CNfbwdz+Cksx$Y(&*kah@wHF$q#rZC1K zH-~6SA#llfB_>i6lT(fnwoKt^arFE`N zf3h#ZVFQaH6SvGkx%SzR4qmh6g7KrMAG8@le4pBt;qiupR_GeMDBCD8kElSI&Mc?B zb)%S2q7lgeztXz;!9YOG?NA0G)oXTTgd3`cV#QR89HW>sZxxL3Pa%KJny488n{4B2 zW-sBG=Yd?+EA9X}RXRR}ruwWVy`pMqDJb7wX=HHdWMu`l{DtW>X-`kS9|hYMIvDm* z*rho3Lw0@U(;?UHEH;E5K9?Wu-D1$+V3V3^tR$%k>9{$b_*IgQcYxLNZ}7=q!2)`i zf0ylEq4Q-3|=gx)HN zj*!-P!PKck!;=t`ARP@fLBL&#Qy-=UxolZD38*Cgwpqj)yaXv^g*(2&^!k6~I;8{>-L~Y7tGHIj zg%EdQt49FHu{-z1X8V+YSXAMO?sw#PomGvytPaw{>D|@HU}OfP=jncp=1}#1_(i$G z6DcP}@_F{n)o)kHdk>SYXH*OL52ceFHr(6|8TSP)%# zvB~S%eOD!so6|{aMYIR~qnM_SlYEG0^|``He2QLr|NIj_T=;Ryf$001a~$V&hK diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.12-compact.zip index 1c00b89c324a47677efebee285690391a6751de5..810e50848d5abcfad9da335e888131d7c2eabf48 100644 GIT binary patch delta 2489 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 Dd1bW5 delta 2510 zcmV;<2{HD;6wVYIP)h>@KL7#%4gg?sa8w(X9RrvN000v<001hJ{s}FSNGX4@>BD=a zw^#$;@ePB3%)eD8Yvf+&h|RU2PweuGF4M;Ju>ceF@>{FlYv6=I(>H{RQ9-Q3NX&XKKX$%dU;sLt^XqVCu zj1e$4%+u#vB_vVxXrX{JMvQ;h4UDYH!#vBIgX<$!dMGmu^X}U0=h9dsY<}NpQlNCK)!~YvjCa-AK%1$t)aBi2kbNIRvs-xZDcTyWDzdyAMPcP z7<7tWIBq{0?E=n^#NL&)Zy9B2n4;`1SXS5GOnTKYmt5^pHJ_f0`j$iX!_e|$ln>+)ZjJ(z1#DqsIvq7O2^svQ1VSL6NUt15#v z+QKvb{eHEbkZ*ri_5*@5HLrbSw;}xS zEEaSCAEe5(jUKHa4=&3AewAvGm7ZDt#`Ellt}9$|P;0P@5!``aDsx_N0;@~5@(_Lk zaDlMA4b3L_5gF52X9*1nYUGd-#&HEO>)F$<(7FaI$6q>uK|s{|0;%p1@lP07!0kM2 z;U^xMdHpaFT=suUHhrl&rNwE4sh3%qh*euN$5+K^7miGgQ+4w+Zv%K($C{>QdW7;H zte~)6&dcb7-&YoIaPT1XEAc&Sl{$z>3=>5>pDiFvs7=)5ywW+Z?$LnmVC4~biSW~W zCV3pJQj89wDdZ|J0Q7)?lEOWSn`074!C(Dm^`8t&q_lr9NyKpH(>!*2#~;r5WL2M3 zI_l&u-ewiF6P2hB6E*i3oW&c`me3FwIoz^Cs}MmjzS2kvq}i&QHX}_S9N!Jy3KnyG z_!|K_=6w#O&cG6)5lSm124KoaJLQ4X} z0dSSMEDP{sP9Z)467L;u(Y1NSkH1cZ4miDBPo`u4jd{^h9kbwLt>htxMs+EbDA#$y zBuK893hJmWlj(F$q6b|qLiDli#}$ClFIeo+jJkhLLQlf)gA%Fe7<)BiU;d#fq;t0F z(VNozP^oK_6!7lIG^&a*n~uNwJVVMITuP?>?pY=?cO?`P%&45I)#vi@;T&|E5!b=CXa5-5f1tovM#>@bmZ@V5XmepOZ>>>1qEElBO1=fRm z&jpbtK_A0wS-AYa;5Bl5-$v}QlfjAUDcXgU&;~%SP77>^JRIkb`v(}T+k9LQ89Q$v zPntg%SQ*WRe6`8h>d0=3$_;% z=!Tvx$x)3T@5petn!c9nwe-#O^fyrkht7y{fj#gK|L95Gdyw1AO>AnII8W*uJBQt!tJ``w=F_nA)-s{L`3A)slFq?j}H=KX74W2ld2 zWPXKH@H?o#BnjqEt8x`LWio&Id$1DwvMbz#a`r?AK^mKXddK(2sFdZ7?0dm@5nN8X zeDYJ^Cm$VvH~C7Cb?uzGq$7mib4(w`deD_AZRcuT*fk&JaFc2> zd>ra4pfb=nhGJzT!h&Je;!tv$FuCd~>&txhtqUwV{D#QU((UdImotAwwNI~nOM6Fm zzFu1^VfxOF3hoX99Nuu%hgbw>X=18mGYIEk`F*5wldx%?emw01<+VEHIeoo-O(H#F zVZo-1{M44}J&JW60S(=FzR}AH9i5PcSZtj1ot~S2VUzrjv*w0&MJWzY6#jn89dgu+k<}fl8$!Is!P?u{A z@Y}nGXr)vb{0traChE&ReVS~`!@?q*sVP;fFl^8Xz_|GX%ShS?N5cAPsmYS@J2@7^ zTlhJc^vV7jB?k4NG=2Sq+H|HpG5eMdVQl+>tDF=Qa*z4pPb+_aEig{3kY&p8XVRWI|Bbw>8W zQFj%xXaVe8pp4o7ZT?=4^qrB24S;8QQ0DutU^8W`I_CW<{90LMwrMF0Q* diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.2-compact.zip index 70ec202f2649f1674575fb71069c08ddcca05085..0853fc2c81a99baa4318a821d0de96cdf865c505 100644 GIT binary patch delta 2545 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 a7${swk6M1t2><|VlRXMg1{Mkc0001=7w2LC delta 2578 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 a7${t-C&4P#2><}0lSB$n1|A9k0000@$l)yj delta 2602 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 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.8-compact.zip index a12eec3cbfa841b329b51357f2ad0d4ff5d4b65c..ce952582c4ab5582adb82903a9130e63eca6434f 100644 GIT binary patch delta 2578 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 delta 2503 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 delta 2423 zcmV--35fRY6Mz&KP)h>@KL7#%4gg?sa8y`I*q%xW006s@7g~R@>BD=aw^#$;@ePB3 z%)eD8Yvf+&h|RU2PweuGF4M;Ju>ceF@>{FlYv*MR7tk;8=U1y``D2LMc)yKyorUbHiGlf0)tx zw%5z}-Ozs4W*L8XQuT)`i^FS)T};aaX_JM`X3chOD@>UMpbvkjc=$e(-(y9u1(V6F zSPRoMzF{c*cLR;M43b56*2zRhP^oiri76UNs6S%ELv#a;HKIgxmgWwHYcTOv`M^&M znU-76%ynaH%5QV5lFQ7&Fyehwt1TG`Z%z+NNd}{!Vw-<@aXuaRTAkSxVc8&48F`V* zc(4=HTY2ob8D$UqyqxugxYYw5V9T_y>q} z%biECqQl0|?2%*7PqisVvT)~g`e>cMX01K4;+Hs$zNd1Q!V^1p7)ifHk01L3cAG(6 z;KiPijv_N(D4;njyP!r)S&V_X6Q1 zWuj)Dd%ML+^VkH73+u&1H7EChCuteAjOCcJCqNbf=7qvz#uTGhVl7keHanSuEsWDY z;kG6ZNlD_=NW4Y<-xp>cVN_)&yD8A$!&B?KtG9pW+D-}L^B?btpPHHz<=Bi`h96_{ zP%X?pQjNI+j=*n+9IjPTTCTdh=3G;FD=2g@8J+S=k*m#=fF<75&?lOb8%HsunB%%3 zB@|zIfo33Hg!DC0W})csH7W!UT=?L-qC1z)C$$mMjLQ!y?c?D1QNSUW&;KW|TM+1F}^W6dxMUnU8JYf_sYjDYC?`GAsEN=AQ{N=gtKOyZ@XbB0&vs^W*H&Z%9X{RI5@ z%j-Eml^L191l}Tjmy@G(0RI;wHJTi-+vw`o3xgHr;G>_e44z-DCKpZ=L5V+O%{{*6 zO~s~iT*Qt`)k1j}b+nX0FB9w}J3w7LxyGICyC52M?zee?Ntl0d znwBj{IMRcqayE43O?rcH7$L0mCpLQ{D&SuK{~fz^Tt&?I*bJFcNalCPY?!nWc+Eqh zvam@AL8r-+PJLzRl+jN-M&gn@teNP5ubC3N2Dqd>jA>iQ3$|rb?m$TT@8Fe}BZiy1 zzG!Nrln8f^wus^$zWNLpz$qLyK_|!twRi2`6T9E&vB!0gy&e8qb)w#(K zF2FgY#8lLSZq|Fvp`uX4?nfP*^aYdf@rR-iJ5YPzH~)0aRE9-56G=kx?=2fhI!~IpffT(4770!@pUq7W{B^*FMqnVPc|UgDN-BO#-sU5i#_;mWf< zkreN}?N*%-qw>m9$7~e2t~VP`@JGXTGvX!_H{W{Nl>Gr%*+46m$L6gB>DGP^X8eMD zoCz*t@s^5PPR0SJLQaRDjDFllhN*GfinZW?{Y}q&=WQ%EIfAm}dIo>SK!Tl>B@EA*N?>giW|(1%3Xaly2BH-JMAr4#WMYMn!%_4=G^|!phgkPM z?-MKSz_H_3vE0tl{!VCHe40B@s};|7iOiLP(}fs)3sr+G#19W6fmqrY2& zREQ5HK4cA(LAkd-5E6eL!lHG{TDZWJX|kiNn{7I4 zu%bqgAYywP>6-#$ z>Z+PlovO{R98mg+eQbsyf4c-OtiD|;<pZ@(Yki z@yIVa(JAIg5rjLi&J6)SU*;0_6%W}(a-Tm@DvfEq_QjZ3`jqBkRt@>xk9r`K3~L*A z=DR`_zN|sSILLnl(2BUjx14+NRH@qqy*l9L>SGu1>@d~nd>E^C51~bC%?RFC$tqw79(;%I%z5_w z(82zRr9yu-0by&qv7*i!f>>y|+iw*J4Kul*0-ili=&uz0}8;qk} zVKZAg?1PhKjuIhElfR_)9tX6?g`Y#DFS;~e8;$`D1C!UWqqWA&{NvC{yiTMc9;1L9 zj%Yah{}+dpMh9O7b&-lm7wkioH~f%V^k}o_CUbvgPVNof6^0gl(SysDJqPt{d0Rle*KL7#%4gg?sa8y`I*q%xW006s_nF&t@k_i9+007#&uMGeI diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.1-compact.zip index 0483ff875d5796113e21f8d964df9e4b58f2574d..0412ade289b906ef257bb37c8d2677fc65cb4bee 100644 GIT binary patch delta 2409 zcmV-v36}Qy6Y>)mP)h>@KL7#%4gi4|C|m<^t%5uW0063y7g~R{Dgw5sX$_<1pTj3$ zBf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZU&K`7C7%2Ek>W>=v1ChzJXV4?{Pl_})of2-2<5 zkfI5r4~L}|3qC3KJqgL{ZmCljP7)2O7juf2#-xB3*=$sc!(#!F1+cvF*Jt9b>sH4K zDvaq{yL&x?*URG#PG)-=`BeP@tE=Gf6a85d1b7`~6qA34UmCinIpO9aXZkLEF;KOQ zgornm9-Jk@q=VNOWFGEL`+1iy%W6pG@=E!KdrDrYDXcou8oTvhQ(#gM0_*JLlCyQP z3VAXws#{uGDka}f=WQ>1$a)E`NnZ^Sx6bBSoZAN|Cjgi$-5a4j-ssyG~xBrg@~j22M$ z2moaBqgTFoRvOoV<95b_!4*gCfjD8WoJC%f0~^dQ1GTgl{u34dpPTy`pD+CY>OWoT2%B0u0nJFh4I=Mfd3kkNb9x#E07mH_h0INvbp)*pC#12Z*l8Mk5n9mhT;N< z>m!?(9|Tu3A`5u^fhoC11?eIma!xtPOt|Kkla-9DthONpTDI^`;BLyxE@X1(L-pu2 z1hDkz*?vJf6k7eSteJLLYx)sV7fcjX8kTJ6!AOZ~<-PGkZWZUwktdc$k#^ zl!E&+1eSyBYddJEeZXL`n=%xW)Js$GRppjeI?GdY3vhF|NC%qYnE0qbA01)f`hi1F z<{f%F_#WU+BdeX0Mq{92QukpgBrQ^gwG%1?15#eL4~JQtOt)2&{CBNgimvmFgaYwMFijIbxM#5_M9T{n4$$GM_C|8Iksn-E{h zbTZvCz*mMf>xaR9+3UP%uc6y0qZa0!(xzs)77Tp}6_x4o3`T@e%v*og+e+UB7902$ z7-+2khD@ZlsfIO2mCgd?eXNg~x$#+)defLV{GTmdKP#(d!Qtx0lCe%W3YfUl!4g#^ zZ}s6)^$y$x@2}Q(x8{PXTBO6jePT-3w1<@lX7Eg_Z_<6`c2t&t zlNB&>up_F<9_Dt;^i{AT1{^HCwn38Ud&>zL)Z?t?Ce%%Fix7J)i7tOUK=tx@=PD6* z?@8O%pJ6e8i$^%}((omTgnNkNovvbcjJ*0*8r^ATupt?HAEH>Mf1yIot!i`~s?I2O493z*ccalf;LPA_YC!2PE(`l-44v~T9F8Si!%?R>e*QmD!CSW)}!A5Gy-`dYvAAF?J5a3P5JB6gCz^pk0D^nL&6%J zzGxM{KI!;Pw~-m}>G@JeufG#HFwJtghLh)v?wRrUiQJ`iq+yfjkL^e#C?&Vg@!Tj< z6M7L~u7DPiD0-xMkv2Y|KrhW_`(Y2&v-H-52xR{VeCv#ibRm2H}Z;W9sRGsc3% zR_fGmFPM1p5YXkrS)CZ(rW+|hq}85NkDNxCUaiK^Bl9VmsM=&)mx5&r&dFxLgVJ`H zCi0u_-86bsLU9pl4!M7qLDnny#AbGegY!p|7C4~ zqAZhv$djEu$dW>@E+svbBX577prAK9&*0Z@0C^MgVd@N~+yFCw%zAgVT8CEqUp?Ny zcxE~PJX?z2@uuy5D4NY1w)fsjS>CO}+IeIAR@r6faF)-;I=A0JEDYQ<7T7H-zr37G z(&|2(2u3@jC&r9EsXt+4Fp35(nrPwwi(GyXheu00000c5kjt delta 2425 zcmV-<35NFa6Z#VyP)h>@KL7#%4gg_ta8wyHEU-ig006r(001hJuL&)YNGX4@>BD=a zw^#$;@ePB3%)eD8Yvf+&h|RU2PweuGF4M;Ju>ceF@>{FlYv*Mq9q@mE>=FigJ=Ziga6Q8twl(0w2%w>nX zZ9ld4wFFt}US@*bi3bovl%aqBV}Ilw4M2oz^Zf2F2y*G^7Kz>gueSZVVj=- z+uyd6CA;ThMLdpD(&ADtXV)Fc3!B;ZIqa(i(2RGyF>7TiiV{;wZ5#O&E$UF->ET-} zswy*jtDx#P2Yhn)iMQ^kK(60yk&<+;7v&9@j=UW<#1}jJVHa5Zza$L+Z3_8*H_0xay7c~ZXy!72*)_fC@ zN=9S}dQ_DDJgxbmFjD}Z8PNb!I~JO!zZ93ye1(=@FcA#bh|3+BG#M}Y8>-;We2F6uz}tj-VuD&}@4kU#VR)=b!1yzCpx1hGJ7%p~jO&vNV3*!99Om3;3!fR5m*3J$}0XYeZ_rzfzkT z3O}o?{nvFVHq7xIQt(8t7T#HV?Ic;s3Cfa!kwov}=gXXKp0&OkKReA#bImW0C9kvN z>hx{VtHoNUW%Bv*#Du<9nHRDrc%QIX`9{1<29ROkR%uff!zQ->V6bstc}#E{`;XZp z#}|J{ed&niEQ5N`1ydRNqcCb6(+A%T{e6#rZCp~ynX_8Gu-I4#7^K(p_`8w0TfLi;&FN3n32t# z?UI1=Ju%4`PvW%QfE>VOgbHtHVg(~Omo%6YUiP-4SaQ*sG&8~-U%;a^MVaFb`O1G@ zQey!)ZS**)=NaiuY2Hx5^_kK{mslkRP(B{h zN)Ray4Adz8d0B{;_EIN$&GH{SvcYx$cN}Z+;sxJGOSMeh4eWkL>4hxnV#z~Ew=B~$ zX)BdFCJEIX>?eGS>~}ZQDnj@lcpHReV^TZ)&htU5hKygDe|y$gLK6LrD8hevc>o~0 zK=xCAC-Tm@A1HZ-=5fz(^FqiJuPuktu^X4;OR;Ajjz&+mF8{I0bdXgwz#UtMBsA>U zn4T0{+93z?L(x`*?paoOHF;bh9t*(`+P>o=0zmYd3hY<01j!{mtIw(CH zLyVlVOp99%e)mC38-8sq_rm2kW&oWdq?a9b3FURMVLDmOzgAJy7gT?Tp#w)em}yNZ z6sDauzC@hjt)ZvAFC&TKSFv^!Cs>gcb$5tLEAN3C2dSJVy`(l60JI+9_EMzTikqWU zw)AEt$55D`%By0lKW%oD8z1!poLlNMr?r}me&HRVIQm`!h0C6}oOt|Z>P^lw7I;|2 zOW^OFGCo=}zjZpc(W`%XVP1b9${b01uK=0Ghq@lZJ)H*qrx1sX-}ynqMC4X-<0^e}Bl1 zO#2+svkCnIrJkgYW+n~g`xgBe=_1{ns}j4iNfgAW%1n|t-#LE)OPzU5MKALMK`E~% zR@C!?+RfS+|121@R*6YzU^(v0q216LEi)FS@A)(vsr$4&%6?W@z+JgN! z%(8>>HzzU!8zYVXb|vn0D9)_L6>9Y$ZY#n{fxLwcqXl`)tM{hmf%@n!3=T8wFs{7} zn=@)?py}cW30p>-`|is;gk^gP_K*AIAlX0m8nKwT?gFtn+F@~qAt7{~LSqUdfCoeW r=j>P-P)h*PX>$$000002>hNu diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.2-compact.zip index c9ab1197e5230b1d24f067019fa1a085237e223e..548a2520db903aabc5b6631285ee2e3e81b2ca13 100644 GIT binary patch delta 2408 zcmV-u377Wz6Y&!lP)h>@KL7#%4gi4|C|qNlf!I3<0063y7g~R{Dgw5sX$_<1pTj3$ zBf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZU&K`-zOt!n8_4v6z|~xg zD&i7xV-|u)F;IUZ_xQL)+uElcok=0EX!b-0l?4k**{M7$a+$r&SIwLhFbsjhRLdat znk|xUQJ4Z=+!MF>efQ75I)nheyPM9Sey0vuk;{3cer?;dumTOVi}j6n3`veyklCjF z3Rriip2BzoB_s8SJMPyC$n3_YV=SGEnlxUw&v*GLUrT>GuJf4>ssUX+nOFVXV9Q;# zA>Y>hR|zSwuz@Qlr`9jdFh#6O+_&VcN)I3|x9cxOk5;}lEuWyD8Si|08YQJ#FoMvG z!(Au+yibYLs@m}(yLwjs;*11^>? z6_Ner*RBHN74IP6tEwzHUK00~`1k9@zk(*_Tg+BTTbU0Ag7$vRrJA=SA=|+9jC3c} z%bPy`qTBq)B8;hB>HdZIAUv=PhWF7UW8MzG?cb}+WBCMSDd}W->g)A_Yf<~VtGnHQ zNP~a;nCCn-n?<0kqN%#q0h9B61JM?FLp$@HLb^2GxhYHN=zLyEwK!Jp zf28tp@7l;II?GV~KPQmrNadK2u9zy}0mJW2p3R&h-J9vn{BuI~pJR@A4nxTCS&Dxr zGid%2{T;FvXf)s(*7l$rFWDCn3>7jp1SrXZ!1SmRoCjBhL*J0<+33 ziK~_R2fl%r=Q#9>xLPPpg?P=^IR<}5LzS`N?Lm4H%RVzt-+F@p;IP^fUtp*=mawyr z$`j}ObN^#-)+ciXAzRB)8%?2jMaCb)!i>Wa<~Xc`MNX6kkpj$W@D1hUFg|IR^0vdK90L9mDD*HnMtXE!*@ zSan8J`)LiIYqs_Z$cMreR3#&>1aP0?9l<$xXxB4z-+`7HPQb>><94X5wOD`IPjdnP2Hqb7K7a3Y-kRB+?maq5h2v~II|Rh`IYUB_ z$A76sn6)lG>K}XlGu7h!R=Js#Vw~rW^_PR#hpLd)klJs_S{MfnU&!cnNu5d#|L$M`HBb0KK#yQc0f|mh-scczxc8_zyc>h$S^Y*!~1`vXLenzUybO> zb+j|@VNSjjS?n?9rjBVN9{l7S`!N=mqWQ>>9%h4>-_J(^6pHuW@x}$T`dvJ_R9Ba= z_p#_1=$Oa8!QdV&C2!kdSk%`Sh3UyWPfBSq1ATyvxQ0Qm1FC$3^D8?om_3UgKGq`E zZGz{^6tlg!l#JwrOk#iSUOi9aZ2)AAF%G9kk=r6muRY+N4yT*B)?7&nG0BaqUai5) zr|Y`(sRMjLmG^X|5rk%GI(?T70vUr%;m}o_WqWi|M}9i z&oQrNIhR5}UFeoF)NNGF04SLhy9PJ$j0K?Fm5I+d$&rX*pFzNZdn6p?IP7G!)fgF= z+9#|1b8E5w|5SemsB}3zUd>jZ^=5wInlOEH6U)2<5<2G>*gE|yL6_OLzj(pw>H?Qo-n z14x(pB~9wr)QPA?iYiB~FznJSa;cP0@t+ICbl|BEwu>QLb6FchZm9)^0I7dki>30Z z#I#ija*}_JD8AMalOtT!f`~qhR2t+pYTZE{$mrA4s|2bdU>#}I$-f9qH|(yd2!(dy zpQNlZr~gFjrj6}^U*#G1_CDe0B>tOxf>HyYK?^5=ZQX=j1FTdOMlfrUEU!FlCvz!9 zojA}&rK(B)4l)5TP}D41Fk|88`xMak~Yh&z8He;jpu5_dUmROF|}H6k)AXHzYv ziQY(>_rqUO%5x&g&^A)jbCYXJI~%|33t{2Qm|LDzhEu!FjRD*OIPZ`aFrT{T{?Vvr zP&*r|XK2$$5RDmbsZueR&J z$;dsl7&5L5+G%QCgw_A#X+CDFvHh=ZBf|Z;j!KKagZTgRR(aS^O928u13v%)01g0w a7${t0oPpRo2><}9lcfny27?Iz0001BA+1aR delta 2425 zcmV-<35NFZ6Z#VyP)h>@KL7#%4gg_ta8zH+K`}%L006r(001hJt_dxXNGX4@>BD=a zw^#$;@ePB3%)eD8Yvf+&h|RU2PweuGF4M;Ju>ceF@>{FlYv*M>x6ClC}q(|JJ#8~N&XHD-R-hl7b@Ptj) z0gc$(aOtN`zGOeDP{*}Asj7c-yT|A$Y#31MZ&q3xYIfa8@Jnyp{N4Y4#gn&L#~-ST z5J9OhXwqx*Ca+;+lJnf4{5aTpY(>Xj^yDPNLcndN1G~oE|^9^3OI7P_};xQ7aK@P7*K!R(Jd4dAJYY_ zZn181?%ECo z5q~*_$az5BpZF^%rd@wvAL)q{;4{^xtgPm`H2m77XxJtw;@8*A}ej z&{ZjbbO&JBpK$20jnzl`lC+ESba$gOxjS-v9BVsPLav)JyW)Qsi0Ff#c9)wp7Cs{3 z_W;!&7}POh^|QXcUi62QAHBY}CCHON`~@Gv@aK|o71~qYE9NiFc|LjV+=;bZw>g?% zre{rWi*77h43QAOtz9wxZfEUXp?$qVl+@>YHm zQI2E8?$D%zuQPwy$lw8vmf>cli<&*6(mZn4s3F+SVr!Y|TO*GCX6P%{19BbbSGXL( z8Zl77cJCAov*OdY7CBgAe;u4#oUi!LfPVl}24y14F`fsr=Vaq!5dUk~l;V`Ui~42y z4?85TN~-o_1Q@N!iWJdHNSQbtM||A))sgo*&K*^84D)~5OQGIHNynnTF<9T|brKyCEZ z4ILD~pM5V76Y$rqW5xXN`va>eaq4aFPY)G=$bwub9i?ulod6 z-RmCu-I^?JM17PVx7;;;MCFyezToQO?!JbOxLO?$b z>K}jRR-~`S+%j4uJ#q3~+ajgpl_S0NND#-&xU@&KVu+Hxj9ZnE)Gut!GS+*abK3$^ z21S4T+2$);&q%P!E>E5Na@w$0qJLs|nG@0bfvA^M6USAS^$TUQ?muP;d@^~srpj5V zUFM%G<4};Z?#Aqk$+*G(hoxqosFQ3l<#-*iTe(kb7>RL@O4%k1D~{mvRQQYk0{nBB zcrewG_~2eLQRQs?+;RSQo7UPRaBgaT=>vag@xrno9~D1(_k2A(#jsiFZwg}we;%`* z!EG?YMd4Brp_?nQqGxY_%Xvf2y|8%Ll^2odhV+IIxpiU1T;%3osj_LA_N{E8#Tq7F z_?5?pL3jR3$@652ne|fhIeigNY4h)I{iOJ%LBMnL6Ek}8 zraEmS$WHtCm)ZdAjkVO6!cygxzMP*EWjDHw!0f~N2Bh?u8ZodhhW2zRJnZdPsmo-X zWBXYF7rPIFRV&+mF*{9AI4+;K{yl#W0B^Cm&9_me2wHUTxd{M{y+7@IhUAs|U>JKr zfty#QZ0Toya(A!5lLP7D)HeV6u`2-=wQI ziLhbvLJ5$cK(#4lI=|%aa?F290Xrx(uF2#UrlIXD{?=sn+NBY0O`}zw*qywSUHOy2PL-z#c88uPMNpHCo0w?IQ&dC z(kXg!YU~(VOopc*eGN2&hOeaJAb}w^x&L9r>;QLPreN@2JTN{-Qs{r0-O#uUmlM}; zL-uzv46UnOUW9_O_pu@^FZMR`H_RwAXpUgWTtp}3LCj4X)8eI!%*MmPr^XZF!*{OL zyWkhBdi@_)r4qPyW>ikzLwD3W+v%JPU@|H%$0IZ%gu4?jugQYHUoVlFCe^4Nw8>IX zB_Y;#jBI$1_Tm?gS!#c8SH{WtD(i5NdyT^*lQWS>aiUAdl|`jR-0^>E$-h3cdA(Q8?_qtG+pGaIwt}D r-JURfP)h*$$00000n3=sY diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.3-compact.zip index 6181d1ca6b5d4f927da41f269bc1cbef61c12114..e7f5648ba19f26774b5e01c3e25bd06c04aa9541 100644 GIT binary patch delta 2407 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 r{DJ!xP)h*$$000000uhgS diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.4-compact.zip index 971aebd318532e6ddc691cd5a7ef472846d4d8b6..60c2ddbe1937b059e1a39c6e95a82d03a686f5be 100644 GIT binary patch delta 2409 zcmV-v36}Qw6Y>)mP)h>@KL7#%4gi4|C|rx5J^VZg0063y7g~R{Dgw5sX$_<1pTj3$ zBf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZU&K`t6n) z*&^~X`Ze%tHH(5)(j7@MFO*vh691@s@J9CCg!P=GlAwP~pI}qY4*i^Zt%r2#$=SjJ z`JQbdT!)oxkhJcC{0ie-XqdbTtB0=)9PcXLb!dN-vk1mxRq!rRAAimh@Zw^ft`$tW z6#D}t_|r%!$C%}*Z`mzEXXpE$$1~8cU_rrcPrckJ5ehU}E70@oiYJ)Bdz*_udl{Jt znqwfpHuZmrqSO<()5`}{zec`iVIi3@WEFin5FaF_w5sGjSD_GfISVGNM}0(^%QXe; z25P~US1*Bm>gwUfp}T4+>O7yv9qkWQi`YB(5Wq)qfmlostFuH*JUhzpP}7gg(+Ngl zf(<_)KTU!h8&v3wXWRIYXX1ereCrqZ_}EX8i$#CwCq!t~=ja|46apu}WBVunw+Tgb z5~xu48aW-lkdV&Q{}*hF`7xPl=OO?iPtMs}rv9U)Gib`T%*sd*_c zXr((Qo~sY0c|AL zL!^JvR`F-yODXexOpC&y>;E$h_uk7w?Q-W+iAP|i^)!h&XWjU5E!)KPC;E-74DCJr z5T5hFyePhrl*UA$77o06&&+l@V{wc(Po(k`ut z=<;||Mc_M>90!}tPmTaOkUE!^;!d1)t#^NlgKe>O8wZ4=p+;NXkVD6+B+Mvy zMRXgyZg17?NTnZhk^OjwW^6VWLDJM&Nv2S;lAEkdGn4FdumAj!I0(b?ATg zxv9i$n3tNR(7#@a8iu8Tk#kTVe5b~eL%z8%!pdu6 zfHWN`^ej*)%IrmM@Z6>ns$hB_5VC)1dpJ%;{D_rFtFYwa$`Ru~a~rAA7Q(H@G-eW- zv$=DDM_@3sMf;J|zNUF?9AR}rOoIkbQ)7;*XbY?WFU*FA$dSOU?=irJoeT@-9@O*Y z`A5jE$GBLUe*O}Uak16iiZ}mRkdNpE^yu&y0>n{-@o2&f={re^`nANoDztx)7?^Df z+LlKjJhybjOqDUK5MwCDrOq!msrhDkeu3$On(!M###)nS^^WzJIxz0MIMd)Yw3Tr` zF<&1q=DlJHA^_!Ip>v?!e3d3@&R zGuze#F>Lw7hv8cX91pQ@yt{y6aZEGdT<3T%$V6mVU5(P^6$SP{_=SI)_bN<7<0aKQ zBYMN8Jj3tc+Iz!z?+00ln@u}j;A)|d&6ot!ZeZV>&@((U< zOSS1?bDumDVzh0#=jv&R(Fs0Jp`$=lg(>!G7tf0D(U;;nlJAs_<=3j3t@McvK}LWg zUcd?h7Cjt5wM#tGMR*c+6SDeFjnx{uJte6ji-kG2KV zqHJ&N7fhQ=Fs}OKZ08~bG1ls^D z)z&+tiY5YlfLnh9I+ydGA~r@f`@EKqhbS?YuH$dX9whNetK5kOUTdRTj@8$Jd$89k zXFPp4&h*YML>|K)gJZ(^%H!hs;@_w~XAjzgGd$d`-7r`54JR&s};7U|Q6NSfbb9}37u}{F`vTpfJY7Tf^GFto zGvyGiFRy=kybJ21sr-P8p>$l6WGfU%PzKh}Btr6N-C*toiXMh<%ysP~&o!JbdL>;s zk$%@X?EpM|%p+S$ld@&og&W(WQ=&&d*t|+#@^&kh%sJmz zgLG2WrALI>(Vk|$my&%>GpMBc{g0-dSA9Vq=Kp^{il7C7CDoKqzi#Lu-UdPD$E%OF ztV^twV2U35U_a~u3YZFgYilojgc zoo%Tyz+@w9xHIXDh`Ejmta|wnM2e8u!Wy@dNw>>M9uJMB28_U-`59EFiV$>h0D4jd zjut*Ip4;U?C=UhVbB?UXRR)%c-9?PtWtjkIm=+68|NIpH-6T1yP)h*eu00000k{y`# delta 2423 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 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.5-compact.zip index c107b959d5562e3251fec1a49a2a570ce4556f62..dcf31586519d6b3685a19e1ef95bb2412e794b10 100644 GIT binary patch delta 2405 zcmV-r37Yo$6YdiiP)h>@KL7#%4gi4|C|p*4Y3w)&0063y7g~R{Dgw5sX$_<1pTj3$ zBf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZU&K`$!8KBPV`bQn<{{7Cij&0)=WH8M{d;p4X z7v0O}mPXp`1c85L55o=_7qaeOe$0Nf_fK)S{{CLlhDXN&}#gepwB=QKDC(2RMo5DanGl z9t8pQl_-Cd*9_PY*s8oc;+BS*)>$xs>aEeBmG8>j7?A6G4z(I-G9wom!zOgoYSjnj zZ|#z-tMJ!@c)Co`SkDXSA7%;PLm#p3WG$`aliC+E)3?r$4ZT_%kHITc$am8U5>05% ziG??q2Ztupt1YHe#m=ot-iHQd2Pubwrf5ZB|GR%ayf5ey$egxkHM*H5TxbkdNkg9T zRdt2UklND>Bo^gNC}V-x?J!t z>r>b&P;U>x7@o8ph8O7y=>CSkABAG*uIRYab`;sT{{4V95hObut-4&v+h+&%nZuHY zeE@&CU`@~ppvT=9dqa$Tb@&c64YtLscR&8H@Cy84dHV)1u`nUbY}2|T5a;wJATj_o zLr0NJm8m8}qYS*RDY!ORQ?sT+w?9WEO_#Y*!utaANtKP+^x}g;yIBo2Qo#`WmOUS z^DG`ln^TFN>f0qCWu!ic{Vq3Ny5g|zCJOU!^r24w7JzP&Pu&pi=K7qS<}ZjMo$^6)SyQ(B9q-=;z5je6bQ z3gIR~d@K=TOU3OGh_c}vh)Tt+H|KvvZ+;|#s1r#x1yV=GJ5=+&N#LF~u{!UTp0zBB z8*;PpSWB=H8X~z%e`7FsXy8>?3M!JKrxcq^jo zmq=;5R4o|;O=1$0orOU%iA7O9uq#A}nvN-}P=N*yyLOo~3UP4a ztWR**)ha$}bjVb#W`v%$ssMi|v9GjCV+Fo}*AT9$dr(`~0Qe)*v!cvA3A$!=Oewz? zZWP)npjK!5YH1Wf)W34v>=AxN<4Y*XC6f?N!MR0(01yKH<%!{FihG)uv?X%brN?Di zzM5VDCxpW0=`7S`4md%=r6GM5cZsr z$1Vx&a4=qM`u<4`f<6d>bq80Kc~5l)%i*eN5!zu~HEKI=b4T@YUm7=HwNvwfBVN!ZWC`mxY1lZA$u+LA5zi4eMUzmhf-$ z^`$hIcuTlE9zRiR;?29bXG8M{x>w`UO=J%XRQ#}%QnpoqFeyyRq@$pXk)Wk-zoe3? zem!Yi=`>3vZG&8$J;eyO_ppWU733p6xm48*gTyC=B6okPLvDKAjEA@$Jr(}Ig#&vS z_HrOb5EulCqy#8&7z4PLC)_;?uLu$EG(7Bs=#x$P>6`kke3zk_+45t0GZtjWrL%|e z3ZVI-=$|q|mVo(O?~}rzAH6_*)m!C1tuw65JJ{!bNV|2}M#`Ws8KN7$mrv%f@rzPL zQn;t_50!r=+0jNJ?)?in8nmc$%IUQ4gnGGt#G_qNb1bF;T2%m=IB?t(WVuml-cC%f zh1FcBoolAnm*IZH;Q_Zd&-i3 zgk)UfZf3j6jS+zYl0$#d3p6H5`Iv@;(!`P)h*Sq00000;fRb6 delta 2417 zcmV-%36A#e6Z#VuP)h>@KL7#%4gg_ta8xwBc(FtY006s@7g~R@>BD=aw^#$;@ePB3 z%)eD8Yvf+&h|RU2PweuGF4M;Ju>ceF@>{FlYv*N!ORX#Aq2t)iew5Xm-Hx(XGIa+`xqAD^`o)!M|Nj=sD z@+L^>FUR{OwI6@kQ7+L1KvgB4s0H)wx3Vl=xl&)b6kTvPi(`5`{Ba5w{L92ItS>{6&8W|d<60b5{rPc1CR?2 z7xpY}7V0@52)}o_Ym}N?iVDzpXJy!E)iX|z50*;2m}7q*Z+vifOKw6GdawcsH8>l; z4_g=M2o9!k*E*q&lBH!(ayZ}&?0g$W{W$YU07i2SxJf2#Hir{&?#}YQ;9M;FCxfFG z-ZD`9C}_Gv_wR5!0W1b{zRMN$@V z9a(U}lq-KbN*0Bw=U|$Y3zatB!|$vu#ts^t1Typ2?==}U>MF~Tf3*3z6gJA(qe_!H zYWHCH;-Ty&OqHC1aTXGi$Gh8gvs;%L%k<9ObE;S)aSLARFS6dJpig+`4i5PySzvvz$gy-8{@s;%A5i;QHYMOzS_i9wQ{~j zwq1WCMvea{Bvj~AmS+;_L@CXPsFsBo@@#Zkz}Cne2*T)>RztX0q4p?X5n;P0!_JTB ziZ-~W5*s6noVM$!nTSkBd{#Ypf)Y+{6tfRUCx79G*RU9Gz0R=a^kS_rMfAN8RjJSG zD7qj{=DzkA8HySRiG?3Tpj^7c0!mE`RgQlnykDTD-w%5;G|LdU>kYjqJO4lxjO_Y9 z%N2epBDAsW?%zbDjdIG|F)T3vydjA>rvEyHA&O}amD?f!51Z^K4t-LB7jSJgS;gIz zQCU1ZnKmIPVBTS>tQZ{$J(=#A@dp3zuJ-01IWJLMtXM9dWuH;6KraCu8}AWQYxaNL z{wj`5M9ZRf?07GA!F*lf^M>!~$iA@@CiHk0?d67?|MDsvF>WecgO@PjU#ns)`8^0ZcIkh*nO;nChIIR_;X_ebgUrpY0jCP(Mp$)KYL38|K2RK4h^AP%JUMYYo9~{Y~_D=3_J2T zf}ww^Inp+8d{Oj)mf7p8_Gdu@HRk_{U|wo$8NB98HK@Sp5|We|b`TNSgRt2W5Uufp z)pnB?qExz`Av*0fQ+gEzmqG5Huh&HOFNy`NxQU9)D-&zQS_DGU>(D8`=5`jlCS}z-NPBiNe5CzGu5Q*8oHanVeA(J0mDLF2G8y$OG1y3oboYzQfP ziWz;BW{;paM;>yz;2i>ms!R6Jbl29-tN05hsJ!Nn)qoG_obw@CAs_!&zSC=eA@};3 z02F9xj}$1!6AlggV4?ofxV-^9Q&@CE)EjUp&(Og+_uTV?u} zl_RaKc|ZY>(O(vIX|A#1Me;{DHf>)0!sAm)5c_Wb2-AOTW#pFWCsLeQ^|N1TkY!fv z4xRx!kLS+rtP>)of$Vt1c8Ri`o|q=ZP`6IknkR~mPFZ6-m=s2KTlMFfp_x86UjY`hxFhW123(f9< zagWi&(q8=LvzBC+_u`tcvWc^yZ=w*TB%82=l+1tA7pBp-+|^^st;WV#4AE>k8?f#I z1a>OFQ?J6E2(Xv-0ovg_y;>F(<#2>sv1aIZM^bHEEJtd?gCEhv6)%PEo5m~bx zoEt`LK0kfv$BYksYFaQ$$00000w~LvP diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.6-compact.zip index 13bb81bb83936e7e506d302d2b76bc396b65e628..a9a6df4d200baaa82b6dc1484b8b0ae60362e655 100644 GIT binary patch delta 2408 zcmV-u377Wy6Y&!lP)h>@KL7#%4gi4|C|pM!UD!&@1%?QHdPXKxL%pj$1^KLEPEZ~UEYO^k*^Be6tei>JgZJH8+1UU>nWOp&wdc4`;s6ZimL$|mN_p)zSFSDngsl0{kh?!+Nj(RvEn5fOo-eA1t z_SG8&d-a5v7!AzC7dxWxm3m3&rvXzX$9==mq_hn1`i9k&F=*y0Mapc%!ejf&3= zwTY?Tjs_h!)5@7TTJ}#EA_?6;O3ZV$%>7WJln{ngOKXPZ=y$D;uhX~pGzF?<^nT)x zFLi%R=`I?r;7(04##Z`}s)O^MnI0GdhYjTq-Z&CjlJWKB0jr2?7>yjSdfxq$X3HCS z6qS0PhLNIlT04W+#!^-G{@yf><00|mz&}L32K1Fi3XGDK_yw2JPzxh9 zZMBsd^l*X|UdsuuEip`e{^Rm;W2Q=SbHt^p=QHWl8?I^(FG>pQCWC#cb8w6mz*Ap+ zSl)j%Qv4m684jG&-SJP?ek@`>vqrrPhFcGFupfKs^B9_E%}ktLR4$`BYfp#vqKkjD zkFw!$Cf8#^*o?(Ad(5iPb~DOy%8*Vjr!;8>A@c!5w=dDc$h>bvC$HY09;~0lKn(Ph zmx5gK^<+E{BQMVMQ5ZQ-E&^-vhZBvin${Sxvq%K~hipEY)mU^%HS$!+)6l7O1ua3t zd|{b6n4L9%SPL(}cij2@3KSAKT3mlB&=jNWK9;#U5L(eL?q}@1`Hvamt{24l5`M>q zyy_3N^FBN3-K6y(?6vFpedr3-jB5nKIE}U~LrsKT!M0Cz<`XhJ67>Gj3CaioLd=qg zKO_fEu%7U0wIKsn+G^ns%R25$J)$oYgbK)voO(>~X}Z?4Gk85CnXCx0KeB%(&NuOo zO@kuK2uIBmK0N#OCJ79Ek7(u2M7iPBY+e;Veu3C89s)yENIVlD6^b0+6;r7jomtPP z62zjJxZiIs%C6sjl(%PsC^_Wv;!RXS{}F>9IuC^ATqj`JO2SQ3+rsF5kRriL2Wcl= z$yDHvnx;S_R*olH`oi6LyJvp^>t|QVw^2a24)D!2H_ycqppOg=t9``3^c_X_?-5GDAvEX=W{IMi&#w0;~s4BIjZ)PA?qwL-A5 zG{v(7ea|tM7$*4y<#wqH?0T28%GS2%kZ`&DUjF4szRuhGBWi#jWh{R&h1CsTh7p7F z$eJK_4i$urVCMY|Q-rS8hlo@P!Y3hQGPkCEb~V`W5dy(CRREA!K(@~ex&!GA6;@KO z)PRtAEgSwu1}Vkr5R+K__ye%b^^3bd26MGj6W=uny^q0cTIBm#PqS`(;CfO{4bwWf z+3B`Kzh^idI7(G2Udn$41vK_6Jl}v+Em?g=x)KsyOdp}Mep;T32;U#O98AJCgUGW! z7@+%mqj}Utv1uwG(F;{qIs%t1sD=P&l|(G0Zo(DDZxFxI;O%en`JS(K2@m$0OMy?q z@8TwHjP&8R2L7fM37q=4+_5d|tC%g;f?OMa&l9=euyX6-6a0TS6l{#gy{=J(`1Hfn zFa-9!&FOkKq;(pGP1bHnoHY|QO?-*hX=1&ivH>R;op@!<`oB7)X^GOkZBM7Z457+xY`bL=N|;jv!ywcr-QiG%U_d zw=i;KE37c@>ui74ZxDplZ$2j;0&CN<@r)u5E<+o>U5N#KtDCV3vv;SyPXww+q+MnB zQU6^*O8R}I_=h!eyy^X|9dUnb-l$J)YT&!oBg5}6I;V*9ZD1W1*J1wtSkM!2zb_Zc z1gv?8zyuhUde@XW5AbWf{~@mSaE)s;)${~i2AK9gh74ujn_EHVR(CYJtDu3( zA;JF-{lnn5e@uux0f{_o_x+RceFla@-%QvFjF;wz(bpi58V^fsm@QnFNQpF%3S|>m z0sIxwdGD|8TiyC+Vi#pOo8|Qt1j(h(eZJVtlWSiD2 z9Xvhj)Y3MnDj2I_N4TE6?zU3k#jS^f3t+QR`N;3sfhYgwx*z~hO928u13v%)01g0w a7${svD4s_<2><}9lcWhx27?Iz0002ZU6jWF delta 2424 zcmV-;35WLa6ZsPxP)h>@KL7#%4gg_ta8%IIdxS#?006r(001hJt_dxXNGX4@>BD=a zw^#$;@ePB3%)eD8Yvf+&h|RU2PweuGF4M;Ju>ceF@>{FlYv*O0iDfjucUz;!d9o=b0gR8~0pufpM#1LqX z&~1>R30D<6ASo#%8#{9ZopgV#8`0g@gZuxupa$xZa^5`3R^AS2-}#i2bJ(?Hw$hmQ zBBSIzTR}Sad0X8jJ(PrVRd@$Gh1%S^3%-`G6`bFbHtD zp<#+Jc|6Vt%o$lMIVqyzwk{oLO_$!}01d~7#Vd}RUQ2G!Z=pI`IRWE@3r{5` zItiR{F|M`2zXpwsTxWj)!vTjrooJNHe*(We^W8U7R-g-F*P5`c{ONP|jP~eLBJA=J zU}x~(Xh${F6x-nV)^8M&kNST#MG@Zb065HTp9(k2G>x@87#k#G#3Lb!|BPtKM( zM5i#>j0);UxRejeMg?j1`1tZr^TV_yXo-_Q_R^+BCYNBeOZtE7QJ?wUdKUEv$;%oe z$k922Mxk2U2I#G5{jt8^|BxM*T}+agcPCeckB}<^HYlxZ>RC2&4#nlGQ{{u%8_|2O zMb11%jY!80li^M!pz58z1Rmt=dGbx7`WIR z6KmK%U+jOI6n`8}BoSW}Q~{21cDLb$$bGFtA&axt*IqDyQEN}OetEt#_gmn7mXjwf zpMX}Wk~BWL+_Ms=`tP`|6mblgpU2Qs8)9|?6@EE;BXgA(`|4b(F|wpT2udx6X{|6% znK7`CdnYs!q(@&&j-ba*?`C2@0?n_93%@EDx7B~#`>We08XkQw83cBE5$oG%;EHm& zGg3Rqi!tbxMG*9g&S6ZNK)|llzfVN}6<)^t-k8WH_#fIh@KWV>96DPcAv$5BV>&A~Z*dzUB_NCV}w7c2U{gH-d*75i{@p ziG6>GU!HK0sPK+5EE_wp-4W5htoNXz#6`b}FpG2J{TJ^sLw<&)IcRCf&9SI0XtJbF z?Wj%>@#8jt{!$bgU-dQXW#rY6N@;tYyJUp8sh@=zigfj6aa%`PjH)7T~*F|1g?_+#=)&BTstoIVf%Ap>pM zRpSq%<>pzoALME0=; zb(1pVXjoPoA;`uHfk?cD*c^$UldJ>2CVxYUgC4v8h#W@=use|@0bz|Hu_cs_g;{@} z&OheR*Hz)x+|Ay}T=~EjI5};@Zt`gaiZ>@ER;(^p&AZcE66|tC-%vPGW{;}e?WrM? zm=kL9ZtpdFgO^z4YQ!;-23(tFV;VYBK0g0nvS0KUka*x7x-izqcsl=wh7P;5)x;Go zdRzO?D{@}p2PLELdVQ{k+{^vT0Fi%9bIJ0fo-%Z5)T`c9DF+iLf~bK^VWih*J^(SB z?V%Pe1Cn1cMadSF8NI%^@Ig;z#zg&$a5+21fWq~8mR@AQAgou;r}h=hQEhCf!6@{da?)vnK%!Zp;ea~<;W0hHbcB8 zVFBeDgM?8_vuQl8)Zp)+`se51`Snkb*Bd!dJ-jJA7^gxJDh;KKF$(iK~!3=1Qa-CW(LC^U+@w3wlqU z$KYDF(N=LjWFzs)V_X*h63|nMOOt%P;1Hf@u%N{HV*{ zvg`$gWX0&wed5qpN-aQJsXLqZ_uKUB+&J$(%3u1Ba_Z#mYN@g>nHt z^ANOCK)Vr%>BlK z!r~Z21RI2nVk||ZI3K+kREh$%%>Kaj8);@;c#jY!2B0mWKc|K<2VXZpDuB-%ADjRB q&$?7lO928u13v%)01g0Qa&T18(R+kL2><}Qlbi`p28#&*0001kxS~n` diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.0-compact.zip index 67f475890b5bd4471d065aec63b4f327206efdad..e55f2f886002299208baf2f6bb992539931d3f8d 100644 GIT binary patch delta 2409 zcmV-v36}Q#6Y>)mP)h>@KL7#%4gi4|C|o42t>Qch004@S7g~R{Dgw5sX$_<1pTj3$ zBf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZU&K`n|nYjJLbfkqhEOLn<57 zFMpbx6!h{I+em-ULtxH@ul6ZyDPx)^N%mvR&)~Y#%ChnTb?pcE#@2HduAW$+lR_9c z%v2fDv=O}nGV z9izlP5*K$CSeZ9Q>ZgzzFQ2y`{Yp9wkZ;J+ilwtXV{Pf-o!-G%G*o9m`a; zp~Z31mt%hy6zQ}c5}@+iM<(6K&g-4DPB-fM8@`*cDv;EGQajgV>`%BfonB{8EQL-T(eD<$OmF50!bV-JgpqAf}H0WHT@z*8K=h(hv23*|h);l2ADn=1+x<}$PiM)g6|QxtWD98j6#}kgV=9pcPDKV1q2A0 z*pgXi&3?nL4#WkXiJF4z#1km8r^lP(FYtf2Dky|e1klb_;%3muf$`g_(gBYf(dfyv z8PA}NZ<|rm{pr$j!PP4U0Nd}bQyOp&ogk@A&_9GPU2r9CXYQOdMB4aQQAodYP|)ai zYlhFv6!)5wkFj5g3`;d=vhR#l3~|PiZZz;gHJ5Bf(lx^G-v(LyV&t7rzYZkb>Dzyw zOeLbMZFt7f1>HAR0Ies3aKV{Mn8jACfFvVjU8an%-|?4qzg&wBkjGhi9_qB^ zs9-#IEZk><;P}XQhW;}F*)vHT@xRwRyGZ!61ihAQnV$7d^@Uy^f_yfmZ9jjFbYaft zLnqo!9y@zb&M06fM!UQ1$&D>h#W1L~2N1_IS+sEk)oZ<5wmcZz9^2lo>#{Ncy=yk+ zD09bd@a2gFx!Dx9jGhXg%wRt_LhgHM!xpfz1D`4pL*sa!COZaFCR9XG3a{9xS;=MBmV_0k-X=)#FnY zq9LqJ7i&y&?bQNJL>?*HQv(AAD=#h)zax@1$3xlCIYv_JgV7?T==_I!TU=GAj1e~5 zFXiSQO!amt<>NJ*^bfd)q zU_+~xg$BO)qKAvcd<2pH-VCcl9R~3Dbgydi@>$V{k9%*Nu=G66@>0eHtBA{M&>{b@;~L zK$^R=y6y#G1K5AyMswTIUL{t|Q@YGZ<|z~JNQP41K4EU^UdLcYgKSOuKp2?YRwzk% zh^6GaFF*%CSX{zu_R!W5gC`%=+M(9^uk3<*@(t{Th^|9tindz&K5t(+5FJ z9BkhKDNj23NSw-r%Vj?Ui+KHbKkP72xG!Urn}T}*1TB9&`zG>0mYmwGX*Zt!G#mpv z&PeT@c$E&O-QZWQ=|xe}ujlJbxd*DhPCSGFt&r@EuP(K36Mw~w#rW~%fmvIt6>Z(> zB=l@>dNwr*zO;2pd_LznMS5d$bz7?t2&#(QCMOKO?_?&LP?ZM%XMLa&k{I~K>fF_} zK+W#Bmf?SHK)g;19A49OjKz|+C@F`-$Y6;tjgRm>(`Nbg@*bFHLS|_Y=DqL z73MWUhv|N_?+I@rLa}Im=wccU-b*LtA*Q@d!19-4D6kY;V8an9=i8c8Hqx55u$ups$FV^6|9z97PC&mKSpLhep8_E`+KRCbi<;D(=l|q ztFAs5lRrc(6uUyRUUsYkUE^rnDZ@O!$!K42kH<*h+Oi4%^YgiDP)h*eu00000aU7zC delta 2428 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 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.1-compact.zip index ea7eb982c070c92dfb2a2365fff8c76bfea06305..ae90a1135f24e8ea2e49cac996c9146cbef4c487 100644 GIT binary patch delta 2410 zcmV-w36=K!6Y~=nP)h>@KL7#%4gi4|C|o{x&LBMr004@S7g~R{Dgw5sX$_<1pTj3$ zBf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZU&K`A43Zwq=xjU$2qcu&+!il z$5a70>czVLsD`1r zrWs4O-olA1o1&cH*>h3V!{-}8+1${j&-|2-M-*w!PKcKu*iv~@l{`Nm<9%sJ!{zN~ zl?H)TM@OY7hS5t{X|-EdrZ>ubCGbJ(j$)z`LM#A+b+Ugub6WytZlGCn^iq>0`oy?#1*^HOTLcVzHrCiZi#?xir5adT@PRSKgo7 zJ#&7t!DNglndVr>dHJxmOrd+F#`8jI_&_W%X|wN{+{B2+Lx?WrPQ;ekxv?QVDTU%< zi|>D|<2!R2MYzqRCarNV=c4Wkt8QYwp*+Av5V1z4EDPbe_IS52seZ=Z6lOPo2Lu)y z8!$l;jPLx>aM0;J9C!rgteAt@S&!d+#y-1wFdHbyfk@ z7YV36WbgvJ0-x*3LHkmi9@gL+ExS6k>~)rtxEPM>bOLH#1(yJ|I|zc<;HpaYW4wRX z(4t2`qYxi$9HSp(1lvw0msq-h7T$%VaS&3-aKo@+%(!{A#&2HtHwvG-}CWC8EEIC^TSuYM9(K*O#~ zv;amkIGre0kM7*{@bC`vJ6SNYjSA^_rZ6OR4qOX7BOe~$HDM!@Z=~QjJGFoM9mX`6 zcjY>a-$l&84T;MC?%J&K#yxC-Lv%_juqAN4a^(WJV9k6MclR$f)nh)2a=c8pk@MHm zWQhy{XMZq=*HUDhvCO1<#aO6bWCjDRD=k4Q?w_be$u-Nv`Kl|?ZKwF^jEypZguqhs z!IPMKd3ptOCAt@Hki-;#W}bfsVLb+8dKF=hqcLM`IkaUY(DdL|=6a(g;l@DEbmLc^ zG{QM;v4s)SZ|H$&%RZjI|1Fj_71zHoYNNUOL8%%zt*vF^_arFTlUN;pj9L#8@KScy zqn(z^`*K(k?AC|5Yz*msj6?(sNNk(A0kZwP8U1wh)E}yzm}HsfgVKKmYrTQ|0g{4( zGh=s(zF0_8`nUo@#PN91;Wx7{>Ys~d;kM;yP$+oy57=+cH{zwZHtWyd- z?8}9;se$B|-UYu?%qD-?s`AISs-YEQA?On6e>&v0<3?-?l|hX)c#?s!6fH$uP}op} zE}1!O_A@N!83Mi#u0D@|Y`5^Sdzl{QVfrkEa@BT^9FOdjWIe{w^4Qz5y4Q}6JO!~Z zqNg|~m^KLQgmA6Gp+dN!RbcLD2z{}y5|FU0%pWd7P4V3ZrI;dLRQ_ zyyils4*a$Icf%`IU#Ov>~+YX58zi~R%mxLe01v+p3(BR}p8q2a> zZS$1?ZWyGG(bCZZ9DuI>s;*+Q6YDF%u$wm%H)o9UrL})m9Kp|LmO(!4z7M&voTWH` zXwE8m&S=L>UYwW=UQ{gaOaFt{XD))zY3;fMarW3l7)C}5P^zOa>(4?L1uaoI@9~*n zU^0(1dUI_vJ6n40!!P?bmXps%X0JL`b1xM;(;0fWCN%#Q|PlDP2`$AqGCZ`6Iq8+CgF#1^K;e8WGX_NCwGdo^ZiOk=}=1n0zU&k00ICG c0D%}NTt0ZtAUz2H0E&~S2~P%v2><{90A32CssI20 delta 2428 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 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.10-compact.zip index a9e6e71730e0ec0ebf678700b1d68601fa802d7c..17017efd1db2012e8c8e3cea1997617427c17f2f 100644 GIT binary patch delta 2482 zcmV;j2~GB(6rL0tP)h>@KL7#%4gi7}C|m_A!ER^?000d$001hJ-3cv`NGX4{Dgw5s zX$_<1pTj3$Bf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZU&K` z}bK%8Dy zklNqp>)8G`r{i&r*D+;j|5twrA~tfPk=+#Oc2h7p(Y5-ItH2$%9O^bBBwwE+$ zp)>(tIK~`3A;4CaSnA9PJ|}P1s8@`UdufmRb(7`YqjFdX=%09HY-d56T&K#)Dko*N zrv^^O&G4Udm6&WRGI)+%yUOMl`^yC37HJ###TQ{<|8L`(LP(X@1s1Qpd+Umyiv~c1 zXd=F8RfV?n_1PSh!nJ?X+>|Ib19rq(h!(-ajquK_zk-mB89TYBP10AFp^QS9TDx(s zBD^D1yDtj$2=mFqXP1pNDE0TbzPctIC+o<$fuk~4bw;pt(aG4RjG4lEJ_sEzqrzfu znZFZsW7W4RzhXqe39Nw~jzp2(BF}a`2L2%lFG_6x1Syqu@{E5`Q(AIC^KrkhD@_4) z+f#~z^>x~RH*bggRj9x$PVabcxDJ%SOi_{)RxQ68t69?h3}*APSa)->Z{IR+BK$YP zR6AE{EzavE!IE5E;W`f_USzhNGc#>?vdkijI+QC9J)32Je-?RqlGm5q09h90 zO}aA@sbCQV5W#)~2TEP(R z1J=O*X=^czQp1IQR$iYN=^M{;i20@bj|>$`eL>U%>xzH3|C_0)&V0Po;VAK*z^JfN z-u*i{)%sAfg`i6v6&1I|y-t$g!L90B>F^zGXp@1Oic%fnQ;r&yMq<|KNuXD%b6jU3 zQO3v#^DHSJO%w{u0wck%=4@n+=5vNSPWDtjOC*%h?yB7&pwteL;MM{_=zGv;HE7RH>hPB#;O->Me$9WvRF|MH>T9| zO*6FC#_;XY{tqB~3j_Xc2kRhHv^9<J**PYvMK3d6i=q)Sm_Q`(L~B01+J6r92IR|HIbj2R<@}rw^Fe?6 zUh=RSFLKL1>PZ~P?EZb;c?{x1)Bfo(=#Mt=x^VBT!>MZ>al^{ABqGQ2P(htaZBMSN z&x5FhnuP6OT8^u9H!voTMfT9kR1yZW9V=Sr@;D4J+DB6D^&lHvv_%I!`o{-IU(@;; zG7b+QNnkABi^>-+i-+*LxLjw_T9SXeUl@-n>~RA8z`gSJZ>cjfjT<*o=H2=W{~AMn zjS~G7rq#P}fxdX6rUB2t(>%Ho!4e&&gTGeC7UC5i&9YuoicB2|l1kWHoVai4ZB{RMYo(v*M6@chC> zaYsSMJe7W%;{CET>oZO&^hOqFo0w5Oe<$u~MBYlLJq(cx1fu>9jE$akkrrp;typ*r zzE{-5U>WAq;sA4K@P(`Sc!Y7sh1S$ut9%$WTkdX_Y(L%Q&2pSxd_qW?{$1BXj!?4( z^4}Z_V7OBfa|y1f`JL4hR8N1I^KMMg5KOD3{H(kiH8(v*hIB~z=)c_rJqAw%=*OLr zJZ{niNTu)><#4WQQ7%^_TN=%Q_v*1SQ4Nx|Wu>xJ1$ayMlZ) z^+bX*9vTnNd`M&9V>_4djrY@7Mf{}UTSogTTdPX~s_hQ$I#!H zz4{FxC9PXhKMYO@K;nEpP-A6lej-o=#|hAY)m=0mXft&g(JdP__I&Ju-d)wQWV(IK z4zWN7NoiL^hkQnm>KG;u$pr7zb{BXEWOFKM<#4;v#hNV>o2S^}wsDX^?ZzIuYDf{~ z>7_gJgEPAFA8kng6%>EI^t}1wf0J?~7d@Le6L8OovbDIxTelC^Xo@O@(^>;77JMU( zf5mBTaj)N2B&-QXpY!kC98$!R4;TCWoxZwsoTHzh|HIkCC%#ssoN0901|AgeB977K z>K#c{XTWU|5;xsPL6t$c0LgDbhmMr8vaR5K7t$HCV3F0#Fpz)8sm8|p+tkcM+}W99 zkIb?p2Rg|i!2h#Y z6Kww`pSB#g>$y_(F_DiZZA@CYR+7cGO)JV%H#?bT<{90Ih_oSpWb4 delta 2475 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 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.11-compact.zip index efd3a12ad0c9b586f417a230e950aa7046903a79..64242bae6e0f337e973998e4360b95aedfdb9aa4 100644 GIT binary patch delta 2459 zcmV;M31s%76q^(qP)h>@KL7#%4gi7}C|sH-a86|j000d$001hJ-w7>|NGX4{Dgw5s zX$_<1pTj3$Bf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZU&K` zmSV$ad^&XB~8N3%tIu2<|5y1Tu57NE8w)=Qi_+@?z4> zSYAzPVAm$AZ2hM^=5E{7BZ(YaGb50XkC^Hr$3(6yP&(&&N1_*OMVH2y?0NOR16l> zfq8f_Lq>~|;YEF5qila7(>F?@9Uks+M=i;-*rJ+F^8HTyP!2TgT0AtE2GEalQ5JFB zux^zJUqGkZHC`1_89f20QL_pBw5J9849i3de@8LO+z&z z%{t5-gfc~y5;bppOexR^-bE|(WU=}4n(Ws~|L{Kp`npa+5w?%q$6BT~;L z4z-}!?&+ny(Q3YHo}X}SiJ*JvO9czhaS}&t4hy~0I*@U{gilDl{_Q`jsN;?E*L0Eg zgBgJxs%3Pzg+71LfkfWvy!jrxqF=p;z<*V@=gBl7;_B*UJ_q5pg$Ay)LP)a;d6Gtf zuOPmS*2OZGV!YyiTH};#8oc-)tDx6r4!5bjBerhp0~q>rZ0pz0&nylDNc6Uz-lXDP zOot8q8pm^;eQM+eV|)1chb4wc$aw%$=yrRJ;6#q`Zx?^f+O0t=&}4e96D+K4Ifm}S z@Q2%;&v-XUFQj~jYZ-_PSg1dmb;R3(e0QXWkTuqfr_8tyHoZpLfzPWLUpFz{7LtO3 zmm}kNy$$vG2O3jO*^bB7MX_>lXDK)p1UHa(cQ4oHWVhZLWXB$?gpcff)FmD5|Jju!y0}?F zn=}DI_w5uxX}p0Pe0@Omw5SZSk)nVN%J5pHF-Ql#LUKGe_^Mmw_xH1F^GYyW2)p9e z8}OlJxBR9C!dt!oSp>b!mH3rA?P!GZKh7U$%C;6xQus52-0k5TZOTzH06S~t$2Qw4 zH4}gHu>jlVIm5o@TwtIZyV!NPfxc(IriqqME8w&__i1X&=-$%`?fC8noZd{QLxzuli@%cV zL1dM1Y{Ud-iXk+*j`BC26``zk?*HS}KNfh>Du+rTZ|+=tZs_n`h&MN-=aV(Pk*Bmv zt)b#R5{>pS4A+^c^xhl62dU&oqO2DO_5)Cj8Gy7ltyg$pYLQF8TQ49+Fq6Zo%nLp#&gxt}GfRldp4xCEWgh9Xj9g|E9f~2gxdSh)O8##YZ&F%&E zy}|+>CamMo>#|^G(P%iZh%09N74UB{<#~tpktI}~|6WmoNRd_jDQ1tK>H>>kz>cd` zy~+P(_5H%dOvA><|7#!@D+=8`q8%C_K)SnWJIS-GO<=s#&65U~q9bRhicgU=Nb?{Z z$Llx?I4XUi?;ppCuIX-*2GM`gI>F{&OJ8aTCDVek{ph6AReL zx%S|uz*@M7f=FvPz)qytq@1$BGC4DVWT&+F_JhoNGV1YXV;OAeBi;Jdw5{T)tK$+y zht=Ln7X9R{Nqd^c;r`Ac6xsLw3OH^E8UlSudU$aahugDzHnO@XJ`WDyHokTTd7ko;|80eWuNu@pIg3LXuhjlh@*y)Vhx9 zQgc`a75_23AuF3_9OtT1Pec)6YtjQvR%gGL(}Jr?~ix><2Gqm6#RfZ9A#nazks>X!SP4 zr106KJTAo9g#`IZ=A~vTEiKzH^gsIxdIKL8$3_@aLW2N!$gMfr$YvDfg7iK06L zw9mers($(yy(F_KrGY}yDi(HWmw(pJc4>KFYJuW2SpIw*FHlPX0zU&k00ICG0D>4O ZT$(6wPGt!I01Y#f&IwKitqA}C0095z#3=v( delta 2475 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 delta 2475 zcmV;c2~_r>6rmIwP)h>@KL7#%4gg|ua8#Gc(sXMH003k%001hJ-U%&{NGX4@>BD=a zw^#$;@ePB3%)eD8Yvf+&h|RU2PweuGF4M;Ju>ceF@>{FlYwj&0FyzuMF*P52-;JUghCOBdPD}}aO-|}Qw z@xUR@_jRLTysik(J3<)1@0)+eoEHHlc~cgo`WhpF`h;Mw5u^S@c0{i1yF!OOqqYs^ zSUblF=FV#yCl@OqP~xp@j!Y7EnK~j8#Y*mrppTfkdN(-ddNb=@nj0sezc~U~Y9BB- zTlw*CWq2!w+7Wbc>2G>6jG0XzsWz$WA9x5n{-3EzkT|gleE8OeSO|YqE!6Fi(5zuX zMFg9?#eaLdc0oNJDXn9g;Pj!m`Zp_QTcR3S5swVtBDe-Lj!OCM=x1sY9 zWGfzuB8?u;3zFR*z%%>jDkr+v9<-5*Aue`ZA-5iVpJYmyxlgen2V3r~*CnVBdW5CD zTy$HbW^L=fMe>F)r!#*sR=#`6B7)|++;Z(z%#Da7nxlNX(0rra@QL&u-FD|gVBvoSX%mRaE&1f=O5yrZ zv);pK*cH0nnF{=kA&jvLZ=|Vgcm_{mB)6FMrd#yb|&($B?AES zpkh@TS>{|W2}S_`Xq@I(2AlNhomI3iswfiPtqK6ZRi2T%YrV1y()rsw8VK3cO)A%I zrxlvmO(RUJ7@GpnL;rk%+x2(^VYKsn-C|QC`SlEo9tn4NcdM;X0|X z?5diIM{M71j^GCN;dr~lmNA6Z;9tav0-`Zwl1PGLct(|}Us+|sG71X<~5W+O%e;SuE z2zsg0>K9M;&^cD%#98p`{Lzgn2zJ7Lo~=Tn(En_*TEe=h6#bX zC$hLC0cC$#-<~*3Q#k5VVvdcPOx=lo=>_9Ddu$U_4^vjO99fT!VoBORRKx?@G^xFz zNd4aWgf?U?kQVl-c58ZpYgMx*{bhETCogCP@%uE1MmDCTHMJQ#t2Q_A7cTsEm#(BVh_MG9A zNgstf_p5{Hgz9j!{43-b_VuMI0yljJsGYzRKbvsn*Y$R&TfxaiZ)0NeD>hkGf?t-Oleq&Gy3R#%`J?P~2mC9M8!8&gc9 z`0sZAx-+G9td|590*vxM?0V^bY72j-sXdaGH^E5CW8IFCN#}6qQ*-!r>mDl9Bi01D zSB@3DCYHaNp1|9cv3HE~5V)d+2BU`|Ero1CM$zDFfar{hkt)#ea2ZJD=mf-FATV(C zvd`2xSnUgHdJ!=Zp#fXwlDY{x(t(8x#>3g>R@DJI9^-Lm*tu7XG-jefyz+nJY*daN z*0usc1-jiD;~X*%v=Re2%*;a|dyr0*!gJ9bUsuq^&Gde0WSKhomk?SH%r+k2z0F)2 z1f5@087FN7$d8A@o+GUcUyBSQ#hI=T7lJdVR%yDs$@BiNgx@<7vFQWJAO>#Scl0Q9 zVlcS#EBF#OiBhxtYA2CDvi6zbdm{mwm^lmeqO4`Gb-({pQiYYN5@j0>?XS~H{O)t9?+AZq@>a-u5XRWo zA2;5YB>pWC1nyx!$yy`gHDDH5;~hB4TO>I>6yPHpq`6d0vjZc5lsNrrHQQ;m_(iV@0^3X>Ka#4{!YH9SZ^a&YD6#vq1@rx*M<#z7NqCL(j2-QYh1k9( zgt-OP4AwzWA7V8#M@!#gVnXOs^ zt|@XmQP{Z#G5V&7ni|nCeecP$_O`L2ms3{Xf06GQ$46YrQVt#Z;6x|&wLQWtBt19X3}h7YHcvxonTT4enhT}5~IT7#Jbv3)Y|u{2o1xWA!F@*x-q#O1q4 zv)8OGo^*dM1)@U+K}K!N@Of@Zee*j*NQ+C?DxJy>^q8Q&+vxxHwD#XnO928u13v%) p01g0Ra&T0a$<|OG5`Q700000000000001h0RWTU2}66avB&@b diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.13-compact.zip index dc52106f9eb8743119a6e5826c0fa51eac8b2c87..935c6d19b1e5fc80592c47fccae8efffe7efe357 100644 GIT binary patch delta 2482 zcmV;j2~GB*6r&UyP)h>@KL7#%4gi7}C|ni362EN;000d$001hJ-w7>|NF;wJuM4|1 zwJHL(sA&zO=AXkSU?aK`3^>4cMm?W2o@13dpf1%*4I13^MuV|f##9H6S}!-pd8RTX zeQpMkpX02}er`c2XGyju<&X#m<9U6J_LWR{0bwf(-QgEI&q`Ej%IxkG3V1j95xm<2C*in(mn2* zyRmvX4f?Xy23!?Df4bX?y0lq{70ob9w&xveKQm~I@*I*f+jc?G@DD7-)%z4!tlH2q zib2_RVeu_t5$*tLIiM2k@Q)T1rE6f-WzjAhyi;7OY`1q{*{U2`Dmz&Dqmq_1QzhmJky>$BKfIt zr_$oI?3|l8)%egv_{!2~~v7nw2fnz!=AP=sR*JSI6e1zrF}a^S3Hag;^554F2SL#6aUY8|}_Hw`d=w8gLM6h&y^%)bQBd2n_vKJ-VD-2k_>7FaRuu`suAzTDzjEB8(3a~W3>>vC@{*o? z_=a%(dtG$pwzVyqVJ%K9G6-b;G#mfw-S3Enz`SSWGvsXza-nzxk+xx7Bt#vxaH-;w z+Y(U0?f#B$wzUv!dZvk8A^7tnErCvpfC(>cAhHN5VeHRYfaYimmf!!~ZO|StT4r@$ zsvqPXan^IpG+kL#2-Q$_Onua4rG#EM^LYFgOZ6@_Aulq8xH z7+XE51E92ParfPd27NRrlA0$Gyq1iC=&>t)I%n+E%CJJu*~CQacueHS!9qTSMx4F| zF8~*DssH!@jaE^(T@IvKEL$RTHSw|)^KR{;04jfcrlEcwK&kh}6$om%T2=r8#hqK@ zD9CJ^*aD25QZN_Fyx~su{`!f`kzuj2tnDo%3UFx&YhR&*=1=6rc#<)j(bxl?MiX5l zZt%{PI9dAq_A3UAG4ujXtp%aJ=EBJCtR67o(Q!tLS^c}ni0)ZU@~qmMJ%#22MMHNF z277kPWm`zr^ z8}bn#HPE4DxNT$#>h5OA?##DnpcuH+U2X;Q%)885B>1*i>au^<_k1uBbR}k7N*o5FlqaK2+9VZb zuot+mz^eF5SsZUw?PM*K6#WtNuc;q_`H+-Rk{LK%+_9RCb_m5}cx1w;stU?mxFZ_hMj-8UH#<=Y@_mBaZq8_70+c;MpWjBxsuQ%>k4Cu0wg~I$hwPV3 zRLlIAsYSyg{kBndqF8@418Erq2!T(1j&2+hf%5S+0TDZ{jAG&35HzmOSGe>Wt&3>| z(IBw^Xe@vdp3>ii3CpHE;Q#c9oG!L6a+M*q#ep`IxdfcZ!`LfrXyLb~03U;J4qV$p z<(0qji_?*$f%3Gu)%z$+rV-l@^r+x3BDMkeBsFl2T@8YP$ftkBwB490uWCE#EMibg zGVMf8qhEj8z|@bIkKPwT`t(3ss(DKm0l00cQUU~N!gBO=GzrmPWyg*14js-;f@$nU zF*qHS@8B&bq|>WNNl;3Wk)dX~w}%Os$W4;9oYp~e#)>PXVenCAfP)nWll4JV{w$r0 zMt(TM>3(pg4ETRAxbaCOrFs}pm%>AM!%ndz_{`ihsosKV=0*uBQRrHp8V6$_ zQsQH-Uqy>gPu97%pQ$0Y_c6v*pahS%CQiMvh8xUKh;*a7ysHJ^l4B_ w0Rle*KL7#%4gi7}C|ni362EN;000d$001fg00000005KN2}B092><{90J@2}R{#J2 delta 2482 zcmV;j2~GB+6rvOxP)h>@KL7#%4gig0=2X;M2vuwe003(;001hJ;0Y~}NF;wB*K@rV zG9R(pgvZ?IedlGw_-vSe8p2>b(e=VHZU?onRCG<1uDSSR*Af^5K_$?Cg07gk-|S07 zn{7)$Nov5yNaoR170)K5WWXNr>UTq;a)UH!1~&6u4kKfVUB8_ zBmKJ#Tz)p*o&3&kExK=SFL{6LxRjH4Dl(y@Q%s&4O6NC{;NI z&`Ba5p6J1V8#sMqeHg+eY7@DoE-6=zAE39jW9BgzW2Qu_y&mVFNDU)lO@MwUyD3%O;DGu z4r$3}Jt+7rR|sJ>jiki?7JRXaGi9gZfJ%?(!!QYPf|f88svHl^&q3VD*euDE2w4a%S`Bxnwog3{!otB3ednW9EEVtB#1$P%6)$CDA$Zq>k zLgjyGE13=n;P2VepWed?=YjVm&&+~YPrXmc6OSf5hQ1RSoHD%@SN&NJqPvNK)5IldxuMn9j56MJ~5><^LZ@l^9 zmBX2dWBxE|_T$-?G5^qoS&p&h6PeK||bTO6#k<{YS>NMKx+MyKeZ;IN+!=?TucDA0I?rcsf8vZQc`I4>|t4 z7(uwT1(8}U3Qre(9k-<#191ywPsfdIv9^Pj3|+WuqoOJ&tqp{H8b$ooZ(D#gH6?}~ z7>e5x;j&OM_~oB+0Pg;hqnV(0Eu+*L*|GHF-Kye^9T@_3l~CezOrT)@&7e)+Ny6JD*t_~!RIJ}kE(dA+XAUr ztOzFFUqMl7z3->4L@< zBdmV}m;S23K=+zLIN|69Spka2Fi5@EbYX4Fe5}TGC*dBOLH9j`N|%`{a^!m}SmIk2 zo)JSmC2{QZP8yC|krF3Np8;=tv%sb0-)s-Tf_9khYwOGyZZ_ei5JM*DyEYg)zst_qG{;Xx_koonnz57o$v6dy88Gy1`M(# zS$+xoyL+N$z-i(Vo};GEFEH%S%L$8HMH0>aU0D_d>FGaweB+|Sf~bIbOAKGY!JW_xeGfmU{WR&O5Pg460_{5G zFWcn01Uufk_$qm1qS!JF$4o4sBYH0xRptT8(C~giMb8pO>?=}8I5WklN(^!i-4R(^ z)!+jyP|(M<0^cCtaIliz!x-fxS3p@v6(q;vyhV*s!4pqWPsa69)UYU~9%+-7Fs4(U zFc+qi> zzb4A@3p^u3T_l%->uq+OgPipRy$jmEcY&$1Xv}|d)UdrUV}a2Gh=&7- zcN^e$*!O({&UqC@oYHauZEP;%2__84uYs(O5cGvD$?ui#Y=D~N?csk|wF^t8BnQ=a zf2@LP^cKQN&)J}XHi40pgMg|=*g~4k4-+rEOiKuhihsO7PLPV0)m)Sgsy+Y?r313T z8p{*(U1PVuO~z{rY2(ClEnZZMWKB2vSSL|!VaZ>dT@3>79@o&@a->+K1Ok!6wI3#U z1b|V0f8YGd+Dp|*OW}VU$oDeRg!FN8nbjgyUlg#H;7UEi&}1#>(__;e>@eDde+I6; z=dbw7UQYg5D*4~Py;z=puf9pnZgddp!_d<56Ffa>X`CSN!AYziEN{UWF8ni{V-YmY z-BADtNZ%D&Iw6osO-|$wW4n8Z2A!%Vpun=Ep-iD()Tss0T~sL zNxRqGexE!DAkb`kBcFQ>`yX8kaw5`h)uxaiX~_*~mqzGnnykbHLkkua2ksf&ujI^< zl|T;WN?vTk>uY}ndtMEi7ox>_cY28$HvdyE%Qg$t`V5`VI~MJ$mZiHhwjrqdGSK9T zYUw)N@q!G&HB6qfWi_CEdAI_DsH_&ru7uv5e3*MdVJ(-~!o+`BCTmc1{}DHk08mQ- w0zU&k00ICG0F7kkRMcAtRcr|W0BbS;04e|g00000005KP2}1_72><{903Jx70{{R3 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.14-compact.zip index 1849ae73314c38655aed21a68506e3e136810cc8..42bbc0e20a8c4e5ad586e1c42c3b4a4be88adb5c 100644 GIT binary patch delta 2475 zcmV;c2~_r>6rmIwP)h>@KL7#%4gi7}C|o02EwyV2000d$001hJ-U%&{NF;wJuM4|1 zwJHL(sA&zO=AXkSU?aK`3^>4cMm?W2o@13dpf1%*4I13^MuV|f##9H6S}!-pd8RTX zeQpMkpX02}er`c2XGyju<&X#s{LPNfDJt;`)E2ULDlU#ROg8 z!murzohMue)A3R-cNW~FYdy!vyf$RXYx#3adS;fzq$5HwlIy@?g{ z5iu8;9lU5aY#Q5}4DP-%(sBwqX~V7nOY}6gOJrlr1rQrkNp0z}UfVWm^aG{>`;JH3 zk2-=dRIrcGSY@ZiLcV6?a*#Y_vx2chdv*X*z2z%MAYgJIP}P5lzTSdA;@-P$EVq5o z(M(|UZZ|Dh#vtY?eo325*_zfy+4t#Ay7IpJ%+Nib-CsDn-RVv+=+JG;2%3IB66AOn zoZE$nCupFIJ!(7LhCt&aNC&Hk3YyLw-z}gGCcFVCF)+VomOxEXb5dGLAp~xR2026v zf~*rph%z0q_J@CoB-yc^Nw1noebPVuGpRJ>ZlGV2He|$OLXAA`eB%hkJh?p8G#L6S zM8U>}y0HpuU`n|2&Ccy>9zutc`8)ygwDn*u*%Sr~hu= zhfzkkk{ULs&m@qpQq1T2;O(wE(#A5(Xzu=UNd1Oc`B#7bx=lOdAIhL!qed-pgJmjq zSKPcG_8GgHb0Wu8szpV|y+ja6OqQ-Tz zFDs!T;NQRFLc7TQf{l+kEAar;XgL*lDtg`g3p!E+qnE3%GWeXV^>HwB<-^{jtN#MT z8uE?VK7$>;MBxv)xQ~D{nH5)-7l}`3bk}%qn1_FCX#Ixtkw)Z!?^WP9MUZ71fvUs5 zYm9a}RrtyijO6^yM0uFg9dyPnLkrhN9kX7G8;`9F_9ce6&aB!qQ|4_}7i?}21uOvp z|4?EPrGWB6PCJXYwn7JKcU4gtaq;wW4osKzm!%>V3bla6ZznxB)Kb*$Y|!*u2a~)hCxPb~vGwHZ#>Hj= zd!Me*K>Oy%=#snLUl6oWYj(?@0+JeF^kq@rzavf>jen~h5HJ6C`AxTFr2)z&5e9u$ zk_R094)z||Dw$OsP-=X`-|nN^Nz;_u)>ePO0qVp~M-_}jXrh}8HmI{dp;b`h1bgKv zMrPVW(>~$_$QCk~`l{Fw?G3nyB*(8u{CtFxEq))E$1&3u6ukcsB=n>ac|FMu%OFJR%2^5OSO#9Yr ziliJ)BK<^Lx%q}y^+=srR`!iLH?=!?SUF{v^ujk(!4>TI#c*{;<56bRkU?<^l1fQh z_3>Df*Y-Z1jj>ucW`zAZ6Y~5c%=&+rp4f`tgs?Ff&|w$72d zDp&Nq1V8=vFMaP;ER%G@58L|g5>uTfMstJ`u%q%Q#rDFkS&!dH{$8B#bpzNOPt4CO znGtTBZd+K63WBwaj`x~AGOAy4%YnQXUe?I750{#z0(dTvXnJ+}ac&DlULAk@VF?~o z|IsMQN`H(*n=i=CzMB6bZA58QmW0lFo?|dPE6eY!V0&TqF~o0Wf3La$>j7}D2pndl zf0~RhG$ezLfJ!%UN-(K#hAeK7BAR-9BI5x4yUEN*{N!5@=3jYQFpJ~@FZ*sBfuRd= zpJMy=N@=($C_+v7v9E72%fNp*9~R8FHWkM-zAl&({tw6n9&W;w>KQS!O&kD(Ito<9 z9SOls^a>DHRgkrcVPUvJjcrsFqn43Lrki%lI!F@U$&7>bkYeXt-BG-`RtL&1kuc3j z%+30oj3`Wa!RC~&gzl_l|`#5~bDo^eAF zo>!gR{-PHmrgAK;SU#}P#K~+8hpM4S1uQ0`=gNT{$=Re^EHwh~g;^^KM(puDa3s6m zEU6f-Pj1Dd#)xtQBrJbey=I52G7K?h9w`Tj4FcMu`?vc>7eSwYrJ4m{2FX7%dc~t* zU`w!p0H*vn+ZgLDbPwy?&-QCS059LFcCuTZr?>c5Bv@Qb#uG^nqYPVuWJ~9Q`sE<` z!{XVISgOO7AHJ$O>3I+$?{?a6@GVLWEjj>wQww zI8J`iw)OOnzsF00QQZLiqP|?aZ)+1-sxlwW@gfLb#Er4FvrHQ5K;~p2b!^f405=#B zW@-dOn?kbr6IM$zZfMX|+eyTT{IjnF1Dl}#FI0kB>bCwFF|#kz1Kl(*Co zY#kr8H(sGNw1R2&R6rmIwP)h>@KL7#%4gig0=2RJnC@X6T003(;001hJ-U%&{NF;wB*K@rV zG9R(pgvZ?IedlGw_-vSe8p2>b(e=VHZU?onRCG<1uDSSR*Af^5K_$?Cg07gk-|S07 zn{7)$Nov5yNaoR170)K5WWXOiRVH1K1af>0X75mVxoW9M--oD zK=>jtG7w72Ev?9)utT{EDMPyKQTwUHv7E%}ZamFB)JwX6X*Vc!jL~xi zF(-V6c|F1#fDP$bkYn5DCZmE$w38q@*5e`;=atGY^H4GJ&6^fE72bb8Tr^ZbHh-uG z>vJ)OdPecDu-T9FUamwtGA)nW5LKJY;wTmCk2$wxx+5%@EjZL|N~rM1sc(iSX4-pm zUJm2o6Eo|;1SkuLRSwA0ciHK)H1@}N!ZIUgHlpL3srF^g12kOqC)NR9%!62Bb~X;l zdB~!VryCyCxzbvSMr?ojKeTi8ss(wVbmYIAL=FKR#J!O(hek;K0MW&BVymUqBbm$p zAS~-#F<$uNx#4S-n(Cm^5}AzM@-)tl}cDG3}sU_&Tm(G8~DX+>Tjl0-t@_N|4+u>QAd-lZb4v2~ltg{^aIRo6 zQB1r~zo4o-*`j}|lLD1Rd(;kvw^7|68rJP0;Dm)YS79pN{ZH1IiYBLVz3wvWaS4TE z%L>L13b?A?HA9|ec0y?;@MKo346gqz1>0NE?H=#JJF$lW3 zBVB7%Wh;O4F=GR=Q*Dg6m+RY`Ho(W7BF5&oWhpt@f2zvb=`wwyz-$LO0tbuw7PS$8 ziK*dPDo$EXz8px_G;&=WPU^(5#6z!nPOMoMOG3Us$rNMy^C8Bim4iVosVu*$KL)$G zg;EdQ6ul}!XMfZfPjSr=(y*)vCPLh07?cJiPQiZ(!5ny03Qd@{CReatPktv*AJ)k` zGL(ysP}%4DbtW)n$l<>ENf>o#W`mbZW;r?@Z>}-2N;Q#a@tAwQG3(Inqi?YJe$u)& zTC!tr5GEhmH>eN>@?yR#@W2H|O6qvzCD2S4aICQ}>RGl_KGW~CGNNAYcM?bF{rFg+ z|HpqD!sb^O`z~wsHOvaX*1){Ov%nH>hHjs(fUQOkUD>0)g)JBjGdNy4P{TY$|6T)+ z_16ra5d+1>PL~r5;SR!D$yz*JM$?Nt=%2yz$0)QB&->Q=2SKa%gV^>j7e@5eDG&z9 z-1psr$t*PY|JRidxCN$e#Bj)^Z%-f=Z3%zi!c?hXX!E4euj9))1b6d?NJiFOTfhg$ zN^PW{jM8sm<`xQoF@`7+f#fXHqiFUKuF96lsMCsAdvLGqMFtrJT1*=^qhqLyNp zlnF~0KNf&iF+xDrCTDzk2&Y@CIwKt8^l&YO&{kl9}A z;-p0>_TrTd%G1p`uAJ=l(dSsLjIEN>Wok;GFOB(#FiC6X6f}Ft6+g-mu ziH0<6M)M;Nc4oDUi-)ZH2H1awGl9ByAhm#xO2iRRE`ov1r#;R6fafT6=6CaxS*H_)MS-`U-w+6AQzK5>7JCG5GL4_0SZ z}(_?WZpXxzkLsb=#-N^9CrO9wFUn}}ovjoF4ueVW_hS-z?& zw!|0GeZlL^a$JvzAqD&RC}a)RuI1I0d0g2W*l3zFZPC`leKS4lynW@{g%fs5?oBEI z&*Ru7lgDjsan{pLVUNV>i|B%m%M>BNqd9M$>GBHI@G%kTPlAE$4!cqZR8ww}NBW*^`5^$O z`~XoVpzSbAddz=n6BHIuF?eu>WOhuN(?)N}pWxL%X??HN=J+X>Qp|IONwR)91?7(ckf!J8$n)<0`v%&|P)h*< pKLbAi0ssyGjb!Fj8HXq@KL7#%4gi7}C|oBTU~6d!000d$001hJ+zBm_NF;wJuM4|1 zwJHL(sA&zO=AXkSU?aK`3^>4cMm?W2o@13dpf1%*4I13^MuV|f##9H6S}!-pd8RTX zeQpMkpX02}er`c2XGyju<&X#S{yirV`4Y8!uPIv);vHAVHP;c-zkDrsp$w zKAH#(^plc0!&r&!r7-LFUgM|Vmkpd~xG%LAmWbdZPP=c77$gq!kI+3FR^%S{5xR#` zQxy~Hjj(Xv0E@-cLd#g3Utw*7mJt!jP~0Mt*RywlN`NbzpJvwyx+Z^@jvn~##MTLT zrl&?;?BRmA#iYp~N`1Tw@R&*mtZiXl?)ST2@)bDW#EhR$LE?|0R&QwT&eP-{u0`ex zgT8YHF+1xOS=&f6Ox%0EhoBjulLlhmbt?jUMw_&ELg_Xks#HTA>e}Yv zg&Ho{K_m@obr}blbgh4zk98Nr|E$_Q2-7&=eM!Cv(*+P~Bs>vuEMxJ7*pAa$o~G1Q z=LPl_0xSdqb_yypGjVx5c{1+L;L3CCw@Dv46I=ZYk^;kR_8$m?5e&?+n-vOwqB1U6p&oY^t`8S>;KhU(;4a51`c1thJkV{+2%3IB66AOn zoZE$nCln1Qo7t(2T?rhAr>oQ9O(@ivenh>M0x$xwN_LU9Qq(5WkG$c2B@8Usg{lKn zB94JlCL{AJu$g~a-xKqgLn-$&(I65yzP~UBLCw!f{^g2j_>kRbMQGn6jVose?Jp>e zD8ypm6Cq_8-xse~=MlJruf;>_)5H-|QZ9~j}h;+PH!$^m%QEz-`Y)7D0 zg)5vyp6A6?Agw-B3O&*%F2bLXTM~SUx2^4p_^2#?0`pC3G(>3{)sGwt_9LJd+dqI= zVxRLK-F<)ldD#utgD~Pb6AEgyZ!**!I>6Ygq;d)x!1ZQdrQ@>G%68&3ts6bTCKj#; z@NbjaXlt*uWX5s$g7Eg)@>zxTdS()$MWXVmWUUXo6 z1FkB<8N@ZGSw3WYv$#2H!tMt+LVI@ECc&shpW%P8`muiW!z^>^`zO+kUGxb<=ocb9 zk=JfT&G{(LU+oG@ES*sYb{VS9l+4x*1~R3=6&ua^yMwbF>W{~$%sYM}0%Ddy#5-&! zvnbQpV#A{xoY2W>NrqgN%gg$1ktus{b@zrLz0p9H#JKo$ZC&k@4K=kp@qNI=K#_BN zExUhH=sa&533=gb!6pJ?*B<2@#BOQr!HvRRCa28|@P_joYWq517iUI{NKd4CwnWp^ zrmsBp95R7VmPB5TRQ}M)yxjRKYa-UQt)_u{-v`?=2#m!TAp)c!kh&7Ib4<_ZVXsm> z35w1c#}m0ov)nzg&?VUODZA-LDb1H^|k=(3o}iDy)t71T!eGf0ut? z7NIVJWViWKb+pO44+OQV2V_zx}39P)EFsOtdFKAJ2Usso@CCUcC$zegvMlyjGtvs*S+ zp2~GZ)0C4}2Cpzm3WX@>D#{)1?huq2v*1tQ{xbpSe(eFnp?b1QRM#32p9YZ z7~e5)KfOoTi;Xlhr^<}nbG;kJJh|~@qY|SrLoNO8MhxVfodSg&XKI1O9r5=G6D9;| z2}Acm^KPEv!!UwXVBif@Z~mB+l7*n(g;pJKA_b`M{WTIE? zx~f5?%uBz8?Ha4yQg?r{K5Ht}2hRCv*K{3)x45~1T3as!*M~XX`9v<8N4a>+J9@ZZ zj{=stD1YaUmwt#$yX}sHm2K~USnwF90a%SH%jWrneBCLE0y_E1viI|y6x4{MZqTR- z3I#P1?iNi?#tp^;&TbAw(XydhWVN-(5{I=Tj`eh=oKf)PbWDF?Olgd%vPqq$ zV9T1FSvFLizv1ej7nCRUI{iXT!K( zDq3VdNsKG454gi>9OS`C>=_HJ?PX-@K0ajfWM}$_vGw>vU=b}GlK+s%uK-X>0Rle* pKL7#%4gi7}C|oBTU~6d!000d$001fg0000000000005KO2}YtuniK#4 delta 2475 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 ClB#n6 delta 2474 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 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.3-compact.zip index 255a390cf86de6fd53ec1fbd51e7e0b01b9cc5b1..84fc437d9a34ae2d51f075194a1585df61bd4cba 100644 GIT binary patch delta 2436 zcmV-~348XP6pa)YP)h>@KL7#%4gi4|C|t>wH*{AC001VD7g~R{Dgw5sX$_<1pTj3$ zBf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZU&K`5Rzbr&hM|btn-X_aBDsD5RM)ZFN96?5;TioMO{iylkm=#h1 zov9fme*!~HB7l$wV;7;c&N4Z=>q&6(Xb3jJXUq?QdE-dDi@$m8W|if+4Lt7;dNb?j zH3X6kwH?}oIhy4h27Fd*ZDr$U)hub+LU5{+*8+0ta7!Qo&79n3>dNo|Cc+~U+5NkU zBq7`$)AxTi`9IY}?9&QW83IJz;p7Jjn52^n%6j;VPiAj;JIcnav>DLruv#fF+#{MXYcIORl|$;d2W!|0n>k z1g~#*?t33p)WOScg|Z6!!3y3-o4_3OzAC(EXZf>OR$=hlLIW#*0A15xAu+@DB~x#U z&n15mDwqY1)=%7MFMyF4lB<`e-8oVkAV0bl4A@?mWtr{oXTOifBlM#G3bk^!T7}Sl)oVt00pe$ znOFJ$9@pVO$^BMqZO@x!aMQRYzdIqw?dN~pLdZ5neGwpgeL?h<9Xsv40K$Pa(HaGU zPho(0`rJ~65B0C~#<7FtXSu$5VxIMV+7_Ka?Bo72B!CmdbL_(=`lqj* z8w^ee<+nWHL3OXS#k5G*=e^KcFm^Af&Q18g)ezpo!G^B1y6J$thBRKTG&1GJwYpYl zGl=>6x+rW}v3lrZR1mRia6(&ZP(FWD)&VKo_t(borqy@=B%b;jQIEarQBOvQAiOQ3 zAK%Jp!1ic=3K>mOGOHNwv&voZdhF>(=#f$NEC)KH<+C2onzER&Oa3Y3#(4jX zK8o69kS=!erE{AwQTCWC1Y|iS4E>@zMd>_CH|LO?QJv;!6z!x25jYqkRyu#y*)5n6 zyCuT`$k>PlhQY-%^1-r7yLIGub0^qBE^Ss>g55Ej?~sl~KWVFgGrHu^f_~Z@XVU4{ zj$d0@F=D1AAeeaEQ_1_gyh#JyR`gri1|5G);M-rXY|XYTGJ2rEg4deRJN{|nL7F-q z+QCH{v*LQPhpPEUpVxRUSrUKd;NGXLN!VXnIj1FFQt9V6ME$DAzH~ukAha2116hT) zHA`$YZIvfh)b$~O*Pg-epOfU$Qq21ea)KZbQP86G1U==Xo(6|HVOxWHb6 zgAr&mb*mG2jl)gVFSTRb-ox*tg@TUIfSUYfkmu@3MfcnIlpb>tfh!Kt3JP?SUwLBi ztXg_eW^QV3COr3HXBzCE<`<=NeKzM6E%q73H{RsK9c+OpH2NX(Dt2;rcwW-?N=>Xt zqP~G*vcY-N6VxAbdo6#Cn5e{U8enCT4x!ekl?ZV-HJ!9@4@$u4d8z5MrQy-}nn8nB z4cdC33I8@WXk8)%!(e!zYzH}Sz|!FOv^Pj5eEU4BkRET-1X3vFPGZL#omsI-gTcgr z0?kem92-W2lMa%E$wjwO9*cj5r!(!%tT+Ha=$2pYyJk6#Bj$fTq&=MqnEuaJXb+4f zZu$!KVwdOvl3$kzVGvyp)E2W|5hj4SnmC{Yf}c`o>ThE7Y+VxgJKsU;W^)w(Gbt({ z{dWx8Z+O2*pL#`~byO&P=hR>oVfJUN%!fyDz|pmF6G@|jGbacqQmQI?i!@uieI+UsM=Xx~!kpN5B~O+=t#+ePO928u13v%)01g0w7${uHmN#@)2><{llgJ5A2A>H400030 CRIbth delta 2474 zcmV;b303xu6rB_oP)h>@KL7#%4gg_ta8&!V+|g$V001|U7g~R@>BD=aw^#$;@ePB3 z%)eD8Yvf+&h|RU2PweuGF4M;Ju>ceF@>{FlYwj&rI9d&i}h5FzWG5E>~4rEXm$nQCdx4JFrD~(vX*`(G{ z?5mUA>Y_)SVk3Wo`lX^hCr{s$yItHOsUSm+VcPCg@u@-HH zOn3FERhI4p_}^m&nz{L5AR5yRf67fA8^^^I{r$T4M)?h{* zMzn5)xGiNWj5MQz!DB5Oeg=VMC3LK1ok-c%MYw03{j1^x2WdM*++#`Gp=AkcBShrZWe#MHf`M>CA$Pk8IY z)Z2EQ<^N8VYX9c6#fiYeX`XnE-qT@`otB|5Du{o#ckl3GrKzUsHleBGW|jc9ES-3? z??Q}U^x=0~cl3l8P)LtI92#G*jHO85ljE=m#7K^u=VY@R7ZKMI9w{#EC)|VJhOZ3A z8(-z^c@@RJ-X~*{R$gmZR)jl-ii@(Khsrqs>1LGUs_@B)Bv<-^WNZ3uYektJNd;%1 zWjKE~OjNduFo#Jjm~Bh_zMv$9Z8P}77c>5aTK=2nMYQCfxv#j9LAWOq2kj8nC+mf% z^g&~G?+OBn6-^Ngs0b2`0O!|5+~GYQ!2m-4W=BplZzen(9pV87qqF$FJ>FtGDkG6) zxgUL(n%+^?D1 zNs?g$Ey})}1V&?Lh6-(5Obb)InmI^s4lnN*PDkQk%uFzZYAmS9zvlIH%j3lP_%-hk z`)U~SPAYTf#Tvd~cGuS)-4hz`>Os$Mk#c`m zpmNCWQy|QR4)goTIen`GiT!{Vbn+L_W7TT_TBAH0Wy>wWTC=o1LK@(7} zR4;=1`QNRubkBFV$Q&e8Z4Vw@0rh5m=mL%e8@OZ=&9YN-b_jWg(%uaq(4U@0Y`G)c z4dCRY*2xb1$iCp8Fn;2#WetQ%7BGL`28m@AY(Rp^ibs)$gPV|QeyZWA*{-vtQ(vu; zpPX=5Q(nFB4uwHmMGcm!M9Mzd?c-%mwq^NFsAiLaE_G-wB<~|*Es>1fIQhO!4CNgk zkFqXjUMkJ^(7s?naoMnPYXyJ6pwpnt3gkFZZ>nt2764!|mtPO9ap+hEas7YyWb#@B zaa_!UF3F4|d)lhhWN8!Ijne2W=Y7Zv`+r~NU%$px-fV4+tP0F0MYI1udmFzyX+t#4 zSdZzw4BVjmE3O!P%ujSAvt2y7mJmo8B~WLDSEcp!4Lu5IHfzJ^lKjw?qJ*l1ZZ}Jr%*X!l-t>FNomZeQnN~?Ua*#P$WOxLgClFQTh4TQVU;JFHxhLOGWLATa z8M364uH>Ny<2C?-CnbgL6Zco+sm&No#qFx8;vfFu?k0($;-GoTmeK@pO?PwCfU3NdnkZw^=Fw?(ko_VuJh(Ypu_mha+X7u99o zFDJ@altfw}Q{edl8t^QFI%@q<44W>At<{)A`Y|0FAkxWxP zL^OppFVcVTP`@z*6QfOGh!~BZdm{W1){tf^Zh^>8`&a`sz?snCYNkw|3bOIF(#27NAE2Rq^R_l2m@5RdZR^$vL28ekqd^mi&~0S@qRiHNA(U)6$oP+>KL#NL3+@L`J9IpjyKgh^oDAFTb<%6klUXo=YCdfi z?1{h6_*1pK1yl6M#Um#0<3~uIi_wnz<{$GXMZ800000000000001h0RR910Bw`b2{{I@2><{907yHqMF0Q* diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.4-compact.zip index 6fa73386abf5551b77bfc4d6fbddda45b1145ce6..de438112e5a6e2cb5d4d3c5d1752a081e62c8f1e 100644 GIT binary patch delta 2455 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 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.5-compact.zip index 5acf10f186a5881d3f99d8f9771adef820ed3e38..873272721748f9190fee8461b2a1d95227cb442f 100644 GIT binary patch delta 2474 zcmV;b303x|6q^(mP)h>@KL7#%4gi4|C|reFVFzUi002;t7g~R{Dgw5sX$_<1pTj3$ zBf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZU&K`^{&=>R*aQ~C_c^V6R#XDJ6ssb1~UIaG06x$y zwz8l)3W5feKL}!3wwZoxRrM>alcT>JUv?RAT-J_c2d^ zRudPbgk~P8ucurSU=5(w$VUiZ?xFdBvr@OcNZj`8A-=HZU>2-#4vNV`+R9lk2y?@W z5*IB^Z5t3Y5+*G{AWD+;P!;@mA`&{MDc78=_$Gpz^nbQp+&7G$=CqE5lHV|<+V?qN zmo$G!*1-+YFWNw0?gA@;Bo(Q{!ASFyx;A}*YDc^(9O#B0-^{I_L1I)xY2X_R*KEB9jo+G(u*sWKn4>FYbsH`Z6nU*`@y62Gia`cy`w+jyZ= zi#}s;9I!F-L{|eG%jpPuB+UP6e(t{D8n%CzvXb5)Ouu&(YqZqgDT$1dj{s@H@J~nE zzqT*vY1sHzN_m++pnmB~8pX8AQc($u$er#^T%`slCuXc5Ym}0K$oP#4Jc$)7xG3I9 zbS)dgsk2x|cMKq2$0jSd%aE~O?DmzMjOuoD=2^V z1H64B&-?0(KqcwMr z(6w3UK>kdCi${e#8WZAg29K*1z>|6m`65eoafPs?7s=>EL4MXkwQc-n_=9Suk235U zGxeKF1e8m?=SuMdTQ=<8jglq|>~w`~aeJ>7RlW`tNOU?=g2oAdd-zY(+h%`aXenkJ z6<1*anHKVQ7+y)KY0qVOk^;2Pb|1hODDvSe$jHzx7Grf1(;*9TdR-V2Xfy^6(_jgMS*6fOf7f8h=1_ zjX*pcyZGdcC(}Z{H*Dq7)e(PNc6?EBB^_LgKBECWM^Vnu0E?-G#w5q)r;w??yjO;Uj4^~!GTT*!(Fx|)P(2E^mD!~7j-Q`$~456jz#x z#Y)aY+7I`wGNXD3ZKQt@46x?HDtD}gL34;IH4eXkP#2FB+~F~Gv8FJjI`ilutrnr9 z865US>(#b1v^V3JFfG18Y(oyW57;}13%p96xj$UO3+9Nj~~Bgr;ND-B)v5HDZ0U4fBpxge)W;(or(S zZ_1RIx|p%C|0y=BI$|aSUJ{W6_(xi$7J^5Zhd%isL5$rSiku#GpF~y%t%AplzMvf= z7?KW)_0mNuEmY?beoJQMX4ObAp9O7KR9wRdaXHyozP} zczu#rv+9i0e3+^kI?v?&Eb$||uOV+L4F<{r?wHrwilum%X+%4@KjQg}g~BDRe7-6* zU%NcqtYBaqI_+`U27oJ7WjT4lRxZVuZbf3A-UGN)lum!E(lol#9f#nN`#qM1^wt0N9$4QdoOmbv<&dT=v0pz^u13chOPx#T=d5rNh z_S@iU&*F6^m+ZT&s6-d|4B5q?_Gl@w7l|{&@bxO`UxgoR~u(W8ofUk7$ODhIlda^pld7%VhhCRWbko4fV! zju}@%xVlkZl?gEkIFk7e@+11&NEYpZ1$CI{Ik6*~OWgZp2o~(%$7d2w1l^)9_AC(} zUYa715_$HDLEvNpmNS~Gk~!OJ>cOM#1WHqx%GQ5B@ZHK?>JsK$Zg0<=#V$}~-kcq! z(Tn2)1hE4}K6MjW9i{_z&u#ybq?2t%mc*XNWAV^Gb`5z}tQ~}YrRi2cpRgmQu#M;d z30Q8Fd~^{Mg=mu2o;F*bKBXX4882ZQ?TI@Qw(lrnDoD_yFXH``$e&emu5~%>oD`g% zU3z~+!T3oden6t`|L*(Xb{YTal<=T*O%palB84cU&TsAThTlcd$??4UfZHRLPp((2 zpA$Ae%j`5!bNa^qpId}o_K1%PE{-k{|Mmae;ZREf0zU&k00ICG0D%}NT!mU;2W1HW o08ldk04e|g00000000000Du7i0001OWo?t{2{#6<2><{90O#?nWdHyG delta 2474 zcmV;b303x+6sHsyP)h>@KL7#%4gg_ta8&4z^L=p%003c;7g~R@>BD=aw^#$;@ePB3 z%)eD8Yvf+&h|RU2PweuGF4M;Ju>ceF@>{FlYwj(9BO~JBM68v%NXzzbyL4bin=Q^^S!XlG%rS$`^{#~ie zFA;#@tK^+D?%p&qFRfm zeN|uk0sfz<()dY5U5hoBzpv8)gR!V}06%Fd_8$krr0kmG=;LK?d)oi@ZY2wxE+teg z0=9c#Kh$5;f6jc@_g$NQ7#v zieYZ>NO-upo+oi1xD{%w#Tv0Xiy_6iofB-@Rn4NeiX)k z7IgZ!OJAFIx0xD`5|j#068Zov`;;@)#!m6?Y}$=+Ml@mR&=KkARJT%gB}5%;lgkd` zq{4qin?-8nzG@Qr@%W)hVU}gmLXMbwdC1&2)hM*=;Ke`J{Za^OFPiN zj}`%K?lBmA-K!3j2|*3JT5jFJFX&e5wUKlqTt63o2!m{YC zCQpB;yc4;mB=;1J{ZStu+91Any<~VJyQ?9s>L!}LC=IzbA;1jdT zBFVWgUCfW5cBPN&*CbxsK5hC(*zcu81>vw;;ElS1SjJl^T4v8-lbN>8>2e*g{M0kh z;F$j<5>7$H+TR$(%<{DMx>eXCI-GgooD@X zdF5A(LAhKje=J%!jvRut7be%6smUxJbI~BJKWp5jxv)X^KDwz~kldYS%=vjcebP8YUZz>VQiqr^ZX$@9C zyonWh!&Q84LhLQKsH`EwHj{dY@4(|4hh4S=)1-o2xHVD9NLBtSSKOKtv_T7%%)$>Y zZ9sUkyru~0?Tm;s3vhCDpi9Sw*V%|SJ!u2!3upO|?#06?lX#c^Mf-{=u{wV_)56{ZbkTm?aQzN*9=;?w8w(+|@e{*(P0w5wkZlEk z6)*1M)yRy6R>hYM*yqw*3SjpA0(MAO!a{oZ-kpY!4u?T$K6O?uWWY z8MG22UX)!N^+O$&h3&DPzwP)iof;j_4)|76h;sSz-g_ykLfdKWQe`@t?`90I&oZ!!1?!g+szR< z5VGOq;!O4c=iI%@i%$!ci`$*Qr)d(ss!6cvwl1(!v;*$kY#@ctCL-4Vr@?<066z|k2P1%LM()Rc zks8XeZc%eRnnSg_RR7pRj`*>&sgdqrKk#crTK&E6{d@HcSxaOYS+PNZKe0dPi}tGb z3Dhu2T61?pl^O7WBrFD>HBT3?lF@RE07^>yhv5KaUxq>X{m!hdrf5VCsca!khN!|n-l4m$Mf7SYC z1`c1Aa-&>-){QEYpoEl)%Hxns2j3t*7>eBNR(vMwum}E#pTOoIx6Os zucwen#FDE5wx%O>GK7Ar0IBd%2Q5%Zm)&c1!*PG1B!Y6ia+maK_>N%p+i5=Cv4&L@ z$z>(CqK>4J9Bb5U+7AH;kSV}~@?>W&Yj)NG00XOQK$<=;5KwA=?MH) z1atI(6yN=%0d4Fr!Xmo%RFGGc_8OAQf>Mpz#K2Y|Mo1|^iWFy0zU&k00ICG o0AX@)ROpZMeQ^l@0AVu#04e|g00000005KH2}1_C2><{90JYJ+zyJUM diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.6-compact.zip index 44f1080521b9e0a0997d9fc7e1ebbb2cd18b5cbb..09932ee653ba59b4c2c1ce14f04096732ab61e67 100644 GIT binary patch delta 2448 zcmV;B32*kM6qytkP)h>@KL7#%4gi4|C|oG?{#IiN002;t7g~R{Dgw5sX$_<1pTj3$ zBf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZU&K`A43Zwq=xjU$2qcu&+!il z$5a70>c`UqWK2W0Wi*;k z>+?pj9WaVvEq>LYSC$D>Cwcw6P9S23)-?Ji%ZsJXC)S0J$8(vwMq1z_@m>{nnP2 zYp|QaQ1ebmwr%8+g@uDorf@MhfQ9%-V(XZ%*vu5BEAM4|RO`(2aQ(qB7GD>>z(BX+>_?VB80jzNWX-hSpok?m_v#xEN|;`0y}pkleX#r7o}YN6Y;oZhvL)D6FtPDmJTxY z!m|RdA>a4F=y3iv`Nh)Q;NO6CGNs2DgrA+ofpEO9Q*Nndtjg$3)(kZ*sEn_f&N-BEj;D_d#`>bZG#c_N<=%mKq<{1kuJ)z8#r zkCHweh@pAA#12`5hS5lNX$e1k1HhvJOnV|)^{$pCl!2v?l*#d zhyVs>(Pq4{6wo<_SpsodmKcBho3^Ps;%4HJvz zF<$JsB&Tt(ca2azSXE@B6$N`ill7IU=A6FSmn zjN6yL7uievTel!-@4!+I$MeUCj6F(@LF}9Hlqji~_}K;(n@z3TiQdT^phVzNv1|Ao zm4s5MpV3W=WSy0<EW0ELD72?zK@E%PceZ)NaDt2+gXs80ChULuc*zlE5H z*fAxgGPznO{7HZ+>o|WlagB_|H3ey=1ayGtZAPOkXq_(c@15$OU57gLFsH{j+NK17 zz-chQBKODMY5$n`q%K^rN-Uds8*rIV)>49wW6=R%oVl*fJ3mkEi*p8XsM35P7|NG5 zR}5;13K00F-~EBiD#!^=>oK`hJEL&(El_q%f>JFeh4MMRxq^Q_GC66A0ZSJthS*6$ zEM{}@;**rTb-G>NFsz_VwZ*D^t)ERI!huistXXngYO=$*f`cl%fCj1XGWok_Z8Q9- zvTyLZB@pxq_4x5_$I>KUmn@cO?!CzoiF^6c-E(Y3n8wfld%gzPg?Yt%h&sD5ryooZ z%i@{WAO*&NpUi&@-h3fs77Hf~oN9BOOoJM)Fp28`3W7J}NFK=jGgZWOXvMNDV_2h= zuy+SR4xtBvzBrN*{{-UN<>x=2YbmY_%}6q5`lK$VhkGJa6ZaLonM6L|2E6f+Mrg3V zK!Oudt6(~Zsjna{Zh{PoD$kdn7$*pAzjnYVJ#M@z+2n%1ZF^144U*JCXg*$ zGt>^QQfNDAn?VqFvbgEXJ#TXs6#u!kiB5KF`cp`UYN9T>-0AMiY^=o$)T{;n6nLsV z5o;bE>yrAZ#59KG7wyG}_|Plb&+c$UvXBMdRZ}@-o;!ebW{8^Q77OA^~L@PCrlHQ%RB3+&Ly@tK7aM66*OXXKN#b#<-RWqQ2~8zK@j!n!)qS#oCrHv0*|HcN|KAI1$Q7J?5brS3 z_}8=_6Z9r<;Vm>ecw@+#qu#L=?==7J=92tSO928u13v%)01g0w7${sQ^!`?32><|4 OlhFxJ2CE4G0000lOtPT> delta 2474 zcmV;b303x)6s8mxP)h>@KL7#%4gg_ta8$eVxx{b@003c;7g~R@>BD=aw^#$;@ePB3 z%)eD8Yvf+&h|RU2PweuGF4M;Ju>ceF@>{FlYwj(S!%!i*GQiob1@|Ng&!x6xD%ivT({A5&jv)j=TTbT!w z03s>T21o$H!Et|<>|YTzO0~gCU7!~7I?6tO3N>Sq3#)ikbKWh|=|QE3sc*s+zebxT znI;h!pGiv-96E!7ldHxskgXk@M!wz667l#R_L&cs*S447-dT z#&g5|Ux(j}Qr9x-6r8kLbdINC@ z8vPgnscaT-N=m8a&KOF^+n~>ZTGCW&>|f4Gp?6YL#G_^h@=RnU(9-iuZbg*r6ib5T zh)hI|ABlg0l*^z5(IPUBaFR6^9^d_2Wd!C78BXJ^hkU1>WQ*LW$l*;B_(xFlxEpj> zyfUC=SsVJ5CiXlJBl0VIfkqKyA=MG)2F^Kdoea|n_4F-=If8x>YEMk=c$Ug^4hBV! z8jFo}qvpDE^)rC}Vke@*r%>?o5Mlt3p2RSt`tpDDp{H&M>@-`=?l+n^d8aNuIrzPs zJ{Tk_zaGj(Bp8n*)kOm$31dcO?SyBzSDQ?v-`imk$?ra$A2dEKd@KRqSIMk)zrvUIBEOg0F@w32J*~@UVFtc zQ9D|o;dwNTi6Cm-acKRWser00kIvhf)++ax=lC(wM#ly&WOSvXW2zZ>p%3RP2`hij z-3CFc5r|Q(a93l$pU3ZpFNfNS#!W`yUcyoA`iQ$oG^*tXtU|mRQ#Y$?*_P|4Kz1;MGV{z*65V z3w-gJaka%}nk=vSykZR;PeM*RY`1^^*|pMIYkR!qcJ3iL>EyFp%4;fG<`5|d6MtsT zNCwF+sk}=FyTTuDCI5X9uq25cKy@ZX`Ng&23X0LHSa0x9SNjB&mH4iTOz$D4nZ~j- zqg7-{zK1eH=(hcRSS}1*87|FP<*@~Fs7sVA+FifyEu}~~zidPQ(bc-I_*{SH!>rQD zA~rFBb;+yBMugJTTHxpV+*xmC+Dr^qF;pNtJ*JQ}s_s!!8AF(YBz5IqBooA#EFaqH z)b`D(Fk6SsQA}n71YSD)Oa~s~q2usD00mX3d1@r*+>O={+|X}!prz^BP}|hH$brJF z5ZMe6RePyrn35>un>{IV@{NDjWi!Nwn8uUe*jmj_+iteLPqDCUq!!lJIab3durl{o z?5_H(RSm!^3h%EIxSzyDx0E%h^XP4B3iVj-JcXAf+hD zw8XyZ0HlY-mfVkaE>)ul;}w5M(GVTP)Fz{pn(yBv z7+k?%%Vgn1QL$^Qm;+6HMkh1WWV(dA=D)Kkrr`6jBb(0FFgNoZewExfKuQRnOA-V# z!Ua))Xb~^w+&Di3+?pejHFc&5+ct=H4TPY%kn+{pDW8WpliFlMi<4svOnTIu1E)O@ ze8qhBK*7aoUW$LHEF#Wb`W~pm=O!Ux*3L<*G>m73@N{_lQN+9@sCOYSt_e&5o5btv z0nDl*RHqc|p=krsm0%9vN3VlHlnnK3zcE!XEPvF;s;tRYNtXB~MfrxV>cj zyep0(i*K~^`}-#~fdGvm0sA^;2qSl!HpI)sGM9FQntxMeb0f`!462TZFW(eE6~?j0 zl#-PdAE;(%&@P2oH@a;I$H~(?7>L2$bLmC}@z#Hei!-G|{2<*yprKG1R5W8UkO;0{ zFW~fPb~VyuF7&@Wy+iJI9jmR_or!d^B68Dh^ESq4ap65{`#=9hi)&{n~I7X`=uw4 zb%lR6LLXv=sz}*x?ucP-C>ATMqy-p#BGiPOc##DgXcg00000005KG2|@<{90Q8!;1ONa4 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.7-compact.zip index 3ddd9e6af0035586749fa3252f2c2da235e3da08..a420f820f8394120ef0ea1f23ebc1386cb85718c 100644 GIT binary patch delta 2451 zcmV;E32gSI6r2@KL7#%4gi4|C|vX{f~;l<002;t7g~R{Dgw5sX$_<1pTj3$ zBf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZU&K`A43Zwq=xjU$2qcu&+!il z$5a70>c4zBtlZx#gZ7;ks{A7PSb6Wyt z@67{pVr$^W*7im%a8{8O>N42o^L`6FkSyVGUk==z`pRCYsD1HKNh(K~olvGno7f=0QE@}s8$7S_WCW%C8+RY{P_jyVehB^cL^4GQ-^Mz9;l`ar85!pXl zJJcf}{JafSu42}JoZ-XqBMy2l={5%BI^CVrHdTKvvdK`|$2?=YN@FI+^+J@F*d3u_ zAV>HZ$i(-prcgExgrbjSs$q}UG)&W~352aMM(}epuQ#8)ca5QPY2Miq7PJZm`|^(= zN~x05PM0J+xSqxg(3WQ%w%gDLieEKk!ivpw<&T-TKwXvk5m*KqCb)%wKU?jyn+1w> ztPg*9NsRrqhX8pegMD<(m>Q;1>w}YmX`mUa^TnjRE1{*s2KT2l4LJ!%rd7PG2M`_p zItX>Gqn8R`12=NT{!>y%M8hTfg5R-=MV8raB_Pd}deA<*Rqr+zsH3~Eu;>Phq+a!m zA{b+TWWq%%`M79j$Gyxk7uqQoaRn?zDkguYSUW!S1$vs-Vs~YuSS7Ovn>UKklMBXa zzFCmIBkjYdET6L!?)UFH&-?@M2yy^Ry{(c5UsSp9A1rh?A2(=8;5-g|2 z^PhDfEnDRga)h-G=!wD+>`m?AABF;8X*+kto) zAjeiy^iy&Q%@F?!$e5kld`{2hE%p`!3&ME7=h$*KvD<0zpuIU0NeZeilR|%P@P3zl zj9{+8M4}c$qcfDgk2#;WYyxucE>MjOe6^|8%1Mwa1|eL6TZOvJaxWTWk5=nQiP7n4 z=nZgGEEh&H|N_1hNES^;n)tq)(U?Y!H`w9e3oC9K3&S|>~DxowywLylFJPJymVi?Om^^Z z$#Y1ro_TxFamFI_2+`Xfk9ot77vug|DfspWC@sh^0fDLqJdtn`Hu|^u)G=ObZK|RY>34sc5 zBjO6o<8Fb>QKL=l=$OUCZ9*b(SV%ejLU0=PPuZNJ9%S1`8cEtX9)5W;J;QPicWvNg7K%0*w-+dkf6$u4rMKYV#hYv+l9hIH*CQXE?hSb?si$PX6w^5m=4Y0+{j(pBU) zE*|THk^tNCE*#_A32%rS=Xla6_iWGzLJp;(qpck3;JgOfT#SEFJQ5F!zrfOp$OLrD z9+;-Pn-*-I^(pb__7U;uXtCY5S>7`?xH!Lo1c6W(!=cj=*>AKW9%v_Z(EWaI_jKr- z<^pg@*v#Y5RZc6-SAk>t##-HF6zE3Yi?0g8Ptbx&h?1D}9G$vG3a0gvRmj@cuqr2g z&_gnw0NF+3ZQOtRU52ix<3O-cpLnt_AlW%=iv4sOL)pXh$zgrYgfKZK?`zIKbv8sG zyY`kHL|_~4vPTVey1+c_`QKu&LahjxRZR4Ia3qWlv6?xlV-A)DNuCfkV;d^h^Z@_J zI6hw9xAo{m1At4@rocO)UDz*e?EBw7+uBTwPTn)u?ZtoJr-z^N%e$8~MC^Eqkr6sX zwyAh|O+lmkqn{4}t5p~|q>KE!R&C2H!?_9D0t|@~ft*=JdIyh8*~&n-8`&}0Md53TI>o+YZ{vxxzAc?erP!g*TlM4a{qqNBKM4eZ+c3~kU6x2k_=ysQk{{J~6>9LxQ#I(1W>R8BU1 zRkE0AH>m*JHiYh}SGu5Z<)>zA2Y`?2_fb2eV19ZIb}cW^=vFiG>Z2o^sz&0dIK>c@ z-dImxcSJZHtXO+JOCx?hh3=PrN&Wa}Z5S*Sm&C3X^4_2qlVLNV9Bp0iRI3&_ADV74 z^r&c7!4o)C$ZGry5hDd!n5niFZpf9A*NxFRAo=eLA3FbD{NsEC->Wu8rAZtTF|SK$ z^1f`Nf^gm_wf=G6kx4fL3e4AJcEVpQd;bWBssK<+0Rle*KL7#%4gi4|C|vX{f~;l< R002;v&@KL7#%4gg_ta8&VM$k%TP003c;7g~R@>BD=aw^#$;@ePB3 z%)eD8Yvf+&h|RU2PweuGF4M;Ju>ceF@>{FlYwj(l%yoaA0Qiob1@|Ng&!x6xD%ivT({A5&jv)j=TTbT!w z03s>T21o$H!Et|<>|YTzO0~gCU7!~7I?6tO3N>Sq3#)ikbKWh|=|DCmF)Tg>cXt_| zDSx>m34k#$XrycO5o+)yG7-9=CzDv(uEIO0>{V6uUjxhxPVLZ3mMk$mDH|CX1t$3Z zsNqwo=GCV!B=b4!IrJu5a(iG_!@kD|Vnz`d&ik0P6LNp6@90+AxXL10=Wl)T?Po$P z)x$HkHugp}{9m!^bnm=k#(xjl04fi9jM6;h8IGR_FbglCqc_~=lvO_ap^&j*Cpmb! zX-R-LrmsvL{~4RHnAG=Mh(q>RS=#g9+gi8{N2Xql74#5inx3$4oBh{n%8Dn~b7#q1 zq33h&uzP>`DXyp2wm#I_>1lq^x31-ibsZR=Fl=nFQv^=sG8}L;A6hnRQ%M6|OIM1w zDL}(up<3y)Ue_ZD@l~#2*N=s~a+_g!Myns=9J5|hML#l0RW?b8tKFrj{9TcDSoTYQ zwUgf;-Tsh>JTaFAc9;nwPGwSvG|TJo@4n?_cqe~;x3=nl1SRH)^M^y+qBYQ*;>DLk zbO9DK0-(xeA|I58uW~ZFq{xtJks2;K{Z6kL^+5KN@C@DpNU=A^HSwYKS|ielQr@%$ z2Sj@-t+=lF{OHed^0I0SUsbIs8e}Z7^bIm$0r4e(kQD9ap91(x*A=qiLFFrf?lfZ~ z23db+2)5Z`rR8^8P?_IiZhtU<5x@ZZOkU`StQ^a6BB=X~q>GJB=N1xaR zw#he=%tps=#Ju{g&}5(b&k-{F(SQo>eHV@NzN|%}_8*z$d82D~uKiL@Rmz*CYw9sK zsj8kI?%XaKl2i*r4YCHWqr!;L?8)jBXgke+QTlo>keX+Tdm?<>?FUCh7qi zjCvS@#0h#U_Q{*-KgU*#_cOmL_ILq6+4&goc-@%25Rk^hUF zb>S$8t;iY(4jy&+_XK^|EgfKcEBbVIr(;1oovWg79o#>*BYR@J{`7^t5l!Zjh+4MK zJQ%s^;!{g?CeR35OTBu`EVr7Mbr$i8Tp)youNs}W1(y4r4!n+QO45LE#1DT3`yy>I zNWC5xmv>G(Ee)?6f0Wim2t9~9A4)AbIE)l8zKWY0G&yY9w)AN3z(Vt z$8C@vWYM}QMSx%E(2mp9`KsJm-4GGAFUgJes~brKk9|=+woz->hP6GNdr;ZHKSt& zuhe$m_8cY;014K`d|yESLc}~n0jhE2GY^VtG^x>1b*9OYCF6vvA^!z|y|)o<+HG?w z{e_Rd@1d0Fg5I8?qma&nfZAU$BBkCv1=xWfJ7pe*+em*dOH| zZ`ezZhB2fF7j^>OpNl~^#F^+fCLZn36w$&3ZjrSi32gkgtDC&C!+W-w?hd2~DNIVl z>8*yxW#-Mn*F%D0RzrU$8TmH38I?pSJ+4eLhAj1kY$CtDq z3>JK?5z@MEh~hV?!+`V!Z_za_FQYYAeGx1;ZX|*J)ho=9w$XjIqn>}TBx4v##LmQMr-aNs z|8681c6E)(>#BdgaoJ=V<^KlxbL<-cmu0YaDAbA3CmGgZbfa8ECJ^_G=>4y{#gxL% zKhXc98A*d;z8&Aojn(+~EooJ5yjS4?krW3J*UCq0vPuJ4-)?LVeFWHBSc+mct*4eKAZ|$vMx$(5>ti`2<&Z zN{OOl6b~cLC|)w+ty;d%B`@0G)uq`LRYxty^}18z;FaP$JHql6B`VIxAmrPa!oEEQ z#4(?`7W5x><_LNDTU=iOJhTF}zt(t6Aq{-cjYxkXv}}<({5Zd0XOVqgYbek)HuZ9M%(zPMw`^z8l+1axIK<1lKdt~ zU|t7Mp#!}BWFVn3*7|6=6n0L;M}Q^nUIgahS`Bw#_^to^iuCYMO928u13v%)01g0Q oa&T1fU&z;Q2><|LGXMZ80000000000005KK2|)(82><{9037130ssI2 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.8-compact.zip index 58902e63bcdd1aacc23516a5fa1cc1b92bca505a..45f826d15e531514a5987896ec5f11da33ce9f47 100644 GIT binary patch delta 2474 zcmV;b303x(6q^(mP)h>@KL7#%4gi4|C|qqFdR%1*007{T7g~R{Dgw5sX$_<1pTj3$ zBf1g{IKXyBJ)bn5W0g9fF4ap78r<|ogRxk~R0ob)FE__|rZOabZU&K``jvlbF7zMipk%+WaU4bo)gNxX2-s)UxLh#W=@QUbn{ZD!?Rq*7BL-C7 zUQ5grW!0A#qnG=T+i@dNSLE0}FL2B3p8%iW^g6T>guAB@EX+Z$auMF>AkyVZAojb` zWfGL&MQ+3lBO8%)?X^E5uL2a9h!S4-1&QZ5t#`4^IJtkpKoWPbyodRh+S@D@xvX#TW8avctyH=Lg)Y+$=tjSyj`)7bet~Zy zJI45R>ob49PV=3p!hEWLi>?9zoy7d2v4(HhhwNZ)KD%)gd=llMn#pm^Ca)jtoVhTD z-6sZLbbb1Y;Nu!^BYhmm9vdd3`+#8$Wims9c&XCpeIROV{uLlB-L>dJi& zfA>2S-F89C9(P_rqX$z9V94|lT9r&ELz5Sbnq_~djc?7%9-&UWEP%)xnwvN{S1J_; zpJ5kVA7LyNG`(r4>{vNEQl~>mB-*0w9DpK_(h#z_%7Ops4caQY0~`Wp?4yt3k$N%r) zRf`!|;~bmi8XA|Mxf6+`h-*zCg)ET=mHN`wTe-%H3*Si!ut0e@9Ai30p0*B7A2EL> zWqq}ju~#C!Y<0jmq6uQ8Gc*ZoJ|Z3NZfBkDS) zJVT?RnK{Ide@;#s39|NJeQvmSWzjR{0lk+E1QZ%d%)T&zlOTF@dBX>bH=j~l3A)O( zy;~(Z8><>=;~k;g8QVQ?M)3LWx)Vp(22|NJNeML<9DcDNc`;}r9Cjq(!Tf*Z&U^aU zX(i2dVANpMB#}t&czYt(0Y1xbPE0vQ-m}sSQz)op$cwhs>NRd^k%tn zmW~}pb}G?}v(%bYf-iqBx(Nr4zpFAub-m_0;oti^d!2g}5H#TG?ZA1H!hiFl$eOE} zu5rcl_hb<*2J^Yd*e2&?T}psSsVFk_nPe32fT#rWHJ zgppVcOjmeJ7yCl>YyT|l=>vow{S&;lP;{SqDr#iK%WH*t+lKY?(PMmU-&dH7(=1rb{JSyk8BPlj*|y$ z>WBmZ{4-7OZsi`xxoxj|k?;Z|Y<`2XVEn#5URI|BSgn{3EBf1C*jfkK=?yt!?|5)_ z#R#mo>;)5Q#UzvP1Rl-MTZ%sU@!Bss(-gxZ2nf*6H7-QH#;f?)yGVKgFcg>> zsC|NC;Bl5B93K;u3KVH9HwQnTgstEDuz>aN>D|!3EZ@Ph%%ru?^lj3A0P-nflB^>?WGC!4Q0&@-&vK zR69HF2+Ro-tUapA(I+1faIl`!LL= z_ih%lYN62*ukD1rVEdDbY=-In`!(HgwrMj1{+nhF&Ibghqin>XMR2llb&9}y0{UVM z3uO^;QYu4G-u?%m8Up^g`muPVl4^ZfS-M#=R&alDlx;RD#yO(P1%LnTu+)QETV#e$ zx^MWdXnVp%kEX%E#SYs_Xt5-xC`3e-a%1M%O2HLIkvTG-5bBMenVhRkTGhNkQab{P zi20=4+=>krd93A6^}u|L%GOv*lpK8(8vIHXkm9EQk4hkj6R#>wj~0F%6AwJUlJ6J6 zA)kLeyhQM8dh{)j@KYcpYIbt68nY6sOC)1B&ASbm5gl%hAI|S6cl`dX5Ij+G$C&Za zm=JXej#mUqs5c_ZDbs;QKIZ@Q1PIGF|63F)08mQ-0zU&k00ICG0D%}NTx}hCTxAIW o0N^qJ04e|g00000000000Du7i0001OWo?t&2{#6<2><{908DSJKmY&$ delta 2447 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 delta 2482 zcmV;j2~GB)6rU6uP)h>@KL7#%4gg_ta8v}I2Q6s{003h$001hJ-U%&{NGX4@>BD=a zw^#$;@ePB3%)eD8Yvf+&h|RU2PweuGF4M;Ju>ceF@>{FlYwj)2SDI=`thnTy(bJhIAluq;SEb`0YP(c0B zh7oj6xCfY5V*&BjeHZlYVpo5yKc?~nA0Gz#usTzxK?1L_USxTrhL57|<@f5?f|uQ^ zJkun$MH<8CfC4=YeQ6XQB8J?Fd@paw?6jZK{bQC}g^W$k0AUb8f#1eXM`r7)-{MTr7tX zHZXoZf9Gbv4@*WwsW!bjDunRiL&N*M5dd_@52hC2Xd=zPm!U)WD||8z63LYNkL6a# zdpvYB!GXgz_D@A-waH`CH);_a;0(t5OnU80X+d2w0#-}9~AD=PC?}bH~_7`Wu8W0TvJ`?C# zwO9jjOI0;p_W%N$?BvB*0Lx|b@x>_Nn0xgC>#wvaCG=d5P8xp?2V^F8qL16)V&;_V zkAQiq3~JKeyMB3i;lS!~)>XdTwzR>kc)N|>3w>;mhXUuM6U_o&A;C2`PErQ`Qa7pLXIx)ycjjQcBDY0T6;~XX|e>Xi)b% z>H8CAf4V?658z>EDA4?8nVRSvEHyp34v3?SWKOVWH$C+6(ECi&kZ<8 zD9CqdJEfa}A;dH7^oRVyl@Of^_qF0gRIC@` zN~q0a8L4Y+JDhK0dvj8Lw(^A`#9|FloZ^%7LjoGG9h#+eL+Aq5TFfrXqhk^FEX{}1 zE#KLa3EF>=4TY3_M4y6#04Ie_*~V3Riwj?gXiw$A2rEdmbUUMu79>OAfVS~d>2Jc* z4OR|D{Z#C0Z65uS`yW40e$r}1i!O)bpoyI?`G*Ps zA$xH|bvP-n$?{1ZvI%m5N_$Pgn#?VO;TM0Mr-8_@sZQ>INs0|Z)V*mcCUOfE zlZ1Lh$h(xDZ$5NSMXh%4a4OMlaH!dq)-GKO<#~SHkl!5!l3QPF5Aj4O^^YwDg{RfI zdf5@S%J2f@Sq1SV?6&@M3Kh$;g)zSSW*cdn;g)&Xzq~JS{=gqLdtREKT%S61TOF|L zgra|NrU@Hyj$FrU!Br&v2a#}crJ~V^&2`P+;iY`dDMLV^uo&=DEP7G`43Fzc*p>a0 zf~W(Pnsu%cz_eM5BTCQ#t9Yf5fC@5Ow3n`SH(4xT>d`7oLnyURf6 zeGV4Vip(Q4W%WCUW`b$U62}Tc@ifytsDBdLKt6y6I9Y$t z2vr}@yMMXIE?QmFZoE3Dy`zhC9EPp9C0cQgOWLT9hlwEt%N81pbbsU4>~5lExf`UP zx%-GPrhEdl{*S)EYt(BAmgV%64q!=*IC+??7TO0KrV@PYu^kkD6WJp7Kqe*{fT5ly55%r7 zQ;-e_==6K={vGC9pTGTo{w+uDWl3~#OV&7xOz&oG{DYX9NskJ?UcP5!OOZi6RL3wi z^r+zHVm@rTa(|1_wp0e`g^5Dv)Yt&U@GD0+q_LhI{uXj9R zqw@!{3jgLpR7N&K&JbGB|ZT6=0X#RljS(uUM#29!$Q(?f1Evb+W~8uqEaD4*(`_p%kL1PR0Hu zXnJAO6W;4u^#lt#hqG2uc?&|R6o{7U6+4hoGqY#Rm}MeNqF}UW8;`9D(*YNdZ?(?$rxG{ zhl@V7T4W9;bVWZlpHw$zRe~b>v3J7FXd>0WjGDMKtKiul_f_!mIA!f;Q!Lx?sl*n&(**}SdrZA&X#;*GyB;r>h%O_HCJ)sTGXv2PVDc+?Uoy?v*MjQWE8?E~R zuj>i`uGdLQyh)X@DL=JcmlAm)PFX;+YU4N$&W$Sf9wmN=Yv%99t%z-mX5kQZC4)Dx zmNN6=Ap(h@97cb?Lu_!+74rD>up>JdG*Js+DqQ`WUu$Nc9K*StC4R!%8MafaB><+4 z__tJ{|ERa~@vL3^I?qnwHGgB_w5uDJ@vNgrhJp0zU&k00ICG w0AX@)R0N&}Eolh=0An%$04e|g00000000000Du7i005KV2|EU{2><{90LyKi(EtDd diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.7.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.7.sol-0.6.7-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..90864cb0ae05167d07b005370d312776127bbebe GIT binary patch literal 2976 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.6.8-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..aacb9fdac440da887d84421153178cabf6dc6f1b GIT binary patch literal 4018 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 E0BlyH$N&HU literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.7.0-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..84d9f3969256a17d25002e16424f429cfb443b2a GIT binary patch literal 3866 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 JfBhE#_&>p(N_PMN literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.7.2-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..7960d254eb9cd08f120c2dbe486a8b92666c7d68 GIT binary patch literal 3874 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�?uGMH60Sno4kbmU8CQ~z`CkTS9)CrDVAl+s;%>5P;Xc~j(GGdyzA#1c z>@X}vJMAi+i#vyCptXz@rC{egRc79C;Hw3J-BTag4ptI~jNm1=I(}+RIhUalKlpdU zmZCZa7aN=$f9ua4SRUre8SWRlu(1|vo3jPq=VNVn%N+go9UChlDm0f>#(}%P>oz?v zUPgjv#g=Wc=o?imbX{98H@wzmsVI1Vjx*+)U%n`A3-62axH7TmL}9?-~>(^1N^yC$g#eXvwVqIinN-{#k?o zc4C;DUW|DlZcvZ>XnH=wPUe@*v)sEB%$}{GE*?IV;J<6@KXd*6gyH=M|GUH*>fR^( R&jRmX&HoYePlW-1{{vzMTq^(o literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.7.4-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..3e3f47b6897845c02d9a80fc923e2db099e260a5 GIT binary patch literal 3875 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 UQnLRni2m)ff7$S_3IhQD2hdwE9RL6T literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.7.5-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..9558d9d3658b35cae512acc7d8ccc543d64d1759 GIT binary patch literal 3871 zcma*q_dgU40|)T4$B84w*$&xf&&+IBW@UFqwsUtJkr|OKoRNKz6(QMVCMzN{dzNwL z$ys^6-{<$|^?E*^A3i^Q{(!d$jEr0zKnkD-NPvZG$rR6%-RS{4#2OlRlcYkN7hcD8bhMWRm2LOZv0ID%Dt}>T0 zXx#Wn!`&OXU%cG~I=G?|&DhigtAVX@^&+GVW$rhMHVb+L?fF`m=oCBsbyW*w^PSR_ z3!#&+8*K9g-N;(YzK2vv))ER|152d&L%eAe>Ro3%_L*%5Zb=_E7beCp|Wij*?-5aqDYCE(7s;J6_(DX{V;FRMUp7 zbz|;#N;$Txc{^1~bMLEz>yY!a;?S6p=+%6WEDz7e<8d2vMvs4qlbrH%c2B|`0|xBI zRxDqS+985Nyn*=(E)mHHg3NaF2dn^Jf-mR2FrAl5Hn5d(hr|?@ldyyz_^k?=7j~1y zzrJ0&=LrK6CcpwtUb2L&-$g4`d26>Di|_%cU}EXzAN{9Biou){7+2s-2Q$Bs4Z6Ug zUBuRKOrLbBO;l#wwZ)wDyHOm?I0|DE{^A9$ZdSI zKb~~kDzx7k6N2xZ-!hB8CPhRgiMMgtFZ(=s{~n>+S+fx5vQQdw>=kj`(Fm#q0FM2- z@^8HYTxJ4iZO$XUlK;>puctb#@M479iIXNK<}(% z?lxQQJ6n=MBJ8Wg7Q6d#ge{;Qk_RtqxuKEWXMRFdS*Gvj1^CdIGK}DX1$>Mneg* zGlUb~aSr)jB0h#DK4Q((=lXkx*v5Fa?nIRu;)UUFt`-|7l^kF$7-u>bHVRVfuPUp1 zIsI+Eu0XXBLVYg%kZqEOzw%~p%2i3$Tbxs_gz22b?E6G4S_`$08>| zh9lt0X~o!9Fgm-Kqq#5^{c2%h)nd1iWn7T1h9U42b6es;o%$p-=Zt#UuARtF_bi}2 zM`sLWtltu_Pj2PUd!f^{r-m^bAJhJxo8vJ)fSt(0*o;9+L2L96f7L%99K({tAHsgP zwY9Unije%-D$b-zdrVa7xipnBE9~zd?0Y|<)E>zn+Wt-*cGFuUb*Az8oG3MOQ2T1l z4)+^1a~#t1Uc#|SgHZZPAXm}w`B%hA>EtX2(OD{=OU}+TMc_VxSs>`{qqO?@pj{$c z@OHezYnf&zuoG;t3fst^1DS2w^5_7YgeDCedqIPb-ibzY_O@3*I;W(#uCFGPGL-A+ zCUdAB8DATyc<)9ZMpa_DX-z}FMjao24V$+V(|%mjXA<|O8ajC2L1C$>@Sz0iS<3lI z=ACzl&(!RT$|`mej)**COC3Bwr>db78DAp6Bsqo^xd5#jeEA}9T~bo~pm@WAQ3lm` zeL+`HBq;&h^Hh7RHH1XHJ*d^O7}nZg{Z1=P*&X8o!?d9J9-uPN_06;*hZ{6qH?g)P zI7w>_>W0^JI*`#Y-NUQ6!EpXjbN-s)+j>WT-#|bj4Ffliw-bf1Q;SVrhAH~8hS)m9 z?0BUnoZV%9=PL#UBs{d7+(9*>uEDxu0`QTiyuRVx zYE@ZG(Y?a_*u-TTK$_n?K`Tfrn9?HLHrxe z9Lji!%CzO2P4T!(dh=q``XrmJ%T^|Db4|I+C?M0|G)iufOew*+FfMMvkAZAdb2*;1 z$pBuQ!nK$_R_YC(%PTjt-f@v3lM6K&fy8j#09U4 zuEkzvT%yeMq%+N^Vp~IE&sRzvXlAKd^(jI;uojX2o69@Sj*KG{f zFz8XUkVS-ux48CxapgrOlwj1)JnUK~H{P_}wjUeAN>3sfH}> zxH%MQdOdvne0Sm^W{rbiPSM#yVKoo|vYMWL-7K+G8~pT0{6tIW2w6+G`1}DW^eX@> z8C0~9NBKdb@q#P3Fr}%k?J)2+m7?Mok)_VYY&lsF8%b3~kHs(aXc=de&>jT^)EAV1 zRs0oVTOT36{np2zt#tp(`n+!8U%~lwFQ8P6wniqHWcFL1q5>Hft4c@Y{onz`hjhj| z6=K4NLa0By7Zj`i){f0hpn@95F}ST+4MRXAkZ{*z0uSE42kkF5eeKeoA&$iVEa~Mh znl@H=k>2dHsYN?2R;Ks6{p7@&D^Qfu=}JE(n>&^f7bg#P6uqUBXmkBs%0|uiN+7EX zGzSrEVm9`ZJIOL;NwRlmSdJoL)Mr}H2Jv9UHXobGxv~&lj4SisM*Z|6awmMptQT1$ z9=s^eNnk&^M-vB8g+s@+S~4q@7O41`&b``4i7e%jUgG$8jAKPAhBwLBA!AD*t?e*> zw%fJBrzPE-Ngva2M7XO?bGO--3iwg;)X$7GsAOioyZRG+S!I#x&5oncJqMm$J#=pE zxDQlnjrU|+I)iUt-M_Dh>_c@Mw*jqx=Iw(fwnnv-g4Sgqd4uR>`O^HB*D9btU9q_XYP$xCl#Qt0oQ~*ZSGamH`mv|pluw)I zsS*CSGON*z%yOz7x%c|q2crm&$qPn*2SoTyiw80}&2G_6yfQT-c&kA~+S`sjmyyqp zn(#&5&%%?M0r!dK)+jYV#^nTPxiF1<~<5f!a>1ZMAW>~kw7CeN(T$w2n!WT>aR zdcAtPHvAG6C*QYHA>D<0ZRR78ShwCY9~(VyU(ZUIS+KEw33#zf^vCs%`x~ta9;B-K zdhXjJu}}B?L%9QcIw2|?Z|wIi4Sav0kDu~}t>91Bu;P1DYsBVEaC?IHQ2yv)s$W$7 z1}Y_pjZ^B6#$R9M77`KOCa2JueT=@LsTMdf*D9V1Y$RyrQwas#5poe133m6U+ZXmn z5BR%n8&Q1sZsw--|9);1-tBssDu?hBKJk>=T^bEBDSnS-93Q{4Mp%vp6zhE*8v#tK zktE*#sMbkkX=9BrF{+Rj$doNnh(n!aa)LhMFJovf)3TU779?J++xk8)Mpfj(4fA~7 zo*pRt3G}k%tGWLvIBO7GUE}|d`rFw9jVSSvg{@wWM#g2>PXkNHVXz0-Ig$>{P?ig` zeNe7|CRY*MaE;)ln0HbVeORm;i@bwO{3j4WI{|1&QO;W zXQ6X3$5`$~^8CJ(3ez5V>F~zU>jgbzvc}xGu0JJpMAgE_Z&|Az8Yr<9PMNSDCBj|| zeKmg#v)ZjG9c!8VN@%Ey=%G&-1KeOriqF{Yo+)atKzfw9RHXYN$?gVgl0gLcPjL-zQVQI$LwTDf!hq%pPI3%|YL=XiapS*lv(y z?Vwo39WwAIh<_y916&@zmBa$TQBzKaF9@9WCAXZOE^zt|isN{;1lM0wG#v2C*7=0* zV@&IG6oY>ckdQA36kh`G1*wCsuK%K$@=ahQr0Qht+^}h)x`FH+*z?#4)DF1zs P{8P(+w)P(e0|5U4$b3>1 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.7.6-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..da48968a49b7f5804c415f1133cfcb4f68ea6954 GIT binary patch literal 3878 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 U6M+A-0RF4-Keqg{VF2L&0I_mK0{{R3 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.0-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..f9663707d1980abbbd155ee75f4c7b1bb02fe217 GIT binary patch literal 3947 zcma)8kACGFhDw`C5JR3AT1${ z62ISn|2@xl&c%Cm?$2weLqPZlfDfPsh_Ucn5vSVrHc$fq$#4Kb5C8ypAU)tnAA1A> z>FX;ZE(#Hq74?1YZi@`^dhX+AYwv?_b_qa=y81r%BqJmOSOWl&0Dw|_yp!a$q<8Vu zSfc_}UZ1B6UngfwiV>?axQ3!txo*}uwGfjT2rhdF3il+FX>giz<@L#>$&;b$dg$O}BEP>I8>HFHnoYtPwL<V|jY3<=iH8L~>H*?>%|1jla`<712YfF{(D z>mE~|G>3f3UhT3G&yV!p?mv{$U?bpvf#rq^Rr{`%zEO<3##2x3)sTuClah&lxB8D6o4}n6r>EpJ@kWO*(lP%8_azAIe1!W^RBH<>Pfa!;*y>bqM=rFQEEF?rVq~=m@XBb1o zT**S1RB!0fm}(?ZpUJWwC3le%0uVGp=g?YV%0D9BiFo7UG;8UnX-gno-ZCM_S9w)8%E@ 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.1-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..cb9998e5def57950b08ffefb668d66be21959f36 GIT binary patch literal 4064 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.10-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..3b832a9f88882d8da5df429731e52c4104343ddb GIT binary patch literal 4191 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 Vi-`C?3%q}8`Y(_F{SW|v{{uEg{Wt&s literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.12-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..8135306040490030f716fb8999691b2499c10c9d GIT binary patch literal 4191 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 W(A6X)`p*OSZ;k)mlYcb=0Puea%HvT0 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.13-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..6cd2b66a813c53cc313928ba53c345020a4612d6 GIT binary patch literal 4189 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 Y{s2J1_yqsc0RCso|MKj=9{~XPe*k0LiU0rr literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.15-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..1de228e41bdcffb3485a33c483c1b638ef8699c3 GIT binary patch literal 4186 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.2-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..de29a9c036ea03178fd382501f809cda5093c5ef GIT binary patch literal 4116 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 C9q|qT literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.3-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..2748518c5ddf45e88430db831c2fbb286cb447b1 GIT binary patch literal 4114 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 literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.4-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..6783794326c01e60a326f22fe956c882e22fb522 GIT binary patch literal 4144 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 T^8YM|{;lP|#Q*yr00937Oc>)U literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.6-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..6215cdecdd6c4bb5021642d68f8ba803e64cd855 GIT binary patch literal 4183 zcma)=SozjAIC=Jq$bc2I2LQ;?%5)y(iq&r7AItN3#yHi4?yWzc` z_xtnvJ?DJ5KAk_{Iy&mWXRiU603v_@HJ7=PCC+{xF#zD}2mo*c004*s#MZ&n#?H>c z%ZpEtUzA^*-wWz$<>2QI_55IE<7wyo-p7F->;-kheTD_F002S&0GX&LC*gZxkG#pz z1}VbK9=G@GC3hP0ot$n?Yt|N00`X2CWtp5;*>)+Cx%@Ng zgfz?N%HcmudJS;mO$EgI{ELOyg4}S$>Ye7ntezRfnPMa;p*L3jtlH-{t+n#p^wAlZ zSsou*vK#;qc`}TP$yY4Pk ztt*43Ml|tuU&FN%m2p z6&zJs6WVUyX)!2>5X?iN_c)qKyM|w?-p(}c?xE;TIZ$b1XW0aoq5}pyqc>b}cM7si zkhCW~J-yY3Z>4@GZF426pG(T`^X}T)Tgy>P*gQUf_$;RTVfgAv13BK-#zn!<@Kv*j z))qcbc6BJ(0r|QM80YJcq*OTH%q+Icw zQN*<1H7~ThGV;1Y-zb7W<>6k}7QIRbjbi>gam~`sPkdN6n7?(!ZRDJ)rUB#4;lYA# z{o=HGeeCAuaT7LR{o_1Mc6@5~3~t>`nyq=ZN#H0m!YmWumh_E!H*HOeDC#1w!TBAi z2Myt!GZk=X$%k)xC5zakw+eG`dW-Q4xA%h2Y9YmNrzU2N{s|^E5-b6E>6Nx1BvrOtM-1sep2P7I*a* z>cFFk1Kuyh`35|;KmF%_4xxJ$mcuC#e5VQnxqm&aWHx|JgdrMVtDnf(uc^$YqbJVa zFpH(|^FPs#$q!BuCCE4lT+~qUKGp^5XT;IXw6KtjTPuxx!prA%^!Q2Kii5RivY$HB z4Vz__%IxXdmN9`HWVF9+jw;FoZm5n#C_c4s1^hz53pp{B5cm`(=*EeKu-t)s#`M*% zmYR#CZr>7n_GPc5L_6+Et1XIZvGdC=FO$I^J1U!0Zv+ckXjAq!W z^n)ti={Nn7=D8&LLCTz-sR9l9$vKleh`HXkGsfM{eD%nY7N4ME5)D==)ju!O?A|;> z+55Ec?&l7fTEs#5hhtqaFXQb3c$PzA;Rkq|Q3GnF(>J z?yoU^HSP99Q9n#Zovprf%?GhV8)q%k%W4~>Q$c#_h>jB5_(8<4dI%jbT>nWBQ#(T^EO6?yVNGtd zWEKN;Hknhn5G^Awuy;47Ksh2j`sw}m(x0(S&`J5b13ap{>yDbr=?zS{)jw^8xa z6?Cewkxl}CndY<9tkj{~u! z7rDdQ+RYW77iRRHaB?hFlYw%IlW$h#80t>IEjO$O zuX7lkB69CEhMubV7UcJaw3Td}#*;W3TOz{Q9Gsf!{#@_tWd_@83|&cPM)pe$dKJ>2vzY)gbWdK`w?)`C@p4^d z`{W1{8MhO!h=P*W8^dwQzjw48hAlfiBJeGj%k+mOvrg9$t@V-au z#&{LizFno}c2N6%z0e+glEm<`e!;Ep)T)7?DM9ilTIE~#Py)A8x85l=pY#OKesV3m zTQz`aV=KvA|7qt{t(JL0m_Wb~yOItpR@#JwU`dY+P*ero-Y805lrV@{O!a4L7nMzq zaz|0`4Yb5G)kxEVxzf7c9Flt$x~)kLSiugo^zrF8U+}0hKhWe3?snF@GltU4zf2Cy zY{16HW;~MbPqmD{(1Rr~l)+QduXId4Z-e+Q)b^~ACElluK+I@`L-=X7?W^xwBK)%Y z-v{xxHtKbohb^feahT`WLOZKNg0LA66;kU>1C;qxknc;Pq%JFjO$ODxt;g|#-g#dh zq7xfiv%NWJ-|j2n?Zuh7&u%R0J#%Q$QEgM|?`Uu@h&Uz}Vcet$Z22(n=R-mo3!ME+ zLfc)2F~FCR#rT)^z}48Eq22(TZnUy~HZwYS-XqXfRt!}u5KrA=4Au_86;^OP%EyOf z5TBJa|6YD;*jkTAMIk_vFyAYVy~q+H%!LKp=?r=kK=;i8{5vy!1r3K`jW#ye?^wdny0(M1%c5m)Fb98R&~ zDszgIX8OQAxRZobi$8MZMJk_M37KN3otmz0bi!kajctNziQ@-Ot68J_U{xa;4Cqt7 z8;WA*;K**ODeL;SF$=%J*bi6Ny%Jvv7Usa!X-4bj%0=gwN=dI$;L!4{W6j=56EY=W zjs7!VPC3Ch+EVtO;~hu2+f6R-7C;3VL}&uO&%N8?o0a-D&VFwXgUPe^yb8VKtU*(K zdQWh+uU^D}XUmnyyG1L5!|YcU+ZvI6ItBPo=`52+ew>n$zLh5|(aJ-m+vag!@IHKD z5?@s0Dh#0s^sHp{P)}Gd9-TE{KHjYkH_;cD{W!@b=C4(dDNHoTxJ9fa-T!tUjeQ(p z(0!Y4}4CMLcCIB&$lst|Q-CyoCWuFUs6i5R%Zt9A0 zlbvDbPH<#J+xrWlPbh5ckU6))t+9MpW#zp3@4fTYi=*IN6KGZqB1P+ij6?MunShfY z?(#;r#BHop{9+n~qt43HS$I)csKh_KWjMC})eNM4q=i^WPi**Xdc{;6Az}PgdwMJx zp&7wL_upps2dGb2v$@_4jf@bR{&z;65lDi1MMWdI5g=Doz3q~o z20ZcPRpA6q@;v0A-dqSizIAz8X!EGw-;2zy!_^v@5}X+H&4~-gTHUv4U53gVJ&!Lj zSQArT1y>uSps|yHJeU)~G)=k9sY+UvO5qbe8brSSE12yR!9OU&l|)svzb!G%r_1?l zE{&&8$0{bD-)(1W7%%hLbXE90i4*x!Yk#2As(puDvzqRffX1+-CSLIqjYx9Gx=*Wv z(RoBrm_462L+SZq%vKvvU2{m3DDj?5h7f9wd_)Ud8IAw_B2^xcxF(l=R2iU|#f}7> zv)mu{>n#d&w$R*3#T1uO7~rKDr?>l!`tfitKM0BvMXv?{7l!AUE-j*?B=89 zf|gdJE%?>-IhIAC;acF+?$6SPraEPjf%~1lSd0SmCM6B$o_z(Lal6LljAHq zkHN89tlW39fZEh5=6ud_F()8wp7PYvBBoSv>Zi)oaH5;EqE@xGQ3Hr|9)~|@6(i*r zVgid>V(1>dEC9F^Bwt$%Iflk&y+2G!>Q8IliyD2WP&fD2G?{yuJUI6LyaAiE{WpU! zQq4bvSA<0kc?uV1^2=ATIAl0)MU&=lIr6h9lPIw(cf)=vXs#Iw3J}19=VbP+WD@!{ zDs3|%r9Lwj9n5&!W(O@6*9?o# zwl*NIdl7#YGBuVNW|O&RZ{L^=8gTqo{zy&@?@d>(NruZcwk9p|sZj6J-(@H1r^Bgx z<6aC)%9yJPjE;->w+b3kXg7rjAXCzbz`?Wo4d^2YH`SoC?*2~V<5G^v>Hz)ZcTtFF z)0UcR6X;xjv$9k0^q+0|^ba#yJ6#S&Ql8pq_M9qo@BZ7X%GJAGSUGr)tX_Nm`Fw?Yf16 z1`E}1Vt+JacM*-obYS6lyJevvwn~Ss4D(Bkufj`mbyE>yJ%KQLCA2K}kG&q!;0N_6 z-&$>{mFZH}6aE*K(V8zp8%dE;RpHhtQ}&#O_V;;~UCA|cTdlGhBZ;gv@yt|6Y2ax3 zG6655IhtYA`W8X(2RFcDebMr!f`wylE^cRO#kIifyB7h4omx)3C>53d)c2vMX4{{& z$#fG37V+Xadmi)EQYl5H?U1x|Y^5Vpf`j2f7F?3E3 zM$hvIj-Es?722JTi!HgJB|N zLNfB6c(8-QOC96)j`llOd|}B>E3_}9Eh9bP1C5z7pBtZMkL__65Fez~-|uf2bnVsxOjE!z`EV-VMWrJ7f7}J3E} z?bDOmqqZ?@;>w=2N+%MT5JeDH1&hg$@8RiP;zM9WiD8*0g7}n@(;jK{_0%r7uzdF* zbKAuuno}}$hBycs2nmW|qp!bK6w~SfT>uBUW|O$1yT3(F4JR(P+`7a;S}(8mus6(V z9|BJE(Xx!|wR{Y{?y!~t+aFbj$%pV6lJ9f+A63PVY@y-6uw4BUv)4M(#_E-*ymWQt zMT>#UGnSB-#24H#iMw+}U=(=dti*3o5r;73@K1hXs#7L~%BCF8kf?nJX0*yazG0-o z$T`hW|7l>mo2Gl3N;$tiL~GMI4&2=|v7U3iegV?`h$>pMk;qWHR|&Y;b6yMW+ve@4 z>MQ$rvhh0(T^86G?|84C6NCen6pHHJ8l=P%P?{HRzK^Cjxq;0fk441N&|(Djr16Qm zZn};@kBguxNMjL7&ZczueY&JDf(QZIU2Mbo8pwet0bv$9U)jadVS{!k2f+F^lpmK} zy2FCy2rJMz-zDg~EujcLfe+Mr)3K zmp-*rn62KiVa6J{o*AYPRb*4tV?w!tz}GTh%a&ag`RV2&WCnj_w!`#^4ige6@!bdl z!QG(37ZXT>|FJJ^L=59<^og><^Hsi_J(OQRPo1U3ZB&D^Y}6lpc~;-{7Rbs!hZ6AA zpgsRe9Tc9G-(7pdPjR^RAv5jL*y zfFe^Uc4V`6LK(M8p8xZTJ0_CQIKBxgC070w6A5cncl*1pnyeOm3s?D1Dtb9ymHU*s%Df8lC-U{VhVtDe$7}^w@)-MaaVu z7i`27>#HN`X&-{-fZ#*o+Oz#Vg!)26H#(n3T|7B`((Mxu$CEg~^BYL@*Q3N0k@BJt zU##)N3SI{(`KOa@RrjuP#G|S2T1Sd`4%-%Al^HH>P`Gy{TbP}J!e7z}^iV?$hv9149xzr*UexF$T?2d=u+4W-Yl#Y5Xp z#slShZ`%P8;H`*1Wwo#-BY+>%GYSJNE+0KXVuHK;lzV`X@50J2`63;7zt;{Q%0H3! zYDIlwltczPme-e;DqiM2T;wZ^!&#*Ia{F`>@jKIbfv3~f6@4~kd>&O}U>Nw5xpWsM z-Iy`;XPIW3!c|7V-Q4S*H@%A9>Ywr6VQC_{_6qkDsaw@@2R3<|yVdf^UgmlFLwUS| zrWj7CPeZKcZ_cZXK}V)fltbBP20$HS?1ya@-+^xAma{%{WjjH?j~LUqc|8b!HYz-Q zFa;x?#i++_<3+stE8Mb{B^b&);^By5ujCYVj4~$t^b?XgCr~F@ z_@pUxL<<at9%MU{3$?| z?0y8ymrXZD6YXUZ7fH_C$ls)Nf;Hv>sH#rl^yM={-&yJX%yF#L^iF zHWkdI$V}ir**a9kR-HqsyJ+8HkgtT;Hl?Kt0ZPrkf7#{`$LFyX*9WLcy0&f>?lkHu zi|8T{!&e)bpbU#YYm+ThGmy^{Fr@k%sRg_LubFx=v5hBgo_JY17nz7TT0L^s#EJg;x-T zSI94>!{0s(mX!LGz`h2exXg@)_bLL;`@s6tZp_x;O%Q^ua1*Ga8eylJ?|9gfjw|vbjk%|6=UBY|*MaST? z5B&KIoGkLOM=6+>tAgdL?c}0u49$fGTWUnbVdI5 zm8L?=!xzn*oSvTrpV_DBT6kly7eRl_CC?9@VLuVJ5YPH+X?LX6${0mw>u@eNP0<6> zB<;A+eU1J|LwcqUNuOjMVAln{y^K>bZ6@7$S@d@AUjbz)?3b3JVYvFSer-e%s>)!| zSOj?RFOo{LNXZ5mX#XIFo3QGD!(LV{>d)TB*4q32e4a45mR|Tn!vdeh3w<7#uRWZ` zNc@+T3lE9D`lpM)4G(Bh8aQ?X0s~535pI)cMLcH3JN~`b7(ptgCRj50lM)q0&};=A zT%V9x8Cnv1;KwbSNS)K<_Y5;8qhw9*3TFuqGY`zkS@zEPc!RN&xMG;(ct$Doa(6Ia zkiDBLPq`_^%XX7vG6Rr-K!^kBzEMW8>U*0a1*u{_5LOjij%NE&DK%Ic%k%0wnPMfN zwP?hP6~aAcckKeMp8n*RAuQgd*jkA7%fiMn8!Ax4<6#)D$0yTR1)QjA?yg`wlVuI# zr)F*_t4W`f13^oM88xDXiEyoD;c_XK0fd90yVgodC~J=h*BKY_lCXGMG?4z(M0_7b zJ3ermxjnpI*?J><*jJH9P+WK<6VLxgf~Bcvx7n7=hmWx?4eo@} z-wT#``~C1q1;2QwXu4c?a5hNyn_nkQ#;Dikm-rmIX6YRf5FkccdYNy3vTi)XU*(Zn z3r#t<5WE?n!eOYP4?!LY2VCmmUdo$$Q4Z!Zdl=Kw5Va`Qb3@e1VRbfaWDj+YWv;n2 zmAXHe_E1u}&knn!-$%gQY)4!Yj&3cBJ3MOv+%bRkW*m+H*HAqbF`%Zkg8hXe3ct~J zOpg2llmR$*Mlu@rYXsm7{6D zXfjzlmYOAh;3$}o2aW|&7RRl?F#Sn2Z}L$xsmu=6;|sJS40!o`4Hb7|wqh5OpVib< z=0KPxsJ_l^mc>8NwMU-#ag=`#Pc~QY?*cF->~Nr15CNii-M&CdRz*;tq@GSnUi$MT z%0;VlJRh6Z4bvu<58n3Q<{Ik7{S8}VLSH0PVulztLL*afWRv?DzKxoPH4~>)7kY(i z2r2DGS3p0tYKU2wItQ;jW?Jfn_s4xhd(Gnmwd+iE^hSBJOiNvP^c>i7Q|MmO-PZ-XB@V~3RjyeJ1e-=3Z_VvG9`1ddX0R9j4 Ck>0le literal 0 HcmV?d00001 diff --git a/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.6.8.sol-0.8.8-compact.zip new file mode 100644 index 0000000000000000000000000000000000000000..c9e492f05cf4b36286831fe76e23b46db0aac9f0 GIT binary patch literal 4181 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\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.6.8-compact.json new file mode 100644 index 0000000000..b1f0b06b07 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.6.8-compact.json @@ -0,0 +1,8 @@ +{ + "I": {}, + "F": {}, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n}\n", + "g(C.A)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.0-compact.json new file mode 100644 index 0000000000..b1f0b06b07 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.0-compact.json @@ -0,0 +1,8 @@ +{ + "I": {}, + "F": {}, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n}\n", + "g(C.A)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.1-compact.json new file mode 100644 index 0000000000..b1f0b06b07 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.1-compact.json @@ -0,0 +1,8 @@ +{ + "I": {}, + "F": {}, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n}\n", + "g(C.A)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.2-compact.json new file mode 100644 index 0000000000..b1f0b06b07 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.2-compact.json @@ -0,0 +1,8 @@ +{ + "I": {}, + "F": {}, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n}\n", + "g(C.A)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.3-compact.json new file mode 100644 index 0000000000..b1f0b06b07 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.3-compact.json @@ -0,0 +1,8 @@ +{ + "I": {}, + "F": {}, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n}\n", + "g(C.A)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.4-compact.json new file mode 100644 index 0000000000..b1f0b06b07 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.4-compact.json @@ -0,0 +1,8 @@ +{ + "I": {}, + "F": {}, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n}\n", + "g(C.A)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.5-compact.json new file mode 100644 index 0000000000..b1f0b06b07 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.5-compact.json @@ -0,0 +1,8 @@ +{ + "I": {}, + "F": {}, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n}\n", + "g(C.A)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.6-compact.json new file mode 100644 index 0000000000..b1f0b06b07 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.7.6-compact.json @@ -0,0 +1,8 @@ +{ + "I": {}, + "F": {}, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n}\n", + "g(C.A)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.0-compact.json new file mode 100644 index 0000000000..b1f0b06b07 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.0-compact.json @@ -0,0 +1,8 @@ +{ + "I": {}, + "F": {}, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n}\n", + "g(C.A)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.1-compact.json new file mode 100644 index 0000000000..b1f0b06b07 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.1-compact.json @@ -0,0 +1,8 @@ +{ + "I": {}, + "F": {}, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n}\n", + "g(C.A)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.10-compact.json new file mode 100644 index 0000000000..b1f0b06b07 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.10-compact.json @@ -0,0 +1,8 @@ +{ + "I": {}, + "F": {}, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n}\n", + "g(C.A)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.11-compact.json new file mode 100644 index 0000000000..b1f0b06b07 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.11-compact.json @@ -0,0 +1,8 @@ +{ + "I": {}, + "F": {}, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n}\n", + "g(C.A)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.12-compact.json new file mode 100644 index 0000000000..b1f0b06b07 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.12-compact.json @@ -0,0 +1,8 @@ +{ + "I": {}, + "F": {}, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n}\n", + "g(C.A)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.13-compact.json new file mode 100644 index 0000000000..b1f0b06b07 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.13-compact.json @@ -0,0 +1,8 @@ +{ + "I": {}, + "F": {}, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n}\n", + "g(C.A)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.14-compact.json new file mode 100644 index 0000000000..b1f0b06b07 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.14-compact.json @@ -0,0 +1,8 @@ +{ + "I": {}, + "F": {}, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n}\n", + "g(C.A)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.15-compact.json new file mode 100644 index 0000000000..b1f0b06b07 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.15-compact.json @@ -0,0 +1,8 @@ +{ + "I": {}, + "F": {}, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n}\n", + "g(C.A)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.2-compact.json new file mode 100644 index 0000000000..b1f0b06b07 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.2-compact.json @@ -0,0 +1,8 @@ +{ + "I": {}, + "F": {}, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n}\n", + "g(C.A)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.3-compact.json new file mode 100644 index 0000000000..b1f0b06b07 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.3-compact.json @@ -0,0 +1,8 @@ +{ + "I": {}, + "F": {}, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n}\n", + "g(C.A)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.4-compact.json new file mode 100644 index 0000000000..b1f0b06b07 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.4-compact.json @@ -0,0 +1,8 @@ +{ + "I": {}, + "F": {}, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n}\n", + "g(C.A)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.5-compact.json new file mode 100644 index 0000000000..b1f0b06b07 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.5-compact.json @@ -0,0 +1,8 @@ +{ + "I": {}, + "F": {}, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n}\n", + "g(C.A)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.6-compact.json new file mode 100644 index 0000000000..b1f0b06b07 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.6-compact.json @@ -0,0 +1,8 @@ +{ + "I": {}, + "F": {}, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n}\n", + "g(C.A)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.7-compact.json new file mode 100644 index 0000000000..b1f0b06b07 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.7-compact.json @@ -0,0 +1,8 @@ +{ + "I": {}, + "F": {}, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n}\n", + "g(C.A)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.8-compact.json new file mode 100644 index 0000000000..b1f0b06b07 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.8-compact.json @@ -0,0 +1,8 @@ +{ + "I": {}, + "F": {}, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n}\n", + "g(C.A)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.9-compact.json new file mode 100644 index 0000000000..b1f0b06b07 --- /dev/null +++ b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.6.8.sol-0.8.9-compact.json @@ -0,0 +1,8 @@ +{ + "I": {}, + "F": {}, + "C": { + "f()": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: NEW VARIABLE 1\n\"];\n1->2;\n2[label=\"Node Type: EXPRESSION 2\n\"];\n2->3;\n3[label=\"Node Type: NEW VARIABLE 3\n\"];\n3->4;\n4[label=\"Node Type: EXPRESSION 4\n\"];\n4->5;\n5[label=\"Node Type: EXPRESSION 5\n\"];\n5->6;\n6[label=\"Node Type: EXPRESSION 6\n\"];\n6->7;\n7[label=\"Node Type: EXPRESSION 7\n\"];\n7->8;\n8[label=\"Node Type: EXPRESSION 8\n\"];\n8->9;\n9[label=\"Node Type: EXPRESSION 9\n\"];\n9->10;\n10[label=\"Node Type: EXPRESSION 10\n\"];\n10->11;\n11[label=\"Node Type: EXPRESSION 11\n\"];\n11->12;\n12[label=\"Node Type: EXPRESSION 12\n\"];\n12->13;\n13[label=\"Node Type: EXPRESSION 13\n\"];\n}\n", + "g(C.A)": "digraph{\n0[label=\"Node Type: ENTRY_POINT 0\n\"];\n0->1;\n1[label=\"Node Type: EXPRESSION 1\n\"];\n}\n" + } +} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/memberaccess-0.5.14.sol b/tests/e2e/solc_parsing/test_data/memberaccess-0.5.14.sol deleted file mode 100644 index ad223c8fbd..0000000000 --- a/tests/e2e/solc_parsing/test_data/memberaccess-0.5.14.sol +++ /dev/null @@ -1,29 +0,0 @@ -contract I { - -} - -contract C { - struct S { - uint a; - } - - function f() public payable { - uint[] memory x; - x.length; - - C c; - c.f.selector; - - address(this).balance; - - block.coinbase; - - msg.sender; - - tx.origin; - - S({a: 5}).a; - - type(I).creationCode; - } -} \ No newline at end of file diff --git a/tests/e2e/solc_parsing/test_data/memberaccess-0.6.8.sol b/tests/e2e/solc_parsing/test_data/memberaccess-0.6.8.sol index 42d955cb41..9c96836cf6 100644 --- a/tests/e2e/solc_parsing/test_data/memberaccess-0.6.8.sol +++ b/tests/e2e/solc_parsing/test_data/memberaccess-0.6.8.sol @@ -1,3 +1,4 @@ +pragma experimental ABIEncoderV2; contract I { } @@ -11,6 +12,10 @@ contract C { uint a; } + struct A { + uint balance; + } + function f() public payable { uint[] memory x; x.length; @@ -33,4 +38,9 @@ contract C { type(int).min; type(int).max; } + + function g(A memory self) public { + self.balance = 1; + } + } \ No newline at end of file From 030a0e14edce491072afddc1d61e0533b6a0f0b0 Mon Sep 17 00:00:00 2001 From: steven nevins Date: Mon, 8 Dec 2025 08:34:36 -0500 Subject: [PATCH 100/113] fix: handle Unicode characters correctly in mutator byte offset calculations Solc reports source locations as byte offsets, but the mutator code was using Python string indexing which operates on character counts. For files with multi-byte Unicode characters (e.g., Japanese comments), this caused mutations to be applied at wrong positions. - Change test_patch() to read/write files in binary mode - Fix apply_patch() offset calculation to use byte length --- slither/formatters/utils/patches.py | 3 ++- slither/tools/mutator/utils/testing_generated_mutant.py | 9 ++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/slither/formatters/utils/patches.py b/slither/formatters/utils/patches.py index c538be5133..8d7fa98bf1 100644 --- a/slither/formatters/utils/patches.py +++ b/slither/formatters/utils/patches.py @@ -31,7 +31,8 @@ def apply_patch(original_txt: bytes, patch: Dict, offset: int) -> Tuple[bytes, i patched_txt += original_txt[int(patch["end"] + offset) :] # Keep the diff of text added or sub, in case of multiple patches - patch_length_diff = len(patch["new_string"]) - (patch["end"] - patch["start"]) + # Note: must use byte length since patch offsets are byte offsets from solc + patch_length_diff = len(patch["new_string"].encode("utf8")) - (patch["end"] - patch["start"]) return patched_txt, patch_length_diff + offset diff --git a/slither/tools/mutator/utils/testing_generated_mutant.py b/slither/tools/mutator/utils/testing_generated_mutant.py index dece111947..98dcd8083a 100644 --- a/slither/tools/mutator/utils/testing_generated_mutant.py +++ b/slither/tools/mutator/utils/testing_generated_mutant.py @@ -92,12 +92,15 @@ def test_patch( function to verify whether each patch is caught by tests returns: 0 (uncaught), 1 (caught), or 2 (compilation failure) """ - with open(file, "r", encoding="utf8") as filepath: + with open(file, "rb") as filepath: content = filepath.read() # Perform the replacement based on the index values - replaced_content = content[: patch["start"]] + patch["new_string"] + content[patch["end"] :] + # Note: patch offsets are byte offsets from solc, so we must work with bytes + replaced_content = ( + content[: patch["start"]] + patch["new_string"].encode("utf8") + content[patch["end"] :] + ) # Write the modified content back to the file - with open(file, "w", encoding="utf8") as filepath: + with open(file, "wb") as filepath: filepath.write(replaced_content) if compile_generated_mutant(file, mappings): From 868f88d72dddda745b870fc1d36c8f55afa789e4 Mon Sep 17 00:00:00 2001 From: Simone Date: Fri, 9 Jan 2026 19:47:31 +0100 Subject: [PATCH 101/113] Support custom storage layout --- slither/core/compilation_unit.py | 20 ++++++++++++---- slither/core/declarations/contract.py | 15 ++++++++++++ slither/solc_parsing/declarations/contract.py | 24 +++++++++++++++++++ .../slither_compilation_unit_solc.py | 3 +++ .../storage_layout/storage_layout-0.8.33.sol | 8 +++++++ tests/unit/core/test_storage_layout.py | 10 ++++++-- 6 files changed, 74 insertions(+), 6 deletions(-) create mode 100644 tests/unit/core/test_data/storage_layout/storage_layout-0.8.33.sol diff --git a/slither/core/compilation_unit.py b/slither/core/compilation_unit.py index e034f5feae..3e9efbbfe3 100644 --- a/slither/core/compilation_unit.py +++ b/slither/core/compilation_unit.py @@ -299,18 +299,30 @@ def compute_storage_layout(self) -> None: assert self.is_solidity for contract in self.contracts_derived: - self._compute_storage_layout(contract.name, contract.storage_variables_ordered, False) - self._compute_storage_layout(contract.name, contract.transient_variables_ordered, True) + self._compute_storage_layout( + contract.name, + contract.storage_variables_ordered, + False, + contract.custom_storage_layout, + ) + self._compute_storage_layout( + contract.name, contract.transient_variables_ordered, True, None + ) def _compute_storage_layout( - self, contract_name: str, state_variables_ordered: List[StateVariable], is_transient: bool + self, + contract_name: str, + state_variables_ordered: List[StateVariable], + is_transient: bool, + custom_storage_layout: Optional[int], ): if is_transient: + slot = 0 self._transient_storage_layouts[contract_name] = {} else: + slot = custom_storage_layout if custom_storage_layout else 0 self._persistent_storage_layouts[contract_name] = {} - slot = 0 offset = 0 for var in state_variables_ordered: assert var.type diff --git a/slither/core/declarations/contract.py b/slither/core/declarations/contract.py index 13698f272a..693d314c9d 100644 --- a/slither/core/declarations/contract.py +++ b/slither/core/declarations/contract.py @@ -63,6 +63,8 @@ def __init__(self, compilation_unit: "SlitherCompilationUnit", scope: "FileScope self._id: Optional[int] = None self._inheritance: List["Contract"] = [] # all contract inherited, c3 linearization self._immediate_inheritance: List["Contract"] = [] # immediate inheritance + # Start slot for the persistent storage if custom layout used + self._custom_storage_layout: Optional[int] = None # Constructors called on contract's definition # contract B is A(1) { .. @@ -229,6 +231,19 @@ def is_abstract(self) -> bool: def is_abstract(self, is_abstract: bool): self._is_abstract = is_abstract + @property + def custom_storage_layout(self) -> Optional[int]: + """ + Return the persistent storage slot starting position if a custom storage layout is used. + Otherwise None. + int: Storage slot starting position. + """ + return self._custom_storage_layout + + @custom_storage_layout.setter + def custom_storage_layout(self, slot: int): + self._custom_storage_layout = slot + # endregion ################################################################################### ################################################################################### diff --git a/slither/solc_parsing/declarations/contract.py b/slither/solc_parsing/declarations/contract.py index 3d82a7488f..76f3f6f187 100644 --- a/slither/solc_parsing/declarations/contract.py +++ b/slither/solc_parsing/declarations/contract.py @@ -24,6 +24,8 @@ from slither.solc_parsing.solidity_types.type_parsing import parse_type from slither.solc_parsing.variables.state_variable import StateVariableSolc from slither.utils.using_for import USING_FOR_KEY +from slither.visitors.expression.constants_folding import ConstantFolding, NotConstant +from slither.solc_parsing.expressions.expression_parsing import parse_expression LOGGER = logging.getLogger("ContractSolcParsing") @@ -58,6 +60,8 @@ def __init__( self._structures_parser: List[StructureContractSolc] = [] self._custom_errors_parser: List[CustomErrorSolc] = [] + self._storage_layout_parsed_expression = None + self._is_analyzed: bool = False # use to remap inheritance id @@ -174,6 +178,13 @@ def _parse_contract_info(self) -> None: self._contract.is_fully_implemented = attributes["fullyImplemented"] self._linearized_base_contracts = attributes["linearizedBaseContracts"] + if "storageLayout" in attributes: + # For now we care only about the actual value, hence we immediately parse the expression + # and ConstantFold it later on since it could be using a TopLevel variable + self._storage_layout_parsed_expression = parse_expression( + attributes["storageLayout"]["baseSlotExpression"], self + ) + if "abstract" in attributes: self._contract.is_abstract = attributes["abstract"] @@ -425,6 +436,19 @@ def log_incorrect_parsing(self, error: str) -> None: LOGGER.error(error) self._contract.is_incorrectly_constructed = True + def analyze_storage_layout(self) -> None: + if self._storage_layout_parsed_expression is not None: + try: + self._contract.custom_storage_layout = ( + ConstantFolding(self._storage_layout_parsed_expression, "uint256") + .result() + .value + ) + except NotConstant as e: + self.log_incorrect_parsing( + f"Error when folding the custom storage layout value {e}" + ) + def analyze_content_modifiers(self) -> None: try: for modifier_parser in self._modifiers_parser: diff --git a/slither/solc_parsing/slither_compilation_unit_solc.py b/slither/solc_parsing/slither_compilation_unit_solc.py index b77ee78be7..4faded1b9f 100644 --- a/slither/solc_parsing/slither_compilation_unit_solc.py +++ b/slither/solc_parsing/slither_compilation_unit_solc.py @@ -735,6 +735,9 @@ def _analyze_struct_events(self, contract: ContractSolc) -> None: contract.analyze_custom_errors() + # Must be here since it can use top level variables hence they must be analyzed + contract.analyze_storage_layout() + contract.set_is_analyzed(True) def _analyze_top_level_structures(self) -> None: diff --git a/tests/unit/core/test_data/storage_layout/storage_layout-0.8.33.sol b/tests/unit/core/test_data/storage_layout/storage_layout-0.8.33.sol new file mode 100644 index 0000000000..b01b5f3349 --- /dev/null +++ b/tests/unit/core/test_data/storage_layout/storage_layout-0.8.33.sol @@ -0,0 +1,8 @@ +// overwrite abi and bin: +// solc tests/storage-layout/storage_layout-0.8.33.sol --abi --bin -o tests/storage-layout --overwrite +uint constant OFFSET = 1; + +contract B layout at 0x10 + OFFSET { + uint _q; + uint _w; +} diff --git a/tests/unit/core/test_storage_layout.py b/tests/unit/core/test_storage_layout.py index 3337eb0f74..41c8314486 100644 --- a/tests/unit/core/test_storage_layout.py +++ b/tests/unit/core/test_storage_layout.py @@ -8,9 +8,15 @@ def test_storage_layout(solc_binary_path): + _test_storage_layout(solc_binary_path, "0.8.10", "storage_layout-0.8.10.sol") + +def test_custom_storage_layout(solc_binary_path): + _test_storage_layout(solc_binary_path, "0.8.33", "storage_layout-0.8.33.sol") + +def _test_storage_layout(solc_binary_path, solc_version, test_file): # the storage layout has not yet changed between solidity versions so we will test with one version of the compiler - solc_path = solc_binary_path("0.8.10") - test_item = Path(STORAGE_TEST_ROOT, "storage_layout-0.8.10.sol").as_posix() + solc_path = solc_binary_path(solc_version) + test_item = Path(STORAGE_TEST_ROOT, test_file).as_posix() sl = Slither(test_item, disallow_partial=True, solc=solc_path) From d3ebedf1605ff99297c9b098cb92f32e28e77c1b Mon Sep 17 00:00:00 2001 From: Simone Date: Fri, 9 Jan 2026 19:50:41 +0100 Subject: [PATCH 102/113] Format --- tests/unit/core/test_storage_layout.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/unit/core/test_storage_layout.py b/tests/unit/core/test_storage_layout.py index 41c8314486..8bc4f16d12 100644 --- a/tests/unit/core/test_storage_layout.py +++ b/tests/unit/core/test_storage_layout.py @@ -10,9 +10,11 @@ def test_storage_layout(solc_binary_path): _test_storage_layout(solc_binary_path, "0.8.10", "storage_layout-0.8.10.sol") + def test_custom_storage_layout(solc_binary_path): _test_storage_layout(solc_binary_path, "0.8.33", "storage_layout-0.8.33.sol") + def _test_storage_layout(solc_binary_path, solc_version, test_file): # the storage layout has not yet changed between solidity versions so we will test with one version of the compiler solc_path = solc_binary_path(solc_version) From 990057feacb9a0438bc15f482ebfb24e6c77bf5e Mon Sep 17 00:00:00 2001 From: Simone Date: Fri, 9 Jan 2026 19:57:49 +0100 Subject: [PATCH 103/113] Add type hint --- slither/solc_parsing/declarations/contract.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/slither/solc_parsing/declarations/contract.py b/slither/solc_parsing/declarations/contract.py index 76f3f6f187..787225278e 100644 --- a/slither/solc_parsing/declarations/contract.py +++ b/slither/solc_parsing/declarations/contract.py @@ -1,6 +1,6 @@ import logging import re -from typing import Any, List, Dict, Callable, TYPE_CHECKING, Union, Set, Sequence, Tuple +from typing import Any, List, Dict, Callable, TYPE_CHECKING, Union, Set, Sequence, Tuple, Optional from slither.core.declarations import ( Modifier, @@ -14,6 +14,7 @@ from slither.core.declarations.function_contract import FunctionContract from slither.core.solidity_types import ElementaryType, TypeAliasContract from slither.core.variables.state_variable import StateVariable +from slither.core.expressions.expression import Expression from slither.solc_parsing.declarations.caller_context import CallerContextExpression from slither.solc_parsing.declarations.custom_error import CustomErrorSolc from slither.solc_parsing.declarations.event_contract import EventContractSolc @@ -23,9 +24,9 @@ from slither.solc_parsing.exceptions import ParsingError, VariableNotFound from slither.solc_parsing.solidity_types.type_parsing import parse_type from slither.solc_parsing.variables.state_variable import StateVariableSolc +from slither.solc_parsing.expressions.expression_parsing import parse_expression from slither.utils.using_for import USING_FOR_KEY from slither.visitors.expression.constants_folding import ConstantFolding, NotConstant -from slither.solc_parsing.expressions.expression_parsing import parse_expression LOGGER = logging.getLogger("ContractSolcParsing") @@ -60,7 +61,7 @@ def __init__( self._structures_parser: List[StructureContractSolc] = [] self._custom_errors_parser: List[CustomErrorSolc] = [] - self._storage_layout_parsed_expression = None + self._storage_layout_parsed_expression: Optional[Expression] = None self._is_analyzed: bool = False From 9ae49b18682ab0e1e05d8706055db2db8a0b4a92 Mon Sep 17 00:00:00 2001 From: Simone Date: Sat, 10 Jan 2026 00:55:20 +0100 Subject: [PATCH 104/113] Add detector's name in the output --- slither/detectors/abstract_detector.py | 1 + 1 file changed, 1 insertion(+) diff --git a/slither/detectors/abstract_detector.py b/slither/detectors/abstract_detector.py index 03aaec80fb..652a549275 100644 --- a/slither/detectors/abstract_detector.py +++ b/slither/detectors/abstract_detector.py @@ -291,6 +291,7 @@ def _format(_compilation_unit: SlitherCompilationUnit, _result: Dict) -> None: def _log_result(self, results: List[Dict]) -> None: info = "\n" + info += f"Detector: {self.ARGUMENT}\n" for idx, result in enumerate(results): if self.slither.triage_mode: info += f"{idx}: " From 3ce59c55913c844ff5b1a565d7668e2fee744d9b Mon Sep 17 00:00:00 2001 From: Simone Date: Sat, 10 Jan 2026 01:10:11 +0100 Subject: [PATCH 105/113] Remove iterating modifiers as they are already present from all_internal_calls() --- slither/printers/functions/authorization.py | 1 - 1 file changed, 1 deletion(-) diff --git a/slither/printers/functions/authorization.py b/slither/printers/functions/authorization.py index 672a96a7b1..060c431dd2 100644 --- a/slither/printers/functions/authorization.py +++ b/slither/printers/functions/authorization.py @@ -25,7 +25,6 @@ def get_msg_sender_checks(function: Function) -> List[str]: if isinstance(ir.function, Function) ] + [function] - + [m for m in function.modifiers if isinstance(m, Function)] ) all_nodes_ = [f.nodes for f in all_functions] From d1711917de0c27cac8bd4635244a27bb1bac6228 Mon Sep 17 00:00:00 2001 From: Simone Date: Sat, 10 Jan 2026 01:12:30 +0100 Subject: [PATCH 106/113] Format --- slither/printers/functions/authorization.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/slither/printers/functions/authorization.py b/slither/printers/functions/authorization.py index 060c431dd2..cf113971c1 100644 --- a/slither/printers/functions/authorization.py +++ b/slither/printers/functions/authorization.py @@ -18,14 +18,9 @@ class PrinterWrittenVariablesAndAuthorization(AbstractPrinter): @staticmethod def get_msg_sender_checks(function: Function) -> List[str]: - all_functions = ( - [ - ir.function - for ir in function.all_internal_calls() - if isinstance(ir.function, Function) - ] - + [function] - ) + all_functions = [ + ir.function for ir in function.all_internal_calls() if isinstance(ir.function, Function) + ] + [function] all_nodes_ = [f.nodes for f in all_functions] all_nodes = [item for sublist in all_nodes_ for item in sublist] From 68f0e10dae7c814d0446e59e2dd0f9c3aaf0a841 Mon Sep 17 00:00:00 2001 From: Simone Date: Sat, 10 Jan 2026 01:33:02 +0100 Subject: [PATCH 107/113] Add unindexed-event-address detector --- slither/detectors/all_detectors.py | 1 + .../attributes/unindexed_event_address.py | 113 ++++++++++++++++++ ..._0_8_22_unindexed_event_address_sol__0.txt | 8 ++ .../0.8.22/unindexed_event_address.sol | 27 +++++ .../unindexed_event_address.sol-0.8.22.zip | Bin 0 -> 3049 bytes tests/e2e/detectors/test_detectors.py | 5 + 6 files changed, 154 insertions(+) create mode 100644 slither/detectors/attributes/unindexed_event_address.py create mode 100644 tests/e2e/detectors/snapshots/detectors__detector_UnindexedEventAddress_0_8_22_unindexed_event_address_sol__0.txt create mode 100644 tests/e2e/detectors/test_data/unindexed-event-address/0.8.22/unindexed_event_address.sol create mode 100644 tests/e2e/detectors/test_data/unindexed-event-address/0.8.22/unindexed_event_address.sol-0.8.22.zip diff --git a/slither/detectors/all_detectors.py b/slither/detectors/all_detectors.py index f6382156cb..f29c995235 100644 --- a/slither/detectors/all_detectors.py +++ b/slither/detectors/all_detectors.py @@ -102,5 +102,6 @@ from .functions.chainlink_feed_registry import ChainlinkFeedRegistry from .functions.pyth_deprecated_functions import PythDeprecatedFunctions from .functions.optimism_deprecation import OptimismDeprecation +from .attributes.unindexed_event_address import UnindexedEventAddress # from .statements.unused_import import UnusedImport diff --git a/slither/detectors/attributes/unindexed_event_address.py b/slither/detectors/attributes/unindexed_event_address.py new file mode 100644 index 0000000000..1e667b64ef --- /dev/null +++ b/slither/detectors/attributes/unindexed_event_address.py @@ -0,0 +1,113 @@ +""" +Detect events with address parameters that have no indexed parameters +""" + +from typing import List, Union + +from slither.core.declarations.event import Event +from slither.core.declarations.event_contract import EventContract +from slither.core.declarations.event_top_level import EventTopLevel +from slither.core.solidity_types.elementary_type import ElementaryType +from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification +from slither.utils.output import Output + + +class UnindexedEventAddress(AbstractDetector): + """ + Detect events with address parameters that have no indexed parameters. + + Indexing address parameters enables efficient off-chain filtering of events. + """ + + ARGUMENT = "unindexed-event-address" + HELP = "Events with address parameters but no indexed parameters" + IMPACT = DetectorClassification.INFORMATIONAL + CONFIDENCE = DetectorClassification.HIGH + + WIKI = ( + "https://github.com/crytic/slither/wiki/Detector-Documentation" + "#events-with-address-parameters-but-no-indexed-parameters" + ) + + WIKI_TITLE = "Unindexed event address parameters" + WIKI_DESCRIPTION = ( + "Detects events that have address-type parameters but no indexed parameters. " + "Indexing event parameters enables efficient off-chain filtering." + ) + + WIKI_EXPLOIT_SCENARIO = """ +```solidity +contract Token { + event Transfer(address from, address to, uint256 value); + + function transfer(address to, uint256 value) external { + // ... + emit Transfer(msg.sender, to, value); + } +} +``` +The `Transfer` event has address parameters but none are indexed. +Off-chain tools cannot efficiently filter transfers by sender or recipient address.""" + + WIKI_RECOMMENDATION = ( + "Add the `indexed` keyword to address parameters in events " + "to enable efficient off-chain filtering." + ) + + STANDARD_JSON = False + + @staticmethod + def _has_unindexed_address(event: Event) -> bool: + """ + Check if an event has address parameters but no indexed parameters. + + Args: + event: The event to check. + + Returns: + True if the event has address params but no indexed params. + """ + has_address = False + has_indexed = False + + for param in event.elems: + if param.indexed: + has_indexed = True + if param.type == ElementaryType("address"): + has_address = True + + return has_address and not has_indexed + + def _detect(self) -> List[Output]: + """ + Detect events with address parameters but no indexed parameters. + + Returns: + List of detection results. + """ + results: List[Output] = [] + + # Check contract-level events + for contract in self.contracts: + for event in contract.events_declared: + if self._has_unindexed_address(event): + info = [ + "Event ", + event, + " has address parameters but no indexed parameters\n", + ] + res = self.generate_result(info) + results.append(res) + + # Check top-level events + for event in self.compilation_unit.events_top_level: + if self._has_unindexed_address(event): + info = [ + "Event ", + event, + " has address parameters but no indexed parameters\n", + ] + res = self.generate_result(info) + results.append(res) + + return results diff --git a/tests/e2e/detectors/snapshots/detectors__detector_UnindexedEventAddress_0_8_22_unindexed_event_address_sol__0.txt b/tests/e2e/detectors/snapshots/detectors__detector_UnindexedEventAddress_0_8_22_unindexed_event_address_sol__0.txt new file mode 100644 index 0000000000..00722c48a9 --- /dev/null +++ b/tests/e2e/detectors/snapshots/detectors__detector_UnindexedEventAddress_0_8_22_unindexed_event_address_sol__0.txt @@ -0,0 +1,8 @@ +Event TestContract.BadApproval(address,address,uint256) (tests/e2e/detectors/test_data/unindexed-event-address/0.8.22/unindexed_event_address.sol#16) has address parameters but no indexed parameters + +Event TestContract.BadTransfer(address,address,uint256) (tests/e2e/detectors/test_data/unindexed-event-address/0.8.22/unindexed_event_address.sol#15) has address parameters but no indexed parameters + +Event TopLevelBadEvent (tests/e2e/detectors/test_data/unindexed-event-address/0.8.22/unindexed_event_address.sol#5) has address parameters but no indexed parameters + +Event TestContract.SingleBadAddress(address) (tests/e2e/detectors/test_data/unindexed-event-address/0.8.22/unindexed_event_address.sol#17) has address parameters but no indexed parameters + diff --git a/tests/e2e/detectors/test_data/unindexed-event-address/0.8.22/unindexed_event_address.sol b/tests/e2e/detectors/test_data/unindexed-event-address/0.8.22/unindexed_event_address.sol new file mode 100644 index 0000000000..36e2e37dd1 --- /dev/null +++ b/tests/e2e/detectors/test_data/unindexed-event-address/0.8.22/unindexed_event_address.sol @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: MIT +pragma solidity 0.8.22; + +// Top-level event - SHOULD DETECT (has address params, no indexed) +event TopLevelBadEvent(address from, address to, uint256 value); + +// Top-level event - should NOT detect (has indexed param) +event TopLevelGoodEvent(address indexed from, address to, uint256 value); + +// Top-level event - should NOT detect (no address params) +event TopLevelNoAddress(uint256 value, bytes32 data); + +contract TestContract { + // SHOULD DETECT - address params, no indexed + event BadTransfer(address from, address to, uint256 value); + event BadApproval(address owner, address spender, uint256 amount); + event SingleBadAddress(address user); + + // Should NOT detect - has indexed params + event GoodTransfer(address indexed from, address indexed to, uint256 value); + event PartiallyIndexed(address indexed from, address to, uint256 value); + event IndexedNonAddress(address from, uint256 indexed value); + + // Should NOT detect - no address params + event NoAddressEvent(uint256 value, bytes32 data); + event EmptyEvent(); +} diff --git a/tests/e2e/detectors/test_data/unindexed-event-address/0.8.22/unindexed_event_address.sol-0.8.22.zip b/tests/e2e/detectors/test_data/unindexed-event-address/0.8.22/unindexed_event_address.sol-0.8.22.zip new file mode 100644 index 0000000000000000000000000000000000000000..6e301e9a5909b06c2cf49637e5c3aa20f9723198 GIT binary patch literal 3049 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 V+z3Sd?~LMierp_n{SA5m;6E;Sl*Rx6 literal 0 HcmV?d00001 diff --git a/tests/e2e/detectors/test_detectors.py b/tests/e2e/detectors/test_detectors.py index bc29841f85..47332c1745 100644 --- a/tests/e2e/detectors/test_detectors.py +++ b/tests/e2e/detectors/test_detectors.py @@ -1754,6 +1754,11 @@ def id_test(test_item: Test): "optimism_deprecation.sol", "0.8.20", ), + Test( + all_detectors.UnindexedEventAddress, + "unindexed_event_address.sol", + "0.8.22", + ), # Test( # all_detectors.UnusedImport, # "ConstantContractLevelUsedInContractTest.sol", From 22a72c3ceb5558ddd177b69c7d51e88a9abbc014 Mon Sep 17 00:00:00 2001 From: Simone Date: Sat, 10 Jan 2026 01:35:37 +0100 Subject: [PATCH 108/113] Update README.md --- README.md | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 59a77ef97e..d3b62aa176 100644 --- a/README.md +++ b/README.md @@ -243,16 +243,17 @@ Num | Detector | What it Detects | Impact | Confidence 86 | `redundant-statements` | [Redundant statements](https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements) | Informational | High 87 | `solc-version` | [Incorrect Solidity version](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity) | Informational | High 88 | `unimplemented-functions` | [Unimplemented functions](https://github.com/crytic/slither/wiki/Detector-Documentation#unimplemented-functions) | Informational | High -89 | `unused-state` | [Unused state variables](https://github.com/crytic/slither/wiki/Detector-Documentation#unused-state-variable) | Informational | High -90 | `costly-loop` | [Costly operations in a loop](https://github.com/crytic/slither/wiki/Detector-Documentation#costly-operations-inside-a-loop) | Informational | Medium -91 | `dead-code` | [Functions that are not used](https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code) | Informational | Medium -92 | `reentrancy-unlimited-gas` | [Reentrancy vulnerabilities through send and transfer](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-4) | Informational | Medium -93 | `too-many-digits` | [Conformance to numeric notation best practices](https://github.com/crytic/slither/wiki/Detector-Documentation#too-many-digits) | Informational | Medium -94 | `cache-array-length` | [Detects `for` loops that use `length` member of some storage array in their loop condition and don't modify it.](https://github.com/crytic/slither/wiki/Detector-Documentation#cache-array-length) | Optimization | High -95 | `constable-states` | [State variables that could be declared constant](https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-constant) | Optimization | High -96 | `external-function` | [Public function that could be declared external](https://github.com/crytic/slither/wiki/Detector-Documentation#public-function-that-could-be-declared-external) | Optimization | High -97 | `immutable-states` | [State variables that could be declared immutable](https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-immutable) | Optimization | High -98 | `var-read-using-this` | [Contract reads its own variable using `this`](https://github.com/crytic/slither/wiki/Detector-Documentation#public-variable-read-in-external-context) | Optimization | High +89 | `unindexed-event-address` | [Events with address parameters but no indexed parameters](https://github.com/crytic/slither/wiki/Detector-Documentation#events-with-address-parameters-but-no-indexed-parameters) | Informational | High +90 | `unused-state` | [Unused state variables](https://github.com/crytic/slither/wiki/Detector-Documentation#unused-state-variable) | Informational | High +91 | `costly-loop` | [Costly operations in a loop](https://github.com/crytic/slither/wiki/Detector-Documentation#costly-operations-inside-a-loop) | Informational | Medium +92 | `dead-code` | [Functions that are not used](https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code) | Informational | Medium +93 | `reentrancy-unlimited-gas` | [Reentrancy vulnerabilities through send and transfer](https://github.com/crytic/slither/wiki/Detector-Documentation#reentrancy-vulnerabilities-4) | Informational | Medium +94 | `too-many-digits` | [Conformance to numeric notation best practices](https://github.com/crytic/slither/wiki/Detector-Documentation#too-many-digits) | Informational | Medium +95 | `cache-array-length` | [Detects `for` loops that use `length` member of some storage array in their loop condition and don't modify it.](https://github.com/crytic/slither/wiki/Detector-Documentation#cache-array-length) | Optimization | High +96 | `constable-states` | [State variables that could be declared constant](https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-constant) | Optimization | High +97 | `external-function` | [Public function that could be declared external](https://github.com/crytic/slither/wiki/Detector-Documentation#public-function-that-could-be-declared-external) | Optimization | High +98 | `immutable-states` | [State variables that could be declared immutable](https://github.com/crytic/slither/wiki/Detector-Documentation#state-variables-that-could-be-declared-immutable) | Optimization | High +99 | `var-read-using-this` | [Contract reads its own variable using `this`](https://github.com/crytic/slither/wiki/Detector-Documentation#public-variable-read-in-external-context) | Optimization | High For more information, see From 8216de97076756ba78bd8ab520cfb38eb43a57e5 Mon Sep 17 00:00:00 2001 From: Simone Date: Sat, 10 Jan 2026 01:41:43 +0100 Subject: [PATCH 109/113] Fix wiki link --- README.md | 2 +- slither/detectors/attributes/unindexed_event_address.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d3b62aa176..87025b7091 100644 --- a/README.md +++ b/README.md @@ -243,7 +243,7 @@ Num | Detector | What it Detects | Impact | Confidence 86 | `redundant-statements` | [Redundant statements](https://github.com/crytic/slither/wiki/Detector-Documentation#redundant-statements) | Informational | High 87 | `solc-version` | [Incorrect Solidity version](https://github.com/crytic/slither/wiki/Detector-Documentation#incorrect-versions-of-solidity) | Informational | High 88 | `unimplemented-functions` | [Unimplemented functions](https://github.com/crytic/slither/wiki/Detector-Documentation#unimplemented-functions) | Informational | High -89 | `unindexed-event-address` | [Events with address parameters but no indexed parameters](https://github.com/crytic/slither/wiki/Detector-Documentation#events-with-address-parameters-but-no-indexed-parameters) | Informational | High +89 | `unindexed-event-address` | [Events with address parameters but no indexed parameters](https://github.com/crytic/slither/wiki/Detector-Documentation#unindexed-event-address-parameters) | Informational | High 90 | `unused-state` | [Unused state variables](https://github.com/crytic/slither/wiki/Detector-Documentation#unused-state-variable) | Informational | High 91 | `costly-loop` | [Costly operations in a loop](https://github.com/crytic/slither/wiki/Detector-Documentation#costly-operations-inside-a-loop) | Informational | Medium 92 | `dead-code` | [Functions that are not used](https://github.com/crytic/slither/wiki/Detector-Documentation#dead-code) | Informational | Medium diff --git a/slither/detectors/attributes/unindexed_event_address.py b/slither/detectors/attributes/unindexed_event_address.py index 1e667b64ef..89e4a36a0c 100644 --- a/slither/detectors/attributes/unindexed_event_address.py +++ b/slither/detectors/attributes/unindexed_event_address.py @@ -26,7 +26,7 @@ class UnindexedEventAddress(AbstractDetector): WIKI = ( "https://github.com/crytic/slither/wiki/Detector-Documentation" - "#events-with-address-parameters-but-no-indexed-parameters" + "#unindexed-event-address-parameters" ) WIKI_TITLE = "Unindexed event address parameters" From a4480ab5fddfb9ab9109175b48fb6a21559b4815 Mon Sep 17 00:00:00 2001 From: Simone Date: Sat, 10 Jan 2026 01:42:57 +0100 Subject: [PATCH 110/113] Remove unused imports --- slither/detectors/attributes/unindexed_event_address.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/slither/detectors/attributes/unindexed_event_address.py b/slither/detectors/attributes/unindexed_event_address.py index 89e4a36a0c..ba39a97018 100644 --- a/slither/detectors/attributes/unindexed_event_address.py +++ b/slither/detectors/attributes/unindexed_event_address.py @@ -2,11 +2,9 @@ Detect events with address parameters that have no indexed parameters """ -from typing import List, Union +from typing import List from slither.core.declarations.event import Event -from slither.core.declarations.event_contract import EventContract -from slither.core.declarations.event_top_level import EventTopLevel from slither.core.solidity_types.elementary_type import ElementaryType from slither.detectors.abstract_detector import AbstractDetector, DetectorClassification from slither.utils.output import Output From 94ea114cee45342ec035fd5dc17401ee0a79ae10 Mon Sep 17 00:00:00 2001 From: Dan Guido Date: Thu, 15 Jan 2026 02:18:22 -0500 Subject: [PATCH 111/113] Modernize plugin_example to use pyproject.toml Replace legacy setup.py with modern pyproject.toml using hatchling build backend. Update README with current installation instructions. Fixes #2854 Co-Authored-By: Claude Opus 4.5 --- plugin_example/README.md | 15 +++++++++------ plugin_example/pyproject.toml | 19 +++++++++++++++++++ plugin_example/setup.py | 15 --------------- 3 files changed, 28 insertions(+), 21 deletions(-) create mode 100644 plugin_example/pyproject.toml delete mode 100644 plugin_example/setup.py diff --git a/plugin_example/README.md b/plugin_example/README.md index 1a0f915c82..76296c1f89 100644 --- a/plugin_example/README.md +++ b/plugin_example/README.md @@ -6,13 +6,16 @@ See the [detector documentation](https://github.com/trailofbits/slither/wiki/Add ## Architecture -- `setup.py`: Contain the plugin information -- `slither_my_plugin/__init__.py`: Contain `make_plugin()`. The function must return the list of new detectors and printers +- `pyproject.toml`: Contains the plugin information and dependencies +- `slither_my_plugin/__init__.py`: Contains `make_plugin()`. The function must return the list of new detectors and printers - `slither_my_plugin/detectors/example.py`: Detector plugin skeleton. -Once these files are updated with your plugin, you can install it: +## Installation + +Once these files are updated with your plugin, install it in a virtual environment: + ```bash -python setup.py develop +python -m venv venv +source venv/bin/activate # On Windows: venv\Scripts\activate +pip install -e . ``` - -We recommend to use a Python virtual environment (for example: [virtualenvwrapper](https://virtualenvwrapper.readthedocs.io/en/latest/)). diff --git a/plugin_example/pyproject.toml b/plugin_example/pyproject.toml new file mode 100644 index 0000000000..0a2d544ccb --- /dev/null +++ b/plugin_example/pyproject.toml @@ -0,0 +1,19 @@ +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[project] +name = "slither-my-plugin" +version = "0.0.1" +description = "Example detector and printer plugins for Slither." +readme = "README.md" +license = "AGPL-3.0-only" +authors = [{ name = "Trail of Bits" }] +requires-python = ">=3.9" +dependencies = ["slither-analyzer>=0.6.0"] + +[project.urls] +Homepage = "https://github.com/crytic/slither/tree/master/plugin_example" + +[project.entry-points."slither_analyzer.plugin"] +slither_my_plugin = "slither_my_plugin:make_plugin" diff --git a/plugin_example/setup.py b/plugin_example/setup.py deleted file mode 100644 index 908ad51da2..0000000000 --- a/plugin_example/setup.py +++ /dev/null @@ -1,15 +0,0 @@ -from setuptools import setup, find_packages - -setup( - name="slither_my_plugin", - description="This is an example of detectors and printers to Slither.", - url="https://github.com/trailofbits/slither-plugins", - author="Trail of Bits", - version="0.0", - packages=find_packages(), - python_requires=">=3.8", - install_requires=["slither-analyzer>=0.6.0"], - entry_points={ - "slither_analyzer.plugin": "slither my-plugin=slither_my_plugin:make_plugin", - }, -) From f8ec63153ee792f991299ba8c0967fc9bead0b11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20L=C3=B3pez?= Date: Thu, 15 Jan 2026 10:44:43 -0300 Subject: [PATCH 112/113] `uv lock --upgrade` --- uv.lock | 519 +++++++++++++++++++++++++++++--------------------------- 1 file changed, 270 insertions(+), 249 deletions(-) diff --git a/uv.lock b/uv.lock index 628148dcc7..50896e4d2b 100644 --- a/uv.lock +++ b/uv.lock @@ -1183,15 +1183,15 @@ wheels = [ [[package]] name = "filelock" -version = "3.20.2" +version = "3.20.3" source = { registry = "https://pypi.org/simple" } resolution-markers = [ "python_full_version >= '3.11'", "python_full_version == '3.10.*'", ] -sdist = { url = "https://files.pythonhosted.org/packages/c1/e0/a75dbe4bca1e7d41307323dad5ea2efdd95408f74ab2de8bd7dba9b51a1a/filelock-3.20.2.tar.gz", hash = "sha256:a2241ff4ddde2a7cebddf78e39832509cb045d18ec1a09d7248d6bfc6bfbbe64", size = 19510, upload-time = "2026-01-02T15:33:32.582Z" } +sdist = { url = "https://files.pythonhosted.org/packages/1d/65/ce7f1b70157833bf3cb851b556a37d4547ceafc158aa9b34b36782f23696/filelock-3.20.3.tar.gz", hash = "sha256:18c57ee915c7ec61cff0ecf7f0f869936c7c30191bb0cf406f1341778d0834e1", size = 19485, upload-time = "2026-01-09T17:55:05.421Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9a/30/ab407e2ec752aa541704ed8f93c11e2a5d92c168b8a755d818b74a3c5c2d/filelock-3.20.2-py3-none-any.whl", hash = "sha256:fbba7237d6ea277175a32c54bb71ef814a8546d8601269e1bfc388de333974e8", size = 16697, upload-time = "2026-01-02T15:33:31.133Z" }, + { url = "https://files.pythonhosted.org/packages/b5/36/7fb70f04bf00bc646cd5bb45aa9eddb15e19437a28b8fb2b4a5249fac770/filelock-3.20.3-py3-none-any.whl", hash = "sha256:4b0dda527ee31078689fc205ec4f1c1bf7d56cf88b6dc9426c4f230e46c2dce1", size = 16701, upload-time = "2026-01-09T17:55:04.334Z" }, ] [[package]] @@ -1927,89 +1927,89 @@ wheels = [ [[package]] name = "numpy" -version = "2.4.0" +version = "2.4.1" source = { registry = "https://pypi.org/simple" } resolution-markers = [ "python_full_version >= '3.11'", ] -sdist = { url = "https://files.pythonhosted.org/packages/a4/7a/6a3d14e205d292b738db449d0de649b373a59edb0d0b4493821d0a3e8718/numpy-2.4.0.tar.gz", hash = "sha256:6e504f7b16118198f138ef31ba24d985b124c2c469fe8467007cf30fd992f934", size = 20685720, upload-time = "2025-12-20T16:18:19.023Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/26/7e/7bae7cbcc2f8132271967aa03e03954fc1e48aa1f3bf32b29ca95fbef352/numpy-2.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:316b2f2584682318539f0bcaca5a496ce9ca78c88066579ebd11fd06f8e4741e", size = 16940166, upload-time = "2025-12-20T16:15:43.434Z" }, - { url = "https://files.pythonhosted.org/packages/0f/27/6c13f5b46776d6246ec884ac5817452672156a506d08a1f2abb39961930a/numpy-2.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a2718c1de8504121714234b6f8241d0019450353276c88b9453c9c3d92e101db", size = 12641781, upload-time = "2025-12-20T16:15:45.701Z" }, - { url = "https://files.pythonhosted.org/packages/14/1c/83b4998d4860d15283241d9e5215f28b40ac31f497c04b12fa7f428ff370/numpy-2.4.0-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:21555da4ec4a0c942520ead42c3b0dc9477441e085c42b0fbdd6a084869a6f6b", size = 5470247, upload-time = "2025-12-20T16:15:47.943Z" }, - { url = "https://files.pythonhosted.org/packages/54/08/cbce72c835d937795571b0464b52069f869c9e78b0c076d416c5269d2718/numpy-2.4.0-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:413aa561266a4be2d06cd2b9665e89d9f54c543f418773076a76adcf2af08bc7", size = 6799807, upload-time = "2025-12-20T16:15:49.795Z" }, - { url = "https://files.pythonhosted.org/packages/ff/be/2e647961cd8c980591d75cdcd9e8f647d69fbe05e2a25613dc0a2ea5fb1a/numpy-2.4.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0feafc9e03128074689183031181fac0897ff169692d8492066e949041096548", size = 14701992, upload-time = "2025-12-20T16:15:51.615Z" }, - { url = "https://files.pythonhosted.org/packages/a2/fb/e1652fb8b6fd91ce6ed429143fe2e01ce714711e03e5b762615e7b36172c/numpy-2.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a8fdfed3deaf1928fb7667d96e0567cdf58c2b370ea2ee7e586aa383ec2cb346", size = 16646871, upload-time = "2025-12-20T16:15:54.129Z" }, - { url = "https://files.pythonhosted.org/packages/62/23/d841207e63c4322842f7cd042ae981cffe715c73376dcad8235fb31debf1/numpy-2.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e06a922a469cae9a57100864caf4f8a97a1026513793969f8ba5b63137a35d25", size = 16487190, upload-time = "2025-12-20T16:15:56.147Z" }, - { url = "https://files.pythonhosted.org/packages/bc/a0/6a842c8421ebfdec0a230e65f61e0dabda6edbef443d999d79b87c273965/numpy-2.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:927ccf5cd17c48f801f4ed43a7e5673a2724bd2171460be3e3894e6e332ef83a", size = 18580762, upload-time = "2025-12-20T16:15:58.524Z" }, - { url = "https://files.pythonhosted.org/packages/0a/d1/c79e0046641186f2134dde05e6181825b911f8bdcef31b19ddd16e232847/numpy-2.4.0-cp311-cp311-win32.whl", hash = "sha256:882567b7ae57c1b1a0250208cc21a7976d8cbcc49d5a322e607e6f09c9e0bd53", size = 6233359, upload-time = "2025-12-20T16:16:00.938Z" }, - { url = "https://files.pythonhosted.org/packages/fc/f0/74965001d231f28184d6305b8cdc1b6fcd4bf23033f6cb039cfe76c9fca7/numpy-2.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:8b986403023c8f3bf8f487c2e6186afda156174d31c175f747d8934dfddf3479", size = 12601132, upload-time = "2025-12-20T16:16:02.484Z" }, - { url = "https://files.pythonhosted.org/packages/65/32/55408d0f46dfebce38017f5bd931affa7256ad6beac1a92a012e1fbc67a7/numpy-2.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:3f3096405acc48887458bbf9f6814d43785ac7ba2a57ea6442b581dedbc60ce6", size = 10573977, upload-time = "2025-12-20T16:16:04.77Z" }, - { url = "https://files.pythonhosted.org/packages/8b/ff/f6400ffec95de41c74b8e73df32e3fff1830633193a7b1e409be7fb1bb8c/numpy-2.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2a8b6bb8369abefb8bd1801b054ad50e02b3275c8614dc6e5b0373c305291037", size = 16653117, upload-time = "2025-12-20T16:16:06.709Z" }, - { url = "https://files.pythonhosted.org/packages/fd/28/6c23e97450035072e8d830a3c411bf1abd1f42c611ff9d29e3d8f55c6252/numpy-2.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2e284ca13d5a8367e43734148622caf0b261b275673823593e3e3634a6490f83", size = 12369711, upload-time = "2025-12-20T16:16:08.758Z" }, - { url = "https://files.pythonhosted.org/packages/bc/af/acbef97b630ab1bb45e6a7d01d1452e4251aa88ce680ac36e56c272120ec/numpy-2.4.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:49ff32b09f5aa0cd30a20c2b39db3e669c845589f2b7fc910365210887e39344", size = 5198355, upload-time = "2025-12-20T16:16:10.902Z" }, - { url = "https://files.pythonhosted.org/packages/c1/c8/4e0d436b66b826f2e53330adaa6311f5cac9871a5b5c31ad773b27f25a74/numpy-2.4.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:36cbfb13c152b1c7c184ddac43765db8ad672567e7bafff2cc755a09917ed2e6", size = 6545298, upload-time = "2025-12-20T16:16:12.607Z" }, - { url = "https://files.pythonhosted.org/packages/ef/27/e1f5d144ab54eac34875e79037011d511ac57b21b220063310cb96c80fbc/numpy-2.4.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:35ddc8f4914466e6fc954c76527aa91aa763682a4f6d73249ef20b418fe6effb", size = 14398387, upload-time = "2025-12-20T16:16:14.257Z" }, - { url = "https://files.pythonhosted.org/packages/67/64/4cb909dd5ab09a9a5d086eff9586e69e827b88a5585517386879474f4cf7/numpy-2.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dc578891de1db95b2a35001b695451767b580bb45753717498213c5ff3c41d63", size = 16363091, upload-time = "2025-12-20T16:16:17.32Z" }, - { url = "https://files.pythonhosted.org/packages/9d/9c/8efe24577523ec6809261859737cf117b0eb6fdb655abdfdc81b2e468ce4/numpy-2.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:98e81648e0b36e325ab67e46b5400a7a6d4a22b8a7c8e8bbfe20e7db7906bf95", size = 16176394, upload-time = "2025-12-20T16:16:19.524Z" }, - { url = "https://files.pythonhosted.org/packages/61/f0/1687441ece7b47a62e45a1f82015352c240765c707928edd8aef875d5951/numpy-2.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d57b5046c120561ba8fa8e4030fbb8b822f3063910fa901ffadf16e2b7128ad6", size = 18287378, upload-time = "2025-12-20T16:16:22.866Z" }, - { url = "https://files.pythonhosted.org/packages/d3/6f/f868765d44e6fc466467ed810ba9d8d6db1add7d4a748abfa2a4c99a3194/numpy-2.4.0-cp312-cp312-win32.whl", hash = "sha256:92190db305a6f48734d3982f2c60fa30d6b5ee9bff10f2887b930d7b40119f4c", size = 5955432, upload-time = "2025-12-20T16:16:25.06Z" }, - { url = "https://files.pythonhosted.org/packages/d4/b5/94c1e79fcbab38d1ca15e13777477b2914dd2d559b410f96949d6637b085/numpy-2.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:680060061adb2d74ce352628cb798cfdec399068aa7f07ba9fb818b2b3305f98", size = 12306201, upload-time = "2025-12-20T16:16:26.979Z" }, - { url = "https://files.pythonhosted.org/packages/70/09/c39dadf0b13bb0768cd29d6a3aaff1fb7c6905ac40e9aaeca26b1c086e06/numpy-2.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:39699233bc72dd482da1415dcb06076e32f60eddc796a796c5fb6c5efce94667", size = 10308234, upload-time = "2025-12-20T16:16:29.417Z" }, - { url = "https://files.pythonhosted.org/packages/a7/0d/853fd96372eda07c824d24adf02e8bc92bb3731b43a9b2a39161c3667cc4/numpy-2.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a152d86a3ae00ba5f47b3acf3b827509fd0b6cb7d3259665e63dafbad22a75ea", size = 16649088, upload-time = "2025-12-20T16:16:31.421Z" }, - { url = "https://files.pythonhosted.org/packages/e3/37/cc636f1f2a9f585434e20a3e6e63422f70bfe4f7f6698e941db52ea1ac9a/numpy-2.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:39b19251dec4de8ff8496cd0806cbe27bf0684f765abb1f4809554de93785f2d", size = 12364065, upload-time = "2025-12-20T16:16:33.491Z" }, - { url = "https://files.pythonhosted.org/packages/ed/69/0b78f37ca3690969beee54103ce5f6021709134e8020767e93ba691a72f1/numpy-2.4.0-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:009bd0ea12d3c784b6639a8457537016ce5172109e585338e11334f6a7bb88ee", size = 5192640, upload-time = "2025-12-20T16:16:35.636Z" }, - { url = "https://files.pythonhosted.org/packages/1d/2a/08569f8252abf590294dbb09a430543ec8f8cc710383abfb3e75cc73aeda/numpy-2.4.0-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:5fe44e277225fd3dff6882d86d3d447205d43532c3627313d17e754fb3905a0e", size = 6541556, upload-time = "2025-12-20T16:16:37.276Z" }, - { url = "https://files.pythonhosted.org/packages/93/e9/a949885a4e177493d61519377952186b6cbfdf1d6002764c664ba28349b5/numpy-2.4.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f935c4493eda9069851058fa0d9e39dbf6286be690066509305e52912714dbb2", size = 14396562, upload-time = "2025-12-20T16:16:38.953Z" }, - { url = "https://files.pythonhosted.org/packages/99/98/9d4ad53b0e9ef901c2ef1d550d2136f5ac42d3fd2988390a6def32e23e48/numpy-2.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8cfa5f29a695cb7438965e6c3e8d06e0416060cf0d709c1b1c1653a939bf5c2a", size = 16351719, upload-time = "2025-12-20T16:16:41.503Z" }, - { url = "https://files.pythonhosted.org/packages/28/de/5f3711a38341d6e8dd619f6353251a0cdd07f3d6d101a8fd46f4ef87f895/numpy-2.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ba0cb30acd3ef11c94dc27fbfba68940652492bc107075e7ffe23057f9425681", size = 16176053, upload-time = "2025-12-20T16:16:44.552Z" }, - { url = "https://files.pythonhosted.org/packages/2a/5b/2a3753dc43916501b4183532e7ace862e13211042bceafa253afb5c71272/numpy-2.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:60e8c196cd82cbbd4f130b5290007e13e6de3eca79f0d4d38014769d96a7c475", size = 18277859, upload-time = "2025-12-20T16:16:47.174Z" }, - { url = "https://files.pythonhosted.org/packages/2c/c5/a18bcdd07a941db3076ef489d036ab16d2bfc2eae0cf27e5a26e29189434/numpy-2.4.0-cp313-cp313-win32.whl", hash = "sha256:5f48cb3e88fbc294dc90e215d86fbaf1c852c63dbdb6c3a3e63f45c4b57f7344", size = 5953849, upload-time = "2025-12-20T16:16:49.554Z" }, - { url = "https://files.pythonhosted.org/packages/4f/f1/719010ff8061da6e8a26e1980cf090412d4f5f8060b31f0c45d77dd67a01/numpy-2.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:a899699294f28f7be8992853c0c60741f16ff199205e2e6cdca155762cbaa59d", size = 12302840, upload-time = "2025-12-20T16:16:51.227Z" }, - { url = "https://files.pythonhosted.org/packages/f5/5a/b3d259083ed8b4d335270c76966cb6cf14a5d1b69e1a608994ac57a659e6/numpy-2.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:9198f447e1dc5647d07c9a6bbe2063cc0132728cc7175b39dbc796da5b54920d", size = 10308509, upload-time = "2025-12-20T16:16:53.313Z" }, - { url = "https://files.pythonhosted.org/packages/31/01/95edcffd1bb6c0633df4e808130545c4f07383ab629ac7e316fb44fff677/numpy-2.4.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:74623f2ab5cc3f7c886add4f735d1031a1d2be4a4ae63c0546cfd74e7a31ddf6", size = 12491815, upload-time = "2025-12-20T16:16:55.496Z" }, - { url = "https://files.pythonhosted.org/packages/59/ea/5644b8baa92cc1c7163b4b4458c8679852733fa74ca49c942cfa82ded4e0/numpy-2.4.0-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:0804a8e4ab070d1d35496e65ffd3cf8114c136a2b81f61dfab0de4b218aacfd5", size = 5320321, upload-time = "2025-12-20T16:16:57.468Z" }, - { url = "https://files.pythonhosted.org/packages/26/4e/e10938106d70bc21319bd6a86ae726da37edc802ce35a3a71ecdf1fdfe7f/numpy-2.4.0-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:02a2038eb27f9443a8b266a66911e926566b5a6ffd1a689b588f7f35b81e7dc3", size = 6641635, upload-time = "2025-12-20T16:16:59.379Z" }, - { url = "https://files.pythonhosted.org/packages/b3/8d/a8828e3eaf5c0b4ab116924df82f24ce3416fa38d0674d8f708ddc6c8aac/numpy-2.4.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1889b3a3f47a7b5bee16bc25a2145bd7cb91897f815ce3499db64c7458b6d91d", size = 14456053, upload-time = "2025-12-20T16:17:01.768Z" }, - { url = "https://files.pythonhosted.org/packages/68/a1/17d97609d87d4520aa5ae2dcfb32305654550ac6a35effb946d303e594ce/numpy-2.4.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:85eef4cb5625c47ee6425c58a3502555e10f45ee973da878ac8248ad58c136f3", size = 16401702, upload-time = "2025-12-20T16:17:04.235Z" }, - { url = "https://files.pythonhosted.org/packages/18/32/0f13c1b2d22bea1118356b8b963195446f3af124ed7a5adfa8fdecb1b6ca/numpy-2.4.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6dc8b7e2f4eb184b37655195f421836cfae6f58197b67e3ffc501f1333d993fa", size = 16242493, upload-time = "2025-12-20T16:17:06.856Z" }, - { url = "https://files.pythonhosted.org/packages/ae/23/48f21e3d309fbc137c068a1475358cbd3a901b3987dcfc97a029ab3068e2/numpy-2.4.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:44aba2f0cafd287871a495fb3163408b0bd25bbce135c6f621534a07f4f7875c", size = 18324222, upload-time = "2025-12-20T16:17:09.392Z" }, - { url = "https://files.pythonhosted.org/packages/ac/52/41f3d71296a3dcaa4f456aaa3c6fc8e745b43d0552b6bde56571bb4b4a0f/numpy-2.4.0-cp313-cp313t-win32.whl", hash = "sha256:20c115517513831860c573996e395707aa9fb691eb179200125c250e895fcd93", size = 6076216, upload-time = "2025-12-20T16:17:11.437Z" }, - { url = "https://files.pythonhosted.org/packages/35/ff/46fbfe60ab0710d2a2b16995f708750307d30eccbb4c38371ea9e986866e/numpy-2.4.0-cp313-cp313t-win_amd64.whl", hash = "sha256:b48e35f4ab6f6a7597c46e301126ceba4c44cd3280e3750f85db48b082624fa4", size = 12444263, upload-time = "2025-12-20T16:17:13.182Z" }, - { url = "https://files.pythonhosted.org/packages/a3/e3/9189ab319c01d2ed556c932ccf55064c5d75bb5850d1df7a482ce0badead/numpy-2.4.0-cp313-cp313t-win_arm64.whl", hash = "sha256:4d1cfce39e511069b11e67cd0bd78ceff31443b7c9e5c04db73c7a19f572967c", size = 10378265, upload-time = "2025-12-20T16:17:15.211Z" }, - { url = "https://files.pythonhosted.org/packages/ab/ed/52eac27de39d5e5a6c9aadabe672bc06f55e24a3d9010cd1183948055d76/numpy-2.4.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:c95eb6db2884917d86cde0b4d4cf31adf485c8ec36bf8696dd66fa70de96f36b", size = 16647476, upload-time = "2025-12-20T16:17:17.671Z" }, - { url = "https://files.pythonhosted.org/packages/77/c0/990ce1b7fcd4e09aeaa574e2a0a839589e4b08b2ca68070f1acb1fea6736/numpy-2.4.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:65167da969cd1ec3a1df31cb221ca3a19a8aaa25370ecb17d428415e93c1935e", size = 12374563, upload-time = "2025-12-20T16:17:20.216Z" }, - { url = "https://files.pythonhosted.org/packages/37/7c/8c5e389c6ae8f5fd2277a988600d79e9625db3fff011a2d87ac80b881a4c/numpy-2.4.0-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:3de19cfecd1465d0dcf8a5b5ea8b3155b42ed0b639dba4b71e323d74f2a3be5e", size = 5203107, upload-time = "2025-12-20T16:17:22.47Z" }, - { url = "https://files.pythonhosted.org/packages/e6/94/ca5b3bd6a8a70a5eec9a0b8dd7f980c1eff4b8a54970a9a7fef248ef564f/numpy-2.4.0-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:6c05483c3136ac4c91b4e81903cb53a8707d316f488124d0398499a4f8e8ef51", size = 6538067, upload-time = "2025-12-20T16:17:24.001Z" }, - { url = "https://files.pythonhosted.org/packages/79/43/993eb7bb5be6761dde2b3a3a594d689cec83398e3f58f4758010f3b85727/numpy-2.4.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:36667db4d6c1cea79c8930ab72fadfb4060feb4bfe724141cd4bd064d2e5f8ce", size = 14411926, upload-time = "2025-12-20T16:17:25.822Z" }, - { url = "https://files.pythonhosted.org/packages/03/75/d4c43b61de473912496317a854dac54f1efec3eeb158438da6884b70bb90/numpy-2.4.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9a818668b674047fd88c4cddada7ab8f1c298812783e8328e956b78dc4807f9f", size = 16354295, upload-time = "2025-12-20T16:17:28.308Z" }, - { url = "https://files.pythonhosted.org/packages/b8/0a/b54615b47ee8736a6461a4bb6749128dd3435c5a759d5663f11f0e9af4ac/numpy-2.4.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:1ee32359fb7543b7b7bd0b2f46294db27e29e7bbdf70541e81b190836cd83ded", size = 16190242, upload-time = "2025-12-20T16:17:30.993Z" }, - { url = "https://files.pythonhosted.org/packages/98/ce/ea207769aacad6246525ec6c6bbd66a2bf56c72443dc10e2f90feed29290/numpy-2.4.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:e493962256a38f58283de033d8af176c5c91c084ea30f15834f7545451c42059", size = 18280875, upload-time = "2025-12-20T16:17:33.327Z" }, - { url = "https://files.pythonhosted.org/packages/17/ef/ec409437aa962ea372ed601c519a2b141701683ff028f894b7466f0ab42b/numpy-2.4.0-cp314-cp314-win32.whl", hash = "sha256:6bbaebf0d11567fa8926215ae731e1d58e6ec28a8a25235b8a47405d301332db", size = 6002530, upload-time = "2025-12-20T16:17:35.729Z" }, - { url = "https://files.pythonhosted.org/packages/5f/4a/5cb94c787a3ed1ac65e1271b968686521169a7b3ec0b6544bb3ca32960b0/numpy-2.4.0-cp314-cp314-win_amd64.whl", hash = "sha256:3d857f55e7fdf7c38ab96c4558c95b97d1c685be6b05c249f5fdafcbd6f9899e", size = 12435890, upload-time = "2025-12-20T16:17:37.599Z" }, - { url = "https://files.pythonhosted.org/packages/48/a0/04b89db963af9de1104975e2544f30de89adbf75b9e75f7dd2599be12c79/numpy-2.4.0-cp314-cp314-win_arm64.whl", hash = "sha256:bb50ce5fb202a26fd5404620e7ef820ad1ab3558b444cb0b55beb7ef66cd2d63", size = 10591892, upload-time = "2025-12-20T16:17:39.649Z" }, - { url = "https://files.pythonhosted.org/packages/53/e5/d74b5ccf6712c06c7a545025a6a71bfa03bdc7e0568b405b0d655232fd92/numpy-2.4.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:355354388cba60f2132df297e2d53053d4063f79077b67b481d21276d61fc4df", size = 12494312, upload-time = "2025-12-20T16:17:41.714Z" }, - { url = "https://files.pythonhosted.org/packages/c2/08/3ca9cc2ddf54dfee7ae9a6479c071092a228c68aef08252aa08dac2af002/numpy-2.4.0-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:1d8f9fde5f6dc1b6fc34df8162f3b3079365468703fee7f31d4e0cc8c63baed9", size = 5322862, upload-time = "2025-12-20T16:17:44.145Z" }, - { url = "https://files.pythonhosted.org/packages/87/74/0bb63a68394c0c1e52670cfff2e309afa41edbe11b3327d9af29e4383f34/numpy-2.4.0-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:e0434aa22c821f44eeb4c650b81c7fbdd8c0122c6c4b5a576a76d5a35625ecd9", size = 6644986, upload-time = "2025-12-20T16:17:46.203Z" }, - { url = "https://files.pythonhosted.org/packages/06/8f/9264d9bdbcf8236af2823623fe2f3981d740fc3461e2787e231d97c38c28/numpy-2.4.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:40483b2f2d3ba7aad426443767ff5632ec3156ef09742b96913787d13c336471", size = 14457958, upload-time = "2025-12-20T16:17:48.017Z" }, - { url = "https://files.pythonhosted.org/packages/8c/d9/f9a69ae564bbc7236a35aa883319364ef5fd41f72aa320cc1cbe66148fe2/numpy-2.4.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d9e6a7664ddd9746e20b7325351fe1a8408d0a2bf9c63b5e898290ddc8f09544", size = 16398394, upload-time = "2025-12-20T16:17:50.409Z" }, - { url = "https://files.pythonhosted.org/packages/34/c7/39241501408dde7f885d241a98caba5421061a2c6d2b2197ac5e3aa842d8/numpy-2.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ecb0019d44f4cdb50b676c5d0cb4b1eae8e15d1ed3d3e6639f986fc92b2ec52c", size = 16241044, upload-time = "2025-12-20T16:17:52.661Z" }, - { url = "https://files.pythonhosted.org/packages/7c/95/cae7effd90e065a95e59fe710eeee05d7328ed169776dfdd9f789e032125/numpy-2.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:d0ffd9e2e4441c96a9c91ec1783285d80bf835b677853fc2770a89d50c1e48ac", size = 18321772, upload-time = "2025-12-20T16:17:54.947Z" }, - { url = "https://files.pythonhosted.org/packages/96/df/3c6c279accd2bfb968a76298e5b276310bd55d243df4fa8ac5816d79347d/numpy-2.4.0-cp314-cp314t-win32.whl", hash = "sha256:77f0d13fa87036d7553bf81f0e1fe3ce68d14c9976c9851744e4d3e91127e95f", size = 6148320, upload-time = "2025-12-20T16:17:57.249Z" }, - { url = "https://files.pythonhosted.org/packages/92/8d/f23033cce252e7a75cae853d17f582e86534c46404dea1c8ee094a9d6d84/numpy-2.4.0-cp314-cp314t-win_amd64.whl", hash = "sha256:b1f5b45829ac1848893f0ddf5cb326110604d6df96cdc255b0bf9edd154104d4", size = 12623460, upload-time = "2025-12-20T16:17:58.963Z" }, - { url = "https://files.pythonhosted.org/packages/a4/4f/1f8475907d1a7c4ef9020edf7f39ea2422ec896849245f00688e4b268a71/numpy-2.4.0-cp314-cp314t-win_arm64.whl", hash = "sha256:23a3e9d1a6f360267e8fbb38ba5db355a6a7e9be71d7fce7ab3125e88bb646c8", size = 10661799, upload-time = "2025-12-20T16:18:01.078Z" }, - { url = "https://files.pythonhosted.org/packages/4b/ef/088e7c7342f300aaf3ee5f2c821c4b9996a1bef2aaf6a49cc8ab4883758e/numpy-2.4.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b54c83f1c0c0f1d748dca0af516062b8829d53d1f0c402be24b4257a9c48ada6", size = 16819003, upload-time = "2025-12-20T16:18:03.41Z" }, - { url = "https://files.pythonhosted.org/packages/ff/ce/a53017b5443b4b84517182d463fc7bcc2adb4faa8b20813f8e5f5aeb5faa/numpy-2.4.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:aabb081ca0ec5d39591fc33018cd4b3f96e1a2dd6756282029986d00a785fba4", size = 12567105, upload-time = "2025-12-20T16:18:05.594Z" }, - { url = "https://files.pythonhosted.org/packages/77/58/5ff91b161f2ec650c88a626c3905d938c89aaadabd0431e6d9c1330c83e2/numpy-2.4.0-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:8eafe7c36c8430b7794edeab3087dec7bf31d634d92f2af9949434b9d1964cba", size = 5395590, upload-time = "2025-12-20T16:18:08.031Z" }, - { url = "https://files.pythonhosted.org/packages/1d/4e/f1a084106df8c2df8132fc437e56987308e0524836aa7733721c8429d4fe/numpy-2.4.0-pp311-pypy311_pp73-macosx_14_0_x86_64.whl", hash = "sha256:2f585f52b2baf07ff3356158d9268ea095e221371f1074fadea2f42544d58b4d", size = 6709947, upload-time = "2025-12-20T16:18:09.836Z" }, - { url = "https://files.pythonhosted.org/packages/63/09/3d8aeb809c0332c3f642da812ac2e3d74fc9252b3021f8c30c82e99e3f3d/numpy-2.4.0-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:32ed06d0fe9cae27d8fb5f400c63ccee72370599c75e683a6358dd3a4fb50aaf", size = 14535119, upload-time = "2025-12-20T16:18:12.105Z" }, - { url = "https://files.pythonhosted.org/packages/fd/7f/68f0fc43a2cbdc6bb239160c754d87c922f60fbaa0fa3cd3d312b8a7f5ee/numpy-2.4.0-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:57c540ed8fb1f05cb997c6761cd56db72395b0d6985e90571ff660452ade4f98", size = 16475815, upload-time = "2025-12-20T16:18:14.433Z" }, - { url = "https://files.pythonhosted.org/packages/11/73/edeacba3167b1ca66d51b1a5a14697c2c40098b5ffa01811c67b1785a5ab/numpy-2.4.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:a39fb973a726e63223287adc6dafe444ce75af952d711e400f3bf2b36ef55a7b", size = 12489376, upload-time = "2025-12-20T16:18:16.524Z" }, +sdist = { url = "https://files.pythonhosted.org/packages/24/62/ae72ff66c0f1fd959925b4c11f8c2dea61f47f6acaea75a08512cdfe3fed/numpy-2.4.1.tar.gz", hash = "sha256:a1ceafc5042451a858231588a104093474c6a5c57dcc724841f5c888d237d690", size = 20721320, upload-time = "2026-01-10T06:44:59.619Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a5/34/2b1bc18424f3ad9af577f6ce23600319968a70575bd7db31ce66731bbef9/numpy-2.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:0cce2a669e3c8ba02ee563c7835f92c153cf02edff1ae05e1823f1dde21b16a5", size = 16944563, upload-time = "2026-01-10T06:42:14.615Z" }, + { url = "https://files.pythonhosted.org/packages/2c/57/26e5f97d075aef3794045a6ca9eada6a4ed70eb9a40e7a4a93f9ac80d704/numpy-2.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:899d2c18024984814ac7e83f8f49d8e8180e2fbe1b2e252f2e7f1d06bea92425", size = 12645658, upload-time = "2026-01-10T06:42:17.298Z" }, + { url = "https://files.pythonhosted.org/packages/8e/ba/80fc0b1e3cb2fd5c6143f00f42eb67762aa043eaa05ca924ecc3222a7849/numpy-2.4.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:09aa8a87e45b55a1c2c205d42e2808849ece5c484b2aab11fecabec3841cafba", size = 5474132, upload-time = "2026-01-10T06:42:19.637Z" }, + { url = "https://files.pythonhosted.org/packages/40/ae/0a5b9a397f0e865ec171187c78d9b57e5588afc439a04ba9cab1ebb2c945/numpy-2.4.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:edee228f76ee2dab4579fad6f51f6a305de09d444280109e0f75df247ff21501", size = 6804159, upload-time = "2026-01-10T06:42:21.44Z" }, + { url = "https://files.pythonhosted.org/packages/86/9c/841c15e691c7085caa6fd162f063eff494099c8327aeccd509d1ab1e36ab/numpy-2.4.1-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a92f227dbcdc9e4c3e193add1a189a9909947d4f8504c576f4a732fd0b54240a", size = 14708058, upload-time = "2026-01-10T06:42:23.546Z" }, + { url = "https://files.pythonhosted.org/packages/5d/9d/7862db06743f489e6a502a3b93136d73aea27d97b2cf91504f70a27501d6/numpy-2.4.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:538bf4ec353709c765ff75ae616c34d3c3dca1a68312727e8f2676ea644f8509", size = 16651501, upload-time = "2026-01-10T06:42:25.909Z" }, + { url = "https://files.pythonhosted.org/packages/a6/9c/6fc34ebcbd4015c6e5f0c0ce38264010ce8a546cb6beacb457b84a75dfc8/numpy-2.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ac08c63cb7779b85e9d5318e6c3518b424bc1f364ac4cb2c6136f12e5ff2dccc", size = 16492627, upload-time = "2026-01-10T06:42:28.938Z" }, + { url = "https://files.pythonhosted.org/packages/aa/63/2494a8597502dacda439f61b3c0db4da59928150e62be0e99395c3ad23c5/numpy-2.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:4f9c360ecef085e5841c539a9a12b883dff005fbd7ce46722f5e9cef52634d82", size = 18585052, upload-time = "2026-01-10T06:42:31.312Z" }, + { url = "https://files.pythonhosted.org/packages/6a/93/098e1162ae7522fc9b618d6272b77404c4656c72432ecee3abc029aa3de0/numpy-2.4.1-cp311-cp311-win32.whl", hash = "sha256:0f118ce6b972080ba0758c6087c3617b5ba243d806268623dc34216d69099ba0", size = 6236575, upload-time = "2026-01-10T06:42:33.872Z" }, + { url = "https://files.pythonhosted.org/packages/8c/de/f5e79650d23d9e12f38a7bc6b03ea0835b9575494f8ec94c11c6e773b1b1/numpy-2.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:18e14c4d09d55eef39a6ab5b08406e84bc6869c1e34eef45564804f90b7e0574", size = 12604479, upload-time = "2026-01-10T06:42:35.778Z" }, + { url = "https://files.pythonhosted.org/packages/dd/65/e1097a7047cff12ce3369bd003811516b20ba1078dbdec135e1cd7c16c56/numpy-2.4.1-cp311-cp311-win_arm64.whl", hash = "sha256:6461de5113088b399d655d45c3897fa188766415d0f568f175ab071c8873bd73", size = 10578325, upload-time = "2026-01-10T06:42:38.518Z" }, + { url = "https://files.pythonhosted.org/packages/78/7f/ec53e32bf10c813604edf07a3682616bd931d026fcde7b6d13195dfb684a/numpy-2.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d3703409aac693fa82c0aee023a1ae06a6e9d065dba10f5e8e80f642f1e9d0a2", size = 16656888, upload-time = "2026-01-10T06:42:40.913Z" }, + { url = "https://files.pythonhosted.org/packages/b8/e0/1f9585d7dae8f14864e948fd7fa86c6cb72dee2676ca2748e63b1c5acfe0/numpy-2.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7211b95ca365519d3596a1d8688a95874cc94219d417504d9ecb2df99fa7bfa8", size = 12373956, upload-time = "2026-01-10T06:42:43.091Z" }, + { url = "https://files.pythonhosted.org/packages/8e/43/9762e88909ff2326f5e7536fa8cb3c49fb03a7d92705f23e6e7f553d9cb3/numpy-2.4.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:5adf01965456a664fc727ed69cc71848f28d063217c63e1a0e200a118d5eec9a", size = 5202567, upload-time = "2026-01-10T06:42:45.107Z" }, + { url = "https://files.pythonhosted.org/packages/4b/ee/34b7930eb61e79feb4478800a4b95b46566969d837546aa7c034c742ef98/numpy-2.4.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:26f0bcd9c79a00e339565b303badc74d3ea2bd6d52191eeca5f95936cad107d0", size = 6549459, upload-time = "2026-01-10T06:42:48.152Z" }, + { url = "https://files.pythonhosted.org/packages/79/e3/5f115fae982565771be994867c89bcd8d7208dbfe9469185497d70de5ddf/numpy-2.4.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0093e85df2960d7e4049664b26afc58b03236e967fb942354deef3208857a04c", size = 14404859, upload-time = "2026-01-10T06:42:49.947Z" }, + { url = "https://files.pythonhosted.org/packages/d9/7d/9c8a781c88933725445a859cac5d01b5871588a15969ee6aeb618ba99eee/numpy-2.4.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7ad270f438cbdd402c364980317fb6b117d9ec5e226fff5b4148dd9aa9fc6e02", size = 16371419, upload-time = "2026-01-10T06:42:52.409Z" }, + { url = "https://files.pythonhosted.org/packages/a6/d2/8aa084818554543f17cf4162c42f162acbd3bb42688aefdba6628a859f77/numpy-2.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:297c72b1b98100c2e8f873d5d35fb551fce7040ade83d67dd51d38c8d42a2162", size = 16182131, upload-time = "2026-01-10T06:42:54.694Z" }, + { url = "https://files.pythonhosted.org/packages/60/db/0425216684297c58a8df35f3284ef56ec4a043e6d283f8a59c53562caf1b/numpy-2.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:cf6470d91d34bf669f61d515499859fa7a4c2f7c36434afb70e82df7217933f9", size = 18295342, upload-time = "2026-01-10T06:42:56.991Z" }, + { url = "https://files.pythonhosted.org/packages/31/4c/14cb9d86240bd8c386c881bafbe43f001284b7cce3bc01623ac9475da163/numpy-2.4.1-cp312-cp312-win32.whl", hash = "sha256:b6bcf39112e956594b3331316d90c90c90fb961e39696bda97b89462f5f3943f", size = 5959015, upload-time = "2026-01-10T06:42:59.631Z" }, + { url = "https://files.pythonhosted.org/packages/51/cf/52a703dbeb0c65807540d29699fef5fda073434ff61846a564d5c296420f/numpy-2.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:e1a27bb1b2dee45a2a53f5ca6ff2d1a7f135287883a1689e930d44d1ff296c87", size = 12310730, upload-time = "2026-01-10T06:43:01.627Z" }, + { url = "https://files.pythonhosted.org/packages/69/80/a828b2d0ade5e74a9fe0f4e0a17c30fdc26232ad2bc8c9f8b3197cf7cf18/numpy-2.4.1-cp312-cp312-win_arm64.whl", hash = "sha256:0e6e8f9d9ecf95399982019c01223dc130542960a12edfa8edd1122dfa66a8a8", size = 10312166, upload-time = "2026-01-10T06:43:03.673Z" }, + { url = "https://files.pythonhosted.org/packages/04/68/732d4b7811c00775f3bd522a21e8dd5a23f77eb11acdeb663e4a4ebf0ef4/numpy-2.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d797454e37570cfd61143b73b8debd623c3c0952959adb817dd310a483d58a1b", size = 16652495, upload-time = "2026-01-10T06:43:06.283Z" }, + { url = "https://files.pythonhosted.org/packages/20/ca/857722353421a27f1465652b2c66813eeeccea9d76d5f7b74b99f298e60e/numpy-2.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82c55962006156aeef1629b953fd359064aa47e4d82cfc8e67f0918f7da3344f", size = 12368657, upload-time = "2026-01-10T06:43:09.094Z" }, + { url = "https://files.pythonhosted.org/packages/81/0d/2377c917513449cc6240031a79d30eb9a163d32a91e79e0da47c43f2c0c8/numpy-2.4.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:71abbea030f2cfc3092a0ff9f8c8fdefdc5e0bf7d9d9c99663538bb0ecdac0b9", size = 5197256, upload-time = "2026-01-10T06:43:13.634Z" }, + { url = "https://files.pythonhosted.org/packages/17/39/569452228de3f5de9064ac75137082c6214be1f5c532016549a7923ab4b5/numpy-2.4.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:5b55aa56165b17aaf15520beb9cbd33c9039810e0d9643dd4379e44294c7303e", size = 6545212, upload-time = "2026-01-10T06:43:15.661Z" }, + { url = "https://files.pythonhosted.org/packages/8c/a4/77333f4d1e4dac4395385482557aeecf4826e6ff517e32ca48e1dafbe42a/numpy-2.4.1-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c0faba4a331195bfa96f93dd9dfaa10b2c7aa8cda3a02b7fd635e588fe821bf5", size = 14402871, upload-time = "2026-01-10T06:43:17.324Z" }, + { url = "https://files.pythonhosted.org/packages/ba/87/d341e519956273b39d8d47969dd1eaa1af740615394fe67d06f1efa68773/numpy-2.4.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d3e3087f53e2b4428766b54932644d148613c5a595150533ae7f00dab2f319a8", size = 16359305, upload-time = "2026-01-10T06:43:19.376Z" }, + { url = "https://files.pythonhosted.org/packages/32/91/789132c6666288eaa20ae8066bb99eba1939362e8f1a534949a215246e97/numpy-2.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:49e792ec351315e16da54b543db06ca8a86985ab682602d90c60ef4ff4db2a9c", size = 16181909, upload-time = "2026-01-10T06:43:21.808Z" }, + { url = "https://files.pythonhosted.org/packages/cf/b8/090b8bd27b82a844bb22ff8fdf7935cb1980b48d6e439ae116f53cdc2143/numpy-2.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:79e9e06c4c2379db47f3f6fc7a8652e7498251789bf8ff5bd43bf478ef314ca2", size = 18284380, upload-time = "2026-01-10T06:43:23.957Z" }, + { url = "https://files.pythonhosted.org/packages/67/78/722b62bd31842ff029412271556a1a27a98f45359dea78b1548a3a9996aa/numpy-2.4.1-cp313-cp313-win32.whl", hash = "sha256:3d1a100e48cb266090a031397863ff8a30050ceefd798f686ff92c67a486753d", size = 5957089, upload-time = "2026-01-10T06:43:27.535Z" }, + { url = "https://files.pythonhosted.org/packages/da/a6/cf32198b0b6e18d4fbfa9a21a992a7fca535b9bb2b0cdd217d4a3445b5ca/numpy-2.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:92a0e65272fd60bfa0d9278e0484c2f52fe03b97aedc02b357f33fe752c52ffb", size = 12307230, upload-time = "2026-01-10T06:43:29.298Z" }, + { url = "https://files.pythonhosted.org/packages/44/6c/534d692bfb7d0afe30611320c5fb713659dcb5104d7cc182aff2aea092f5/numpy-2.4.1-cp313-cp313-win_arm64.whl", hash = "sha256:20d4649c773f66cc2fc36f663e091f57c3b7655f936a4c681b4250855d1da8f5", size = 10313125, upload-time = "2026-01-10T06:43:31.782Z" }, + { url = "https://files.pythonhosted.org/packages/da/a1/354583ac5c4caa566de6ddfbc42744409b515039e085fab6e0ff942e0df5/numpy-2.4.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f93bc6892fe7b0663e5ffa83b61aab510aacffd58c16e012bb9352d489d90cb7", size = 12496156, upload-time = "2026-01-10T06:43:34.237Z" }, + { url = "https://files.pythonhosted.org/packages/51/b0/42807c6e8cce58c00127b1dc24d365305189991f2a7917aa694a109c8d7d/numpy-2.4.1-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:178de8f87948163d98a4c9ab5bee4ce6519ca918926ec8df195af582de28544d", size = 5324663, upload-time = "2026-01-10T06:43:36.211Z" }, + { url = "https://files.pythonhosted.org/packages/fe/55/7a621694010d92375ed82f312b2f28017694ed784775269115323e37f5e2/numpy-2.4.1-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:98b35775e03ab7f868908b524fc0a84d38932d8daf7b7e1c3c3a1b6c7a2c9f15", size = 6645224, upload-time = "2026-01-10T06:43:37.884Z" }, + { url = "https://files.pythonhosted.org/packages/50/96/9fa8635ed9d7c847d87e30c834f7109fac5e88549d79ef3324ab5c20919f/numpy-2.4.1-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:941c2a93313d030f219f3a71fd3d91a728b82979a5e8034eb2e60d394a2b83f9", size = 14462352, upload-time = "2026-01-10T06:43:39.479Z" }, + { url = "https://files.pythonhosted.org/packages/03/d1/8cf62d8bb2062da4fb82dd5d49e47c923f9c0738032f054e0a75342faba7/numpy-2.4.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:529050522e983e00a6c1c6b67411083630de8b57f65e853d7b03d9281b8694d2", size = 16407279, upload-time = "2026-01-10T06:43:41.93Z" }, + { url = "https://files.pythonhosted.org/packages/86/1c/95c86e17c6b0b31ce6ef219da00f71113b220bcb14938c8d9a05cee0ff53/numpy-2.4.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2302dc0224c1cbc49bb94f7064f3f923a971bfae45c33870dcbff63a2a550505", size = 16248316, upload-time = "2026-01-10T06:43:44.121Z" }, + { url = "https://files.pythonhosted.org/packages/30/b4/e7f5ff8697274c9d0fa82398b6a372a27e5cef069b37df6355ccb1f1db1a/numpy-2.4.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:9171a42fcad32dcf3fa86f0a4faa5e9f8facefdb276f54b8b390d90447cff4e2", size = 18329884, upload-time = "2026-01-10T06:43:46.613Z" }, + { url = "https://files.pythonhosted.org/packages/37/a4/b073f3e9d77f9aec8debe8ca7f9f6a09e888ad1ba7488f0c3b36a94c03ac/numpy-2.4.1-cp313-cp313t-win32.whl", hash = "sha256:382ad67d99ef49024f11d1ce5dcb5ad8432446e4246a4b014418ba3a1175a1f4", size = 6081138, upload-time = "2026-01-10T06:43:48.854Z" }, + { url = "https://files.pythonhosted.org/packages/16/16/af42337b53844e67752a092481ab869c0523bc95c4e5c98e4dac4e9581ac/numpy-2.4.1-cp313-cp313t-win_amd64.whl", hash = "sha256:62fea415f83ad8fdb6c20840578e5fbaf5ddd65e0ec6c3c47eda0f69da172510", size = 12447478, upload-time = "2026-01-10T06:43:50.476Z" }, + { url = "https://files.pythonhosted.org/packages/6c/f8/fa85b2eac68ec631d0b631abc448552cb17d39afd17ec53dcbcc3537681a/numpy-2.4.1-cp313-cp313t-win_arm64.whl", hash = "sha256:a7870e8c5fc11aef57d6fea4b4085e537a3a60ad2cdd14322ed531fdca68d261", size = 10382981, upload-time = "2026-01-10T06:43:52.575Z" }, + { url = "https://files.pythonhosted.org/packages/1b/a7/ef08d25698e0e4b4efbad8d55251d20fe2a15f6d9aa7c9b30cd03c165e6f/numpy-2.4.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:3869ea1ee1a1edc16c29bbe3a2f2a4e515cc3a44d43903ad41e0cacdbaf733dc", size = 16652046, upload-time = "2026-01-10T06:43:54.797Z" }, + { url = "https://files.pythonhosted.org/packages/8f/39/e378b3e3ca13477e5ac70293ec027c438d1927f18637e396fe90b1addd72/numpy-2.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:e867df947d427cdd7a60e3e271729090b0f0df80f5f10ab7dd436f40811699c3", size = 12378858, upload-time = "2026-01-10T06:43:57.099Z" }, + { url = "https://files.pythonhosted.org/packages/c3/74/7ec6154f0006910ed1fdbb7591cf4432307033102b8a22041599935f8969/numpy-2.4.1-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:e3bd2cb07841166420d2fa7146c96ce00cb3410664cbc1a6be028e456c4ee220", size = 5207417, upload-time = "2026-01-10T06:43:59.037Z" }, + { url = "https://files.pythonhosted.org/packages/f7/b7/053ac11820d84e42f8feea5cb81cc4fcd1091499b45b1ed8c7415b1bf831/numpy-2.4.1-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:f0a90aba7d521e6954670550e561a4cb925713bd944445dbe9e729b71f6cabee", size = 6542643, upload-time = "2026-01-10T06:44:01.852Z" }, + { url = "https://files.pythonhosted.org/packages/c0/c4/2e7908915c0e32ca636b92e4e4a3bdec4cb1e7eb0f8aedf1ed3c68a0d8cd/numpy-2.4.1-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5d558123217a83b2d1ba316b986e9248a1ed1971ad495963d555ccd75dcb1556", size = 14418963, upload-time = "2026-01-10T06:44:04.047Z" }, + { url = "https://files.pythonhosted.org/packages/eb/c0/3ed5083d94e7ffd7c404e54619c088e11f2e1939a9544f5397f4adb1b8ba/numpy-2.4.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2f44de05659b67d20499cbc96d49f2650769afcb398b79b324bb6e297bfe3844", size = 16363811, upload-time = "2026-01-10T06:44:06.207Z" }, + { url = "https://files.pythonhosted.org/packages/0e/68/42b66f1852bf525050a67315a4fb94586ab7e9eaa541b1bef530fab0c5dd/numpy-2.4.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:69e7419c9012c4aaf695109564e3387f1259f001b4326dfa55907b098af082d3", size = 16197643, upload-time = "2026-01-10T06:44:08.33Z" }, + { url = "https://files.pythonhosted.org/packages/d2/40/e8714fc933d85f82c6bfc7b998a0649ad9769a32f3494ba86598aaf18a48/numpy-2.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2ffd257026eb1b34352e749d7cc1678b5eeec3e329ad8c9965a797e08ccba205", size = 18289601, upload-time = "2026-01-10T06:44:10.841Z" }, + { url = "https://files.pythonhosted.org/packages/80/9a/0d44b468cad50315127e884802351723daca7cf1c98d102929468c81d439/numpy-2.4.1-cp314-cp314-win32.whl", hash = "sha256:727c6c3275ddefa0dc078524a85e064c057b4f4e71ca5ca29a19163c607be745", size = 6005722, upload-time = "2026-01-10T06:44:13.332Z" }, + { url = "https://files.pythonhosted.org/packages/7e/bb/c6513edcce5a831810e2dddc0d3452ce84d208af92405a0c2e58fd8e7881/numpy-2.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:7d5d7999df434a038d75a748275cd6c0094b0ecdb0837342b332a82defc4dc4d", size = 12438590, upload-time = "2026-01-10T06:44:15.006Z" }, + { url = "https://files.pythonhosted.org/packages/e9/da/a598d5cb260780cf4d255102deba35c1d072dc028c4547832f45dd3323a8/numpy-2.4.1-cp314-cp314-win_arm64.whl", hash = "sha256:ce9ce141a505053b3c7bce3216071f3bf5c182b8b28930f14cd24d43932cd2df", size = 10596180, upload-time = "2026-01-10T06:44:17.386Z" }, + { url = "https://files.pythonhosted.org/packages/de/bc/ea3f2c96fcb382311827231f911723aeff596364eb6e1b6d1d91128aa29b/numpy-2.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:4e53170557d37ae404bf8d542ca5b7c629d6efa1117dac6a83e394142ea0a43f", size = 12498774, upload-time = "2026-01-10T06:44:19.467Z" }, + { url = "https://files.pythonhosted.org/packages/aa/ab/ef9d939fe4a812648c7a712610b2ca6140b0853c5efea361301006c02ae5/numpy-2.4.1-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:a73044b752f5d34d4232f25f18160a1cc418ea4507f5f11e299d8ac36875f8a0", size = 5327274, upload-time = "2026-01-10T06:44:23.189Z" }, + { url = "https://files.pythonhosted.org/packages/bd/31/d381368e2a95c3b08b8cf7faac6004849e960f4a042d920337f71cef0cae/numpy-2.4.1-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:fb1461c99de4d040666ca0444057b06541e5642f800b71c56e6ea92d6a853a0c", size = 6648306, upload-time = "2026-01-10T06:44:25.012Z" }, + { url = "https://files.pythonhosted.org/packages/c8/e5/0989b44ade47430be6323d05c23207636d67d7362a1796ccbccac6773dd2/numpy-2.4.1-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:423797bdab2eeefbe608d7c1ec7b2b4fd3c58d51460f1ee26c7500a1d9c9ee93", size = 14464653, upload-time = "2026-01-10T06:44:26.706Z" }, + { url = "https://files.pythonhosted.org/packages/10/a7/cfbe475c35371cae1358e61f20c5f075badc18c4797ab4354140e1d283cf/numpy-2.4.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:52b5f61bdb323b566b528899cc7db2ba5d1015bda7ea811a8bcf3c89c331fa42", size = 16405144, upload-time = "2026-01-10T06:44:29.378Z" }, + { url = "https://files.pythonhosted.org/packages/f8/a3/0c63fe66b534888fa5177cc7cef061541064dbe2b4b60dcc60ffaf0d2157/numpy-2.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:42d7dd5fa36d16d52a84f821eb96031836fd405ee6955dd732f2023724d0aa01", size = 16247425, upload-time = "2026-01-10T06:44:31.721Z" }, + { url = "https://files.pythonhosted.org/packages/6b/2b/55d980cfa2c93bd40ff4c290bf824d792bd41d2fe3487b07707559071760/numpy-2.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:e7b6b5e28bbd47b7532698e5db2fe1db693d84b58c254e4389d99a27bb9b8f6b", size = 18330053, upload-time = "2026-01-10T06:44:34.617Z" }, + { url = "https://files.pythonhosted.org/packages/23/12/8b5fc6b9c487a09a7957188e0943c9ff08432c65e34567cabc1623b03a51/numpy-2.4.1-cp314-cp314t-win32.whl", hash = "sha256:5de60946f14ebe15e713a6f22850c2372fa72f4ff9a432ab44aa90edcadaa65a", size = 6152482, upload-time = "2026-01-10T06:44:36.798Z" }, + { url = "https://files.pythonhosted.org/packages/00/a5/9f8ca5856b8940492fc24fbe13c1bc34d65ddf4079097cf9e53164d094e1/numpy-2.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:8f085da926c0d491ffff3096f91078cc97ea67e7e6b65e490bc8dcda65663be2", size = 12627117, upload-time = "2026-01-10T06:44:38.828Z" }, + { url = "https://files.pythonhosted.org/packages/ad/0d/eca3d962f9eef265f01a8e0d20085c6dd1f443cbffc11b6dede81fd82356/numpy-2.4.1-cp314-cp314t-win_arm64.whl", hash = "sha256:6436cffb4f2bf26c974344439439c95e152c9a527013f26b3577be6c2ca64295", size = 10667121, upload-time = "2026-01-10T06:44:41.644Z" }, + { url = "https://files.pythonhosted.org/packages/1e/48/d86f97919e79314a1cdee4c832178763e6e98e623e123d0bada19e92c15a/numpy-2.4.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8ad35f20be147a204e28b6a0575fbf3540c5e5f802634d4258d55b1ff5facce1", size = 16822202, upload-time = "2026-01-10T06:44:43.738Z" }, + { url = "https://files.pythonhosted.org/packages/51/e9/1e62a7f77e0f37dcfb0ad6a9744e65df00242b6ea37dfafb55debcbf5b55/numpy-2.4.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:8097529164c0f3e32bb89412a0905d9100bf434d9692d9fc275e18dcf53c9344", size = 12569985, upload-time = "2026-01-10T06:44:45.945Z" }, + { url = "https://files.pythonhosted.org/packages/c7/7e/914d54f0c801342306fdcdce3e994a56476f1b818c46c47fc21ae968088c/numpy-2.4.1-pp311-pypy311_pp73-macosx_14_0_arm64.whl", hash = "sha256:ea66d2b41ca4a1630aae5507ee0a71647d3124d1741980138aa8f28f44dac36e", size = 5398484, upload-time = "2026-01-10T06:44:48.012Z" }, + { url = "https://files.pythonhosted.org/packages/1c/d8/9570b68584e293a33474e7b5a77ca404f1dcc655e40050a600dee81d27fb/numpy-2.4.1-pp311-pypy311_pp73-macosx_14_0_x86_64.whl", hash = "sha256:d3f8f0df9f4b8be57b3bf74a1d087fec68f927a2fab68231fdb442bf2c12e426", size = 6713216, upload-time = "2026-01-10T06:44:49.725Z" }, + { url = "https://files.pythonhosted.org/packages/33/9b/9dd6e2db8d49eb24f86acaaa5258e5f4c8ed38209a4ee9de2d1a0ca25045/numpy-2.4.1-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2023ef86243690c2791fd6353e5b4848eedaa88ca8a2d129f462049f6d484696", size = 14538937, upload-time = "2026-01-10T06:44:51.498Z" }, + { url = "https://files.pythonhosted.org/packages/53/87/d5bd995b0f798a37105b876350d346eea5838bd8f77ea3d7a48392f3812b/numpy-2.4.1-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8361ea4220d763e54cff2fbe7d8c93526b744f7cd9ddab47afeff7e14e8503be", size = 16479830, upload-time = "2026-01-10T06:44:53.931Z" }, + { url = "https://files.pythonhosted.org/packages/5b/c7/b801bf98514b6ae6475e941ac05c58e6411dd863ea92916bfd6d510b08c1/numpy-2.4.1-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:4f1b68ff47680c2925f8063402a693ede215f0257f02596b1318ecdfb1d79e33", size = 12492579, upload-time = "2026-01-10T06:44:57.094Z" }, ] [[package]] name = "openai" -version = "2.14.0" +version = "2.15.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, @@ -2021,9 +2021,9 @@ dependencies = [ { name = "tqdm" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d8/b1/12fe1c196bea326261718eb037307c1c1fe1dedc2d2d4de777df822e6238/openai-2.14.0.tar.gz", hash = "sha256:419357bedde9402d23bf8f2ee372fca1985a73348debba94bddff06f19459952", size = 626938, upload-time = "2025-12-19T03:28:45.742Z" } +sdist = { url = "https://files.pythonhosted.org/packages/94/f4/4690ecb5d70023ce6bfcfeabfe717020f654bde59a775058ec6ac4692463/openai-2.15.0.tar.gz", hash = "sha256:42eb8cbb407d84770633f31bf727d4ffb4138711c670565a41663d9439174fba", size = 627383, upload-time = "2026-01-09T22:10:08.603Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/27/4b/7c1a00c2c3fbd004253937f7520f692a9650767aa73894d7a34f0d65d3f4/openai-2.14.0-py3-none-any.whl", hash = "sha256:7ea40aca4ffc4c4a776e77679021b47eec1160e341f42ae086ba949c9dcc9183", size = 1067558, upload-time = "2025-12-19T03:28:43.727Z" }, + { url = "https://files.pythonhosted.org/packages/b5/df/c306f7375d42bafb379934c2df4c2fa3964656c8c782bac75ee10c102818/openai-2.15.0-py3-none-any.whl", hash = "sha256:6ae23b932cd7230f7244e52954daa6602716d6b9bf235401a107af731baea6c3", size = 1067879, upload-time = "2026-01-09T22:10:06.446Z" }, ] [[package]] @@ -2058,11 +2058,11 @@ wheels = [ [[package]] name = "pathspec" -version = "1.0.1" +version = "1.0.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/28/2e/83722ece0f6ee24387d6cb830dd562ddbcd6ce0b9d76072c6849670c31b4/pathspec-1.0.1.tar.gz", hash = "sha256:e2769b508d0dd47b09af6ee2c75b2744a2cb1f474ae4b1494fd6a1b7a841613c", size = 129791, upload-time = "2026-01-06T13:02:55.15Z" } +sdist = { url = "https://files.pythonhosted.org/packages/4c/b2/bb8e495d5262bfec41ab5cb18f522f1012933347fb5d9e62452d446baca2/pathspec-1.0.3.tar.gz", hash = "sha256:bac5cf97ae2c2876e2d25ebb15078eb04d76e4b98921ee31c6f85ade8b59444d", size = 130841, upload-time = "2026-01-09T15:46:46.009Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d2/fe/2257c71721aeab6a6e8aa1f00d01f2a20f58547d249a6c8fef5791f559fc/pathspec-1.0.1-py3-none-any.whl", hash = "sha256:8870061f22c58e6d83463cfce9a7dd6eca0512c772c1001fb09ac64091816721", size = 54584, upload-time = "2026-01-06T13:02:53.601Z" }, + { url = "https://files.pythonhosted.org/packages/32/2b/121e912bd60eebd623f873fd090de0e84f322972ab25a7f9044c056804ed/pathspec-1.0.3-py3-none-any.whl", hash = "sha256:e80767021c1cc524aa3fb14bedda9c34406591343cc42797b386ce7b9354fb6c", size = 55021, upload-time = "2026-01-09T15:46:44.652Z" }, ] [[package]] @@ -2679,124 +2679,140 @@ wheels = [ [[package]] name = "regex" -version = "2025.11.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/cc/a9/546676f25e573a4cf00fe8e119b78a37b6a8fe2dc95cda877b30889c9c45/regex-2025.11.3.tar.gz", hash = "sha256:1fedc720f9bb2494ce31a58a1631f9c82df6a09b49c19517ea5cc280b4541e01", size = 414669, upload-time = "2025-11-03T21:34:22.089Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/8a/d6/d788d52da01280a30a3f6268aef2aa71043bff359c618fea4c5b536654d5/regex-2025.11.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2b441a4ae2c8049106e8b39973bfbddfb25a179dda2bdb99b0eeb60c40a6a3af", size = 488087, upload-time = "2025-11-03T21:30:47.317Z" }, - { url = "https://files.pythonhosted.org/packages/69/39/abec3bd688ec9bbea3562de0fd764ff802976185f5ff22807bf0a2697992/regex-2025.11.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2fa2eed3f76677777345d2f81ee89f5de2f5745910e805f7af7386a920fa7313", size = 290544, upload-time = "2025-11-03T21:30:49.912Z" }, - { url = "https://files.pythonhosted.org/packages/39/b3/9a231475d5653e60002508f41205c61684bb2ffbf2401351ae2186897fc4/regex-2025.11.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d8b4a27eebd684319bdf473d39f1d79eed36bf2cd34bd4465cdb4618d82b3d56", size = 288408, upload-time = "2025-11-03T21:30:51.344Z" }, - { url = "https://files.pythonhosted.org/packages/c3/c5/1929a0491bd5ac2d1539a866768b88965fa8c405f3e16a8cef84313098d6/regex-2025.11.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5cf77eac15bd264986c4a2c63353212c095b40f3affb2bc6b4ef80c4776c1a28", size = 781584, upload-time = "2025-11-03T21:30:52.596Z" }, - { url = "https://files.pythonhosted.org/packages/ce/fd/16aa16cf5d497ef727ec966f74164fbe75d6516d3d58ac9aa989bc9cdaad/regex-2025.11.3-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b7f9ee819f94c6abfa56ec7b1dbab586f41ebbdc0a57e6524bd5e7f487a878c7", size = 850733, upload-time = "2025-11-03T21:30:53.825Z" }, - { url = "https://files.pythonhosted.org/packages/e6/49/3294b988855a221cb6565189edf5dc43239957427df2d81d4a6b15244f64/regex-2025.11.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:838441333bc90b829406d4a03cb4b8bf7656231b84358628b0406d803931ef32", size = 898691, upload-time = "2025-11-03T21:30:55.575Z" }, - { url = "https://files.pythonhosted.org/packages/14/62/b56d29e70b03666193369bdbdedfdc23946dbe9f81dd78ce262c74d988ab/regex-2025.11.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cfe6d3f0c9e3b7e8c0c694b24d25e677776f5ca26dce46fd6b0489f9c8339391", size = 791662, upload-time = "2025-11-03T21:30:57.262Z" }, - { url = "https://files.pythonhosted.org/packages/15/fc/e4c31d061eced63fbf1ce9d853975f912c61a7d406ea14eda2dd355f48e7/regex-2025.11.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2ab815eb8a96379a27c3b6157fcb127c8f59c36f043c1678110cea492868f1d5", size = 782587, upload-time = "2025-11-03T21:30:58.788Z" }, - { url = "https://files.pythonhosted.org/packages/b2/bb/5e30c7394bcf63f0537121c23e796be67b55a8847c3956ae6068f4c70702/regex-2025.11.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:728a9d2d173a65b62bdc380b7932dd8e74ed4295279a8fe1021204ce210803e7", size = 774709, upload-time = "2025-11-03T21:31:00.081Z" }, - { url = "https://files.pythonhosted.org/packages/c5/c4/fce773710af81b0cb37cb4ff0947e75d5d17dee304b93d940b87a67fc2f4/regex-2025.11.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:509dc827f89c15c66a0c216331260d777dd6c81e9a4e4f830e662b0bb296c313", size = 845773, upload-time = "2025-11-03T21:31:01.583Z" }, - { url = "https://files.pythonhosted.org/packages/7b/5e/9466a7ec4b8ec282077095c6eb50a12a389d2e036581134d4919e8ca518c/regex-2025.11.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:849202cd789e5f3cf5dcc7822c34b502181b4824a65ff20ce82da5524e45e8e9", size = 836164, upload-time = "2025-11-03T21:31:03.244Z" }, - { url = "https://files.pythonhosted.org/packages/95/18/82980a60e8ed1594eb3c89eb814fb276ef51b9af7caeab1340bfd8564af6/regex-2025.11.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b6f78f98741dcc89607c16b1e9426ee46ce4bf31ac5e6b0d40e81c89f3481ea5", size = 779832, upload-time = "2025-11-03T21:31:04.876Z" }, - { url = "https://files.pythonhosted.org/packages/03/cc/90ab0fdbe6dce064a42015433f9152710139fb04a8b81b4fb57a1cb63ffa/regex-2025.11.3-cp310-cp310-win32.whl", hash = "sha256:149eb0bba95231fb4f6d37c8f760ec9fa6fabf65bab555e128dde5f2475193ec", size = 265802, upload-time = "2025-11-03T21:31:06.581Z" }, - { url = "https://files.pythonhosted.org/packages/34/9d/e9e8493a85f3b1ddc4a5014465f5c2b78c3ea1cbf238dcfde78956378041/regex-2025.11.3-cp310-cp310-win_amd64.whl", hash = "sha256:ee3a83ce492074c35a74cc76cf8235d49e77b757193a5365ff86e3f2f93db9fd", size = 277722, upload-time = "2025-11-03T21:31:08.144Z" }, - { url = "https://files.pythonhosted.org/packages/15/c4/b54b24f553966564506dbf873a3e080aef47b356a3b39b5d5aba992b50db/regex-2025.11.3-cp310-cp310-win_arm64.whl", hash = "sha256:38af559ad934a7b35147716655d4a2f79fcef2d695ddfe06a06ba40ae631fa7e", size = 270289, upload-time = "2025-11-03T21:31:10.267Z" }, - { url = "https://files.pythonhosted.org/packages/f7/90/4fb5056e5f03a7048abd2b11f598d464f0c167de4f2a51aa868c376b8c70/regex-2025.11.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:eadade04221641516fa25139273505a1c19f9bf97589a05bc4cfcd8b4a618031", size = 488081, upload-time = "2025-11-03T21:31:11.946Z" }, - { url = "https://files.pythonhosted.org/packages/85/23/63e481293fac8b069d84fba0299b6666df720d875110efd0338406b5d360/regex-2025.11.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:feff9e54ec0dd3833d659257f5c3f5322a12eee58ffa360984b716f8b92983f4", size = 290554, upload-time = "2025-11-03T21:31:13.387Z" }, - { url = "https://files.pythonhosted.org/packages/2b/9d/b101d0262ea293a0066b4522dfb722eb6a8785a8c3e084396a5f2c431a46/regex-2025.11.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:3b30bc921d50365775c09a7ed446359e5c0179e9e2512beec4a60cbcef6ddd50", size = 288407, upload-time = "2025-11-03T21:31:14.809Z" }, - { url = "https://files.pythonhosted.org/packages/0c/64/79241c8209d5b7e00577ec9dca35cd493cc6be35b7d147eda367d6179f6d/regex-2025.11.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f99be08cfead2020c7ca6e396c13543baea32343b7a9a5780c462e323bd8872f", size = 793418, upload-time = "2025-11-03T21:31:16.556Z" }, - { url = "https://files.pythonhosted.org/packages/3d/e2/23cd5d3573901ce8f9757c92ca4db4d09600b865919b6d3e7f69f03b1afd/regex-2025.11.3-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6dd329a1b61c0ee95ba95385fb0c07ea0d3fe1a21e1349fa2bec272636217118", size = 860448, upload-time = "2025-11-03T21:31:18.12Z" }, - { url = "https://files.pythonhosted.org/packages/2a/4c/aecf31beeaa416d0ae4ecb852148d38db35391aac19c687b5d56aedf3a8b/regex-2025.11.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4c5238d32f3c5269d9e87be0cf096437b7622b6920f5eac4fd202468aaeb34d2", size = 907139, upload-time = "2025-11-03T21:31:20.753Z" }, - { url = "https://files.pythonhosted.org/packages/61/22/b8cb00df7d2b5e0875f60628594d44dba283e951b1ae17c12f99e332cc0a/regex-2025.11.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:10483eefbfb0adb18ee9474498c9a32fcf4e594fbca0543bb94c48bac6183e2e", size = 800439, upload-time = "2025-11-03T21:31:22.069Z" }, - { url = "https://files.pythonhosted.org/packages/02/a8/c4b20330a5cdc7a8eb265f9ce593f389a6a88a0c5f280cf4d978f33966bc/regex-2025.11.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:78c2d02bb6e1da0720eedc0bad578049cad3f71050ef8cd065ecc87691bed2b0", size = 782965, upload-time = "2025-11-03T21:31:23.598Z" }, - { url = "https://files.pythonhosted.org/packages/b4/4c/ae3e52988ae74af4b04d2af32fee4e8077f26e51b62ec2d12d246876bea2/regex-2025.11.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e6b49cd2aad93a1790ce9cffb18964f6d3a4b0b3dbdbd5de094b65296fce6e58", size = 854398, upload-time = "2025-11-03T21:31:25.008Z" }, - { url = "https://files.pythonhosted.org/packages/06/d1/a8b9cf45874eda14b2e275157ce3b304c87e10fb38d9fc26a6e14eb18227/regex-2025.11.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:885b26aa3ee56433b630502dc3d36ba78d186a00cc535d3806e6bfd9ed3c70ab", size = 845897, upload-time = "2025-11-03T21:31:26.427Z" }, - { url = "https://files.pythonhosted.org/packages/ea/fe/1830eb0236be93d9b145e0bd8ab499f31602fe0999b1f19e99955aa8fe20/regex-2025.11.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ddd76a9f58e6a00f8772e72cff8ebcff78e022be95edf018766707c730593e1e", size = 788906, upload-time = "2025-11-03T21:31:28.078Z" }, - { url = "https://files.pythonhosted.org/packages/66/47/dc2577c1f95f188c1e13e2e69d8825a5ac582ac709942f8a03af42ed6e93/regex-2025.11.3-cp311-cp311-win32.whl", hash = "sha256:3e816cc9aac1cd3cc9a4ec4d860f06d40f994b5c7b4d03b93345f44e08cc68bf", size = 265812, upload-time = "2025-11-03T21:31:29.72Z" }, - { url = "https://files.pythonhosted.org/packages/50/1e/15f08b2f82a9bbb510621ec9042547b54d11e83cb620643ebb54e4eb7d71/regex-2025.11.3-cp311-cp311-win_amd64.whl", hash = "sha256:087511f5c8b7dfbe3a03f5d5ad0c2a33861b1fc387f21f6f60825a44865a385a", size = 277737, upload-time = "2025-11-03T21:31:31.422Z" }, - { url = "https://files.pythonhosted.org/packages/f4/fc/6500eb39f5f76c5e47a398df82e6b535a5e345f839581012a418b16f9cc3/regex-2025.11.3-cp311-cp311-win_arm64.whl", hash = "sha256:1ff0d190c7f68ae7769cd0313fe45820ba07ffebfddfaa89cc1eb70827ba0ddc", size = 270290, upload-time = "2025-11-03T21:31:33.041Z" }, - { url = "https://files.pythonhosted.org/packages/e8/74/18f04cb53e58e3fb107439699bd8375cf5a835eec81084e0bddbd122e4c2/regex-2025.11.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bc8ab71e2e31b16e40868a40a69007bc305e1109bd4658eb6cad007e0bf67c41", size = 489312, upload-time = "2025-11-03T21:31:34.343Z" }, - { url = "https://files.pythonhosted.org/packages/78/3f/37fcdd0d2b1e78909108a876580485ea37c91e1acf66d3bb8e736348f441/regex-2025.11.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:22b29dda7e1f7062a52359fca6e58e548e28c6686f205e780b02ad8ef710de36", size = 291256, upload-time = "2025-11-03T21:31:35.675Z" }, - { url = "https://files.pythonhosted.org/packages/bf/26/0a575f58eb23b7ebd67a45fccbc02ac030b737b896b7e7a909ffe43ffd6a/regex-2025.11.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3a91e4a29938bc1a082cc28fdea44be420bf2bebe2665343029723892eb073e1", size = 288921, upload-time = "2025-11-03T21:31:37.07Z" }, - { url = "https://files.pythonhosted.org/packages/ea/98/6a8dff667d1af907150432cf5abc05a17ccd32c72a3615410d5365ac167a/regex-2025.11.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:08b884f4226602ad40c5d55f52bf91a9df30f513864e0054bad40c0e9cf1afb7", size = 798568, upload-time = "2025-11-03T21:31:38.784Z" }, - { url = "https://files.pythonhosted.org/packages/64/15/92c1db4fa4e12733dd5a526c2dd2b6edcbfe13257e135fc0f6c57f34c173/regex-2025.11.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3e0b11b2b2433d1c39c7c7a30e3f3d0aeeea44c2a8d0bae28f6b95f639927a69", size = 864165, upload-time = "2025-11-03T21:31:40.559Z" }, - { url = "https://files.pythonhosted.org/packages/f9/e7/3ad7da8cdee1ce66c7cd37ab5ab05c463a86ffeb52b1a25fe7bd9293b36c/regex-2025.11.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:87eb52a81ef58c7ba4d45c3ca74e12aa4b4e77816f72ca25258a85b3ea96cb48", size = 912182, upload-time = "2025-11-03T21:31:42.002Z" }, - { url = "https://files.pythonhosted.org/packages/84/bd/9ce9f629fcb714ffc2c3faf62b6766ecb7a585e1e885eb699bcf130a5209/regex-2025.11.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a12ab1f5c29b4e93db518f5e3872116b7e9b1646c9f9f426f777b50d44a09e8c", size = 803501, upload-time = "2025-11-03T21:31:43.815Z" }, - { url = "https://files.pythonhosted.org/packages/7c/0f/8dc2e4349d8e877283e6edd6c12bdcebc20f03744e86f197ab6e4492bf08/regex-2025.11.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7521684c8c7c4f6e88e35ec89680ee1aa8358d3f09d27dfbdf62c446f5d4c695", size = 787842, upload-time = "2025-11-03T21:31:45.353Z" }, - { url = "https://files.pythonhosted.org/packages/f9/73/cff02702960bc185164d5619c0c62a2f598a6abff6695d391b096237d4ab/regex-2025.11.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7fe6e5440584e94cc4b3f5f4d98a25e29ca12dccf8873679a635638349831b98", size = 858519, upload-time = "2025-11-03T21:31:46.814Z" }, - { url = "https://files.pythonhosted.org/packages/61/83/0e8d1ae71e15bc1dc36231c90b46ee35f9d52fab2e226b0e039e7ea9c10a/regex-2025.11.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:8e026094aa12b43f4fd74576714e987803a315c76edb6b098b9809db5de58f74", size = 850611, upload-time = "2025-11-03T21:31:48.289Z" }, - { url = "https://files.pythonhosted.org/packages/c8/f5/70a5cdd781dcfaa12556f2955bf170cd603cb1c96a1827479f8faea2df97/regex-2025.11.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:435bbad13e57eb5606a68443af62bed3556de2f46deb9f7d4237bc2f1c9fb3a0", size = 789759, upload-time = "2025-11-03T21:31:49.759Z" }, - { url = "https://files.pythonhosted.org/packages/59/9b/7c29be7903c318488983e7d97abcf8ebd3830e4c956c4c540005fcfb0462/regex-2025.11.3-cp312-cp312-win32.whl", hash = "sha256:3839967cf4dc4b985e1570fd8d91078f0c519f30491c60f9ac42a8db039be204", size = 266194, upload-time = "2025-11-03T21:31:51.53Z" }, - { url = "https://files.pythonhosted.org/packages/1a/67/3b92df89f179d7c367be654ab5626ae311cb28f7d5c237b6bb976cd5fbbb/regex-2025.11.3-cp312-cp312-win_amd64.whl", hash = "sha256:e721d1b46e25c481dc5ded6f4b3f66c897c58d2e8cfdf77bbced84339108b0b9", size = 277069, upload-time = "2025-11-03T21:31:53.151Z" }, - { url = "https://files.pythonhosted.org/packages/d7/55/85ba4c066fe5094d35b249c3ce8df0ba623cfd35afb22d6764f23a52a1c5/regex-2025.11.3-cp312-cp312-win_arm64.whl", hash = "sha256:64350685ff08b1d3a6fff33f45a9ca183dc1d58bbfe4981604e70ec9801bbc26", size = 270330, upload-time = "2025-11-03T21:31:54.514Z" }, - { url = "https://files.pythonhosted.org/packages/e1/a7/dda24ebd49da46a197436ad96378f17df30ceb40e52e859fc42cac45b850/regex-2025.11.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:c1e448051717a334891f2b9a620fe36776ebf3dd8ec46a0b877c8ae69575feb4", size = 489081, upload-time = "2025-11-03T21:31:55.9Z" }, - { url = "https://files.pythonhosted.org/packages/19/22/af2dc751aacf88089836aa088a1a11c4f21a04707eb1b0478e8e8fb32847/regex-2025.11.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:9b5aca4d5dfd7fbfbfbdaf44850fcc7709a01146a797536a8f84952e940cca76", size = 291123, upload-time = "2025-11-03T21:31:57.758Z" }, - { url = "https://files.pythonhosted.org/packages/a3/88/1a3ea5672f4b0a84802ee9891b86743438e7c04eb0b8f8c4e16a42375327/regex-2025.11.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:04d2765516395cf7dda331a244a3282c0f5ae96075f728629287dfa6f76ba70a", size = 288814, upload-time = "2025-11-03T21:32:01.12Z" }, - { url = "https://files.pythonhosted.org/packages/fb/8c/f5987895bf42b8ddeea1b315c9fedcfe07cadee28b9c98cf50d00adcb14d/regex-2025.11.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5d9903ca42bfeec4cebedba8022a7c97ad2aab22e09573ce9976ba01b65e4361", size = 798592, upload-time = "2025-11-03T21:32:03.006Z" }, - { url = "https://files.pythonhosted.org/packages/99/2a/6591ebeede78203fa77ee46a1c36649e02df9eaa77a033d1ccdf2fcd5d4e/regex-2025.11.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:639431bdc89d6429f6721625e8129413980ccd62e9d3f496be618a41d205f160", size = 864122, upload-time = "2025-11-03T21:32:04.553Z" }, - { url = "https://files.pythonhosted.org/packages/94/d6/be32a87cf28cf8ed064ff281cfbd49aefd90242a83e4b08b5a86b38e8eb4/regex-2025.11.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f117efad42068f9715677c8523ed2be1518116d1c49b1dd17987716695181efe", size = 912272, upload-time = "2025-11-03T21:32:06.148Z" }, - { url = "https://files.pythonhosted.org/packages/62/11/9bcef2d1445665b180ac7f230406ad80671f0fc2a6ffb93493b5dd8cd64c/regex-2025.11.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4aecb6f461316adf9f1f0f6a4a1a3d79e045f9b71ec76055a791affa3b285850", size = 803497, upload-time = "2025-11-03T21:32:08.162Z" }, - { url = "https://files.pythonhosted.org/packages/e5/a7/da0dc273d57f560399aa16d8a68ae7f9b57679476fc7ace46501d455fe84/regex-2025.11.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:3b3a5f320136873cc5561098dfab677eea139521cb9a9e8db98b7e64aef44cbc", size = 787892, upload-time = "2025-11-03T21:32:09.769Z" }, - { url = "https://files.pythonhosted.org/packages/da/4b/732a0c5a9736a0b8d6d720d4945a2f1e6f38f87f48f3173559f53e8d5d82/regex-2025.11.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:75fa6f0056e7efb1f42a1c34e58be24072cb9e61a601340cc1196ae92326a4f9", size = 858462, upload-time = "2025-11-03T21:32:11.769Z" }, - { url = "https://files.pythonhosted.org/packages/0c/f5/a2a03df27dc4c2d0c769220f5110ba8c4084b0bfa9ab0f9b4fcfa3d2b0fc/regex-2025.11.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:dbe6095001465294f13f1adcd3311e50dd84e5a71525f20a10bd16689c61ce0b", size = 850528, upload-time = "2025-11-03T21:32:13.906Z" }, - { url = "https://files.pythonhosted.org/packages/d6/09/e1cd5bee3841c7f6eb37d95ca91cdee7100b8f88b81e41c2ef426910891a/regex-2025.11.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:454d9b4ae7881afbc25015b8627c16d88a597479b9dea82b8c6e7e2e07240dc7", size = 789866, upload-time = "2025-11-03T21:32:15.748Z" }, - { url = "https://files.pythonhosted.org/packages/eb/51/702f5ea74e2a9c13d855a6a85b7f80c30f9e72a95493260193c07f3f8d74/regex-2025.11.3-cp313-cp313-win32.whl", hash = "sha256:28ba4d69171fc6e9896337d4fc63a43660002b7da53fc15ac992abcf3410917c", size = 266189, upload-time = "2025-11-03T21:32:17.493Z" }, - { url = "https://files.pythonhosted.org/packages/8b/00/6e29bb314e271a743170e53649db0fdb8e8ff0b64b4f425f5602f4eb9014/regex-2025.11.3-cp313-cp313-win_amd64.whl", hash = "sha256:bac4200befe50c670c405dc33af26dad5a3b6b255dd6c000d92fe4629f9ed6a5", size = 277054, upload-time = "2025-11-03T21:32:19.042Z" }, - { url = "https://files.pythonhosted.org/packages/25/f1/b156ff9f2ec9ac441710764dda95e4edaf5f36aca48246d1eea3f1fd96ec/regex-2025.11.3-cp313-cp313-win_arm64.whl", hash = "sha256:2292cd5a90dab247f9abe892ac584cb24f0f54680c73fcb4a7493c66c2bf2467", size = 270325, upload-time = "2025-11-03T21:32:21.338Z" }, - { url = "https://files.pythonhosted.org/packages/20/28/fd0c63357caefe5680b8ea052131acbd7f456893b69cc2a90cc3e0dc90d4/regex-2025.11.3-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:1eb1ebf6822b756c723e09f5186473d93236c06c579d2cc0671a722d2ab14281", size = 491984, upload-time = "2025-11-03T21:32:23.466Z" }, - { url = "https://files.pythonhosted.org/packages/df/ec/7014c15626ab46b902b3bcc4b28a7bae46d8f281fc7ea9c95e22fcaaa917/regex-2025.11.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:1e00ec2970aab10dc5db34af535f21fcf32b4a31d99e34963419636e2f85ae39", size = 292673, upload-time = "2025-11-03T21:32:25.034Z" }, - { url = "https://files.pythonhosted.org/packages/23/ab/3b952ff7239f20d05f1f99e9e20188513905f218c81d52fb5e78d2bf7634/regex-2025.11.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a4cb042b615245d5ff9b3794f56be4138b5adc35a4166014d31d1814744148c7", size = 291029, upload-time = "2025-11-03T21:32:26.528Z" }, - { url = "https://files.pythonhosted.org/packages/21/7e/3dc2749fc684f455f162dcafb8a187b559e2614f3826877d3844a131f37b/regex-2025.11.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:44f264d4bf02f3176467d90b294d59bf1db9fe53c141ff772f27a8b456b2a9ed", size = 807437, upload-time = "2025-11-03T21:32:28.363Z" }, - { url = "https://files.pythonhosted.org/packages/1b/0b/d529a85ab349c6a25d1ca783235b6e3eedf187247eab536797021f7126c6/regex-2025.11.3-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7be0277469bf3bd7a34a9c57c1b6a724532a0d235cd0dc4e7f4316f982c28b19", size = 873368, upload-time = "2025-11-03T21:32:30.4Z" }, - { url = "https://files.pythonhosted.org/packages/7d/18/2d868155f8c9e3e9d8f9e10c64e9a9f496bb8f7e037a88a8bed26b435af6/regex-2025.11.3-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0d31e08426ff4b5b650f68839f5af51a92a5b51abd8554a60c2fbc7c71f25d0b", size = 914921, upload-time = "2025-11-03T21:32:32.123Z" }, - { url = "https://files.pythonhosted.org/packages/2d/71/9d72ff0f354fa783fe2ba913c8734c3b433b86406117a8db4ea2bf1c7a2f/regex-2025.11.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e43586ce5bd28f9f285a6e729466841368c4a0353f6fd08d4ce4630843d3648a", size = 812708, upload-time = "2025-11-03T21:32:34.305Z" }, - { url = "https://files.pythonhosted.org/packages/e7/19/ce4bf7f5575c97f82b6e804ffb5c4e940c62609ab2a0d9538d47a7fdf7d4/regex-2025.11.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:0f9397d561a4c16829d4e6ff75202c1c08b68a3bdbfe29dbfcdb31c9830907c6", size = 795472, upload-time = "2025-11-03T21:32:36.364Z" }, - { url = "https://files.pythonhosted.org/packages/03/86/fd1063a176ffb7b2315f9a1b08d17b18118b28d9df163132615b835a26ee/regex-2025.11.3-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:dd16e78eb18ffdb25ee33a0682d17912e8cc8a770e885aeee95020046128f1ce", size = 868341, upload-time = "2025-11-03T21:32:38.042Z" }, - { url = "https://files.pythonhosted.org/packages/12/43/103fb2e9811205e7386366501bc866a164a0430c79dd59eac886a2822950/regex-2025.11.3-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:ffcca5b9efe948ba0661e9df0fa50d2bc4b097c70b9810212d6b62f05d83b2dd", size = 854666, upload-time = "2025-11-03T21:32:40.079Z" }, - { url = "https://files.pythonhosted.org/packages/7d/22/e392e53f3869b75804762c7c848bd2dd2abf2b70fb0e526f58724638bd35/regex-2025.11.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c56b4d162ca2b43318ac671c65bd4d563e841a694ac70e1a976ac38fcf4ca1d2", size = 799473, upload-time = "2025-11-03T21:32:42.148Z" }, - { url = "https://files.pythonhosted.org/packages/4f/f9/8bd6b656592f925b6845fcbb4d57603a3ac2fb2373344ffa1ed70aa6820a/regex-2025.11.3-cp313-cp313t-win32.whl", hash = "sha256:9ddc42e68114e161e51e272f667d640f97e84a2b9ef14b7477c53aac20c2d59a", size = 268792, upload-time = "2025-11-03T21:32:44.13Z" }, - { url = "https://files.pythonhosted.org/packages/e5/87/0e7d603467775ff65cd2aeabf1b5b50cc1c3708556a8b849a2fa4dd1542b/regex-2025.11.3-cp313-cp313t-win_amd64.whl", hash = "sha256:7a7c7fdf755032ffdd72c77e3d8096bdcb0eb92e89e17571a196f03d88b11b3c", size = 280214, upload-time = "2025-11-03T21:32:45.853Z" }, - { url = "https://files.pythonhosted.org/packages/8d/d0/2afc6f8e94e2b64bfb738a7c2b6387ac1699f09f032d363ed9447fd2bb57/regex-2025.11.3-cp313-cp313t-win_arm64.whl", hash = "sha256:df9eb838c44f570283712e7cff14c16329a9f0fb19ca492d21d4b7528ee6821e", size = 271469, upload-time = "2025-11-03T21:32:48.026Z" }, - { url = "https://files.pythonhosted.org/packages/31/e9/f6e13de7e0983837f7b6d238ad9458800a874bf37c264f7923e63409944c/regex-2025.11.3-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:9697a52e57576c83139d7c6f213d64485d3df5bf84807c35fa409e6c970801c6", size = 489089, upload-time = "2025-11-03T21:32:50.027Z" }, - { url = "https://files.pythonhosted.org/packages/a3/5c/261f4a262f1fa65141c1b74b255988bd2fa020cc599e53b080667d591cfc/regex-2025.11.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:e18bc3f73bd41243c9b38a6d9f2366cd0e0137a9aebe2d8ff76c5b67d4c0a3f4", size = 291059, upload-time = "2025-11-03T21:32:51.682Z" }, - { url = "https://files.pythonhosted.org/packages/8e/57/f14eeb7f072b0e9a5a090d1712741fd8f214ec193dba773cf5410108bb7d/regex-2025.11.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:61a08bcb0ec14ff4e0ed2044aad948d0659604f824cbd50b55e30b0ec6f09c73", size = 288900, upload-time = "2025-11-03T21:32:53.569Z" }, - { url = "https://files.pythonhosted.org/packages/3c/6b/1d650c45e99a9b327586739d926a1cd4e94666b1bd4af90428b36af66dc7/regex-2025.11.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c9c30003b9347c24bcc210958c5d167b9e4f9be786cb380a7d32f14f9b84674f", size = 799010, upload-time = "2025-11-03T21:32:55.222Z" }, - { url = "https://files.pythonhosted.org/packages/99/ee/d66dcbc6b628ce4e3f7f0cbbb84603aa2fc0ffc878babc857726b8aab2e9/regex-2025.11.3-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4e1e592789704459900728d88d41a46fe3969b82ab62945560a31732ffc19a6d", size = 864893, upload-time = "2025-11-03T21:32:57.239Z" }, - { url = "https://files.pythonhosted.org/packages/bf/2d/f238229f1caba7ac87a6c4153d79947fb0261415827ae0f77c304260c7d3/regex-2025.11.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6538241f45eb5a25aa575dbba1069ad786f68a4f2773a29a2bd3dd1f9de787be", size = 911522, upload-time = "2025-11-03T21:32:59.274Z" }, - { url = "https://files.pythonhosted.org/packages/bd/3d/22a4eaba214a917c80e04f6025d26143690f0419511e0116508e24b11c9b/regex-2025.11.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bce22519c989bb72a7e6b36a199384c53db7722fe669ba891da75907fe3587db", size = 803272, upload-time = "2025-11-03T21:33:01.393Z" }, - { url = "https://files.pythonhosted.org/packages/84/b1/03188f634a409353a84b5ef49754b97dbcc0c0f6fd6c8ede505a8960a0a4/regex-2025.11.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:66d559b21d3640203ab9075797a55165d79017520685fb407b9234d72ab63c62", size = 787958, upload-time = "2025-11-03T21:33:03.379Z" }, - { url = "https://files.pythonhosted.org/packages/99/6a/27d072f7fbf6fadd59c64d210305e1ff865cc3b78b526fd147db768c553b/regex-2025.11.3-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:669dcfb2e38f9e8c69507bace46f4889e3abbfd9b0c29719202883c0a603598f", size = 859289, upload-time = "2025-11-03T21:33:05.374Z" }, - { url = "https://files.pythonhosted.org/packages/9a/70/1b3878f648e0b6abe023172dacb02157e685564853cc363d9961bcccde4e/regex-2025.11.3-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:32f74f35ff0f25a5021373ac61442edcb150731fbaa28286bbc8bb1582c89d02", size = 850026, upload-time = "2025-11-03T21:33:07.131Z" }, - { url = "https://files.pythonhosted.org/packages/dd/d5/68e25559b526b8baab8e66839304ede68ff6727237a47727d240006bd0ff/regex-2025.11.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:e6c7a21dffba883234baefe91bc3388e629779582038f75d2a5be918e250f0ed", size = 789499, upload-time = "2025-11-03T21:33:09.141Z" }, - { url = "https://files.pythonhosted.org/packages/fc/df/43971264857140a350910d4e33df725e8c94dd9dee8d2e4729fa0d63d49e/regex-2025.11.3-cp314-cp314-win32.whl", hash = "sha256:795ea137b1d809eb6836b43748b12634291c0ed55ad50a7d72d21edf1cd565c4", size = 271604, upload-time = "2025-11-03T21:33:10.9Z" }, - { url = "https://files.pythonhosted.org/packages/01/6f/9711b57dc6894a55faf80a4c1b5aa4f8649805cb9c7aef46f7d27e2b9206/regex-2025.11.3-cp314-cp314-win_amd64.whl", hash = "sha256:9f95fbaa0ee1610ec0fc6b26668e9917a582ba80c52cc6d9ada15e30aa9ab9ad", size = 280320, upload-time = "2025-11-03T21:33:12.572Z" }, - { url = "https://files.pythonhosted.org/packages/f1/7e/f6eaa207d4377481f5e1775cdeb5a443b5a59b392d0065f3417d31d80f87/regex-2025.11.3-cp314-cp314-win_arm64.whl", hash = "sha256:dfec44d532be4c07088c3de2876130ff0fbeeacaa89a137decbbb5f665855a0f", size = 273372, upload-time = "2025-11-03T21:33:14.219Z" }, - { url = "https://files.pythonhosted.org/packages/c3/06/49b198550ee0f5e4184271cee87ba4dfd9692c91ec55289e6282f0f86ccf/regex-2025.11.3-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:ba0d8a5d7f04f73ee7d01d974d47c5834f8a1b0224390e4fe7c12a3a92a78ecc", size = 491985, upload-time = "2025-11-03T21:33:16.555Z" }, - { url = "https://files.pythonhosted.org/packages/ce/bf/abdafade008f0b1c9da10d934034cb670432d6cf6cbe38bbb53a1cfd6cf8/regex-2025.11.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:442d86cf1cfe4faabf97db7d901ef58347efd004934da045c745e7b5bd57ac49", size = 292669, upload-time = "2025-11-03T21:33:18.32Z" }, - { url = "https://files.pythonhosted.org/packages/f9/ef/0c357bb8edbd2ad8e273fcb9e1761bc37b8acbc6e1be050bebd6475f19c1/regex-2025.11.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:fd0a5e563c756de210bb964789b5abe4f114dacae9104a47e1a649b910361536", size = 291030, upload-time = "2025-11-03T21:33:20.048Z" }, - { url = "https://files.pythonhosted.org/packages/79/06/edbb67257596649b8fb088d6aeacbcb248ac195714b18a65e018bf4c0b50/regex-2025.11.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bf3490bcbb985a1ae97b2ce9ad1c0f06a852d5b19dde9b07bdf25bf224248c95", size = 807674, upload-time = "2025-11-03T21:33:21.797Z" }, - { url = "https://files.pythonhosted.org/packages/f4/d9/ad4deccfce0ea336296bd087f1a191543bb99ee1c53093dcd4c64d951d00/regex-2025.11.3-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3809988f0a8b8c9dcc0f92478d6501fac7200b9ec56aecf0ec21f4a2ec4b6009", size = 873451, upload-time = "2025-11-03T21:33:23.741Z" }, - { url = "https://files.pythonhosted.org/packages/13/75/a55a4724c56ef13e3e04acaab29df26582f6978c000ac9cd6810ad1f341f/regex-2025.11.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f4ff94e58e84aedb9c9fce66d4ef9f27a190285b451420f297c9a09f2b9abee9", size = 914980, upload-time = "2025-11-03T21:33:25.999Z" }, - { url = "https://files.pythonhosted.org/packages/67/1e/a1657ee15bd9116f70d4a530c736983eed997b361e20ecd8f5ca3759d5c5/regex-2025.11.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7eb542fd347ce61e1321b0a6b945d5701528dca0cd9759c2e3bb8bd57e47964d", size = 812852, upload-time = "2025-11-03T21:33:27.852Z" }, - { url = "https://files.pythonhosted.org/packages/b8/6f/f7516dde5506a588a561d296b2d0044839de06035bb486b326065b4c101e/regex-2025.11.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:d6c2d5919075a1f2e413c00b056ea0c2f065b3f5fe83c3d07d325ab92dce51d6", size = 795566, upload-time = "2025-11-03T21:33:32.364Z" }, - { url = "https://files.pythonhosted.org/packages/d9/dd/3d10b9e170cc16fb34cb2cef91513cf3df65f440b3366030631b2984a264/regex-2025.11.3-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:3f8bf11a4827cc7ce5a53d4ef6cddd5ad25595d3c1435ef08f76825851343154", size = 868463, upload-time = "2025-11-03T21:33:34.459Z" }, - { url = "https://files.pythonhosted.org/packages/f5/8e/935e6beff1695aa9085ff83195daccd72acc82c81793df480f34569330de/regex-2025.11.3-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:22c12d837298651e5550ac1d964e4ff57c3f56965fc1812c90c9fb2028eaf267", size = 854694, upload-time = "2025-11-03T21:33:36.793Z" }, - { url = "https://files.pythonhosted.org/packages/92/12/10650181a040978b2f5720a6a74d44f841371a3d984c2083fc1752e4acf6/regex-2025.11.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:62ba394a3dda9ad41c7c780f60f6e4a70988741415ae96f6d1bf6c239cf01379", size = 799691, upload-time = "2025-11-03T21:33:39.079Z" }, - { url = "https://files.pythonhosted.org/packages/67/90/8f37138181c9a7690e7e4cb388debbd389342db3c7381d636d2875940752/regex-2025.11.3-cp314-cp314t-win32.whl", hash = "sha256:4bf146dca15cdd53224a1bf46d628bd7590e4a07fbb69e720d561aea43a32b38", size = 274583, upload-time = "2025-11-03T21:33:41.302Z" }, - { url = "https://files.pythonhosted.org/packages/8f/cd/867f5ec442d56beb56f5f854f40abcfc75e11d10b11fdb1869dd39c63aaf/regex-2025.11.3-cp314-cp314t-win_amd64.whl", hash = "sha256:adad1a1bcf1c9e76346e091d22d23ac54ef28e1365117d99521631078dfec9de", size = 284286, upload-time = "2025-11-03T21:33:43.324Z" }, - { url = "https://files.pythonhosted.org/packages/20/31/32c0c4610cbc070362bf1d2e4ea86d1ea29014d400a6d6c2486fcfd57766/regex-2025.11.3-cp314-cp314t-win_arm64.whl", hash = "sha256:c54f768482cef41e219720013cd05933b6f971d9562544d691c68699bf2b6801", size = 274741, upload-time = "2025-11-03T21:33:45.557Z" }, - { url = "https://files.pythonhosted.org/packages/13/a2/71d9e3de7a8ba4dd301ce6327d3feacc911413dc0660a4e2256a8b43401b/regex-2025.11.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:81519e25707fc076978c6143b81ea3dc853f176895af05bf7ec51effe818aeec", size = 488097, upload-time = "2025-11-03T21:33:47.455Z" }, - { url = "https://files.pythonhosted.org/packages/68/c2/c74c874de5c3e73302ea1f47968f2a990c2517c6fb827c95d2b857e01098/regex-2025.11.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3bf28b1873a8af8bbb58c26cc56ea6e534d80053b41fb511a35795b6de507e6a", size = 290540, upload-time = "2025-11-03T21:33:49.296Z" }, - { url = "https://files.pythonhosted.org/packages/4e/4d/97cc016a7f705a496328d4d569db2023a200c2c391b0a0ddf36e66dd80f5/regex-2025.11.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:856a25c73b697f2ce2a24e7968285579e62577a048526161a2c0f53090bea9f9", size = 288419, upload-time = "2025-11-03T21:33:51.309Z" }, - { url = "https://files.pythonhosted.org/packages/e4/e6/725cd713a926a13f55bb9c4585d4cca51ab7d9ef77cb96eba8398e207418/regex-2025.11.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8a3d571bd95fade53c86c0517f859477ff3a93c3fde10c9e669086f038e0f207", size = 781001, upload-time = "2025-11-03T21:33:53.375Z" }, - { url = "https://files.pythonhosted.org/packages/15/15/ff1e7428b64a66c83dd53a88294c3e1c3e6a08653d9670efd24cbb068fa5/regex-2025.11.3-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:732aea6de26051af97b94bc98ed86448821f839d058e5d259c72bf6d73ad0fc0", size = 850430, upload-time = "2025-11-03T21:33:55.362Z" }, - { url = "https://files.pythonhosted.org/packages/89/1d/d4045ff7c563eb73be4419784a06efc7de02e15959b917fee335de8c10de/regex-2025.11.3-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:51c1c1847128238f54930edb8805b660305dca164645a9fd29243f5610beea34", size = 898038, upload-time = "2025-11-03T21:33:57.73Z" }, - { url = "https://files.pythonhosted.org/packages/60/ee/e9c71bdf334edc14ff769463bd6173966b0445e442a28b18f790b84032f5/regex-2025.11.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:22dd622a402aad4558277305350699b2be14bc59f64d64ae1d928ce7d072dced", size = 791201, upload-time = "2025-11-03T21:33:59.848Z" }, - { url = "https://files.pythonhosted.org/packages/aa/21/cc19ad5a091f921fea0caae5e4fb926d5b5350c376d09e2ada9f5d58b54c/regex-2025.11.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f3b5a391c7597ffa96b41bd5cbd2ed0305f515fcbb367dfa72735679d5502364", size = 781906, upload-time = "2025-11-03T21:34:02.28Z" }, - { url = "https://files.pythonhosted.org/packages/98/cc/22c52f2aff7f7e2591fe18db4b6143236c18800752e8e4c2cf938b64fe06/regex-2025.11.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:cc4076a5b4f36d849fd709284b4a3b112326652f3b0466f04002a6c15a0c96c1", size = 774267, upload-time = "2025-11-03T21:34:05.232Z" }, - { url = "https://files.pythonhosted.org/packages/6a/db/424728b5d831ebd15e86ca55f13990e2bc3c5b417dddaaaa3bd712f12e32/regex-2025.11.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:a295ca2bba5c1c885826ce3125fa0b9f702a1be547d821c01d65f199e10c01e2", size = 845211, upload-time = "2025-11-03T21:34:07.57Z" }, - { url = "https://files.pythonhosted.org/packages/91/fc/48d64dcef7a8f3ecdb9fe60bb3a6c97b317dea089ac72594eccf6cad1938/regex-2025.11.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:b4774ff32f18e0504bfc4e59a3e71e18d83bc1e171a3c8ed75013958a03b2f14", size = 835575, upload-time = "2025-11-03T21:34:10.781Z" }, - { url = "https://files.pythonhosted.org/packages/48/0b/c0cbc34e933ed528bb225d298df572a2e75fbe1db1b36fe719867a5e582d/regex-2025.11.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:22e7d1cdfa88ef33a2ae6aa0d707f9255eb286ffbd90045f1088246833223aee", size = 779426, upload-time = "2025-11-03T21:34:13.498Z" }, - { url = "https://files.pythonhosted.org/packages/90/54/4987210bc0d139d90b579fbbdaafca2d4acee9c413843d6c1c8ac0dd56bf/regex-2025.11.3-cp39-cp39-win32.whl", hash = "sha256:74d04244852ff73b32eeede4f76f51c5bcf44bc3c207bc3e6cf1c5c45b890708", size = 265836, upload-time = "2025-11-03T21:34:15.556Z" }, - { url = "https://files.pythonhosted.org/packages/ab/68/0a3a1bf596db98c369d0f10242b006f4a928633e001906889f80c9b4b639/regex-2025.11.3-cp39-cp39-win_amd64.whl", hash = "sha256:7a50cd39f73faa34ec18d6720ee25ef10c4c1839514186fcda658a06c06057a2", size = 277807, upload-time = "2025-11-03T21:34:17.502Z" }, - { url = "https://files.pythonhosted.org/packages/7c/98/4ed5b608130249810977b030b86abfc7fcd19b31aa75060d8ad11003826d/regex-2025.11.3-cp39-cp39-win_arm64.whl", hash = "sha256:43b4fb020e779ca81c1b5255015fe2b82816c76ec982354534ad9ec09ad7c9e3", size = 270328, upload-time = "2025-11-03T21:34:19.783Z" }, +version = "2026.1.15" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0b/86/07d5056945f9ec4590b518171c4254a5925832eb727b56d3c38a7476f316/regex-2026.1.15.tar.gz", hash = "sha256:164759aa25575cbc0651bef59a0b18353e54300d79ace8084c818ad8ac72b7d5", size = 414811, upload-time = "2026-01-14T23:18:02.775Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ea/d2/e6ee96b7dff201a83f650241c52db8e5bd080967cb93211f57aa448dc9d6/regex-2026.1.15-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4e3dd93c8f9abe8aa4b6c652016da9a3afa190df5ad822907efe6b206c09896e", size = 488166, upload-time = "2026-01-14T23:13:46.408Z" }, + { url = "https://files.pythonhosted.org/packages/23/8a/819e9ce14c9f87af026d0690901b3931f3101160833e5d4c8061fa3a1b67/regex-2026.1.15-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:97499ff7862e868b1977107873dd1a06e151467129159a6ffd07b66706ba3a9f", size = 290632, upload-time = "2026-01-14T23:13:48.688Z" }, + { url = "https://files.pythonhosted.org/packages/d5/c3/23dfe15af25d1d45b07dfd4caa6003ad710dcdcb4c4b279909bdfe7a2de8/regex-2026.1.15-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0bda75ebcac38d884240914c6c43d8ab5fb82e74cde6da94b43b17c411aa4c2b", size = 288500, upload-time = "2026-01-14T23:13:50.503Z" }, + { url = "https://files.pythonhosted.org/packages/c6/31/1adc33e2f717df30d2f4d973f8776d2ba6ecf939301efab29fca57505c95/regex-2026.1.15-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7dcc02368585334f5bc81fc73a2a6a0bbade60e7d83da21cead622faf408f32c", size = 781670, upload-time = "2026-01-14T23:13:52.453Z" }, + { url = "https://files.pythonhosted.org/packages/23/ce/21a8a22d13bc4adcb927c27b840c948f15fc973e21ed2346c1bd0eae22dc/regex-2026.1.15-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:693b465171707bbe882a7a05de5e866f33c76aa449750bee94a8d90463533cc9", size = 850820, upload-time = "2026-01-14T23:13:54.894Z" }, + { url = "https://files.pythonhosted.org/packages/6c/4f/3eeacdf587a4705a44484cd0b30e9230a0e602811fb3e2cc32268c70d509/regex-2026.1.15-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b0d190e6f013ea938623a58706d1469a62103fb2a241ce2873a9906e0386582c", size = 898777, upload-time = "2026-01-14T23:13:56.908Z" }, + { url = "https://files.pythonhosted.org/packages/79/a9/1898a077e2965c35fc22796488141a22676eed2d73701e37c73ad7c0b459/regex-2026.1.15-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5ff818702440a5878a81886f127b80127f5d50563753a28211482867f8318106", size = 791750, upload-time = "2026-01-14T23:13:58.527Z" }, + { url = "https://files.pythonhosted.org/packages/4c/84/e31f9d149a178889b3817212827f5e0e8c827a049ff31b4b381e76b26e2d/regex-2026.1.15-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f052d1be37ef35a54e394de66136e30fa1191fab64f71fc06ac7bc98c9a84618", size = 782674, upload-time = "2026-01-14T23:13:59.874Z" }, + { url = "https://files.pythonhosted.org/packages/d2/ff/adf60063db24532add6a1676943754a5654dcac8237af024ede38244fd12/regex-2026.1.15-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6bfc31a37fd1592f0c4fc4bfc674b5c42e52efe45b4b7a6a14f334cca4bcebe4", size = 767906, upload-time = "2026-01-14T23:14:01.298Z" }, + { url = "https://files.pythonhosted.org/packages/af/3e/e6a216cee1e2780fec11afe7fc47b6f3925d7264e8149c607ac389fd9b1a/regex-2026.1.15-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3d6ce5ae80066b319ae3bc62fd55a557c9491baa5efd0d355f0de08c4ba54e79", size = 774798, upload-time = "2026-01-14T23:14:02.715Z" }, + { url = "https://files.pythonhosted.org/packages/0f/98/23a4a8378a9208514ed3efc7e7850c27fa01e00ed8557c958df0335edc4a/regex-2026.1.15-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:1704d204bd42b6bb80167df0e4554f35c255b579ba99616def38f69e14a5ccb9", size = 845861, upload-time = "2026-01-14T23:14:04.824Z" }, + { url = "https://files.pythonhosted.org/packages/f8/57/d7605a9d53bd07421a8785d349cd29677fe660e13674fa4c6cbd624ae354/regex-2026.1.15-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:e3174a5ed4171570dc8318afada56373aa9289eb6dc0d96cceb48e7358b0e220", size = 755648, upload-time = "2026-01-14T23:14:06.371Z" }, + { url = "https://files.pythonhosted.org/packages/6f/76/6f2e24aa192da1e299cc1101674a60579d3912391867ce0b946ba83e2194/regex-2026.1.15-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:87adf5bd6d72e3e17c9cb59ac4096b1faaf84b7eb3037a5ffa61c4b4370f0f13", size = 836250, upload-time = "2026-01-14T23:14:08.343Z" }, + { url = "https://files.pythonhosted.org/packages/11/3a/1f2a1d29453299a7858eab7759045fc3d9d1b429b088dec2dc85b6fa16a2/regex-2026.1.15-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e85dc94595f4d766bd7d872a9de5ede1ca8d3063f3bdf1e2c725f5eb411159e3", size = 779919, upload-time = "2026-01-14T23:14:09.954Z" }, + { url = "https://files.pythonhosted.org/packages/c0/67/eab9bc955c9dcc58e9b222c801e39cff7ca0b04261792a2149166ce7e792/regex-2026.1.15-cp310-cp310-win32.whl", hash = "sha256:21ca32c28c30d5d65fc9886ff576fc9b59bbca08933e844fa2363e530f4c8218", size = 265888, upload-time = "2026-01-14T23:14:11.35Z" }, + { url = "https://files.pythonhosted.org/packages/1d/62/31d16ae24e1f8803bddb0885508acecaec997fcdcde9c243787103119ae4/regex-2026.1.15-cp310-cp310-win_amd64.whl", hash = "sha256:3038a62fc7d6e5547b8915a3d927a0fbeef84cdbe0b1deb8c99bbd4a8961b52a", size = 277830, upload-time = "2026-01-14T23:14:12.908Z" }, + { url = "https://files.pythonhosted.org/packages/e5/36/5d9972bccd6417ecd5a8be319cebfd80b296875e7f116c37fb2a2deecebf/regex-2026.1.15-cp310-cp310-win_arm64.whl", hash = "sha256:505831646c945e3e63552cc1b1b9b514f0e93232972a2d5bedbcc32f15bc82e3", size = 270376, upload-time = "2026-01-14T23:14:14.782Z" }, + { url = "https://files.pythonhosted.org/packages/d0/c9/0c80c96eab96948363d270143138d671d5731c3a692b417629bf3492a9d6/regex-2026.1.15-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1ae6020fb311f68d753b7efa9d4b9a5d47a5d6466ea0d5e3b5a471a960ea6e4a", size = 488168, upload-time = "2026-01-14T23:14:16.129Z" }, + { url = "https://files.pythonhosted.org/packages/17/f0/271c92f5389a552494c429e5cc38d76d1322eb142fb5db3c8ccc47751468/regex-2026.1.15-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:eddf73f41225942c1f994914742afa53dc0d01a6e20fe14b878a1b1edc74151f", size = 290636, upload-time = "2026-01-14T23:14:17.715Z" }, + { url = "https://files.pythonhosted.org/packages/a0/f9/5f1fd077d106ca5655a0f9ff8f25a1ab55b92128b5713a91ed7134ff688e/regex-2026.1.15-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e8cd52557603f5c66a548f69421310886b28b7066853089e1a71ee710e1cdc1", size = 288496, upload-time = "2026-01-14T23:14:19.326Z" }, + { url = "https://files.pythonhosted.org/packages/b5/e1/8f43b03a4968c748858ec77f746c286d81f896c2e437ccf050ebc5d3128c/regex-2026.1.15-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5170907244b14303edc5978f522f16c974f32d3aa92109fabc2af52411c9433b", size = 793503, upload-time = "2026-01-14T23:14:20.922Z" }, + { url = "https://files.pythonhosted.org/packages/8d/4e/a39a5e8edc5377a46a7c875c2f9a626ed3338cb3bb06931be461c3e1a34a/regex-2026.1.15-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2748c1ec0663580b4510bd89941a31560b4b439a0b428b49472a3d9944d11cd8", size = 860535, upload-time = "2026-01-14T23:14:22.405Z" }, + { url = "https://files.pythonhosted.org/packages/dc/1c/9dce667a32a9477f7a2869c1c767dc00727284a9fa3ff5c09a5c6c03575e/regex-2026.1.15-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2f2775843ca49360508d080eaa87f94fa248e2c946bbcd963bb3aae14f333413", size = 907225, upload-time = "2026-01-14T23:14:23.897Z" }, + { url = "https://files.pythonhosted.org/packages/a4/3c/87ca0a02736d16b6262921425e84b48984e77d8e4e572c9072ce96e66c30/regex-2026.1.15-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d9ea2604370efc9a174c1b5dcc81784fb040044232150f7f33756049edfc9026", size = 800526, upload-time = "2026-01-14T23:14:26.039Z" }, + { url = "https://files.pythonhosted.org/packages/4b/ff/647d5715aeea7c87bdcbd2f578f47b415f55c24e361e639fe8c0cc88878f/regex-2026.1.15-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0dcd31594264029b57bf16f37fd7248a70b3b764ed9e0839a8f271b2d22c0785", size = 773446, upload-time = "2026-01-14T23:14:28.109Z" }, + { url = "https://files.pythonhosted.org/packages/af/89/bf22cac25cb4ba0fe6bff52ebedbb65b77a179052a9d6037136ae93f42f4/regex-2026.1.15-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c08c1f3e34338256732bd6938747daa3c0d5b251e04b6e43b5813e94d503076e", size = 783051, upload-time = "2026-01-14T23:14:29.929Z" }, + { url = "https://files.pythonhosted.org/packages/1e/f4/6ed03e71dca6348a5188363a34f5e26ffd5db1404780288ff0d79513bce4/regex-2026.1.15-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e43a55f378df1e7a4fa3547c88d9a5a9b7113f653a66821bcea4718fe6c58763", size = 854485, upload-time = "2026-01-14T23:14:31.366Z" }, + { url = "https://files.pythonhosted.org/packages/d9/9a/8e8560bd78caded8eb137e3e47612430a05b9a772caf60876435192d670a/regex-2026.1.15-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:f82110ab962a541737bd0ce87978d4c658f06e7591ba899192e2712a517badbb", size = 762195, upload-time = "2026-01-14T23:14:32.802Z" }, + { url = "https://files.pythonhosted.org/packages/38/6b/61fc710f9aa8dfcd764fe27d37edfaa023b1a23305a0d84fccd5adb346ea/regex-2026.1.15-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:27618391db7bdaf87ac6c92b31e8f0dfb83a9de0075855152b720140bda177a2", size = 845986, upload-time = "2026-01-14T23:14:34.898Z" }, + { url = "https://files.pythonhosted.org/packages/fd/2e/fbee4cb93f9d686901a7ca8d94285b80405e8c34fe4107f63ffcbfb56379/regex-2026.1.15-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bfb0d6be01fbae8d6655c8ca21b3b72458606c4aec9bbc932db758d47aba6db1", size = 788992, upload-time = "2026-01-14T23:14:37.116Z" }, + { url = "https://files.pythonhosted.org/packages/ed/14/3076348f3f586de64b1ab75a3fbabdaab7684af7f308ad43be7ef1849e55/regex-2026.1.15-cp311-cp311-win32.whl", hash = "sha256:b10e42a6de0e32559a92f2f8dc908478cc0fa02838d7dbe764c44dca3fa13569", size = 265893, upload-time = "2026-01-14T23:14:38.426Z" }, + { url = "https://files.pythonhosted.org/packages/0f/19/772cf8b5fc803f5c89ba85d8b1870a1ca580dc482aa030383a9289c82e44/regex-2026.1.15-cp311-cp311-win_amd64.whl", hash = "sha256:e9bf3f0bbdb56633c07d7116ae60a576f846efdd86a8848f8d62b749e1209ca7", size = 277840, upload-time = "2026-01-14T23:14:39.785Z" }, + { url = "https://files.pythonhosted.org/packages/78/84/d05f61142709474da3c0853222d91086d3e1372bcdab516c6fd8d80f3297/regex-2026.1.15-cp311-cp311-win_arm64.whl", hash = "sha256:41aef6f953283291c4e4e6850607bd71502be67779586a61472beacb315c97ec", size = 270374, upload-time = "2026-01-14T23:14:41.592Z" }, + { url = "https://files.pythonhosted.org/packages/92/81/10d8cf43c807d0326efe874c1b79f22bfb0fb226027b0b19ebc26d301408/regex-2026.1.15-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:4c8fcc5793dde01641a35905d6731ee1548f02b956815f8f1cab89e515a5bdf1", size = 489398, upload-time = "2026-01-14T23:14:43.741Z" }, + { url = "https://files.pythonhosted.org/packages/90/b0/7c2a74e74ef2a7c32de724658a69a862880e3e4155cba992ba04d1c70400/regex-2026.1.15-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:bfd876041a956e6a90ad7cdb3f6a630c07d491280bfeed4544053cd434901681", size = 291339, upload-time = "2026-01-14T23:14:45.183Z" }, + { url = "https://files.pythonhosted.org/packages/19/4d/16d0773d0c818417f4cc20aa0da90064b966d22cd62a8c46765b5bd2d643/regex-2026.1.15-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9250d087bc92b7d4899ccd5539a1b2334e44eee85d848c4c1aef8e221d3f8c8f", size = 289003, upload-time = "2026-01-14T23:14:47.25Z" }, + { url = "https://files.pythonhosted.org/packages/c6/e4/1fc4599450c9f0863d9406e944592d968b8d6dfd0d552a7d569e43bceada/regex-2026.1.15-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c8a154cf6537ebbc110e24dabe53095e714245c272da9c1be05734bdad4a61aa", size = 798656, upload-time = "2026-01-14T23:14:48.77Z" }, + { url = "https://files.pythonhosted.org/packages/b2/e6/59650d73a73fa8a60b3a590545bfcf1172b4384a7df2e7fe7b9aab4e2da9/regex-2026.1.15-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8050ba2e3ea1d8731a549e83c18d2f0999fbc99a5f6bd06b4c91449f55291804", size = 864252, upload-time = "2026-01-14T23:14:50.528Z" }, + { url = "https://files.pythonhosted.org/packages/6e/ab/1d0f4d50a1638849a97d731364c9a80fa304fec46325e48330c170ee8e80/regex-2026.1.15-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0bf065240704cb8951cc04972cf107063917022511273e0969bdb34fc173456c", size = 912268, upload-time = "2026-01-14T23:14:52.952Z" }, + { url = "https://files.pythonhosted.org/packages/dd/df/0d722c030c82faa1d331d1921ee268a4e8fb55ca8b9042c9341c352f17fa/regex-2026.1.15-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c32bef3e7aeee75746748643667668ef941d28b003bfc89994ecf09a10f7a1b5", size = 803589, upload-time = "2026-01-14T23:14:55.182Z" }, + { url = "https://files.pythonhosted.org/packages/66/23/33289beba7ccb8b805c6610a8913d0131f834928afc555b241caabd422a9/regex-2026.1.15-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:d5eaa4a4c5b1906bd0d2508d68927f15b81821f85092e06f1a34a4254b0e1af3", size = 775700, upload-time = "2026-01-14T23:14:56.707Z" }, + { url = "https://files.pythonhosted.org/packages/e7/65/bf3a42fa6897a0d3afa81acb25c42f4b71c274f698ceabd75523259f6688/regex-2026.1.15-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:86c1077a3cc60d453d4084d5b9649065f3bf1184e22992bd322e1f081d3117fb", size = 787928, upload-time = "2026-01-14T23:14:58.312Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f5/13bf65864fc314f68cdd6d8ca94adcab064d4d39dbd0b10fef29a9da48fc/regex-2026.1.15-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:2b091aefc05c78d286657cd4db95f2e6313375ff65dcf085e42e4c04d9c8d410", size = 858607, upload-time = "2026-01-14T23:15:00.657Z" }, + { url = "https://files.pythonhosted.org/packages/a3/31/040e589834d7a439ee43fb0e1e902bc81bd58a5ba81acffe586bb3321d35/regex-2026.1.15-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:57e7d17f59f9ebfa9667e6e5a1c0127b96b87cb9cede8335482451ed00788ba4", size = 763729, upload-time = "2026-01-14T23:15:02.248Z" }, + { url = "https://files.pythonhosted.org/packages/9b/84/6921e8129687a427edf25a34a5594b588b6d88f491320b9de5b6339a4fcb/regex-2026.1.15-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:c6c4dcdfff2c08509faa15d36ba7e5ef5fcfab25f1e8f85a0c8f45bc3a30725d", size = 850697, upload-time = "2026-01-14T23:15:03.878Z" }, + { url = "https://files.pythonhosted.org/packages/8a/87/3d06143d4b128f4229158f2de5de6c8f2485170c7221e61bf381313314b2/regex-2026.1.15-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:cf8ff04c642716a7f2048713ddc6278c5fd41faa3b9cab12607c7abecd012c22", size = 789849, upload-time = "2026-01-14T23:15:06.102Z" }, + { url = "https://files.pythonhosted.org/packages/77/69/c50a63842b6bd48850ebc7ab22d46e7a2a32d824ad6c605b218441814639/regex-2026.1.15-cp312-cp312-win32.whl", hash = "sha256:82345326b1d8d56afbe41d881fdf62f1926d7264b2fc1537f99ae5da9aad7913", size = 266279, upload-time = "2026-01-14T23:15:07.678Z" }, + { url = "https://files.pythonhosted.org/packages/f2/36/39d0b29d087e2b11fd8191e15e81cce1b635fcc845297c67f11d0d19274d/regex-2026.1.15-cp312-cp312-win_amd64.whl", hash = "sha256:4def140aa6156bc64ee9912383d4038f3fdd18fee03a6f222abd4de6357ce42a", size = 277166, upload-time = "2026-01-14T23:15:09.257Z" }, + { url = "https://files.pythonhosted.org/packages/28/32/5b8e476a12262748851fa8ab1b0be540360692325975b094e594dfebbb52/regex-2026.1.15-cp312-cp312-win_arm64.whl", hash = "sha256:c6c565d9a6e1a8d783c1948937ffc377dd5771e83bd56de8317c450a954d2056", size = 270415, upload-time = "2026-01-14T23:15:10.743Z" }, + { url = "https://files.pythonhosted.org/packages/f8/2e/6870bb16e982669b674cce3ee9ff2d1d46ab80528ee6bcc20fb2292efb60/regex-2026.1.15-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e69d0deeb977ffe7ed3d2e4439360089f9c3f217ada608f0f88ebd67afb6385e", size = 489164, upload-time = "2026-01-14T23:15:13.962Z" }, + { url = "https://files.pythonhosted.org/packages/dc/67/9774542e203849b0286badf67199970a44ebdb0cc5fb739f06e47ada72f8/regex-2026.1.15-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:3601ffb5375de85a16f407854d11cca8fe3f5febbe3ac78fb2866bb220c74d10", size = 291218, upload-time = "2026-01-14T23:15:15.647Z" }, + { url = "https://files.pythonhosted.org/packages/b2/87/b0cda79f22b8dee05f774922a214da109f9a4c0eca5da2c9d72d77ea062c/regex-2026.1.15-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:4c5ef43b5c2d4114eb8ea424bb8c9cec01d5d17f242af88b2448f5ee81caadbc", size = 288895, upload-time = "2026-01-14T23:15:17.788Z" }, + { url = "https://files.pythonhosted.org/packages/3b/6a/0041f0a2170d32be01ab981d6346c83a8934277d82c780d60b127331f264/regex-2026.1.15-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:968c14d4f03e10b2fd960f1d5168c1f0ac969381d3c1fcc973bc45fb06346599", size = 798680, upload-time = "2026-01-14T23:15:19.342Z" }, + { url = "https://files.pythonhosted.org/packages/58/de/30e1cfcdbe3e891324aa7568b7c968771f82190df5524fabc1138cb2d45a/regex-2026.1.15-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:56a5595d0f892f214609c9f76b41b7428bed439d98dc961efafdd1354d42baae", size = 864210, upload-time = "2026-01-14T23:15:22.005Z" }, + { url = "https://files.pythonhosted.org/packages/64/44/4db2f5c5ca0ccd40ff052ae7b1e9731352fcdad946c2b812285a7505ca75/regex-2026.1.15-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0bf650f26087363434c4e560011f8e4e738f6f3e029b85d4904c50135b86cfa5", size = 912358, upload-time = "2026-01-14T23:15:24.569Z" }, + { url = "https://files.pythonhosted.org/packages/79/b6/e6a5665d43a7c42467138c8a2549be432bad22cbd206f5ec87162de74bd7/regex-2026.1.15-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:18388a62989c72ac24de75f1449d0fb0b04dfccd0a1a7c1c43af5eb503d890f6", size = 803583, upload-time = "2026-01-14T23:15:26.526Z" }, + { url = "https://files.pythonhosted.org/packages/e7/53/7cd478222169d85d74d7437e74750005e993f52f335f7c04ff7adfda3310/regex-2026.1.15-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6d220a2517f5893f55daac983bfa9fe998a7dbcaee4f5d27a88500f8b7873788", size = 775782, upload-time = "2026-01-14T23:15:29.352Z" }, + { url = "https://files.pythonhosted.org/packages/ca/b5/75f9a9ee4b03a7c009fe60500fe550b45df94f0955ca29af16333ef557c5/regex-2026.1.15-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c9c08c2fbc6120e70abff5d7f28ffb4d969e14294fb2143b4b5c7d20e46d1714", size = 787978, upload-time = "2026-01-14T23:15:31.295Z" }, + { url = "https://files.pythonhosted.org/packages/72/b3/79821c826245bbe9ccbb54f6eadb7879c722fd3e0248c17bfc90bf54e123/regex-2026.1.15-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7ef7d5d4bd49ec7364315167a4134a015f61e8266c6d446fc116a9ac4456e10d", size = 858550, upload-time = "2026-01-14T23:15:33.558Z" }, + { url = "https://files.pythonhosted.org/packages/4a/85/2ab5f77a1c465745bfbfcb3ad63178a58337ae8d5274315e2cc623a822fa/regex-2026.1.15-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:6e42844ad64194fa08d5ccb75fe6a459b9b08e6d7296bd704460168d58a388f3", size = 763747, upload-time = "2026-01-14T23:15:35.206Z" }, + { url = "https://files.pythonhosted.org/packages/6d/84/c27df502d4bfe2873a3e3a7cf1bdb2b9cc10284d1a44797cf38bed790470/regex-2026.1.15-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:cfecdaa4b19f9ca534746eb3b55a5195d5c95b88cac32a205e981ec0a22b7d31", size = 850615, upload-time = "2026-01-14T23:15:37.523Z" }, + { url = "https://files.pythonhosted.org/packages/7d/b7/658a9782fb253680aa8ecb5ccbb51f69e088ed48142c46d9f0c99b46c575/regex-2026.1.15-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:08df9722d9b87834a3d701f3fca570b2be115654dbfd30179f30ab2f39d606d3", size = 789951, upload-time = "2026-01-14T23:15:39.582Z" }, + { url = "https://files.pythonhosted.org/packages/fc/2a/5928af114441e059f15b2f63e188bd00c6529b3051c974ade7444b85fcda/regex-2026.1.15-cp313-cp313-win32.whl", hash = "sha256:d426616dae0967ca225ab12c22274eb816558f2f99ccb4a1d52ca92e8baf180f", size = 266275, upload-time = "2026-01-14T23:15:42.108Z" }, + { url = "https://files.pythonhosted.org/packages/4f/16/5bfbb89e435897bff28cf0352a992ca719d9e55ebf8b629203c96b6ce4f7/regex-2026.1.15-cp313-cp313-win_amd64.whl", hash = "sha256:febd38857b09867d3ed3f4f1af7d241c5c50362e25ef43034995b77a50df494e", size = 277145, upload-time = "2026-01-14T23:15:44.244Z" }, + { url = "https://files.pythonhosted.org/packages/56/c1/a09ff7392ef4233296e821aec5f78c51be5e91ffde0d163059e50fd75835/regex-2026.1.15-cp313-cp313-win_arm64.whl", hash = "sha256:8e32f7896f83774f91499d239e24cebfadbc07639c1494bb7213983842348337", size = 270411, upload-time = "2026-01-14T23:15:45.858Z" }, + { url = "https://files.pythonhosted.org/packages/3c/38/0cfd5a78e5c6db00e6782fdae70458f89850ce95baa5e8694ab91d89744f/regex-2026.1.15-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:ec94c04149b6a7b8120f9f44565722c7ae31b7a6d2275569d2eefa76b83da3be", size = 492068, upload-time = "2026-01-14T23:15:47.616Z" }, + { url = "https://files.pythonhosted.org/packages/50/72/6c86acff16cb7c959c4355826bbf06aad670682d07c8f3998d9ef4fee7cd/regex-2026.1.15-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:40c86d8046915bb9aeb15d3f3f15b6fd500b8ea4485b30e1bbc799dab3fe29f8", size = 292756, upload-time = "2026-01-14T23:15:49.307Z" }, + { url = "https://files.pythonhosted.org/packages/4e/58/df7fb69eadfe76526ddfce28abdc0af09ffe65f20c2c90932e89d705153f/regex-2026.1.15-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:726ea4e727aba21643205edad8f2187ec682d3305d790f73b7a51c7587b64bdd", size = 291114, upload-time = "2026-01-14T23:15:51.484Z" }, + { url = "https://files.pythonhosted.org/packages/ed/6c/a4011cd1cf96b90d2cdc7e156f91efbd26531e822a7fbb82a43c1016678e/regex-2026.1.15-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1cb740d044aff31898804e7bf1181cc72c03d11dfd19932b9911ffc19a79070a", size = 807524, upload-time = "2026-01-14T23:15:53.102Z" }, + { url = "https://files.pythonhosted.org/packages/1d/25/a53ffb73183f69c3e9f4355c4922b76d2840aee160af6af5fac229b6201d/regex-2026.1.15-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:05d75a668e9ea16f832390d22131fe1e8acc8389a694c8febc3e340b0f810b93", size = 873455, upload-time = "2026-01-14T23:15:54.956Z" }, + { url = "https://files.pythonhosted.org/packages/66/0b/8b47fc2e8f97d9b4a851736f3890a5f786443aa8901061c55f24c955f45b/regex-2026.1.15-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d991483606f3dbec93287b9f35596f41aa2e92b7c2ebbb935b63f409e243c9af", size = 915007, upload-time = "2026-01-14T23:15:57.041Z" }, + { url = "https://files.pythonhosted.org/packages/c2/fa/97de0d681e6d26fabe71968dbee06dd52819e9a22fdce5dac7256c31ed84/regex-2026.1.15-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:194312a14819d3e44628a44ed6fea6898fdbecb0550089d84c403475138d0a09", size = 812794, upload-time = "2026-01-14T23:15:58.916Z" }, + { url = "https://files.pythonhosted.org/packages/22/38/e752f94e860d429654aa2b1c51880bff8dfe8f084268258adf9151cf1f53/regex-2026.1.15-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fe2fda4110a3d0bc163c2e0664be44657431440722c5c5315c65155cab92f9e5", size = 781159, upload-time = "2026-01-14T23:16:00.817Z" }, + { url = "https://files.pythonhosted.org/packages/e9/a7/d739ffaef33c378fc888302a018d7f81080393d96c476b058b8c64fd2b0d/regex-2026.1.15-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:124dc36c85d34ef2d9164da41a53c1c8c122cfb1f6e1ec377a1f27ee81deb794", size = 795558, upload-time = "2026-01-14T23:16:03.267Z" }, + { url = "https://files.pythonhosted.org/packages/3e/c4/542876f9a0ac576100fc73e9c75b779f5c31e3527576cfc9cb3009dcc58a/regex-2026.1.15-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:a1774cd1981cd212506a23a14dba7fdeaee259f5deba2df6229966d9911e767a", size = 868427, upload-time = "2026-01-14T23:16:05.646Z" }, + { url = "https://files.pythonhosted.org/packages/fc/0f/d5655bea5b22069e32ae85a947aa564912f23758e112cdb74212848a1a1b/regex-2026.1.15-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:b5f7d8d2867152cdb625e72a530d2ccb48a3d199159144cbdd63870882fb6f80", size = 769939, upload-time = "2026-01-14T23:16:07.542Z" }, + { url = "https://files.pythonhosted.org/packages/20/06/7e18a4fa9d326daeda46d471a44ef94201c46eaa26dbbb780b5d92cbfdda/regex-2026.1.15-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:492534a0ab925d1db998defc3c302dae3616a2fc3fe2e08db1472348f096ddf2", size = 854753, upload-time = "2026-01-14T23:16:10.395Z" }, + { url = "https://files.pythonhosted.org/packages/3b/67/dc8946ef3965e166f558ef3b47f492bc364e96a265eb4a2bb3ca765c8e46/regex-2026.1.15-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c661fc820cfb33e166bf2450d3dadbda47c8d8981898adb9b6fe24e5e582ba60", size = 799559, upload-time = "2026-01-14T23:16:12.347Z" }, + { url = "https://files.pythonhosted.org/packages/a5/61/1bba81ff6d50c86c65d9fd84ce9699dd106438ee4cdb105bf60374ee8412/regex-2026.1.15-cp313-cp313t-win32.whl", hash = "sha256:99ad739c3686085e614bf77a508e26954ff1b8f14da0e3765ff7abbf7799f952", size = 268879, upload-time = "2026-01-14T23:16:14.049Z" }, + { url = "https://files.pythonhosted.org/packages/e9/5e/cef7d4c5fb0ea3ac5c775fd37db5747f7378b29526cc83f572198924ff47/regex-2026.1.15-cp313-cp313t-win_amd64.whl", hash = "sha256:32655d17905e7ff8ba5c764c43cb124e34a9245e45b83c22e81041e1071aee10", size = 280317, upload-time = "2026-01-14T23:16:15.718Z" }, + { url = "https://files.pythonhosted.org/packages/b4/52/4317f7a5988544e34ab57b4bde0f04944c4786128c933fb09825924d3e82/regex-2026.1.15-cp313-cp313t-win_arm64.whl", hash = "sha256:b2a13dd6a95e95a489ca242319d18fc02e07ceb28fa9ad146385194d95b3c829", size = 271551, upload-time = "2026-01-14T23:16:17.533Z" }, + { url = "https://files.pythonhosted.org/packages/52/0a/47fa888ec7cbbc7d62c5f2a6a888878e76169170ead271a35239edd8f0e8/regex-2026.1.15-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:d920392a6b1f353f4aa54328c867fec3320fa50657e25f64abf17af054fc97ac", size = 489170, upload-time = "2026-01-14T23:16:19.835Z" }, + { url = "https://files.pythonhosted.org/packages/ac/c4/d000e9b7296c15737c9301708e9e7fbdea009f8e93541b6b43bdb8219646/regex-2026.1.15-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:b5a28980a926fa810dbbed059547b02783952e2efd9c636412345232ddb87ff6", size = 291146, upload-time = "2026-01-14T23:16:21.541Z" }, + { url = "https://files.pythonhosted.org/packages/f9/b6/921cc61982e538682bdf3bdf5b2c6ab6b34368da1f8e98a6c1ddc503c9cf/regex-2026.1.15-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:621f73a07595d83f28952d7bd1e91e9d1ed7625fb7af0064d3516674ec93a2a2", size = 288986, upload-time = "2026-01-14T23:16:23.381Z" }, + { url = "https://files.pythonhosted.org/packages/ca/33/eb7383dde0bbc93f4fb9d03453aab97e18ad4024ac7e26cef8d1f0a2cff0/regex-2026.1.15-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3d7d92495f47567a9b1669c51fc8d6d809821849063d168121ef801bbc213846", size = 799098, upload-time = "2026-01-14T23:16:25.088Z" }, + { url = "https://files.pythonhosted.org/packages/27/56/b664dccae898fc8d8b4c23accd853f723bde0f026c747b6f6262b688029c/regex-2026.1.15-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8dd16fba2758db7a3780a051f245539c4451ca20910f5a5e6ea1c08d06d4a76b", size = 864980, upload-time = "2026-01-14T23:16:27.297Z" }, + { url = "https://files.pythonhosted.org/packages/16/40/0999e064a170eddd237bae9ccfcd8f28b3aa98a38bf727a086425542a4fc/regex-2026.1.15-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1e1808471fbe44c1a63e5f577a1d5f02fe5d66031dcbdf12f093ffc1305a858e", size = 911607, upload-time = "2026-01-14T23:16:29.235Z" }, + { url = "https://files.pythonhosted.org/packages/07/78/c77f644b68ab054e5a674fb4da40ff7bffb2c88df58afa82dbf86573092d/regex-2026.1.15-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0751a26ad39d4f2ade8fe16c59b2bf5cb19eb3d2cd543e709e583d559bd9efde", size = 803358, upload-time = "2026-01-14T23:16:31.369Z" }, + { url = "https://files.pythonhosted.org/packages/27/31/d4292ea8566eaa551fafc07797961c5963cf5235c797cc2ae19b85dfd04d/regex-2026.1.15-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:0f0c7684c7f9ca241344ff95a1de964f257a5251968484270e91c25a755532c5", size = 775833, upload-time = "2026-01-14T23:16:33.141Z" }, + { url = "https://files.pythonhosted.org/packages/ce/b2/cff3bf2fea4133aa6fb0d1e370b37544d18c8350a2fa118c7e11d1db0e14/regex-2026.1.15-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:74f45d170a21df41508cb67165456538425185baaf686281fa210d7e729abc34", size = 788045, upload-time = "2026-01-14T23:16:35.005Z" }, + { url = "https://files.pythonhosted.org/packages/8d/99/2cb9b69045372ec877b6f5124bda4eb4253bc58b8fe5848c973f752bc52c/regex-2026.1.15-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:f1862739a1ffb50615c0fde6bae6569b5efbe08d98e59ce009f68a336f64da75", size = 859374, upload-time = "2026-01-14T23:16:36.919Z" }, + { url = "https://files.pythonhosted.org/packages/09/16/710b0a5abe8e077b1729a562d2f297224ad079f3a66dce46844c193416c8/regex-2026.1.15-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:453078802f1b9e2b7303fb79222c054cb18e76f7bdc220f7530fdc85d319f99e", size = 763940, upload-time = "2026-01-14T23:16:38.685Z" }, + { url = "https://files.pythonhosted.org/packages/dd/d1/7585c8e744e40eb3d32f119191969b91de04c073fca98ec14299041f6e7e/regex-2026.1.15-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:a30a68e89e5a218b8b23a52292924c1f4b245cb0c68d1cce9aec9bbda6e2c160", size = 850112, upload-time = "2026-01-14T23:16:40.646Z" }, + { url = "https://files.pythonhosted.org/packages/af/d6/43e1dd85df86c49a347aa57c1f69d12c652c7b60e37ec162e3096194a278/regex-2026.1.15-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:9479cae874c81bf610d72b85bb681a94c95722c127b55445285fb0e2c82db8e1", size = 789586, upload-time = "2026-01-14T23:16:42.799Z" }, + { url = "https://files.pythonhosted.org/packages/93/38/77142422f631e013f316aaae83234c629555729a9fbc952b8a63ac91462a/regex-2026.1.15-cp314-cp314-win32.whl", hash = "sha256:d639a750223132afbfb8f429c60d9d318aeba03281a5f1ab49f877456448dcf1", size = 271691, upload-time = "2026-01-14T23:16:44.671Z" }, + { url = "https://files.pythonhosted.org/packages/4a/a9/ab16b4649524ca9e05213c1cdbb7faa85cc2aa90a0230d2f796cbaf22736/regex-2026.1.15-cp314-cp314-win_amd64.whl", hash = "sha256:4161d87f85fa831e31469bfd82c186923070fc970b9de75339b68f0c75b51903", size = 280422, upload-time = "2026-01-14T23:16:46.607Z" }, + { url = "https://files.pythonhosted.org/packages/be/2a/20fd057bf3521cb4791f69f869635f73e0aaf2b9ad2d260f728144f9047c/regex-2026.1.15-cp314-cp314-win_arm64.whl", hash = "sha256:91c5036ebb62663a6b3999bdd2e559fd8456d17e2b485bf509784cd31a8b1705", size = 273467, upload-time = "2026-01-14T23:16:48.967Z" }, + { url = "https://files.pythonhosted.org/packages/ad/77/0b1e81857060b92b9cad239104c46507dd481b3ff1fa79f8e7f865aae38a/regex-2026.1.15-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:ee6854c9000a10938c79238de2379bea30c82e4925a371711af45387df35cab8", size = 492073, upload-time = "2026-01-14T23:16:51.154Z" }, + { url = "https://files.pythonhosted.org/packages/70/f3/f8302b0c208b22c1e4f423147e1913fd475ddd6230565b299925353de644/regex-2026.1.15-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2c2b80399a422348ce5de4fe40c418d6299a0fa2803dd61dc0b1a2f28e280fcf", size = 292757, upload-time = "2026-01-14T23:16:53.08Z" }, + { url = "https://files.pythonhosted.org/packages/bf/f0/ef55de2460f3b4a6da9d9e7daacd0cb79d4ef75c64a2af316e68447f0df0/regex-2026.1.15-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:dca3582bca82596609959ac39e12b7dad98385b4fefccb1151b937383cec547d", size = 291122, upload-time = "2026-01-14T23:16:55.383Z" }, + { url = "https://files.pythonhosted.org/packages/cf/55/bb8ccbacabbc3a11d863ee62a9f18b160a83084ea95cdfc5d207bfc3dd75/regex-2026.1.15-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ef71d476caa6692eea743ae5ea23cde3260677f70122c4d258ca952e5c2d4e84", size = 807761, upload-time = "2026-01-14T23:16:57.251Z" }, + { url = "https://files.pythonhosted.org/packages/8f/84/f75d937f17f81e55679a0509e86176e29caa7298c38bd1db7ce9c0bf6075/regex-2026.1.15-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c243da3436354f4af6c3058a3f81a97d47ea52c9bd874b52fd30274853a1d5df", size = 873538, upload-time = "2026-01-14T23:16:59.349Z" }, + { url = "https://files.pythonhosted.org/packages/b8/d9/0da86327df70349aa8d86390da91171bd3ca4f0e7c1d1d453a9c10344da3/regex-2026.1.15-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8355ad842a7c7e9e5e55653eade3b7d1885ba86f124dd8ab1f722f9be6627434", size = 915066, upload-time = "2026-01-14T23:17:01.607Z" }, + { url = "https://files.pythonhosted.org/packages/2a/5e/f660fb23fc77baa2a61aa1f1fe3a4eea2bbb8a286ddec148030672e18834/regex-2026.1.15-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f192a831d9575271a22d804ff1a5355355723f94f31d9eef25f0d45a152fdc1a", size = 812938, upload-time = "2026-01-14T23:17:04.366Z" }, + { url = "https://files.pythonhosted.org/packages/69/33/a47a29bfecebbbfd1e5cd3f26b28020a97e4820f1c5148e66e3b7d4b4992/regex-2026.1.15-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:166551807ec20d47ceaeec380081f843e88c8949780cd42c40f18d16168bed10", size = 781314, upload-time = "2026-01-14T23:17:06.378Z" }, + { url = "https://files.pythonhosted.org/packages/65/ec/7ec2bbfd4c3f4e494a24dec4c6943a668e2030426b1b8b949a6462d2c17b/regex-2026.1.15-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:f9ca1cbdc0fbfe5e6e6f8221ef2309988db5bcede52443aeaee9a4ad555e0dac", size = 795652, upload-time = "2026-01-14T23:17:08.521Z" }, + { url = "https://files.pythonhosted.org/packages/46/79/a5d8651ae131fe27d7c521ad300aa7f1c7be1dbeee4d446498af5411b8a9/regex-2026.1.15-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b30bcbd1e1221783c721483953d9e4f3ab9c5d165aa709693d3f3946747b1aea", size = 868550, upload-time = "2026-01-14T23:17:10.573Z" }, + { url = "https://files.pythonhosted.org/packages/06/b7/25635d2809664b79f183070786a5552dd4e627e5aedb0065f4e3cf8ee37d/regex-2026.1.15-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:2a8d7b50c34578d0d3bf7ad58cde9652b7d683691876f83aedc002862a35dc5e", size = 769981, upload-time = "2026-01-14T23:17:12.871Z" }, + { url = "https://files.pythonhosted.org/packages/16/8b/fc3fcbb2393dcfa4a6c5ffad92dc498e842df4581ea9d14309fcd3c55fb9/regex-2026.1.15-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:9d787e3310c6a6425eb346be4ff2ccf6eece63017916fd77fe8328c57be83521", size = 854780, upload-time = "2026-01-14T23:17:14.837Z" }, + { url = "https://files.pythonhosted.org/packages/d0/38/dde117c76c624713c8a2842530be9c93ca8b606c0f6102d86e8cd1ce8bea/regex-2026.1.15-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:619843841e220adca114118533a574a9cd183ed8a28b85627d2844c500a2b0db", size = 799778, upload-time = "2026-01-14T23:17:17.369Z" }, + { url = "https://files.pythonhosted.org/packages/e3/0d/3a6cfa9ae99606afb612d8fb7a66b245a9d5ff0f29bb347c8a30b6ad561b/regex-2026.1.15-cp314-cp314t-win32.whl", hash = "sha256:e90b8db97f6f2c97eb045b51a6b2c5ed69cedd8392459e0642d4199b94fabd7e", size = 274667, upload-time = "2026-01-14T23:17:19.301Z" }, + { url = "https://files.pythonhosted.org/packages/5b/b2/297293bb0742fd06b8d8e2572db41a855cdf1cae0bf009b1cb74fe07e196/regex-2026.1.15-cp314-cp314t-win_amd64.whl", hash = "sha256:5ef19071f4ac9f0834793af85bd04a920b4407715624e40cb7a0631a11137cdf", size = 284386, upload-time = "2026-01-14T23:17:21.231Z" }, + { url = "https://files.pythonhosted.org/packages/95/e4/a3b9480c78cf8ee86626cb06f8d931d74d775897d44201ccb813097ae697/regex-2026.1.15-cp314-cp314t-win_arm64.whl", hash = "sha256:ca89c5e596fc05b015f27561b3793dc2fa0917ea0d7507eebb448efd35274a70", size = 274837, upload-time = "2026-01-14T23:17:23.146Z" }, + { url = "https://files.pythonhosted.org/packages/a2/e7/0e1913dc52eee9c5cf8417c9813c4c55972a3f37d27cfa2e623b79b63dbc/regex-2026.1.15-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:55b4ea996a8e4458dd7b584a2f89863b1655dd3d17b88b46cbb9becc495a0ec5", size = 488185, upload-time = "2026-01-14T23:17:25.2Z" }, + { url = "https://files.pythonhosted.org/packages/78/df/c52c1ff4221529faad0953e197982fe9508c6dbb42327e31bf98ea07472a/regex-2026.1.15-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7e1e28be779884189cdd57735e997f282b64fd7ccf6e2eef3e16e57d7a34a815", size = 290628, upload-time = "2026-01-14T23:17:27.125Z" }, + { url = "https://files.pythonhosted.org/packages/4b/d2/a2fef3717deaff647d7de2bccf899a576c7eaf042b6b271fc4474515fe97/regex-2026.1.15-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0057de9eaef45783ff69fa94ae9f0fd906d629d0bd4c3217048f46d1daa32e9b", size = 288509, upload-time = "2026-01-14T23:17:29.017Z" }, + { url = "https://files.pythonhosted.org/packages/70/89/faf5ee5c69168753c845a3d58b4683f61c899d162bfe1264fca88d5b3924/regex-2026.1.15-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cc7cd0b2be0f0269283a45c0d8b2c35e149d1319dcb4a43c9c3689fa935c1ee6", size = 781088, upload-time = "2026-01-14T23:17:30.961Z" }, + { url = "https://files.pythonhosted.org/packages/7d/2c/707e5c380ad547c93686e21144e7e24dc2064dd84ec5b751b6dbdfc9be2b/regex-2026.1.15-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8db052bbd981e1666f09e957f3790ed74080c2229007c1dd67afdbf0b469c48b", size = 850516, upload-time = "2026-01-14T23:17:32.946Z" }, + { url = "https://files.pythonhosted.org/packages/5d/3b/baa816cdcad1c0f8195f9f40ab2b2a2246c8a2989dcd90641c0c6559e3fd/regex-2026.1.15-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:343db82cb3712c31ddf720f097ef17c11dab2f67f7a3e7be976c4f82eba4e6df", size = 898124, upload-time = "2026-01-14T23:17:36.019Z" }, + { url = "https://files.pythonhosted.org/packages/e7/74/1eb46bde30899825ed9fdf645eba16b7b97c49d12d300f5177989b9a09a4/regex-2026.1.15-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:55e9d0118d97794367309635df398bdfd7c33b93e2fdfa0b239661cd74b4c14e", size = 791290, upload-time = "2026-01-14T23:17:38.097Z" }, + { url = "https://files.pythonhosted.org/packages/c4/5d/b72e176fb21e2ec248baed01151a342d1f44dd43c2b6bb6a41ad183b274e/regex-2026.1.15-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:008b185f235acd1e53787333e5690082e4f156c44c87d894f880056089e9bc7c", size = 781996, upload-time = "2026-01-14T23:17:40.109Z" }, + { url = "https://files.pythonhosted.org/packages/61/0e/d3b3710eaafd994a4a71205d114abc38cda8691692a2ce2313abe68e7eb7/regex-2026.1.15-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fd65af65e2aaf9474e468f9e571bd7b189e1df3a61caa59dcbabd0000e4ea839", size = 767578, upload-time = "2026-01-14T23:17:42.134Z" }, + { url = "https://files.pythonhosted.org/packages/09/51/c6a6311833e040f95d229a34d82ac1cec2af8a5c00d58b244f2fceecef87/regex-2026.1.15-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f42e68301ff4afee63e365a5fc302b81bb8ba31af625a671d7acb19d10168a8c", size = 774354, upload-time = "2026-01-14T23:17:44.392Z" }, + { url = "https://files.pythonhosted.org/packages/cc/97/c522d1f19fb2c549aaf680b115c110cd124c02062bc8c95f33db8583b4bb/regex-2026.1.15-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:f7792f27d3ee6e0244ea4697d92b825f9a329ab5230a78c1a68bd274e64b5077", size = 845297, upload-time = "2026-01-14T23:17:47.145Z" }, + { url = "https://files.pythonhosted.org/packages/99/a0/99468c386ab68a5e24c946c5c353c29c33a95523e275c17839f2446db15d/regex-2026.1.15-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:dbaf3c3c37ef190439981648ccbf0c02ed99ae066087dd117fcb616d80b010a4", size = 755132, upload-time = "2026-01-14T23:17:49.796Z" }, + { url = "https://files.pythonhosted.org/packages/70/33/d5748c7b6c9d3621f12570583561ba529e2d1b12e4f70b8f17979b133e65/regex-2026.1.15-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:adc97a9077c2696501443d8ad3fa1b4fc6d131fc8fd7dfefd1a723f89071cf0a", size = 835662, upload-time = "2026-01-14T23:17:52.559Z" }, + { url = "https://files.pythonhosted.org/packages/ad/15/1986972c276672505437f1ba3c9706c2d91f321cfb9b2f4d06e8bff1b999/regex-2026.1.15-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:069f56a7bf71d286a6ff932a9e6fb878f151c998ebb2519a9f6d1cee4bffdba3", size = 779513, upload-time = "2026-01-14T23:17:54.711Z" }, + { url = "https://files.pythonhosted.org/packages/bc/f9/124f6a5cb3969d8e30471ed4f46cfc17c47aef1a9863ee8b4ba1d98b1bc4/regex-2026.1.15-cp39-cp39-win32.whl", hash = "sha256:ea4e6b3566127fda5e007e90a8fd5a4169f0cf0619506ed426db647f19c8454a", size = 265923, upload-time = "2026-01-14T23:17:56.69Z" }, + { url = "https://files.pythonhosted.org/packages/7b/c2/bb8fad7d27f1d71fc9772befd544bccd22eddc62a6735f57b003b4aff005/regex-2026.1.15-cp39-cp39-win_amd64.whl", hash = "sha256:cda1ed70d2b264952e88adaa52eea653a33a1b98ac907ae2f86508eb44f65cdc", size = 277900, upload-time = "2026-01-14T23:17:58.72Z" }, + { url = "https://files.pythonhosted.org/packages/f7/fa/4e033327c1d8350bc812cac906d873984d3d4b39529252f392a47ccc356d/regex-2026.1.15-cp39-cp39-win_arm64.whl", hash = "sha256:b325d4714c3c48277bfea1accd94e193ad6ed42b4bad79ad64f3b8f8a31260a5", size = 270413, upload-time = "2026-01-14T23:18:00.764Z" }, ] [[package]] @@ -2875,10 +2891,10 @@ dev = [ { name = "coverage", version = "7.13.1", source = { registry = "https://pypi.org/simple" }, extra = ["toml"], marker = "python_full_version >= '3.10'" }, { name = "deepdiff" }, { name = "filelock", version = "3.19.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "filelock", version = "3.20.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "filelock", version = "3.20.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, - { name = "numpy", version = "2.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "numpy", version = "2.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "openai" }, { name = "pdoc", version = "15.0.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "pdoc", version = "16.0.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, @@ -2904,10 +2920,10 @@ test = [ { name = "coverage", version = "7.13.1", source = { registry = "https://pypi.org/simple" }, extra = ["toml"], marker = "python_full_version >= '3.10'" }, { name = "deepdiff" }, { name = "filelock", version = "3.19.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "filelock", version = "3.20.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "filelock", version = "3.20.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version == '3.10.*'" }, - { name = "numpy", version = "2.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "numpy", version = "2.4.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, { name = "pytest", version = "7.4.4", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, { name = "pytest", version = "9.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, { name = "pytest-cov" }, @@ -2985,51 +3001,56 @@ wheels = [ [[package]] name = "tomli" -version = "2.3.0" +version = "2.4.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/52/ed/3f73f72945444548f33eba9a87fc7a6e969915e7b1acc8260b30e1f76a2f/tomli-2.3.0.tar.gz", hash = "sha256:64be704a875d2a59753d80ee8a533c3fe183e3f06807ff7dc2232938ccb01549", size = 17392, upload-time = "2025-10-08T22:01:47.119Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/b3/2e/299f62b401438d5fe1624119c723f5d877acc86a4c2492da405626665f12/tomli-2.3.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:88bd15eb972f3664f5ed4b57c1634a97153b4bac4479dcb6a495f41921eb7f45", size = 153236, upload-time = "2025-10-08T22:01:00.137Z" }, - { url = "https://files.pythonhosted.org/packages/86/7f/d8fffe6a7aefdb61bced88fcb5e280cfd71e08939da5894161bd71bea022/tomli-2.3.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:883b1c0d6398a6a9d29b508c331fa56adbcdff647f6ace4dfca0f50e90dfd0ba", size = 148084, upload-time = "2025-10-08T22:01:01.63Z" }, - { url = "https://files.pythonhosted.org/packages/47/5c/24935fb6a2ee63e86d80e4d3b58b222dafaf438c416752c8b58537c8b89a/tomli-2.3.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d1381caf13ab9f300e30dd8feadb3de072aeb86f1d34a8569453ff32a7dea4bf", size = 234832, upload-time = "2025-10-08T22:01:02.543Z" }, - { url = "https://files.pythonhosted.org/packages/89/da/75dfd804fc11e6612846758a23f13271b76d577e299592b4371a4ca4cd09/tomli-2.3.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a0e285d2649b78c0d9027570d4da3425bdb49830a6156121360b3f8511ea3441", size = 242052, upload-time = "2025-10-08T22:01:03.836Z" }, - { url = "https://files.pythonhosted.org/packages/70/8c/f48ac899f7b3ca7eb13af73bacbc93aec37f9c954df3c08ad96991c8c373/tomli-2.3.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0a154a9ae14bfcf5d8917a59b51ffd5a3ac1fd149b71b47a3a104ca4edcfa845", size = 239555, upload-time = "2025-10-08T22:01:04.834Z" }, - { url = "https://files.pythonhosted.org/packages/ba/28/72f8afd73f1d0e7829bfc093f4cb98ce0a40ffc0cc997009ee1ed94ba705/tomli-2.3.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:74bf8464ff93e413514fefd2be591c3b0b23231a77f901db1eb30d6f712fc42c", size = 245128, upload-time = "2025-10-08T22:01:05.84Z" }, - { url = "https://files.pythonhosted.org/packages/b6/eb/a7679c8ac85208706d27436e8d421dfa39d4c914dcf5fa8083a9305f58d9/tomli-2.3.0-cp311-cp311-win32.whl", hash = "sha256:00b5f5d95bbfc7d12f91ad8c593a1659b6387b43f054104cda404be6bda62456", size = 96445, upload-time = "2025-10-08T22:01:06.896Z" }, - { url = "https://files.pythonhosted.org/packages/0a/fe/3d3420c4cb1ad9cb462fb52967080575f15898da97e21cb6f1361d505383/tomli-2.3.0-cp311-cp311-win_amd64.whl", hash = "sha256:4dc4ce8483a5d429ab602f111a93a6ab1ed425eae3122032db7e9acf449451be", size = 107165, upload-time = "2025-10-08T22:01:08.107Z" }, - { url = "https://files.pythonhosted.org/packages/ff/b7/40f36368fcabc518bb11c8f06379a0fd631985046c038aca08c6d6a43c6e/tomli-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d7d86942e56ded512a594786a5ba0a5e521d02529b3826e7761a05138341a2ac", size = 154891, upload-time = "2025-10-08T22:01:09.082Z" }, - { url = "https://files.pythonhosted.org/packages/f9/3f/d9dd692199e3b3aab2e4e4dd948abd0f790d9ded8cd10cbaae276a898434/tomli-2.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:73ee0b47d4dad1c5e996e3cd33b8a76a50167ae5f96a2607cbe8cc773506ab22", size = 148796, upload-time = "2025-10-08T22:01:10.266Z" }, - { url = "https://files.pythonhosted.org/packages/60/83/59bff4996c2cf9f9387a0f5a3394629c7efa5ef16142076a23a90f1955fa/tomli-2.3.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:792262b94d5d0a466afb5bc63c7daa9d75520110971ee269152083270998316f", size = 242121, upload-time = "2025-10-08T22:01:11.332Z" }, - { url = "https://files.pythonhosted.org/packages/45/e5/7c5119ff39de8693d6baab6c0b6dcb556d192c165596e9fc231ea1052041/tomli-2.3.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4f195fe57ecceac95a66a75ac24d9d5fbc98ef0962e09b2eddec5d39375aae52", size = 250070, upload-time = "2025-10-08T22:01:12.498Z" }, - { url = "https://files.pythonhosted.org/packages/45/12/ad5126d3a278f27e6701abde51d342aa78d06e27ce2bb596a01f7709a5a2/tomli-2.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e31d432427dcbf4d86958c184b9bfd1e96b5b71f8eb17e6d02531f434fd335b8", size = 245859, upload-time = "2025-10-08T22:01:13.551Z" }, - { url = "https://files.pythonhosted.org/packages/fb/a1/4d6865da6a71c603cfe6ad0e6556c73c76548557a8d658f9e3b142df245f/tomli-2.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7b0882799624980785240ab732537fcfc372601015c00f7fc367c55308c186f6", size = 250296, upload-time = "2025-10-08T22:01:14.614Z" }, - { url = "https://files.pythonhosted.org/packages/a0/b7/a7a7042715d55c9ba6e8b196d65d2cb662578b4d8cd17d882d45322b0d78/tomli-2.3.0-cp312-cp312-win32.whl", hash = "sha256:ff72b71b5d10d22ecb084d345fc26f42b5143c5533db5e2eaba7d2d335358876", size = 97124, upload-time = "2025-10-08T22:01:15.629Z" }, - { url = "https://files.pythonhosted.org/packages/06/1e/f22f100db15a68b520664eb3328fb0ae4e90530887928558112c8d1f4515/tomli-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:1cb4ed918939151a03f33d4242ccd0aa5f11b3547d0cf30f7c74a408a5b99878", size = 107698, upload-time = "2025-10-08T22:01:16.51Z" }, - { url = "https://files.pythonhosted.org/packages/89/48/06ee6eabe4fdd9ecd48bf488f4ac783844fd777f547b8d1b61c11939974e/tomli-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5192f562738228945d7b13d4930baffda67b69425a7f0da96d360b0a3888136b", size = 154819, upload-time = "2025-10-08T22:01:17.964Z" }, - { url = "https://files.pythonhosted.org/packages/f1/01/88793757d54d8937015c75dcdfb673c65471945f6be98e6a0410fba167ed/tomli-2.3.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:be71c93a63d738597996be9528f4abe628d1adf5e6eb11607bc8fe1a510b5dae", size = 148766, upload-time = "2025-10-08T22:01:18.959Z" }, - { url = "https://files.pythonhosted.org/packages/42/17/5e2c956f0144b812e7e107f94f1cc54af734eb17b5191c0bbfb72de5e93e/tomli-2.3.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c4665508bcbac83a31ff8ab08f424b665200c0e1e645d2bd9ab3d3e557b6185b", size = 240771, upload-time = "2025-10-08T22:01:20.106Z" }, - { url = "https://files.pythonhosted.org/packages/d5/f4/0fbd014909748706c01d16824eadb0307115f9562a15cbb012cd9b3512c5/tomli-2.3.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4021923f97266babc6ccab9f5068642a0095faa0a51a246a6a02fccbb3514eaf", size = 248586, upload-time = "2025-10-08T22:01:21.164Z" }, - { url = "https://files.pythonhosted.org/packages/30/77/fed85e114bde5e81ecf9bc5da0cc69f2914b38f4708c80ae67d0c10180c5/tomli-2.3.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4ea38c40145a357d513bffad0ed869f13c1773716cf71ccaa83b0fa0cc4e42f", size = 244792, upload-time = "2025-10-08T22:01:22.417Z" }, - { url = "https://files.pythonhosted.org/packages/55/92/afed3d497f7c186dc71e6ee6d4fcb0acfa5f7d0a1a2878f8beae379ae0cc/tomli-2.3.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ad805ea85eda330dbad64c7ea7a4556259665bdf9d2672f5dccc740eb9d3ca05", size = 248909, upload-time = "2025-10-08T22:01:23.859Z" }, - { url = "https://files.pythonhosted.org/packages/f8/84/ef50c51b5a9472e7265ce1ffc7f24cd4023d289e109f669bdb1553f6a7c2/tomli-2.3.0-cp313-cp313-win32.whl", hash = "sha256:97d5eec30149fd3294270e889b4234023f2c69747e555a27bd708828353ab606", size = 96946, upload-time = "2025-10-08T22:01:24.893Z" }, - { url = "https://files.pythonhosted.org/packages/b2/b7/718cd1da0884f281f95ccfa3a6cc572d30053cba64603f79d431d3c9b61b/tomli-2.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:0c95ca56fbe89e065c6ead5b593ee64b84a26fca063b5d71a1122bf26e533999", size = 107705, upload-time = "2025-10-08T22:01:26.153Z" }, - { url = "https://files.pythonhosted.org/packages/19/94/aeafa14a52e16163008060506fcb6aa1949d13548d13752171a755c65611/tomli-2.3.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:cebc6fe843e0733ee827a282aca4999b596241195f43b4cc371d64fc6639da9e", size = 154244, upload-time = "2025-10-08T22:01:27.06Z" }, - { url = "https://files.pythonhosted.org/packages/db/e4/1e58409aa78eefa47ccd19779fc6f36787edbe7d4cd330eeeedb33a4515b/tomli-2.3.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4c2ef0244c75aba9355561272009d934953817c49f47d768070c3c94355c2aa3", size = 148637, upload-time = "2025-10-08T22:01:28.059Z" }, - { url = "https://files.pythonhosted.org/packages/26/b6/d1eccb62f665e44359226811064596dd6a366ea1f985839c566cd61525ae/tomli-2.3.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c22a8bf253bacc0cf11f35ad9808b6cb75ada2631c2d97c971122583b129afbc", size = 241925, upload-time = "2025-10-08T22:01:29.066Z" }, - { url = "https://files.pythonhosted.org/packages/70/91/7cdab9a03e6d3d2bb11beae108da5bdc1c34bdeb06e21163482544ddcc90/tomli-2.3.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0eea8cc5c5e9f89c9b90c4896a8deefc74f518db5927d0e0e8d4a80953d774d0", size = 249045, upload-time = "2025-10-08T22:01:31.98Z" }, - { url = "https://files.pythonhosted.org/packages/15/1b/8c26874ed1f6e4f1fcfeb868db8a794cbe9f227299402db58cfcc858766c/tomli-2.3.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:b74a0e59ec5d15127acdabd75ea17726ac4c5178ae51b85bfe39c4f8a278e879", size = 245835, upload-time = "2025-10-08T22:01:32.989Z" }, - { url = "https://files.pythonhosted.org/packages/fd/42/8e3c6a9a4b1a1360c1a2a39f0b972cef2cc9ebd56025168c4137192a9321/tomli-2.3.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b5870b50c9db823c595983571d1296a6ff3e1b88f734a4c8f6fc6188397de005", size = 253109, upload-time = "2025-10-08T22:01:34.052Z" }, - { url = "https://files.pythonhosted.org/packages/22/0c/b4da635000a71b5f80130937eeac12e686eefb376b8dee113b4a582bba42/tomli-2.3.0-cp314-cp314-win32.whl", hash = "sha256:feb0dacc61170ed7ab602d3d972a58f14ee3ee60494292d384649a3dc38ef463", size = 97930, upload-time = "2025-10-08T22:01:35.082Z" }, - { url = "https://files.pythonhosted.org/packages/b9/74/cb1abc870a418ae99cd5c9547d6bce30701a954e0e721821df483ef7223c/tomli-2.3.0-cp314-cp314-win_amd64.whl", hash = "sha256:b273fcbd7fc64dc3600c098e39136522650c49bca95df2d11cf3b626422392c8", size = 107964, upload-time = "2025-10-08T22:01:36.057Z" }, - { url = "https://files.pythonhosted.org/packages/54/78/5c46fff6432a712af9f792944f4fcd7067d8823157949f4e40c56b8b3c83/tomli-2.3.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:940d56ee0410fa17ee1f12b817b37a4d4e4dc4d27340863cc67236c74f582e77", size = 163065, upload-time = "2025-10-08T22:01:37.27Z" }, - { url = "https://files.pythonhosted.org/packages/39/67/f85d9bd23182f45eca8939cd2bc7050e1f90c41f4a2ecbbd5963a1d1c486/tomli-2.3.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f85209946d1fe94416debbb88d00eb92ce9cd5266775424ff81bc959e001acaf", size = 159088, upload-time = "2025-10-08T22:01:38.235Z" }, - { url = "https://files.pythonhosted.org/packages/26/5a/4b546a0405b9cc0659b399f12b6adb750757baf04250b148d3c5059fc4eb/tomli-2.3.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a56212bdcce682e56b0aaf79e869ba5d15a6163f88d5451cbde388d48b13f530", size = 268193, upload-time = "2025-10-08T22:01:39.712Z" }, - { url = "https://files.pythonhosted.org/packages/42/4f/2c12a72ae22cf7b59a7fe75b3465b7aba40ea9145d026ba41cb382075b0e/tomli-2.3.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c5f3ffd1e098dfc032d4d3af5c0ac64f6d286d98bc148698356847b80fa4de1b", size = 275488, upload-time = "2025-10-08T22:01:40.773Z" }, - { url = "https://files.pythonhosted.org/packages/92/04/a038d65dbe160c3aa5a624e93ad98111090f6804027d474ba9c37c8ae186/tomli-2.3.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:5e01decd096b1530d97d5d85cb4dff4af2d8347bd35686654a004f8dea20fc67", size = 272669, upload-time = "2025-10-08T22:01:41.824Z" }, - { url = "https://files.pythonhosted.org/packages/be/2f/8b7c60a9d1612a7cbc39ffcca4f21a73bf368a80fc25bccf8253e2563267/tomli-2.3.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:8a35dd0e643bb2610f156cca8db95d213a90015c11fee76c946aa62b7ae7e02f", size = 279709, upload-time = "2025-10-08T22:01:43.177Z" }, - { url = "https://files.pythonhosted.org/packages/7e/46/cc36c679f09f27ded940281c38607716c86cf8ba4a518d524e349c8b4874/tomli-2.3.0-cp314-cp314t-win32.whl", hash = "sha256:a1f7f282fe248311650081faafa5f4732bdbfef5d45fe3f2e702fbc6f2d496e0", size = 107563, upload-time = "2025-10-08T22:01:44.233Z" }, - { url = "https://files.pythonhosted.org/packages/84/ff/426ca8683cf7b753614480484f6437f568fd2fda2edbdf57a2d3d8b27a0b/tomli-2.3.0-cp314-cp314t-win_amd64.whl", hash = "sha256:70a251f8d4ba2d9ac2542eecf008b3c8a9fc5c3f9f02c56a9d7952612be2fdba", size = 119756, upload-time = "2025-10-08T22:01:45.234Z" }, - { url = "https://files.pythonhosted.org/packages/77/b8/0135fadc89e73be292b473cb820b4f5a08197779206b33191e801feeae40/tomli-2.3.0-py3-none-any.whl", hash = "sha256:e95b1af3c5b07d9e643909b5abbec77cd9f1217e6d0bca72b0234736b9fb1f1b", size = 14408, upload-time = "2025-10-08T22:01:46.04Z" }, +sdist = { url = "https://files.pythonhosted.org/packages/82/30/31573e9457673ab10aa432461bee537ce6cef177667deca369efb79df071/tomli-2.4.0.tar.gz", hash = "sha256:aa89c3f6c277dd275d8e243ad24f3b5e701491a860d5121f2cdd399fbb31fc9c", size = 17477, upload-time = "2026-01-11T11:22:38.165Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3c/d9/3dc2289e1f3b32eb19b9785b6a006b28ee99acb37d1d47f78d4c10e28bf8/tomli-2.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b5ef256a3fd497d4973c11bf142e9ed78b150d36f5773f1ca6088c230ffc5867", size = 153663, upload-time = "2026-01-11T11:21:45.27Z" }, + { url = "https://files.pythonhosted.org/packages/51/32/ef9f6845e6b9ca392cd3f64f9ec185cc6f09f0a2df3db08cbe8809d1d435/tomli-2.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5572e41282d5268eb09a697c89a7bee84fae66511f87533a6f88bd2f7b652da9", size = 148469, upload-time = "2026-01-11T11:21:46.873Z" }, + { url = "https://files.pythonhosted.org/packages/d6/c2/506e44cce89a8b1b1e047d64bd495c22c9f71f21e05f380f1a950dd9c217/tomli-2.4.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:551e321c6ba03b55676970b47cb1b73f14a0a4dce6a3e1a9458fd6d921d72e95", size = 236039, upload-time = "2026-01-11T11:21:48.503Z" }, + { url = "https://files.pythonhosted.org/packages/b3/40/e1b65986dbc861b7e986e8ec394598187fa8aee85b1650b01dd925ca0be8/tomli-2.4.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5e3f639a7a8f10069d0e15408c0b96a2a828cfdec6fca05296ebcdcc28ca7c76", size = 243007, upload-time = "2026-01-11T11:21:49.456Z" }, + { url = "https://files.pythonhosted.org/packages/9c/6f/6e39ce66b58a5b7ae572a0f4352ff40c71e8573633deda43f6a379d56b3e/tomli-2.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1b168f2731796b045128c45982d3a4874057626da0e2ef1fdd722848b741361d", size = 240875, upload-time = "2026-01-11T11:21:50.755Z" }, + { url = "https://files.pythonhosted.org/packages/aa/ad/cb089cb190487caa80204d503c7fd0f4d443f90b95cf4ef5cf5aa0f439b0/tomli-2.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:133e93646ec4300d651839d382d63edff11d8978be23da4cc106f5a18b7d0576", size = 246271, upload-time = "2026-01-11T11:21:51.81Z" }, + { url = "https://files.pythonhosted.org/packages/0b/63/69125220e47fd7a3a27fd0de0c6398c89432fec41bc739823bcc66506af6/tomli-2.4.0-cp311-cp311-win32.whl", hash = "sha256:b6c78bdf37764092d369722d9946cb65b8767bfa4110f902a1b2542d8d173c8a", size = 96770, upload-time = "2026-01-11T11:21:52.647Z" }, + { url = "https://files.pythonhosted.org/packages/1e/0d/a22bb6c83f83386b0008425a6cd1fa1c14b5f3dd4bad05e98cf3dbbf4a64/tomli-2.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:d3d1654e11d724760cdb37a3d7691f0be9db5fbdaef59c9f532aabf87006dbaa", size = 107626, upload-time = "2026-01-11T11:21:53.459Z" }, + { url = "https://files.pythonhosted.org/packages/2f/6d/77be674a3485e75cacbf2ddba2b146911477bd887dda9d8c9dfb2f15e871/tomli-2.4.0-cp311-cp311-win_arm64.whl", hash = "sha256:cae9c19ed12d4e8f3ebf46d1a75090e4c0dc16271c5bce1c833ac168f08fb614", size = 94842, upload-time = "2026-01-11T11:21:54.831Z" }, + { url = "https://files.pythonhosted.org/packages/3c/43/7389a1869f2f26dba52404e1ef13b4784b6b37dac93bac53457e3ff24ca3/tomli-2.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:920b1de295e72887bafa3ad9f7a792f811847d57ea6b1215154030cf131f16b1", size = 154894, upload-time = "2026-01-11T11:21:56.07Z" }, + { url = "https://files.pythonhosted.org/packages/e9/05/2f9bf110b5294132b2edf13fe6ca6ae456204f3d749f623307cbb7a946f2/tomli-2.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7d6d9a4aee98fac3eab4952ad1d73aee87359452d1c086b5ceb43ed02ddb16b8", size = 149053, upload-time = "2026-01-11T11:21:57.467Z" }, + { url = "https://files.pythonhosted.org/packages/e8/41/1eda3ca1abc6f6154a8db4d714a4d35c4ad90adc0bcf700657291593fbf3/tomli-2.4.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:36b9d05b51e65b254ea6c2585b59d2c4cb91c8a3d91d0ed0f17591a29aaea54a", size = 243481, upload-time = "2026-01-11T11:21:58.661Z" }, + { url = "https://files.pythonhosted.org/packages/d2/6d/02ff5ab6c8868b41e7d4b987ce2b5f6a51d3335a70aa144edd999e055a01/tomli-2.4.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1c8a885b370751837c029ef9bc014f27d80840e48bac415f3412e6593bbc18c1", size = 251720, upload-time = "2026-01-11T11:22:00.178Z" }, + { url = "https://files.pythonhosted.org/packages/7b/57/0405c59a909c45d5b6f146107c6d997825aa87568b042042f7a9c0afed34/tomli-2.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8768715ffc41f0008abe25d808c20c3d990f42b6e2e58305d5da280ae7d1fa3b", size = 247014, upload-time = "2026-01-11T11:22:01.238Z" }, + { url = "https://files.pythonhosted.org/packages/2c/0e/2e37568edd944b4165735687cbaf2fe3648129e440c26d02223672ee0630/tomli-2.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7b438885858efd5be02a9a133caf5812b8776ee0c969fea02c45e8e3f296ba51", size = 251820, upload-time = "2026-01-11T11:22:02.727Z" }, + { url = "https://files.pythonhosted.org/packages/5a/1c/ee3b707fdac82aeeb92d1a113f803cf6d0f37bdca0849cb489553e1f417a/tomli-2.4.0-cp312-cp312-win32.whl", hash = "sha256:0408e3de5ec77cc7f81960c362543cbbd91ef883e3138e81b729fc3eea5b9729", size = 97712, upload-time = "2026-01-11T11:22:03.777Z" }, + { url = "https://files.pythonhosted.org/packages/69/13/c07a9177d0b3bab7913299b9278845fc6eaaca14a02667c6be0b0a2270c8/tomli-2.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:685306e2cc7da35be4ee914fd34ab801a6acacb061b6a7abca922aaf9ad368da", size = 108296, upload-time = "2026-01-11T11:22:04.86Z" }, + { url = "https://files.pythonhosted.org/packages/18/27/e267a60bbeeee343bcc279bb9e8fbed0cbe224bc7b2a3dc2975f22809a09/tomli-2.4.0-cp312-cp312-win_arm64.whl", hash = "sha256:5aa48d7c2356055feef06a43611fc401a07337d5b006be13a30f6c58f869e3c3", size = 94553, upload-time = "2026-01-11T11:22:05.854Z" }, + { url = "https://files.pythonhosted.org/packages/34/91/7f65f9809f2936e1f4ce6268ae1903074563603b2a2bd969ebbda802744f/tomli-2.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:84d081fbc252d1b6a982e1870660e7330fb8f90f676f6e78b052ad4e64714bf0", size = 154915, upload-time = "2026-01-11T11:22:06.703Z" }, + { url = "https://files.pythonhosted.org/packages/20/aa/64dd73a5a849c2e8f216b755599c511badde80e91e9bc2271baa7b2cdbb1/tomli-2.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9a08144fa4cba33db5255f9b74f0b89888622109bd2776148f2597447f92a94e", size = 149038, upload-time = "2026-01-11T11:22:07.56Z" }, + { url = "https://files.pythonhosted.org/packages/9e/8a/6d38870bd3d52c8d1505ce054469a73f73a0fe62c0eaf5dddf61447e32fa/tomli-2.4.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c73add4bb52a206fd0c0723432db123c0c75c280cbd67174dd9d2db228ebb1b4", size = 242245, upload-time = "2026-01-11T11:22:08.344Z" }, + { url = "https://files.pythonhosted.org/packages/59/bb/8002fadefb64ab2669e5b977df3f5e444febea60e717e755b38bb7c41029/tomli-2.4.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1fb2945cbe303b1419e2706e711b7113da57b7db31ee378d08712d678a34e51e", size = 250335, upload-time = "2026-01-11T11:22:09.951Z" }, + { url = "https://files.pythonhosted.org/packages/a5/3d/4cdb6f791682b2ea916af2de96121b3cb1284d7c203d97d92d6003e91c8d/tomli-2.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:bbb1b10aa643d973366dc2cb1ad94f99c1726a02343d43cbc011edbfac579e7c", size = 245962, upload-time = "2026-01-11T11:22:11.27Z" }, + { url = "https://files.pythonhosted.org/packages/f2/4a/5f25789f9a460bd858ba9756ff52d0830d825b458e13f754952dd15fb7bb/tomli-2.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4cbcb367d44a1f0c2be408758b43e1ffb5308abe0ea222897d6bfc8e8281ef2f", size = 250396, upload-time = "2026-01-11T11:22:12.325Z" }, + { url = "https://files.pythonhosted.org/packages/aa/2f/b73a36fea58dfa08e8b3a268750e6853a6aac2a349241a905ebd86f3047a/tomli-2.4.0-cp313-cp313-win32.whl", hash = "sha256:7d49c66a7d5e56ac959cb6fc583aff0651094ec071ba9ad43df785abc2320d86", size = 97530, upload-time = "2026-01-11T11:22:13.865Z" }, + { url = "https://files.pythonhosted.org/packages/3b/af/ca18c134b5d75de7e8dc551c5234eaba2e8e951f6b30139599b53de9c187/tomli-2.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:3cf226acb51d8f1c394c1b310e0e0e61fecdd7adcb78d01e294ac297dd2e7f87", size = 108227, upload-time = "2026-01-11T11:22:15.224Z" }, + { url = "https://files.pythonhosted.org/packages/22/c3/b386b832f209fee8073c8138ec50f27b4460db2fdae9ffe022df89a57f9b/tomli-2.4.0-cp313-cp313-win_arm64.whl", hash = "sha256:d20b797a5c1ad80c516e41bc1fb0443ddb5006e9aaa7bda2d71978346aeb9132", size = 94748, upload-time = "2026-01-11T11:22:16.009Z" }, + { url = "https://files.pythonhosted.org/packages/f3/c4/84047a97eb1004418bc10bdbcfebda209fca6338002eba2dc27cc6d13563/tomli-2.4.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:26ab906a1eb794cd4e103691daa23d95c6919cc2fa9160000ac02370cc9dd3f6", size = 154725, upload-time = "2026-01-11T11:22:17.269Z" }, + { url = "https://files.pythonhosted.org/packages/a8/5d/d39038e646060b9d76274078cddf146ced86dc2b9e8bbf737ad5983609a0/tomli-2.4.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:20cedb4ee43278bc4f2fee6cb50daec836959aadaf948db5172e776dd3d993fc", size = 148901, upload-time = "2026-01-11T11:22:18.287Z" }, + { url = "https://files.pythonhosted.org/packages/73/e5/383be1724cb30f4ce44983d249645684a48c435e1cd4f8b5cded8a816d3c/tomli-2.4.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:39b0b5d1b6dd03684b3fb276407ebed7090bbec989fa55838c98560c01113b66", size = 243375, upload-time = "2026-01-11T11:22:19.154Z" }, + { url = "https://files.pythonhosted.org/packages/31/f0/bea80c17971c8d16d3cc109dc3585b0f2ce1036b5f4a8a183789023574f2/tomli-2.4.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a26d7ff68dfdb9f87a016ecfd1e1c2bacbe3108f4e0f8bcd2228ef9a766c787d", size = 250639, upload-time = "2026-01-11T11:22:20.168Z" }, + { url = "https://files.pythonhosted.org/packages/2c/8f/2853c36abbb7608e3f945d8a74e32ed3a74ee3a1f468f1ffc7d1cb3abba6/tomli-2.4.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:20ffd184fb1df76a66e34bd1b36b4a4641bd2b82954befa32fe8163e79f1a702", size = 246897, upload-time = "2026-01-11T11:22:21.544Z" }, + { url = "https://files.pythonhosted.org/packages/49/f0/6c05e3196ed5337b9fe7ea003e95fd3819a840b7a0f2bf5a408ef1dad8ed/tomli-2.4.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:75c2f8bbddf170e8effc98f5e9084a8751f8174ea6ccf4fca5398436e0320bc8", size = 254697, upload-time = "2026-01-11T11:22:23.058Z" }, + { url = "https://files.pythonhosted.org/packages/f3/f5/2922ef29c9f2951883525def7429967fc4d8208494e5ab524234f06b688b/tomli-2.4.0-cp314-cp314-win32.whl", hash = "sha256:31d556d079d72db7c584c0627ff3a24c5d3fb4f730221d3444f3efb1b2514776", size = 98567, upload-time = "2026-01-11T11:22:24.033Z" }, + { url = "https://files.pythonhosted.org/packages/7b/31/22b52e2e06dd2a5fdbc3ee73226d763b184ff21fc24e20316a44ccc4d96b/tomli-2.4.0-cp314-cp314-win_amd64.whl", hash = "sha256:43e685b9b2341681907759cf3a04e14d7104b3580f808cfde1dfdb60ada85475", size = 108556, upload-time = "2026-01-11T11:22:25.378Z" }, + { url = "https://files.pythonhosted.org/packages/48/3d/5058dff3255a3d01b705413f64f4306a141a8fd7a251e5a495e3f192a998/tomli-2.4.0-cp314-cp314-win_arm64.whl", hash = "sha256:3d895d56bd3f82ddd6faaff993c275efc2ff38e52322ea264122d72729dca2b2", size = 96014, upload-time = "2026-01-11T11:22:26.138Z" }, + { url = "https://files.pythonhosted.org/packages/b8/4e/75dab8586e268424202d3a1997ef6014919c941b50642a1682df43204c22/tomli-2.4.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:5b5807f3999fb66776dbce568cc9a828544244a8eb84b84b9bafc080c99597b9", size = 163339, upload-time = "2026-01-11T11:22:27.143Z" }, + { url = "https://files.pythonhosted.org/packages/06/e3/b904d9ab1016829a776d97f163f183a48be6a4deb87304d1e0116a349519/tomli-2.4.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c084ad935abe686bd9c898e62a02a19abfc9760b5a79bc29644463eaf2840cb0", size = 159490, upload-time = "2026-01-11T11:22:28.399Z" }, + { url = "https://files.pythonhosted.org/packages/e3/5a/fc3622c8b1ad823e8ea98a35e3c632ee316d48f66f80f9708ceb4f2a0322/tomli-2.4.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0f2e3955efea4d1cfbcb87bc321e00dc08d2bcb737fd1d5e398af111d86db5df", size = 269398, upload-time = "2026-01-11T11:22:29.345Z" }, + { url = "https://files.pythonhosted.org/packages/fd/33/62bd6152c8bdd4c305ad9faca48f51d3acb2df1f8791b1477d46ff86e7f8/tomli-2.4.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0e0fe8a0b8312acf3a88077a0802565cb09ee34107813bba1c7cd591fa6cfc8d", size = 276515, upload-time = "2026-01-11T11:22:30.327Z" }, + { url = "https://files.pythonhosted.org/packages/4b/ff/ae53619499f5235ee4211e62a8d7982ba9e439a0fb4f2f351a93d67c1dd2/tomli-2.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:413540dce94673591859c4c6f794dfeaa845e98bf35d72ed59636f869ef9f86f", size = 273806, upload-time = "2026-01-11T11:22:32.56Z" }, + { url = "https://files.pythonhosted.org/packages/47/71/cbca7787fa68d4d0a9f7072821980b39fbb1b6faeb5f5cf02f4a5559fa28/tomli-2.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:0dc56fef0e2c1c470aeac5b6ca8cc7b640bb93e92d9803ddaf9ea03e198f5b0b", size = 281340, upload-time = "2026-01-11T11:22:33.505Z" }, + { url = "https://files.pythonhosted.org/packages/f5/00/d595c120963ad42474cf6ee7771ad0d0e8a49d0f01e29576ee9195d9ecdf/tomli-2.4.0-cp314-cp314t-win32.whl", hash = "sha256:d878f2a6707cc9d53a1be1414bbb419e629c3d6e67f69230217bb663e76b5087", size = 108106, upload-time = "2026-01-11T11:22:34.451Z" }, + { url = "https://files.pythonhosted.org/packages/de/69/9aa0c6a505c2f80e519b43764f8b4ba93b5a0bbd2d9a9de6e2b24271b9a5/tomli-2.4.0-cp314-cp314t-win_amd64.whl", hash = "sha256:2add28aacc7425117ff6364fe9e06a183bb0251b03f986df0e78e974047571fd", size = 120504, upload-time = "2026-01-11T11:22:35.764Z" }, + { url = "https://files.pythonhosted.org/packages/b3/9f/f1668c281c58cfae01482f7114a4b88d345e4c140386241a1a24dcc9e7bc/tomli-2.4.0-cp314-cp314t-win_arm64.whl", hash = "sha256:2b1e3b80e1d5e52e40e9b924ec43d81570f0e7d09d11081b797bc4692765a3d4", size = 99561, upload-time = "2026-01-11T11:22:36.624Z" }, + { url = "https://files.pythonhosted.org/packages/23/d1/136eb2cb77520a31e1f64cbae9d33ec6df0d78bdf4160398e86eec8a8754/tomli-2.4.0-py3-none-any.whl", hash = "sha256:1f776e7d669ebceb01dee46484485f43a4048746235e683bcdffacdf1fb4785a", size = 14477, upload-time = "2026-01-11T11:22:37.446Z" }, ] [[package]] From 8b80ed236fcc61b194def18002d371533dd4c032 Mon Sep 17 00:00:00 2001 From: Simone <79767264+smonicas@users.noreply.github.com> Date: Thu, 15 Jan 2026 18:32:52 +0100 Subject: [PATCH 113/113] Target master branch for development (#2874) --- .github/dependabot.yml | 2 +- .github/workflows/ci.yml | 1 - .github/workflows/docker.yml | 1 - .github/workflows/pip-audit.yml | 4 ++-- .github/workflows/ruff.yml | 4 ++-- .github/workflows/test.yml | 2 +- CONTRIBUTING.md | 2 +- 7 files changed, 7 insertions(+), 9 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 9ff89397a5..b0012e9935 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -3,6 +3,6 @@ version: 2 updates: - package-ecosystem: "github-actions" directory: "/" - target-branch: "dev" + target-branch: "master" schedule: interval: "weekly" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e8054c74ad..dec5c1134b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,6 @@ on: push: branches: - master - - dev pull_request: schedule: # run CI every day even if no PRs/merges occur diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 833d13e79d..dd3f1e53ca 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -4,7 +4,6 @@ on: push: branches: - master - - dev tags: - '*' diff --git a/.github/workflows/pip-audit.yml b/.github/workflows/pip-audit.yml index c2f61304e6..e9196d9049 100644 --- a/.github/workflows/pip-audit.yml +++ b/.github/workflows/pip-audit.yml @@ -3,9 +3,9 @@ name: pip-audit on: push: - branches: [dev, master] + branches: [master] pull_request: - branches: [dev, master] + branches: [master] schedule: [cron: "0 7 * * 2"] concurrency: diff --git a/.github/workflows/ruff.yml b/.github/workflows/ruff.yml index c1167fb639..efa750fc00 100644 --- a/.github/workflows/ruff.yml +++ b/.github/workflows/ruff.yml @@ -7,9 +7,9 @@ defaults: on: push: - branches: [master, dev] + branches: [master] pull_request: - branches: [master, dev] + branches: [master] paths: - "**/*.py" - "**/*.yml" diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d122c38d6b..457f7f3fe6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,7 +7,7 @@ defaults: on: push: - branches: [master, dev] + branches: [master] pull_request: schedule: # run CI every day even if no PRs/merges occur diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 89e226c757..de5a4ef100 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -18,7 +18,7 @@ Slither uses the pull request contribution model. Please make an account on GitH Some pull request guidelines: -- Work from the [`dev`](https://github.com/crytic/slither/tree/dev) branch. We performed extensive tests prior to merging anything to `master`, working from `dev` will allow us to merge your work faster. +- Work from the [`master`](https://github.com/crytic/slither/tree/master) branch. - Minimize irrelevant changes (formatting, whitespace, etc) to code that would otherwise not be touched by this patch. Save formatting or style corrections for a separate pull request that does not make any semantic changes. - When possible, large changes should be split up into smaller focused pull requests. - Fill out the pull request description with a summary of what your patch does, key changes that have been made, and any further points of discussion, if applicable.