diff --git a/README.md b/README.md index a3438fc..273b129 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,7 @@ [Quickstart](#quickstart) • [Supported Strategies](#supported-strategies) • +[Benchmarks](#benchmarks) • [Motivation](#motivation) • [Examples](#examples) • [References](#references) @@ -27,7 +28,7 @@ Pyversity is a fast, lightweight library for diversifying retrieval results. Retrieval systems often return highly similar items. Pyversity efficiently re-ranks these results to encourage diversity, surfacing items that remain relevant but less redundant. -It implements several popular diversification strategies such as MMR, MSD, DPP, and Cover with a clear, unified API. More information about the supported strategies can be found in the [supported strategies section](#supported-strategies). The only dependency is NumPy, making the package very lightweight. +It implements several popular diversification strategies such as MMR, MSD, DPP, SSD, and Cover with a clear, unified API and [benchmarks](benchmarks/) for each strategy. More information about the supported strategies can be found in the [supported strategies section](#supported-strategies). The only dependency is NumPy, making the package very lightweight. ## Quickstart @@ -52,7 +53,7 @@ diversified_result = diversify( embeddings=embeddings, scores=scores, k=10, # Number of items to select - strategy=Strategy.MMR, # Diversification strategy to use + strategy=Strategy.DPP, # Diversification strategy to use diversity=0.5 # Diversity parameter (higher values prioritize diversity) ) @@ -66,25 +67,30 @@ The `diversity` parameter tunes the trade-off between relevance and diversity: 0 ## Supported Strategies -The following table describes the supported strategies, how they work, their time complexity, and when to use them. The papers linked in the [references](#references) section provide more in-depth information on the strengths/weaknesses of the supported strategies. +The papers linked in [references](#references) provide more details on each strategy. | Strategy | What It Does | Time Complexity | When to Use | | ------------------------------------- | ---------------------------------------------------------------------------------------------- | ------------------------- | ---------------------------------------------------------------------------------------------- | -| **MMR** (Maximal Marginal Relevance) | Keeps the most relevant items while down-weighting those too similar to what’s already picked. | **O(k · n · d)** | Good default. Fast, simple, and works well when you just want to avoid near-duplicates. | -| **MSD** (Max Sum of Distances) | Prefers items that are both relevant and far from *all* previous selections. | **O(k · n · d)** | Use when you want stronger spread, i.e. results that cover a wider range of topics or styles. | -| **DPP** (Determinantal Point Process) | Samples diverse yet relevant items using probabilistic “repulsion.” | **O(k · n · d + n · k²)** | Ideal when you want to eliminate redundancy or ensure diversity is built-in to selection. | -| **COVER** (Facility-Location) | Ensures selected items collectively represent the full dataset’s structure. | **O(k · n²)** | Great for topic coverage or clustering scenarios, but slower for large `n`. | -| **SSD** (Sliding Spectrum Decomposition) | Sequence‑aware diversification: rewards novelty relative to recently shown items. | **O(k · n · d)** | Great for content feeds & infinite scroll, e.g. social/news/product feeds where users consume sequentially, as well as conversational RAG to avoid showing similar chunks within the recent window. +| **MMR** (Maximal Marginal Relevance) | Keeps the most relevant items while down-weighting those too similar to what's already picked. | **O(k · n · d)** | Simple baseline. Fast, easy to implement, competitive results. Recommended `diversity`: 0.4–0.7 | +| **MSD** (Max Sum of Distances) | Prefers items that are both relevant and far from *all* previous selections. | **O(k · n · d)** | Best for maximum variety (ILAD), but may sacrifice relevance. Recommended `diversity`: 0.3–0.5 | +| **DPP** (Determinantal Point Process) | Samples diverse yet relevant items using probabilistic "repulsion." | **O(k · n · d + n · k²)** | **Recommended default.** Best overall in benchmarks: highest accuracy and diversity. Recommended `diversity`: 0.5–0.8 | +| **COVER** (Facility-Location) | Ensures selected items collectively represent the full dataset's structure. | **O(k · n²)** | Great for topic coverage or clustering scenarios, but slower for large `n`. | +| **SSD** (Sliding Spectrum Decomposition) | Sequence‑aware diversification: rewards novelty relative to recently shown items. | **O(k · n · d)** | Great for content feeds & infinite scroll where users consume sequentially. Recommended `diversity`: 0.6–0.9 | +## Benchmarks + +All strategies are evaluated across 4 recommendation datasets. Full methodology and detailed results can be found in [`benchmarks`](benchmarks/). + +DPP is the clear winner: it boosts ILAD/ILMD by 26-44% and 54-86% respectively while improving relevance by 1.8-3.1%. Use `diversity=0.5-0.8` for best overall results. ## Motivation Traditional retrieval systems rank results purely by relevance (how closely each item matches the query). While effective, this can lead to redundancy: top results often look nearly identical, which can create a poor user experience. -Diversification techniques like MMR, MSD, COVER, and DPP help balance relevance and variety. +Diversification techniques like MMR, MSD, COVER, DPP, and SSD help balance relevance and variety. Each new item is chosen not only because it’s relevant, but also because it adds new information that wasn’t already covered by earlier results. -This improves exploration, user satisfaction, and coverage across many domains, for example: +This improves exploration, user satisfaction, and coverage across many domains: - E-commerce: Show different product styles, not multiple copies of the same product. - News search: Highlight articles from different outlets or viewpoints. @@ -94,12 +100,9 @@ This improves exploration, user satisfaction, and coverage across many domains, ## Examples -The following examples illustrate how to apply different diversification strategies in various scenarios. -
Product / Web Search — Simple diversification with MMR or DPP
-MMR and DPP are great general-purpose diversification strategies. They are fast, easy to use, and work well in many scenarios. -For example, in a product search setting where you want to show diverse items to a user, you can diversify the top results as follows: +MMR and DPP work well as general-purpose diversifiers. In product search, use them to avoid showing near-duplicate results: ```python from pyversity import diversify, Strategy @@ -120,7 +123,7 @@ result = diversify(
Literature Search — Represent the full topic space with COVER
-COVER (Facility-Location) is well-suited for scenarios where you want to ensure that the selected items collectively represent the entire dataset’s structure. For instance, when searching for academic papers on a broad topic, you might want to cover various subfields and methodologies: +COVER ensures the selected items collectively represent the full topic space. For academic papers, this means covering different subfields and methodologies: ```python from pyversity import diversify, Strategy @@ -143,7 +146,7 @@ result = diversify( Conversational RAG — Avoid redundant chunks with SSD
-In retrieval-augmented generation (RAG) for conversational AI, it’s crucial to avoid feeding the model redundant or similar chunks of information within the recent conversation context. The SSD (Sliding Spectrum Decomposition) strategy is designed for sequence-aware diversification, making it ideal for this use case: +In conversational RAG, you want to avoid feeding the model redundant chunks. SSD diversifies relative to recent context, making it a natural fit: ```python import numpy as np @@ -171,7 +174,7 @@ recent_chunk_embeddings = np.vstack([recent_chunk_embeddings, chunk_embeddings[r
Infinite Scroll / Recommendation Feed — Sequence-aware novelty with SSD
-In content feeds or infinite scroll scenarios, users consume items sequentially. To keep the experience engaging, it’s important to introduce novelty relative to recently shown items. The SSD strategy is well-suited for this: +In content feeds, users consume items sequentially. SSD introduces novelty relative to recently shown items, keeping the experience fresh: ```python import numpy as np @@ -199,7 +202,7 @@ recent_feed_embeddings = np.vstack([recent_feed_embeddings, feed_embeddings[resu
Single Long Document — Pick diverse sections with MSD
-When summarizing or extracting information from a single long document, it’s beneficial to select sections that are both relevant and cover different parts of the document. The MSD strategy helps achieve this by preferring items that are far apart from each other: +When extracting from a long document, you want sections that cover different parts. MSD prefers items that are far apart from each other: ```python from pyversity import diversify, Strategy diff --git a/benchmarks/README.md b/benchmarks/README.md new file mode 100644 index 0000000..07dd171 --- /dev/null +++ b/benchmarks/README.md @@ -0,0 +1,330 @@ +# Pyversity Benchmarks + +Benchmarks for **MMR**, **MSD**, **DPP**, and **SSD** across 4 recommendation datasets. + +Each dataset uses a leave-one-out evaluation: one item per user is held out as the test set, embeddings +are trained on the remaining interactions (preventing leakage), candidate items are generated, then +reranked with each diversification strategy. Relevance (nDCG) and diversity (ILAD, ILMD) are measured +to answer: *(1) how much can diversification improve relevance? (2) what's the relevance-diversity tradeoff?* + +Latency scaling is also measured for each strategy. + +> **Note:** COVER (coverage-based diversification) is not included because it optimizes a different +> objective (topic/category coverage) and requires explicit item taxonomies not available in standard +> collaborative filtering datasets. + +## Table of Contents +- [Main Results](#main-results) +- [Plots](#plots) +- [Latency](#latency) +- [Detailed Results](#detailed-results) +- [Methodology](#methodology) +- [Usage](#usage) +- [Citations](#citations) + +## Main Results + +The results answer two questions: + +1. **Accuracy**: Which strategy achieves the best relevance (nDCG)? +2. **Diversity under constraint**: How much diversity can you gain while maintaining relevance? + +Diversity is measured with two metrics: +- **ILAD** (Intra-List Average Distance): average pairwise diversity—higher means more variety +- **ILMD** (Intra-List Minimum Distance): minimum pairwise diversity—higher means better worst-case diversity (fewer similar pairs) + +### Table 1: Accuracy Leaderboard + +Each strategy's best nDCG (selecting the `diversity` that maximizes relevance): + +| Strategy | nDCG Δ | ILAD (+%) | ILMD (+%) | `diversity` | +|----------|:------:|:---------:|:---------:|:-----------:| +| **DPP** | **+3.1%** | +26% | +54% | 0.5 | +| SSD | +2.8% | +16% | +25% | 0.6 | +| MMR | +1.5% | +11% | +17% | 0.4 | +| MSD | +1.0% | +17% | +5% | 0.2 | + +*nDCG Δ and ILAD/ILMD show % change vs baseline (`diversity=0`). Results are macro-averages: the best `diversity` is found per strategy per dataset, then averaged. 10 runs per dataset.* + +### Table 2: Diversity Leaderboard (≥99% Relevance) + +Best diversity per strategy while maintaining ≥99% of baseline nDCG, ranked by diversity score: + +| Strategy | Diversity Score | nDCG Δ | ILAD (+%) | ILMD (+%) | `diversity` | +|----------|:---------------:|:------:|:---------:|:---------:|:-----------:| +| **DPP** | **0.937** | +1.8% | +44% | **+86%** | 0.7 | +| SSD | 0.625 | +2.0% | +29% | +43% | 0.8 | +| MMR | 0.570 | +0.7% | +22% | +42% | 0.7 | +| MSD | 0.267 | +0.5% | +33% | +9% | 0.3 | + +*Diversity Score = geometric mean of normalized ILAD/ILMD gains (using feasible-max normalization). Higher = better balanced diversity.* + +### Table 3: Diversity Leaderboard (≥95% Relevance) + +Best diversity per strategy while maintaining ≥95% of baseline nDCG, ranked by diversity score: + +| Strategy | Diversity Score | nDCG Δ | ILAD (+%) | ILMD (+%) | `diversity` | +|----------|:---------------:|:------:|:---------:|:---------:|:-----------:| +| **DPP** | **0.889** | +0.2% | +49% | **+99%** | 0.8 | +| MMR | 0.779 | -2.9% | +39% | +91% | 0.8 | +| SSD | 0.537 | +1.5% | +31% | +49% | 0.8 | +| MSD | 0.485 | -2.3% | +54% | +24% | 0.4 | + +## Plots + +### ILAD (Average Diversity) + +![Relevance vs ILAD Tradeoff](results/pareto_ilad.png) + +*Higher ILAD = more overall variety in recommendations. ★ = best operating point at 95% floor, ◆ = best at 99% floor.* + +### ILMD (Minimum Diversity) + +![Relevance vs ILMD Tradeoff](results/pareto_ilmd.png) + +*Higher ILMD = better worst-case diversity (fewer similar pairs). ★ = best operating point at 95% floor, ◆ = best at 99% floor.* + +## Latency + +All strategies are fast. Even with 10,000 candidates, all complete in <100ms. The plot below shows latency scaling measured on a **separate synthetic benchmark** (k=10, d=256 embeddings, typical for modern embedding models): + +![Latency vs Candidates](results/latency.png) + +- **Typical use case** (100 candidates): all strategies complete in <1ms +- **MMR/MSD/DPP** are same order of magnitude; DPP is modestly slower at scale +- **SSD** is slower due to Gram-Schmidt orthogonalization, which scales with embedding dimension + +| Strategy | 100 candidates | 1,000 candidates | 10,000 candidates | +|----------|----------------|------------------|-------------------| +| MMR | ~0.1ms | ~1ms | ~10ms | +| MSD | ~0.1ms | ~1ms | ~10ms | +| DPP | ~0.1ms | ~2ms | ~20ms | +| SSD | ~0.5ms | ~5ms | ~80ms | + +*Measured with k=10 items selected, d=256 dimensional embeddings. Note: main benchmarks use d=64; latency benchmark uses d=256 to reflect modern embedding model dimensions.* + +## Detailed Results + +
+Per-Dataset Best Configs (99% Relevance Floor) + +| Dataset | Max ILAD | Max ILMD | Best Combined | +|---------|:--------:|:--------:|:------------:| +| MovieLens-32M | DPP (`diversity`=0.8) | DPP (`diversity`=0.8) | DPP (`diversity`=0.8) | +| Last.FM | DPP (`diversity`=0.7) | DPP (`diversity`=0.7) | DPP (`diversity`=0.7) | +| Amazon-VG | MSD (`diversity`=0.4) | MMR (`diversity`=0.7) | MMR (`diversity`=0.7) | +| Goodreads | MSD (`diversity`=0.4) | DPP (`diversity`=0.7) | DPP (`diversity`=0.7) | + +
+ +
+Per-Dataset Best Configs (95% Relevance Floor) + +| Dataset | Max ILAD | Max ILMD | Best Combined | +|---------|:--------:|:--------:|:------------:| +| MovieLens-32M | DPP (`diversity`=0.9) | DPP (`diversity`=0.9) | DPP (`diversity`=0.9) | +| Last.FM | MSD (`diversity`=0.6) | DPP (`diversity`=0.8) | DPP (`diversity`=0.8) | +| Amazon-VG | MSD (`diversity`=0.5) | MMR (`diversity`=0.7) | MSD (`diversity`=0.5) | +| Goodreads | MSD (`diversity`=0.5) | DPP (`diversity`=0.8) | DPP (`diversity`=0.8) | + +
+ +
+Per-Strategy Diversity Sweep (Averaged Across Datasets) + +Shows how each strategy's metrics change as you increase `diversity`, **averaged across all 4 datasets**. Baseline values (ILAD=0.42, ILMD=0.12 at `diversity=0`) are the cross-dataset averages. + +> **Note:** nDCG Retention can exceed 100% and may not decrease monotonically. This happens because +> diversification can sometimes *improve* relevance by breaking ties among similar items or surfacing +> items that better match the held-out test item. This effect is dataset-dependent and typically +> occurs at moderate diversity levels before eventually declining at high diversity. + +#### MMR + +| `diversity` | nDCG Retention | ILAD | ILMD | +|:-----------:|:--------------:|:----:|:----:| +| 0.0 | 100.0% | 0.42 (+0%) | 0.12 (+0%) | +| 0.1 | 100.6% | 0.42 (+1%) | 0.13 (+2%) | +| 0.2 | 101.0% | 0.43 (+3%) | 0.13 (+5%) | +| 0.3 | 101.5% | 0.44 (+4%) | 0.14 (+9%) | +| 0.4 | 101.7% | 0.45 (+7%) | 0.15 (+15%) | +| 0.5 | 102.0% | 0.46 (+10%) | 0.16 (+23%) | +| 0.6 | 102.2% | 0.48 (+16%) | 0.18 (+36%) | +| 0.7 | 100.7% | 0.52 (+25%) | 0.22 (+61%) | +| 0.8 | 95.5% | 0.58 (+41%) | 0.28 (+111%) | +| 0.9 | 82.4% | 0.71 (+79%) | 0.42 (+247%) | +| 1.0 | 48.0% | 0.92 (+142%) | 0.76 (+656%) | + +#### MSD + +| `diversity` | nDCG Retention | ILAD | ILMD | +|:-----------:|:--------------:|:----:|:----:| +| 0.0 | 100.0% | 0.42 (+0%) | 0.12 (+0%) | +| 0.1 | 101.5% | 0.46 (+11%) | 0.13 (+4%) | +| 0.2 | 101.6% | 0.50 (+22%) | 0.14 (+11%) | +| 0.3 | 100.9% | 0.55 (+34%) | 0.16 (+19%) | +| 0.4 | 98.6% | 0.60 (+48%) | 0.17 (+30%) | +| 0.5 | 94.9% | 0.66 (+64%) | 0.20 (+45%) | +| 0.6 | 89.4% | 0.72 (+84%) | 0.23 (+65%) | +| 0.7 | 81.3% | 0.80 (+107%) | 0.26 (+92%) | +| 0.8 | 71.4% | 0.87 (+129%) | 0.31 (+137%) | +| 0.9 | 57.7% | 0.93 (+145%) | 0.40 (+225%) | +| 1.0 | 45.4% | 0.95 (+152%) | 0.53 (+374%) | + +#### DPP + +| `diversity` | nDCG Retention | ILAD | ILMD | +|:-----------:|:--------------:|:----:|:----:| +| 0.0 | 100.0% | 0.42 (+0%) | 0.12 (+0%) | +| 0.1 | 102.6% | 0.47 (+13%) | 0.15 (+26%) | +| 0.2 | 103.0% | 0.47 (+15%) | 0.15 (+29%) | +| 0.3 | 103.3% | 0.48 (+17%) | 0.16 (+33%) | +| 0.4 | 103.6% | 0.49 (+19%) | 0.16 (+38%) | +| 0.5 | 103.7% | 0.50 (+23%) | 0.17 (+46%) | +| 0.6 | 103.9% | 0.52 (+30%) | 0.18 (+57%) | +| 0.7 | 104.2% | 0.56 (+41%) | 0.21 (+77%) | +| 0.8 | 101.6% | 0.64 (+65%) | 0.25 (+118%) | +| 0.9 | 88.1% | 0.80 (+111%) | 0.39 (+275%) | +| 1.0 | 47.3% | 0.92 (+144%) | 0.74 (+624%) | + +#### SSD + +| `diversity` | nDCG Retention | ILAD | ILMD | +|:-----------:|:--------------:|:----:|:----:| +| 0.0 | 100.0% | 0.42 (+0%) | 0.12 (+0%) | +| 0.1 | 100.3% | 0.42 (+1%) | 0.12 (+1%) | +| 0.2 | 100.7% | 0.43 (+2%) | 0.13 (+2%) | +| 0.3 | 101.2% | 0.43 (+3%) | 0.13 (+4%) | +| 0.4 | 101.6% | 0.44 (+4%) | 0.13 (+6%) | +| 0.5 | 102.3% | 0.44 (+6%) | 0.14 (+10%) | +| 0.6 | 103.1% | 0.46 (+10%) | 0.14 (+16%) | +| 0.7 | 103.9% | 0.48 (+16%) | 0.15 (+25%) | +| 0.8 | 103.9% | 0.53 (+31%) | 0.18 (+47%) | +| 0.9 | 90.7% | 0.76 (+97%) | 0.29 (+147%) | +| 1.0 | 46.5% | 0.94 (+148%) | 0.72 (+612%) | + +*Percentages show gain vs baseline (diversity=0).* + +
+ + + +## Methodology + +### Datasets + +| Dataset | Domain | Interactions | Source | +|---------|--------|--------------|--------| +| MovieLens-32M | Movies | 32M ratings | [GroupLens](https://grouplens.org/datasets/movielens/32m/) | +| Last.FM | Music | 92K plays | [HetRec 2011](http://ir.ii.uam.es/hetrec2011/) | +| Amazon Video Games | Games | 47K reviews | [UCSD](https://cseweb.ucsd.edu/~jmcauley/datasets.html) | +| Goodreads | Books | 869K ratings | [UCSD](https://sites.google.com/eng.ucsd.edu/ucsdbookgraph/) | + +### Metrics + +| Metric | Type | Description | +|--------|------|-------------| +| **nDCG@10** | Relevance | Normalized Discounted Cumulative Gain at position 10 | +| **ILAD** | Average diversity | Mean pairwise distance—measures overall variety | +| **ILMD** | Minimum diversity | Min pairwise distance—higher = better worst-case diversity | + +ILAD and ILMD are computed as `1 - cosine_similarity` between item embeddings. + +### Experimental Setup + +- **Evaluation**: Leave-one-out protocol with up to 2,000 sampled users per dataset (all users if fewer) +- **Runs**: 10 runs per dataset with different random seeds for robust results (20,000 total evaluations) +- **Embeddings**: 64-dim truncated SVD on the item co-occurrence matrix (training interactions only; held-out edges excluded) +- **Candidates**: For each user, the union of top-50 similar items per profile item (via cosine similarity), scored by mean similarity to the profile. The held-out item is eligible; other already-interacted items are excluded +- **Selection**: k=10 items selected by each strategy +- **`diversity` sweep**: 0.0, 0.1, 0.2, ..., 0.9, 1.0 + +
+Evaluation details + +Diversification is evaluated as a reranking step in a transductive next-item prediction setting. Item embeddings and candidate generation are learned from the interaction graph with the specific held-out edges removed; rerankers are compared on the resulting candidate lists. The held-out item is eligible as a candidate (the goal is to retrieve it), but other already-interacted items are excluded. This isolates the diversification question: "given fixed candidates and scores, which reranking strategy produces the best relevance-diversity tradeoff?" + +**Why can diversification improve nDCG?** In leave-one-out evaluation, the baseline ranking (no diversification) often places many near-duplicate items at the top. Diversifiers act as intelligent tie-breakers: by spreading selections across different item neighborhoods, they increase the chance of including the held-out test item. This is why moderate diversification can *improve* relevance, not just diversity. + +
+ +### Relevance-Budgeted Evaluation + +A **relevance floor** ensures fair comparison: + +1. **Baseline**: Compute baseline nDCG at `diversity=0` (no diversification) for each dataset +2. **Filter**: Keep only configs where nDCG meets the relevance floor +3. **Compare**: Among feasible configs, find which strategy achieves: + - **Max ILAD**: Best overall diversity spread + - **Max ILMD**: Best worst-case diversity (fewer similar pairs) + - **Best Combined**: Best 2-way Diversity Score (ILAD × ILMD) + +Results are reported at two relevance floors: +- **99%**: Near-zero relevance loss, production-safe +- **95%**: Balanced tradeoff with more diversity headroom + +The **Diversity Score** (used in Tables 2-3) measures balanced diversity improvement: +- `ILAD_gain = (ILAD - ILAD_baseline) / (ILAD_feasible_max - ILAD_baseline)` +- `ILMD_gain = (ILMD - ILMD_baseline) / (ILMD_feasible_max - ILMD_baseline)` +- `Diversity Score = √(ILAD_gain × ILMD_gain)` (geometric mean) + +This uses **feasible-max normalization**: the max is computed only over points meeting the relevance floor, ensuring fair comparison within each constraint level. + +## Usage + +```bash +# Download datasets +python -m benchmarks download + +# Run benchmarks +python -m benchmarks run + +# Generate report +python -m benchmarks report +``` + +
+Programmatic API + +```python +from benchmarks import BenchmarkConfig, run_benchmark +from pyversity import Strategy + +config = BenchmarkConfig( + dataset_path="benchmarks/data/ml-32m", + sample_users=2000, + strategies=[Strategy.MMR, Strategy.DPP, Strategy.MSD, Strategy.SSD], + diversity_values=[0.0, 0.3, 0.5, 0.7, 1.0], +) +results = run_benchmark(config) +``` + +
+ +## Citations + +```bibtex +@article{harper2015movielens, + title={The MovieLens Datasets: History and Context}, + author={Harper, F Maxwell and Konstan, Joseph A}, + journal={ACM TiiS}, year={2015} +} + +@inproceedings{cantador2011hetrec, + title={2nd Workshop on Information Heterogeneity and Fusion in Recommender Systems}, + author={Cantador, Iv{\'a}n and Brusilovsky, Peter and Kuflik, Tsvi}, + booktitle={RecSys}, year={2011} +} + +@inproceedings{ni2019amazon, + title={Justifying Recommendations using Distantly-Labeled Reviews and Fine-Grained Aspects}, + author={Ni, Jianmo and Li, Jiacheng and McAuley, Julian}, + booktitle={EMNLP}, year={2019} +} + +@inproceedings{wan2018goodreads, + title={Item Recommendation on Monotonic Behavior Chains}, + author={Wan, Mengting and McAuley, Julian}, + booktitle={RecSys}, year={2018} +} +``` diff --git a/benchmarks/__init__.py b/benchmarks/__init__.py new file mode 100644 index 0000000..d430eeb --- /dev/null +++ b/benchmarks/__init__.py @@ -0,0 +1,3 @@ +from benchmarks.core import BenchmarkConfig, run_benchmark + +__all__ = ["BenchmarkConfig", "run_benchmark"] diff --git a/benchmarks/__main__.py b/benchmarks/__main__.py new file mode 100644 index 0000000..7f32662 --- /dev/null +++ b/benchmarks/__main__.py @@ -0,0 +1,175 @@ +from __future__ import annotations + +import argparse +import logging +import zipfile +from pathlib import Path + +import requests +from tqdm import tqdm + +from benchmarks.core import ( + DATASET_REGISTRY, + BenchmarkConfig, + generate_latency_plot, + generate_report, + run_benchmark, +) + +# Configure logging +logging.basicConfig( + level=logging.INFO, + format="%(message)s", +) +logger = logging.getLogger(__name__) + +RESULTS_DIR = Path("benchmarks/results") +DATA_DIR = Path("benchmarks/data") + + +def cmd_download() -> None: + """Download datasets from original sources.""" + logger.info("Downloading benchmark datasets...") + + for name, info in DATASET_REGISTRY.items(): + if info.download_url is None: + continue # HuggingFace datasets auto-download + + dest_dir = Path(info.path) + + if dest_dir.exists() and any(dest_dir.iterdir()): + logger.debug(f"{name} already exists, skipping") + continue + + logger.info(f"Downloading {name}...") + try: + DATA_DIR.mkdir(parents=True, exist_ok=True) + zip_path = DATA_DIR / f"{name}.zip" + + # Download + response = requests.get(info.download_url, stream=True, timeout=30) + response.raise_for_status() + total = int(response.headers.get("content-length", 0)) + + with open(zip_path, "wb") as f, tqdm(total=total, unit="B", unit_scale=True) as pbar: + for chunk in response.iter_content(chunk_size=8192): + f.write(chunk) + pbar.update(len(chunk)) + + # Extract + with zipfile.ZipFile(zip_path, "r") as zf: + zf.extractall(DATA_DIR) + zip_path.unlink() + + # Rename extracted directory (zip may extract to different name) + for extracted_dir in DATA_DIR.iterdir(): + if extracted_dir.is_dir() and extracted_dir != dest_dir: + # Match by dataset name or known aliases + dir_name_lower = extracted_dir.name.lower() + if name in dir_name_lower or (name == "lastfm" and "hetrec" in dir_name_lower): + extracted_dir.rename(dest_dir) + break + + logger.info(f"Saved {name} to {dest_dir}") + + except Exception as e: + logger.error(f"Failed to download {name}: {e}") + + logger.info("Download complete") + + +def cmd_run(n_runs: int = 10, overwrite: bool = False) -> None: + """Run benchmarks on all datasets.""" + logger.info(f"Running benchmark suite ({n_runs} runs per dataset for robustness)...") + + for name, info in DATASET_REGISTRY.items(): + logger.info(f"Benchmarking {name}...") + + # Check if we should skip/resume + output_path = RESULTS_DIR / f"{name}.json" + if output_path.exists() and not overwrite: + import json + + with open(output_path) as f: + existing = json.load(f) + existing_runs = len(existing.get("per_run_results", {})) + if existing_runs >= n_runs: + logger.info(f"Skipping {name}: already has {existing_runs} runs (use --overwrite for fresh)") + continue + elif existing_runs > 0: + logger.info(f"Resuming {name}: {existing_runs}/{n_runs} runs completed") + + if overwrite and output_path.exists(): + output_path.unlink() + logger.info(f"Removed existing results for {name}") + + config = BenchmarkConfig( + dataset=name, + rating_threshold=info.rating_threshold, + n_runs=n_runs, + ) + + try: + run_benchmark(config) + except FileNotFoundError as e: + logger.warning(f"Skipping {name}: {e} (run: python -m benchmarks download)") + except Exception as e: + logger.error(f"Error on {name}: {e}") + + logger.info("Benchmark complete") + + +def cmd_report() -> None: + """Generate markdown report and plots.""" + generate_report(RESULTS_DIR) + + +def cmd_latency() -> None: + """Run latency benchmark and generate plot.""" + RESULTS_DIR.mkdir(parents=True, exist_ok=True) + generate_latency_plot(RESULTS_DIR / "latency.png") + + +def main() -> None: + """Main CLI entry point.""" + parser = argparse.ArgumentParser( + description="Pyversity Benchmark Suite", + formatter_class=argparse.RawDescriptionHelpFormatter, + epilog=__doc__, + ) + parser.add_argument( + "command", + nargs="?", + choices=["download", "run", "report", "latency"], + default=None, + help="Command to run (default: run)", + ) + parser.add_argument( + "--n-runs", + type=int, + default=5, + help="Number of runs per dataset for statistical robustness (default: 5)", + ) + parser.add_argument( + "--overwrite", + action="store_true", + help="Overwrite existing results instead of resuming", + ) + + args = parser.parse_args() + + if args.command == "download": + cmd_download() + elif args.command == "run": + cmd_run(n_runs=args.n_runs, overwrite=args.overwrite) + elif args.command == "report": + cmd_report() + elif args.command == "latency": + cmd_latency() + else: + # Default: run + cmd_run(n_runs=args.n_runs, overwrite=args.overwrite) + + +if __name__ == "__main__": + main() diff --git a/benchmarks/core/__init__.py b/benchmarks/core/__init__.py new file mode 100644 index 0000000..9760d54 --- /dev/null +++ b/benchmarks/core/__init__.py @@ -0,0 +1,23 @@ +from benchmarks.core.config import BenchmarkConfig +from benchmarks.core.data import DATASET_REGISTRY, DatasetInfo, DatasetType, InteractionData, load_dataset +from benchmarks.core.latency import run_latency_benchmark +from benchmarks.core.metrics import ilad, ilmd, mrr, ndcg +from benchmarks.core.report import generate_latency_plot, generate_report +from benchmarks.core.runner import run_benchmark + +__all__ = [ + "BenchmarkConfig", + "DATASET_REGISTRY", + "DatasetInfo", + "DatasetType", + "InteractionData", + "generate_latency_plot", + "generate_report", + "ilad", + "ilmd", + "load_dataset", + "mrr", + "ndcg", + "run_benchmark", + "run_latency_benchmark", +] diff --git a/benchmarks/core/config.py b/benchmarks/core/config.py new file mode 100644 index 0000000..369dfe9 --- /dev/null +++ b/benchmarks/core/config.py @@ -0,0 +1,44 @@ +from __future__ import annotations + +from dataclasses import dataclass, field +from pathlib import Path + +from pyversity import Strategy + + +@dataclass +class BenchmarkConfig: + """Configuration for benchmark runs.""" + + # Dataset (name from registry or DatasetInfo) + dataset: str | None = None + min_interactions: int = 5 + rating_threshold: float | None = None # None = use dataset default + + # Embeddings + embedding_dim: int = 64 + + # Candidate generation + topk_similar_per_item: int = 50 + max_candidates: int = 1000 + + # Evaluation + k: int = 10 + sample_users: int = 2000 + + # Strategies + strategies: list[Strategy] = field(default_factory=lambda: [Strategy.MMR, Strategy.MSD, Strategy.DPP, Strategy.SSD]) + diversity_values: list[float] = field( + default_factory=lambda: [0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0] + ) + + # Output + output_dir: Path = Path("benchmarks/results") + + # Reproducibility + seed: int = 42 + n_runs: int = 10 # Number of runs with different seeds for robustness + + def __post_init__(self) -> None: + """Post-initialization processing.""" + self.output_dir = Path(self.output_dir) diff --git a/benchmarks/core/data.py b/benchmarks/core/data.py new file mode 100644 index 0000000..07f7737 --- /dev/null +++ b/benchmarks/core/data.py @@ -0,0 +1,172 @@ +from __future__ import annotations + +import logging +from dataclasses import dataclass +from enum import Enum +from pathlib import Path + +import numpy as np +import pandas as pd +from datasets import load_dataset as hf_load_dataset +from numpy.typing import NDArray + +logger = logging.getLogger(__name__) + + +class DatasetType(Enum): + """Known dataset types.""" + + MOVIELENS = "movielens" + LASTFM = "lastfm" + HUGGINGFACE = "huggingface" + + +@dataclass +class DatasetInfo: + """Dataset configuration.""" + + name: str + path: str # Local path or hf://... identifier + dataset_type: DatasetType + rating_threshold: float + download_url: str | None = None + + +# Registry of known datasets +DATASET_REGISTRY: dict[str, DatasetInfo] = { + "ml-32m": DatasetInfo( + name="ml-32m", + path="benchmarks/data/ml-32m", + dataset_type=DatasetType.MOVIELENS, + rating_threshold=4.0, + download_url="https://files.grouplens.org/datasets/movielens/ml-32m.zip", + ), + "lastfm": DatasetInfo( + name="lastfm", + path="benchmarks/data/lastfm", + dataset_type=DatasetType.LASTFM, + rating_threshold=1.0, + download_url="http://files.grouplens.org/datasets/hetrec2011/hetrec2011-lastfm-2k.zip", + ), + "amazon-video-games": DatasetInfo( + name="amazon-video-games", + path="hf://LoganKells/amazon_product_reviews_video_games", + dataset_type=DatasetType.HUGGINGFACE, + rating_threshold=4.0, + ), + "goodreads": DatasetInfo( + name="goodreads", + path="hf://qmaruf/goodreads-rating", + dataset_type=DatasetType.HUGGINGFACE, + rating_threshold=4.0, + ), +} + + +@dataclass +class InteractionData: + """Preprocessed interaction data.""" + + user_ids: NDArray[np.int64] + item_ids: NDArray[np.int64] + n_users: int + n_items: int + + +def load_dataset( + dataset: str | DatasetInfo, + min_interactions: int = 5, + rating_threshold: float | None = None, +) -> InteractionData: + """Load and preprocess a dataset from the registry.""" + # Resolve dataset info + if isinstance(dataset, str): + if dataset not in DATASET_REGISTRY: + msg = f"Unknown dataset: {dataset}. Known: {list(DATASET_REGISTRY.keys())}" + raise ValueError(msg) + info = DATASET_REGISTRY[dataset] + else: + info = dataset + + threshold = rating_threshold if rating_threshold is not None else info.rating_threshold + + # Load based on type + if info.dataset_type == DatasetType.HUGGINGFACE: + df = _load_huggingface(info.path.replace("hf://", "")) + elif info.dataset_type == DatasetType.MOVIELENS: + df = _load_movielens(Path(info.path)) + elif info.dataset_type == DatasetType.LASTFM: + df = _load_lastfm(Path(info.path)) + else: + msg = f"Unknown dataset type: {info.dataset_type}" + raise ValueError(msg) + + logger.debug(f"Loaded {len(df):,} raw interactions") + + # Binarize + if threshold is not None: + df = df[df["value"] >= threshold].copy() + logger.debug(f"After binarization (>= {threshold}): {len(df):,}") + + # Filter by interaction count (iteratively until stable) + prev_len = 0 + while len(df) != prev_len: + prev_len = len(df) + user_counts = df["user"].value_counts() + item_counts = df["item"].value_counts() + df = df[df["user"].isin(user_counts[user_counts >= min_interactions].index)] + df = df[df["item"].isin(item_counts[item_counts >= min_interactions].index)] + + logger.debug(f"After filtering (min {min_interactions}): {len(df):,}") + + # Remap IDs to contiguous integers + df["user"] = pd.factorize(df["user"])[0] + df["item"] = pd.factorize(df["item"])[0] + + n_users = df["user"].nunique() + n_items = df["item"].nunique() + logger.debug(f"Final: {n_users:,} users, {n_items:,} items, {len(df):,} interactions") + + return InteractionData( + user_ids=df["user"].values.astype(np.int64), + item_ids=df["item"].values.astype(np.int64), + n_users=n_users, + n_items=n_items, + ) + + +def _load_movielens(path: Path) -> pd.DataFrame: + """Load MovieLens dataset.""" + df = pd.read_csv(path / "ratings.csv") + return df.rename(columns={"userId": "user", "movieId": "item", "rating": "value"})[["user", "item", "value"]] + + +def _load_lastfm(path: Path) -> pd.DataFrame: + """Load Last.FM HetRec 2011 dataset.""" + df = pd.read_csv(path / "user_artists.dat", sep="\t") + return df.rename(columns={"userID": "user", "artistID": "item", "weight": "value"})[["user", "item", "value"]] + + +def _load_huggingface(dataset_id: str) -> pd.DataFrame: + """Load a dataset from HuggingFace Hub.""" + logger.debug(f"Loading from HuggingFace: {dataset_id}") + ds = hf_load_dataset(dataset_id, split="train") + df = ds.to_pandas() + + # Amazon Video Games format + if "reviewerID" in df.columns: + df = df.rename(columns={"reviewerID": "user", "asin": "item", "overall": "value"}) + df = df[df["value"] > 0] + df["user"] = pd.factorize(df["user"])[0] + df["item"] = pd.factorize(df["item"])[0] + return df[["user", "item", "value"]] + + # Goodreads format + if "user_id" in df.columns and "book_id" in df.columns: + df = df.rename(columns={"user_id": "user", "book_id": "item", "rating": "value"}) + df = df[df["value"] > 0] + df["user"] = pd.factorize(df["user"])[0] + return df[["user", "item", "value"]] + + msg = f"Unknown HuggingFace dataset format: {list(df.columns)}" + raise ValueError(msg) diff --git a/benchmarks/core/embeddings.py b/benchmarks/core/embeddings.py new file mode 100644 index 0000000..8fbe5b2 --- /dev/null +++ b/benchmarks/core/embeddings.py @@ -0,0 +1,102 @@ +from __future__ import annotations + +import logging + +import numpy as np +from numpy.typing import NDArray +from scipy import sparse +from sklearn.decomposition import TruncatedSVD +from sklearn.preprocessing import normalize + +from benchmarks.core.data import InteractionData + +logger = logging.getLogger(__name__) + + +def generate_embeddings(data: InteractionData, dim: int = 64, seed: int = 42) -> NDArray[np.float32]: + """Generate L2-normalized item embeddings using SVD on the user-item matrix.""" + ui_matrix = sparse.coo_matrix( + (np.ones(len(data.user_ids)), (data.user_ids, data.item_ids)), + shape=(data.n_users, data.n_items), + dtype=np.float32, + ).tocsr() + + effective_dim = min(dim, min(ui_matrix.T.shape) - 1) + svd = TruncatedSVD(n_components=effective_dim, random_state=seed) + embeddings = svd.fit_transform(ui_matrix.T) + embeddings = normalize(embeddings, norm="l2", axis=1) + + logger.debug(f"Embeddings: {embeddings.shape}, explained variance: {svd.explained_variance_ratio_.sum():.3f}") + return embeddings.astype(np.float32) + + +def compute_similarity_matrix(embeddings: NDArray[np.float32], top_k: int = 100) -> sparse.csr_matrix: + """Compute sparse item-item similarity matrix (top-k per item).""" + n_items = embeddings.shape[0] + similarity = embeddings @ embeddings.T + + rows, cols, data = [], [], [] + for item_idx in range(n_items): + sims = similarity[item_idx].copy() + sims[item_idx] = -np.inf # Exclude self + + if top_k < n_items - 1: + top_indices = np.argpartition(sims, -top_k)[-top_k:] + else: + top_indices = np.arange(n_items)[np.arange(n_items) != item_idx] + + for neighbor_idx in top_indices: + if sims[neighbor_idx] > 0: + rows.append(item_idx) + cols.append(neighbor_idx) + data.append(sims[neighbor_idx]) + + return sparse.coo_matrix((data, (rows, cols)), shape=(n_items, n_items), dtype=np.float32).tocsr() + + +def get_candidates( + profile_items: NDArray[np.int64], + similarity_matrix: sparse.csr_matrix, + topk_per_item: int = 50, + max_candidates: int = 1000, + exclude_items: set[int] | None = None, +) -> tuple[NDArray[np.int64], NDArray[np.float32]]: + """ + Generate candidate items for a user based on their profile. + + Args: + ---- + profile_items: Items in user's profile (used to generate candidates) + similarity_matrix: Item-item similarity matrix + topk_per_item: Top-k similar items per profile item + max_candidates: Maximum number of candidates to return + exclude_items: Items to exclude from candidates (e.g., already-seen items) + + """ + # Exclude profile items and any additional exclusions + exclude_set = set(profile_items) + if exclude_items is not None: + exclude_set |= exclude_items + + scores: dict[int, float] = {} + + for item in profile_items: + row = similarity_matrix.getrow(item) + indices, similarities = row.indices, row.data + + if len(indices) > topk_per_item: + top_idx = np.argpartition(similarities, -topk_per_item)[-topk_per_item:] + indices, similarities = indices[top_idx], similarities[top_idx] + + for idx, sim in zip(indices, similarities): + if idx not in exclude_set: + scores[idx] = scores.get(idx, 0.0) + sim + + if not scores: + return np.array([], dtype=np.int64), np.array([], dtype=np.float32) + + sorted_items = sorted(scores.items(), key=lambda x: -x[1])[:max_candidates] + return ( + np.array([item[0] for item in sorted_items], dtype=np.int64), + np.array([item[1] for item in sorted_items], dtype=np.float32), + ) diff --git a/benchmarks/core/latency.py b/benchmarks/core/latency.py new file mode 100644 index 0000000..aa0f5f7 --- /dev/null +++ b/benchmarks/core/latency.py @@ -0,0 +1,60 @@ +from __future__ import annotations + +import time + +import numpy as np +import pyversity + + +def run_latency_benchmark( + candidate_sizes: list[int] | None = None, + k: int = 10, + embedding_dim: int = 256, + n_runs: int = 10, + seed: int = 42, +) -> list[dict]: + """ + Run synthetic latency benchmark with random embeddings. + + Measures how latency scales with number of candidates for each strategy. + Uses 256d embeddings by default (common for modern embedding models). + """ + if candidate_sizes is None: + candidate_sizes = [100, 250, 500, 1000, 2000, 5000] + + rng = np.random.default_rng(seed) + strategies = [ + pyversity.Strategy.MMR, + pyversity.Strategy.MSD, + pyversity.Strategy.DPP, + pyversity.Strategy.SSD, + ] + + results = [] + for num_candidates in candidate_sizes: + embeddings = rng.standard_normal((num_candidates, embedding_dim)).astype(np.float32) + scores = rng.uniform(0, 1, num_candidates).astype(np.float32) + + for strategy in strategies: + latencies = [] + for _ in range(n_runs): + start = time.perf_counter() + pyversity.diversify( + embeddings=embeddings, + scores=scores, + k=k, + strategy=strategy, + diversity=0.5, + ) + latencies.append((time.perf_counter() - start) * 1000) + + results.append( + { + "n_candidates": num_candidates, + "strategy": strategy.value, + "latency_ms": float(np.median(latencies)), + "latency_std": float(np.std(latencies)), + } + ) + + return results diff --git a/benchmarks/core/metrics.py b/benchmarks/core/metrics.py new file mode 100644 index 0000000..f849f9e --- /dev/null +++ b/benchmarks/core/metrics.py @@ -0,0 +1,50 @@ +from __future__ import annotations + +import numpy as np +from numpy.typing import NDArray + + +def mrr(recommendations: NDArray[np.int64], relevant: NDArray[np.int64]) -> float: + """Compute Mean Reciprocal Rank.""" + relevant_set = set(relevant) + for rank, item in enumerate(recommendations, start=1): + if item in relevant_set: + return 1.0 / rank + return 0.0 + + +def ndcg(recommendations: NDArray[np.int64], relevant: NDArray[np.int64], k: int = 10) -> float: + """Compute Normalized Discounted Cumulative Gain at k.""" + relevant_set = set(relevant) + recs = recommendations[:k] + + dcg = sum(1.0 / np.log2(i + 2) for i, item in enumerate(recs) if item in relevant_set) + idcg = sum(1.0 / np.log2(i + 2) for i in range(min(len(relevant), k))) + + return dcg / idcg if idcg > 0 else 0.0 + + +def ilad(item_ids: NDArray[np.int64], embeddings: NDArray[np.float32]) -> float: + """Compute Intra-List Average Distance (average pairwise dissimilarity).""" + if len(item_ids) < 2: + return 0.0 + + embs = embeddings[item_ids] + sims = embs @ embs.T + num_items = len(item_ids) + mask = np.triu(np.ones((num_items, num_items), dtype=bool), k=1) + + return float(np.mean(1.0 - sims[mask])) + + +def ilmd(item_ids: NDArray[np.int64], embeddings: NDArray[np.float32]) -> float: + """Compute Intra-List Minimum Distance (minimum pairwise dissimilarity).""" + if len(item_ids) < 2: + return 0.0 + + embs = embeddings[item_ids] + sims = embs @ embs.T + num_items = len(item_ids) + mask = np.triu(np.ones((num_items, num_items), dtype=bool), k=1) + + return float(np.min(1.0 - sims[mask])) diff --git a/benchmarks/core/report.py b/benchmarks/core/report.py new file mode 100644 index 0000000..b41e0af --- /dev/null +++ b/benchmarks/core/report.py @@ -0,0 +1,756 @@ +from __future__ import annotations + +import json +import logging +from pathlib import Path + +import matplotlib.pyplot as plt +import seaborn as sns + +from benchmarks.core.latency import run_latency_benchmark + +logger = logging.getLogger(__name__) + +# Set up seaborn styling +sns.set_theme(style="whitegrid", palette="muted") + + +STRATEGIES = ["mmr", "msd", "dpp", "ssd"] + +# Relevance floors: keep configs with at least this fraction of baseline nDCG +RELEVANCE_FLOORS = [0.99, 0.95] # Strict and default + + +def _compute_relevance_budgeted_scores( + all_data: list[dict], + relevance_floor: float = 0.95, +) -> dict[str, dict[str, dict[str, float | str]]]: + """ + Compute best configs per strategy under a relevance floor constraint. + + For each dataset, finds strategies that maximize ILAD, ILMD, and combined diversity + while maintaining >= relevance_floor of baseline (lambda=0) nDCG. + + Returns dict mapping dataset -> goal -> {strategy, lambda, ndcg, ilad, ilmd, score} + """ + datasets = sorted(set(p["dataset"] for p in all_data)) + results: dict[str, dict[str, dict[str, float | str]]] = {} + + for dataset in datasets: + dataset_points = [p for p in all_data if p["dataset"] == dataset] + + # Find baseline nDCG (lambda=0, or minimum lambda for each strategy) + baseline_ndcg = 0.0 + for strategy in STRATEGIES: + strategy_points = [p for p in dataset_points if p["strategy"] == strategy] + if strategy_points: + min_lambda_point = min(strategy_points, key=lambda x: x["lambda"]) + baseline_ndcg = max(baseline_ndcg, min_lambda_point["ndcg"]) + + if baseline_ndcg == 0: + continue + + ndcg_floor = relevance_floor * baseline_ndcg + + # Find baseline (lambda=0) and max for normalization + ilad_baseline = ( + min(p["ilad"] for p in dataset_points if p["lambda"] == 0.0) + if any(p["lambda"] == 0.0 for p in dataset_points) + else min(p["ilad"] for p in dataset_points) + ) + ilmd_baseline = ( + min(p["ilmd"] for p in dataset_points if p["lambda"] == 0.0) + if any(p["lambda"] == 0.0 for p in dataset_points) + else min(p["ilmd"] for p in dataset_points) + ) + ilad_max = max(p["ilad"] for p in dataset_points) + ilmd_max = max(p["ilmd"] for p in dataset_points) + + # Filter to feasible configs (above relevance floor) + feasible = [p for p in dataset_points if p["ndcg"] >= ndcg_floor] + + if not feasible: + continue + + results[dataset] = {} + + # Goal 1: Max ILAD (tie-break by higher nDCG, lower lambda) + best_ilad = max(feasible, key=lambda x: (x["ilad"], x["ndcg"], -x["lambda"])) + results[dataset]["max_ilad"] = { + "strategy": best_ilad["strategy"], + "lambda": best_ilad["lambda"], + "ndcg": best_ilad["ndcg"], + "ndcg_vs_baseline": best_ilad["ndcg"] / baseline_ndcg, + "ilad": best_ilad["ilad"], + "ilmd": best_ilad["ilmd"], + } + + # Goal 2: Max ILMD (tie-break by higher nDCG, lower lambda) + best_ilmd = max(feasible, key=lambda x: (x["ilmd"], x["ndcg"], -x["lambda"])) + results[dataset]["max_ilmd"] = { + "strategy": best_ilmd["strategy"], + "lambda": best_ilmd["lambda"], + "ndcg": best_ilmd["ndcg"], + "ndcg_vs_baseline": best_ilmd["ndcg"] / baseline_ndcg, + "ilad": best_ilmd["ilad"], + "ilmd": best_ilmd["ilmd"], + } + + # Goal 3: Best combined (geometric mean of normalized gains relative to baseline) + def combined_score(point: dict) -> float: + """2-way score: geometric mean of ILAD and ILMD gains.""" + ilad_range = ilad_max - ilad_baseline + ilmd_range = ilmd_max - ilmd_baseline + if ilad_range == 0 or ilmd_range == 0: + return 0.0 + # Clamp gains to [0, 1] to handle noise/non-monotonic behavior + ilad_gain = max(0.0, min(1.0, (point["ilad"] - ilad_baseline) / ilad_range)) + ilmd_gain = max(0.0, min(1.0, (point["ilmd"] - ilmd_baseline) / ilmd_range)) + return (ilad_gain * ilmd_gain) ** 0.5 # Geometric mean + + def combined_score_3way(point: dict) -> float: + """3-way score: includes nDCG gain (rewards relevance improvement).""" + ilad_range = ilad_max - ilad_baseline + ilmd_range = ilmd_max - ilmd_baseline + if ilad_range == 0 or ilmd_range == 0: + return 0.0 + ilad_gain = max(0.0, min(1.0, (point["ilad"] - ilad_baseline) / ilad_range)) + ilmd_gain = max(0.0, min(1.0, (point["ilmd"] - ilmd_baseline) / ilmd_range)) + # nDCG gain: ratio vs baseline, clamped to [0, 2] then normalized to [0, 1] + ndcg_ratio = point["ndcg"] / baseline_ndcg if baseline_ndcg > 0 else 1.0 + ndcg_gain = max(0.0, min(1.0, (ndcg_ratio - 0.5) / 1.0)) # 0.5-1.5 -> 0-1 + return (ilad_gain * ilmd_gain * ndcg_gain) ** (1 / 3) # Cubic root for 3-way + + # Tie-break by higher nDCG, lower lambda + best_combined = max(feasible, key=lambda p: (combined_score(p), p["ndcg"], -p["lambda"])) + results[dataset]["best_combined"] = { + "strategy": best_combined["strategy"], + "lambda": best_combined["lambda"], + "ndcg": best_combined["ndcg"], + "ndcg_vs_baseline": best_combined["ndcg"] / baseline_ndcg, + "ilad": best_combined["ilad"], + "ilmd": best_combined["ilmd"], + "score": combined_score(best_combined), + } + + # Goal 4: Best 3-way score (includes nDCG improvement) + best_3way = max(feasible, key=lambda p: (combined_score_3way(p), p["ndcg"], -p["lambda"])) + results[dataset]["best_3way"] = { + "strategy": best_3way["strategy"], + "lambda": best_3way["lambda"], + "ndcg": best_3way["ndcg"], + "ndcg_vs_baseline": best_3way["ndcg"] / baseline_ndcg, + "ilad": best_3way["ilad"], + "ilmd": best_3way["ilmd"], + "score": combined_score_3way(best_3way), + } + + return results + + +def _get_dataset_baseline_and_bounds( + dataset_points: list[dict], +) -> tuple[float, float, float, float, float] | None: + """Get baseline nDCG and normalization bounds (baseline, not min) for a dataset.""" + baseline_ndcg = 0.0 + for strategy in STRATEGIES: + strategy_points = [p for p in dataset_points if p["strategy"] == strategy] + if strategy_points: + min_lambda_point = min(strategy_points, key=lambda x: x["lambda"]) + baseline_ndcg = max(baseline_ndcg, min_lambda_point["ndcg"]) + + if baseline_ndcg == 0: + return None + + # Use baseline (lambda=0) values, not min + has_baseline = any(p["lambda"] == 0.0 for p in dataset_points) + if has_baseline: + ilad_baseline = float(min(p["ilad"] for p in dataset_points if p["lambda"] == 0.0)) + ilmd_baseline = float(min(p["ilmd"] for p in dataset_points if p["lambda"] == 0.0)) + else: + ilad_baseline = float(min(p["ilad"] for p in dataset_points)) + ilmd_baseline = float(min(p["ilmd"] for p in dataset_points)) + + ilad_max = float(max(p["ilad"] for p in dataset_points)) + ilmd_max = float(max(p["ilmd"] for p in dataset_points)) + + if ilad_max == ilad_baseline or ilmd_max == ilmd_baseline: + return None + + return baseline_ndcg, ilad_baseline, ilad_max, ilmd_baseline, ilmd_max + + +def _aggregate_strategy_metrics(strategy_data: dict[str, list[float]]) -> dict[str, float]: + """Aggregate per-dataset metrics into averages.""" + return {key: sum(values) / len(values) if values else 0.0 for key, values in strategy_data.items()} + + +def _compute_combined_score_2way( + point: dict, ilad_baseline: float, ilad_range: float, ilmd_baseline: float, ilmd_range: float +) -> float: + """Compute 2-way combined score (ILAD × ILMD).""" + if ilad_range <= 0 or ilmd_range <= 0: + return 0.0 + ilad_gain = max(0.0, min(1.0, (point["ilad"] - ilad_baseline) / ilad_range)) + ilmd_gain = max(0.0, min(1.0, (point["ilmd"] - ilmd_baseline) / ilmd_range)) + return (ilad_gain * ilmd_gain) ** 0.5 + + +def _update_accumulator( + acc: dict[str, list[float]], + point: dict, + baseline_ndcg: float, + ilad_baseline: float, + ilad_range: float, + ilmd_baseline: float, + ilmd_range: float, +) -> None: + """Update accumulator with a point's metrics.""" + acc["scores"].append(_compute_combined_score_2way(point, ilad_baseline, ilad_range, ilmd_baseline, ilmd_range)) + acc["ilads"].append(point["ilad"]) + acc["ilmds"].append(point["ilmd"]) + acc["ndcg_ret"].append(point["ndcg"] / baseline_ndcg if baseline_ndcg > 0 else 0) + acc["lambdas"].append(point["lambda"]) + if ilad_baseline > 0: + acc["ilad_pct"].append((point["ilad"] - ilad_baseline) / ilad_baseline * 100) + if ilmd_baseline > 0: + acc["ilmd_pct"].append((point["ilmd"] - ilmd_baseline) / ilmd_baseline * 100) + acc["ndcg_gain"].append((point["ndcg"] / baseline_ndcg - 1) * 100 if baseline_ndcg > 0 else 0) + + +def _get_bounds_for_dataset( + dataset_points: list[dict], feasible_all: list[dict], relevance_floor: float | None, rank_by_ndcg: bool +) -> tuple[float, float, float, float] | None: + """Get normalization bounds for a dataset (supports feasible-max normalization).""" + bounds = _get_dataset_baseline_and_bounds(dataset_points) + if bounds is None: + return None + + baseline_ndcg, ilad_baseline, ilad_max_global, ilmd_baseline, ilmd_max_global = bounds + + # For diversity ranking with floor, use feasible-max normalization + if relevance_floor is not None and not rank_by_ndcg and feasible_all: + ilad_max = max(p["ilad"] for p in feasible_all) + ilmd_max = max(p["ilmd"] for p in feasible_all) + else: + ilad_max = ilad_max_global + ilmd_max = ilmd_max_global + + return ilad_baseline, ilad_max - ilad_baseline, ilmd_baseline, ilmd_max - ilmd_baseline + + +def _select_best_point( + feasible: list[dict], + rank_by_ndcg: bool, + ilad_baseline: float, + ilad_range: float, + ilmd_baseline: float, + ilmd_range: float, +) -> dict: + """Select the best point based on ranking mode.""" + if rank_by_ndcg: + return max(feasible, key=lambda p: (p["ndcg"], -p["lambda"])) + else: + return max( + feasible, + key=lambda p: ( + _compute_combined_score_2way(p, ilad_baseline, ilad_range, ilmd_baseline, ilmd_range), + p["ndcg"], + -p["lambda"], + ), + ) + + +def _compute_strategy_scorecard( + all_data: list[dict], relevance_floor: float | None = None, rank_by_ndcg: bool = False +) -> dict[str, dict[str, float]]: + """Compute per-strategy aggregate scores across all datasets.""" + datasets = sorted(set(p["dataset"] for p in all_data)) + + accumulators: dict[str, dict[str, list[float]]] = { + s: { + "scores": [], + "ilads": [], + "ilmds": [], + "ilad_pct": [], + "ilmd_pct": [], + "ndcg_ret": [], + "ndcg_gain": [], + "lambdas": [], + } + for s in STRATEGIES + } + + for dataset in datasets: + dataset_points = [p for p in all_data if p["dataset"] == dataset] + bounds = _get_dataset_baseline_and_bounds(dataset_points) + if bounds is None: + continue + + baseline_ndcg = bounds[0] + ndcg_floor = relevance_floor * baseline_ndcg if relevance_floor else 0 + feasible_all = [p for p in dataset_points if p["ndcg"] >= ndcg_floor] if relevance_floor else dataset_points + + if not feasible_all: + continue + + norm_bounds = _get_bounds_for_dataset(dataset_points, feasible_all, relevance_floor, rank_by_ndcg) + if norm_bounds is None: + continue + + ilad_baseline, ilad_range, ilmd_baseline, ilmd_range = norm_bounds + + for strategy in STRATEGIES: + strategy_points = [p for p in dataset_points if p["strategy"] == strategy] + feasible = [p for p in strategy_points if p["ndcg"] >= ndcg_floor] if relevance_floor else strategy_points + + if not feasible: + continue + + best_point = _select_best_point( + feasible, rank_by_ndcg, ilad_baseline, ilad_range, ilmd_baseline, ilmd_range + ) + _update_accumulator( + accumulators[strategy], best_point, baseline_ndcg, ilad_baseline, ilad_range, ilmd_baseline, ilmd_range + ) + + scorecard: dict[str, dict[str, float]] = {} + for strategy, acc in accumulators.items(): + if acc["scores"]: + scorecard[strategy] = { + "diversity_score": sum(acc["scores"]) / len(acc["scores"]), + "ilad_at_best": sum(acc["ilads"]) / len(acc["ilads"]), + "ilmd_at_best": sum(acc["ilmds"]) / len(acc["ilmds"]), + "ilad_pct_gain": sum(acc["ilad_pct"]) / len(acc["ilad_pct"]) if acc["ilad_pct"] else 0.0, + "ilmd_pct_gain": sum(acc["ilmd_pct"]) / len(acc["ilmd_pct"]) if acc["ilmd_pct"] else 0.0, + "ndcg_retention": sum(acc["ndcg_ret"]) / len(acc["ndcg_ret"]), + "ndcg_pct_gain": sum(acc["ndcg_gain"]) / len(acc["ndcg_gain"]), + "typical_diversity": sum(acc["lambdas"]) / len(acc["lambdas"]), + } + + return scorecard + + +def _compute_sweet_spots(all_data: list[dict]) -> dict[str, dict[str, float]]: + """ + Find the optimal operating point (sweet spot) for each strategy. + + The sweet spot maximizes combined diversity while nDCG is at or above baseline. + This shows the "free lunch" region where you get diversity without losing relevance. + """ + datasets = sorted(set(p["dataset"] for p in all_data)) + strategy_sweet_spots: dict[str, list[dict]] = {s: [] for s in STRATEGIES} + + for dataset in datasets: + dataset_points = [p for p in all_data if p["dataset"] == dataset] + bounds = _get_dataset_baseline_and_bounds(dataset_points) + if bounds is None: + continue + + baseline_ndcg, ilad_baseline, ilad_max, ilmd_baseline, ilmd_max = bounds + ilad_range = ilad_max - ilad_baseline + ilmd_range = ilmd_max - ilmd_baseline + + def combined_diversity(point: dict) -> float: + ilad_gain = max(0.0, min(1.0, (point["ilad"] - ilad_baseline) / ilad_range)) + ilmd_gain = max(0.0, min(1.0, (point["ilmd"] - ilmd_baseline) / ilmd_range)) + return (ilad_gain * ilmd_gain) ** 0.5 + + for strategy in STRATEGIES: + strategy_points = [p for p in dataset_points if p["strategy"] == strategy] + # Find points where nDCG >= baseline (no loss or gain) + no_loss = [p for p in strategy_points if p["ndcg"] >= baseline_ndcg] + + if no_loss: + # Find point with best diversity that doesn't lose relevance + best = max(no_loss, key=lambda p: (combined_diversity(p), p["ndcg"], -p["lambda"])) + strategy_sweet_spots[strategy].append( + { + "lambda": best["lambda"], + "ndcg_gain": (best["ndcg"] / baseline_ndcg - 1) * 100, + "ilad": best["ilad"], + "ilmd": best["ilmd"], + "ilad_gain": (best["ilad"] - ilad_baseline) / ilad_baseline * 100 if ilad_baseline > 0 else 0, + "ilmd_gain": (best["ilmd"] - ilmd_baseline) / ilmd_baseline * 100 if ilmd_baseline > 0 else 0, + } + ) + + # Aggregate across datasets + sweet_spots: dict[str, dict[str, float]] = {} + for strategy in STRATEGIES: + spots = strategy_sweet_spots[strategy] + if spots: + sweet_spots[strategy] = { + "typical_diversity": sum(s["lambda"] for s in spots) / len(spots), + "avg_ndcg_gain": sum(s["ndcg_gain"] for s in spots) / len(spots), + "avg_ilad": sum(s["ilad"] for s in spots) / len(spots), + "avg_ilmd": sum(s["ilmd"] for s in spots) / len(spots), + "avg_ilad_gain": sum(s["ilad_gain"] for s in spots) / len(spots), + "avg_ilmd_gain": sum(s["ilmd_gain"] for s in spots) / len(spots), + "datasets_with_sweet_spot": float(len(spots)), + } + + return sweet_spots + + +def generate_pareto_plot(all_data: list[dict], output_path: Path, diversity_metric: str = "ilad") -> None: + """Generate Pareto frontier plot showing relevance vs diversity tradeoff.""" + fig, axes = plt.subplots(2, 2, figsize=(12, 10)) + axes = axes.flatten() + + datasets = sorted(set(point["dataset"] for point in all_data)) + strategies = ["mmr", "msd", "dpp", "ssd"] + colors = {"mmr": "#e74c3c", "msd": "#2ecc71", "dpp": "#3498db", "ssd": "#9b59b6"} + + name_map = { + "ml-32m": "MovieLens-32M", + "lastfm": "Last.FM", + "amazon-video-games": "Amazon Video Games", + "goodreads": "Goodreads", + } + + metric_label = "ILAD (Avg Diversity)" if diversity_metric == "ilad" else "ILMD (Min Diversity)" + + markers = {"mmr": "o", "msd": "s", "dpp": "^", "ssd": "D"} + + # Get best operating points for each dataset (use default 95% floor) + budgeted_scores_95 = _compute_relevance_budgeted_scores(all_data, relevance_floor=0.95) + budgeted_scores_99 = _compute_relevance_budgeted_scores(all_data, relevance_floor=0.99) + + for ax, dataset in zip(axes, datasets): + for strategy in strategies: + strategy_points = [p for p in all_data if p["dataset"] == dataset and p["strategy"] == strategy] + strategy_points = sorted(strategy_points, key=lambda x: x["lambda"]) + + if strategy_points: + x_vals = [p[diversity_metric] for p in strategy_points] + y_vals = [p["ndcg"] for p in strategy_points] + ax.plot( + x_vals, + y_vals, + color=colors[strategy], + marker=markers[strategy], + label=strategy.upper(), + markersize=7, + linewidth=2.5, + alpha=0.8, + ) + + # Add stars for best operating points at both floors + goal_key = "max_ilad" if diversity_metric == "ilad" else "max_ilmd" + + # Filled star for 95% floor + if dataset in budgeted_scores_95: + best = budgeted_scores_95[dataset].get(goal_key) + if best: + x_star = best["ilad"] if diversity_metric == "ilad" else best["ilmd"] + y_star = best["ndcg"] + strategy = str(best["strategy"]) + ax.scatter( + [x_star], + [y_star], + marker="*", + s=200, + c=colors[strategy], + edgecolors="black", + linewidths=1, + zorder=10, + ) + + # Diamond for 99% floor + if dataset in budgeted_scores_99: + best = budgeted_scores_99[dataset].get(goal_key) + if best: + x_diamond = best["ilad"] if diversity_metric == "ilad" else best["ilmd"] + y_diamond = best["ndcg"] + strategy = str(best["strategy"]) + ax.scatter( + [x_diamond], + [y_diamond], + marker="D", + s=100, + c=colors[strategy], + edgecolors="black", + linewidths=1, + zorder=10, + ) + + ax.set_xlabel(f"{metric_label} →", fontsize=10) + ax.set_ylabel("nDCG@10 (Relevance) →", fontsize=10) + ax.set_title(name_map.get(dataset, dataset), fontsize=12, fontweight="bold") + # ILAD data is mostly on the right, ILMD data more spread out + legend_loc = "upper left" if diversity_metric == "ilad" else "upper right" + ax.legend(loc=legend_loc, fontsize=9, framealpha=0.9) + ax.grid(True, alpha=0.3, linestyle="--") + ax.set_xlim(0.0, 1.05) + + if diversity_metric == "ilad": + title = "Relevance vs Average Pairwise Diversity (nDCG@10 vs ILAD)" + else: + title = "Relevance vs Minimum Pairwise Diversity (nDCG@10 vs ILMD)" + plt.suptitle(title, fontsize=14, fontweight="bold", y=1.02) + plt.tight_layout() + fig.savefig(output_path, dpi=150, bbox_inches="tight", facecolor="white") + plt.close() + + +def generate_latency_plot(output_path: Path) -> None: + """Generate latency scaling plot using synthetic benchmark.""" + logger.info("Running synthetic latency benchmark...") + results = run_latency_benchmark() + + fig, ax = plt.subplots(figsize=(10, 6)) + + strategies = ["mmr", "msd", "dpp", "ssd"] + colors = {"mmr": "#e74c3c", "msd": "#2ecc71", "dpp": "#3498db", "ssd": "#9b59b6"} + markers = {"mmr": "o", "msd": "s", "dpp": "^", "ssd": "D"} + + for strategy in strategies: + points = [r for r in results if r["strategy"] == strategy] + points = sorted(points, key=lambda x: x["n_candidates"]) + + x_vals = [p["n_candidates"] for p in points] + y_vals = [p["latency_ms"] for p in points] + + ax.plot( + x_vals, + y_vals, + color=colors[strategy], + marker=markers[strategy], + label=strategy.upper(), + markersize=8, + linewidth=2.5, + alpha=0.8, + ) + + ax.set_xlabel("Number of Candidates (n)", fontsize=11) + ax.set_ylabel("Latency (ms)", fontsize=11) + ax.set_title("Latency Scaling by Strategy (k=10, d=256)", fontsize=12, fontweight="bold") + ax.legend(loc="upper left", fontsize=10) + ax.grid(True, alpha=0.3, linestyle="--") + + plt.tight_layout() + fig.savefig(output_path, dpi=150, bbox_inches="tight", facecolor="white") + plt.close() + + +def _log_per_strategy_diversity_tables(all_data: list[dict]) -> None: + """Log per-strategy tables showing metrics across diversity values (averaged over datasets).""" + datasets = sorted(set(p["dataset"] for p in all_data)) + lambda_values = sorted(set(p["lambda"] for p in all_data)) + + logger.info("\n=== Per-Strategy Diversity Sweep (Averaged Across Datasets) ===") + + for strategy in STRATEGIES: + logger.info(f"\n#### {strategy.upper()}") + logger.info("") + logger.info("| `diversity` | nDCG Retention | ILAD | ILMD |") + logger.info("|:-----------:|:--------------:|:----:|:----:|") + + for lam in lambda_values: + ndcg_rets = [] + ilads = [] + ilmds = [] + ilad_pct_gains = [] + ilmd_pct_gains = [] + + for dataset in datasets: + dataset_points = [p for p in all_data if p["dataset"] == dataset] + bounds = _get_dataset_baseline_and_bounds(dataset_points) + if bounds is None: + continue + + baseline_ndcg, ilad_baseline, _, ilmd_baseline, _ = bounds + + # Find point for this strategy/lambda + point = next( + (p for p in dataset_points if p["strategy"] == strategy and p["lambda"] == lam), + None, + ) + if point is None: + continue + + ndcg_rets.append(point["ndcg"] / baseline_ndcg if baseline_ndcg > 0 else 0) + ilads.append(point["ilad"]) + ilmds.append(point["ilmd"]) + + if ilad_baseline > 0: + ilad_pct_gains.append((point["ilad"] - ilad_baseline) / ilad_baseline * 100) + if ilmd_baseline > 0: + ilmd_pct_gains.append((point["ilmd"] - ilmd_baseline) / ilmd_baseline * 100) + + if ndcg_rets: + avg_ndcg_ret = sum(ndcg_rets) / len(ndcg_rets) + avg_ilad = sum(ilads) / len(ilads) + avg_ilmd = sum(ilmds) / len(ilmds) + avg_ilad_gain = sum(ilad_pct_gains) / len(ilad_pct_gains) if ilad_pct_gains else 0 + avg_ilmd_gain = sum(ilmd_pct_gains) / len(ilmd_pct_gains) if ilmd_pct_gains else 0 + + logger.info( + f"| {lam:.1f} | {avg_ndcg_ret:.1%} | " + f"{avg_ilad:.2f} (+{avg_ilad_gain:.0f}%) | " + f"{avg_ilmd:.2f} (+{avg_ilmd_gain:.0f}%) |" + ) + + +def _log_per_dataset_configs(recommendations: dict, floor_pct: int) -> None: + """Log per-dataset config table.""" + name_map = { + "ml-32m": "MovieLens-32M", + "lastfm": "Last.FM", + "amazon-video-games": "Amazon Video Games", + "goodreads": "Goodreads", + } + + logger.info(f"\nBest configs per dataset (maintaining ≥{floor_pct}% baseline relevance):") + logger.info("| Dataset | Goal | Strategy | λ | nDCG vs Base | ILAD | ILMD |") + logger.info("|---------|------|----------|---|--------------|------|------|") + + for dataset, goals in recommendations.items(): + display_name = name_map.get(dataset, dataset)[:16] + for goal, config in goals.items(): + if goal == "best_3way": + continue + goal_display = {"max_ilad": "Max ILAD", "max_ilmd": "Max ILMD", "best_combined": "Best Overall"}[goal] + strategy_name = str(config["strategy"]).upper() + logger.info( + f"| {display_name:16} | {goal_display:12} | {strategy_name:8} | " + f"{config['lambda']:.1f} | {config['ndcg_vs_baseline']:.1%} | " + f"{config['ilad']:.3f} | {config['ilmd']:.3f} |" + ) + + +def _log_scorecard_table( + scorecard: dict[str, dict[str, float]], title: str, rank_by_ndcg: bool = False +) -> list[tuple[str, dict]]: + """Log scorecard table and return sorted strategies.""" + logger.info(f"\n=== {title} ===") + + if rank_by_ndcg: + logger.info("| Strategy | nDCG Δ | ILAD (+%) | ILMD (+%) | `diversity` |") + logger.info("|----------|:------:|:---------:|:---------:|:-----------:|") + sort_key = lambda x: x[1]["ndcg_pct_gain"] + else: + logger.info("| Strategy | Diversity Score | nDCG Δ | ILAD (+%) | ILMD (+%) | `diversity` |") + logger.info("|----------|:---------------:|:------:|:---------:|:---------:|:-----------:|") + sort_key = lambda x: x[1]["diversity_score"] + + sorted_strategies = sorted(scorecard.items(), key=sort_key, reverse=True) + + for strategy, scores in sorted_strategies: + ndcg_delta = scores["ndcg_pct_gain"] + ndcg_str = f"+{ndcg_delta:.1f}%" if ndcg_delta >= 0 else f"{ndcg_delta:.1f}%" + + if rank_by_ndcg: + logger.info( + f"| **{strategy.upper()}** | {ndcg_str} | " + f"{scores['ilad_at_best']:.2f} (+{scores['ilad_pct_gain']:.0f}%) | " + f"{scores['ilmd_at_best']:.2f} (+{scores['ilmd_pct_gain']:.0f}%) | " + f"{scores['typical_diversity']:.1f} |" + ) + else: + logger.info( + f"| **{strategy.upper()}** | {scores['diversity_score']:.3f} | " + f"{ndcg_str} | " + f"{scores['ilad_at_best']:.2f} (+{scores['ilad_pct_gain']:.0f}%) | " + f"{scores['ilmd_at_best']:.2f} (+{scores['ilmd_pct_gain']:.0f}%) | " + f"{scores['typical_diversity']:.1f} |" + ) + + return sorted_strategies + + +def _log_per_floor_analysis(all_data: list[dict], floor: float) -> None: + """Log analysis for a single relevance floor (diversity leaderboard).""" + floor_pct = int(floor * 100) + + # Diversity leaderboard: maximize diversity under floor constraint + scorecard = _compute_strategy_scorecard(all_data, relevance_floor=floor, rank_by_ndcg=False) + title = f"Diversity Leaderboard (≥{floor_pct}% baseline nDCG)" + sorted_strategies = _log_scorecard_table(scorecard, title, rank_by_ndcg=False) + + if sorted_strategies: + best_strategy = sorted_strategies[0][0].upper() + best_scores = sorted_strategies[0][1] + logger.info(f"\nBest diversity under {floor_pct}% floor: {best_strategy}") + logger.info(f" Diversity score: {best_scores['diversity_score']:.3f}") + logger.info(f" nDCG: {'+' if best_scores['ndcg_pct_gain'] >= 0 else ''}{best_scores['ndcg_pct_gain']:.1f}%") + logger.info(f" ILAD: +{best_scores['ilad_pct_gain']:.0f}%") + logger.info(f" ILMD: +{best_scores['ilmd_pct_gain']:.0f}%") + + +def _log_relevance_budgeted_analysis(all_data: list[dict]) -> None: + """Log the three main tables: accuracy leaderboard + two diversity leaderboards.""" + # Table 1: Accuracy leaderboard (best nDCG, no constraints) + logger.info("\n" + "=" * 60) + logger.info("TABLE 1: ACCURACY LEADERBOARD") + logger.info("Best nDCG per strategy (selecting λ that maximizes nDCG)") + logger.info("=" * 60) + + accuracy_scorecard = _compute_strategy_scorecard(all_data, relevance_floor=None, rank_by_ndcg=True) + _log_scorecard_table(accuracy_scorecard, "Best Relevance (Accuracy)", rank_by_ndcg=True) + + # Table 2 & 3: Diversity leaderboards under floor constraints + for floor in RELEVANCE_FLOORS: + floor_pct = int(floor * 100) + logger.info("\n" + "=" * 60) + logger.info(f"TABLE {RELEVANCE_FLOORS.index(floor) + 2}: DIVERSITY LEADERBOARD (≥{floor_pct}% nDCG)") + logger.info(f"Best diversity per strategy under ≥{floor_pct}% baseline relevance") + logger.info("Ranked by geometric mean of normalized ILAD/ILMD gains") + logger.info("Uses feasible-max normalization for fair comparison") + logger.info("=" * 60) + + _log_per_floor_analysis(all_data, floor) + + # Per-strategy diversity sweep tables (for detailed results) + _log_per_strategy_diversity_tables(all_data) + + +def generate_report(results_dir: Path) -> None: + """Generate plots from JSON results. Main findings are in benchmarks/README.md.""" + results = [] + for json_path in results_dir.glob("*.json"): + with open(json_path) as f: + results.append(json.load(f)) + + if not results: + logger.warning("No results found.") + return + + all_data: list[dict] = [] + for dataset_result in results: + dataset = dataset_result["dataset"] + for run in dataset_result["results"]: + all_data.append( + { + "dataset": dataset, + "strategy": run["strategy"], + "lambda": run["diversity"], + "ndcg": run["ndcg@10"], + "mrr": run["mrr"], + "ilad": run["ilad"], + "ilmd": run["ilmd"], + } + ) + + # Generate ILAD plot (average diversity) + pareto_ilad_path = results_dir / "pareto_ilad.png" + generate_pareto_plot(all_data, pareto_ilad_path, diversity_metric="ilad") + logger.debug(f"Saved: {pareto_ilad_path}") + + # Generate ILMD plot (minimum diversity) + pareto_ilmd_path = results_dir / "pareto_ilmd.png" + generate_pareto_plot(all_data, pareto_ilmd_path, diversity_metric="ilmd") + logger.debug(f"Saved: {pareto_ilmd_path}") + + latency_path = results_dir / "latency.png" + generate_latency_plot(latency_path) + logger.debug(f"Saved: {latency_path}") + + # Relevance-budgeted analysis + _log_relevance_budgeted_analysis(all_data) + + # Per-strategy diversity sweep tables + _log_per_strategy_diversity_tables(all_data) + + logger.info(f"\nReport generated: {results_dir}") diff --git a/benchmarks/core/runner.py b/benchmarks/core/runner.py new file mode 100644 index 0000000..e792796 --- /dev/null +++ b/benchmarks/core/runner.py @@ -0,0 +1,296 @@ +from __future__ import annotations + +import json +import logging +from collections import defaultdict +from datetime import datetime, timezone +from pathlib import Path + +import numpy as np +import pyversity +from scipy import sparse +from tqdm import tqdm + +from benchmarks.core.config import BenchmarkConfig +from benchmarks.core.data import InteractionData, load_dataset +from benchmarks.core.embeddings import compute_similarity_matrix, generate_embeddings, get_candidates +from benchmarks.core.metrics import ilad, ilmd, mrr, ndcg + +logger = logging.getLogger(__name__) + + +def run_benchmark(config: BenchmarkConfig) -> dict: + """Run benchmark suite and return results dictionary.""" + if config.dataset is None: + msg = "config.dataset must be specified" + raise ValueError(msg) + + dataset_name = config.dataset if isinstance(config.dataset, str) else config.dataset.name + config.output_dir.mkdir(parents=True, exist_ok=True) + output_path = config.output_dir / f"{dataset_name}.json" + + # Load existing results if resuming + existing_runs: dict[int, list[dict]] = {} + if output_path.exists(): + with open(output_path) as f: + existing = json.load(f) + if "per_run_results" in existing: + existing_runs = {int(k): v for k, v in existing["per_run_results"].items()} + logger.info(f"Resuming: found {len(existing_runs)} existing runs") + + # Load raw data (once, shared across runs) + logger.info("[1/4] Loading dataset...") + data = load_dataset(config.dataset, config.min_interactions, config.rating_threshold) + + # Run multiple times with different seeds for robustness + per_run_results: dict[int, list[dict]] = existing_runs.copy() + + for run_idx in range(config.n_runs): + # Skip if already completed + if run_idx in per_run_results: + logger.info(f"Skipping run {run_idx + 1}/{config.n_runs} (already completed)") + continue + + run_seed = config.seed + run_idx + rng = np.random.default_rng(run_seed) + + # Sample users and their held-out items FIRST (before training) + user_counts = np.bincount(data.user_ids, minlength=data.n_users) + eligible = np.where(user_counts >= 2)[0] + sampled_users = rng.choice(eligible, min(len(eligible), config.sample_users), replace=False) + + # For each sampled user, select their held-out item + holdout_map: dict[int, int] = {} # user_id -> held-out item_id + for user_id in sampled_users: + user_mask = data.user_ids == user_id + user_items = data.item_ids[user_mask] + holdout_idx = rng.integers(len(user_items)) + holdout_map[user_id] = user_items[holdout_idx] + + # Create training data by removing held-out edges (leakage-free) + logger.info( + f"[2/4] Run {run_idx + 1}/{config.n_runs}: Creating training data (removing {len(holdout_map)} held-out edges)..." + ) + train_data = _create_training_data(data, holdout_map) + + # Train embeddings on training data only (no leakage) + logger.info(f"[2/4] Run {run_idx + 1}/{config.n_runs}: Generating embeddings...") + embeddings = generate_embeddings(train_data, dim=config.embedding_dim, seed=run_seed) + + logger.info(f"[3/4] Run {run_idx + 1}/{config.n_runs}: Computing similarity matrix...") + similarity = compute_similarity_matrix(embeddings, top_k=100) + + run_desc = f"Run {run_idx + 1}/{config.n_runs}" if config.n_runs > 1 else "Users" + logger.info(f"[4/4] {run_desc}: Evaluating {len(sampled_users)} users...") + + # Run evaluation for this run (use train_data for profile to avoid leakage) + run_results = [] + for user_id in tqdm(sampled_users, desc=run_desc): + test_item = holdout_map[user_id] + user_results = _evaluate_user(user_id, test_item, train_data, data, embeddings, similarity, config) + run_results.extend(user_results) + + # Save this run immediately (for resumability) + per_run_results[run_idx] = _aggregate_single_run(run_results) + _save_intermediate(output_path, dataset_name, data, config, per_run_results) + + # Aggregate results across all runs + aggregated = _aggregate_across_runs(per_run_results) + + # Build final output + output = { + "dataset": dataset_name, + "timestamp": datetime.now(timezone.utc).isoformat(), + "config": { + "n_users": data.n_users, + "n_items": data.n_items, + "n_interactions": len(data.user_ids), + "sample_users": config.sample_users, + "n_runs": config.n_runs, + "total_evaluations": config.sample_users * config.n_runs, + "k": config.k, + "embedding_dim": config.embedding_dim, + "seed": config.seed, + }, + "per_run_results": {str(k): v for k, v in per_run_results.items()}, + "results": aggregated, + } + + # Save final results + with open(output_path, "w") as f: + json.dump(output, f, indent=2) + logger.info(f"Saved results to: {output_path}") + + # Print summary table (keep as print for nice formatting) + _print_summary(aggregated) + + return output + + +def _create_training_data(data: InteractionData, holdout_map: dict[int, int]) -> InteractionData: + """Create training data by removing held-out edges (vectorized for speed).""" + # Build lookup array: holdout_item[user] = item to hold out, or -1 if not in holdout + holdout_item = np.full(data.n_users, -1, dtype=data.item_ids.dtype) + for user_id, item_id in holdout_map.items(): + holdout_item[user_id] = item_id + + # Vectorized mask: remove exactly the (user, holdout_item[user]) edge for users in holdout_map + is_holdout_user = holdout_item[data.user_ids] != -1 + is_holdout_edge = is_holdout_user & (data.item_ids == holdout_item[data.user_ids]) + keep_mask = ~is_holdout_edge + + return InteractionData( + user_ids=data.user_ids[keep_mask], + item_ids=data.item_ids[keep_mask], + n_users=data.n_users, + n_items=data.n_items, + ) + + +def _save_intermediate( + output_path: Path, dataset_name: str, data: InteractionData, config: BenchmarkConfig, per_run_results: dict +) -> None: + """Save intermediate results after each run for resumability.""" + intermediate = { + "dataset": dataset_name, + "timestamp": datetime.now(timezone.utc).isoformat(), + "config": { + "n_users": data.n_users, + "n_items": data.n_items, + "n_interactions": len(data.user_ids), + "sample_users": config.sample_users, + "n_runs": config.n_runs, + "k": config.k, + "embedding_dim": config.embedding_dim, + "seed": config.seed, + }, + "per_run_results": {str(k): v for k, v in per_run_results.items()}, + "results": _aggregate_across_runs(per_run_results), + } + with open(output_path, "w") as f: + json.dump(intermediate, f, indent=2) + logger.debug(f"Saved intermediate results ({len(per_run_results)} runs completed)") + + +def _evaluate_user( + user_id: int, + test_item: int, + train_data: InteractionData, + original_data: InteractionData, + embeddings: np.ndarray, + similarity: sparse.csr_matrix, + config: BenchmarkConfig, +) -> list[dict]: + """ + Evaluate all strategies for a single user using leave-one-out. + + Uses next-item prediction: test_item is eligible as a candidate, + but other already-interacted items are excluded. + """ + # Get user's profile from training data (held-out item already removed) + mask = train_data.user_ids == user_id + profile_items = train_data.item_ids[mask] + test_items = np.array([test_item]) + + if len(profile_items) < 1: + return [] + + # Get all items user has interacted with (from original data) + # Exclude these from candidates, EXCEPT the test_item (which we want to retrieve) + orig_mask = original_data.user_ids == user_id + all_seen_items = set(original_data.item_ids[orig_mask]) + exclude_items = all_seen_items - {test_item} + + # Generate candidates using training profile, excluding seen items (except test) + candidate_ids, relevance_scores = get_candidates( + profile_items, similarity, config.topk_similar_per_item, config.max_candidates, exclude_items + ) + + if len(candidate_ids) < config.k: + return [] + + candidate_embeddings = embeddings[candidate_ids] + results = [] + + for strategy in config.strategies: + for diversity in config.diversity_values: + result = pyversity.diversify( + embeddings=candidate_embeddings, + scores=relevance_scores, + k=config.k, + strategy=strategy, + diversity=diversity, + ) + + selected = candidate_ids[result.indices] + results.append( + { + "strategy": strategy.value, + "diversity": diversity, + "mrr": mrr(selected, test_items), + "ndcg@10": ndcg(selected, test_items, k=10), + "ilad": ilad(selected, embeddings), + "ilmd": ilmd(selected, embeddings), + } + ) + + return results + + +def _aggregate_single_run(results: list[dict]) -> list[dict]: + """Aggregate per-user results from a single run into means.""" + groups: dict[tuple[str, float], list[dict]] = defaultdict(list) + for r in results: + key = (r["strategy"], r["diversity"]) + groups[key].append(r) + + aggregated = [] + for (strategy, diversity), group in sorted(groups.items()): + agg = {"strategy": strategy, "diversity": diversity} + for metric in ["mrr", "ndcg@10", "ilad", "ilmd"]: + values = [r[metric] for r in group] + agg[metric] = float(np.mean(values)) + aggregated.append(agg) + + return aggregated + + +def _aggregate_across_runs(per_run_results: dict[int, list[dict]]) -> list[dict]: + """Aggregate results across multiple runs, computing mean and std.""" + if not per_run_results: + return [] + + # Group by (strategy, diversity) across runs + groups: dict[tuple[str, float], dict[str, list[float]]] = defaultdict(lambda: defaultdict(list)) + + for run_results in per_run_results.values(): + for row in run_results: + key = (row["strategy"], row["diversity"]) + for metric in ["mrr", "ndcg@10", "ilad", "ilmd"]: + groups[key][metric].append(row[metric]) + + aggregated = [] + for (strategy, diversity), metrics in sorted(groups.items()): + agg = {"strategy": strategy, "diversity": diversity} + for metric in ["mrr", "ndcg@10", "ilad", "ilmd"]: + values = metrics[metric] + agg[metric] = float(np.mean(values)) + agg[f"{metric}_std"] = float(np.std(values)) + aggregated.append(agg) + + return aggregated + + +def _print_summary(results: list[dict]) -> None: + """Print summary table (uses print for table formatting).""" + print("\n" + "=" * 55) # noqa: T201 + print("RESULTS SUMMARY") # noqa: T201 + print("=" * 55) # noqa: T201 + print(f"{'Strategy':<10} {'λ':>5} {'nDCG@10':>10} {'MRR':>10} {'ILAD':>10}") # noqa: T201 + print("-" * 55) # noqa: T201 + + for row in results: + print( # noqa: T201 + f"{row['strategy']:<10} {row['diversity']:>5.1f} " + f"{row['ndcg@10']:>10.4f} {row['mrr']:>10.4f} {row['ilad']:>10.4f}" + ) diff --git a/benchmarks/results/amazon-video-games.json b/benchmarks/results/amazon-video-games.json new file mode 100644 index 0000000..395fcb8 --- /dev/null +++ b/benchmarks/results/amazon-video-games.json @@ -0,0 +1,4087 @@ +{ + "dataset": "amazon-video-games", + "timestamp": "2026-01-26T11:20:46.729050+00:00", + "config": { + "n_users": 707, + "n_items": 537, + "n_interactions": 5834, + "sample_users": 2000, + "n_runs": 10, + "total_evaluations": 20000, + "k": 10, + "embedding_dim": 64, + "seed": 42 + }, + "per_run_results": { + "0": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.051654093980826654, + "ndcg@10": 0.07226743164339795, + "ilad": 0.7137441910813856, + "ilmd": 0.22501837760420804 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.05143968478480502, + "ndcg@10": 0.07263061790448247, + "ilad": 0.7466213684186571, + "ilmd": 0.27611554520470755 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.05189319952403403, + "ndcg@10": 0.07302096452506637, + "ilad": 0.750746919503475, + "ilmd": 0.28068160614501975 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.051617610740665905, + "ndcg@10": 0.07279399603551041, + "ilad": 0.7560697510690972, + "ilmd": 0.28786619726299734 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.051967849846209106, + "ndcg@10": 0.07307831431424658, + "ilad": 0.7630301718580335, + "ilmd": 0.2972617971340703 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.05235457219191307, + "ndcg@10": 0.07370733271003367, + "ilad": 0.7703432949547045, + "ilmd": 0.30997052995285185 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.052572349071641856, + "ndcg@10": 0.07420565016613388, + "ilad": 0.7835314221564244, + "ilmd": 0.33113143543542867 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.052387126467748825, + "ndcg@10": 0.07312210676443999, + "ilad": 0.8010217361942544, + "ilmd": 0.3607192257000331 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.05014873936373229, + "ndcg@10": 0.06824543049883587, + "ilad": 0.8302259319573851, + "ilmd": 0.4112866466925539 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.04519936687546306, + "ndcg@10": 0.060718651380761185, + "ilad": 0.888178338761714, + "ilmd": 0.5218811739114926 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.02912485126063627, + "ndcg@10": 0.03477460082961605, + "ilad": 0.9924883055889286, + "ilmd": 0.8959774625351945 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.051654093980826654, + "ndcg@10": 0.07226743164339795, + "ilad": 0.7137441910813856, + "ilmd": 0.22501837760420804 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.05137626007498709, + "ndcg@10": 0.07144455003015196, + "ilad": 0.7235144216151015, + "ilmd": 0.237010620186656 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.05116297344020117, + "ndcg@10": 0.070967234332196, + "ilad": 0.7348559297716095, + "ilmd": 0.25665306547574984 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.05108607799555465, + "ndcg@10": 0.07178460428257753, + "ilad": 0.752487021086071, + "ilmd": 0.27867423712448486 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.05130217103342987, + "ndcg@10": 0.07162088348136468, + "ilad": 0.7749311989318195, + "ilmd": 0.31255334733736395 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.050697671807997134, + "ndcg@10": 0.07138952181689727, + "ilad": 0.8045877281897813, + "ilmd": 0.3660336721904544 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.050660627287218526, + "ndcg@10": 0.06958057882540733, + "ilad": 0.8416872681704741, + "ilmd": 0.4300695423358232 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.04533407422374891, + "ndcg@10": 0.062392486711179376, + "ilad": 0.8980055794941822, + "ilmd": 0.5459099798087858 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.03842302597606699, + "ndcg@10": 0.05199602841325359, + "ilad": 0.957828157018907, + "ilmd": 0.7172628416873441 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.035236074627870956, + "ndcg@10": 0.044418279055206705, + "ilad": 0.9931142297290171, + "ilmd": 0.871120582544146 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.03117577063828832, + "ndcg@10": 0.03612804978858595, + "ilad": 1.0021305950898598, + "ilmd": 0.9081911750696336 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.051654093980826654, + "ndcg@10": 0.07226743164339795, + "ilad": 0.7137441910813856, + "ilmd": 0.22501837760420804 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.05109842616914753, + "ndcg@10": 0.07232024669626147, + "ilad": 0.7734406871202137, + "ilmd": 0.25780770153102306 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.04967333468040682, + "ndcg@10": 0.0690260890724424, + "ilad": 0.8251277029598619, + "ilmd": 0.29541966230562416 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.04944601603017445, + "ndcg@10": 0.06823881294045718, + "ilad": 0.8746074910211091, + "ilmd": 0.34227129661042077 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.047763296737837045, + "ndcg@10": 0.06352137031161996, + "ilad": 0.9199279760875999, + "ilmd": 0.40104857833247204 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.044419748097258696, + "ndcg@10": 0.05707788799224596, + "ilad": 0.9575509907838479, + "ilmd": 0.4738718240905179 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.04201690577220988, + "ndcg@10": 0.052908074481997046, + "ilad": 0.9844579689067695, + "ilmd": 0.570623632789164 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.03646247277789003, + "ndcg@10": 0.04489293685490985, + "ilad": 1.0019801876163887, + "ilmd": 0.6508785915341033 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.029966210906804965, + "ndcg@10": 0.034599982037453604, + "ilad": 1.013533970759984, + "ilmd": 0.7298309691724548 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.029543005320940258, + "ndcg@10": 0.03265654927707773, + "ilad": 1.020052444058058, + "ilmd": 0.7772890379944819 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.02744157068768101, + "ndcg@10": 0.030311060082888135, + "ilad": 1.0229310055264658, + "ilmd": 0.7909424216440408 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.051654093980826654, + "ndcg@10": 0.07226743164339795, + "ilad": 0.7137441910813856, + "ilmd": 0.22501837760420804 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.052109853842527115, + "ndcg@10": 0.07293125151722579, + "ilad": 0.7174654761500541, + "ilmd": 0.2285158624912084 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.05196616600435554, + "ndcg@10": 0.0727997026716613, + "ilad": 0.7203463396897917, + "ilmd": 0.23138121255216368 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.05115062526660828, + "ndcg@10": 0.07183793139662682, + "ilad": 0.7239555198873118, + "ilmd": 0.23560863826028697 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.05106474933207606, + "ndcg@10": 0.0717635899810103, + "ilad": 0.7289422508092042, + "ilmd": 0.24381580421914475 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.05152948968366225, + "ndcg@10": 0.07271001482484632, + "ilad": 0.7366513643608741, + "ilmd": 0.2544355471704097 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.05126849419635841, + "ndcg@10": 0.07190880263370408, + "ilad": 0.7505066744256054, + "ilmd": 0.27103152217757076 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.052103679755730666, + "ndcg@10": 0.07380660194158079, + "ilad": 0.7715158900074777, + "ilmd": 0.29587622899483085 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.0516866482566624, + "ndcg@10": 0.0722010833011219, + "ilad": 0.8095709314777962, + "ilmd": 0.35007924954321296 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.04423845445769067, + "ndcg@10": 0.06028438325601173, + "ilad": 0.8969044390291271, + "ilmd": 0.4950551780986651 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.027732314047731303, + "ndcg@10": 0.031142344002935533, + "ilad": 1.0183467273159108, + "ilmd": 0.8818877699351547 + } + ], + "1": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.05465189376080465, + "ndcg@10": 0.07400872804690801, + "ilad": 0.715049016298634, + "ilmd": 0.22932942104137263 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.05408051009182552, + "ndcg@10": 0.073782746690554, + "ilad": 0.7460498933323371, + "ilmd": 0.27734525697740503 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.054385285467322235, + "ndcg@10": 0.07376530339861295, + "ilad": 0.7500474855957139, + "ilmd": 0.28333124008340577 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.054482948294829484, + "ndcg@10": 0.07385755008047944, + "ilad": 0.7555255611259832, + "ilmd": 0.29161482467678346 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.054324105879975756, + "ndcg@10": 0.07400403292354556, + "ilad": 0.76164018496597, + "ilmd": 0.3000830352896511 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.05482757459419411, + "ndcg@10": 0.07444722731070162, + "ilad": 0.7698144725559456, + "ilmd": 0.3131282817693546 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.05419613389910419, + "ndcg@10": 0.07396398666934158, + "ilad": 0.782155574464056, + "ilmd": 0.33415320536709237 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.053258795267281826, + "ndcg@10": 0.07202244342590455, + "ilad": 0.8005715164301925, + "ilmd": 0.36331944713498104 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.052887788778877884, + "ndcg@10": 0.07312668494127665, + "ilad": 0.8299411724109461, + "ilmd": 0.414692261853009 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.04746637929099032, + "ndcg@10": 0.06371080459319804, + "ilad": 0.8883797951263956, + "ilmd": 0.5242955314556645 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.030734042792034306, + "ndcg@10": 0.03411232271767173, + "ilad": 0.9927844092397407, + "ilmd": 0.8951643002252431 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.05465189376080465, + "ndcg@10": 0.07400872804690801, + "ilad": 0.715049016298634, + "ilmd": 0.22932942104137263 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.054109696683954114, + "ndcg@10": 0.07356559306898647, + "ilad": 0.7263100066313143, + "ilmd": 0.2454801415115637 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.05401147257582902, + "ndcg@10": 0.0737611436974745, + "ilad": 0.7374101562328015, + "ilmd": 0.26267128086831987 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.0535444871017714, + "ndcg@10": 0.07422939312124396, + "ilad": 0.7529766989985146, + "ilmd": 0.28767474503631807 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.05297590983588155, + "ndcg@10": 0.07408651836197933, + "ilad": 0.7742169959710377, + "ilmd": 0.31829291818165545 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.05267337958285625, + "ndcg@10": 0.07264284260697511, + "ilad": 0.8056680998083894, + "ilmd": 0.3610353893909967 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.05238656518713095, + "ndcg@10": 0.0714357726881723, + "ilad": 0.845235811601771, + "ilmd": 0.43471551211247855 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.04892458633618464, + "ndcg@10": 0.0645566083571833, + "ilad": 0.8993790269403849, + "ilmd": 0.5530786437563376 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.04247154307267461, + "ndcg@10": 0.05218795039580836, + "ilad": 0.9568021722359232, + "ilmd": 0.7143777672101281 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.03952706495139309, + "ndcg@10": 0.047332139052749474, + "ilad": 0.9925862442823246, + "ilmd": 0.867364683700923 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.03461136930019532, + "ndcg@10": 0.03984194892141113, + "ilad": 1.0020884256045923, + "ilmd": 0.9064926367669328 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.05465189376080465, + "ndcg@10": 0.07400872804690801, + "ilad": 0.715049016298634, + "ilmd": 0.22932942104137263 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.05372297433825015, + "ndcg@10": 0.07263347314743769, + "ilad": 0.7741321583701327, + "ilmd": 0.2614553652524611 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.05312015895467098, + "ndcg@10": 0.07216461808647821, + "ilad": 0.8267631042205967, + "ilmd": 0.2985692519109691 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.053065153454120925, + "ndcg@10": 0.07186963334798513, + "ilad": 0.8749917269680423, + "ilmd": 0.3446855265989668 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.05125221705844054, + "ndcg@10": 0.06903092075967475, + "ilad": 0.9192118159952393, + "ilmd": 0.40944273426306804 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.047328865539615184, + "ndcg@10": 0.06030827799366152, + "ilad": 0.9569623321084019, + "ilmd": 0.47753028552636734 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.04665420623695022, + "ndcg@10": 0.05905640151465125, + "ilad": 0.9839089335781512, + "ilmd": 0.5765730030465834 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.04176096181046676, + "ndcg@10": 0.050915983114183626, + "ilad": 1.0020830347143441, + "ilmd": 0.6601355128949231 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.03372735232706944, + "ndcg@10": 0.03814203063149456, + "ilad": 1.0141289768664132, + "ilmd": 0.7361129120181945 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.028412024875956985, + "ndcg@10": 0.03158042665170184, + "ilad": 1.0205398978404647, + "ilmd": 0.7712259560696981 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.02896320244269325, + "ndcg@10": 0.03170720539773054, + "ilad": 1.0228813520752558, + "ilmd": 0.7798906430665303 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.05465189376080465, + "ndcg@10": 0.07400872804690801, + "ilad": 0.715049016298634, + "ilmd": 0.22932942104137263 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.05459352057654745, + "ndcg@10": 0.07368149756681973, + "ilad": 0.7174625484828733, + "ilmd": 0.23325983174619444 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.05480736849195124, + "ndcg@10": 0.07415897833484238, + "ilad": 0.7219783347600589, + "ilmd": 0.23758190406599677 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.05468725443972969, + "ndcg@10": 0.07435079956539552, + "ilad": 0.726156322546356, + "ilmd": 0.24295096687414017 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.05457106935183314, + "ndcg@10": 0.0742377592197533, + "ilad": 0.7321527993156347, + "ilmd": 0.25021377859223515 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.054589030331604595, + "ndcg@10": 0.0745420642831526, + "ilad": 0.7395494685230363, + "ilmd": 0.2611093965413041 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.05389977773287533, + "ndcg@10": 0.07424364941237946, + "ilad": 0.7499716105690434, + "ilmd": 0.2746159758055227 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.053139242495678134, + "ndcg@10": 0.07303390174910969, + "ilad": 0.7691177866583666, + "ilmd": 0.29776094624143007 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.052467389596102476, + "ndcg@10": 0.0721660925858661, + "ilad": 0.8086711124871374, + "ilmd": 0.3516668763322574 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.0495234727554388, + "ndcg@10": 0.06626653942311203, + "ilad": 0.8955201193837836, + "ilmd": 0.49577142755583964 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.028989582631732562, + "ndcg@10": 0.031999411471891184, + "ilad": 1.0177214030160593, + "ilmd": 0.8779701062779784 + } + ], + "2": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.04903964886284547, + "ndcg@10": 0.06781118711754867, + "ilad": 0.7159813881932088, + "ilmd": 0.23220067263661212 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.04971486944612829, + "ndcg@10": 0.06929874881684113, + "ilad": 0.7502028202319246, + "ilmd": 0.28563222343884564 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.04963011607283177, + "ndcg@10": 0.06950265270785698, + "ilad": 0.7532911082727063, + "ilmd": 0.29090632677415473 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.04973788195146045, + "ndcg@10": 0.06960861328372962, + "ilad": 0.7585727121823242, + "ilmd": 0.30003541977773124 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.04960485844502818, + "ndcg@10": 0.06922238643858827, + "ilad": 0.7650341127684295, + "ilmd": 0.3101670929195183 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.050385038503850385, + "ndcg@10": 0.07049306991865056, + "ilad": 0.773534968010607, + "ilmd": 0.3235255714184493 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.05015154576682158, + "ndcg@10": 0.07057143469614503, + "ilad": 0.7847923107413625, + "ilmd": 0.3424917701447364 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.05098224108125098, + "ndcg@10": 0.07155318903843882, + "ilad": 0.8020386306366117, + "ilmd": 0.3736820360052872 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.051096742327293956, + "ndcg@10": 0.07135569226518104, + "ilad": 0.8305907755289254, + "ilmd": 0.421937660246961 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.048943108596573935, + "ndcg@10": 0.06710482359956894, + "ilad": 0.8859784003700192, + "ilmd": 0.5268052983317719 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.028037089423228037, + "ndcg@10": 0.03162495855426475, + "ilad": 0.9926554833814143, + "ilmd": 0.8959440249196206 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.04903964886284547, + "ndcg@10": 0.06781118711754867, + "ilad": 0.7159813881932088, + "ilmd": 0.23220067263661212 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.048813452773848805, + "ndcg@10": 0.06761615242774605, + "ilad": 0.7272287139292316, + "ilmd": 0.24920374770481482 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.048895399744056045, + "ndcg@10": 0.06797730860138604, + "ilad": 0.7408112343585137, + "ilmd": 0.2695089354373441 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.05014930064435015, + "ndcg@10": 0.06960245637398135, + "ilad": 0.7557418374647683, + "ilmd": 0.29105398349748474 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.049703643833771134, + "ndcg@10": 0.06952396127719812, + "ilad": 0.7769697352801219, + "ilmd": 0.3266349920457627 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.04754102961316539, + "ndcg@10": 0.0682089831998523, + "ilad": 0.8053194955518256, + "ilmd": 0.3689331756285596 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.04651164096001437, + "ndcg@10": 0.06552407214210977, + "ilad": 0.8439836762160526, + "ilmd": 0.44227625414876653 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.04477896769268763, + "ndcg@10": 0.06049020150785842, + "ilad": 0.9001983698810513, + "ilmd": 0.5532294540459229 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.04013942210547585, + "ndcg@10": 0.05149218211331824, + "ilad": 0.9570607065817254, + "ilmd": 0.7181309892399477 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.030521878718484097, + "ndcg@10": 0.034330495791961325, + "ilad": 0.9920781704121634, + "ilmd": 0.8690707326103977 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.02913888327608271, + "ndcg@10": 0.031350495182635274, + "ilad": 1.0021109065881375, + "ilmd": 0.9069179531708466 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.04903964886284547, + "ndcg@10": 0.06781118711754867, + "ilad": 0.7159813881932088, + "ilmd": 0.23220067263661212 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.0488852966929346, + "ndcg@10": 0.06823617453656905, + "ilad": 0.7778612804800651, + "ilmd": 0.26441349015377535 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.04769033025751554, + "ndcg@10": 0.06460547502255319, + "ilad": 0.829279708853874, + "ilmd": 0.30405159709814417 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.048442446285444876, + "ndcg@10": 0.0655183163133819, + "ilad": 0.8758177716374566, + "ilmd": 0.3472823743435753 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.04525549493724883, + "ndcg@10": 0.058633539680949164, + "ilad": 0.9212086527823053, + "ilmd": 0.4061604393422182 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.042131968298870705, + "ndcg@10": 0.053892295911295844, + "ilad": 0.9577903388413209, + "ilmd": 0.4801010369748678 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.03726678790328013, + "ndcg@10": 0.04491244259305827, + "ilad": 0.9839345780761104, + "ilmd": 0.565701015009064 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.034049527401719765, + "ndcg@10": 0.03916329621830139, + "ilad": 1.0020982677056396, + "ilmd": 0.6578606765037548 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.030132911250308703, + "ndcg@10": 0.03431335643652479, + "ilad": 1.0135690997311215, + "ilmd": 0.7269049643458537 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.026286455176129857, + "ndcg@10": 0.02865186931015391, + "ilad": 1.019807823898094, + "ilmd": 0.7646507887219776 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.02559102849060416, + "ndcg@10": 0.02716194152784906, + "ilad": 1.0227389987321014, + "ilmd": 0.7778567764512889 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.04903964886284547, + "ndcg@10": 0.06781118711754867, + "ilad": 0.7159813881932088, + "ilmd": 0.23220067263661212 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.04873094452302373, + "ndcg@10": 0.06697717005134603, + "ilad": 0.719625461809706, + "ilmd": 0.23685543220147723 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.048789878987898785, + "ndcg@10": 0.06759023438000758, + "ilad": 0.7234412036741302, + "ilmd": 0.24220249305520064 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.04913731169035271, + "ndcg@10": 0.06818104539149639, + "ilad": 0.7280851547333611, + "ilmd": 0.2484884963514444 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.048891470779731036, + "ndcg@10": 0.06800376240938026, + "ilad": 0.7334793387073102, + "ilmd": 0.253952467627033 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.04930625715632787, + "ndcg@10": 0.06863380781859198, + "ilad": 0.7410971784945761, + "ilmd": 0.2641554818800855 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.0501683841853573, + "ndcg@10": 0.06963287514067902, + "ilad": 0.7519631619753561, + "ilmd": 0.2790823684217569 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.04988437619272132, + "ndcg@10": 0.06909797681750107, + "ilad": 0.7725495023724045, + "ilmd": 0.3061729117363818 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.0494493837138816, + "ndcg@10": 0.06908098165279715, + "ilad": 0.8109731434764079, + "ilmd": 0.36407272793784673 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.04516625131900945, + "ndcg@10": 0.06151816874779498, + "ilad": 0.8953084218957299, + "ilmd": 0.5023714045992667 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.02643968478480501, + "ndcg@10": 0.02908143962546805, + "ilad": 1.0177270947116437, + "ilmd": 0.8770822301780992 + } + ], + "3": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.043674928717361526, + "ndcg@10": 0.0667073858005424, + "ilad": 0.7113603905285939, + "ilmd": 0.2273524703702967 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.04431422734110146, + "ndcg@10": 0.06645990886022471, + "ilad": 0.7463649923174183, + "ilmd": 0.2805653101484037 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.044872140275252013, + "ndcg@10": 0.06719958702315502, + "ilad": 0.7493217090484614, + "ilmd": 0.28518047654814227 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.0450276150063986, + "ndcg@10": 0.0676456302201727, + "ilad": 0.7533335830315505, + "ilmd": 0.2917882266442543 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.04483902471879841, + "ndcg@10": 0.06694171891199543, + "ilad": 0.7596243768719669, + "ilmd": 0.30257515286792286 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.044342852652612195, + "ndcg@10": 0.06654539760984586, + "ilad": 0.7677333330922619, + "ilmd": 0.31532924507429777 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.0446493118699625, + "ndcg@10": 0.06741023697343768, + "ilad": 0.7797623049504686, + "ilmd": 0.3351996351333791 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.044553894164926694, + "ndcg@10": 0.06674286481168515, + "ilad": 0.7978655001651785, + "ilmd": 0.363224230021702 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.04184739902561685, + "ndcg@10": 0.06264167449876157, + "ilad": 0.8276461813035072, + "ilmd": 0.41356653464059684 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.038890572730742465, + "ndcg@10": 0.057328056926360324, + "ilad": 0.8880563716402823, + "ilmd": 0.5245167413223245 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.020313868121506026, + "ndcg@10": 0.023813862809818027, + "ilad": 0.992855048921523, + "ilmd": 0.8965545804193704 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.043674928717361526, + "ndcg@10": 0.0667073858005424, + "ilad": 0.7113603905285939, + "ilmd": 0.2273524703702967 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.0451959991917559, + "ndcg@10": 0.06887656614025721, + "ilad": 0.7235758390166972, + "ilmd": 0.24189276894214637 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.04428223434588357, + "ndcg@10": 0.06726745258942132, + "ilad": 0.7363304644190776, + "ilmd": 0.2615707803312083 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.04342684268426843, + "ndcg@10": 0.06600616188326125, + "ilad": 0.7524988518914543, + "ilmd": 0.2875469247724919 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.0428857681686536, + "ndcg@10": 0.0652420341520086, + "ilad": 0.7731110032916575, + "ilmd": 0.32245103211854775 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.04319334994723962, + "ndcg@10": 0.0655294994496977, + "ilad": 0.8006902637626696, + "ilmd": 0.3635640660303485 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.04018993736108305, + "ndcg@10": 0.062049559583373805, + "ilad": 0.8417488623626499, + "ilmd": 0.44392093379561604 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.03831918906176332, + "ndcg@10": 0.05556005125553092, + "ilad": 0.8972866928476255, + "ilmd": 0.5501994608652474 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.029446465054668736, + "ndcg@10": 0.04078474879192467, + "ilad": 0.9576576986946851, + "ilmd": 0.7203824978738054 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.026953256550144813, + "ndcg@10": 0.034241194033821545, + "ilad": 0.992777021130207, + "ilmd": 0.8681082201981983 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.02487427314159987, + "ndcg@10": 0.0302926282694491, + "ilad": 1.0022953636575453, + "ilmd": 0.9078397745796106 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.043674928717361526, + "ndcg@10": 0.0667073858005424, + "ilad": 0.7113603905285939, + "ilmd": 0.2273524703702967 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.0440072068431333, + "ndcg@10": 0.06504704876573612, + "ilad": 0.7721904477860668, + "ilmd": 0.262993170567584 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.04366201926315081, + "ndcg@10": 0.06477318068725653, + "ilad": 0.8252999229933619, + "ilmd": 0.3008357832758902 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.039823421117621965, + "ndcg@10": 0.057656937002152214, + "ilad": 0.874772197454957, + "ilmd": 0.33887821056549416 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.03951583933903594, + "ndcg@10": 0.055860459108699016, + "ilad": 0.9197583495305991, + "ilmd": 0.4021534966950369 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.03811600547809883, + "ndcg@10": 0.05308829514120546, + "ilad": 0.9574745453398839, + "ilmd": 0.47673092594915606 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.029091174423564802, + "ndcg@10": 0.038185351136017814, + "ilad": 0.9844429916168709, + "ilmd": 0.5620970485739863 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.02942794279427943, + "ndcg@10": 0.03786286172495964, + "ilad": 1.0025160703834415, + "ilmd": 0.6523085059505878 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.021482454367885765, + "ndcg@10": 0.025079267461857402, + "ilad": 1.0138155167982972, + "ilmd": 0.7237305554338695 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.019566242338519568, + "ndcg@10": 0.021949547584566218, + "ilad": 1.020492979627013, + "ilmd": 0.7653354251232983 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.019845198805594846, + "ndcg@10": 0.02281022141745636, + "ilad": 1.0232980264801284, + "ilmd": 0.7841127166653624 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.043674928717361526, + "ndcg@10": 0.0667073858005424, + "ilad": 0.7113603905285939, + "ilmd": 0.2273524703702967 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.044213758110504923, + "ndcg@10": 0.06715338911733738, + "ilad": 0.714199760425546, + "ilmd": 0.2313495488281466 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.04457915179273029, + "ndcg@10": 0.06747553571058743, + "ilad": 0.7183112407253351, + "ilmd": 0.23536725403395872 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.045024247322691446, + "ndcg@10": 0.06845425181419584, + "ilad": 0.7237116622789914, + "ilmd": 0.24190410697645648 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.045230798590063084, + "ndcg@10": 0.06864969475101287, + "ilad": 0.7304445217657292, + "ilmd": 0.2508329886526839 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.04407848948160122, + "ndcg@10": 0.06652707156532973, + "ilad": 0.7385155100802215, + "ilmd": 0.2615116874264524 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.043871938214229585, + "ndcg@10": 0.06641689133727241, + "ilad": 0.7487856360018, + "ilmd": 0.2741188726465638 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.044445567005680156, + "ndcg@10": 0.06748898434681294, + "ilad": 0.7683193996401116, + "ilmd": 0.3005890302475979 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.04338867560225411, + "ndcg@10": 0.0663313373815667, + "ilad": 0.8053020046657686, + "ilmd": 0.3531469266856408 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.036156013560539726, + "ndcg@10": 0.053455927247412376, + "ilad": 0.8949913036873857, + "ilmd": 0.49373301134419745 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.01997597718955569, + "ndcg@10": 0.023214347508875927, + "ilad": 1.0182255584077418, + "ilmd": 0.8780946263666706 + } + ], + "4": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.055947890707438094, + "ndcg@10": 0.0787925522972865, + "ilad": 0.7065953442028591, + "ilmd": 0.23235701216329444 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.054923553579847774, + "ndcg@10": 0.07707380963314965, + "ilad": 0.7424024897805367, + "ilmd": 0.28119954226546445 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.05479614287959409, + "ndcg@10": 0.0769666232718415, + "ilad": 0.7463056791621185, + "ilmd": 0.2873647754229447 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.055069486540490785, + "ndcg@10": 0.07718845667444205, + "ilad": 0.7504829755935507, + "ilmd": 0.2940478044149731 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.05559203879571631, + "ndcg@10": 0.0778862891809523, + "ilad": 0.7574998749449027, + "ilmd": 0.3053329073556579 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.05515367863316944, + "ndcg@10": 0.07718336630962581, + "ilad": 0.766146452330801, + "ilmd": 0.31734840645648466 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.05579578365999865, + "ndcg@10": 0.07742880202487487, + "ilad": 0.7792545207571949, + "ilmd": 0.335538876107255 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.05485002581890842, + "ndcg@10": 0.07511590972479952, + "ilad": 0.7978585255365224, + "ilmd": 0.36750733447715617 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.053066837295974494, + "ndcg@10": 0.07300992039012034, + "ilad": 0.8291412103799984, + "ilmd": 0.41807594511768603 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.049205787925731354, + "ndcg@10": 0.06639171501175818, + "ilad": 0.8876843231570771, + "ilmd": 0.5213304946918299 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.03072786870523787, + "ndcg@10": 0.03607190442254007, + "ilad": 0.9924228232685882, + "ilmd": 0.8954113472300507 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.055947890707438094, + "ndcg@10": 0.0787925522972865, + "ilad": 0.7065953442028591, + "ilmd": 0.23235701216329444 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.05519970364383377, + "ndcg@10": 0.0767333025811496, + "ilad": 0.7176755378404803, + "ilmd": 0.24450649028114416 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.05584180867066299, + "ndcg@10": 0.07786724138250666, + "ilad": 0.7308260030001191, + "ilmd": 0.26652425628740345 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.056259962730966964, + "ndcg@10": 0.07759648042072763, + "ilad": 0.7467651905062512, + "ilmd": 0.2853212282377726 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.0556571473473878, + "ndcg@10": 0.07883947662788338, + "ilad": 0.7704752973653639, + "ilmd": 0.31814692592013843 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.055249096338205246, + "ndcg@10": 0.078479592485046, + "ilad": 0.8022825910144682, + "ilmd": 0.3621017389958448 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.05442625895242586, + "ndcg@10": 0.07570087351069842, + "ilad": 0.8423978619730624, + "ilmd": 0.4342788248790541 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.04922038122179565, + "ndcg@10": 0.06703900140263246, + "ilad": 0.8987372057694188, + "ilmd": 0.5482924572986457 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.04565344289530994, + "ndcg@10": 0.05871430395084166, + "ilad": 0.9564009988324814, + "ilmd": 0.7141086393400837 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.03872162726476729, + "ndcg@10": 0.04766314703228389, + "ilad": 0.991212151934099, + "ilmd": 0.8614489202620791 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.030854156844255857, + "ndcg@10": 0.0346493461348597, + "ilad": 1.0016285235001647, + "ilmd": 0.9056343481766621 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.055947890707438094, + "ndcg@10": 0.0787925522972865, + "ilad": 0.7065953442028591, + "ilmd": 0.23235701216329444 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.055473608585348326, + "ndcg@10": 0.07725188515096805, + "ilad": 0.7715875715059471, + "ilmd": 0.2663262564019739 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.05484721941581913, + "ndcg@10": 0.07664126054633043, + "ilad": 0.824025327827165, + "ilmd": 0.30397932279902434 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.05353438405064996, + "ndcg@10": 0.07229067599254793, + "ilad": 0.8730373871545644, + "ilmd": 0.34734892448913596 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.052794054915695644, + "ndcg@10": 0.0713981135400499, + "ilad": 0.9185609884106961, + "ilmd": 0.4113715110607498 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.048162367257133874, + "ndcg@10": 0.06264932730543488, + "ilad": 0.956271030187944, + "ilmd": 0.47784254574539636 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.04493893266877708, + "ndcg@10": 0.057127475603336156, + "ilad": 0.9834045696966719, + "ilmd": 0.5635176187188824 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.040733256999169305, + "ndcg@10": 0.049070507076361056, + "ilad": 1.0013409830218831, + "ilmd": 0.6498848621376502 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.03204238791226061, + "ndcg@10": 0.03743661570464513, + "ilad": 1.0133542893125111, + "ilmd": 0.7223445533694438 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.028536067892503538, + "ndcg@10": 0.031225895100804583, + "ilad": 1.0200862727711528, + "ilmd": 0.7673483149502874 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.025164455221032306, + "ndcg@10": 0.027181309443951942, + "ilad": 1.0224393377715493, + "ilmd": 0.7764928650316457 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.055947890707438094, + "ndcg@10": 0.0787925522972865, + "ilad": 0.7065953442028591, + "ilmd": 0.23235701216329444 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.05541579668170899, + "ndcg@10": 0.07807081549547587, + "ilad": 0.709476749369245, + "ilmd": 0.23632029470325022 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.055196335960126616, + "ndcg@10": 0.0773052346271365, + "ilad": 0.713434814943114, + "ilmd": 0.23861523590128358 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.05516490424552659, + "ndcg@10": 0.07699998934182002, + "ilad": 0.7172406590642484, + "ilmd": 0.2424884645908523 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.05536808782919108, + "ndcg@10": 0.07747108848491144, + "ilad": 0.7237397467314438, + "ilmd": 0.24893369305420462 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.05586089221167015, + "ndcg@10": 0.07815383895274779, + "ilad": 0.7327350914225382, + "ilmd": 0.25982853782902005 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.056076985249545366, + "ndcg@10": 0.07831232668119684, + "ilad": 0.7450579824676945, + "ilmd": 0.27706666604801483 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.05606968860151322, + "ndcg@10": 0.07794317829947245, + "ilad": 0.7669207747535625, + "ilmd": 0.30153555335553395 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.054849464538290565, + "ndcg@10": 0.07694135068603918, + "ilad": 0.8061053034608401, + "ilmd": 0.3539040468875556 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.049933768887092785, + "ndcg@10": 0.06829540345569751, + "ilad": 0.8949747400034267, + "ilmd": 0.49396777051847424 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.02521777687972879, + "ndcg@10": 0.02750462709642389, + "ilad": 1.0175015910342862, + "ilmd": 0.8777027941997857 + } + ], + "5": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.06183291798567612, + "ndcg@10": 0.08208492367794533, + "ilad": 0.7173827371679911, + "ilmd": 0.23617512687429512 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.06131373341415774, + "ndcg@10": 0.08109973133079819, + "ilad": 0.7504805226558674, + "ilmd": 0.2856271014017971 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.06109202757010394, + "ndcg@10": 0.08060783852393104, + "ilad": 0.7546281506013668, + "ilmd": 0.2933051216888967 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.06106227969735749, + "ndcg@10": 0.08057370754205818, + "ilad": 0.7594263016587437, + "ilmd": 0.3033875542280529 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.060748523831975036, + "ndcg@10": 0.0797384044396743, + "ilad": 0.7665464293417196, + "ilmd": 0.3139670977666658 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.06144058283379358, + "ndcg@10": 0.08060669953000298, + "ilad": 0.7750526645143097, + "ilmd": 0.326949491021994 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.06181664084775824, + "ndcg@10": 0.08170908045910097, + "ilad": 0.7872002499528451, + "ilmd": 0.34560138433960913 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.06141027368042926, + "ndcg@10": 0.08052717025507009, + "ilad": 0.8036886609595433, + "ilmd": 0.37564407851773574 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.060795110123257216, + "ndcg@10": 0.07972202171816674, + "ilad": 0.8319677423048222, + "ilmd": 0.42420380489829573 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.06011090905008867, + "ndcg@10": 0.07779391757742836, + "ilad": 0.8874772884046509, + "ilmd": 0.5268631918932795 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.039532116476953816, + "ndcg@10": 0.04538547088622592, + "ilad": 0.9930878515122129, + "ilmd": 0.8975158870810329 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.06183291798567612, + "ndcg@10": 0.08208492367794533, + "ilad": 0.7173827371679911, + "ilmd": 0.23617512687429512 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.061574728901461574, + "ndcg@10": 0.08161831131728255, + "ilad": 0.7283422467015589, + "ilmd": 0.24854578366542637 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.06181776340899396, + "ndcg@10": 0.08212795020605296, + "ilad": 0.7400942057202526, + "ilmd": 0.2683129672282487 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.06243461080801958, + "ndcg@10": 0.08379668719961952, + "ilad": 0.7566634203074171, + "ilmd": 0.29450125749917144 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.06259176938101972, + "ndcg@10": 0.08270783873417209, + "ilad": 0.7784365480067538, + "ilmd": 0.32998885840303993 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.06229653577602659, + "ndcg@10": 0.08245242090240586, + "ilad": 0.8054151871206062, + "ilmd": 0.375300017239518 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.06030791854695674, + "ndcg@10": 0.08012908710752978, + "ilad": 0.8456427827161306, + "ilmd": 0.4421051375599528 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.057739498439639894, + "ndcg@10": 0.07544423398033817, + "ilad": 0.9005258026858199, + "ilmd": 0.5555116465101823 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.048080981567544506, + "ndcg@10": 0.058649031998375185, + "ilad": 0.9572968815981583, + "ilmd": 0.7205447914576767 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.04164702184504165, + "ndcg@10": 0.047429264480756295, + "ilad": 0.9919048871481435, + "ilmd": 0.86635785047202 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.04035214745964392, + "ndcg@10": 0.04481969749329786, + "ilad": 1.0019980157281587, + "ilmd": 0.9059833487155919 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.06183291798567612, + "ndcg@10": 0.08208492367794533, + "ilad": 0.7173827371679911, + "ilmd": 0.23617512687429512 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.06141644776722571, + "ndcg@10": 0.08173877878768919, + "ilad": 0.7781804319065396, + "ilmd": 0.27100085613582564 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.06143328618576143, + "ndcg@10": 0.0811259227892779, + "ilad": 0.8274407739180655, + "ilmd": 0.3078372167394387 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.06069351833142497, + "ndcg@10": 0.07873650910573915, + "ilad": 0.8752282050239315, + "ilmd": 0.3534248346486557 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.05739487214027525, + "ndcg@10": 0.07108579747943565, + "ilad": 0.9205598103612282, + "ilmd": 0.40772868180713356 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.05638849599245639, + "ndcg@10": 0.06935376912480937, + "ilad": 0.956954451396408, + "ilmd": 0.48310022753738446 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.0497053276756247, + "ndcg@10": 0.05854474978290312, + "ilad": 0.9838446855039206, + "ilmd": 0.5737137304674281 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.049394378213331536, + "ndcg@10": 0.057286276374394866, + "ilad": 1.00220485893638, + "ilmd": 0.6593449891372314 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.04218304483509575, + "ndcg@10": 0.047309331287820375, + "ilad": 1.0140071479232173, + "ilmd": 0.7379077550714053 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.03818560427471318, + "ndcg@10": 0.041476718304133964, + "ilad": 1.0207265447693465, + "ilmd": 0.770391444084162 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.03783143620484498, + "ndcg@10": 0.04210778081981564, + "ilad": 1.0233376688802092, + "ilmd": 0.778010239021107 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.06183291798567612, + "ndcg@10": 0.08208492367794533, + "ilad": 0.7173827371679911, + "ilmd": 0.23617512687429512 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.0615146718753508, + "ndcg@10": 0.08154849896851527, + "ilad": 0.720083343489504, + "ilmd": 0.2396941010483252 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.06163029568262949, + "ndcg@10": 0.08164062066431772, + "ilad": 0.7236971416980913, + "ilmd": 0.24342025110374246 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.06156630969219371, + "ndcg@10": 0.08161612234428035, + "ilad": 0.7280672801265959, + "ilmd": 0.2467953304758841 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.061637592330661635, + "ndcg@10": 0.08166185046086025, + "ilad": 0.7339115048399066, + "ilmd": 0.25526213485752847 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.06128005657708628, + "ndcg@10": 0.08106295752127282, + "ilad": 0.741431839268818, + "ilmd": 0.26633683576273615 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.06148436272198649, + "ndcg@10": 0.08151488741812223, + "ilad": 0.7547338041970888, + "ilmd": 0.2806561476270414 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.06159268988123303, + "ndcg@10": 0.08102618574258631, + "ilad": 0.7751166354733107, + "ilmd": 0.31147048808897737 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.061852001526683284, + "ndcg@10": 0.07994653665058721, + "ilad": 0.8119096575565689, + "ilmd": 0.36433701645029654 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.058973193237691124, + "ndcg@10": 0.07532494351213902, + "ilad": 0.8948468501024908, + "ilmd": 0.5000255560605158 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.037385779394265954, + "ndcg@10": 0.04113888927788708, + "ilad": 1.0182653600626652, + "ilmd": 0.8777884874687842 + } + ], + "6": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.052239509665252246, + "ndcg@10": 0.0706862153840729, + "ilad": 0.7197250269427158, + "ilmd": 0.2371025480003303 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.05327900136952471, + "ndcg@10": 0.0704069453665838, + "ilad": 0.748934445151851, + "ilmd": 0.2789765936987741 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.053451314519207024, + "ndcg@10": 0.07055818841350338, + "ilad": 0.7529001970692436, + "ilmd": 0.2840308837034072 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.053273388563346125, + "ndcg@10": 0.0704293548445874, + "ilad": 0.7581112696308395, + "ilmd": 0.2902806837116981 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.05357423497451786, + "ndcg@10": 0.07097033798940414, + "ilad": 0.7634311031755666, + "ilmd": 0.29918861954013226 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.0533839608450641, + "ndcg@10": 0.07080531197885447, + "ilad": 0.7712453192329137, + "ilmd": 0.3129027121643703 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.05243259019779529, + "ndcg@10": 0.06936040246637941, + "ilad": 0.7829421233001154, + "ilmd": 0.33124286787850515 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.05118542466491547, + "ndcg@10": 0.06652536165903855, + "ilad": 0.8005024945044619, + "ilmd": 0.36005238748170026 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.051260074987090544, + "ndcg@10": 0.06802941312309478, + "ilad": 0.8304967765592282, + "ilmd": 0.41774511927425273 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.048260030084641116, + "ndcg@10": 0.0625382020711883, + "ilad": 0.8881362953988632, + "ilmd": 0.5258292611451264 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.03244707123773601, + "ndcg@10": 0.036161782832248586, + "ilad": 0.9922062430051294, + "ilmd": 0.8948995610106278 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.052239509665252246, + "ndcg@10": 0.0706862153840729, + "ilad": 0.7197250269427158, + "ilmd": 0.2371025480003303 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.05275027502750275, + "ndcg@10": 0.07053551109386498, + "ilad": 0.7282289562923399, + "ilmd": 0.2466754328243466 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.05205148065826991, + "ndcg@10": 0.06970377550831285, + "ilad": 0.7399520075641562, + "ilmd": 0.26367520628420604 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.05121236613457264, + "ndcg@10": 0.06874020467216674, + "ilad": 0.7569146117108546, + "ilmd": 0.29087407197776916 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.049627309669742485, + "ndcg@10": 0.06681101405202365, + "ilad": 0.7770811926779012, + "ilmd": 0.32321419650122335 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.0502986012887003, + "ndcg@10": 0.06823119820646986, + "ilad": 0.804271874409248, + "ilmd": 0.3720245423714882 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.051202824364069054, + "ndcg@10": 0.06921530901685984, + "ilad": 0.8424998678614766, + "ilmd": 0.43632858882024567 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.04718854538515076, + "ndcg@10": 0.06155899644555034, + "ilad": 0.8963429130287116, + "ilmd": 0.5460998053429319 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.039989560180507845, + "ndcg@10": 0.04974379784434361, + "ilad": 0.9547137892060772, + "ilmd": 0.7104082469218522 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.03642823466020072, + "ndcg@10": 0.043109390188382966, + "ilad": 0.9919407716734912, + "ilmd": 0.8632239649622916 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.03332547540468332, + "ndcg@10": 0.03809364335848622, + "ilad": 1.0025359690610893, + "ilmd": 0.9070195558216143 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.052239509665252246, + "ndcg@10": 0.0706862153840729, + "ilad": 0.7197250269427158, + "ilmd": 0.2371025480003303 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.05246458319301318, + "ndcg@10": 0.07028980163043172, + "ilad": 0.7765725844735978, + "ilmd": 0.265517073355436 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.05091713252957948, + "ndcg@10": 0.06752920251729906, + "ilad": 0.825486347353273, + "ilmd": 0.3003341208252914 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.049273702880492126, + "ndcg@10": 0.06520646612653204, + "ilad": 0.8728602113784456, + "ilmd": 0.3504418946560235 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.04697918771468984, + "ndcg@10": 0.06064134259104029, + "ilad": 0.9184653339999738, + "ilmd": 0.40939026590452504 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.04550021328663478, + "ndcg@10": 0.05784827147273767, + "ilad": 0.956616960118144, + "ilmd": 0.4810001335015897 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.04003221750746503, + "ndcg@10": 0.047140479241161826, + "ilad": 0.9833283957194068, + "ilmd": 0.5688196794147032 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.03954390336992883, + "ndcg@10": 0.046036172588621936, + "ilad": 1.0024365305563347, + "ilmd": 0.6508580323998965 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.03464897510159179, + "ndcg@10": 0.03985311932269521, + "ilad": 1.0148302026651537, + "ilmd": 0.7329089754541659 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.02776991984912777, + "ndcg@10": 0.02981735229559375, + "ilad": 1.021322370081339, + "ilmd": 0.7639054259788535 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.027703127455602706, + "ndcg@10": 0.02974531322659041, + "ilad": 1.0240778512462363, + "ilmd": 0.7871108134362789 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.052239509665252246, + "ndcg@10": 0.0706862153840729, + "ilad": 0.7197250269427158, + "ilmd": 0.2371025480003303 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.05221986484362722, + "ndcg@10": 0.0706657982962062, + "ilad": 0.7221236802648116, + "ilmd": 0.23839495500715652 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.052634651220224066, + "ndcg@10": 0.07073377699900152, + "ilad": 0.7247152926645319, + "ilmd": 0.2416087837502508 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.05263689634269549, + "ndcg@10": 0.07044104467735131, + "ilad": 0.7283758936710708, + "ilmd": 0.24603498993702286 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.05274129453761703, + "ndcg@10": 0.07051982905505665, + "ilad": 0.7339434985392839, + "ilmd": 0.2535809198397052 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.053257672706046116, + "ndcg@10": 0.07037703602226124, + "ilad": 0.7416619639501207, + "ilmd": 0.2626529849401795 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.052474124963516756, + "ndcg@10": 0.0694250808842169, + "ilad": 0.7529811873462953, + "ilmd": 0.27661498053239125 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.05161143665386947, + "ndcg@10": 0.06871383308698029, + "ilad": 0.7712586748886648, + "ilmd": 0.29691175819286364 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.05095361576974023, + "ndcg@10": 0.06815103671224342, + "ilad": 0.8088507918691028, + "ilmd": 0.3505963877033142 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.04748377899014391, + "ndcg@10": 0.062442042561705484, + "ilad": 0.8962920673159932, + "ilmd": 0.4985455986128164 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.028608473092207178, + "ndcg@10": 0.031431616957431234, + "ilad": 1.0187058278492518, + "ilmd": 0.8763003799500526 + } + ], + "7": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.051335286589883476, + "ndcg@10": 0.07283578896235483, + "ilad": 0.7175898178884973, + "ilmd": 0.22300545649953407 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.05141779484070856, + "ndcg@10": 0.07315938350709011, + "ilad": 0.7515390589095579, + "ilmd": 0.2789055995927673 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.050940706315529515, + "ndcg@10": 0.07245459192804189, + "ilad": 0.7550137119718118, + "ilmd": 0.28657535987325233 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.05120226308345121, + "ndcg@10": 0.07267968902439202, + "ilad": 0.7596492009840726, + "ilmd": 0.2944755939479596 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.0504697918771469, + "ndcg@10": 0.07236553987030106, + "ilad": 0.7668746826588011, + "ilmd": 0.30467923240580685 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.05049785590803979, + "ndcg@10": 0.07266723820091758, + "ilad": 0.7737840467581824, + "ilmd": 0.31971351640059215 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.05062302148582204, + "ndcg@10": 0.07284770624891998, + "ilad": 0.7865243325644875, + "ilmd": 0.341221052652707 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.04944713859141016, + "ndcg@10": 0.0706666235028318, + "ilad": 0.8042377293362813, + "ilmd": 0.3699613462243087 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.047603331761747594, + "ndcg@10": 0.06642007460820158, + "ilad": 0.8329389155163961, + "ilmd": 0.4197207694343664 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.04315181518151815, + "ndcg@10": 0.05902086249571674, + "ilad": 0.8906549370440601, + "ilmd": 0.5255268732931523 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.028303697716710447, + "ndcg@10": 0.03284064647862423, + "ilad": 0.9935762635214831, + "ilmd": 0.8983818095340755 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.051335286589883476, + "ndcg@10": 0.07283578896235483, + "ilad": 0.7175898178884973, + "ilmd": 0.22300545649953407 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.05162546866931591, + "ndcg@10": 0.0730762441490299, + "ilad": 0.7280320514209537, + "ilmd": 0.2395973517500191 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.05204081632653061, + "ndcg@10": 0.07458558245861761, + "ilad": 0.7406113856331125, + "ilmd": 0.2571524345385809 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.051577759816798005, + "ndcg@10": 0.07414098587523546, + "ilad": 0.7582469329638394, + "ilmd": 0.28380628547708925 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.0499522911474821, + "ndcg@10": 0.07253977138356178, + "ilad": 0.7794143756511693, + "ilmd": 0.32127471868860336 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.048799420758402365, + "ndcg@10": 0.07060546256900682, + "ilad": 0.8072356037489933, + "ilmd": 0.376202845084448 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.04544745290855615, + "ndcg@10": 0.06478013494311059, + "ilad": 0.8469819943756497, + "ilmd": 0.4442345766400684 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.04007768123751151, + "ndcg@10": 0.05425534976054573, + "ilad": 0.9010798511697345, + "ilmd": 0.5567482850676378 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.038083451202263086, + "ndcg@10": 0.04860568071050426, + "ilad": 0.9573703794364713, + "ilmd": 0.7223636969144138 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.03262724231606834, + "ndcg@10": 0.038546018900868596, + "ilad": 0.9924945160219659, + "ilmd": 0.8662793937295971 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.02972036999618329, + "ndcg@10": 0.03401052184293752, + "ilad": 1.0027706278264101, + "ilmd": 0.907565160553054 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.051335286589883476, + "ndcg@10": 0.07283578896235483, + "ilad": 0.7175898178884973, + "ilmd": 0.22300545649953407 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.0509794346781617, + "ndcg@10": 0.0719184760285458, + "ilad": 0.778178220253854, + "ilmd": 0.25721557136978085 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.05009766282750724, + "ndcg@10": 0.07027708506500935, + "ilad": 0.8294119412946229, + "ilmd": 0.2969886007201048 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.046347747019599914, + "ndcg@10": 0.06350909156463048, + "ilad": 0.875939087070198, + "ilmd": 0.33919203745087945 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.042948070317235805, + "ndcg@10": 0.058219497140199535, + "ilad": 0.9219826877201464, + "ilmd": 0.4085590538412037 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.0410279293235446, + "ndcg@10": 0.05212692512759652, + "ilad": 0.9577751002858013, + "ilmd": 0.4887075971343055 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.03723367234682652, + "ndcg@10": 0.04675663321160141, + "ilad": 0.984313997723257, + "ilmd": 0.5717608989381048 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.034162344805909156, + "ndcg@10": 0.041171921349834543, + "ilad": 1.0019995766616778, + "ilmd": 0.652726110423977 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.0324526840439146, + "ndcg@10": 0.03848239582684293, + "ilad": 1.0137293353107728, + "ilmd": 0.727078104373252 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.029896612110190606, + "ndcg@10": 0.03475622487646038, + "ilad": 1.020843799161439, + "ilmd": 0.7718567865066852 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.02690667025886262, + "ndcg@10": 0.030758976513541928, + "ilad": 1.0236242772666198, + "ilmd": 0.7871795416384134 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.051335286589883476, + "ndcg@10": 0.07283578896235483, + "ilad": 0.7175898178884973, + "ilmd": 0.22300545649953407 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.05119721155789048, + "ndcg@10": 0.07272729051954335, + "ilad": 0.7201050444488984, + "ilmd": 0.22707487737609777 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.05119496643541905, + "ndcg@10": 0.07271181507984595, + "ilad": 0.723725302089559, + "ilmd": 0.2322989540356389 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.05162378482746234, + "ndcg@10": 0.07334457759899551, + "ilad": 0.7286431716894665, + "ilmd": 0.23941631549824413 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.051730989425473155, + "ndcg@10": 0.07401402364336858, + "ilad": 0.7329890641161205, + "ilmd": 0.24530333170965 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.05201948766305202, + "ndcg@10": 0.07426475238242765, + "ilad": 0.7420266699757232, + "ilmd": 0.2566869436767179 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.05203239711726274, + "ndcg@10": 0.07339067307127682, + "ilad": 0.7541654151686515, + "ilmd": 0.2721961887587584 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.050140881435082274, + "ndcg@10": 0.07178581876028976, + "ilad": 0.7749091808748717, + "ilmd": 0.3022761995755294 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.04873487348734872, + "ndcg@10": 0.07004904534750042, + "ilad": 0.8132667159174254, + "ilmd": 0.3587492716194379 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.04102175523674816, + "ndcg@10": 0.055461514159193495, + "ilad": 0.8983926048036006, + "ilmd": 0.5015737611637089 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.026329673783704904, + "ndcg@10": 0.029380741798174202, + "ilad": 1.018898565748962, + "ilmd": 0.879259645095809 + } + ], + "8": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.051599649760894456, + "ndcg@10": 0.07141282590918215, + "ilad": 0.7135699447428826, + "ilmd": 0.2288412417178444 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.049895601805078474, + "ndcg@10": 0.06789398078011913, + "ilad": 0.7484212255123819, + "ilmd": 0.2822956175581569 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.05015940369547158, + "ndcg@10": 0.06870676924000577, + "ilad": 0.7523877275040666, + "ilmd": 0.28793176110765384 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.05035753575357535, + "ndcg@10": 0.06884619065208765, + "ilad": 0.7573717607888676, + "ilmd": 0.2943249963634928 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.05050683639792551, + "ndcg@10": 0.0692640459798428, + "ilad": 0.7626105511964126, + "ilmd": 0.30520365936246924 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.05031038818167531, + "ndcg@10": 0.06850440772777525, + "ilad": 0.7706145375671953, + "ilmd": 0.31622625661874254 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.04924395500774567, + "ndcg@10": 0.06705405964270555, + "ilad": 0.7830896579477372, + "ilmd": 0.3367521618683908 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.0477891156462585, + "ndcg@10": 0.06425667446866304, + "ilad": 0.8005479408962892, + "ilmd": 0.367704818828777 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.04696571697986126, + "ndcg@10": 0.06263699433481237, + "ilad": 0.8298470565925393, + "ilmd": 0.41837014791146027 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.04281224040771424, + "ndcg@10": 0.05581899366860564, + "ilad": 0.8877539527635426, + "ilmd": 0.5228530000763533 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.03244314227341101, + "ndcg@10": 0.03675837806455955, + "ilad": 0.9932949145072926, + "ilmd": 0.8981920506020078 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.051599649760894456, + "ndcg@10": 0.07141282590918215, + "ilad": 0.7135699447428826, + "ilmd": 0.2288412417178444 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.051125367638804695, + "ndcg@10": 0.07070217754689341, + "ilad": 0.7235558590676525, + "ilmd": 0.24443511055753456 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.0505001010305112, + "ndcg@10": 0.06928542311119705, + "ilad": 0.7378347148905381, + "ilmd": 0.26496374784129684 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.04929727666644216, + "ndcg@10": 0.0679440478408365, + "ilad": 0.7535522003069288, + "ilmd": 0.28811215848531546 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.04878370490110236, + "ndcg@10": 0.06871379178968638, + "ilad": 0.7757067088949292, + "ilmd": 0.3181831587153412 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.04685402213690757, + "ndcg@10": 0.06498340438735505, + "ilad": 0.8041309674693301, + "ilmd": 0.3655372813365078 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.04545699467905973, + "ndcg@10": 0.06199637711865213, + "ilad": 0.8432993194170012, + "ilmd": 0.44008062617613536 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.04432489167284075, + "ndcg@10": 0.059826578058000304, + "ilad": 0.8981265526428249, + "ilmd": 0.5516796300906947 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.03966233358029681, + "ndcg@10": 0.050429710412416694, + "ilad": 0.9567444806726177, + "ilmd": 0.7144528389651502 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.033830066680137404, + "ndcg@10": 0.03913106470579528, + "ilad": 0.9927234992785366, + "ilmd": 0.867220250771103 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.02997350755483712, + "ndcg@10": 0.032867700834806654, + "ilad": 1.00238148967144, + "ilmd": 0.907754049189863 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.051599649760894456, + "ndcg@10": 0.07141282590918215, + "ilad": 0.7135699447428826, + "ilmd": 0.2288412417178444 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.051021530724501024, + "ndcg@10": 0.06975460119990724, + "ilad": 0.7755210639479474, + "ilmd": 0.2657081472991717 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.051319009451965596, + "ndcg@10": 0.0714607499042327, + "ilad": 0.8265814148890753, + "ilmd": 0.3018211676848491 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.04824431422734111, + "ndcg@10": 0.06562718180716501, + "ilad": 0.874215518441868, + "ilmd": 0.34853993716637854 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.04412507577288341, + "ndcg@10": 0.05825330511456231, + "ilad": 0.9196930116271703, + "ilmd": 0.407801962977926 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.04141240654677713, + "ndcg@10": 0.05232766172595483, + "ilad": 0.9564422213879468, + "ilmd": 0.47965446658316563 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.03884735412316742, + "ndcg@10": 0.047372478189961, + "ilad": 0.9836927182772204, + "ilmd": 0.5760368494872831 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.03464729125973822, + "ndcg@10": 0.039864679058883676, + "ilad": 1.0014258904706639, + "ilmd": 0.6599711618126703 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.031539480478660106, + "ndcg@10": 0.03539372274436779, + "ilad": 1.013094591369386, + "ilmd": 0.729897272974632 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.029704654138883277, + "ndcg@10": 0.03329443203216154, + "ilad": 1.0202676960737398, + "ilmd": 0.776383257063983 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.026485148514851488, + "ndcg@10": 0.027817963428416675, + "ilad": 1.0230926802168472, + "ilmd": 0.7830176891329602 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.051599649760894456, + "ndcg@10": 0.07141282590918215, + "ilad": 0.7135699447428826, + "ilmd": 0.2288412417178444 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.051668125996273094, + "ndcg@10": 0.07116016418922068, + "ilad": 0.7164833984921306, + "ilmd": 0.2337763999948407 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.051720886374351724, + "ndcg@10": 0.07150068244679397, + "ilad": 0.7194698310893193, + "ilmd": 0.23770859968207006 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.051838755304101834, + "ndcg@10": 0.07187534955574687, + "ilad": 0.724315398821905, + "ilmd": 0.2449611949785764 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.05124379784917268, + "ndcg@10": 0.07079575636891555, + "ilad": 0.7306730915835757, + "ilmd": 0.25391827766089325 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.050392335151882524, + "ndcg@10": 0.06889500742098921, + "ilad": 0.7397902345303262, + "ilmd": 0.26252395100101217 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.05007408904155722, + "ndcg@10": 0.06867030384622587, + "ilad": 0.7510066898658219, + "ilmd": 0.27867171577213506 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.05003367683707146, + "ndcg@10": 0.06887954298931558, + "ilad": 0.7717495330911041, + "ilmd": 0.302631904161634 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.04740127073931883, + "ndcg@10": 0.06568521817420374, + "ilad": 0.8061214758786656, + "ilmd": 0.35354692156952205 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.041828876765227535, + "ndcg@10": 0.0547447545969424, + "ilad": 0.8948762849331576, + "ilmd": 0.49639323290537574 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.025979995958779548, + "ndcg@10": 0.026786227774309685, + "ilad": 1.0180751158627965, + "ilmd": 0.8781990400466757 + } + ], + "9": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.05620383466918121, + "ndcg@10": 0.07444207489605119, + "ilad": 0.7117879015131415, + "ilmd": 0.22884703626727113 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.05666913630138524, + "ndcg@10": 0.07514715506927451, + "ilad": 0.7452974991801773, + "ilmd": 0.2749426288179832 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.05672077411822815, + "ndcg@10": 0.07519493800874166, + "ilad": 0.750038712500177, + "ilmd": 0.2811554857494133 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.057333692552928764, + "ndcg@10": 0.07602062512678129, + "ilad": 0.7568918246528216, + "ilmd": 0.2916753432875475 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.05764744841831121, + "ndcg@10": 0.07715172113824849, + "ilad": 0.7633597620643011, + "ilmd": 0.304261878996961 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.057791697537100645, + "ndcg@10": 0.07699909222387874, + "ilad": 0.7721805562814527, + "ilmd": 0.31838361824081507 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.05853763947823353, + "ndcg@10": 0.0767433242746474, + "ilad": 0.7828570050009575, + "ilmd": 0.33774195086669384 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.05849778855436563, + "ndcg@10": 0.07728330648466357, + "ilad": 0.8004107864354928, + "ilmd": 0.36733139589787206 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.05538997777328753, + "ndcg@10": 0.07149806402389183, + "ilad": 0.8295384089882674, + "ilmd": 0.41681005256685205 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.0545968882602546, + "ndcg@10": 0.07109662406519275, + "ilad": 0.8873917540532696, + "ilmd": 0.5253803112044867 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.03800262679329158, + "ndcg@10": 0.042914716440121486, + "ilad": 0.9929755216272076, + "ilmd": 0.8973786997828828 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.05620383466918121, + "ndcg@10": 0.07444207489605119, + "ilad": 0.7117879015131415, + "ilmd": 0.22884703626727113 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.05583002177768797, + "ndcg@10": 0.07356464809609922, + "ilad": 0.7208935760878438, + "ilmd": 0.24094211692688658 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.056007386452931004, + "ndcg@10": 0.07375022139324103, + "ilad": 0.7345403477106944, + "ilmd": 0.25644272717593247 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.05651029388653152, + "ndcg@10": 0.07418092015659705, + "ilad": 0.751333734565948, + "ilmd": 0.2801972041710094 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.05663489818369592, + "ndcg@10": 0.07372215715972023, + "ilad": 0.7720838364903964, + "ilmd": 0.31526998102749254 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.05484160660964056, + "ndcg@10": 0.07339731934474789, + "ilad": 0.8019098244934136, + "ilmd": 0.36636234695537084 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.0558681888597023, + "ndcg@10": 0.07450675312348017, + "ilad": 0.8416820066905932, + "ilmd": 0.4344191659120724 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.051536786331694395, + "ndcg@10": 0.06696524359718739, + "ilad": 0.898740280171938, + "ilmd": 0.5528813609813868 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.04517859949260233, + "ndcg@10": 0.05611247288680927, + "ilad": 0.9572556092175938, + "ilmd": 0.7177598295151091 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.043449855189600595, + "ndcg@10": 0.051111369232761245, + "ilad": 0.9925403767798882, + "ilmd": 0.868917561487902 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.04092802137356592, + "ndcg@10": 0.04624676129638071, + "ilad": 1.0020775415603984, + "ilmd": 0.9081156239482604 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.05620383466918121, + "ndcg@10": 0.07444207489605119, + "ilad": 0.7117879015131415, + "ilmd": 0.22884703626727113 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.05635987068094565, + "ndcg@10": 0.07434448560428937, + "ilad": 0.772449877255371, + "ilmd": 0.25632954486863113 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.05617184167396332, + "ndcg@10": 0.0738934551514665, + "ilad": 0.8247617370589957, + "ilmd": 0.2918717338475682 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.055515143351069794, + "ndcg@10": 0.07185833930975909, + "ilad": 0.8732601169818193, + "ilmd": 0.3378887489290521 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.0545968882602546, + "ndcg@10": 0.07015988726463987, + "ilad": 0.9198534634528099, + "ilmd": 0.39919840960725195 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.048482297209312776, + "ndcg@10": 0.05934613604926739, + "ilad": 0.9582588785608553, + "ilmd": 0.4830341174713793 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.04573988011046002, + "ndcg@10": 0.05329097982750265, + "ilad": 0.9845034837554165, + "ilmd": 0.5664129484829504 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.042285197907545855, + "ndcg@10": 0.04861770674313605, + "ilad": 1.002510772736103, + "ilmd": 0.6597521931480991 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.03989414247547204, + "ndcg@10": 0.04480178047966293, + "ilad": 1.013710374879365, + "ilmd": 0.7310437020520341 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.03734873487348735, + "ndcg@10": 0.04081873507477394, + "ilad": 1.0204988392610024, + "ilmd": 0.767537725190968 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.03777643070429492, + "ndcg@10": 0.04118386179245773, + "ilad": 1.0235768557437912, + "ilmd": 0.780004215628288 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.05620383466918121, + "ndcg@10": 0.07444207489605119, + "ilad": 0.7117879015131415, + "ilmd": 0.22884703626727113 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.055979322422038125, + "ndcg@10": 0.07367741169710133, + "ilad": 0.7135913975252289, + "ilmd": 0.23004447520200738 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.056140409959363285, + "ndcg@10": 0.07383529236105192, + "ilad": 0.7169124634127637, + "ilmd": 0.23426007929414805 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.05623863406748838, + "ndcg@10": 0.07454028271211101, + "ilad": 0.7218663637253655, + "ilmd": 0.23996751488856918 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.056382321905659956, + "ndcg@10": 0.07494317489843648, + "ilad": 0.7273104953799592, + "ilmd": 0.24511367908798823 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.056775218338160335, + "ndcg@10": 0.07587363941809325, + "ilad": 0.7357507987946398, + "ilmd": 0.2545642392470105 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.057270829123728696, + "ndcg@10": 0.07625694435417318, + "ilad": 0.7487256622213285, + "ilmd": 0.2703460619338331 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.05825307020497968, + "ndcg@10": 0.07649059129591643, + "ilad": 0.7703439325642215, + "ilmd": 0.29812666449216335 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.057254551985810816, + "ndcg@10": 0.07506599451532496, + "ilad": 0.8079872312606478, + "ilmd": 0.35680647247077046 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.05204306144900203, + "ndcg@10": 0.06777038027328341, + "ilad": 0.8946645514462591, + "ilmd": 0.5000504275528342 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.03914595541186772, + "ndcg@10": 0.04385242514496924, + "ilad": 1.018625661372464, + "ilmd": 0.8786350626082198 + } + ] + }, + "results": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.052817965470016395, + "mrr_std": 0.004573137208695758, + "ndcg@10": 0.073104911373529, + "ndcg@10_std": 0.004404925240729121, + "ilad": 0.714278575855991, + "ilad_std": 0.003581845293768687, + "ilmd": 0.23002293631750587, + "ilmd_std": 0.00427601358200615 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.05270481129745628, + "mrr_std": 0.004329719821230357, + "ndcg@10": 0.07269530279591177, + "ndcg@10_std": 0.004194346185610421, + "ilad": 0.7476314315490709, + "ilad_std": 0.002650187950735661, + "ilmd": 0.2801605419104305, + "ilmd_std": 0.0034657688431155593 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.05279411104375744, + "mrr_std": 0.0041857245967917706, + "ndcg@10": 0.07279774570407566, + "ndcg@10_std": 0.003862332116499855, + "ilad": 0.7514681401229141, + "ilad_std": 0.002541972427254189, + "ilmd": 0.286046303709629, + "ilmd_std": 0.0038310142987972684 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.05291647021845042, + "mrr_std": 0.004202308131712142, + "ndcg@10": 0.07296438134842408, + "ndcg@10_std": 0.0038591354164726165, + "ilad": 0.7565434940717852, + "ilad_std": 0.0027135407556633795, + "ilmd": 0.293949664431549, + "ilmd_std": 0.004385237830318538 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.05292747131856044, + "mrr_std": 0.004268478852417925, + "ndcg@10": 0.0730622791186799, + "ndcg@10_std": 0.003961649745424689, + "ilad": 0.7629651249846103, + "ilad_std": 0.002750980594687081, + "ilmd": 0.3042720473638855, + "ilmd_std": 0.004757277710203368 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.05304882018814126, + "mrr_std": 0.004449733631384314, + "ndcg@10": 0.07319591435202866, + "ndcg@10_std": 0.004082284389952478, + "ilad": 0.7710449645298374, + "ilad_std": 0.002612433753990617, + "ilmd": 0.31734776291179523, + "ilmd_std": 0.00484093524960208 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.05300189712848835, + "mrr_std": 0.004644955728754727, + "ndcg@10": 0.07312946836216863, + "ndcg@10_std": 0.004443619458860137, + "ilad": 0.7832109501835649, + "ilad_std": 0.002415967332177627, + "ilmd": 0.33710743397937976, + "ilmd_std": 0.004511343350752468 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.05243618239374957, + "mrr_std": 0.004691711226614947, + "ndcg@10": 0.07178156501355351, + "ndcg@10_std": 0.004802739851412315, + "ilad": 0.8008743521094827, + "ilad_std": 0.0019826682050367002, + "ilmd": 0.3669146300289553, + "ilmd_std": 0.004944195836174094 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.051106171841673965, + "mrr_std": 0.0048510150217249345, + "ndcg@10": 0.06966859704023427, + "ndcg@10_std": 0.004944428208377187, + "ilad": 0.8302334171542014, + "ilad_std": 0.0013830816005320178, + "ilmd": 0.41764089426360335, + "ilmd_std": 0.003646277789358511 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.04786370984037179, + "mrr_std": 0.005778806143210902, + "ndcg@10": 0.06415226513897784, + "ndcg@10_std": 0.006363849888233752, + "ilad": 0.8879691456719876, + "ilad_std": 0.0011012366131393058, + "ilmd": 0.5245281877325481, + "ilmd_std": 0.0018478688534498528 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.030966637480074537, + "mrr_std": 0.005098064425638841, + "ndcg@10": 0.03544586440356904, + "ndcg@10_std": 0.0056225043923737485, + "ilad": 0.992834686457352, + "ilad_std": 0.000395636427286673, + "ilmd": 0.8965419723340105, + "ilmd_std": 0.001196100408775573 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.052817965470016395, + "mrr_std": 0.004573137208695758, + "ndcg@10": 0.073104911373529, + "ndcg@10_std": 0.004404925240729121, + "ilad": 0.714278575855991, + "ilad_std": 0.003581845293768687, + "ilmd": 0.23002293631750587, + "ilmd_std": 0.00427601358200615 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.05276009743831526, + "mrr_std": 0.004166073361359653, + "ndcg@10": 0.07277330564514614, + "ndcg@10_std": 0.0038484426806342023, + "ilad": 0.7247357208603173, + "ilad_std": 0.0033705509940666926, + "ilmd": 0.2438289564350538, + "ilmd_std": 0.003731903093589136 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.05266114366538695, + "mrr_std": 0.004461379908871609, + "ndcg@10": 0.0727293333280406, + "ndcg@10_std": 0.0044364174182520534, + "ilad": 0.7373266449300875, + "ilad_std": 0.0030800571842440694, + "ilmd": 0.26274754014682905, + "ilmd_std": 0.004542193794965251 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.052549897846927554, + "mrr_std": 0.004822814896981464, + "ndcg@10": 0.07280219418262471, + "ndcg@10_std": 0.004971472754381222, + "ilad": 0.7537180499802048, + "ilad_std": 0.0031797155296284085, + "ilmd": 0.28677620962789063, + "ilmd_std": 0.004667086975300587 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.05201146135021665, + "mrr_std": 0.005069422420672626, + "ndcg@10": 0.07238074470195982, + "ndcg@10_std": 0.005072146113705937, + "ilad": 0.7752426892561151, + "ilad_std": 0.0026940922840098, + "ilmd": 0.32060101289391685, + "ilmd_std": 0.0049560711403118405 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.051244471385914106, + "mrr_std": 0.005080849568011263, + "ndcg@10": 0.07159202449684539, + "ndcg@10_std": 0.005233857223017995, + "ilad": 0.8041511635568727, + "ilad_std": 0.0018835121796715018, + "ilmd": 0.36770950752235365, + "ilmd_std": 0.0050238127770712016 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.050245840910621675, + "mrr_std": 0.005630503391682456, + "ndcg@10": 0.06949185180593942, + "ndcg@10_std": 0.005746551513566966, + "ilad": 0.843515945138486, + "ilad_std": 0.0017853030367446993, + "ilmd": 0.43824291623802136, + "ilmd_std": 0.004647020345836702 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.046744460160301746, + "mrr_std": 0.005311077093345468, + "ndcg@10": 0.06280887510760064, + "ndcg@10_std": 0.00582743850134412, + "ilad": 0.8988422274631691, + "ilad_std": 0.001409557199268617, + "ilmd": 0.5513630723767773, + "ilmd_std": 0.003510897676735135 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.040712882512741064, + "mrr_std": 0.0049272584171482945, + "ndcg@10": 0.05187159075175955, + "ndcg@10_std": 0.005011903717553526, + "ilad": 0.956913087349464, + "ilad_std": 0.000838284119379362, + "ilmd": 0.7169792139125511, + "ilmd_std": 0.003462262769870682 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.0358942322803709, + "mrr_std": 0.004856225116558706, + "ndcg@10": 0.04273123624745874, + "ndcg@10_std": 0.005602765379178467, + "ilad": 0.9923371868389836, + "ilad_std": 0.0005245356464847387, + "ilmd": 0.8669112160738658, + "ilmd_std": 0.002688485877570201 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.03249539749893357, + "mrr_std": 0.004752342033320984, + "ndcg@10": 0.03683007931228501, + "ndcg@10_std": 0.005146248628327091, + "ilad": 1.0022017458287797, + "ilad_std": 0.0002980060743987754, + "ilmd": 0.907151362599207, + "ilmd_std": 0.0008479824733660385 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.052817965470016395, + "mrr_std": 0.004573137208695758, + "ndcg@10": 0.073104911373529, + "ndcg@10_std": 0.004404925240729121, + "ilad": 0.714278575855991, + "ilad_std": 0.003581845293768687, + "ilmd": 0.23002293631750587, + "ilmd_std": 0.00427601358200615 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.05254293796726611, + "mrr_std": 0.004431461265467466, + "ndcg@10": 0.07235349715478359, + "ndcg@10_std": 0.004445898332527301, + "ilad": 0.7750114323099735, + "ilad_std": 0.002457078820493869, + "ilmd": 0.2628767176935663, + "ilmd_std": 0.004448526301435429 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.05189319952403404, + "mrr_std": 0.004630359453148132, + "ndcg@10": 0.07114970388423462, + "ndcg@10_std": 0.004901054200796357, + "ilad": 0.8264177981368892, + "ilad_std": 0.0017491699695610255, + "ilmd": 0.3001708457206904, + "ilmd_std": 0.004423472894747727 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.05043858467479401, + "mrr_std": 0.005366340774357348, + "ndcg@10": 0.06805119635103501, + "ndcg@10_std": 0.005570585750492166, + "ilad": 0.8744729713132392, + "ilad_std": 0.00105376917025513, + "ilmd": 0.3449953785458582, + "ilmd_std": 0.005031630144620877 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.04826249971935969, + "mrr_std": 0.005346043229864941, + "ndcg@10": 0.06368042329908705, + "ndcg@10_std": 0.005832435989031727, + "ilad": 0.9199222089967769, + "ilad_std": 0.0010426529004270613, + "ilmd": 0.40628551338315855, + "ilmd_std": 0.0038699868094082737 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.045297029702970296, + "mrr_std": 0.004911376731769712, + "ndcg@10": 0.05780188478442094, + "ndcg@10_std": 0.005155694623020294, + "ilad": 0.9572096849010554, + "ilad_std": 0.0006238609442582087, + "ilmd": 0.48015731605141304, + "ilmd_std": 0.003930870087774553 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.04115264587683258, + "mrr_std": 0.0056749293584773845, + "ndcg@10": 0.05052950655821905, + "ndcg@10_std": 0.0064295028213208014, + "ilad": 0.9839832322853794, + "ilad_std": 0.0004113348172500856, + "ilmd": 0.5695256424928149, + "ilmd_std": 0.0048155843132995915 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.038246727733997885, + "mrr_std": 0.005375907710697941, + "ndcg@10": 0.04548823411035867, + "ndcg@10_std": 0.005833877142099318, + "ilad": 1.0020596172802856, + "ilad_std": 0.0003879498012104092, + "ilmd": 0.6553720635942893, + "ilmd_std": 0.0041481155043493695 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.03280696436990638, + "mrr_std": 0.005368059893024736, + "ndcg@10": 0.037541160193336476, + "ndcg@10_std": 0.005776818604783742, + "ilad": 1.013777350561622, + "ilad_std": 0.00045176723838826854, + "ilmd": 0.7297759764265306, + "ilmd_std": 0.004743601084204975 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.029524932085045235, + "mrr_std": 0.005013478059207911, + "ndcg@10": 0.03262277505074279, + "ndcg@10_std": 0.005395961280140115, + "ilad": 1.020463866754165, + "ilad_std": 0.00041700703998234973, + "ilmd": 0.7695924161684395, + "ilmd_std": 0.004448921623654816 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.028370826878606224, + "mrr_std": 0.005253786542758743, + "ndcg@10": 0.031078563365069846, + "ndcg@10_std": 0.005797845660264516, + "ilad": 1.0231998053939202, + "ilad_std": 0.00045801277833418426, + "ilmd": 0.7824617921715916, + "ilmd_std": 0.00456209693825589 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.052817965470016395, + "mrr_std": 0.004573137208695758, + "ndcg@10": 0.073104911373529, + "ndcg@10_std": 0.004404925240729121, + "ilad": 0.714278575855991, + "ilad_std": 0.003581845293768687, + "ilmd": 0.23002293631750587, + "ilmd_std": 0.00427601358200615 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.05276430704294919, + "mrr_std": 0.004370854101356514, + "ndcg@10": 0.07285932874187916, + "ndcg@10_std": 0.004229484312999746, + "ilad": 0.7170616860457998, + "ilad_std": 0.0035918256418345455, + "ilmd": 0.23352857785987044, + "ilmd_std": 0.004054075602503843 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.05286601109090501, + "mrr_std": 0.004324205063185031, + "ndcg@10": 0.07297518732752463, + "ndcg@10_std": 0.004031405675605451, + "ilad": 0.7206031964746695, + "ilad_std": 0.003431988108030386, + "ilmd": 0.23744447674744537, + "ilmd_std": 0.00393502469326591 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.05290687231988504, + "mrr_std": 0.004202913311225077, + "ndcg@10": 0.07316413943980196, + "ndcg@10_std": 0.0038384055275817682, + "ilad": 0.7250417426544672, + "ilad_std": 0.003437468284965665, + "ilmd": 0.2428616018831477, + "ilmd_std": 0.0036814409959022437 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.052886217193147886, + "mrr_std": 0.004239598999276473, + "ndcg@10": 0.07320605292727056, + "ndcg@10_std": 0.003966813854175862, + "ilad": 0.7307586311788168, + "ilad_std": 0.003145860399469231, + "ilmd": 0.25009270753010665, + "ilmd_std": 0.003968093848332786 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.05290889293010933, + "mrr_std": 0.004434698743119269, + "ndcg@10": 0.07310401902097124, + "ndcg@10_std": 0.004341404575829486, + "ilad": 0.7389210119400873, + "ilad_std": 0.002880624689549334, + "ilmd": 0.2603805605474928, + "ilmd_std": 0.003800213716092882 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.0528621382546418, + "mrr_std": 0.004521318381318924, + "ndcg@10": 0.07297724347792468, + "ndcg@10_std": 0.004476804623813072, + "ilad": 0.7507897824238685, + "ilad_std": 0.002739646131738107, + "ilmd": 0.2754400499723588, + "ilmd_std": 0.0033656387021743627 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.05272743090635594, + "mrr_std": 0.004612147756010541, + "ndcg@10": 0.07282666150295652, + "ndcg@10_std": 0.004287317318063125, + "ilad": 0.7711801310324097, + "ilad_std": 0.002509951631867037, + "ilmd": 0.30133516850869424, + "ilmd_std": 0.00449142008749453 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.0518037875216093, + "mrr_std": 0.00496274300188308, + "ndcg@10": 0.07156186770072506, + "ndcg@10_std": 0.004407547524200768, + "ilad": 0.808875836805036, + "ilad_std": 0.0024946449447221975, + "ilmd": 0.35569058971998546, + "ilmd_std": 0.004934645254097969 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.04663686266585841, + "mrr_std": 0.006113434635764757, + "ndcg@10": 0.06255640572332924, + "ndcg@10_std": 0.006613270477412635, + "ilad": 0.8956771382600955, + "ilad_std": 0.0011286531379832562, + "ilmd": 0.4977487368411694, + "ilmd_std": 0.0030089982065820945 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.02858052131743787, + "mrr_std": 0.005401916262390991, + "ndcg@10": 0.0315532070658366, + "ndcg@10_std": 0.006025111363909727, + "ilad": 1.018209290538178, + "ilad_std": 0.0004366577690654754, + "ilmd": 0.878292014212723, + "ilmd_std": 0.0014200558323850805 + } + ] +} diff --git a/benchmarks/results/goodreads.json b/benchmarks/results/goodreads.json new file mode 100644 index 0000000..f38b57e --- /dev/null +++ b/benchmarks/results/goodreads.json @@ -0,0 +1,4087 @@ +{ + "dataset": "goodreads", + "timestamp": "2026-01-26T11:30:36.995482+00:00", + "config": { + "n_users": 10279, + "n_items": 20980, + "n_interactions": 561514, + "sample_users": 2000, + "n_runs": 10, + "total_evaluations": 20000, + "k": 10, + "embedding_dim": 64, + "seed": 42 + }, + "per_run_results": { + "0": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.016981944444444445, + "ndcg@10": 0.023370956886929493, + "ilad": 0.3077480841339566, + "ilmd": 0.07261919784545899 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.016781944444444447, + "ndcg@10": 0.023825236814740778, + "ilad": 0.3651878021541052, + "ilmd": 0.09497015178203583 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.016708531746031745, + "ndcg@10": 0.023646866660524835, + "ilad": 0.3721182660041377, + "ilmd": 0.09760683068633079 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.016527579365079367, + "ndcg@10": 0.02327555904144185, + "ilad": 0.38184624987468124, + "ilmd": 0.10137375512719154 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.016684126984126982, + "ndcg@10": 0.023405023764174318, + "ilad": 0.3925576288527809, + "ilmd": 0.10573895618319512 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.016438888888888885, + "ndcg@10": 0.023001435444182875, + "ilad": 0.41139711133530366, + "ilmd": 0.11176708695292473 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.01643829365079365, + "ndcg@10": 0.0229750096795755, + "ilad": 0.44185413194447754, + "ilmd": 0.12117393001914024 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.015931746031746033, + "ndcg@10": 0.021483385128106918, + "ilad": 0.4915541256777942, + "ilmd": 0.13778661441802978 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.015695436507936505, + "ndcg@10": 0.020975906005749223, + "ilad": 0.604271579541266, + "ilmd": 0.17236972814798354 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.014961309523809524, + "ndcg@10": 0.018783313144461404, + "ilad": 0.8128573425263167, + "ilmd": 0.3388356840312481 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.008712499999999998, + "ndcg@10": 0.008995691255169077, + "ilad": 0.9224214936941862, + "ilmd": 0.6908786936700344 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.016981944444444445, + "ndcg@10": 0.023370956886929493, + "ilad": 0.3077480841339566, + "ilmd": 0.07261919784545899 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.017225595238095238, + "ndcg@10": 0.023566337804784322, + "ilad": 0.3149109574723989, + "ilmd": 0.0737139322757721 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.01726170634920635, + "ndcg@10": 0.023897698882059094, + "ilad": 0.32456752087315544, + "ilmd": 0.07598009237647056 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.017238492063492063, + "ndcg@10": 0.023992734468238873, + "ilad": 0.335341760778334, + "ilmd": 0.07951494109630584 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.017195634920634924, + "ndcg@10": 0.023751536811631658, + "ilad": 0.34830948046734556, + "ilmd": 0.0858085864186287 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.01726845238095238, + "ndcg@10": 0.023902137423805817, + "ilad": 0.3693391171488911, + "ilmd": 0.09510409504175187 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.016439484126984125, + "ndcg@10": 0.022784583762922934, + "ilad": 0.40378210658812896, + "ilmd": 0.10967622461915016 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.01700376984126984, + "ndcg@10": 0.023576920655710615, + "ilad": 0.4603709666952491, + "ilmd": 0.13743128681182862 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.014526984126984124, + "ndcg@10": 0.01998224149919453, + "ilad": 0.5608478159708902, + "ilmd": 0.20686633163690568 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.011434722222222221, + "ndcg@10": 0.014067828485369745, + "ilad": 0.7376791709009558, + "ilmd": 0.4073553339242935 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.0091, + "ndcg@10": 0.009419994579889344, + "ilad": 0.9132698893249035, + "ilmd": 0.7247598238289357 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.016981944444444445, + "ndcg@10": 0.023370956886929493, + "ilad": 0.3077480841339566, + "ilmd": 0.07261919784545899 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.01769761904761905, + "ndcg@10": 0.024797431331753324, + "ilad": 0.3763411229602061, + "ilmd": 0.07618693622946739 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.0174859126984127, + "ndcg@10": 0.0243117805985329, + "ilad": 0.4471992207402363, + "ilmd": 0.08072938194870949 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.017121230158730155, + "ndcg@10": 0.02325922956589616, + "ilad": 0.5195797383105383, + "ilmd": 0.08858387771248817 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.016459126984126982, + "ndcg@10": 0.021850633153833975, + "ilad": 0.5941735553955659, + "ilmd": 0.09807262039184571 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.016151785714285716, + "ndcg@10": 0.02115892566598965, + "ilad": 0.6686655886936933, + "ilmd": 0.11099794647097587 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.014779563492063491, + "ndcg@10": 0.018832958844131036, + "ilad": 0.7421112631955185, + "ilmd": 0.1299085946083069 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.01369345238095238, + "ndcg@10": 0.016623164165813088, + "ilad": 0.8143151048743166, + "ilmd": 0.16052189654111862 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.011750396825396827, + "ndcg@10": 0.013695066995073482, + "ilad": 0.8801987865860574, + "ilmd": 0.21169248202443122 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.010484722222222222, + "ndcg@10": 0.011654946795270075, + "ilad": 0.9316659099459648, + "ilmd": 0.3124783757328987 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.0087625, + "ndcg@10": 0.009044585245627406, + "ilad": 0.9561034109443426, + "ilmd": 0.443719178378582 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.016981944444444445, + "ndcg@10": 0.023370956886929493, + "ilad": 0.3077480841339566, + "ilmd": 0.07261919784545899 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.017165873015873016, + "ndcg@10": 0.023522831114051665, + "ilad": 0.3106861035451293, + "ilmd": 0.07317231851816178 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.01728452380952381, + "ndcg@10": 0.023719222381646008, + "ilad": 0.31495551332179456, + "ilmd": 0.07445306533575058 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.017558333333333332, + "ndcg@10": 0.024152617470335983, + "ilad": 0.31942807797249406, + "ilmd": 0.07569850766658782 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.01733115079365079, + "ndcg@10": 0.024072005850941644, + "ilad": 0.32689154043979946, + "ilmd": 0.07784251263737678 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.017240674603174605, + "ndcg@10": 0.024007695463759353, + "ilad": 0.3368337744218297, + "ilmd": 0.08060163646936416 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.017276984126984127, + "ndcg@10": 0.024462163250644004, + "ilad": 0.352521677991841, + "ilmd": 0.0849947681427002 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.016800595238095236, + "ndcg@10": 0.023843159093400693, + "ilad": 0.37874904171889645, + "ilmd": 0.09246246489882469 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.016865873015873018, + "ndcg@10": 0.02410178343501582, + "ilad": 0.4427794913197868, + "ilmd": 0.11049339678883553 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.013746428571428573, + "ndcg@10": 0.017331227358573884, + "ilad": 0.7454797301590442, + "ilmd": 0.19136045929789544 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.008839484126984126, + "ndcg@10": 0.009312872919667736, + "ilad": 0.939058757185936, + "ilmd": 0.680770831733942 + } + ], + "1": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.016352976190476192, + "ndcg@10": 0.023149599697455194, + "ilad": 0.31220952164847404, + "ilmd": 0.07283911994099616 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.015692460317460317, + "ndcg@10": 0.022244782136619814, + "ilad": 0.3673906755768694, + "ilmd": 0.09672107058763504 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.015564087301587303, + "ndcg@10": 0.022114768880802514, + "ilad": 0.37427489064820113, + "ilmd": 0.09949703735113144 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.01545436507936508, + "ndcg@10": 0.021803753420005016, + "ilad": 0.3835326242465526, + "ilmd": 0.10250291588902473 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.01597083333333333, + "ndcg@10": 0.022848925749046643, + "ilad": 0.3955410681287758, + "ilmd": 0.1070256321132183 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.016169642857142858, + "ndcg@10": 0.02354040137038188, + "ilad": 0.4136222954830155, + "ilmd": 0.11344369527697563 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.01592440476190476, + "ndcg@10": 0.02312518980963132, + "ilad": 0.4417927781753242, + "ilmd": 0.12277873194217682 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.01540376984126984, + "ndcg@10": 0.022399226334691196, + "ilad": 0.4910034666210413, + "ilmd": 0.13917084467411042 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.01506329365079365, + "ndcg@10": 0.021618319449210395, + "ilad": 0.6093123456388712, + "ilmd": 0.17730536139011382 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.013092261904761905, + "ndcg@10": 0.017107221551270948, + "ilad": 0.8135229647159576, + "ilmd": 0.3422833485007286 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.006768055555555556, + "ndcg@10": 0.00714620625300107, + "ilad": 0.9217608315646648, + "ilmd": 0.6910338762700557 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.016352976190476192, + "ndcg@10": 0.023149599697455194, + "ilad": 0.31220952164847404, + "ilmd": 0.07283911994099616 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.01636626984126984, + "ndcg@10": 0.02327339790620738, + "ilad": 0.31864464168436823, + "ilmd": 0.07396177411079406 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.016451587301587304, + "ndcg@10": 0.02333035896794778, + "ilad": 0.3267062939940952, + "ilmd": 0.07664755511283874 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.016211309523809527, + "ndcg@10": 0.022921708733773288, + "ilad": 0.3375739617305808, + "ilmd": 0.08100631934404373 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.015870436507936504, + "ndcg@10": 0.022517953176317156, + "ilad": 0.3511654163217172, + "ilmd": 0.08736189448833466 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.015972420634920634, + "ndcg@10": 0.02268993536070139, + "ilad": 0.37292714979778974, + "ilmd": 0.09648567789793014 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.015463293650793653, + "ndcg@10": 0.02196247589272495, + "ilad": 0.4105490157129243, + "ilmd": 0.10991167032718659 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.014734523809523807, + "ndcg@10": 0.02102861541525424, + "ilad": 0.4670295406836085, + "ilmd": 0.13949189999699593 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.012616071428571431, + "ndcg@10": 0.017625348220908756, + "ilad": 0.5645410420275293, + "ilmd": 0.21482172530889512 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.01060436507936508, + "ndcg@10": 0.013879073491010124, + "ilad": 0.7414048233726062, + "ilmd": 0.4056365459859371 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.0071339285714285714, + "ndcg@10": 0.007455328858630988, + "ilad": 0.9136604453772307, + "ilmd": 0.7259507108330726 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.016352976190476192, + "ndcg@10": 0.023149599697455194, + "ilad": 0.31220952164847404, + "ilmd": 0.07283911994099616 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.01601488095238095, + "ndcg@10": 0.022848261304690462, + "ilad": 0.38021509037306533, + "ilmd": 0.07581475189328193 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.015853174603174605, + "ndcg@10": 0.02208103029102329, + "ilad": 0.4523999394690618, + "ilmd": 0.07987037092447281 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.015576785714285713, + "ndcg@10": 0.02203838599054828, + "ilad": 0.5237515635723248, + "ilmd": 0.08722057941555977 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.014685119047619048, + "ndcg@10": 0.020345136324588745, + "ilad": 0.5976362780565396, + "ilmd": 0.09688074666261673 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.01440952380952381, + "ndcg@10": 0.019353901047567932, + "ilad": 0.6717722220025025, + "ilmd": 0.110189742654562 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.013304761904761904, + "ndcg@10": 0.01736857889928732, + "ilad": 0.7482257050853223, + "ilmd": 0.12817577785253526 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.0115234126984127, + "ndcg@10": 0.014171595867637034, + "ilad": 0.8206362014999613, + "ilmd": 0.1580740239918232 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.009695833333333332, + "ndcg@10": 0.011239581061586455, + "ilad": 0.8843436128394678, + "ilmd": 0.2083338991701603 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.007875, + "ndcg@10": 0.008292662662965342, + "ilad": 0.9326766157150268, + "ilmd": 0.3072335162162781 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.0065, + "ndcg@10": 0.0065, + "ilad": 0.9553384634405374, + "ilmd": 0.4444427156150341 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.016352976190476192, + "ndcg@10": 0.023149599697455194, + "ilad": 0.31220952164847404, + "ilmd": 0.07283911994099616 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.016541269841269843, + "ndcg@10": 0.02352062988163474, + "ilad": 0.3147133959168568, + "ilmd": 0.07342927289009095 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.016675595238095236, + "ndcg@10": 0.023632712617164174, + "ilad": 0.3182001323760487, + "ilmd": 0.07439539542794228 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.016793055555555554, + "ndcg@10": 0.023831474698491038, + "ilad": 0.3233819289510138, + "ilmd": 0.07610127267241477 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.01658472222222222, + "ndcg@10": 0.023553296486624496, + "ilad": 0.33061419836850836, + "ilmd": 0.07801818466186523 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.01617718253968254, + "ndcg@10": 0.022899539610657063, + "ilad": 0.3395528921517543, + "ilmd": 0.08126008349657059 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.015806944444444443, + "ndcg@10": 0.022474641966382828, + "ilad": 0.3553289118371904, + "ilmd": 0.08584849917888641 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.015690873015873012, + "ndcg@10": 0.02266426067349616, + "ilad": 0.38214982237946243, + "ilmd": 0.09393869334459305 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.015784126984126984, + "ndcg@10": 0.022816017228721643, + "ilad": 0.4461295924284495, + "ilmd": 0.1123644038438797 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.01282063492063492, + "ndcg@10": 0.017076356630434775, + "ilad": 0.7500032892525196, + "ilmd": 0.1943205818235874 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.006673611111111111, + "ndcg@10": 0.0069587624340568454, + "ilad": 0.9378482645452022, + "ilmd": 0.6803311214148998 + } + ], + "2": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.01919265873015873, + "ndcg@10": 0.027062509853131914, + "ilad": 0.30478241257509214, + "ilmd": 0.07141852086782455 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.01885416666666667, + "ndcg@10": 0.02622727690299528, + "ilad": 0.36286609884817156, + "ilmd": 0.09320874941349029 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.018792261904761905, + "ndcg@10": 0.025747537293934038, + "ilad": 0.36873279145825655, + "ilmd": 0.09556562626361848 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.018592063492063493, + "ndcg@10": 0.025459496931089166, + "ilad": 0.3776342528280802, + "ilmd": 0.09933891287446021 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.018495039682539682, + "ndcg@10": 0.02517170118219982, + "ilad": 0.3891094833938405, + "ilmd": 0.1035384561419487 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.018607738095238097, + "ndcg@10": 0.02515790009979623, + "ilad": 0.40722205179790033, + "ilmd": 0.10982364356517792 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.01884186507936508, + "ndcg@10": 0.02546101989345166, + "ilad": 0.43600079127214847, + "ilmd": 0.1182103017270565 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.018434920634920637, + "ndcg@10": 0.024913017476097123, + "ilad": 0.48571077930182216, + "ilmd": 0.13420297798514366 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.017173809523809525, + "ndcg@10": 0.022871452972582897, + "ilad": 0.6081949207261205, + "ilmd": 0.17024167597293854 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.013687698412698412, + "ndcg@10": 0.016957389072250213, + "ilad": 0.8134863413721323, + "ilmd": 0.342280361354351 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.008843650793650794, + "ndcg@10": 0.009211714077657602, + "ilad": 0.9196027999967337, + "ilmd": 0.6885345180928707 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.01919265873015873, + "ndcg@10": 0.027062509853131914, + "ilad": 0.30478241257509214, + "ilmd": 0.07141852086782455 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.019160317460317457, + "ndcg@10": 0.026932222929844308, + "ilad": 0.312579815659672, + "ilmd": 0.07277881440520287 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.019298214285714287, + "ndcg@10": 0.027047727394471744, + "ilad": 0.3200799348205328, + "ilmd": 0.07497312700748443 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.019320436507936505, + "ndcg@10": 0.027271888748756204, + "ilad": 0.3302786044306122, + "ilmd": 0.07839463517069817 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.019493055555555555, + "ndcg@10": 0.02751318321544133, + "ilad": 0.34419048627186566, + "ilmd": 0.08488117784261703 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.019598611111111112, + "ndcg@10": 0.027679877216217813, + "ilad": 0.3651543940440752, + "ilmd": 0.094852637052536 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.01884047619047619, + "ndcg@10": 0.026093240210318197, + "ilad": 0.40051716042030605, + "ilmd": 0.10727752056717872 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.01825575396825397, + "ndcg@10": 0.025171769891908596, + "ilad": 0.45769623122503983, + "ilmd": 0.13552430152893066 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.016631944444444446, + "ndcg@10": 0.023038309347825595, + "ilad": 0.5562025595568121, + "ilmd": 0.20525205138325692 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.013176984126984127, + "ndcg@10": 0.016288774172106592, + "ilad": 0.7339651717762463, + "ilmd": 0.40571262124180796 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.009148412698412699, + "ndcg@10": 0.009894443154654493, + "ilad": 0.911877147205174, + "ilmd": 0.7240077175498009 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.01919265873015873, + "ndcg@10": 0.027062509853131914, + "ilad": 0.30478241257509214, + "ilmd": 0.07141852086782455 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.019477380952380954, + "ndcg@10": 0.027616134779873087, + "ilad": 0.37230378630571065, + "ilmd": 0.07365364477038383 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.019388690476190476, + "ndcg@10": 0.027320005491319358, + "ilad": 0.4451621069931425, + "ilmd": 0.0788750870525837 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.018977380952380954, + "ndcg@10": 0.02634695043070975, + "ilad": 0.5180088112526573, + "ilmd": 0.08510914605855942 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.018217063492063493, + "ndcg@10": 0.024533770411968733, + "ilad": 0.5929789981204086, + "ilmd": 0.09394549891352653 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.017637103174603173, + "ndcg@10": 0.02309163077163957, + "ilad": 0.6672385119264945, + "ilmd": 0.10638770800828934 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.016477579365079365, + "ndcg@10": 0.021128847222837723, + "ilad": 0.7420779124093242, + "ilmd": 0.12371794193983078 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.014406150793650794, + "ndcg@10": 0.017448850106196942, + "ilad": 0.8143980502123013, + "ilmd": 0.15303477346897126 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.012482539682539682, + "ndcg@10": 0.014741100800531738, + "ilad": 0.8803796033943072, + "ilmd": 0.20485253822803498 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.0105, + "ndcg@10": 0.011138930695573496, + "ilad": 0.9302093836665154, + "ilmd": 0.3041950401365757 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.008625, + "ndcg@10": 0.008715338279036696, + "ilad": 0.9543136339560151, + "ilmd": 0.44019009128212927 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.01919265873015873, + "ndcg@10": 0.027062509853131914, + "ilad": 0.30478241257509214, + "ilmd": 0.07141852086782455 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.019152579365079362, + "ndcg@10": 0.026928407312574232, + "ilad": 0.3079159587956965, + "ilmd": 0.07225693687796593 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.019478968253968255, + "ndcg@10": 0.027404061909089904, + "ilad": 0.3116231081984006, + "ilmd": 0.07299699050188065 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.01948670634920635, + "ndcg@10": 0.0274207186389741, + "ilad": 0.3164443901362829, + "ilmd": 0.07426392406225205 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.01950297619047619, + "ndcg@10": 0.0275283827113494, + "ilad": 0.32297568552196027, + "ilmd": 0.07660039430856705 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.01943075396825397, + "ndcg@10": 0.027351976139046746, + "ilad": 0.3330411077425815, + "ilmd": 0.07927598440647125 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.019633531746031746, + "ndcg@10": 0.02729367378535238, + "ilad": 0.3486740893642418, + "ilmd": 0.08339079022407532 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.018696031746031745, + "ndcg@10": 0.02607567261537266, + "ilad": 0.37437652836786584, + "ilmd": 0.09064300918579102 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.01847361111111111, + "ndcg@10": 0.025265308695114324, + "ilad": 0.43983754570037126, + "ilmd": 0.10773772257566452 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.014375198412698414, + "ndcg@10": 0.01870390631589139, + "ilad": 0.7473437517955899, + "ilmd": 0.19059102183580398 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.008675, + "ndcg@10": 0.00885987069219564, + "ilad": 0.9361373276710511, + "ilmd": 0.6803476361334324 + } + ], + "3": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.020692261904761908, + "ndcg@10": 0.02693932583874966, + "ilad": 0.3132382565401495, + "ilmd": 0.07171190240979194 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.020043849206349204, + "ndcg@10": 0.026636109298340954, + "ilad": 0.37324281470384446, + "ilmd": 0.09362658926844597 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.019744444444444443, + "ndcg@10": 0.026059386924885374, + "ilad": 0.38084943893132733, + "ilmd": 0.09639782130718232 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.019564484126984128, + "ndcg@10": 0.025784503639403624, + "ilad": 0.388477781041991, + "ilmd": 0.09955447298288346 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.019573412698412698, + "ndcg@10": 0.025790512307408878, + "ilad": 0.3999856928433292, + "ilmd": 0.10396180114150047 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.0197734126984127, + "ndcg@10": 0.026360647815604526, + "ilad": 0.4180792884584516, + "ilmd": 0.11033561593294143 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.019340674603174606, + "ndcg@10": 0.025688962344106538, + "ilad": 0.4455357092283666, + "ilmd": 0.11967214557528495 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.019673809523809524, + "ndcg@10": 0.027025521937829564, + "ilad": 0.4939307909924537, + "ilmd": 0.13544849029183387 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.019409126984126984, + "ndcg@10": 0.025762820391633717, + "ilad": 0.6092959825154394, + "ilmd": 0.17153186121582986 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.018245039682539682, + "ndcg@10": 0.0226701143408197, + "ilad": 0.8146098071429878, + "ilmd": 0.3378522557020187 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.011863095238095239, + "ndcg@10": 0.012338338730560418, + "ilad": 0.9199482096917927, + "ilmd": 0.6882700215876102 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.020692261904761908, + "ndcg@10": 0.02693932583874966, + "ilad": 0.3132382565401495, + "ilmd": 0.07171190240979194 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.02095059523809524, + "ndcg@10": 0.02736945019909211, + "ilad": 0.3219229356534779, + "ilmd": 0.07331680431962014 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.020860912698412698, + "ndcg@10": 0.027399949375839026, + "ilad": 0.33112935740314425, + "ilmd": 0.07577540010213851 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.020723412698412696, + "ndcg@10": 0.027502895692212995, + "ilad": 0.3412889418788254, + "ilmd": 0.08011553281545639 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.02026448412698413, + "ndcg@10": 0.026816869342696503, + "ilad": 0.3559803368737921, + "ilmd": 0.08745655700564385 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.020255555555555554, + "ndcg@10": 0.027098276228396955, + "ilad": 0.3768126669144258, + "ilmd": 0.09707673090696335 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.020116071428571428, + "ndcg@10": 0.027002505459975453, + "ilad": 0.4110213886485435, + "ilmd": 0.11046885380148888 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.01906607142857143, + "ndcg@10": 0.025261075404300823, + "ilad": 0.46447306344658135, + "ilmd": 0.14043244805932045 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.01843650793650794, + "ndcg@10": 0.023773002151523323, + "ilad": 0.5602311546993441, + "ilmd": 0.21078465580940248 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.015576984126984127, + "ndcg@10": 0.01889846571548417, + "ilad": 0.7389365086196922, + "ilmd": 0.4010558471083641 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.011958333333333333, + "ndcg@10": 0.01230903334712547, + "ilad": 0.9115052769929171, + "ilmd": 0.722696325391531 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.020692261904761908, + "ndcg@10": 0.02693932583874966, + "ilad": 0.3132382565401495, + "ilmd": 0.07171190240979194 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.020986904761904762, + "ndcg@10": 0.027692720794460963, + "ilad": 0.38496272170357404, + "ilmd": 0.07581177774071693 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.020907936507936504, + "ndcg@10": 0.027631326899871494, + "ilad": 0.45521424340922384, + "ilmd": 0.08096899315714837 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.020453968253968256, + "ndcg@10": 0.027255209892933317, + "ilad": 0.5253822777192109, + "ilmd": 0.08829712808132172 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.01930297619047619, + "ndcg@10": 0.025038888494398896, + "ilad": 0.5979072585846298, + "ilmd": 0.09665445426106453 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.01843035714285714, + "ndcg@10": 0.023028518013461965, + "ilad": 0.6707647621291689, + "ilmd": 0.11068774923682213 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.017924007936507936, + "ndcg@10": 0.02207830114771323, + "ilad": 0.7443018108061514, + "ilmd": 0.13066620847582816 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.016126190476190478, + "ndcg@10": 0.01885182589018266, + "ilad": 0.817300462954212, + "ilmd": 0.15649181431531906 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.014633333333333333, + "ndcg@10": 0.01606290497451408, + "ilad": 0.8819562741280533, + "ilmd": 0.2042318878173828 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.012822222222222221, + "ndcg@10": 0.013355800908592176, + "ilad": 0.9306462174579501, + "ilmd": 0.3015367499887943 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.011821428571428571, + "ndcg@10": 0.011982131543452394, + "ilad": 0.9541808413304389, + "ilmd": 0.44848926085233687 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.020692261904761908, + "ndcg@10": 0.02693932583874966, + "ilad": 0.3132382565401495, + "ilmd": 0.07171190240979194 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.020920039682539682, + "ndcg@10": 0.027338048114160032, + "ilad": 0.3169572773678228, + "ilmd": 0.07258936989307403 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.020885119047619048, + "ndcg@10": 0.02742198037660302, + "ilad": 0.3210829286798835, + "ilmd": 0.07358835712075233 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.020801190476190477, + "ndcg@10": 0.027354451785158048, + "ilad": 0.32685230643395335, + "ilmd": 0.07522745764255524 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.020842261904761905, + "ndcg@10": 0.02749063203461425, + "ilad": 0.3342773104002699, + "ilmd": 0.0770949805676937 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.02054186507936508, + "ndcg@10": 0.027256114789832864, + "ilad": 0.34419248600583524, + "ilmd": 0.07998881801962852 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.02026607142857143, + "ndcg@10": 0.026934000423323824, + "ilad": 0.3599139431994408, + "ilmd": 0.08435958358645439 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.019810119047619045, + "ndcg@10": 0.02652826880980216, + "ilad": 0.38726237901160493, + "ilmd": 0.09181223675608635 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.019838095238095235, + "ndcg@10": 0.02676368892267391, + "ilad": 0.4497240319401026, + "ilmd": 0.10853880578279496 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.017714682539682537, + "ndcg@10": 0.022419878814391312, + "ilad": 0.7471837786640972, + "ilmd": 0.19246828797459603 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.011955357142857143, + "ndcg@10": 0.012306530648511928, + "ilad": 0.9365705002136528, + "ilmd": 0.6779164274930954 + } + ], + "4": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.019312698412698413, + "ndcg@10": 0.026754247227875907, + "ilad": 0.30795196745172143, + "ilmd": 0.07171924215555191 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.019436706349206346, + "ndcg@10": 0.02696844865571072, + "ilad": 0.36440368243027477, + "ilmd": 0.09436895105242729 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.019531150793650795, + "ndcg@10": 0.02684433370834657, + "ilad": 0.37140543705504386, + "ilmd": 0.09721854177117348 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.019491468253968254, + "ndcg@10": 0.02679643136041335, + "ilad": 0.37914839656464755, + "ilmd": 0.1009497701227665 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.01968492063492064, + "ndcg@10": 0.027174641809505264, + "ilad": 0.39073237756080925, + "ilmd": 0.10554660469293595 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.01919781746031746, + "ndcg@10": 0.026455479302377863, + "ilad": 0.4087665190068074, + "ilmd": 0.11123319917917251 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.01892003968253968, + "ndcg@10": 0.025784096238315967, + "ilad": 0.4369691398516297, + "ilmd": 0.11974856251478196 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.02009821428571429, + "ndcg@10": 0.027611159905841197, + "ilad": 0.4873015290088952, + "ilmd": 0.13453534537553788 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.018891468253968254, + "ndcg@10": 0.025770130068643007, + "ilad": 0.604280756438151, + "ilmd": 0.16920281332731246 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.017807142857142858, + "ndcg@10": 0.022611844804694813, + "ilad": 0.8139385999552906, + "ilmd": 0.3375927876830101 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.00925, + "ndcg@10": 0.009315464876785728, + "ilad": 0.9197752230539918, + "ilmd": 0.6915265861153602 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.019312698412698413, + "ndcg@10": 0.026754247227875907, + "ilad": 0.30795196745172143, + "ilmd": 0.07171924215555191 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.019541269841269842, + "ndcg@10": 0.0270607195800807, + "ilad": 0.31531356082484124, + "ilmd": 0.07351489087939263 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.01966686507936508, + "ndcg@10": 0.027158703165698954, + "ilad": 0.32335549892717974, + "ilmd": 0.07593270000815391 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.019489285714285712, + "ndcg@10": 0.026795352587443807, + "ilad": 0.3331139656039886, + "ilmd": 0.07893832463026047 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.019543849206349207, + "ndcg@10": 0.027053580377744198, + "ilad": 0.345815640299581, + "ilmd": 0.08544846743345261 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.01905357142857143, + "ndcg@10": 0.026422807739123578, + "ilad": 0.36587873432273044, + "ilmd": 0.0944850195646286 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.01916289682539683, + "ndcg@10": 0.026721703468838273, + "ilad": 0.4007047142237425, + "ilmd": 0.10648726975917816 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.01892996031746032, + "ndcg@10": 0.025684384669249043, + "ilad": 0.457844280033838, + "ilmd": 0.1350423431992531 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.017257142857142856, + "ndcg@10": 0.022891509874612522, + "ilad": 0.5588413807633333, + "ilmd": 0.20873260337114335 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.014287301587301588, + "ndcg@10": 0.01794404232223725, + "ilad": 0.7361586893997155, + "ilmd": 0.40733680918812754 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.009676984126984128, + "ndcg@10": 0.010092643831229058, + "ilad": 0.9118000100459903, + "ilmd": 0.726272253125906 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.019312698412698413, + "ndcg@10": 0.026754247227875907, + "ilad": 0.30795196745172143, + "ilmd": 0.07171924215555191 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.019700396825396822, + "ndcg@10": 0.027308663698394357, + "ilad": 0.3735698310039006, + "ilmd": 0.0743703476190567 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.019535515873015875, + "ndcg@10": 0.02694083610471651, + "ilad": 0.4445222620847635, + "ilmd": 0.07934669584035874 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.019000595238095237, + "ndcg@10": 0.02576418559243803, + "ilad": 0.5190277519724332, + "ilmd": 0.08544451349973678 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.01829384920634921, + "ndcg@10": 0.024321049704754884, + "ilad": 0.5941051050922833, + "ilmd": 0.0961640290915966 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.0179390873015873, + "ndcg@10": 0.023587786677652618, + "ilad": 0.6682555817430839, + "ilmd": 0.10823554447293282 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.016912896825396824, + "ndcg@10": 0.02174286353138652, + "ilad": 0.740030513710808, + "ilmd": 0.12709200918674468 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.016291269841269843, + "ndcg@10": 0.019852184581349235, + "ilad": 0.8137057626829483, + "ilmd": 0.15645814961194993 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.014539484126984128, + "ndcg@10": 0.01719386005740619, + "ilad": 0.8798041744809598, + "ilmd": 0.20969392651319504 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.011755952380952379, + "ndcg@10": 0.012923592416536797, + "ilad": 0.9298383307736366, + "ilmd": 0.30536614069342616 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.009083333333333332, + "ndcg@10": 0.009178103593554011, + "ilad": 0.9539920595139265, + "ilmd": 0.4457825624346733 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.019312698412698413, + "ndcg@10": 0.026754247227875907, + "ilad": 0.30795196745172143, + "ilmd": 0.07171924215555191 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.019472420634920634, + "ndcg@10": 0.026993171222174154, + "ilad": 0.3110055536031723, + "ilmd": 0.07264763653278351 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.019561507936507936, + "ndcg@10": 0.027076402076626722, + "ilad": 0.3158136391504668, + "ilmd": 0.073621020257473 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.019434920634920638, + "ndcg@10": 0.027083787787779378, + "ilad": 0.32149193244799973, + "ilmd": 0.07507575193047523 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.019580357142857142, + "ndcg@10": 0.027314112371805806, + "ilad": 0.3278664597282186, + "ilmd": 0.07711252465844154 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.019719246031746032, + "ndcg@10": 0.027547445136240356, + "ilad": 0.3370329535761848, + "ilmd": 0.08024505019187927 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.019712499999999997, + "ndcg@10": 0.027430911329274797, + "ilad": 0.3510400574854575, + "ilmd": 0.0839214881658554 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.01965357142857143, + "ndcg@10": 0.027271792383651516, + "ilad": 0.37804595815157516, + "ilmd": 0.09214494261145592 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.01941924603174603, + "ndcg@10": 0.02671468100515461, + "ilad": 0.44233652148395775, + "ilmd": 0.10910974997282029 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.0165781746031746, + "ndcg@10": 0.02148098084283437, + "ilad": 0.7461700030099601, + "ilmd": 0.18828190633654596 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.009138888888888889, + "ndcg@10": 0.009328618591386001, + "ilad": 0.9362347847856581, + "ilmd": 0.6823144928812981 + } + ], + "5": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.021520238095238092, + "ndcg@10": 0.028680748518306494, + "ilad": 0.31158309734379874, + "ilmd": 0.0718080113530159 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.022338293650793654, + "ndcg@10": 0.02996761283010898, + "ilad": 0.3686362824761309, + "ilmd": 0.09421683043241501 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.022171825396825398, + "ndcg@10": 0.029616227421199928, + "ilad": 0.37508303820202127, + "ilmd": 0.09702227145433426 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.02228293650793651, + "ndcg@10": 0.030019558493494573, + "ilad": 0.3842235647747293, + "ilmd": 0.10025776609778404 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.022044246031746033, + "ndcg@10": 0.029808306581200504, + "ilad": 0.39655801124218854, + "ilmd": 0.1054259625673294 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.022134325396825395, + "ndcg@10": 0.03009429662521811, + "ilad": 0.4144124726820737, + "ilmd": 0.11208565393090249 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.02166190476190476, + "ndcg@10": 0.029729264298126955, + "ilad": 0.44429964092187585, + "ilmd": 0.121007946819067 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.022008134920634925, + "ndcg@10": 0.030043642278506727, + "ilad": 0.4950994437113404, + "ilmd": 0.13762136462330818 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.021436309523809528, + "ndcg@10": 0.028370649903972003, + "ilad": 0.6096324858218432, + "ilmd": 0.17303612887859343 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.01837519841269841, + "ndcg@10": 0.022721966228424772, + "ilad": 0.8133368435278535, + "ilmd": 0.3360525623857975 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.010733333333333333, + "ndcg@10": 0.011016062410330225, + "ilad": 0.9195608277469873, + "ilmd": 0.6865696707367897 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.021520238095238092, + "ndcg@10": 0.028680748518306494, + "ilad": 0.31158309734379874, + "ilmd": 0.0718080113530159 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.02182400793650794, + "ndcg@10": 0.02893156954410501, + "ilad": 0.31898800848564135, + "ilmd": 0.07365408247709274 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.02198075396825397, + "ndcg@10": 0.029275483627519236, + "ilad": 0.3278787928163074, + "ilmd": 0.07636925640702248 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.021988492063492064, + "ndcg@10": 0.02918295728603825, + "ilad": 0.338396356661804, + "ilmd": 0.07991257411241531 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.022013690476190475, + "ndcg@10": 0.029089638487571408, + "ilad": 0.35064158791583033, + "ilmd": 0.08721598908305168 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.022275396825396827, + "ndcg@10": 0.029737550829499564, + "ilad": 0.3723990694405511, + "ilmd": 0.09611167281866073 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.022518055555555555, + "ndcg@10": 0.030249902229500497, + "ilad": 0.4067773487600498, + "ilmd": 0.10881893959641456 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.02176309523809524, + "ndcg@10": 0.029606663987688877, + "ilad": 0.46640709724649787, + "ilmd": 0.13632659596204758 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.019168849206349207, + "ndcg@10": 0.02524053126735096, + "ilad": 0.5701315706060268, + "ilmd": 0.21223253339529038 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.015484325396825397, + "ndcg@10": 0.01896635772536743, + "ilad": 0.7416625274717807, + "ilmd": 0.41318074387311937 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.011522222222222222, + "ndcg@10": 0.012097649228456141, + "ilad": 0.9102096328437328, + "ilmd": 0.7204430322647095 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.021520238095238092, + "ndcg@10": 0.028680748518306494, + "ilad": 0.31158309734379874, + "ilmd": 0.0718080113530159 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.022058730158730156, + "ndcg@10": 0.029440275867357625, + "ilad": 0.37868706046929584, + "ilmd": 0.07612982451915741 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.02229424603174603, + "ndcg@10": 0.03006943053690902, + "ilad": 0.45210369800776246, + "ilmd": 0.08059129995107651 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.02219027777777778, + "ndcg@10": 0.029675030858698888, + "ilad": 0.524881312164478, + "ilmd": 0.08820202431082726 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.021368650793650794, + "ndcg@10": 0.02770027664500128, + "ilad": 0.6028167405184358, + "ilmd": 0.09894190973043442 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.02048293650793651, + "ndcg@10": 0.026203122907798297, + "ilad": 0.6763691422054544, + "ilmd": 0.1110820387005806 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.019925396825396825, + "ndcg@10": 0.02487826068805661, + "ilad": 0.7485902751493267, + "ilmd": 0.13168720009922982 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.017382142857142856, + "ndcg@10": 0.020891920730742634, + "ilad": 0.8185234369812533, + "ilmd": 0.16159075725078584 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.016493650793650793, + "ndcg@10": 0.019069159401308704, + "ilad": 0.8819222572697326, + "ilmd": 0.21016201654076577 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.012954761904761906, + "ndcg@10": 0.014381970462614618, + "ilad": 0.930420412607491, + "ilmd": 0.312831389516592 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.0106625, + "ndcg@10": 0.010946797264710753, + "ilad": 0.953528025098145, + "ilmd": 0.44342006465792655 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.021520238095238092, + "ndcg@10": 0.028680748518306494, + "ilad": 0.31158309734379874, + "ilmd": 0.0718080113530159 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.021598214285714283, + "ndcg@10": 0.028852902514025346, + "ilad": 0.31406471083872023, + "ilmd": 0.07265427017211915 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.021817658730158732, + "ndcg@10": 0.029041908947749436, + "ilad": 0.3179104847470298, + "ilmd": 0.07379698759317398 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.02188968253968254, + "ndcg@10": 0.029101558561135277, + "ilad": 0.3234897670792416, + "ilmd": 0.07518937054276466 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.021955753968253968, + "ndcg@10": 0.028946529304922662, + "ilad": 0.33004867877904326, + "ilmd": 0.07694703036546707 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.022178571428571426, + "ndcg@10": 0.029325957641944362, + "ilad": 0.3393868109732866, + "ilmd": 0.08012705457210541 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.022668849206349206, + "ndcg@10": 0.030164401753308524, + "ilad": 0.3551769160120748, + "ilmd": 0.08468665814399719 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.022819047619047617, + "ndcg@10": 0.030679866485306705, + "ilad": 0.38250330683216455, + "ilmd": 0.09226672893762589 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.02278353174603175, + "ndcg@10": 0.03099652509923482, + "ilad": 0.4485900298836641, + "ilmd": 0.1098042625784874 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.01797797619047619, + "ndcg@10": 0.022879126599205685, + "ilad": 0.7468786546420306, + "ilmd": 0.19221409475803375 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.0106125, + "ndcg@10": 0.010802264851551807, + "ilad": 0.9352310405969619, + "ilmd": 0.6759091429412365 + } + ], + "6": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.023183730158730157, + "ndcg@10": 0.03130545624510233, + "ilad": 0.30926972739677877, + "ilmd": 0.07299312883615494 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.02303650793650794, + "ndcg@10": 0.03098059408132208, + "ilad": 0.367753344969824, + "ilmd": 0.09519904187321662 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.02334543650793651, + "ndcg@10": 0.031750863763090664, + "ilad": 0.3755893976809457, + "ilmd": 0.09800633010268212 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.02324623015873016, + "ndcg@10": 0.03166024272329062, + "ilad": 0.38484001441951843, + "ilmd": 0.1012524773478508 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.02319126984126984, + "ndcg@10": 0.03180638272374081, + "ilad": 0.3972148080659099, + "ilmd": 0.10601304823160171 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.022647420634920635, + "ndcg@10": 0.03072805964664826, + "ilad": 0.41598048717156055, + "ilmd": 0.11197353646159172 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.022861706349206347, + "ndcg@10": 0.03153877434509452, + "ilad": 0.4463409452419728, + "ilmd": 0.12117394924163818 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.022331746031746032, + "ndcg@10": 0.030150483930999793, + "ilad": 0.4934481303840876, + "ilmd": 0.13900982376933096 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.022248015873015874, + "ndcg@10": 0.029681878607872653, + "ilad": 0.60750911270082, + "ilmd": 0.17418720903992652 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.021011309523809522, + "ndcg@10": 0.02600081082054466, + "ilad": 0.8119745483770967, + "ilmd": 0.33334594464302064 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.013106150793650793, + "ndcg@10": 0.01354037897967725, + "ilad": 0.9211117066070438, + "ilmd": 0.6914691471457481 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.023183730158730157, + "ndcg@10": 0.03130545624510233, + "ilad": 0.30926972739677877, + "ilmd": 0.07299312883615494 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.023350396825396826, + "ndcg@10": 0.03166201437251162, + "ilad": 0.3174302700269036, + "ilmd": 0.07454664254188538 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.023660714285714285, + "ndcg@10": 0.032024791917761405, + "ilad": 0.32663604826293885, + "ilmd": 0.07652202743291855 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.02345773809523809, + "ndcg@10": 0.031857154241173774, + "ilad": 0.3372461606874131, + "ilmd": 0.07929482194781304 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.023287500000000003, + "ndcg@10": 0.0316060954527406, + "ilad": 0.35077134318649766, + "ilmd": 0.086628915309906 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.02334900793650794, + "ndcg@10": 0.031759269573450065, + "ilad": 0.3720141630535945, + "ilmd": 0.09488838467001914 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.022896825396825395, + "ndcg@10": 0.031178190758709198, + "ilad": 0.41023793746810405, + "ilmd": 0.10778309485316276 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.022119246031746035, + "ndcg@10": 0.029554655446605252, + "ilad": 0.4694898792160675, + "ilmd": 0.13841965687274932 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.019974999999999996, + "ndcg@10": 0.02551035774295277, + "ilad": 0.5704693047776819, + "ilmd": 0.2135173629820347 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.01712936507936508, + "ndcg@10": 0.020327797161985652, + "ilad": 0.74889236347517, + "ilmd": 0.414744378477335 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.012925, + "ndcg@10": 0.013175335568981369, + "ilad": 0.912711665071547, + "ilmd": 0.7252823873460292 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.023183730158730157, + "ndcg@10": 0.03130545624510233, + "ilad": 0.30926972739677877, + "ilmd": 0.07299312883615494 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.023191666666666663, + "ndcg@10": 0.031219078792939513, + "ilad": 0.3810783547563478, + "ilmd": 0.07612474927306176 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.02339960317460317, + "ndcg@10": 0.03159794500730739, + "ilad": 0.45382688847417013, + "ilmd": 0.08049010321497917 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.02280218253968254, + "ndcg@10": 0.03047938941376861, + "ilad": 0.5285290987752378, + "ilmd": 0.0874030279815197 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.022485714285714286, + "ndcg@10": 0.029484301204483587, + "ilad": 0.6040473215072416, + "ilmd": 0.09815156778693199 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.021522222222222217, + "ndcg@10": 0.02717708311059686, + "ilad": 0.6782260647951626, + "ilmd": 0.1103918154835701 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.02055952380952381, + "ndcg@10": 0.02521849996741187, + "ilad": 0.7516609434266575, + "ilmd": 0.12895997622609137 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.019521230158730155, + "ndcg@10": 0.02366749188234426, + "ilad": 0.8218910070755518, + "ilmd": 0.16002186760306358 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.016892857142857143, + "ndcg@10": 0.019093134811946938, + "ilad": 0.8847962282928639, + "ilmd": 0.20700413000583648 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.015274999999999999, + "ndcg@10": 0.016327016110098742, + "ilad": 0.932826407186687, + "ilmd": 0.31027394846081735 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.012571428571428572, + "ndcg@10": 0.012666666666666666, + "ilad": 0.9552470808327198, + "ilmd": 0.45129985007643697 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.023183730158730157, + "ndcg@10": 0.03130545624510233, + "ilad": 0.30926972739677877, + "ilmd": 0.07299312883615494 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.023120436507936507, + "ndcg@10": 0.03125768375740955, + "ilad": 0.31257018048269675, + "ilmd": 0.07379130148887635 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.023075992063492062, + "ndcg@10": 0.031228899064859893, + "ilad": 0.31736537607060744, + "ilmd": 0.07481523475050926 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.023392063492063492, + "ndcg@10": 0.03170187400195019, + "ilad": 0.3225396557985805, + "ilmd": 0.0764171442091465 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.02330515873015873, + "ndcg@10": 0.03162828476306346, + "ilad": 0.3294271395765245, + "ilmd": 0.07806561729311944 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.02334345238095238, + "ndcg@10": 0.03154379817482952, + "ilad": 0.33987538882018997, + "ilmd": 0.08061195942759514 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.023493253968253965, + "ndcg@10": 0.03189335509835126, + "ilad": 0.3540924258744344, + "ilmd": 0.08515420377254486 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.023108333333333335, + "ndcg@10": 0.031336320587382616, + "ilad": 0.38179143239744007, + "ilmd": 0.09289700639247894 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.02274781746031746, + "ndcg@10": 0.03146864550720516, + "ilad": 0.44981646921299395, + "ilmd": 0.10973303592205047 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.020216865079365078, + "ndcg@10": 0.02573638887441502, + "ilad": 0.7465917732510716, + "ilmd": 0.19164335429668428 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.01262142857142857, + "ndcg@10": 0.01281119907982561, + "ilad": 0.9377827830538153, + "ilmd": 0.6829589192569255 + } + ], + "7": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.025876984126984127, + "ndcg@10": 0.03373268805603414, + "ilad": 0.30663448975048957, + "ilmd": 0.07157121747732162 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.02566388888888889, + "ndcg@10": 0.03331800286852217, + "ilad": 0.3618244291776791, + "ilmd": 0.09433073648810386 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.025549999999999996, + "ndcg@10": 0.03322464353164396, + "ilad": 0.3698686240646057, + "ilmd": 0.09678137263655663 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.025599206349206347, + "ndcg@10": 0.03336614623843346, + "ilad": 0.37863208702858536, + "ilmd": 0.09984506675601006 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.025911904761904764, + "ndcg@10": 0.03385866835077859, + "ilad": 0.391094513673801, + "ilmd": 0.10425350138545036 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.025351190476190475, + "ndcg@10": 0.03275849743111029, + "ilad": 0.4084947158708237, + "ilmd": 0.10971806851029396 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.024270634920634918, + "ndcg@10": 0.03091124452013708, + "ilad": 0.43905096357129514, + "ilmd": 0.11846721115708352 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.024441468253968254, + "ndcg@10": 0.031156353710735097, + "ilad": 0.4883941369131207, + "ilmd": 0.13441255208849906 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.02376111111111111, + "ndcg@10": 0.029830916937901016, + "ilad": 0.6096914482340217, + "ilmd": 0.17090391591191292 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.01976031746031746, + "ndcg@10": 0.02302147048307413, + "ilad": 0.8175140040963889, + "ilmd": 0.3366074599325657 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.014155555555555555, + "ndcg@10": 0.01434394140144926, + "ilad": 0.9211947892680764, + "ilmd": 0.6905412448048591 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.025876984126984127, + "ndcg@10": 0.03373268805603414, + "ilad": 0.30663448975048957, + "ilmd": 0.07157121747732162 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.02598412698412698, + "ndcg@10": 0.03403472510598421, + "ilad": 0.31390614081267265, + "ilmd": 0.0732232680618763 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.02567440476190476, + "ndcg@10": 0.033774248029392114, + "ilad": 0.3225588023127057, + "ilmd": 0.07552459302544594 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.025859523809523808, + "ndcg@10": 0.03392587166703376, + "ilad": 0.33311310173384845, + "ilmd": 0.07943147584795952 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.02585198412698413, + "ndcg@10": 0.03390490909424162, + "ilad": 0.34671208557114, + "ilmd": 0.08569265446066857 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.02572638888888889, + "ndcg@10": 0.033578164052401493, + "ilad": 0.3675017153173685, + "ilmd": 0.09474523493647576 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.02563353174603175, + "ndcg@10": 0.03329072345983865, + "ilad": 0.4022688261475414, + "ilmd": 0.10792441138625145 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.024356547619047618, + "ndcg@10": 0.031273367404849935, + "ilad": 0.45895215298840775, + "ilmd": 0.13425008192658425 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.022282341269841268, + "ndcg@10": 0.028001501431409104, + "ilad": 0.5583195864274166, + "ilmd": 0.20922276186943053 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.01821170634920635, + "ndcg@10": 0.021381713128825457, + "ilad": 0.737068091256544, + "ilmd": 0.40739337649941443 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.014671428571428571, + "ndcg@10": 0.014991022823855395, + "ilad": 0.9127169899605214, + "ilmd": 0.7262072873413563 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.025876984126984127, + "ndcg@10": 0.03373268805603414, + "ilad": 0.30663448975048957, + "ilmd": 0.07157121747732162 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.02583313492063492, + "ndcg@10": 0.03370493454849841, + "ilad": 0.3763173104613088, + "ilmd": 0.07535962742567062 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.025436904761904765, + "ndcg@10": 0.03305898383587919, + "ilad": 0.4479263701797463, + "ilmd": 0.07919020307064056 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.024904761904761905, + "ndcg@10": 0.03204594252508257, + "ilad": 0.5195102892029099, + "ilmd": 0.08763929361104965 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.024184126984126985, + "ndcg@10": 0.03026389618793589, + "ilad": 0.5922018234659918, + "ilmd": 0.09682868358492851 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.02319781746031746, + "ndcg@10": 0.028067936456141827, + "ilad": 0.6679937046514824, + "ilmd": 0.1084828784763813 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.022250396825396826, + "ndcg@10": 0.026281684719187567, + "ilad": 0.7419983725962229, + "ilmd": 0.12751603266596795 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.020490674603174604, + "ndcg@10": 0.02352357255212327, + "ilad": 0.8138114348067902, + "ilmd": 0.15546161478757858 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.017996428571428573, + "ndcg@10": 0.019819408144128636, + "ilad": 0.880768270006869, + "ilmd": 0.20609597232937812 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.015526984126984129, + "ndcg@10": 0.01623246486520352, + "ilad": 0.9316893074288964, + "ilmd": 0.3028915944099426 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.014708333333333334, + "ndcg@10": 0.015030803155822425, + "ilad": 0.955103437975049, + "ilmd": 0.4478529748022556 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.025876984126984127, + "ndcg@10": 0.03373268805603414, + "ilad": 0.30663448975048957, + "ilmd": 0.07157121747732162 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.025975, + "ndcg@10": 0.0339147635678513, + "ilad": 0.30949994005728515, + "ilmd": 0.0724041549563408 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.025900793650793653, + "ndcg@10": 0.033963256984706675, + "ilad": 0.3130628637834452, + "ilmd": 0.07356336051225662 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.02575277777777778, + "ndcg@10": 0.033836503769590874, + "ilad": 0.3180754381143488, + "ilmd": 0.07526766836643219 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.025759722222222222, + "ndcg@10": 0.033750026142062975, + "ilad": 0.32399616347951815, + "ilmd": 0.07727925261855126 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.026138095238095235, + "ndcg@10": 0.033960344100166094, + "ilad": 0.33490235653007405, + "ilmd": 0.07980576643347741 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.026104166666666664, + "ndcg@10": 0.03412591622898435, + "ilad": 0.3496214685318991, + "ilmd": 0.08358983689546585 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.025976587301587303, + "ndcg@10": 0.03421507971331404, + "ilad": 0.37652223779959604, + "ilmd": 0.09203830474615098 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.024307936507936508, + "ndcg@10": 0.03177253736733713, + "ilad": 0.441413172472734, + "ilmd": 0.10732413059473038 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.020697222222222224, + "ndcg@10": 0.025811628823919457, + "ilad": 0.7462858867053874, + "ilmd": 0.19078616994619368 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.01480138888888889, + "ndcg@10": 0.015317138716627855, + "ilad": 0.9372345491424203, + "ilmd": 0.6840263759195805 + } + ], + "8": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.021348412698412693, + "ndcg@10": 0.029608253106546016, + "ilad": 0.3102986657274887, + "ilmd": 0.07251870942115783 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.022506944444444444, + "ndcg@10": 0.030677125369481625, + "ilad": 0.36501516789989547, + "ilmd": 0.0941603945195675 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.022411904761904765, + "ndcg@10": 0.03059896475464853, + "ilad": 0.37203935566730795, + "ilmd": 0.09669018730521202 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.02245079365079365, + "ndcg@10": 0.031140471450542526, + "ilad": 0.38168999322596936, + "ilmd": 0.10047627118229865 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.02230813492063492, + "ndcg@10": 0.03091545154610219, + "ilad": 0.3927771426108666, + "ilmd": 0.10526760253310204 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.022257142857142857, + "ndcg@10": 0.0307765127722664, + "ilad": 0.41094583997968587, + "ilmd": 0.11143768119812011 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.022035515873015873, + "ndcg@10": 0.030588312015904492, + "ilad": 0.43943666249513624, + "ilmd": 0.12035694760084152 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.022199404761904764, + "ndcg@10": 0.030243127023525745, + "ilad": 0.48933420032262803, + "ilmd": 0.13683199787139894 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.022548809523809523, + "ndcg@10": 0.031016551563231638, + "ilad": 0.6079935908317566, + "ilmd": 0.17231918308138847 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.018144444444444446, + "ndcg@10": 0.022453620397422946, + "ilad": 0.8133336964696646, + "ilmd": 0.34136620444059373 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.010479166666666668, + "ndcg@10": 0.010723197315178594, + "ilad": 0.9200377025008202, + "ilmd": 0.6897016945183277 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.021348412698412693, + "ndcg@10": 0.029608253106546016, + "ilad": 0.3102986657274887, + "ilmd": 0.07251870942115783 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.021763888888888888, + "ndcg@10": 0.03015581643652681, + "ilad": 0.31762314766831695, + "ilmd": 0.07415138077735901 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.021505555555555556, + "ndcg@10": 0.029827631581037323, + "ilad": 0.32521314559085296, + "ilmd": 0.07681560763716698 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.02122698412698413, + "ndcg@10": 0.029367040256922883, + "ilad": 0.33485939115751534, + "ilmd": 0.07979610458016395 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.021022817460317457, + "ndcg@10": 0.028674101557353008, + "ilad": 0.3479088389119133, + "ilmd": 0.0864610957801342 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.021025793650793653, + "ndcg@10": 0.028566237887404984, + "ilad": 0.3687854087073356, + "ilmd": 0.0951271131336689 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.02133730158730159, + "ndcg@10": 0.02883967726270637, + "ilad": 0.4024699136884883, + "ilmd": 0.10862456199526786 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.020969047619047623, + "ndcg@10": 0.028642985514160224, + "ilad": 0.4580194774540141, + "ilmd": 0.13595173516869544 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.019147817460317462, + "ndcg@10": 0.02571525926573393, + "ilad": 0.5600247852145694, + "ilmd": 0.20769314432144165 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.01480813492063492, + "ndcg@10": 0.018640595663046967, + "ilad": 0.7367656656089239, + "ilmd": 0.40375553783774376 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.010633333333333333, + "ndcg@10": 0.010953565760284412, + "ilad": 0.911789328366518, + "ilmd": 0.7233811749517918 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.021348412698412693, + "ndcg@10": 0.029608253106546016, + "ilad": 0.3102986657274887, + "ilmd": 0.07251870942115783 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.021617063492063493, + "ndcg@10": 0.029737621828749283, + "ilad": 0.37628246216336264, + "ilmd": 0.07586292511224747 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.021404563492063492, + "ndcg@10": 0.029444639696218296, + "ilad": 0.445185059373267, + "ilmd": 0.07927168995141982 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.021185119047619046, + "ndcg@10": 0.02873418110705267, + "ilad": 0.520853296148125, + "ilmd": 0.0859677611887455 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.02087797619047619, + "ndcg@10": 0.028046107432911506, + "ilad": 0.5952375195510685, + "ilmd": 0.09629048350453377 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.02009027777777778, + "ndcg@10": 0.0265236245132011, + "ilad": 0.6686373169841244, + "ilmd": 0.10885014840960502 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.019847420634920634, + "ndcg@10": 0.025557887260047898, + "ilad": 0.7440634181029163, + "ilmd": 0.12602016004920005 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.017080357142857144, + "ndcg@10": 0.020656379531026545, + "ilad": 0.8146880427268334, + "ilmd": 0.15452289894223215 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.015388095238095235, + "ndcg@10": 0.018077595888481207, + "ilad": 0.8803277958724648, + "ilmd": 0.20857171908020974 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.011819444444444443, + "ndcg@10": 0.012699899845737345, + "ilad": 0.9307129441276193, + "ilmd": 0.3081835270822048 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.01, + "ndcg@10": 0.01, + "ilad": 0.9545881927758455, + "ilmd": 0.44344665521383286 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.021348412698412693, + "ndcg@10": 0.029608253106546016, + "ilad": 0.3102986657274887, + "ilmd": 0.07251870942115783 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.021590079365079364, + "ndcg@10": 0.02990820454731525, + "ilad": 0.313103963511996, + "ilmd": 0.0735817146897316 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.02176309523809524, + "ndcg@10": 0.03003944271406224, + "ilad": 0.317407026025001, + "ilmd": 0.07459258806705475 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.021729166666666664, + "ndcg@10": 0.029798174791549184, + "ilad": 0.32150718627823516, + "ilmd": 0.0759092655479908 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.02206031746031746, + "ndcg@10": 0.03017607360404835, + "ilad": 0.3271012995475903, + "ilmd": 0.07754081094264983 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.022009523809523805, + "ndcg@10": 0.030051941652799976, + "ilad": 0.337233905906789, + "ilmd": 0.07987723514437675 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.02211765873015873, + "ndcg@10": 0.03015086453231416, + "ilad": 0.3523591364319436, + "ilmd": 0.08421050062775612 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.022054960317460317, + "ndcg@10": 0.030093723758956834, + "ilad": 0.3784437916004099, + "ilmd": 0.09159868010878564 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.022194444444444444, + "ndcg@10": 0.03041452508731512, + "ilad": 0.4428606685730629, + "ilmd": 0.1084128045141697 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.01820138888888889, + "ndcg@10": 0.024086019303334597, + "ilad": 0.7448241948764771, + "ilmd": 0.19161331555247307 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.010166666666666668, + "ndcg@10": 0.010356207187108023, + "ilad": 0.936297876432538, + "ilmd": 0.6792439682781697 + } + ], + "9": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.01793313492063492, + "ndcg@10": 0.025495225578694155, + "ilad": 0.3031466384665109, + "ilmd": 0.07343456333875656 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.018490277777777776, + "ndcg@10": 0.02712101375902199, + "ilad": 0.36177140318416057, + "ilmd": 0.09496555250883103 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.018492460317460317, + "ndcg@10": 0.027317894510014897, + "ilad": 0.36870354584092274, + "ilmd": 0.09734418731927871 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.018975198412698416, + "ndcg@10": 0.028440187658055054, + "ilad": 0.37896012073149904, + "ilmd": 0.10065566179156303 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.01874265873015873, + "ndcg@10": 0.028149274579888285, + "ilad": 0.3911189405512996, + "ilmd": 0.10493405970931054 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.018754761904761903, + "ndcg@10": 0.027449168990436437, + "ilad": 0.4104378574397415, + "ilmd": 0.11145253291726112 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.019079365079365078, + "ndcg@10": 0.02784749825748147, + "ilad": 0.43977812250331044, + "ilmd": 0.12053246492147446 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.019470238095238096, + "ndcg@10": 0.028796551887445274, + "ilad": 0.4866314710602164, + "ilmd": 0.13642369812726973 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.01818531746031746, + "ndcg@10": 0.026018524874552595, + "ilad": 0.605194934412837, + "ilmd": 0.17222465980052948 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.015545634920634922, + "ndcg@10": 0.019614860516824997, + "ilad": 0.8115452351272107, + "ilmd": 0.33396218207478523 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.007666666666666666, + "ndcg@10": 0.00775, + "ilad": 0.9190308139882982, + "ilmd": 0.6856633474230767 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.01793313492063492, + "ndcg@10": 0.025495225578694155, + "ilad": 0.3031466384665109, + "ilmd": 0.07343456333875656 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.017916666666666664, + "ndcg@10": 0.02570760650523244, + "ilad": 0.3102789166574366, + "ilmd": 0.07516340440511704 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.017910912698412697, + "ndcg@10": 0.025689840527565608, + "ilad": 0.31847626795386896, + "ilmd": 0.07718038675189018 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.018131150793650793, + "ndcg@10": 0.025968159655878863, + "ilad": 0.3289873407757841, + "ilmd": 0.08076916062831879 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.01873531746031746, + "ndcg@10": 0.026699351115497583, + "ilad": 0.342962089819368, + "ilmd": 0.0865022783279419 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.01838392857142857, + "ndcg@10": 0.02618123083476663, + "ilad": 0.3640170621550642, + "ilmd": 0.09644277659058571 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.018677777777777776, + "ndcg@10": 0.026433627731831364, + "ilad": 0.3981327599636279, + "ilmd": 0.1083032160103321 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.018112896825396824, + "ndcg@10": 0.02595835767042783, + "ilad": 0.45579294449836016, + "ilmd": 0.13500836405158043 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.015301388888888887, + "ndcg@10": 0.021955217036470322, + "ilad": 0.5556059736302122, + "ilmd": 0.20699121963977812 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.012383531746031747, + "ndcg@10": 0.01587202354717807, + "ilad": 0.7321362235848792, + "ilmd": 0.4017154881060123 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.00797222222222222, + "ndcg@10": 0.00821597987461772, + "ilad": 0.9099669587947429, + "ilmd": 0.7217099911272525 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.01793313492063492, + "ndcg@10": 0.025495225578694155, + "ilad": 0.3031466384665109, + "ilmd": 0.07343456333875656 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.018041666666666664, + "ndcg@10": 0.0261164182884578, + "ilad": 0.3720845595225692, + "ilmd": 0.07688711833953857 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.018134325396825395, + "ndcg@10": 0.026090257059871787, + "ilad": 0.4427209361903369, + "ilmd": 0.08225822150707245 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.01831646825396825, + "ndcg@10": 0.02601542312355854, + "ilad": 0.5170998882460408, + "ilmd": 0.08949451845884324 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.018116071428571426, + "ndcg@10": 0.025409703752628937, + "ilad": 0.5908205070388504, + "ilmd": 0.09870188540220261 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.017075198412698413, + "ndcg@10": 0.023479419602102966, + "ilad": 0.6642769259605557, + "ilmd": 0.10976149359345436 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.016460515873015873, + "ndcg@10": 0.02212507716218974, + "ilad": 0.7395566969509236, + "ilmd": 0.12752774840593337 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.014324007936507937, + "ndcg@10": 0.018289594059258518, + "ilad": 0.8142027597748674, + "ilmd": 0.15350535523891448 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.01247142857142857, + "ndcg@10": 0.015130699317072267, + "ilad": 0.8786197675154545, + "ilmd": 0.20233171340823172 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.009875, + "ndcg@10": 0.010788804097824465, + "ilad": 0.9295961638353765, + "ilmd": 0.30308146560192106 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.007666666666666666, + "ndcg@10": 0.00775, + "ilad": 0.9529230659268797, + "ilmd": 0.4384704194366932 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.01793313492063492, + "ndcg@10": 0.025495225578694155, + "ilad": 0.3031466384665109, + "ilmd": 0.07343456333875656 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.017833333333333336, + "ndcg@10": 0.025424277930227113, + "ilad": 0.30611459382949396, + "ilmd": 0.07440700799226761 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.0177, + "ndcg@10": 0.025418699214610464, + "ilad": 0.3098333735978231, + "ilmd": 0.07535583132505416 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.01795376984126984, + "ndcg@10": 0.02584219008425804, + "ilad": 0.31507840925967323, + "ilmd": 0.07655564668774605 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.018313095238095236, + "ndcg@10": 0.026246981753291657, + "ilad": 0.3228909051096998, + "ilmd": 0.07828081977367402 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.01835297619047619, + "ndcg@10": 0.02649288746641532, + "ilad": 0.3321079399115406, + "ilmd": 0.08086979180574418 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.01851468253968254, + "ndcg@10": 0.027129217470779336, + "ilad": 0.3473709462918341, + "ilmd": 0.08501599740982056 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.019346825396825394, + "ndcg@10": 0.02835566334952426, + "ilad": 0.37538031552406026, + "ilmd": 0.09263907915353775 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.019442261904761903, + "ndcg@10": 0.028650925166284962, + "ilad": 0.4409667089660652, + "ilmd": 0.10937405669689179 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.016095039682539683, + "ndcg@10": 0.021880335864224828, + "ilad": 0.7441324258893728, + "ilmd": 0.19135788732767106 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.007863095238095237, + "ndcg@10": 0.008132004945703363, + "ilad": 0.9348034689985215, + "ilmd": 0.6764426219761371 + } + ] + }, + "results": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.02023950396825397, + "mrr_std": 0.002766145016415878, + "ndcg@10": 0.027609901100882534, + "ndcg@10_std": 0.0031638902317454257, + "ilad": 0.30868628610344606, + "ilad_std": 0.003098750559144953, + "ilmd": 0.07226336136460303, + "ilmd_std": 0.0006654269116462754 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.02028450396825397, + "mrr_std": 0.002916593522257983, + "ndcg@10": 0.02779662027168644, + "ndcg@10_std": 0.0032431559207335477, + "ilad": 0.3658091701420956, + "ilad_std": 0.0033670155251657617, + "ilmd": 0.09457680679261683, + "ilmd_std": 0.0009204411078987047 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.02023121031746032, + "mrr_std": 0.0029414536136175714, + "ndcg@10": 0.027692148744909127, + "ndcg@10_std": 0.0033765526642809194, + "ilad": 0.372866478555277, + "ilad_std": 0.003533013050188642, + "ilmd": 0.09721302061975004, + "ilmd_std": 0.0009946311830913177 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.02021843253968254, + "mrr_std": 0.002980460817930098, + "ndcg@10": 0.027774635095616923, + "ndcg@10_std": 0.0035964555182451696, + "ilad": 0.3818985084736254, + "ilad_std": 0.0032421033110163946, + "ilmd": 0.10062070701718329, + "ilmd_std": 0.0009029112184478557 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.02026065476190476, + "mrr_std": 0.002920926273600233, + "ndcg@10": 0.02789288885940453, + "ndcg@10_std": 0.0034885473822900822, + "ilad": 0.3936689666923601, + "ilad_std": 0.003299979845994999, + "ilmd": 0.10517056246995926, + "ilmd_std": 0.0009854948195619744 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.020133234126984128, + "mrr_std": 0.0027686386352653402, + "ndcg@10": 0.027632239949802285, + "ndcg@10_std": 0.003148902478498843, + "ilad": 0.41193586392253645, + "ilad_std": 0.0033271456482429633, + "ilmd": 0.11132707139253617, + "ilmd_std": 0.0010740591913765958 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.019937440476190477, + "mrr_std": 0.002576429686632623, + "ndcg@10": 0.02736493714018255, + "ndcg@10_std": 0.003039572958002306, + "ilad": 0.4411058885205537, + "ilad_std": 0.003319752589172148, + "ilmd": 0.12031221915185453, + "ilmd_std": 0.0012904599908848992 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.01999934523809524, + "mrr_std": 0.0027304917519788844, + "ndcg@10": 0.027382246961377865, + "ndcg@10_std": 0.0032415852524190743, + "ilad": 0.49024080739934, + "ilad_std": 0.003102187124484397, + "ilmd": 0.13654437092244626, + "ilmd_std": 0.001761848689870174 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.019441269841269843, + "mrr_std": 0.0028354168759715426, + "ndcg@10": 0.02619171507753491, + "ndcg@10_std": 0.0033613727471134215, + "ilad": 0.6075377156861126, + "ilad_std": 0.0020657214531386394, + "ilmd": 0.1723322536766529, + "ilmd_std": 0.0021336808698782157 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.017063035714285715, + "mrr_std": 0.0024816515508110436, + "ndcg@10": 0.021194261135978852, + "ndcg@10_std": 0.0027840855337469533, + "ilad": 0.8136119383310898, + "ilad_std": 0.0015500669865090408, + "ilmd": 0.3380178790748119, + "ilmd_std": 0.0030426732890279137 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.01015781746031746, + "mrr_std": 0.002243957723137295, + "ndcg@10": 0.010438099529980923, + "ndcg@10_std": 0.0022762530894017076, + "ilad": 0.9204444398112596, + "ilad_std": 0.0010486608151720716, + "ilmd": 0.6894188800364733, + "ilmd_std": 0.0019760811254737015 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.02023950396825397, + "mrr_std": 0.002766145016415878, + "ndcg@10": 0.027609901100882534, + "ndcg@10_std": 0.0031638902317454257, + "ilad": 0.30868628610344606, + "ilad_std": 0.003098750559144953, + "ilmd": 0.07226336136460303, + "ilmd_std": 0.0006654269116462754 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.02040831349206349, + "mrr_std": 0.0028083228161369374, + "ndcg@10": 0.027869386038436895, + "ndcg@10_std": 0.0032379964021386743, + "ilad": 0.31615983949457294, + "ilad_std": 0.0032542003528643285, + "ilmd": 0.07380249942541123, + "ilmd_std": 0.0006545859836493524 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.020427162698412694, + "mrr_std": 0.0027525174999683964, + "ndcg@10": 0.02794264334692923, + "ndcg@10_std": 0.003168927436192565, + "ilad": 0.3246601662954781, + "ilad_std": 0.003548973291605603, + "ilmd": 0.07617207458615302, + "ilmd_std": 0.0006266157737852492 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.02036468253968254, + "mrr_std": 0.002777378074984277, + "ndcg@10": 0.027878576333747268, + "ndcg@10_std": 0.0031830547007237345, + "ilad": 0.33501995854387057, + "ilad_std": 0.003583996248240002, + "ilmd": 0.07971738901734353, + "ilmd_std": 0.0007502193173554325 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.020327876984126983, + "mrr_std": 0.002759196338167227, + "ndcg@10": 0.027762721863123507, + "ndcg@10_std": 0.003182405612464577, + "ilad": 0.34844573056390504, + "ilad_std": 0.003644233564700616, + "ilmd": 0.0863457616150379, + "ilmd_std": 0.0008250401414183836 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.0202909126984127, + "mrr_std": 0.002771413876236064, + "ndcg@10": 0.027761548714576832, + "ndcg@10_std": 0.003157838583975509, + "ilad": 0.36948294809018256, + "ilad_std": 0.003827966748338889, + "ilmd": 0.09553193426132203, + "ilmd_std": 0.0008601864723298334 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.02010857142857143, + "mrr_std": 0.0029189953448175055, + "ndcg@10": 0.027455663023736594, + "ndcg@10_std": 0.0033655207318728777, + "ilad": 0.40464611716214566, + "ilad_std": 0.004443417058720726, + "ilmd": 0.10852757629156114, + "ilmd_std": 0.0011743872684797337 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.019531091269841268, + "mrr_std": 0.002657873394664262, + "ndcg@10": 0.02657587960601554, + "ndcg@10_std": 0.0029839621891268276, + "ilad": 0.46160756334876646, + "ilad_std": 0.004555224545695014, + "ilmd": 0.13678787135779857, + "ilmd_std": 0.0019706297232200648 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.017534404761904758, + "mrr_std": 0.002714773578869904, + "ndcg@10": 0.023373327783798182, + "ndcg@10_std": 0.0028637716225428348, + "ilad": 0.5615215173673815, + "ilad_std": 0.004983904351681324, + "ilmd": 0.2096114389717579, + "ilmd_std": 0.0029775594008642527 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.014309742063492064, + "mrr_std": 0.002310823037795991, + "ndcg@10": 0.017626667141261144, + "ndcg@10_std": 0.0023982497111466484, + "ilad": 0.7384669235466513, + "ilad_std": 0.0044597812518144455, + "ilmd": 0.40678866822421555, + "ilmd_std": 0.004188397480214399 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.010474186507936505, + "mrr_std": 0.0022056398355220987, + "ndcg@10": 0.01086049970277244, + "ndcg@10_std": 0.0021964456014671326, + "ilad": 0.9119507343983276, + "ilad_std": 0.0011423161475285187, + "ilmd": 0.7240710703760386, + "ilmd_std": 0.0018971187520904324 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.02023950396825397, + "mrr_std": 0.002766145016415878, + "ndcg@10": 0.027609901100882534, + "ndcg@10_std": 0.0031638902317454257, + "ilad": 0.30868628610344606, + "ilad_std": 0.003098750559144953, + "ilmd": 0.07226336136460303, + "ilmd_std": 0.0006654269116462754 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.020461944444444442, + "mrr_std": 0.0027438223644763254, + "ndcg@10": 0.028048154123517483, + "ndcg@10_std": 0.002984019756946388, + "ilad": 0.37718422997193407, + "ilad_std": 0.0039022886714574737, + "ilmd": 0.07562017029225826, + "ilmd_std": 0.0008984094615098657 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.0203840873015873, + "mrr_std": 0.0027438968482262995, + "ndcg@10": 0.02785462355216492, + "ndcg@10_std": 0.003141673640284792, + "ilad": 0.44862607249217107, + "ilad_std": 0.004181691598037852, + "ilmd": 0.08015920466184616, + "ilmd_std": 0.0009900571420783212 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.020052876984126982, + "mrr_std": 0.0026649549114570207, + "ndcg@10": 0.02716139285006868, + "ndcg@10_std": 0.0029844529828766567, + "ilad": 0.5216624027363956, + "ilad_std": 0.0035559154430036826, + "ilmd": 0.08733618703186512, + "ilmd_std": 0.0013567845977259896 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.01939906746031746, + "mrr_std": 0.002713468731546951, + "ndcg@10": 0.025699376331250644, + "ndcg@10_std": 0.003032004826441046, + "ilad": 0.5961925107331016, + "ilad_std": 0.00418401027501016, + "ilmd": 0.09706318793296813, + "ilmd_std": 0.0014071010440657957 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.01869363095238095, + "mrr_std": 0.002502591390389031, + "ndcg@10": 0.024167194876615276, + "ndcg@10_std": 0.002635386662177615, + "ilad": 0.6702199821091723, + "ilad_std": 0.0040318853227999316, + "ilmd": 0.10950670655071737, + "ilmd_std": 0.0014226208118121207 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.017844206349206346, + "mrr_std": 0.0026417087419245322, + "ndcg@10": 0.022521295944224952, + "ndcg@10_std": 0.002815031626637641, + "ilad": 0.7442616911433172, + "ilad_std": 0.003792038709547564, + "ilmd": 0.12812716495096685, + "ilmd_std": 0.0022062427172608048 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.016083888888888887, + "mrr_std": 0.002576478213241505, + "ndcg@10": 0.019397657936667416, + "ndcg@10_std": 0.002821552404823176, + "ilad": 0.8163472263589036, + "ilad_std": 0.0028889681004659277, + "ilmd": 0.15696831517517568, + "ilmd_std": 0.002841549861256959 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.014234404761904762, + "mrr_std": 0.0024668531841496276, + "ndcg@10": 0.01641225114520497, + "ndcg@10_std": 0.0026064548710119, + "ilad": 0.8813116770386232, + "ilad_std": 0.001871165048882831, + "ilmd": 0.20729702851176263, + "ilmd_std": 0.0027843585367929684 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.011888908730158729, + "mrr_std": 0.0022538616927393995, + "ndcg@10": 0.012779608886041658, + "ndcg@10_std": 0.0023555389391788544, + "ilad": 0.9310281692745164, + "ilad_std": 0.0010745342915279912, + "ilmd": 0.3068071747839451, + "ilmd_std": 0.003852767816811862 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.010040119047619048, + "mrr_std": 0.002334048286967451, + "ndcg@10": 0.010181442574887034, + "ndcg@10_std": 0.0023972345469947328, + "ilad": 0.95453182117939, + "ilad_std": 0.000895540128969137, + "ilmd": 0.4447113772749901, + "ilmd_std": 0.0036388553216939834 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.02023950396825397, + "mrr_std": 0.002766145016415878, + "ndcg@10": 0.027609901100882534, + "ndcg@10_std": 0.0031638902317454257, + "ilad": 0.30868628610344606, + "ilad_std": 0.003098750559144953, + "ilmd": 0.07226336136460303, + "ilmd_std": 0.0006654269116462754 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.020336924603174603, + "mrr_std": 0.0027553162733529703, + "ndcg@10": 0.02776609199614234, + "ndcg@10_std": 0.0031426553537271954, + "ilad": 0.311663167794887, + "ilad_std": 0.0031127539996449794, + "ilmd": 0.07309339840114118, + "ilmd_std": 0.0006626038122719538 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.020414325396825396, + "mrr_std": 0.0027191816540620933, + "ndcg@10": 0.027894658628711856, + "ndcg@10_std": 0.003110045139463708, + "ilad": 0.31572544459505003, + "ilad_std": 0.003230383579694785, + "ilmd": 0.07411788308918475, + "ilmd_std": 0.0006802690682054867 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.020479166666666666, + "mrr_std": 0.0026556248849454343, + "ndcg@10": 0.028012335158922208, + "ndcg@10_std": 0.0030106616054279274, + "ilad": 0.32082890924718227, + "ilad_std": 0.003399145339914986, + "ilmd": 0.07557060093283655, + "ilmd_std": 0.0006638334922433904 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.02052355158730159, + "mrr_std": 0.0026868635480244104, + "ndcg@10": 0.02807063250227247, + "ndcg@10_std": 0.003017221885802353, + "ilad": 0.3276089380951132, + "ilad_std": 0.003469504986396778, + "ilmd": 0.07747821278274059, + "ilmd_std": 0.0005282352222754778 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.02051323412698413, + "mrr_std": 0.0028397558469741555, + "ndcg@10": 0.028043770017569164, + "ndcg@10_std": 0.003153353188018598, + "ilad": 0.33741596160400655, + "ilad_std": 0.003384851798943981, + "ilmd": 0.08026633799672125, + "ilmd_std": 0.0005499785147000639 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.020559464285714285, + "mrr_std": 0.0029228642326625614, + "ndcg@10": 0.028205914583871543, + "ndcg@10_std": 0.003276204432053062, + "ilad": 0.35260995730203576, + "ilad_std": 0.003520405680294537, + "ilmd": 0.08451723261475563, + "ilmd_std": 0.0007270693837509031 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.020395694444444442, + "mrr_std": 0.0029508182989190826, + "ndcg@10": 0.028106380747020765, + "ndcg@10_std": 0.0033687638332550404, + "ilad": 0.3795224813783076, + "ilad_std": 0.003707076051121601, + "ilmd": 0.09224411461353302, + "ilmd_std": 0.0008198100728401915 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.020185694444444444, + "mrr_std": 0.0026254216665281527, + "ndcg@10": 0.027896463751405753, + "ndcg@10_std": 0.0030678649942016034, + "ilad": 0.44444542319811875, + "ilad_std": 0.0035915012321885774, + "ilmd": 0.10928923692703248, + "ilmd_std": 0.0013787092451016916 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.01684236111111111, + "mrr_std": 0.00250237905706071, + "ndcg@10": 0.02174058494272253, + "ndcg@10_std": 0.0030050695282499273, + "ilad": 0.7464893488245551, + "ilad_std": 0.001523568054898827, + "ilmd": 0.19146370791494846, + "ilmd_std": 0.0014544759729136871 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.010134742063492064, + "mrr_std": 0.002311821442139995, + "ndcg@10": 0.010418547006663479, + "ndcg@10_std": 0.002355311177517035, + "ilad": 0.9367199352625759, + "ilad_std": 0.001216659573556249, + "ilmd": 0.6800261538028717, + "ilmd_std": 0.0025582127622400847 + } + ] +} diff --git a/benchmarks/results/lastfm.json b/benchmarks/results/lastfm.json new file mode 100644 index 0000000..d549326 --- /dev/null +++ b/benchmarks/results/lastfm.json @@ -0,0 +1,4087 @@ +{ + "dataset": "lastfm", + "timestamp": "2026-01-26T11:19:21.924938+00:00", + "config": { + "n_users": 1859, + "n_items": 2823, + "n_interactions": 71355, + "sample_users": 2000, + "n_runs": 10, + "total_evaluations": 20000, + "k": 10, + "embedding_dim": 64, + "seed": 42 + }, + "per_run_results": { + "0": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.09476228899305822, + "ndcg@10": 0.12107732487821155, + "ilad": 0.3711148761433257, + "ilmd": 0.11253379605161432 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.09360810130040897, + "ndcg@10": 0.12024164683742122, + "ilad": 0.41353275302663295, + "ilmd": 0.13406843251602313 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.09257110410956565, + "ndcg@10": 0.11856490404807023, + "ilad": 0.41864127269382434, + "ilmd": 0.13631050999668606 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.09269512538743307, + "ndcg@10": 0.11865321181971819, + "ilad": 0.42563537080612407, + "ilmd": 0.1406350838297987 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.09212176712176712, + "ndcg@10": 0.11751130255085157, + "ilad": 0.43503231596103464, + "ilmd": 0.14538521565308554 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.09185152454383225, + "ndcg@10": 0.11633497053939522, + "ilad": 0.44895122190631803, + "ilmd": 0.151932360793776 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.09127667204590281, + "ndcg@10": 0.1151552009950163, + "ilad": 0.470982293365398, + "ilmd": 0.16238863436748674 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.08966866466866466, + "ndcg@10": 0.11260965535709497, + "ilad": 0.5154197221965544, + "ilmd": 0.1813841059106598 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.0882482901713671, + "ndcg@10": 0.10899515248716242, + "ilad": 0.6127662502866461, + "ilmd": 0.22421249684753952 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.07907626561472716, + "ndcg@10": 0.09105601125175242, + "ilad": 0.826382026837807, + "ilmd": 0.3872574150658475 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.057231230308153386, + "ndcg@10": 0.05743088213631346, + "ilad": 0.9744194951219031, + "ilmd": 0.8343164350731261 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.09476228899305822, + "ndcg@10": 0.12107732487821155, + "ilad": 0.3711148761433257, + "ilmd": 0.11253379605161432 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.09487947949486411, + "ndcg@10": 0.1211686137434535, + "ilad": 0.37240138488424407, + "ilmd": 0.11282569397643666 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.09457444265136572, + "ndcg@10": 0.12080826696477348, + "ilad": 0.3745294158868472, + "ilmd": 0.11358961839711813 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.09454562531485608, + "ndcg@10": 0.12057020122550555, + "ilad": 0.37756420786564165, + "ilmd": 0.11496419487235493 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.0947125524048601, + "ndcg@10": 0.12070923728705232, + "ilad": 0.38122525099803195, + "ilmd": 0.11646966856612256 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.09490509490509491, + "ndcg@10": 0.12076446739377523, + "ilad": 0.38723438562782236, + "ilmd": 0.11798241575794106 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.09490872375487759, + "ndcg@10": 0.12100146067692295, + "ilad": 0.3969963833854011, + "ilmd": 0.12124095936498698 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.09446579061963677, + "ndcg@10": 0.12063346869598515, + "ilad": 0.412552066796598, + "ilmd": 0.1278905951893413 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.09328449328449329, + "ndcg@10": 0.11836076611157637, + "ilad": 0.45298345352514513, + "ilmd": 0.1481889938076957 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.08793556870479947, + "ndcg@10": 0.10925394743720088, + "ilad": 0.624839927626432, + "ilmd": 0.2572733677158181 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.057898511744665586, + "ndcg@10": 0.0583312410654628, + "ilad": 0.978079890422503, + "ilmd": 0.8519974771592488 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.09476228899305822, + "ndcg@10": 0.12107732487821155, + "ilad": 0.3711148761433257, + "ilmd": 0.11253379605161432 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.09489463527925067, + "ndcg@10": 0.1210598189221954, + "ilad": 0.3909203367625404, + "ilmd": 0.11423335603131217 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.09432127701358471, + "ndcg@10": 0.11982017111014251, + "ilad": 0.41516418715176434, + "ilmd": 0.11582459798738994 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.0942847750540058, + "ndcg@10": 0.1196739030606934, + "ilad": 0.44758191327411617, + "ilmd": 0.11869344915222775 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.09450869643177336, + "ndcg@10": 0.12051463123318157, + "ilad": 0.4889001687422531, + "ilmd": 0.12308566903093286 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.09325290094520862, + "ndcg@10": 0.11675926268968648, + "ilad": 0.5472855043064977, + "ilmd": 0.12882457708017103 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.09193306693306692, + "ndcg@10": 0.11416271752468003, + "ilad": 0.6370746833645509, + "ilmd": 0.1391741647202203 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.08896210626979859, + "ndcg@10": 0.10729377753135469, + "ilad": 0.7714729187323753, + "ilmd": 0.16547204298380563 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.08413915144684375, + "ndcg@10": 0.09746300601953314, + "ilad": 0.9002522048031918, + "ilmd": 0.21865777439683787 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.07074485343716112, + "ndcg@10": 0.07592187266490263, + "ilad": 0.975827574537543, + "ilmd": 0.362250187052008 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.05750019211557673, + "ndcg@10": 0.05789145620146033, + "ilad": 1.0062830614235658, + "ilmd": 0.6595425607377063 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.09476228899305822, + "ndcg@10": 0.12107732487821155, + "ilad": 0.3711148761433257, + "ilmd": 0.11253379605161432 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.09451488682257914, + "ndcg@10": 0.12076410311027885, + "ilad": 0.3731637828236405, + "ilmd": 0.11316676291167704 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.09476356976356975, + "ndcg@10": 0.12085690679146432, + "ilad": 0.37608902788389875, + "ilmd": 0.11425986480430739 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.09467306198075429, + "ndcg@10": 0.12099830975310824, + "ilad": 0.38005474067106243, + "ilmd": 0.1155930904690587 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.09478705055628132, + "ndcg@10": 0.12101130152261876, + "ilad": 0.38506366493858724, + "ilmd": 0.11731987489430477 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.0947345389653082, + "ndcg@10": 0.12119411264680921, + "ilad": 0.3927204998800227, + "ilmd": 0.11979959846633041 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.09382583228737075, + "ndcg@10": 0.12047294444789597, + "ilad": 0.40437853076625985, + "ilmd": 0.12450720835527211 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.09343178189332035, + "ndcg@10": 0.11993062437456192, + "ilad": 0.4263156861579822, + "ilmd": 0.13398583205301573 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.09215229215229216, + "ndcg@10": 0.1172803867570466, + "ilad": 0.48753511247582304, + "ilmd": 0.15378023024333812 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.08033206110129186, + "ndcg@10": 0.095956141714501, + "ilad": 0.7992907223232079, + "ilmd": 0.28310679510885056 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.05731277269738808, + "ndcg@10": 0.05760629092091547, + "ilad": 0.998183773498884, + "ilmd": 0.8154974148246535 + } + ], + "1": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.08908420639189871, + "ndcg@10": 0.11544276217684578, + "ilad": 0.3714028820285254, + "ilmd": 0.11331506160845867 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.09042175772945003, + "ndcg@10": 0.11799676999038995, + "ilad": 0.4134856307615575, + "ilmd": 0.13460860225447666 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.0901171478094555, + "ndcg@10": 0.11753486835277895, + "ilad": 0.41836309703913604, + "ilmd": 0.13740898281608363 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.09000017076940155, + "ndcg@10": 0.11765148562282578, + "ilad": 0.425331923395251, + "ilmd": 0.14115547111048501 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.08994659186966879, + "ndcg@10": 0.1170552528906793, + "ilad": 0.43444518592647485, + "ilmd": 0.14568455559775162 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.09042239811470582, + "ndcg@10": 0.11789271834582374, + "ilad": 0.44764329969177585, + "ilmd": 0.15277916500810784 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.08932968740661049, + "ndcg@10": 0.11547705765445981, + "ilad": 0.47134295287890227, + "ilmd": 0.16344416760321007 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.08759040105193952, + "ndcg@10": 0.1122714507536913, + "ilad": 0.5154189696358121, + "ilmd": 0.1820900484462654 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.08470205008666547, + "ndcg@10": 0.10744156326951829, + "ilad": 0.6120196477644799, + "ilmd": 0.2259594954554274 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.07205081243542781, + "ndcg@10": 0.0842777512838899, + "ilad": 0.823614257615763, + "ilmd": 0.3869729089826714 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.04977586516048054, + "ndcg@10": 0.050068923965914884, + "ilad": 0.9743796713958831, + "ilmd": 0.8345335366073124 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.08908420639189871, + "ndcg@10": 0.11544276217684578, + "ilad": 0.3714028820285254, + "ilmd": 0.11331506160845867 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.08907886984810062, + "ndcg@10": 0.11555587969150095, + "ilad": 0.3729157582488494, + "ilmd": 0.11391853657764027 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.08926885080731234, + "ndcg@10": 0.11593749024046393, + "ilad": 0.3751822887564648, + "ilmd": 0.11472207333465749 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.0893546624315855, + "ndcg@10": 0.11601168470570745, + "ilad": 0.37822635758181233, + "ilmd": 0.11601522633822904 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.089767924383309, + "ndcg@10": 0.11658265178189678, + "ilad": 0.3822087922803316, + "ilmd": 0.1173330518172081 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.0898716667947437, + "ndcg@10": 0.11689096388742902, + "ilad": 0.38857539627859355, + "ilmd": 0.12000365398980521 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.09054407131330207, + "ndcg@10": 0.11821499288635655, + "ilad": 0.3964785490958536, + "ilmd": 0.12398309198485195 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.09108199492814877, + "ndcg@10": 0.11916125969688834, + "ilad": 0.41300608836928, + "ilmd": 0.13066517428212937 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.08978350709119941, + "ndcg@10": 0.11716148546495019, + "ilad": 0.4532641282163845, + "ilmd": 0.14778959808842093 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.08406337252491099, + "ndcg@10": 0.1061969314639999, + "ilad": 0.6239321009567055, + "ilmd": 0.2579213210881045 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.05033684264453495, + "ndcg@10": 0.050771521068743476, + "ilad": 0.9773299241655934, + "ilmd": 0.8516503178092214 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.08908420639189871, + "ndcg@10": 0.11544276217684578, + "ilad": 0.3714028820285254, + "ilmd": 0.11331506160845867 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.089314318160472, + "ndcg@10": 0.11641134479794016, + "ilad": 0.3928746734708227, + "ilmd": 0.11522354532660432 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.08993357070280147, + "ndcg@10": 0.11708009315856349, + "ilad": 0.41640112463198503, + "ilmd": 0.11702935031308097 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.0897662166892936, + "ndcg@10": 0.11672206134310273, + "ilad": 0.4468354264263218, + "ilmd": 0.11981249484020641 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.08954699147006838, + "ndcg@10": 0.11552683891808982, + "ilad": 0.4900107276678534, + "ilmd": 0.12305237982079442 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.08899455245609092, + "ndcg@10": 0.11447968242251484, + "ilad": 0.5465016221510364, + "ilmd": 0.13008424182807712 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.08682385990078298, + "ndcg@10": 0.10933623413088167, + "ilad": 0.6363550052327325, + "ilmd": 0.14115123280021952 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.08390135505520122, + "ndcg@10": 0.10325132751875236, + "ilad": 0.7708277402104006, + "ilmd": 0.16408522290013822 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.07807320884243962, + "ndcg@10": 0.09178249281086379, + "ilad": 0.8996635516719705, + "ilmd": 0.21638010774907918 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.06677510523664369, + "ndcg@10": 0.07356232720028026, + "ilad": 0.9746112027688973, + "ilmd": 0.3610050208854573 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.04948897256589564, + "ndcg@10": 0.04948897256589564, + "ilad": 1.0051221415648992, + "ilmd": 0.6578901406575942 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.08908420639189871, + "ndcg@10": 0.11544276217684578, + "ilad": 0.3714028820285254, + "ilmd": 0.11331506160845867 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.0891089679551218, + "ndcg@10": 0.11569049317870166, + "ilad": 0.3736991200239396, + "ilmd": 0.11408141593640693 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.08929617391155853, + "ndcg@10": 0.11574702279157915, + "ilad": 0.3764471030258536, + "ilmd": 0.11549878768089832 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.08951966836582222, + "ndcg@10": 0.11625922362917679, + "ilad": 0.3807135909543267, + "ilmd": 0.11704839000527482 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.09021683444760367, + "ndcg@10": 0.11739432466063283, + "ilad": 0.38655380577834914, + "ilmd": 0.11960424316897708 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.09008363431440354, + "ndcg@10": 0.11749801180094462, + "ilad": 0.3938867337540826, + "ilmd": 0.12216762242104304 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.09002792079715156, + "ndcg@10": 0.11746414552036005, + "ilad": 0.4049624340942369, + "ilmd": 0.12651119612441902 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.0912280027664643, + "ndcg@10": 0.11913949497548094, + "ilad": 0.42541152662474857, + "ilmd": 0.1345737784251274 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.0892656488810335, + "ndcg@10": 0.11551444814540422, + "ilad": 0.4881611829237825, + "ilmd": 0.15382274541244384 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.07177053715515254, + "ndcg@10": 0.08735169067935879, + "ilad": 0.7965322805066594, + "ilmd": 0.28242578142236935 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.04960851114697269, + "ndcg@10": 0.04981283485278535, + "ilad": 0.9971630661445257, + "ilmd": 0.8154734601058775 + } + ], + "2": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.09424464424464425, + "ndcg@10": 0.11750995767639227, + "ilad": 0.369705030104449, + "ilmd": 0.11341833439868519 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.0948995448995449, + "ndcg@10": 0.12004865539894034, + "ilad": 0.41161393594636014, + "ilmd": 0.13420188410940062 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.09493156416233338, + "ndcg@10": 0.12060628628659296, + "ilad": 0.4170697710931205, + "ilmd": 0.13732229871349735 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.09538517038517037, + "ndcg@10": 0.12166305419887724, + "ilad": 0.4241224049383623, + "ilmd": 0.14111774743020117 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.09576961500038422, + "ndcg@10": 0.12207615296738412, + "ilad": 0.4332947866563325, + "ilmd": 0.14542699418060237 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.09461500038423117, + "ndcg@10": 0.12021581356503556, + "ilad": 0.4475373153711532, + "ilmd": 0.15225438407315176 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.09447219447219449, + "ndcg@10": 0.11945228510911733, + "ilad": 0.4697517392262135, + "ilmd": 0.16146495798828142 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.09341641264718187, + "ndcg@10": 0.11790856135015863, + "ilad": 0.5142345643046724, + "ilmd": 0.1813938085785343 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.09028300759069989, + "ndcg@10": 0.11181522219737135, + "ilad": 0.6140710768871502, + "ilmd": 0.22173782017617022 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.07975977014438553, + "ndcg@10": 0.0911800414489234, + "ilad": 0.8256129916795419, + "ilmd": 0.3899539610337929 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.05885033769649155, + "ndcg@10": 0.05915691342633552, + "ilad": 0.9740677395772396, + "ilmd": 0.8348819404728249 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.09424464424464425, + "ndcg@10": 0.11750995767639227, + "ilad": 0.369705030104449, + "ilmd": 0.11341833439868519 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.09428947121254815, + "ndcg@10": 0.11788520614523687, + "ilad": 0.3714897863470687, + "ilmd": 0.11394871659917559 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.09455330993792532, + "ndcg@10": 0.1184385763531882, + "ilad": 0.3737395305112365, + "ilmd": 0.11454757485356364 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.09473048319202165, + "ndcg@10": 0.11882403033112593, + "ilad": 0.3765168182928598, + "ilmd": 0.11543420115871543 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.09495781995781996, + "ndcg@10": 0.11913373894113527, + "ilad": 0.3800035183402625, + "ilmd": 0.1164061013506971 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.09517106824799132, + "ndcg@10": 0.11967792510103006, + "ilad": 0.3855659073742729, + "ilmd": 0.1186132151763756 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.09529402221709915, + "ndcg@10": 0.11990657053679638, + "ilad": 0.39434622338160896, + "ilmd": 0.1215109895351691 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.09551218012756474, + "ndcg@10": 0.12020283630717413, + "ilad": 0.4106969591941546, + "ilmd": 0.1288325860976147 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.0950974239435778, + "ndcg@10": 0.11953990524816936, + "ilad": 0.45008025789506145, + "ilmd": 0.1471808244939643 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.09226222495453265, + "ndcg@10": 0.11426499466759399, + "ilad": 0.6209107331166093, + "ilmd": 0.2566637181350786 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.059679636602713526, + "ndcg@10": 0.06008274301042408, + "ilad": 0.9777155968051497, + "ilmd": 0.8516045567359637 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.09424464424464425, + "ndcg@10": 0.11750995767639227, + "ilad": 0.369705030104449, + "ilmd": 0.11341833439868519 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.09477168131014284, + "ndcg@10": 0.11897737418091052, + "ilad": 0.38998031039682685, + "ilmd": 0.11515870425828109 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.09507565084488162, + "ndcg@10": 0.1196972438590557, + "ilad": 0.41305889847130783, + "ilmd": 0.11687376670391089 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.09561229368921675, + "ndcg@10": 0.12039559734206304, + "ilad": 0.44466806266050046, + "ilmd": 0.11958292634850103 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.09579117463732849, + "ndcg@10": 0.12045466234389972, + "ilad": 0.486693235978909, + "ilmd": 0.12363583583739446 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.09573844958460342, + "ndcg@10": 0.12063580559529757, + "ilad": 0.5459590219462219, + "ilmd": 0.12934378166234642 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.09401026324103248, + "ndcg@10": 0.11684320470908376, + "ilad": 0.634712660317462, + "ilmd": 0.139513821708316 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.08996388227157458, + "ndcg@10": 0.10792665412822759, + "ilad": 0.770397177710528, + "ilmd": 0.16301319383048704 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.08466277312431157, + "ndcg@10": 0.09722901648016687, + "ilad": 0.8992917976948829, + "ilmd": 0.21657956643666293 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.07420955113262805, + "ndcg@10": 0.0798697740387441, + "ilad": 0.9751732334646889, + "ilmd": 0.362332700721162 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.05901022054868208, + "ndcg@10": 0.05930234534391746, + "ilad": 1.0059208406306774, + "ilmd": 0.659042616086727 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.09424464424464425, + "ndcg@10": 0.11750995767639227, + "ilad": 0.369705030104449, + "ilmd": 0.11341833439868519 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.09449546180315412, + "ndcg@10": 0.11817391378497388, + "ilad": 0.37226581188933766, + "ilmd": 0.114159431843555 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.09469355430893893, + "ndcg@10": 0.11847577842961463, + "ilad": 0.3749992209854884, + "ilmd": 0.11523232821048493 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.09518323556785095, + "ndcg@10": 0.11923118614793532, + "ilad": 0.37851774407377353, + "ilmd": 0.11639558711059636 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.09489741028202567, + "ndcg@10": 0.11911949891367402, + "ilad": 0.3836240933034739, + "ilmd": 0.11810678612358663 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.0951213316597932, + "ndcg@10": 0.11931083070621908, + "ilad": 0.3908268702309128, + "ilmd": 0.12061183644341422 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.09503210464748926, + "ndcg@10": 0.1196082479188436, + "ilad": 0.40294199730277125, + "ilmd": 0.12545341933010853 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.09490018528480067, + "ndcg@10": 0.1206293559391668, + "ilad": 0.4253643142192706, + "ilmd": 0.13408012099006986 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.09449866372943297, + "ndcg@10": 0.12027288759704459, + "ilad": 0.48700087474616, + "ilmd": 0.15347359608808725 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.08099144445298291, + "ndcg@10": 0.09605006977601946, + "ilad": 0.7985352181246872, + "ilmd": 0.2830768898329855 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.0586336740182894, + "ndcg@10": 0.0586336740182894, + "ilad": 0.9973920815538629, + "ilmd": 0.816328528813613 + } + ], + "3": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.09090396782704475, + "ndcg@10": 0.11709163987074739, + "ilad": 0.3708994335837105, + "ilmd": 0.11187253782606818 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.09188268995961303, + "ndcg@10": 0.11829914279729871, + "ilad": 0.4126771591351262, + "ilmd": 0.1346284455993985 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.09164446664446664, + "ndcg@10": 0.11822436248997482, + "ilad": 0.41844851450695025, + "ilmd": 0.13761743738036952 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.09145128375897607, + "ndcg@10": 0.11795383326729393, + "ilad": 0.42471703724668125, + "ilmd": 0.14116128700404093 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.09120601620601619, + "ndcg@10": 0.11751724348306623, + "ilad": 0.4352280032120128, + "ilmd": 0.1455991176137878 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.09138639138639139, + "ndcg@10": 0.11744690961227863, + "ilad": 0.44771426958605576, + "ilmd": 0.15243893201278064 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.09113600075138537, + "ndcg@10": 0.11713668990123192, + "ilad": 0.46905340664709944, + "ilmd": 0.16217324841464958 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.08903169480092557, + "ndcg@10": 0.11337066170611955, + "ilad": 0.5129871560303738, + "ilmd": 0.18146574596617412 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.08509972933049857, + "ndcg@10": 0.10618602778208351, + "ilad": 0.6119545890382055, + "ilmd": 0.22504252362084556 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.07466273043196119, + "ndcg@10": 0.08625488291478366, + "ilad": 0.8254109173772667, + "ilmd": 0.38621820013262753 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.05416591955053494, + "ndcg@10": 0.05459578593915023, + "ilad": 0.9746030380547591, + "ilmd": 0.8355626456836271 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.09090396782704475, + "ndcg@10": 0.11709163987074739, + "ilad": 0.3708994335837105, + "ilmd": 0.11187253782606818 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.09096523134984673, + "ndcg@10": 0.11713094936233658, + "ilad": 0.3722258308935448, + "ilmd": 0.11247608419898507 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.09104442565981026, + "ndcg@10": 0.11719957877271162, + "ilad": 0.37446330530010863, + "ilmd": 0.11371683186263792 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.09089649666572744, + "ndcg@10": 0.1172019655247284, + "ilad": 0.3764557756860292, + "ilmd": 0.11476970482026459 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.09116268347037577, + "ndcg@10": 0.11799657462257118, + "ilad": 0.38045370420055274, + "ilmd": 0.11648337109362072 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.09133622787468941, + "ndcg@10": 0.11838231740463212, + "ilad": 0.3859633462139841, + "ilmd": 0.11802468288964389 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.09128008743393361, + "ndcg@10": 0.11802608623521381, + "ilad": 0.3948932931332129, + "ilmd": 0.12129088317661788 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.09188973419742649, + "ndcg@10": 0.11852190915617022, + "ilad": 0.4126539130270834, + "ilmd": 0.1287254666435648 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.09189101496793804, + "ndcg@10": 0.1186526462490003, + "ilad": 0.45179786850137693, + "ilmd": 0.14651613350258264 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.08479682710451941, + "ndcg@10": 0.10627036098577354, + "ilad": 0.6251925528570489, + "ilmd": 0.25925870314280536 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.05371978448901526, + "ndcg@10": 0.054097000042083246, + "ilad": 0.9781123980711455, + "ilmd": 0.8525647418738822 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.09090396782704475, + "ndcg@10": 0.11709163987074739, + "ilad": 0.3708994335837105, + "ilmd": 0.11187253782606818 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.09099596984212367, + "ndcg@10": 0.1169478916801577, + "ilad": 0.3900601961552263, + "ilmd": 0.11373477202708392 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.09138788561865485, + "ndcg@10": 0.11772706855791568, + "ilad": 0.4157980778497544, + "ilmd": 0.11557349217970439 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.09131167977321825, + "ndcg@10": 0.11768047110034853, + "ilad": 0.448187385453788, + "ilmd": 0.11831546044593347 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.09096907366138134, + "ndcg@10": 0.11718591475010996, + "ilad": 0.48970708825724174, + "ilmd": 0.12160219781946405 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.09110761033837957, + "ndcg@10": 0.11709105325168578, + "ilad": 0.5471536353703402, + "ilmd": 0.12713916026628935 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.08965457619303774, + "ndcg@10": 0.11305947854318345, + "ilad": 0.6378293820547122, + "ilmd": 0.138325410449678 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.08661979046594433, + "ndcg@10": 0.10560457803936198, + "ilad": 0.7736774073004915, + "ilmd": 0.16185720721004213 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.08125677741062357, + "ndcg@10": 0.09462823655467338, + "ilad": 0.9002940673431188, + "ilmd": 0.21529697057314623 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.0705356609202763, + "ndcg@10": 0.0773353393884827, + "ilad": 0.9753178997409158, + "ilmd": 0.3593513075865489 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.05352339967724583, + "ndcg@10": 0.05371501193496935, + "ilad": 1.005930290227298, + "ilmd": 0.6594557791002468 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.09090396782704475, + "ndcg@10": 0.11709163987074739, + "ilad": 0.3708994335837105, + "ilmd": 0.11187253782606818 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.09086063509140432, + "ndcg@10": 0.11683298639691965, + "ilad": 0.3729596779515918, + "ilmd": 0.11281345562629638 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.0909154947616486, + "ndcg@10": 0.11720869163711439, + "ilad": 0.3753417956393819, + "ilmd": 0.11407664384554636 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.09127475089013551, + "ndcg@10": 0.11750235546429462, + "ilad": 0.3790071851154564, + "ilmd": 0.11578476294322063 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.09151446843754536, + "ndcg@10": 0.117704709745818, + "ilad": 0.3841677246662383, + "ilmd": 0.11788562550988488 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.09147668570745493, + "ndcg@10": 0.11759276409743051, + "ilad": 0.391706166499369, + "ilmd": 0.12086962646794229 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.09188567842413997, + "ndcg@10": 0.11841993260550757, + "ilad": 0.4041636554006289, + "ilmd": 0.12545313406785757 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.09268808114961963, + "ndcg@10": 0.12008753924913866, + "ilad": 0.4262555609745258, + "ilmd": 0.13386247140736654 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.09041087118010194, + "ndcg@10": 0.11716332454797322, + "ilad": 0.48555613064666536, + "ilmd": 0.15382082148737136 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.07641546487700336, + "ndcg@10": 0.09134691135532388, + "ilad": 0.7961097194534146, + "ilmd": 0.28145494305234625 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.05355328432251509, + "ndcg@10": 0.053847261964135536, + "ilad": 0.9973477248609419, + "ilmd": 0.8153068339587413 + } + ], + "4": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.09582020543559006, + "ndcg@10": 0.11923794718451813, + "ilad": 0.3682170344146911, + "ilmd": 0.1115777749666416 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.09605949605949606, + "ndcg@10": 0.11939280334413802, + "ilad": 0.41172458379338545, + "ilmd": 0.1327474178839525 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.09618010194933271, + "ndcg@10": 0.11927261666255537, + "ilad": 0.41689477325479724, + "ilmd": 0.13567326163783902 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.09650114842422534, + "ndcg@10": 0.11954621390990498, + "ilad": 0.4237293340967123, + "ilmd": 0.1392753192851337 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.09626271164732704, + "ndcg@10": 0.11914750231024154, + "ilad": 0.4330910594273216, + "ilmd": 0.14435654182854746 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.09671802556417941, + "ndcg@10": 0.1193105490482493, + "ilad": 0.44531794169325545, + "ilmd": 0.1511730791869633 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.09656433310279464, + "ndcg@10": 0.1194121534233174, + "ilad": 0.46708910340356086, + "ilmd": 0.16169589260946748 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.09609450378681147, + "ndcg@10": 0.11847182999793344, + "ilad": 0.5124189294734394, + "ilmd": 0.18050077892619476 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.09236490005720775, + "ndcg@10": 0.11178374158688884, + "ilad": 0.6114363985205287, + "ilmd": 0.22307473735311711 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.08332009870471409, + "ndcg@10": 0.09604147604443265, + "ilad": 0.8276227523461024, + "ilmd": 0.38657478079993346 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.061861215707369556, + "ndcg@10": 0.0621260262881755, + "ilad": 0.9745170737928829, + "ilmd": 0.8341486086570941 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.09582020543559006, + "ndcg@10": 0.11923794718451813, + "ilad": 0.3682170344146911, + "ilmd": 0.1115777749666416 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.09576043614505153, + "ndcg@10": 0.11930009042457937, + "ilad": 0.370094362987008, + "ilmd": 0.11217582014185437 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.0958701554855401, + "ndcg@10": 0.1195079675449933, + "ilad": 0.37245814468773736, + "ilmd": 0.11309287517926205 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.09608575185498262, + "ndcg@10": 0.11979237860222457, + "ilad": 0.3749110876307525, + "ilmd": 0.11393383996598243 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.09613057882288652, + "ndcg@10": 0.1198243751881809, + "ilad": 0.37848281614871165, + "ilmd": 0.11543475068211877 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.09604007104007103, + "ndcg@10": 0.11965446561850102, + "ilad": 0.38443212737963045, + "ilmd": 0.11680739403027499 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.09611520957674805, + "ndcg@10": 0.11998013445443279, + "ilad": 0.39442496491278484, + "ilmd": 0.12043064726880316 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.09643582912813682, + "ndcg@10": 0.12114847309619312, + "ilad": 0.41056732014783487, + "ilmd": 0.12723025671572633 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.09679786025939872, + "ndcg@10": 0.12124328060288708, + "ilad": 0.4482133231411832, + "ilmd": 0.14414733436686047 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.09296088526857756, + "ndcg@10": 0.11373167899559421, + "ilad": 0.6227561906140424, + "ilmd": 0.25710693542004404 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.06309395732472656, + "ndcg@10": 0.06372787178302476, + "ilad": 0.9783332352679285, + "ilmd": 0.8527985726267243 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.09582020543559006, + "ndcg@10": 0.11923794718451813, + "ilad": 0.3682170344146911, + "ilmd": 0.1115777749666416 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.09574421305190536, + "ndcg@10": 0.11928012939836917, + "ilad": 0.38899744261955943, + "ilmd": 0.1132575440240073 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.09577708616170154, + "ndcg@10": 0.11942880038402087, + "ilad": 0.4133646805069824, + "ilmd": 0.11511036431423882 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.09632077324385017, + "ndcg@10": 0.12024558984840655, + "ilad": 0.4440005347834055, + "ilmd": 0.11731639560542484 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.09619440388671156, + "ndcg@10": 0.11991599633309563, + "ilad": 0.4868675940311872, + "ilmd": 0.12076352769934791 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.09566203027741489, + "ndcg@10": 0.11813951213544462, + "ilad": 0.5467192046063731, + "ilmd": 0.1267016566909084 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.09387364771980157, + "ndcg@10": 0.11403772799248749, + "ilad": 0.637642846826009, + "ilmd": 0.13741131804206155 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.09103353911046219, + "ndcg@10": 0.10798810417619807, + "ilad": 0.7713114343154744, + "ilmd": 0.1611456981328561 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.08599840330609561, + "ndcg@10": 0.09797232341851707, + "ilad": 0.8996797929918208, + "ilmd": 0.2169255463265167 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.07804033573264342, + "ndcg@10": 0.08456735711140018, + "ilad": 0.9752201350739466, + "ilmd": 0.3618359499044352 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.06164604626143087, + "ndcg@10": 0.06181817890257629, + "ilad": 1.0057150408617588, + "ilmd": 0.651096365283804 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.09582020543559006, + "ndcg@10": 0.11923794718451813, + "ilad": 0.3682170344146911, + "ilmd": 0.1115777749666416 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.09568999376691685, + "ndcg@10": 0.11957652802741846, + "ilad": 0.370860122150234, + "ilmd": 0.11260229519068907 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.09582639582639582, + "ndcg@10": 0.11980447439737324, + "ilad": 0.3738465969174732, + "ilmd": 0.11366931474484572 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.09613057882288652, + "ndcg@10": 0.12028251599164913, + "ilad": 0.37694703578355815, + "ilmd": 0.11478198607035899 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.09630262899493669, + "ndcg@10": 0.12045023897610287, + "ilad": 0.3826147373795766, + "ilmd": 0.11652072265367472 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.09631522323830016, + "ndcg@10": 0.12035722676370764, + "ilad": 0.38972716629425, + "ilmd": 0.11933753617416472 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.09691099498791807, + "ndcg@10": 0.12104782812792328, + "ilad": 0.4034099076354036, + "ilmd": 0.12424403098785089 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.09646059069135993, + "ndcg@10": 0.12019924898612991, + "ilad": 0.4239316502001864, + "ilmd": 0.13207531000991993 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.09592394784702477, + "ndcg@10": 0.11921804519865987, + "ilad": 0.4845635344611502, + "ilmd": 0.15220865964761277 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.08451313643621337, + "ndcg@10": 0.09987839418316015, + "ilad": 0.799114449730222, + "ilmd": 0.2847121345733942 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.06159225389994621, + "ndcg@10": 0.06166268410627835, + "ilad": 0.9975600189390588, + "ilmd": 0.8163915067478301 + } + ], + "5": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.09726192610807996, + "ndcg@10": 0.12210526016227663, + "ilad": 0.37091763296543817, + "ilmd": 0.1117636615900406 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.09842209072978304, + "ndcg@10": 0.12293195758247778, + "ilad": 0.412720697173962, + "ilmd": 0.13317322118619618 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.09821119051888283, + "ndcg@10": 0.12264555861843064, + "ilad": 0.41850353445959965, + "ilmd": 0.13624754466312813 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.09797723643877491, + "ndcg@10": 0.12200489462191676, + "ilad": 0.4253641570316585, + "ilmd": 0.1395507808844847 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.09852433890895429, + "ndcg@10": 0.1224677084909465, + "ilad": 0.4339594256539637, + "ilmd": 0.14449907769561776 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.09795290179905564, + "ndcg@10": 0.12163494616277595, + "ilad": 0.4483911990197581, + "ilmd": 0.15213853960847779 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.09793710562941334, + "ndcg@10": 0.12157925702130122, + "ilad": 0.46905808561972995, + "ilmd": 0.16223012647556964 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.0971332086716702, + "ndcg@10": 0.12050222654753194, + "ilad": 0.5143908521399952, + "ilmd": 0.1805936391152253 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.09368580137810906, + "ndcg@10": 0.11375370454486579, + "ilad": 0.6122498140340213, + "ilmd": 0.22332049467795764 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.0842322207706823, + "ndcg@10": 0.09709801448459449, + "ilad": 0.8256348593059312, + "ilmd": 0.38561576787600793 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.0637588906819676, + "ndcg@10": 0.06416792196683349, + "ilad": 0.9739525490322698, + "ilmd": 0.8350712252342938 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.09726192610807996, + "ndcg@10": 0.12210526016227663, + "ilad": 0.37091763296543817, + "ilmd": 0.1117636615900406 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.09731785308708386, + "ndcg@10": 0.12236549429199421, + "ilad": 0.3723462518162308, + "ilmd": 0.11225173452837997 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.09737612814535893, + "ndcg@10": 0.12218460938230791, + "ilad": 0.3745491382089304, + "ilmd": 0.11324356296743482 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.097612430304738, + "ndcg@10": 0.12225719217053482, + "ilad": 0.37720131142051905, + "ilmd": 0.11464868491538563 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.09775096698173621, + "ndcg@10": 0.1224692475041517, + "ilad": 0.38128307622052315, + "ilmd": 0.11572438930554567 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.09775544967852659, + "ndcg@10": 0.12236277931348714, + "ilad": 0.38641926543431426, + "ilmd": 0.11790792316182318 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.09746706285167824, + "ndcg@10": 0.12135047652573115, + "ilad": 0.3952956044121639, + "ilmd": 0.12122017536322362 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.09774392274392275, + "ndcg@10": 0.12214460018077049, + "ilad": 0.4128504192788252, + "ilmd": 0.12844961872018748 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.09855934663626971, + "ndcg@10": 0.12335763067448491, + "ilad": 0.45179684798425085, + "ilmd": 0.14600841751529556 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.09314488929873545, + "ndcg@10": 0.11442787047620809, + "ilad": 0.6252177596020083, + "ilmd": 0.25736117346944704 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.06376785607554838, + "ndcg@10": 0.06406137429907577, + "ilad": 0.9777560011554367, + "ilmd": 0.8518045342949656 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.09726192610807996, + "ndcg@10": 0.12210526016227663, + "ilad": 0.37091763296543817, + "ilmd": 0.1117636615900406 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.09711015480246249, + "ndcg@10": 0.12142778234674291, + "ilad": 0.3913782816851184, + "ilmd": 0.11346002529871727 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.09739704739704741, + "ndcg@10": 0.12176184462991826, + "ilad": 0.4153368908264677, + "ilmd": 0.11515101769587377 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.09776633622787467, + "ndcg@10": 0.12238959003382034, + "ilad": 0.44725181333492237, + "ilmd": 0.11766504747627755 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.09762224954532646, + "ndcg@10": 0.12127532087730918, + "ilad": 0.489818766799311, + "ilmd": 0.12113649393679828 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.097693118846965, + "ndcg@10": 0.12144256756688002, + "ilad": 0.5483440292609386, + "ilmd": 0.12745528653336186 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.09520906443983368, + "ndcg@10": 0.11583766925438384, + "ilad": 0.6372243246567576, + "ilmd": 0.13888047208319176 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.09205687474918244, + "ndcg@10": 0.10907633080142114, + "ilad": 0.7724559608488201, + "ilmd": 0.16325984205078733 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.0872648718802565, + "ndcg@10": 0.0981801960928406, + "ilad": 0.8996785054000364, + "ilmd": 0.2152582416295877 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.07523438100361177, + "ndcg@10": 0.0802308412545578, + "ilad": 0.9752969737011877, + "ilmd": 0.35937599869041176 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.06376187914649453, + "ndcg@10": 0.06405493795192888, + "ilad": 1.005465754935535, + "ilmd": 0.6562235099516485 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.09726192610807996, + "ndcg@10": 0.12210526016227663, + "ilad": 0.37091763296543817, + "ilmd": 0.1117636615900406 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.09752918022148792, + "ndcg@10": 0.12232010156754743, + "ilad": 0.37301866807576595, + "ilmd": 0.1126602611405802 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.09777060546291315, + "ndcg@10": 0.12239396617091924, + "ilad": 0.3761088553818084, + "ilmd": 0.11388178808577538 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.09787328056558825, + "ndcg@10": 0.12246535443840403, + "ilad": 0.37951713738909904, + "ilmd": 0.11540592050218916 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.09833414448799066, + "ndcg@10": 0.12284576340674319, + "ilad": 0.3844448233914029, + "ilmd": 0.11736046629865174 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.09853650622881392, + "ndcg@10": 0.12312123051062042, + "ilad": 0.39155828119558694, + "ilmd": 0.12000554549944151 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.09818514818514817, + "ndcg@10": 0.12239240398436761, + "ilad": 0.40474308192762015, + "ilmd": 0.12477181703573662 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.09814928661082507, + "ndcg@10": 0.12236421141802593, + "ilad": 0.4261318999690802, + "ilmd": 0.13243170185971478 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.0965705234936004, + "ndcg@10": 0.12005035548656304, + "ilad": 0.48724514824719506, + "ilmd": 0.1536346180840421 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.0833559602790372, + "ndcg@10": 0.0970224559030033, + "ilad": 0.7971170199308555, + "ilmd": 0.28104424306690984 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.06376785607554838, + "ndcg@10": 0.06406137429907577, + "ilad": 0.9973625004964852, + "ilmd": 0.81442226851865 + } + ], + "6": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.10147758224681303, + "ndcg@10": 0.1271801575837529, + "ilad": 0.37378273609145923, + "ilmd": 0.11053121064285105 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.10158132465824773, + "ndcg@10": 0.1283761387772508, + "ilad": 0.4145874496411097, + "ilmd": 0.13300470025902347 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.10144791106329566, + "ndcg@10": 0.1282531948607631, + "ilad": 0.41979345867651774, + "ilmd": 0.135621604450035 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.10114586268432421, + "ndcg@10": 0.12754861629576314, + "ilad": 0.427002614619528, + "ilmd": 0.13928270086670128 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.10103144718529333, + "ndcg@10": 0.12678547738777646, + "ilad": 0.4365595376510784, + "ilmd": 0.14537498882343974 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.1009872606026452, + "ndcg@10": 0.1263838999096037, + "ilad": 0.44999667111585834, + "ilmd": 0.1529519575587391 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.10036523305754075, + "ndcg@10": 0.1258977119127522, + "ilad": 0.47205220456242625, + "ilmd": 0.164326265462308 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.09862146400607939, + "ndcg@10": 0.12301195136907694, + "ilad": 0.5163586928262193, + "ilmd": 0.1850641820301222 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.09449674257366565, + "ndcg@10": 0.11549397902702818, + "ilad": 0.6136615349279417, + "ilmd": 0.22768853543072762 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.08509353893969279, + "ndcg@10": 0.09779800246573567, + "ilad": 0.823481928571185, + "ilmd": 0.38589593532458627 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.06078536847767617, + "ndcg@10": 0.06078536847767617, + "ilad": 0.9743291735649109, + "ilmd": 0.835456174025297 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.10147758224681303, + "ndcg@10": 0.1271801575837529, + "ilad": 0.37378273609145923, + "ilmd": 0.11053121064285105 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.10134416865186095, + "ndcg@10": 0.12696971248482167, + "ilad": 0.37567564527463565, + "ilmd": 0.11118334955012305 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.10165475550090936, + "ndcg@10": 0.12756571660324595, + "ilad": 0.3773052645701917, + "ilmd": 0.11190751337633138 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.10189767497459805, + "ndcg@10": 0.12764796819946525, + "ilad": 0.3802335557816906, + "ilmd": 0.11282935150212149 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.10193652501344809, + "ndcg@10": 0.12791556912383026, + "ilad": 0.3842640827205022, + "ilmd": 0.1142453004301973 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.1017514536745306, + "ndcg@10": 0.1276530972960191, + "ilad": 0.3893501600405906, + "ilmd": 0.11626453140591216 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.10206097321481936, + "ndcg@10": 0.12801954601943177, + "ilad": 0.39802658835034205, + "ilmd": 0.12084526419960215 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.101922863461325, + "ndcg@10": 0.12814241142265798, + "ilad": 0.4135046173959185, + "ilmd": 0.12803771532370622 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.10135505520120903, + "ndcg@10": 0.1271556128026885, + "ilad": 0.45310670829559924, + "ilmd": 0.14617802639556482 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.09614082498697882, + "ndcg@10": 0.11921882044467311, + "ilad": 0.6235453236393226, + "ilmd": 0.25968984745727425 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.06223776223776224, + "ndcg@10": 0.06269042580693482, + "ilad": 0.97795995904785, + "ilmd": 0.8524864633728446 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.10147758224681303, + "ndcg@10": 0.1271801575837529, + "ilad": 0.37378273609145923, + "ilmd": 0.11053121064285105 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.1015396996166227, + "ndcg@10": 0.12724902262115909, + "ilad": 0.3925836342394416, + "ilmd": 0.11223076934003907 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.1017478248247479, + "ndcg@10": 0.12765545134449852, + "ilad": 0.4164244579116204, + "ilmd": 0.11447148354480573 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.1018468710776403, + "ndcg@10": 0.12783040652291205, + "ilad": 0.44785679290657276, + "ilmd": 0.11767373599949674 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.10186010570625956, + "ndcg@10": 0.12783937433845627, + "ilad": 0.4889513179339216, + "ilmd": 0.1216245353253956 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.10225543687082148, + "ndcg@10": 0.1284199544708274, + "ilad": 0.5474065202175609, + "ilmd": 0.1281918044882862 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.10084338738184893, + "ndcg@10": 0.12473547528859566, + "ilad": 0.637601879702389, + "ilmd": 0.13826543371673553 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.09728668767130305, + "ndcg@10": 0.11728389202844958, + "ilad": 0.7726642829298396, + "ilmd": 0.1657306424002932 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.09256470025700796, + "ndcg@10": 0.10686260415866781, + "ilad": 0.8995985475164898, + "ilmd": 0.21597717493179347 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.08011966665812818, + "ndcg@10": 0.08759163714108671, + "ilad": 0.9753609012377525, + "ilmd": 0.358940700551013 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.060982607136453294, + "ndcg@10": 0.06118507799588088, + "ilad": 1.005782015321074, + "ilmd": 0.658098654313521 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.10147758224681303, + "ndcg@10": 0.1271801575837529, + "ilad": 0.37378273609145923, + "ilmd": 0.11053121064285105 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.10182253643792107, + "ndcg@10": 0.12758604293856135, + "ilad": 0.3760366313291725, + "ilmd": 0.11116102868475665 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.10204133473364244, + "ndcg@10": 0.1279911997216336, + "ilad": 0.3790544209888605, + "ilmd": 0.1123531734257247 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.10220335220335221, + "ndcg@10": 0.128235183134266, + "ilad": 0.38257285338165686, + "ilmd": 0.11383076923518107 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.10205435590050975, + "ndcg@10": 0.12834604700646282, + "ilad": 0.38744039649385287, + "ilmd": 0.11613179304831896 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.10238607546299854, + "ndcg@10": 0.12873835309134266, + "ilad": 0.3949099535211688, + "ilmd": 0.1191031004293687 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.10208210592825977, + "ndcg@10": 0.12882838072020192, + "ilad": 0.40586818589950646, + "ilmd": 0.1244283528209951 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.10161099584176507, + "ndcg@10": 0.1283912991722996, + "ilad": 0.42747978341072845, + "ilmd": 0.13246199124727664 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.09977607862223248, + "ndcg@10": 0.12604614807016756, + "ilad": 0.4897230093464087, + "ilmd": 0.1552319214701845 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.08596296865527635, + "ndcg@10": 0.10149470289963389, + "ilad": 0.7970977293637057, + "ilmd": 0.28878248109812377 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.06113715344484576, + "ndcg@10": 0.06164569434581368, + "ilad": 0.9975480235924703, + "ilmd": 0.8165284343596875 + } + ], + "7": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.09730141653218576, + "ndcg@10": 0.12199054051435182, + "ilad": 0.3735699629758782, + "ilmd": 0.11270284790579768 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.09920827036211652, + "ndcg@10": 0.1254089774344361, + "ilad": 0.4134906554106681, + "ilmd": 0.13414143063548817 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.09963284578669195, + "ndcg@10": 0.12596641229318115, + "ilad": 0.4176966574618161, + "ilmd": 0.13678787721620572 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.10009008085931162, + "ndcg@10": 0.12645369762537786, + "ilad": 0.4247190223033868, + "ilmd": 0.14017908569303106 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.09962665539588615, + "ndcg@10": 0.12549883954019403, + "ilad": 0.4337454386989297, + "ilmd": 0.14483670681121852 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.0990394221163452, + "ndcg@10": 0.12453996555094102, + "ilad": 0.4468587277323857, + "ilmd": 0.151625980735787 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.09873182373182374, + "ndcg@10": 0.12414678087001695, + "ilad": 0.46965559572382215, + "ilmd": 0.16307332616393574 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.09691996038149886, + "ndcg@10": 0.12059868911337146, + "ilad": 0.5135050287741753, + "ilmd": 0.18348602613112566 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.09403844019228634, + "ndcg@10": 0.11570589424884355, + "ilad": 0.6125540981983998, + "ilmd": 0.2241725262420802 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.08132380440072746, + "ndcg@10": 0.09479002734469387, + "ilad": 0.8264774354380136, + "ilmd": 0.38799656351257744 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.06027647566109105, + "ndcg@10": 0.06075374433357784, + "ilad": 0.9737627515874927, + "ilmd": 0.83395717085017 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.09730141653218576, + "ndcg@10": 0.12199054051435182, + "ilad": 0.3735699629758782, + "ilmd": 0.11270284790579768 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.09770485924332077, + "ndcg@10": 0.12276014552269042, + "ilad": 0.37512120201125654, + "ilmd": 0.11328263440524589 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.0977370919678612, + "ndcg@10": 0.1227876326632766, + "ilad": 0.376719851267232, + "ilmd": 0.11407124505625289 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.0977490458259689, + "ndcg@10": 0.12313056360716863, + "ilad": 0.3797201486249295, + "ilmd": 0.11519225025895208 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.0979516210285441, + "ndcg@10": 0.1231857011144324, + "ilad": 0.38274145341563953, + "ilmd": 0.11679971035351479 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.09800562685178069, + "ndcg@10": 0.12348009579852935, + "ilad": 0.3872804095855383, + "ilmd": 0.11865759335133644 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.09832069639761948, + "ndcg@10": 0.12362160418523613, + "ilad": 0.3959216855670766, + "ilmd": 0.12155266180674577 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.09871858910320448, + "ndcg@10": 0.12462289842819044, + "ilad": 0.41229384381678746, + "ilmd": 0.12896842707094805 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.09806539614231921, + "ndcg@10": 0.12430575168548044, + "ilad": 0.45078345691968574, + "ilmd": 0.1476153587384401 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.09591882476497861, + "ndcg@10": 0.12038853692597579, + "ilad": 0.6225497712566046, + "ilmd": 0.255841532530741 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.05970952124798279, + "ndcg@10": 0.05970952124798279, + "ilad": 0.9773505561258153, + "ilmd": 0.85100487687371 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.09730141653218576, + "ndcg@10": 0.12199054051435182, + "ilad": 0.3735699629758782, + "ilmd": 0.11270284790579768 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.09767049190126113, + "ndcg@10": 0.12251447582733481, + "ilad": 0.39124234670581776, + "ilmd": 0.11432188175390201 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.09774008043238812, + "ndcg@10": 0.12269396301114084, + "ilad": 0.41428480265264295, + "ilmd": 0.11651134792356609 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.09802590571821342, + "ndcg@10": 0.12339023040062341, + "ilad": 0.4463685373622862, + "ilmd": 0.1191175545717581 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.09864558518404673, + "ndcg@10": 0.1242473033621157, + "ilad": 0.4873623681676009, + "ilmd": 0.12265700505843016 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.09782140935987091, + "ndcg@10": 0.12322261522840756, + "ilad": 0.5466947243531395, + "ilmd": 0.12806325573764737 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.09728690113305498, + "ndcg@10": 0.12117461290227385, + "ilad": 0.6351379352136284, + "ilmd": 0.1407926676733767 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.09370181100950331, + "ndcg@10": 0.1129344094779788, + "ilad": 0.7705041109281179, + "ilmd": 0.16570483009426615 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.08735516620132006, + "ndcg@10": 0.10019378738693549, + "ilad": 0.8990674766563099, + "ilmd": 0.21974779695128163 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.07692222307606923, + "ndcg@10": 0.08349642842350499, + "ilad": 0.9746166779316517, + "ilmd": 0.3604516503694174 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.05996503496503496, + "ndcg@10": 0.060266383142107055, + "ilad": 1.0053623498544184, + "ilmd": 0.6556437253118395 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.09730141653218576, + "ndcg@10": 0.12199054051435182, + "ilad": 0.3735699629758782, + "ilmd": 0.11270284790579768 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.09789932289932289, + "ndcg@10": 0.12316039979392059, + "ilad": 0.37541966381342007, + "ilmd": 0.1135376092565515 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.09797616913001528, + "ndcg@10": 0.12344984275824573, + "ilad": 0.3786035464488415, + "ilmd": 0.11483632264565627 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.09839071185225032, + "ndcg@10": 0.1240179010254319, + "ilad": 0.3819306898258943, + "ilmd": 0.11602664590202524 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.09806582306582307, + "ndcg@10": 0.12365469980077781, + "ilad": 0.38597845917165824, + "ilmd": 0.11786093421364549 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.09852647352647352, + "ndcg@10": 0.1241367863510429, + "ilad": 0.3927397563885206, + "ilmd": 0.12077090748540172 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.09916194916194916, + "ndcg@10": 0.1253467414215288, + "ilad": 0.4046364586405564, + "ilmd": 0.1257740648732896 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.1005902217440679, + "ndcg@10": 0.12734731843608882, + "ilad": 0.4251151304048771, + "ilmd": 0.13370449037049137 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.0974548955318186, + "ndcg@10": 0.12300421057366781, + "ilad": 0.48745954055950297, + "ilmd": 0.15322690307613082 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.08276040199117123, + "ndcg@10": 0.09928793045887807, + "ilad": 0.7986254216266486, + "ilmd": 0.28258019509400134 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.06003441003441004, + "ndcg@10": 0.06043792615028972, + "ilad": 0.9972543847887922, + "ilmd": 0.8169385461219861 + } + ], + "8": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.09437272129579821, + "ndcg@10": 0.11742106198828442, + "ilad": 0.373071380861348, + "ilmd": 0.11340932210585711 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.09509187393802779, + "ndcg@10": 0.11837444593671959, + "ilad": 0.41570557166149436, + "ilmd": 0.13466197313192776 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.0952366010058318, + "ndcg@10": 0.11862869628686289, + "ilad": 0.4213565217552485, + "ilmd": 0.13774254541361183 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.09482035058958135, + "ndcg@10": 0.1181664549255095, + "ilad": 0.4274151815344981, + "ilmd": 0.14118149345956096 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.09520671636056252, + "ndcg@10": 0.11885092461288589, + "ilad": 0.43644412638616537, + "ilmd": 0.14633917491111528 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.09497937959476421, + "ndcg@10": 0.118897999304673, + "ilad": 0.4497491920015195, + "ilmd": 0.1527345256179555 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.09399425360963821, + "ndcg@10": 0.11783790442285941, + "ilad": 0.4718345676364919, + "ilmd": 0.1633644759366434 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.09355196085965317, + "ndcg@10": 0.11770128253121528, + "ilad": 0.51433277200665, + "ilmd": 0.1819342795464863 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.0897192551038705, + "ndcg@10": 0.11101941056664963, + "ilad": 0.6109050135416264, + "ilmd": 0.224789625601848 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.07836650528958221, + "ndcg@10": 0.09022811220779157, + "ilad": 0.8229838274479425, + "ilmd": 0.3865021918331698 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.05964228079612695, + "ndcg@10": 0.059912356744717905, + "ilad": 0.9746813689783865, + "ilmd": 0.8342039006701588 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.09437272129579821, + "ndcg@10": 0.11742106198828442, + "ilad": 0.373071380861348, + "ilmd": 0.11340932210585711 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.09454882724113493, + "ndcg@10": 0.11746048877408129, + "ilad": 0.37460417058789774, + "ilmd": 0.11370268581117463 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.09496934689242381, + "ndcg@10": 0.11813583856713236, + "ilad": 0.3773039145702762, + "ilmd": 0.11423269935421176 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.09492473338627185, + "ndcg@10": 0.11810272979565892, + "ilad": 0.3801484168068801, + "ilmd": 0.11527093024969486 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.09509358163204316, + "ndcg@10": 0.11857282782136827, + "ilad": 0.38345477503191855, + "ilmd": 0.11657499997701742 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.09501396039857578, + "ndcg@10": 0.11816561082824802, + "ilad": 0.38970886433778623, + "ilmd": 0.11837598102717325 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.09491832953371415, + "ndcg@10": 0.11821016653212643, + "ilad": 0.39787194443613116, + "ilmd": 0.12132839274188406 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.09416203454664993, + "ndcg@10": 0.11749022667212979, + "ilad": 0.4144275623677782, + "ilmd": 0.12939085320415775 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.0933690241382549, + "ndcg@10": 0.11652499217070712, + "ilad": 0.45274895529807285, + "ilmd": 0.1464544491719148 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.08807837461683617, + "ndcg@10": 0.10827995094310858, + "ilad": 0.6256089404750377, + "ilmd": 0.25723754769695134 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.05953021337636722, + "ndcg@10": 0.059702601904615106, + "ilad": 0.9790171421362932, + "ilmd": 0.8525954867768762 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.09437272129579821, + "ndcg@10": 0.11742106198828442, + "ilad": 0.373071380861348, + "ilmd": 0.11340932210585711 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.09446728485190023, + "ndcg@10": 0.11727324884415828, + "ilad": 0.39328931315314586, + "ilmd": 0.11455508369217 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.0944495675264906, + "ndcg@10": 0.1169235041837319, + "ilad": 0.4182289192165464, + "ilmd": 0.11626628405179562 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.09488353526815065, + "ndcg@10": 0.11808476419286676, + "ilad": 0.44946815750214475, + "ilmd": 0.11896876351944922 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.09448564256256564, + "ndcg@10": 0.1175049707573603, + "ilad": 0.4901912403085047, + "ilmd": 0.12233319014487182 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.09501139885755269, + "ndcg@10": 0.11840503893608184, + "ilad": 0.5488913058072344, + "ilmd": 0.12918671107920604 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.09363755902217442, + "ndcg@10": 0.1152610635144728, + "ilad": 0.6391577832861701, + "ilmd": 0.13952378437299764 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.09129161436853744, + "ndcg@10": 0.1099300849783087, + "ilad": 0.7739252313177967, + "ilmd": 0.16620563389858678 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.08300566954413108, + "ndcg@10": 0.0943924546277909, + "ilad": 0.9009867070534333, + "ilmd": 0.2207424865415367 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.07184311415080646, + "ndcg@10": 0.0765900596659583, + "ilad": 0.9769206094831597, + "ilmd": 0.36800935503742654 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.059507799892415274, + "ndcg@10": 0.059680685653769334, + "ilad": 1.0073119660036869, + "ilmd": 0.6583216013672405 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.09437272129579821, + "ndcg@10": 0.11742106198828442, + "ilad": 0.373071380861348, + "ilmd": 0.11340932210585711 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.09483507945046406, + "ndcg@10": 0.11779823972078787, + "ilad": 0.37529950549263924, + "ilmd": 0.11397397069279515 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.09508845854999701, + "ndcg@10": 0.11810151251346585, + "ilad": 0.37863346081249105, + "ilmd": 0.114892134812649 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.09485236985236985, + "ndcg@10": 0.11757667917487534, + "ilad": 0.3821367255285294, + "ilmd": 0.11658418598580322 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.09508504316196624, + "ndcg@10": 0.11799173605814421, + "ilad": 0.38701412727782775, + "ilmd": 0.1182227843932531 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.09537727230034922, + "ndcg@10": 0.11871029808918182, + "ilad": 0.3955046843102121, + "ilmd": 0.12106923979414991 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.0953286030209107, + "ndcg@10": 0.11926577895719077, + "ilad": 0.4068178541321085, + "ilmd": 0.12592644025203423 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.09417057301672688, + "ndcg@10": 0.11787270325199034, + "ilad": 0.4277172276029797, + "ilmd": 0.13441435876490287 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.09315193353654892, + "ndcg@10": 0.11724596463984896, + "ilad": 0.4885291984247674, + "ilmd": 0.15374406773021876 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.07910892526277141, + "ndcg@10": 0.09356712720496041, + "ilad": 0.7963669538946804, + "ilmd": 0.28330239254406153 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.05963480963480964, + "ndcg@10": 0.05990459188128501, + "ilad": 0.998891070845821, + "ilmd": 0.8153203644054817 + } + ], + "9": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.09322472399395476, + "ndcg@10": 0.1192891374193524, + "ilad": 0.3721802945831423, + "ilmd": 0.1137739067246928 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.09373468411929951, + "ndcg@10": 0.1207094862399135, + "ilad": 0.41322529966421445, + "ilmd": 0.13364147806501056 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.09381153034999187, + "ndcg@10": 0.12109968152917534, + "ilad": 0.4175342868346242, + "ilmd": 0.13636828757794459 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.09446728485190023, + "ndcg@10": 0.1222195548860211, + "ilad": 0.4245894825093011, + "ilmd": 0.14009436142579273 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.09356263394724934, + "ndcg@10": 0.12103177915612742, + "ilad": 0.43389172762664435, + "ilmd": 0.14502146024098636 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.0929280121587814, + "ndcg@10": 0.11947771755838393, + "ilad": 0.4474938657653787, + "ilmd": 0.15192967194777268 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.09254548869933486, + "ndcg@10": 0.1187243387239901, + "ilad": 0.4695027433235585, + "ilmd": 0.16149391427099097 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.09134497980651828, + "ndcg@10": 0.1166374639921852, + "ilad": 0.5129748661714321, + "ilmd": 0.17990874307908442 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.08653419230342307, + "ndcg@10": 0.10853662189267681, + "ilad": 0.6100516128501564, + "ilmd": 0.22126081876051945 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.07735106773568313, + "ndcg@10": 0.08947891981259279, + "ilad": 0.825471379956999, + "ilmd": 0.3846057476120139 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.05611140995756381, + "ndcg@10": 0.05641697668009669, + "ilad": 0.9739695310656777, + "ilmd": 0.8336994026924347 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.09322472399395476, + "ndcg@10": 0.1192891374193524, + "ilad": 0.3721802945831423, + "ilmd": 0.1137739067246928 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.09349838195992041, + "ndcg@10": 0.1196294030148538, + "ilad": 0.37399657232854205, + "ilmd": 0.114306369957711 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.09368516099285332, + "ndcg@10": 0.12012882572976323, + "ilad": 0.37582152898434895, + "ilmd": 0.11489038947707161 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.09379295917757456, + "ndcg@10": 0.12023921637383823, + "ilad": 0.37874376889761097, + "ilmd": 0.11582259057092692 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.09402968826045749, + "ndcg@10": 0.1204421478990881, + "ilad": 0.3828280971452169, + "ilmd": 0.117351325594526 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.09375474952398029, + "ndcg@10": 0.12012989364342785, + "ilad": 0.3878699924672577, + "ilmd": 0.11932650777586946 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.093237958622574, + "ndcg@10": 0.11958132762933635, + "ilad": 0.39737522446476786, + "ilmd": 0.12249942923053866 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.0928108216569755, + "ndcg@10": 0.1195504863435256, + "ilad": 0.4135267419941952, + "ilmd": 0.1290467390454925 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.09270964078656387, + "ndcg@10": 0.11968022103696625, + "ilad": 0.45020391454297953, + "ilmd": 0.14731259680102113 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.0860304225688841, + "ndcg@10": 0.10844965276307944, + "ilad": 0.6235498154697205, + "ilmd": 0.25637587784694815 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.05817259663413509, + "ndcg@10": 0.058838499925715444, + "ilad": 0.97764995291773, + "ilmd": 0.8512205841273246 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.09322472399395476, + "ndcg@10": 0.1192891374193524, + "ilad": 0.3721802945831423, + "ilmd": 0.1137739067246928 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.09380171110940341, + "ndcg@10": 0.12043632065944615, + "ilad": 0.3918485308868581, + "ilmd": 0.11523403478220241 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.09352122236737621, + "ndcg@10": 0.11945091800882904, + "ilad": 0.41587898521441136, + "ilmd": 0.11695785632115528 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.09314659699275084, + "ndcg@10": 0.11793210254158158, + "ilad": 0.44650511260155934, + "ilmd": 0.11951169344351585 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.09343605112835882, + "ndcg@10": 0.11880779801096436, + "ilad": 0.48710543188181793, + "ilmd": 0.12312282898401689 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.09271519079211386, + "ndcg@10": 0.11777422744609173, + "ilad": 0.5454393872823877, + "ilmd": 0.129020567316083 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.09093235824005054, + "ndcg@10": 0.11431816922070379, + "ilad": 0.6350569042019975, + "ilmd": 0.14204962289480833 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.08687231571846957, + "ndcg@10": 0.10514273591857451, + "ilad": 0.7711674207646145, + "ilmd": 0.163550634868944 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.08025073217380911, + "ndcg@10": 0.09250438671311824, + "ilad": 0.8974949312408872, + "ilmd": 0.21437264864261335 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.06973774089158703, + "ndcg@10": 0.07547901380081723, + "ilad": 0.97483827344444, + "ilmd": 0.3644103392469684 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.05599784830554061, + "ndcg@10": 0.056099550740353894, + "ilad": 1.0051834099455634, + "ilmd": 0.6596315002941585 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.09322472399395476, + "ndcg@10": 0.1192891374193524, + "ilad": 0.3721802945831423, + "ilmd": 0.1137739067246928 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.09353061468446083, + "ndcg@10": 0.1195527640072024, + "ilad": 0.3746462009692862, + "ilmd": 0.11445057731985468 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.09370095716249563, + "ndcg@10": 0.12015076241374359, + "ilad": 0.3776148134685207, + "ilmd": 0.11541765553134305 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.09371419179111486, + "ndcg@10": 0.1200714046167155, + "ilad": 0.38173245737402267, + "ilmd": 0.11700721666208834 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.09374023412484951, + "ndcg@10": 0.12000421575062661, + "ilad": 0.3864230080184563, + "ilmd": 0.1191680940522373 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.09341086264163188, + "ndcg@10": 0.11996431219164537, + "ilad": 0.3937768405759251, + "ilmd": 0.12188220014490063 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.09319718742795666, + "ndcg@10": 0.11937564540542155, + "ilad": 0.40484538437891804, + "ilmd": 0.1259398411332182 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.09395241510626125, + "ndcg@10": 0.12156669055697461, + "ilad": 0.42600885413951806, + "ilmd": 0.1334582176049465 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.09231217500448269, + "ndcg@10": 0.11972092153063868, + "ilad": 0.48650974710183864, + "ilmd": 0.15310669214639566 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.07828944559713791, + "ndcg@10": 0.09418338533639722, + "ilad": 0.7966564690124097, + "ilmd": 0.2798728512268415 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.055944055944055944, + "ndcg@10": 0.055944055944055944, + "ilad": 0.996739269745741, + "ilmd": 0.8156952074998934 + } + ] + }, + "results": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.09484536830690676, + "mrr_std": 0.0032977533681983187, + "ndcg@10": 0.11983457894547334, + "ndcg@10_std": 0.0032249074377424755, + "ilad": 0.3714861263751968, + "ilad_std": 0.0016517599150696147, + "ilmd": 0.11248984538207071, + "ilmd_std": 0.0009829120200109786 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.09549098337559876, + "mrr_std": 0.0032508587527153385, + "ndcg@10": 0.12117800243389858, + "ndcg@10_std": 0.003234459868017703, + "ilad": 0.41327637362145103, + "ilad_std": 0.0011669426995540191, + "ilmd": 0.13388775856408977, + "ilmd_std": 0.0006719148121440272 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.0953784463399848, + "mrr_std": 0.003402726766441028, + "ndcg@10": 0.12107965814283854, + "ndcg@10_std": 0.0033812922134605064, + "ilad": 0.4184301887775635, + "ilad_std": 0.0012659244938946046, + "ilmd": 0.13671003498654008, + "ilmd_std": 0.000742212911249374 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.09545337141490988, + "mrr_std": 0.0034075067150872817, + "ndcg@10": 0.12118610171732085, + "ndcg@10_std": 0.0033370524362636867, + "ilad": 0.42526265284815035, + "ilad_std": 0.0011185923048066804, + "ilmd": 0.14036333309892302, + "ilmd_std": 0.0007546299047724534 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.0953258493643109, + "mrr_std": 0.0034878998552524756, + "ndcg@10": 0.12079421833901531, + "ndcg@10_std": 0.0032328475612959768, + "ilad": 0.43456916071999585, + "ilad_std": 0.001160132562829222, + "ilmd": 0.14525238333561524, + "ilmd_std": 0.0005610162895495213 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.09508803162649318, + "mrr_std": 0.0033485109109798908, + "ndcg@10": 0.12021354895971599, + "ndcg@10_std": 0.0029997155309934996, + "ilad": 0.4479653703883459, + "ilad_std": 0.0013140510244788195, + "ilmd": 0.15219585965435117, + "ilmd_std": 0.0005271635870131867 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.09463527925066387, + "mrr_std": 0.0034744292447509532, + "ndcg@10": 0.11948193800340626, + "ndcg@10_std": 0.00332962642893513, + "ilad": 0.47003226923872027, + "ilad_std": 0.0014498022010632978, + "ilmd": 0.16256550092925431, + "ilmd_std": 0.0009045399713222808 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.09333732506809429, + "mrr_std": 0.003630627861740923, + "ndcg@10": 0.11730837727183788, + "ndcg@10_std": 0.0034471748620612157, + "ilad": 0.5142041553559324, + "ilad_std": 0.0011964856669453383, + "ilmd": 0.18178213577298724, + "ilmd_std": 0.001441053645070982 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.08991724087877934, + "mrr_std": 0.003506554342136244, + "ndcg@10": 0.11107313176030884, + "ndcg@10_std": 0.0031156757687331783, + "ilad": 0.6121670036049156, + "ilad_std": 0.0011420608461469505, + "ilmd": 0.22412590741662325, + "ilmd_std": 0.001816867729361904 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.07952368144675837, + "mrr_std": 0.003957710493800641, + "ndcg@10": 0.09182032392591905, + "ndcg@10_std": 0.004325504647573831, + "ilad": 0.8252692376576553, + "ilad_std": 0.0014037943663637693, + "ilmd": 0.3867593472173228, + "ilmd_std": 0.0013825418870568327 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.05824589939974556, + "mrr_std": 0.0038771673786434785, + "ndcg@10": 0.05854148999587917, + "ndcg@10_std": 0.003870305943645659, + "ilad": 0.9742682392171405, + "ilad_std": 0.0002946690148636748, + "ilmd": 0.8345831039966338, + "ilmd_std": 0.0006023445588938676 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.09484536830690676, + "mrr_std": 0.0032977533681983187, + "ndcg@10": 0.11983457894547334, + "ndcg@10_std": 0.0032249074377424755, + "ilad": 0.3714861263751968, + "ilad_std": 0.0016517599150696147, + "ilmd": 0.11248984538207071, + "ilmd_std": 0.0009829120200109786 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.0949387578233732, + "mrr_std": 0.0032832129037581492, + "ndcg@10": 0.12002259834555484, + "ndcg@10_std": 0.0032043993607835616, + "ilad": 0.37308709653792776, + "ilad_std": 0.0016512077450015065, + "ilmd": 0.11300716257467265, + "ilmd_std": 0.000941688616048483 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.09507336680413603, + "mrr_std": 0.003297419954994633, + "ndcg@10": 0.12026945028218565, + "ndcg@10_std": 0.0031658951488406383, + "ilad": 0.37520723827433733, + "ilad_std": 0.0015040410975149094, + "ilmd": 0.11380143838585417, + "ilmd_std": 0.0008544676232599765 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.09515898631283246, + "mrr_std": 0.0033665462995430264, + "ndcg@10": 0.12037779305359578, + "ndcg@10_std": 0.0031796720258167343, + "ilad": 0.37797214485887254, + "ilad_std": 0.0016767141348896135, + "ilmd": 0.11488809746526274, + "ilmd_std": 0.0008892223729772821 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.09534939419554804, + "mrr_std": 0.003280045606479127, + "ndcg@10": 0.1206832071283707, + "ndcg@10_std": 0.003056844070011248, + "ilad": 0.38169455665016905, + "ilad_std": 0.001656814549292306, + "ilmd": 0.11628226691705686, + "ilmd_std": 0.0008871367773879181 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.09536053689899844, + "mrr_std": 0.0032140697604279406, + "ndcg@10": 0.12071616162850789, + "ndcg@10_std": 0.0029598515411791994, + "ilad": 0.3872399854739791, + "ilad_std": 0.0016037484087924798, + "ilmd": 0.11819638985661551, + "ilmd_std": 0.0010383613469486872 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.09541471349163658, + "mrr_std": 0.003215491817379095, + "ndcg@10": 0.12079123656815842, + "ndcg@10_std": 0.002906299925095639, + "ilad": 0.3961630461139343, + "ilad_std": 0.0013191378392879217, + "ilmd": 0.12159024946724233, + "ilmd_std": 0.0009421690915819765 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.09547437605129913, + "mrr_std": 0.0031648261803992844, + "ndcg@10": 0.12116185699996851, + "ndcg@10_std": 0.0029986817910058823, + "ilad": 0.41260795323884547, + "ilad_std": 0.0011443967890911147, + "ilmd": 0.12872374322928687, + "ilmd_std": 0.0008866032160831086 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.0950912762451224, + "mrr_std": 0.003366558852612305, + "ndcg@10": 0.12059822920469106, + "ndcg@10_std": 0.0032238514321508045, + "ilad": 0.45149789143197394, + "ilad_std": 0.0015697823873002225, + "ilmd": 0.14673917328817604, + "ilmd_std": 0.0011042769785145367 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.09013322147937533, + "mrr_std": 0.00427045887627011, + "ndcg@10": 0.11204827451032073, + "ndcg@10_std": 0.004867935773585977, + "ilad": 0.6238103115613531, + "ilad_std": 0.0013945348204816408, + "ilmd": 0.25747300245032123, + "ilmd_std": 0.0011430765374819845 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.05881466823774516, + "mrr_std": 0.003945983531049543, + "ndcg@10": 0.059201280015406234, + "ndcg@10_std": 0.003944291885026375, + "ilad": 0.9779304656115446, + "ilad_std": 0.0004745129275432218, + "ilmd": 0.8519727611650761, + "ilmd_std": 0.0005878017142530432 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.09484536830690676, + "mrr_std": 0.0032977533681983187, + "ndcg@10": 0.11983457894547334, + "ndcg@10_std": 0.0032249074377424755, + "ilad": 0.3714861263751968, + "ilad_std": 0.0016517599150696147, + "ilmd": 0.11248984538207071, + "ilmd_std": 0.0009829120200109786 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.09503101599255445, + "mrr_std": 0.0032409617837576734, + "ndcg@10": 0.12015774092784141, + "ndcg@10_std": 0.0030523304278977526, + "ilad": 0.3913175066075357, + "ilad_std": 0.0013083028072015928, + "ilmd": 0.11414097165343196, + "ilmd_std": 0.0009313048836777063 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.09513512128896745, + "mrr_std": 0.003176169476038891, + "ndcg@10": 0.12022390582478168, + "ndcg@10_std": 0.0030393221261502956, + "ilad": 0.41539410244334835, + "ilad_std": 0.0014618013158624224, + "ilmd": 0.11597695610355216, + "ilmd_std": 0.0008443253331578565 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.09529649837342144, + "mrr_std": 0.0033148907231949436, + "ndcg@10": 0.12043447163864185, + "ndcg@10_std": 0.003178427096221312, + "ilad": 0.4468723736305618, + "ilad_std": 0.0015355909048480657, + "ilmd": 0.11866575214027911, + "ilmd_std": 0.0008424681401372042 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.09530599742138204, + "mrr_std": 0.003424606489265015, + "ndcg@10": 0.12032728109245824, + "ndcg@10_std": 0.0034074047632386153, + "ilad": 0.4885607939768601, + "ilad_std": 0.0013354338441142668, + "ilmd": 0.12230136636574465, + "ilmd_std": 0.0009182083407264691 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.09502520983290214, + "mrr_std": 0.003582188943159857, + "ndcg@10": 0.1196369719742918, + "ndcg@10_std": 0.003779495649862324, + "ilad": 0.547039495530173, + "ilad_std": 0.000978662131782058, + "ilmd": 0.12840110426823764, + "ilmd_std": 0.0010215174209722237 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.09342046842046842, + "mrr_std": 0.003740971865317368, + "ndcg@10": 0.11587663530807464, + "ndcg@10_std": 0.004090518871832041, + "ilad": 0.636779340485641, + "ilad_std": 0.0013630574120845243, + "ilmd": 0.13950879284616052, + "ilmd_std": 0.0013658151516511628 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.09016899766899768, + "mrr_std": 0.0036463824245256586, + "ndcg@10": 0.10864318945986276, + "ndcg@10_std": 0.0038502208161934203, + "ilad": 0.7718403685058458, + "ilad_std": 0.001205844219422222, + "ilmd": 0.16400249483702067, + "ilmd_std": 0.0016553745867876 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.08445714541868388, + "mrr_std": 0.00394120378550244, + "ndcg@10": 0.09712085042631072, + "ndcg@10_std": 0.004120531082042489, + "ilad": 0.8996007582372142, + "ilad_std": 0.0008750146559938094, + "ilmd": 0.21699383141790554, + "ilmd_std": 0.00196860816045723 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.07341626322395553, + "mrr_std": 0.003976051816409395, + "ndcg@10": 0.07946446506897349, + "ndcg@10_std": 0.00430305898350221, + "ilad": 0.9753183481384184, + "ilad_std": 0.0006389360073880621, + "ilmd": 0.3617963210044849, + "ilmd_std": 0.002614480162348845 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.05813840006147699, + "mrr_std": 0.003988591611692421, + "ndcg@10": 0.05835026004328592, + "ndcg@10_std": 0.0040526308078711664, + "ilad": 1.0058076870768478, + "ilad_std": 0.0006083461921677918, + "ilmd": 0.6574946453104487, + "ilmd_std": 0.0024937350117961595 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.09484536830690676, + "mrr_std": 0.0032977533681983187, + "ndcg@10": 0.11983457894547334, + "ndcg@10_std": 0.0032249074377424755, + "ilad": 0.3714861263751968, + "ilad_std": 0.0016517599150696147, + "ilmd": 0.11248984538207071, + "ilmd_std": 0.0009829120200109786 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.09502866791328331, + "mrr_std": 0.003410754875396189, + "ndcg@10": 0.12014555725263124, + "ndcg@10_std": 0.0033234702040728687, + "ilad": 0.37373691845190277, + "ilad_std": 0.0015257390102270578, + "ilmd": 0.11326068086031627, + "ilmd_std": 0.0009430816762269705 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.09520727136111752, + "mrr_std": 0.0034267989226037425, + "ndcg@10": 0.12041801576251539, + "ndcg@10_std": 0.0033518108949969878, + "ilad": 0.3766738841552618, + "ilad_std": 0.0016553275976804891, + "ilmd": 0.11441180137872312, + "ilmd_std": 0.0009210347131715792 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.0953815201892125, + "mrr_std": 0.003423312136944347, + "ndcg@10": 0.12066401133758568, + "ndcg@10_std": 0.0033676009674460444, + "ilad": 0.38031301600973794, + "ilad_std": 0.0017373275875815007, + "ilmd": 0.11584585548857965, + "ilmd_std": 0.0009554280185471599 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.09549979934595319, + "mrr_std": 0.0032581634955138254, + "ndcg@10": 0.12085225358416012, + "ndcg@10_std": 0.003192806134797859, + "ilad": 0.38533248404194226, + "ilad_std": 0.001512976782813333, + "ilmd": 0.11781813243565346, + "ilmd_std": 0.0010124609091553792 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.0955968604045527, + "mrr_std": 0.00342055067714756, + "ndcg@10": 0.12106239262489442, + "ndcg@10_std": 0.003281385677362754, + "ilad": 0.39273569526500507, + "ilad_std": 0.001730459846399099, + "ilmd": 0.12056172133261574, + "ilmd_std": 0.0009611243724822761 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.09556375248682941, + "mrr_std": 0.0034242565830437492, + "ndcg@10": 0.1212222049109241, + "ndcg@10_std": 0.0032961319511383186, + "ilad": 0.40467674901780104, + "ilad_std": 0.001052918798266563, + "ilmd": 0.12530095049807818, + "ilmd_std": 0.0007295801063022339 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.0957182134105211, + "mrr_std": 0.003250791558992592, + "ndcg@10": 0.12175284863598575, + "ndcg@10_std": 0.0032776568921943482, + "ilad": 0.4259731633703897, + "ilad_std": 0.0010547670413816252, + "ilmd": 0.13350482727328317, + "ilmd_std": 0.0008357514244574942 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.09415170299785684, + "mrr_std": 0.0031289774957734243, + "ndcg@10": 0.11955166925470147, + "ndcg@10_std": 0.0029577936797752706, + "ilad": 0.4872283478933294, + "ilad_std": 0.00139281147873987, + "ilmd": 0.15360502553858255, + "ilmd_std": 0.0007176412414236975 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.08035003458080381, + "mrr_std": 0.003987087033649735, + "ndcg@10": 0.09561388095112362, + "ndcg@10_std": 0.004015801320003386, + "ilad": 0.7975445983966492, + "ilad_std": 0.001153459536430234, + "ilmd": 0.2830358707019884, + "ilmd_std": 0.00230133858012333 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.05812187812187812, + "mrr_std": 0.003974520890190787, + "ndcg@10": 0.058355638848292424, + "ndcg@10_std": 0.004010126265683112, + "ilad": 0.9975441914466581, + "ilad_std": 0.0005652703770688891, + "ilmd": 0.8157902565356414, + "ilmd_std": 0.0007096303346241484 + } + ] +} diff --git a/benchmarks/results/latency.png b/benchmarks/results/latency.png new file mode 100644 index 0000000..429fbe7 Binary files /dev/null and b/benchmarks/results/latency.png differ diff --git a/benchmarks/results/ml-32m.json b/benchmarks/results/ml-32m.json new file mode 100644 index 0000000..ed56f33 --- /dev/null +++ b/benchmarks/results/ml-32m.json @@ -0,0 +1,4087 @@ +{ + "dataset": "ml-32m", + "timestamp": "2026-01-26T11:13:25.894250+00:00", + "config": { + "n_users": 198973, + "n_items": 25051, + "n_interactions": 15880655, + "sample_users": 2000, + "n_runs": 10, + "total_evaluations": 20000, + "k": 10, + "embedding_dim": 64, + "seed": 42 + }, + "per_run_results": { + "0": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.03734662698412698, + "ndcg@10": 0.05468500148001078, + "ilad": 0.29233673604857174, + "ilmd": 0.06626324772834778 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.041251190476190476, + "ndcg@10": 0.060980450266790186, + "ilad": 0.3436596053112298, + "ilmd": 0.09034623757004738 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.04144404761904762, + "ndcg@10": 0.061363194812760515, + "ilad": 0.3502912104371935, + "ilmd": 0.0927544250190258 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.04164186507936508, + "ndcg@10": 0.061641248245921994, + "ilad": 0.35815769630298017, + "ilmd": 0.09621124905347823 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.04209404761904762, + "ndcg@10": 0.06210795443710572, + "ilad": 0.3703977466169745, + "ilmd": 0.1015200705230236 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.042380158730158726, + "ndcg@10": 0.06269646887770036, + "ilad": 0.3854934826269746, + "ilmd": 0.10741495305299759 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.04229126984126984, + "ndcg@10": 0.06283887128355438, + "ilad": 0.4093135440200567, + "ilmd": 0.11702005597949028 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.04301468253968254, + "ndcg@10": 0.0648072615774964, + "ilad": 0.45314963472262026, + "ilmd": 0.13563549292087554 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.041120833333333336, + "ndcg@10": 0.06217045701344032, + "ilad": 0.5312538153678179, + "ilmd": 0.17404212522506715 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.03571071428571429, + "ndcg@10": 0.0522541901454452, + "ilad": 0.6738916652053595, + "ilmd": 0.30630960324406625 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.013550595238095237, + "ndcg@10": 0.015057639511475691, + "ilad": 0.800651913523674, + "ilmd": 0.5447044178247452 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.03734662698412698, + "ndcg@10": 0.05468500148001078, + "ilad": 0.29233673604857174, + "ilmd": 0.06626324772834778 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.03750416666666667, + "ndcg@10": 0.05492924127342603, + "ilad": 0.2937295715166256, + "ilmd": 0.06669302225112915 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.037760912698412696, + "ndcg@10": 0.05525446800255414, + "ilad": 0.29577923056762667, + "ilmd": 0.06768731808662415 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.038157341269841265, + "ndcg@10": 0.05590302466653064, + "ilad": 0.2984755643205717, + "ilmd": 0.06892284142971039 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.03868214285714286, + "ndcg@10": 0.05645631880823575, + "ilad": 0.30242218943219634, + "ilmd": 0.06996025982499122 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.039188690476190474, + "ndcg@10": 0.056775345172068205, + "ilad": 0.3074249871438369, + "ilmd": 0.0725149740576744 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.03956210317460317, + "ndcg@10": 0.05752317690265299, + "ilad": 0.3162770827775821, + "ilmd": 0.07530288934707642 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.040105357142857144, + "ndcg@10": 0.05983840262492282, + "ilad": 0.3316438789991662, + "ilmd": 0.08162464407086373 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.04023214285714286, + "ndcg@10": 0.060484426493598614, + "ilad": 0.36949426467902957, + "ilmd": 0.09702490219473839 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.03694861111111111, + "ndcg@10": 0.056449948113939975, + "ilad": 0.4938382819443941, + "ilmd": 0.16763144287467002 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.013780357142857141, + "ndcg@10": 0.01547379770214518, + "ilad": 0.779636018782854, + "ilmd": 0.5852560732960701 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.03734662698412698, + "ndcg@10": 0.05468500148001078, + "ilad": 0.29233673604857174, + "ilmd": 0.06626324772834778 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.03797063492063492, + "ndcg@10": 0.0557461269311677, + "ilad": 0.31215759983751923, + "ilmd": 0.0678604933321476 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.0385593253968254, + "ndcg@10": 0.05677895440629365, + "ilad": 0.3357700076522306, + "ilmd": 0.06881119927763939 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.03926488095238095, + "ndcg@10": 0.0583099874284532, + "ilad": 0.36771449899487196, + "ilmd": 0.07100381660461426 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.03938710317460317, + "ndcg@10": 0.05778175637947872, + "ilad": 0.41208266525901854, + "ilmd": 0.07419864630699158 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.03859007936507936, + "ndcg@10": 0.0554052841602526, + "ilad": 0.4680593182276934, + "ilmd": 0.07827040550112724 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.036792063492063494, + "ndcg@10": 0.05116617980204442, + "ilad": 0.5386363740134984, + "ilmd": 0.0849258809685707 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.035314682539682535, + "ndcg@10": 0.0480348008921039, + "ilad": 0.6233435674197971, + "ilmd": 0.09713737985491752 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.03158988095238095, + "ndcg@10": 0.04112937169302903, + "ilad": 0.7108846760690212, + "ilmd": 0.1147595226764679 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.021529563492063492, + "ndcg@10": 0.02608811329412144, + "ilad": 0.7880193775594234, + "ilmd": 0.16009426128864288 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.012895833333333334, + "ndcg@10": 0.013366639187769301, + "ilad": 0.8312051462978125, + "ilmd": 0.24074527874588966 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.03734662698412698, + "ndcg@10": 0.05468500148001078, + "ilad": 0.29233673604857174, + "ilmd": 0.06626324772834778 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.03790178571428572, + "ndcg@10": 0.05567723479582675, + "ilad": 0.29426659960392865, + "ilmd": 0.06713704988360406 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.03818373015873016, + "ndcg@10": 0.056233012520275946, + "ilad": 0.29690804865397513, + "ilmd": 0.06799917259812355 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.03896428571428571, + "ndcg@10": 0.05730134927456355, + "ilad": 0.3010340368179604, + "ilmd": 0.06930182841420174 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.03945257936507936, + "ndcg@10": 0.05781880348027677, + "ilad": 0.3058474551318213, + "ilmd": 0.07147583174705506 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.04033472222222222, + "ndcg@10": 0.059308133471691435, + "ilad": 0.31301074475981294, + "ilmd": 0.0740872059762478 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.04104503968253968, + "ndcg@10": 0.06086803238062471, + "ilad": 0.3241358236372471, + "ilmd": 0.07823089510202408 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.0412, + "ndcg@10": 0.060615315421647546, + "ilad": 0.34457388273999096, + "ilmd": 0.08590531608462333 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.042428968253968254, + "ndcg@10": 0.0634845358710501, + "ilad": 0.3924381348118186, + "ilmd": 0.10102703872323036 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.036079761904761906, + "ndcg@10": 0.05417066141448958, + "ilad": 0.6034888641238213, + "ilmd": 0.17421639111638068 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.013486507936507937, + "ndcg@10": 0.014897358063835636, + "ilad": 0.8049916784912348, + "ilmd": 0.5381437504589558 + } + ], + "1": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.043897619047619046, + "ndcg@10": 0.05953528284532353, + "ilad": 0.293736429059878, + "ilmd": 0.06683244103193284 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.0452656746031746, + "ndcg@10": 0.06210992798658711, + "ilad": 0.3463792812693864, + "ilmd": 0.09052188739180565 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.04537757936507937, + "ndcg@10": 0.0625197903005429, + "ilad": 0.3529478036351502, + "ilmd": 0.09351980143785477 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.04543829365079365, + "ndcg@10": 0.06257601295662436, + "ilad": 0.36122744910232724, + "ilmd": 0.09731475594639778 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.04561884920634921, + "ndcg@10": 0.06304799329708177, + "ilad": 0.3726460181735456, + "ilmd": 0.1024989158809185 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.046211309523809516, + "ndcg@10": 0.06430896427509766, + "ilad": 0.38770834473334254, + "ilmd": 0.10885774585604667 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.04627797619047619, + "ndcg@10": 0.06481448735356508, + "ilad": 0.4116869471035898, + "ilmd": 0.11943759003281593 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.04732083333333333, + "ndcg@10": 0.06758542382088971, + "ilad": 0.4543267206437886, + "ilmd": 0.1366741216480732 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.04829920634920635, + "ndcg@10": 0.07019514508905363, + "ilad": 0.5318325077742339, + "ilmd": 0.17546531528234482 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.041569642857142854, + "ndcg@10": 0.056417048393297364, + "ilad": 0.6726264203190804, + "ilmd": 0.3068989546298981 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.023193849206349208, + "ndcg@10": 0.025653291928415582, + "ilad": 0.7993941653370857, + "ilmd": 0.543632041066885 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.043897619047619046, + "ndcg@10": 0.05953528284532353, + "ilad": 0.293736429059878, + "ilmd": 0.06683244103193284 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.044107936507936506, + "ndcg@10": 0.0599253712660077, + "ilad": 0.295571080907248, + "ilmd": 0.06733582627773285 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.04453948412698413, + "ndcg@10": 0.06059510817745518, + "ilad": 0.2976619356451556, + "ilmd": 0.0681535752415657 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.04439682539682539, + "ndcg@10": 0.06027430931850255, + "ilad": 0.30103179648797956, + "ilmd": 0.0691637761592865 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.04436904761904762, + "ndcg@10": 0.06004195120815125, + "ilad": 0.30465918708685785, + "ilmd": 0.07045164772868157 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.0445172619047619, + "ndcg@10": 0.06050638497510726, + "ilad": 0.3096306825382635, + "ilmd": 0.07238229295611381 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.04406507936507936, + "ndcg@10": 0.0598424788175498, + "ilad": 0.31892917815689, + "ilmd": 0.07585387310385704 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.045137698412698414, + "ndcg@10": 0.062115477609226595, + "ilad": 0.33588716711476446, + "ilmd": 0.08219817566871643 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.04538035714285714, + "ndcg@10": 0.06276993862858503, + "ilad": 0.373155861498788, + "ilmd": 0.09819949290156364 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.04190357142857142, + "ndcg@10": 0.058970076568763075, + "ilad": 0.49393620247766373, + "ilmd": 0.1667436662018299 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.02366488095238095, + "ndcg@10": 0.026590308872349852, + "ilad": 0.7790041775852442, + "ilmd": 0.5848007692694664 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.043897619047619046, + "ndcg@10": 0.05953528284532353, + "ilad": 0.293736429059878, + "ilmd": 0.06683244103193284 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.04408511904761905, + "ndcg@10": 0.059512649329532936, + "ilad": 0.3147011468997225, + "ilmd": 0.0681105933189392 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.04464722222222223, + "ndcg@10": 0.06070641702721986, + "ilad": 0.34093925543501974, + "ilmd": 0.06979100722074509 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.04477242063492064, + "ndcg@10": 0.06094538863017923, + "ilad": 0.37159058934263883, + "ilmd": 0.07141937509179115 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.0446138888888889, + "ndcg@10": 0.06009419370787779, + "ilad": 0.4130067702885717, + "ilmd": 0.07508212000131607 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.043709722222222226, + "ndcg@10": 0.058479547968861886, + "ilad": 0.4682420437475666, + "ilmd": 0.07952845135331153 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.042435515873015875, + "ndcg@10": 0.05635509177961289, + "ilad": 0.5394081228431314, + "ilmd": 0.08564142209291459 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.04025039682539683, + "ndcg@10": 0.051944210084351884, + "ilad": 0.6226954164877534, + "ilmd": 0.09471057298779488 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.03667996031746031, + "ndcg@10": 0.04446294002023243, + "ilad": 0.7116363431066275, + "ilmd": 0.11564584764838219 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.030057539682539682, + "ndcg@10": 0.034157100599534765, + "ilad": 0.787245225906372, + "ilmd": 0.1589170028567314 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.02189781746031746, + "ndcg@10": 0.022368355975482233, + "ilad": 0.8303418332934379, + "ilmd": 0.239288693100214 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.043897619047619046, + "ndcg@10": 0.05953528284532353, + "ilad": 0.293736429059878, + "ilmd": 0.06683244103193284 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.04424424603174603, + "ndcg@10": 0.05993651877231812, + "ilad": 0.2959630781495944, + "ilmd": 0.06746561431884765 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.04418353174603175, + "ndcg@10": 0.05980581716905726, + "ilad": 0.2987517361892387, + "ilmd": 0.0686311121582985 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.044104365079365083, + "ndcg@10": 0.059747973601888785, + "ilad": 0.3031838471405208, + "ilmd": 0.07001568439602852 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.04436865079365079, + "ndcg@10": 0.060176371213485395, + "ilad": 0.3085092598358169, + "ilmd": 0.07215328925848007 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.04447777777777778, + "ndcg@10": 0.06049177365733818, + "ilad": 0.3159652136284858, + "ilmd": 0.07456578558683395 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.044251587301587306, + "ndcg@10": 0.06020016318453596, + "ilad": 0.3277397205792367, + "ilmd": 0.07851734098792076 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.045009325396825395, + "ndcg@10": 0.06177861914801296, + "ilad": 0.34809164188150316, + "ilmd": 0.08555845895409583 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.0460843253968254, + "ndcg@10": 0.06368147702926694, + "ilad": 0.39553603636659684, + "ilmd": 0.10140839922428131 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.0425875, + "ndcg@10": 0.05984644406176234, + "ilad": 0.6039189645498991, + "ilmd": 0.17830237424373627 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.02313293650793651, + "ndcg@10": 0.02559112197801465, + "ilad": 0.8041014622151852, + "ilmd": 0.5369963710010052 + } + ], + "2": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.03388531746031746, + "ndcg@10": 0.05054418036128873, + "ilad": 0.29594629077753054, + "ilmd": 0.06570782366394996 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.03631686507936508, + "ndcg@10": 0.05503058725514757, + "ilad": 0.34798381218872965, + "ilmd": 0.09111554744839669 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.03675019841269841, + "ndcg@10": 0.05560302200443084, + "ilad": 0.35378187413793055, + "ilmd": 0.09432764899730682 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.03695337301587301, + "ndcg@10": 0.05618832048347817, + "ilad": 0.36211528911162166, + "ilmd": 0.0978766936659813 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.037278373015873015, + "ndcg@10": 0.05708582112337703, + "ilad": 0.3721627922439948, + "ilmd": 0.10219457802176475 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.037369841269841275, + "ndcg@10": 0.05714980505620384, + "ilad": 0.3868845343543217, + "ilmd": 0.10947963243722916 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.036990079365079365, + "ndcg@10": 0.05661493198952233, + "ilad": 0.4113474962040782, + "ilmd": 0.11905177044868469 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.03777757936507936, + "ndcg@10": 0.058625731792739576, + "ilad": 0.4547061301395297, + "ilmd": 0.13624784269928933 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.037408928571428565, + "ndcg@10": 0.05723507495675912, + "ilad": 0.5345354667305946, + "ilmd": 0.17631621819734572 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.028168849206349208, + "ndcg@10": 0.04091691974172108, + "ilad": 0.6725827306509018, + "ilmd": 0.30855922266840935 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.011770039682539682, + "ndcg@10": 0.012908801997648106, + "ilad": 0.7993719382286072, + "ilmd": 0.5432665004432201 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.03388531746031746, + "ndcg@10": 0.05054418036128873, + "ilad": 0.29594629077753054, + "ilmd": 0.06570782366394996 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.03378531746031746, + "ndcg@10": 0.05066223260046053, + "ilad": 0.2984684674073942, + "ilmd": 0.06641553434729576 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.03389623015873016, + "ndcg@10": 0.0508547325613655, + "ilad": 0.30049097403185443, + "ilmd": 0.06739885619282722 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.03419107142857143, + "ndcg@10": 0.0511061169806307, + "ilad": 0.30395849456125873, + "ilmd": 0.06856569790840149 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.03435456349206349, + "ndcg@10": 0.05157234484405681, + "ilad": 0.30775959019595756, + "ilmd": 0.07018241852521896 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.0345343253968254, + "ndcg@10": 0.052056753448691054, + "ilad": 0.313056756534148, + "ilmd": 0.07233261519670486 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.03471944444444444, + "ndcg@10": 0.05251079702402616, + "ilad": 0.32237398383999244, + "ilmd": 0.07620867255330085 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.03492123015873016, + "ndcg@10": 0.05259313740073214, + "ilad": 0.33912045122729617, + "ilmd": 0.08347427970170974 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.03448134920634921, + "ndcg@10": 0.05255119301954374, + "ilad": 0.37566294191544874, + "ilmd": 0.10037923175096512 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.03134940476190476, + "ndcg@10": 0.04974842998687665, + "ilad": 0.4939627398676239, + "ilmd": 0.17275065711140633 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.012287103174603175, + "ndcg@10": 0.014085908176454713, + "ilad": 0.7788131878077984, + "ilmd": 0.584088379919529 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.03388531746031746, + "ndcg@10": 0.05054418036128873, + "ilad": 0.29594629077753054, + "ilmd": 0.06570782366394996 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.03413928571428571, + "ndcg@10": 0.05138097136466575, + "ilad": 0.31830227394448596, + "ilmd": 0.06731007918715477 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.03430515873015872, + "ndcg@10": 0.051435539296774545, + "ilad": 0.3428311458346434, + "ilmd": 0.06886567503213882 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.03450376984126984, + "ndcg@10": 0.051798608105277054, + "ilad": 0.37284504496259613, + "ilmd": 0.07113292309641837 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.03435634920634921, + "ndcg@10": 0.05136126167496664, + "ilad": 0.4139793116371147, + "ilmd": 0.07346803918480874 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.034477380952380954, + "ndcg@10": 0.05167833318321589, + "ilad": 0.47002653319342064, + "ilmd": 0.07809372994303704 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.032923214285714285, + "ndcg@10": 0.04835204751453671, + "ilad": 0.5389064270458184, + "ilmd": 0.0851109186410904 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.029995039682539682, + "ndcg@10": 0.042346807665962743, + "ilad": 0.6235792417633347, + "ilmd": 0.09626901951432228 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.024640674603174602, + "ndcg@10": 0.03260026185642523, + "ilad": 0.7106667401306331, + "ilmd": 0.11735618510842323 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.018687301587301586, + "ndcg@10": 0.02261824989360244, + "ilad": 0.7866316912770271, + "ilmd": 0.1582909311056137 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.01121031746031746, + "ndcg@10": 0.011495285258052669, + "ilad": 0.8298959792256355, + "ilmd": 0.24457780221104622 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.03388531746031746, + "ndcg@10": 0.05054418036128873, + "ilad": 0.29594629077753054, + "ilmd": 0.06570782366394996 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.03399702380952381, + "ndcg@10": 0.05084270577304423, + "ilad": 0.29876213876204566, + "ilmd": 0.06684442043304444 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.03431626984126984, + "ndcg@10": 0.051423224771171276, + "ilad": 0.3017897296319716, + "ilmd": 0.06795541700720788 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.034560317460317465, + "ndcg@10": 0.052047023893132066, + "ilad": 0.30588015767326576, + "ilmd": 0.06942150887846947 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.03476944444444444, + "ndcg@10": 0.05244384363374137, + "ilad": 0.31084831450460476, + "ilmd": 0.0711379262804985 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.035299007936507934, + "ndcg@10": 0.05312189672785112, + "ilad": 0.31856847543967887, + "ilmd": 0.07413331571221352 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.03591448412698413, + "ndcg@10": 0.053746275088664815, + "ilad": 0.3301399095016532, + "ilmd": 0.07839373460412026 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.036569444444444446, + "ndcg@10": 0.055345966000789816, + "ilad": 0.3482691568681039, + "ilmd": 0.08653035688400268 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.03745396825396825, + "ndcg@10": 0.05689149484107094, + "ilad": 0.3963981693130918, + "ilmd": 0.10297090554237366 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.030082142857142856, + "ndcg@10": 0.046771392145534635, + "ilad": 0.6040060140937566, + "ilmd": 0.1785614933669567 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.011979761904761906, + "ndcg@10": 0.013497661963742146, + "ilad": 0.8041358383595943, + "ilmd": 0.5375121824741363 + } + ], + "3": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.038522023809523805, + "ndcg@10": 0.05505583901213608, + "ilad": 0.2911227391613647, + "ilmd": 0.06460227328538895 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.04002619047619048, + "ndcg@10": 0.057916893549528795, + "ilad": 0.34297881231922656, + "ilmd": 0.09003900542855263 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.040376190476190475, + "ndcg@10": 0.0590162914417362, + "ilad": 0.3484388464009389, + "ilmd": 0.09231819543242455 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.04044821428571429, + "ndcg@10": 0.059186647048754905, + "ilad": 0.3560879431311041, + "ilmd": 0.0966540884077549 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.040695634920634924, + "ndcg@10": 0.05999444785958301, + "ilad": 0.36668817782960833, + "ilmd": 0.10112669518589973 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.041210317460317454, + "ndcg@10": 0.06066689482079023, + "ilad": 0.38133066543471067, + "ilmd": 0.10792023006081582 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.040817460317460315, + "ndcg@10": 0.0586959438379794, + "ilad": 0.4049503640886396, + "ilmd": 0.11744719842076301 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.03997281746031746, + "ndcg@10": 0.05760610778232092, + "ilad": 0.4503345608524978, + "ilmd": 0.13441559624671937 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.03858353174603175, + "ndcg@10": 0.05472042216175574, + "ilad": 0.5326061177402734, + "ilmd": 0.17550902232527732 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.03224523809523809, + "ndcg@10": 0.043686256929623385, + "ilad": 0.6745729165226221, + "ilmd": 0.3080070303976536 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.01899285714285714, + "ndcg@10": 0.021362310796211467, + "ilad": 0.8008077368140221, + "ilmd": 0.5434410043656827 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.038522023809523805, + "ndcg@10": 0.05505583901213608, + "ilad": 0.2911227391613647, + "ilmd": 0.06460227328538895 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.03860277777777778, + "ndcg@10": 0.055132327021829866, + "ilad": 0.2928306036675349, + "ilmd": 0.06500664323568345 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.038976388888888894, + "ndcg@10": 0.055765176948603945, + "ilad": 0.29465672791469844, + "ilmd": 0.065803212672472 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.03903968253968254, + "ndcg@10": 0.055925858969846955, + "ilad": 0.2978927953848615, + "ilmd": 0.0671286317706108 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.03883194444444445, + "ndcg@10": 0.05576654856823789, + "ilad": 0.30222842634283004, + "ilmd": 0.06884190738201142 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.03849960317460318, + "ndcg@10": 0.055507338203088126, + "ilad": 0.3076440497888252, + "ilmd": 0.07117256152629853 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.0384686507936508, + "ndcg@10": 0.05527121356475251, + "ilad": 0.31694990128464995, + "ilmd": 0.07502523311972618 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.03854503968253968, + "ndcg@10": 0.05539630721295672, + "ilad": 0.3331676559858024, + "ilmd": 0.08162339723110199 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.03907301587301588, + "ndcg@10": 0.05616297047778634, + "ilad": 0.3684882426727563, + "ilmd": 0.09797403433918953 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.03629464285714285, + "ndcg@10": 0.05334632655216285, + "ilad": 0.48706605434045197, + "ilmd": 0.16669980528950692 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.019034920634920634, + "ndcg@10": 0.021306980947936628, + "ilad": 0.7805894766449928, + "ilmd": 0.5838525183498859 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.038522023809523805, + "ndcg@10": 0.05505583901213608, + "ilad": 0.2911227391613647, + "ilmd": 0.06460227328538895 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.03880972222222222, + "ndcg@10": 0.05542556093844941, + "ilad": 0.31245221128501, + "ilmd": 0.06609818494319916 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.039090873015873016, + "ndcg@10": 0.05587454706508471, + "ilad": 0.3364661985337734, + "ilmd": 0.06801743495464325 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.0390781746031746, + "ndcg@10": 0.055871499846108875, + "ilad": 0.36603684385679663, + "ilmd": 0.07044689500331879 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.038790873015873015, + "ndcg@10": 0.05553249917274749, + "ilad": 0.40570356137119234, + "ilmd": 0.07359052947163582 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.038005158730158736, + "ndcg@10": 0.05465934005897128, + "ilad": 0.46141269482672215, + "ilmd": 0.07831438773870468 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.0367109126984127, + "ndcg@10": 0.051271547293457814, + "ilad": 0.5344635210484266, + "ilmd": 0.08378315690159797 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.033895436507936506, + "ndcg@10": 0.0445999677478039, + "ilad": 0.6212935897251591, + "ilmd": 0.09738548091053963 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.030857738095238094, + "ndcg@10": 0.038474176054898016, + "ilad": 0.7107940664449707, + "ilmd": 0.11657467782497406 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.02454781746031746, + "ndcg@10": 0.02824907090360731, + "ilad": 0.7888022747039795, + "ilmd": 0.16095630982518197 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.017876190476190476, + "ndcg@10": 0.01834939574366356, + "ilad": 0.8315043716281653, + "ilmd": 0.2417753362953663 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.038522023809523805, + "ndcg@10": 0.05505583901213608, + "ilad": 0.2911227391613647, + "ilmd": 0.06460227328538895 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.03838472222222222, + "ndcg@10": 0.05475386066316343, + "ilad": 0.2931034110011533, + "ilmd": 0.06534074294567108 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.038829365079365075, + "ndcg@10": 0.05565300292992949, + "ilad": 0.29606462113093585, + "ilmd": 0.06623481297492981 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.03879801587301587, + "ndcg@10": 0.05573663103531697, + "ilad": 0.30019810010679066, + "ilmd": 0.06799130654335021 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.038941865079365076, + "ndcg@10": 0.05585511581830158, + "ilad": 0.30544053091295065, + "ilmd": 0.06975025767087936 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.03930714285714286, + "ndcg@10": 0.05659239626034288, + "ilad": 0.3125116914436221, + "ilmd": 0.07255209729075432 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.04033888888888889, + "ndcg@10": 0.058086837666083906, + "ilad": 0.3234713301230222, + "ilmd": 0.07708782109618187 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.040608134920634927, + "ndcg@10": 0.0589348430428043, + "ilad": 0.342596983788535, + "ilmd": 0.08487178164720535 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.04045218253968254, + "ndcg@10": 0.058607748651399935, + "ilad": 0.38834885994438084, + "ilmd": 0.10049203690886498 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.03394047619047619, + "ndcg@10": 0.047986067969879705, + "ilad": 0.6054179068952799, + "ilmd": 0.17647004204988478 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.018749206349206345, + "ndcg@10": 0.02074074149533166, + "ilad": 0.8055963435173035, + "ilmd": 0.5371015858352184 + } + ], + "4": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.043031150793650795, + "ndcg@10": 0.05931010591781999, + "ilad": 0.2892012519794516, + "ilmd": 0.06553536757826806 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.044262301587301586, + "ndcg@10": 0.061787248110323614, + "ilad": 0.34390668927831575, + "ilmd": 0.08924824774265289 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.04416547619047619, + "ndcg@10": 0.06171548804687869, + "ilad": 0.34975801285123453, + "ilmd": 0.09190488642454148 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.04439365079365079, + "ndcg@10": 0.06191314895616088, + "ilad": 0.35839290359662845, + "ilmd": 0.09541778641939164 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.04431527777777778, + "ndcg@10": 0.061781769645644455, + "ilad": 0.36966254038223995, + "ilmd": 0.10076816794276237 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.04449146825396825, + "ndcg@10": 0.06204717841875873, + "ilad": 0.3848426459543407, + "ilmd": 0.10848046517372131 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.04470753968253968, + "ndcg@10": 0.06221588197451314, + "ilad": 0.4097811959423125, + "ilmd": 0.11846312221884728 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.045643055555555555, + "ndcg@10": 0.06432327774343395, + "ilad": 0.4558420538045466, + "ilmd": 0.13606634145975113 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.04603432539682539, + "ndcg@10": 0.06468527379328402, + "ilad": 0.533565973624587, + "ilmd": 0.17587612339854242 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.03922757936507936, + "ndcg@10": 0.052324997384302956, + "ilad": 0.6724404747337103, + "ilmd": 0.309065759062767 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.023477380952380954, + "ndcg@10": 0.026018599553638586, + "ilad": 0.798490395873785, + "ilmd": 0.542274370521307 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.043031150793650795, + "ndcg@10": 0.05931010591781999, + "ilad": 0.2892012519794516, + "ilmd": 0.06553536757826806 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.04306726190476191, + "ndcg@10": 0.05924443842940754, + "ilad": 0.2914107831320725, + "ilmd": 0.0660065301656723 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.04325813492063492, + "ndcg@10": 0.059416821441579566, + "ilad": 0.2934903067215346, + "ilmd": 0.0667168385386467 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.04336031746031746, + "ndcg@10": 0.059402677319157014, + "ilad": 0.2967996369409375, + "ilmd": 0.06788343259692192 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.04327361111111111, + "ndcg@10": 0.05933841998022407, + "ilad": 0.30082376823714, + "ilmd": 0.06951969614624977 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.04336626984126984, + "ndcg@10": 0.059726441390795554, + "ilad": 0.30604216793505473, + "ilmd": 0.07129837703704835 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.04367619047619048, + "ndcg@10": 0.06060757336719009, + "ilad": 0.31676297608343884, + "ilmd": 0.075660066395998 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.04342480158730159, + "ndcg@10": 0.06081731851562579, + "ilad": 0.33318204835010695, + "ilmd": 0.082465417355299 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.042600793650793646, + "ndcg@10": 0.06052217672450023, + "ilad": 0.37128376491880044, + "ilmd": 0.09876637226343155 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.03862738095238095, + "ndcg@10": 0.054270733069048206, + "ilad": 0.4933015748267062, + "ilmd": 0.16931664416193962 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.023544047619047617, + "ndcg@10": 0.026188441476697136, + "ilad": 0.7780890091955662, + "ilmd": 0.5827228164672852 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.043031150793650795, + "ndcg@10": 0.05931010591781999, + "ilad": 0.2892012519794516, + "ilmd": 0.06553536757826806 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.043674007936507935, + "ndcg@10": 0.06039338727171682, + "ilad": 0.31200787346018477, + "ilmd": 0.06660832163691521 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.043705158730158726, + "ndcg@10": 0.06032719445123974, + "ilad": 0.33714837286015975, + "ilmd": 0.06820653921365738 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.04386369047619048, + "ndcg@10": 0.060777619064541974, + "ilad": 0.37085602365387604, + "ilmd": 0.07049324053525925 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.04295059523809523, + "ndcg@10": 0.058763803589289336, + "ilad": 0.4117238797736354, + "ilmd": 0.0736906767487526 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.04258472222222222, + "ndcg@10": 0.0578266767903565, + "ilad": 0.46664838152425364, + "ilmd": 0.07792557072639465 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.04116646825396825, + "ndcg@10": 0.05463279402970804, + "ilad": 0.5385667897849343, + "ilmd": 0.0858674558699131 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.03791011904761905, + "ndcg@10": 0.047760084350939654, + "ilad": 0.6247263526241295, + "ilmd": 0.09719566267728806 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.0335093253968254, + "ndcg@10": 0.040052369978063225, + "ilad": 0.7132817780300975, + "ilmd": 0.11393485623598099 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.027331746031746033, + "ndcg@10": 0.030674065194593807, + "ilad": 0.787752516835928, + "ilmd": 0.15886027452349663 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.021945833333333335, + "ndcg@10": 0.022511753665499307, + "ilad": 0.8295014272630215, + "ilmd": 0.23680238065123557 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.043031150793650795, + "ndcg@10": 0.05931010591781999, + "ilad": 0.2892012519794516, + "ilmd": 0.06553536757826806 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.04322123015873016, + "ndcg@10": 0.05937762317418359, + "ilad": 0.29185098151071, + "ilmd": 0.06613564357161522 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.04329623015873016, + "ndcg@10": 0.05934958360883378, + "ilad": 0.2943297822675668, + "ilmd": 0.06698105692863464 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.04349424603174603, + "ndcg@10": 0.05971842906771458, + "ilad": 0.2985498146596365, + "ilmd": 0.06823180481791496 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.04305376984126984, + "ndcg@10": 0.05915601943598218, + "ilad": 0.3037571563827805, + "ilmd": 0.07009600412845611 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.04368492063492063, + "ndcg@10": 0.0606210103290109, + "ilad": 0.31226629819115626, + "ilmd": 0.0729169274866581 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.04374980158730159, + "ndcg@10": 0.06163590235728543, + "ilad": 0.32479770804988223, + "ilmd": 0.07704393926262855 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.04439563492063492, + "ndcg@10": 0.062114090843826596, + "ilad": 0.34490330256382, + "ilmd": 0.08474929997324944 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.04449444444444444, + "ndcg@10": 0.061997163294727535, + "ilad": 0.39258971223095435, + "ilmd": 0.10130438148975372 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.041413095238095235, + "ndcg@10": 0.057315133312160094, + "ilad": 0.6048794709891081, + "ilmd": 0.17656130275130272 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.023264285714285717, + "ndcg@10": 0.025621271797871967, + "ilad": 0.8031445880234241, + "ilmd": 0.5363167967796326 + } + ], + "5": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.04141011904761905, + "ndcg@10": 0.058287269187060425, + "ilad": 0.2942951857158914, + "ilmd": 0.06833312419056893 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.043182738095238093, + "ndcg@10": 0.06143853844752598, + "ilad": 0.3460901262816042, + "ilmd": 0.09248258787393569 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.0430188492063492, + "ndcg@10": 0.060977383766054896, + "ilad": 0.35198269494995477, + "ilmd": 0.09512868297100067 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.04353373015873017, + "ndcg@10": 0.061623328337259156, + "ilad": 0.3594108555521816, + "ilmd": 0.09875713685154915 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.043294246031746024, + "ndcg@10": 0.061431338292248776, + "ilad": 0.36925448627583685, + "ilmd": 0.10300128883123398 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.04362619047619047, + "ndcg@10": 0.06194783701130062, + "ilad": 0.3835340499691665, + "ilmd": 0.10992528176307678 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.043284722222222224, + "ndcg@10": 0.06238561998333645, + "ilad": 0.4072852832712233, + "ilmd": 0.12009634852409362 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.043319444444444445, + "ndcg@10": 0.061685680480454926, + "ilad": 0.45209701849520206, + "ilmd": 0.1370894973576069 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.04253373015873016, + "ndcg@10": 0.06091181714415656, + "ilad": 0.531679182857275, + "ilmd": 0.17530283579230307 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.03461686507936508, + "ndcg@10": 0.047765393271577763, + "ilad": 0.6724197167605162, + "ilmd": 0.3078943476080894 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.018538690476190476, + "ndcg@10": 0.02024774757808432, + "ilad": 0.7996714335083962, + "ilmd": 0.5443509808778763 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.04141011904761905, + "ndcg@10": 0.058287269187060425, + "ilad": 0.2942951857158914, + "ilmd": 0.06833312419056893 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.04143154761904762, + "ndcg@10": 0.058306477880299606, + "ilad": 0.2961459609819576, + "ilmd": 0.06885623398423195 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.04156289682539682, + "ndcg@10": 0.05841463178478231, + "ilad": 0.29871207982394843, + "ilmd": 0.06979187780618668 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.04172480158730158, + "ndcg@10": 0.05876987699353507, + "ilad": 0.3013256780738011, + "ilmd": 0.07093783357739449 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.04203888888888889, + "ndcg@10": 0.05945327084752222, + "ilad": 0.30415377840120345, + "ilmd": 0.07223756247758865 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.04207242063492064, + "ndcg@10": 0.05949131121036709, + "ilad": 0.3095943470755592, + "ilmd": 0.07411247134208679 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.042576190476190476, + "ndcg@10": 0.060016017333037, + "ilad": 0.31825160343106834, + "ilmd": 0.07778673630952836 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.042871428571428574, + "ndcg@10": 0.05996323790416784, + "ilad": 0.3322759694699198, + "ilmd": 0.08436485770344734 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.04365992063492064, + "ndcg@10": 0.06153458774620813, + "ilad": 0.3683541717082262, + "ilmd": 0.09907904705405235 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.039672420634920644, + "ndcg@10": 0.056737576983468714, + "ilad": 0.4895222501102835, + "ilmd": 0.1637264705002308 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.018692857142857143, + "ndcg@10": 0.020495116317257804, + "ilad": 0.7799318834841251, + "ilmd": 0.5849284572601319 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.04141011904761905, + "ndcg@10": 0.058287269187060425, + "ilad": 0.2942951857158914, + "ilmd": 0.06833312419056893 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.04179880952380952, + "ndcg@10": 0.05923142698941151, + "ilad": 0.31429604442510756, + "ilmd": 0.06978506162762642 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.042058928571428573, + "ndcg@10": 0.05966293668222775, + "ilad": 0.33695385252311827, + "ilmd": 0.07162595069408417 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.04207380952380952, + "ndcg@10": 0.05958301495776247, + "ilad": 0.3671342758331448, + "ilmd": 0.07377397957444191 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.041814087301587304, + "ndcg@10": 0.05894405995820793, + "ilad": 0.40794245041720567, + "ilmd": 0.07639365294575691 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.04157480158730159, + "ndcg@10": 0.057909094646972775, + "ilad": 0.4618309217402711, + "ilmd": 0.08053242030739784 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.04027301587301587, + "ndcg@10": 0.05426038567550675, + "ilad": 0.5335814891569316, + "ilmd": 0.08744444704055786 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.03901468253968254, + "ndcg@10": 0.05105083730291039, + "ilad": 0.619154399106279, + "ilmd": 0.09845395576953887 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.03427043650793651, + "ndcg@10": 0.04197284142514509, + "ilad": 0.7103144988715648, + "ilmd": 0.11938966545462608 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.027825, + "ndcg@10": 0.03194117355171317, + "ilad": 0.7869696587324142, + "ilmd": 0.15809204068779945 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.01755, + "ndcg@10": 0.017644532413158942, + "ilad": 0.8304529645740986, + "ilmd": 0.24133446645736695 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.04141011904761905, + "ndcg@10": 0.058287269187060425, + "ilad": 0.2942951857158914, + "ilmd": 0.06833312419056893 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.04156507936507937, + "ndcg@10": 0.05851360176486788, + "ilad": 0.29708739471063017, + "ilmd": 0.06913244527578354 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.04169365079365079, + "ndcg@10": 0.05883205127209226, + "ilad": 0.29962480466999114, + "ilmd": 0.07016891422867776 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.04171329365079366, + "ndcg@10": 0.05875751485863826, + "ilad": 0.3038498204788193, + "ilmd": 0.07138718110322952 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.041998214285714285, + "ndcg@10": 0.05919404191450367, + "ilad": 0.30892280691210183, + "ilmd": 0.07323365437984466 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.04232103174603175, + "ndcg@10": 0.059464342383013916, + "ilad": 0.31613138951174913, + "ilmd": 0.07677217164635658 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.04290297619047619, + "ndcg@10": 0.060892183501297166, + "ilad": 0.3272238790709525, + "ilmd": 0.08059939381480218 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.04353690476190476, + "ndcg@10": 0.06183862933722789, + "ilad": 0.3459142249338329, + "ilmd": 0.08731386163830757 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.044131944444444446, + "ndcg@10": 0.06320172868718267, + "ilad": 0.3919146161917597, + "ilmd": 0.10353665280342102 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.03751805555555555, + "ndcg@10": 0.05339310990221378, + "ilad": 0.6024980688095093, + "ilmd": 0.1774177478849888 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.018261507936507933, + "ndcg@10": 0.01949565452074947, + "ilad": 0.8043182760477066, + "ilmd": 0.5381641970574855 + } + ], + "6": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.04418373015873016, + "ndcg@10": 0.06347687899081386, + "ilad": 0.29466047629574316, + "ilmd": 0.06622468501329422 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.045262698412698414, + "ndcg@10": 0.06578080939091936, + "ilad": 0.34606339436769484, + "ilmd": 0.08996834820508957 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.04546944444444445, + "ndcg@10": 0.06576592714822208, + "ilad": 0.35177285226620736, + "ilmd": 0.09305635839700699 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.045957142857142856, + "ndcg@10": 0.0668041346837772, + "ilad": 0.36034595235809685, + "ilmd": 0.0975629842877388 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.04582420634920635, + "ndcg@10": 0.06648679459022545, + "ilad": 0.37044080848246813, + "ilmd": 0.10188533273339272 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.04639940476190476, + "ndcg@10": 0.06707219570711014, + "ilad": 0.38544437853619457, + "ilmd": 0.10843945437669754 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.04756428571428571, + "ndcg@10": 0.06859159202096013, + "ilad": 0.4086044636070728, + "ilmd": 0.11854741680622101 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.048619841269841264, + "ndcg@10": 0.07010695772848759, + "ilad": 0.4537400266379118, + "ilmd": 0.13685997053980828 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.04663234126984127, + "ndcg@10": 0.06693975737642159, + "ilad": 0.5315884478539229, + "ilmd": 0.17570745146274566 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.039440079365079365, + "ndcg@10": 0.054567637197778025, + "ilad": 0.6726562549322843, + "ilmd": 0.3073432289958 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.020119444444444443, + "ndcg@10": 0.021716037500721767, + "ilad": 0.7998736021518708, + "ilmd": 0.5426115639209748 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.04418373015873016, + "ndcg@10": 0.06347687899081386, + "ilad": 0.29466047629574316, + "ilmd": 0.06622468501329422 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.04414563492063492, + "ndcg@10": 0.06344906046543008, + "ilad": 0.29678792364196854, + "ilmd": 0.06681661602854728 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.04430535714285714, + "ndcg@10": 0.06349092764128078, + "ilad": 0.2988127969256602, + "ilmd": 0.06765857219696045 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.04447400793650793, + "ndcg@10": 0.06394635326989488, + "ilad": 0.3014996426082216, + "ilmd": 0.06867767733335495 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.04440694444444444, + "ndcg@10": 0.06401547497747717, + "ilad": 0.3046143192346208, + "ilmd": 0.06957206556200982 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.04458412698412698, + "ndcg@10": 0.06429023204688077, + "ilad": 0.30984274509875104, + "ilmd": 0.07151519131660461 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.045159920634920636, + "ndcg@10": 0.06559823825176435, + "ilad": 0.31950956444395706, + "ilmd": 0.07460850512981415 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.04524444444444444, + "ndcg@10": 0.0658141438810288, + "ilad": 0.33406474729580804, + "ilmd": 0.08159045732021332 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.04500019841269841, + "ndcg@10": 0.06558018210939655, + "ilad": 0.3719419180578552, + "ilmd": 0.09661205756664276 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.04061904761904762, + "ndcg@10": 0.05879187638068161, + "ilad": 0.495198855729308, + "ilmd": 0.1644534358382225 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.020502380952380952, + "ndcg@10": 0.02268114921285955, + "ilad": 0.779993305772543, + "ilmd": 0.5850418752133846 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.04418373015873016, + "ndcg@10": 0.06347687899081386, + "ilad": 0.29466047629574316, + "ilmd": 0.06622468501329422 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.04437519841269841, + "ndcg@10": 0.06397757131505377, + "ilad": 0.31423174462048337, + "ilmd": 0.06721118465065956 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.04461746031746031, + "ndcg@10": 0.06448793060025496, + "ilad": 0.3382836921461858, + "ilmd": 0.06875320273637772 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.04429523809523809, + "ndcg@10": 0.06350157647702268, + "ilad": 0.36958199919154866, + "ilmd": 0.07109866535663605 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.04477361111111111, + "ndcg@10": 0.06444561102854322, + "ilad": 0.41143330006254836, + "ilmd": 0.07431841185688973 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.04342579365079365, + "ndcg@10": 0.06143629960136412, + "ilad": 0.4681704888972454, + "ilmd": 0.07942015573382377 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.04215158730158731, + "ndcg@10": 0.0581232273051526, + "ilad": 0.5422199424556456, + "ilmd": 0.08615205752849579 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.039128968253968256, + "ndcg@10": 0.05246847281913069, + "ilad": 0.6280088107809424, + "ilmd": 0.09731121894717217 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.036033531746031744, + "ndcg@10": 0.045834704853569476, + "ilad": 0.7157535433471203, + "ilmd": 0.1140824935734272 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.028465079365079367, + "ndcg@10": 0.03340293280726059, + "ilad": 0.7900896306633949, + "ilmd": 0.16093946036696433 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.019375, + "ndcg@10": 0.019643441872590706, + "ilad": 0.8310844956338406, + "ilmd": 0.23818704780936242 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.04418373015873016, + "ndcg@10": 0.06347687899081386, + "ilad": 0.29466047629574316, + "ilmd": 0.06622468501329422 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.04408789682539683, + "ndcg@10": 0.06320249661368105, + "ilad": 0.2970543959266506, + "ilmd": 0.06702446526288987 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.04428571428571428, + "ndcg@10": 0.06359209845288961, + "ilad": 0.29987082358961925, + "ilmd": 0.06805179798603057 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.04414623015873016, + "ndcg@10": 0.0634940553362614, + "ilad": 0.3037671002349816, + "ilmd": 0.06910297212004661 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.04470376984126984, + "ndcg@10": 0.06416265675070404, + "ilad": 0.30909969643270596, + "ilmd": 0.07093534475564957 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.044368055555555556, + "ndcg@10": 0.06411718966138052, + "ilad": 0.3159538309718482, + "ilmd": 0.07345410594344139 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.04509384920634921, + "ndcg@10": 0.06566850567874855, + "ilad": 0.3265228322870098, + "ilmd": 0.07741698229312896 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.046427579365079366, + "ndcg@10": 0.06791905993452192, + "ilad": 0.34646723928675055, + "ilmd": 0.08509086835384369 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.04680039682539682, + "ndcg@10": 0.06769039881262173, + "ilad": 0.39323570316471157, + "ilmd": 0.10129849204421043 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.041143849206349205, + "ndcg@10": 0.057892692031554914, + "ilad": 0.60326816162467, + "ilmd": 0.17916784915328027 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.02012361111111111, + "ndcg@10": 0.021720785229506986, + "ilad": 0.8049338152259589, + "ilmd": 0.5376880148351193 + } + ], + "7": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.04500714285714285, + "ndcg@10": 0.06014780440970461, + "ilad": 0.29495863543637096, + "ilmd": 0.06612265485525132 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.04725833333333333, + "ndcg@10": 0.06416211961477293, + "ilad": 0.3472547231996432, + "ilmd": 0.08978233984112739 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.047442658730158724, + "ndcg@10": 0.06464420065878107, + "ilad": 0.3528766216179356, + "ilmd": 0.09272080796957016 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.04769047619047619, + "ndcg@10": 0.06497032858846163, + "ilad": 0.3608126499829814, + "ilmd": 0.09633857205510139 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.04790615079365079, + "ndcg@10": 0.06536437570703263, + "ilad": 0.37123720658477394, + "ilmd": 0.10137618651986122 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.04886924603174603, + "ndcg@10": 0.06703496913663222, + "ilad": 0.3874917953312397, + "ilmd": 0.10782612332701683 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.048603373015873017, + "ndcg@10": 0.06661519274602055, + "ilad": 0.41134463249891995, + "ilmd": 0.11855372840166092 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.048629761904761905, + "ndcg@10": 0.0666668431961231, + "ilad": 0.4544647812321782, + "ilmd": 0.1366471000611782 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.048605555555555555, + "ndcg@10": 0.06690022495105473, + "ilad": 0.5339912402480841, + "ilmd": 0.17592571291327477 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.04169027777777778, + "ndcg@10": 0.05467916658696604, + "ilad": 0.6720821765810251, + "ilmd": 0.3083974557518959 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.02705952380952381, + "ndcg@10": 0.029110480655376265, + "ilad": 0.8006460567116738, + "ilmd": 0.5457090200781822 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.04500714285714285, + "ndcg@10": 0.06014780440970461, + "ilad": 0.29495863543637096, + "ilmd": 0.06612265485525132 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.044960714285714284, + "ndcg@10": 0.06021119908907049, + "ilad": 0.29690140426531436, + "ilmd": 0.06679425182938575 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.04503075396825396, + "ndcg@10": 0.06038434359603106, + "ilad": 0.2988700611833483, + "ilmd": 0.06736240378022194 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.045214087301587304, + "ndcg@10": 0.06084672322454188, + "ilad": 0.3017456839159131, + "ilmd": 0.06821897131204605 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.045306349206349204, + "ndcg@10": 0.06073282136845732, + "ilad": 0.30584013094194235, + "ilmd": 0.07021934631466865 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.04563670634920635, + "ndcg@10": 0.0612004553164556, + "ilad": 0.3105694751422852, + "ilmd": 0.0725778594315052 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.04594464285714285, + "ndcg@10": 0.06199925040887079, + "ilad": 0.32070004772301763, + "ilmd": 0.07613681533932685 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.045727976190476194, + "ndcg@10": 0.061310460139783814, + "ilad": 0.33653545706998556, + "ilmd": 0.08326795753836631 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.04668055555555556, + "ndcg@10": 0.06317484064401228, + "ilad": 0.3712885399563238, + "ilmd": 0.09843909767270088 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.04445595238095238, + "ndcg@10": 0.060543942100130026, + "ilad": 0.4915090042371303, + "ilmd": 0.16853340193629265 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.027257539682539682, + "ndcg@10": 0.029594462106125433, + "ilad": 0.7804240243583918, + "ilmd": 0.5853996342122555 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.04500714285714285, + "ndcg@10": 0.06014780440970461, + "ilad": 0.29495863543637096, + "ilmd": 0.06612265485525132 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.045075198412698414, + "ndcg@10": 0.06021973957521078, + "ilad": 0.31572954932786523, + "ilmd": 0.06732576188445091 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.045580753968253965, + "ndcg@10": 0.061580547600435014, + "ilad": 0.3400487768473104, + "ilmd": 0.06901116770505905 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.04584484126984127, + "ndcg@10": 0.06181949257604625, + "ilad": 0.3702085743583739, + "ilmd": 0.07132802173495292 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.04558789682539682, + "ndcg@10": 0.06101161518244167, + "ilad": 0.41000060851685705, + "ilmd": 0.07407012632489204 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.04511289682539683, + "ndcg@10": 0.059227374172697626, + "ilad": 0.4636418481855653, + "ilmd": 0.07868963500857354 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.0437577380952381, + "ndcg@10": 0.055978385017184565, + "ilad": 0.5358891965034418, + "ilmd": 0.08589272513985634 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.042268452380952386, + "ndcg@10": 0.052285653466760874, + "ilad": 0.620162171203643, + "ilmd": 0.09589908921718597 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.03829345238095238, + "ndcg@10": 0.04485451307902012, + "ilad": 0.7101211507357656, + "ilmd": 0.11579276347160339 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.03313174603174603, + "ndcg@10": 0.03663917583539441, + "ilad": 0.7875509340018034, + "ilmd": 0.15966540697216988 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.02607638888888889, + "ndcg@10": 0.026517154185601292, + "ilad": 0.8312034002244473, + "ilmd": 0.24661121934652327 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.04500714285714285, + "ndcg@10": 0.06014780440970461, + "ilad": 0.29495863543637096, + "ilmd": 0.06612265485525132 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.04501190476190476, + "ndcg@10": 0.060253632576385614, + "ilad": 0.29739206917677075, + "ilmd": 0.0668000063598156 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.045175, + "ndcg@10": 0.06039550308801497, + "ilad": 0.30023568803537637, + "ilmd": 0.06782629615068436 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.045516865079365074, + "ndcg@10": 0.060885044722622045, + "ilad": 0.30400928024668245, + "ilmd": 0.0691748392879963 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.045363888888888884, + "ndcg@10": 0.06067041841101599, + "ilad": 0.3096926240986213, + "ilmd": 0.07084532687067986 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.04582857142857143, + "ndcg@10": 0.06167623049109346, + "ilad": 0.31714918585680424, + "ilmd": 0.07364746695756912 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.0465202380952381, + "ndcg@10": 0.06290700999940871, + "ilad": 0.32801292910706253, + "ilmd": 0.07746776551008225 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.04744007936507937, + "ndcg@10": 0.06463939655907845, + "ilad": 0.34718512174952776, + "ilmd": 0.08552768436074257 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.04829246031746031, + "ndcg@10": 0.06567770305073818, + "ilad": 0.3936853495240211, + "ilmd": 0.10150747859477997 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.044069841269841266, + "ndcg@10": 0.06023883316791794, + "ilad": 0.6031586144566536, + "ilmd": 0.1776108666062355 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.02700892857142857, + "ndcg@10": 0.029064311741619775, + "ilad": 0.8057656353414059, + "ilmd": 0.5394673956334591 + } + ], + "8": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.04357916666666667, + "ndcg@10": 0.061631910592528864, + "ilad": 0.29054650096036494, + "ilmd": 0.06455372804403305 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.043471031746031744, + "ndcg@10": 0.06168179540725201, + "ilad": 0.34298381545767187, + "ilmd": 0.08990653508901596 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.043604166666666666, + "ndcg@10": 0.062101248524306284, + "ilad": 0.349477342478931, + "ilmd": 0.09295342689752578 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.04442857142857143, + "ndcg@10": 0.06362216564591441, + "ilad": 0.3569771624542773, + "ilmd": 0.09649561768770218 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.044088690476190476, + "ndcg@10": 0.06302437622699224, + "ilad": 0.36815616123750805, + "ilmd": 0.10177239841222763 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.04475456349206349, + "ndcg@10": 0.06431038895546917, + "ilad": 0.3836633156687021, + "ilmd": 0.10779698994755745 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.04543174603174603, + "ndcg@10": 0.06559453774630002, + "ilad": 0.40855890899896624, + "ilmd": 0.11743237486481667 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.04591488095238096, + "ndcg@10": 0.06653770850611601, + "ilad": 0.4537954794876277, + "ilmd": 0.1361656504869461 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.04441130952380952, + "ndcg@10": 0.06384666526193726, + "ilad": 0.5332627736628056, + "ilmd": 0.1730099549293518 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.035899404761904764, + "ndcg@10": 0.049037012390872034, + "ilad": 0.6731348457485438, + "ilmd": 0.30777230101823805 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.01942281746031746, + "ndcg@10": 0.020737079978958427, + "ilad": 0.79860884834826, + "ilmd": 0.5414605876207351 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.04357916666666667, + "ndcg@10": 0.061631910592528864, + "ilad": 0.29054650096036494, + "ilmd": 0.06455372804403305 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.043501984126984125, + "ndcg@10": 0.06146763327135346, + "ilad": 0.2925636254576966, + "ilmd": 0.06529129776358604 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.043313888888888895, + "ndcg@10": 0.06143192562491288, + "ilad": 0.2948824422126636, + "ilmd": 0.06650846222043037 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.04326269841269841, + "ndcg@10": 0.0612856916331317, + "ilad": 0.2981304332492873, + "ilmd": 0.06760553917288781 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.04375238095238095, + "ndcg@10": 0.06232936418499669, + "ilad": 0.30169868302624675, + "ilmd": 0.0692273668050766 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.043352777777777775, + "ndcg@10": 0.06190725433175667, + "ilad": 0.307666765823029, + "ilmd": 0.07194567623734474 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.04398690476190476, + "ndcg@10": 0.06305610884946848, + "ilad": 0.3172630931241438, + "ilmd": 0.07551692691445351 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.04377797619047619, + "ndcg@10": 0.0625459692114019, + "ilad": 0.3347226245915517, + "ilmd": 0.0818869109749794 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.0434297619047619, + "ndcg@10": 0.061821179481912736, + "ilad": 0.37333612616267053, + "ilmd": 0.09933146506547928 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.039131349206349204, + "ndcg@10": 0.05595326601465467, + "ilad": 0.4919613240053877, + "ilmd": 0.17430615553259848 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.01971984126984127, + "ndcg@10": 0.02142048161373366, + "ilad": 0.7784850258082151, + "ilmd": 0.5824464726150036 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.04357916666666667, + "ndcg@10": 0.061631910592528864, + "ilad": 0.29054650096036494, + "ilmd": 0.06455372804403305 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.04367123015873016, + "ndcg@10": 0.06172266240577795, + "ilad": 0.31276410751696676, + "ilmd": 0.06596970561146737 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.04377043650793651, + "ndcg@10": 0.062251025577319215, + "ilad": 0.33890937446709724, + "ilmd": 0.06814802330732346 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.04335456349206349, + "ndcg@10": 0.06107249266589392, + "ilad": 0.37118504832405597, + "ilmd": 0.07122379937767982 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.04337400793650794, + "ndcg@10": 0.060860813998084115, + "ilad": 0.41259727789927275, + "ilmd": 0.07531589922308922 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.04165178571428572, + "ndcg@10": 0.05812654586531535, + "ilad": 0.4677745011681691, + "ilmd": 0.07996747919917106 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.0405468253968254, + "ndcg@10": 0.05528124417423419, + "ilad": 0.5397445002309978, + "ilmd": 0.08722658735513687 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.039286904761904766, + "ndcg@10": 0.0524956361522094, + "ilad": 0.6260408812090754, + "ilmd": 0.09798926573991776 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.03513075396825397, + "ndcg@10": 0.04435092369708335, + "ilad": 0.7140751012712717, + "ilmd": 0.11831639578938484 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.027741865079365078, + "ndcg@10": 0.032366242947375806, + "ilad": 0.7880973721295595, + "ilmd": 0.16118536695837973 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.0189547619047619, + "ndcg@10": 0.019417406266933633, + "ilad": 0.8300721809267998, + "ilmd": 0.23809623128175736 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.04357916666666667, + "ndcg@10": 0.061631910592528864, + "ilad": 0.29054650096036494, + "ilmd": 0.06455372804403305 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.04339384920634921, + "ndcg@10": 0.06150117100407078, + "ilad": 0.29272743985336275, + "ilmd": 0.06548399186134338 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.04349126984126984, + "ndcg@10": 0.061569173694367964, + "ilad": 0.29528317527100445, + "ilmd": 0.06663532888889313 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.04347123015873016, + "ndcg@10": 0.061672771920473754, + "ilad": 0.29892766985390334, + "ilmd": 0.06818207395076752 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.043371428571428575, + "ndcg@10": 0.06200973119444255, + "ilad": 0.30417036939319225, + "ilmd": 0.07044857516884803 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.04347043650793651, + "ndcg@10": 0.06242777059217515, + "ilad": 0.3121718078693375, + "ilmd": 0.07329424157738686 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.043579960317460316, + "ndcg@10": 0.062090061538831676, + "ilad": 0.32433273471472784, + "ilmd": 0.07688465335965157 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.0435343253968254, + "ndcg@10": 0.06129540907746247, + "ilad": 0.3432765732272528, + "ilmd": 0.0844434617459774 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.04406190476190476, + "ndcg@10": 0.06266735924102082, + "ilad": 0.39127698563784363, + "ilmd": 0.10147331967949867 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.03893333333333333, + "ndcg@10": 0.05611236706733907, + "ilad": 0.6041202883720398, + "ilmd": 0.17565193444490432 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.019604563492063493, + "ndcg@10": 0.021106760068832935, + "ilad": 0.8031884862929582, + "ilmd": 0.5360043567717075 + } + ], + "9": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.04104761904761905, + "ndcg@10": 0.05514153491714969, + "ilad": 0.29644816209934655, + "ilmd": 0.06534690737724304 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.04238095238095238, + "ndcg@10": 0.05691608676763571, + "ilad": 0.35009429047629237, + "ilmd": 0.09031546062231063 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.042224206349206345, + "ndcg@10": 0.056579590853638465, + "ilad": 0.35640259983204303, + "ilmd": 0.0933273341357708 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.04221071428571428, + "ndcg@10": 0.056687197804463255, + "ilad": 0.36326022865995766, + "ilmd": 0.09644494649767876 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.04259186507936508, + "ndcg@10": 0.057916857850728316, + "ilad": 0.37354530090652405, + "ilmd": 0.1019172334074974 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.04258392857142857, + "ndcg@10": 0.057739212959891734, + "ilad": 0.38858774142712355, + "ilmd": 0.10901291790604592 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.04189305555555555, + "ndcg@10": 0.05580424111074697, + "ilad": 0.41124423586949704, + "ilmd": 0.11906726032495499 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.0436375, + "ndcg@10": 0.05884616957293877, + "ilad": 0.45269508542120457, + "ilmd": 0.13558074906468393 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.04363115079365079, + "ndcg@10": 0.059077584900627984, + "ilad": 0.5329356303066015, + "ilmd": 0.17500292411446572 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.037552976190476185, + "ndcg@10": 0.048185159842969894, + "ilad": 0.6731698092371226, + "ilmd": 0.30602374756336215 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.02381369047619048, + "ndcg@10": 0.025701218692460864, + "ilad": 0.8015007538497448, + "ilmd": 0.5439585958719253 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.04104761904761905, + "ndcg@10": 0.05514153491714969, + "ilad": 0.29644816209934655, + "ilmd": 0.06534690737724304 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.041018452380952385, + "ndcg@10": 0.055130012375920176, + "ilad": 0.29823614686727523, + "ilmd": 0.06622626379132271 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.040895833333333326, + "ndcg@10": 0.05493033249881168, + "ilad": 0.30074106525816025, + "ilmd": 0.06717457607388497 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.040834722222222224, + "ndcg@10": 0.054675069608598394, + "ilad": 0.30442491668090227, + "ilmd": 0.06843895781040192 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.04085138888888889, + "ndcg@10": 0.05478603084136228, + "ilad": 0.3079699860038236, + "ilmd": 0.0698459084033966 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.040916269841269844, + "ndcg@10": 0.054753226034620864, + "ilad": 0.3130363621041179, + "ilmd": 0.0720490372478962 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.040980555555555555, + "ndcg@10": 0.05450087678631206, + "ilad": 0.3219778556060046, + "ilmd": 0.0760110490322113 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.04148531746031746, + "ndcg@10": 0.055249973878126885, + "ilad": 0.33734703028853985, + "ilmd": 0.08171698930859565 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.04157936507936508, + "ndcg@10": 0.05528691026688737, + "ilad": 0.37512507005315276, + "ilmd": 0.09769059380888939 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.03972281746031746, + "ndcg@10": 0.05359404952666675, + "ilad": 0.4916232893541455, + "ilmd": 0.16825270247459412 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.02399404761904762, + "ndcg@10": 0.025772813937945845, + "ilad": 0.7804735465496778, + "ilmd": 0.584735731124878 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.04104761904761905, + "ndcg@10": 0.05514153491714969, + "ilad": 0.29644816209934655, + "ilmd": 0.06534690737724304 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.04094781746031747, + "ndcg@10": 0.054768478578778285, + "ilad": 0.3176505900602788, + "ilmd": 0.06733146989345551 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.04117757936507937, + "ndcg@10": 0.05518150988444014, + "ilad": 0.3414401668258943, + "ilmd": 0.0687326951622963 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.04153888888888889, + "ndcg@10": 0.055817834273760275, + "ilad": 0.37283187570096926, + "ilmd": 0.0705481757223606 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.041424603174603176, + "ndcg@10": 0.05551622911703092, + "ilad": 0.4133237877083011, + "ilmd": 0.07358827552199364 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.041188690476190476, + "ndcg@10": 0.05488740695944149, + "ilad": 0.4672318939510733, + "ilmd": 0.07893058368563652 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.04031547619047619, + "ndcg@10": 0.05257170597963761, + "ilad": 0.5368094526566565, + "ilmd": 0.08555603155493736 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.038581944444444446, + "ndcg@10": 0.04906804119278114, + "ilad": 0.6208964278362692, + "ilmd": 0.09731229186058045 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.03670119047619048, + "ndcg@10": 0.04407252420984891, + "ilad": 0.7098208324387669, + "ilmd": 0.11734753093123436 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.03079424603174603, + "ndcg@10": 0.03459018940310922, + "ilad": 0.7876735814809799, + "ilmd": 0.16303762027621269 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.02276388888888889, + "ndcg@10": 0.023043956870422697, + "ilad": 0.8313506579995156, + "ilmd": 0.24003458318114282 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.04104761904761905, + "ndcg@10": 0.05514153491714969, + "ilad": 0.29644816209934655, + "ilmd": 0.06534690737724304 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.041027380952380954, + "ndcg@10": 0.055138946604193974, + "ilad": 0.298849110275507, + "ilmd": 0.0663089551627636 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.041055753968253964, + "ndcg@10": 0.05496196451340552, + "ilad": 0.30199549211794513, + "ilmd": 0.06776838254928588 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.041044246031746036, + "ndcg@10": 0.054744995342397504, + "ilad": 0.30644078698242083, + "ilmd": 0.06932616171240806 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.04136111111111111, + "ndcg@10": 0.05502371989596422, + "ilad": 0.3114806059249677, + "ilmd": 0.07136397734284401 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.04101944444444445, + "ndcg@10": 0.054742708880457285, + "ilad": 0.3192751769470051, + "ilmd": 0.07386947691440582 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.041507341269841264, + "ndcg@10": 0.055150440369531525, + "ilad": 0.33096607267763467, + "ilmd": 0.07846119871735573 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.04210595238095238, + "ndcg@10": 0.05658217009493368, + "ilad": 0.34945265658106656, + "ilmd": 0.0853856885433197 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.0422, + "ndcg@10": 0.057184100722971094, + "ilad": 0.39366634828038516, + "ilmd": 0.10122393161058425 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.03879186507936508, + "ndcg@10": 0.05168699908310448, + "ilad": 0.6034895300865173, + "ilmd": 0.17681979179382323 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.0238765873015873, + "ndcg@10": 0.02576376165314033, + "ilad": 0.805917123645544, + "ilmd": 0.5371260215640068 + } + ] + }, + "results": [ + { + "strategy": "dpp", + "diversity": 0.0, + "mrr": 0.04119105158730159, + "mrr_std": 0.003395274188312742, + "ndcg@10": 0.057781580771383644, + "ndcg@10_std": 0.003672823640769297, + "ilad": 0.29332524075345134, + "ilad_std": 0.002296520742752797, + "ilmd": 0.06595222527682781, + "ilmd_std": 0.0010498357998107667 + }, + { + "strategy": "dpp", + "diversity": 0.1, + "mrr": 0.04286779761904762, + "mrr_std": 0.0029497419068086595, + "ndcg@10": 0.06078044567964833, + "ndcg@10_std": 0.003109664321906819, + "ilad": 0.34573945501497944, + "ilad_std": 0.0022323654688763874, + "ilmd": 0.09037261972129346, + "ilmd_std": 0.0008446752484644778 + }, + { + "strategy": "dpp", + "diversity": 0.2, + "mrr": 0.042987281746031746, + "mrr_std": 0.0028666633192057363, + "ndcg@10": 0.061028613755735206, + "ndcg@10_std": 0.003045577394923049, + "ilad": 0.35177298586075195, + "ilad_std": 0.002252851156863311, + "ilmd": 0.09320115676820277, + "ilmd_std": 0.0008985752925504061 + }, + { + "strategy": "dpp", + "diversity": 0.3, + "mrr": 0.04326960317460317, + "mrr_std": 0.0029286931444358535, + "ndcg@10": 0.0615212532750816, + "ndcg@10_std": 0.0032057504315278133, + "ilad": 0.35967881302521565, + "ilad_std": 0.0021708134709468724, + "ilmd": 0.09690738308727742, + "ilmd_std": 0.0009182331360550809 + }, + { + "strategy": "dpp", + "diversity": 0.4, + "mrr": 0.043370734126984126, + "mrr_std": 0.0028207554175569928, + "ndcg@10": 0.06182417290300194, + "ndcg@10_std": 0.002802051615052233, + "ilad": 0.37041912387334747, + "ilad_std": 0.0019852547587390105, + "ilmd": 0.10180608674585818, + "ilmd_std": 0.000623272166479997 + }, + { + "strategy": "dpp", + "diversity": 0.5, + "mrr": 0.04378964285714285, + "mrr_std": 0.003020516625043097, + "ndcg@10": 0.06249739152189547, + "ndcg@10_std": 0.0032127744346245337, + "ilad": 0.3854980954036117, + "ilad_std": 0.0021296021099173716, + "ilmd": 0.1085153793901205, + "ilmd_std": 0.0007645684914664603 + }, + { + "strategy": "dpp", + "diversity": 0.6, + "mrr": 0.043786150793650794, + "mrr_std": 0.0032911348750464544, + "ndcg@10": 0.062417130004649844, + "ndcg@10_std": 0.004037986396221785, + "ilad": 0.4094117071604356, + "ilad_std": 0.002048625959898198, + "ilmd": 0.11851168660223484, + "ilmd_std": 0.0009218034921481384 + }, + { + "strategy": "dpp", + "diversity": 0.7, + "mrr": 0.044385039682539686, + "mrr_std": 0.00339398789196184, + "ndcg@10": 0.0636791162201001, + "ndcg@10_std": 0.004063390073372838, + "ilad": 0.4535151491437107, + "ilad_std": 0.0014647821387756776, + "ilmd": 0.1361382362484932, + "ilmd_std": 0.0007430261765763693 + }, + { + "strategy": "dpp", + "diversity": 0.8, + "mrr": 0.04372609126984127, + "mrr_std": 0.003654269855811292, + "ndcg@10": 0.0626682422648491, + "ndcg@10_std": 0.0045516993852154726, + "ilad": 0.5327251156166196, + "ilad_std": 0.0010621911388244952, + "ilmd": 0.17521576836407188, + "ilmd_std": 0.0009400552232673986 + }, + { + "strategy": "dpp", + "diversity": 0.9, + "mrr": 0.036612162698412706, + "mrr_std": 0.004021789753886663, + "ndcg@10": 0.04998337818845537, + "ndcg@10_std": 0.00475395412790606, + "ilad": 0.6729577010691167, + "ilad_std": 0.0007226543386912538, + "ilmd": 0.30762716509401794, + "ilmd_std": 0.0009319982511643457 + }, + { + "strategy": "dpp", + "diversity": 1.0, + "mrr": 0.019993888888888887, + "mrr_std": 0.0044665179567293075, + "ndcg@10": 0.021851320819299108, + "ndcg@10_std": 0.004790944293985956, + "ilad": 0.799901684434712, + "ilad_std": 0.0009354175009285236, + "ilmd": 0.5435409082591534, + "ilmd_std": 0.0011736380312280044 + }, + { + "strategy": "mmr", + "diversity": 0.0, + "mrr": 0.04119105158730159, + "mrr_std": 0.003395274188312742, + "ndcg@10": 0.057781580771383644, + "ndcg@10_std": 0.003672823640769297, + "ilad": 0.29332524075345134, + "ilad_std": 0.002296520742752797, + "ilmd": 0.06595222527682781, + "ilmd_std": 0.0010498357998107667 + }, + { + "strategy": "mmr", + "diversity": 0.1, + "mrr": 0.04121257936507937, + "mrr_std": 0.0033989540390796337, + "ndcg@10": 0.05784579936732055, + "ndcg@10_std": 0.0036256136110618523, + "ilad": 0.2952645567845088, + "ilad_std": 0.002353572741577672, + "ilmd": 0.06654422196745871, + "ilmd_std": 0.0010233098126501711 + }, + { + "strategy": "mmr", + "diversity": 0.2, + "mrr": 0.04135398809523809, + "mrr_std": 0.003380509261019017, + "ndcg@10": 0.0580538468277377, + "ndcg@10_std": 0.0035987285776584153, + "ilad": 0.2974097620284651, + "ilad_std": 0.002417423367277869, + "ilmd": 0.06742556928098202, + "ilmd_std": 0.0010146594582226124 + }, + { + "strategy": "mmr", + "diversity": 0.3, + "mrr": 0.041465555555555554, + "mrr_std": 0.003297375989313774, + "ndcg@10": 0.05821357019843698, + "ndcg@10_std": 0.0035890868813195443, + "ilad": 0.30052846422237345, + "ilad_std": 0.0024713762985783317, + "ilmd": 0.06855433590710162, + "ilmd_std": 0.0009855129316279068 + }, + { + "strategy": "mmr", + "diversity": 0.4, + "mrr": 0.04158672619047619, + "mrr_std": 0.0032579281200349262, + "ndcg@10": 0.058449254562872144, + "ndcg@10_std": 0.0035702644702137166, + "ilad": 0.3042170058902819, + "ilad_std": 0.0023379158368371056, + "ilmd": 0.07000581791698932, + "ilmd_std": 0.0008757286164670382 + }, + { + "strategy": "mmr", + "diversity": 0.5, + "mrr": 0.04166684523809524, + "mrr_std": 0.0032542124260522905, + "ndcg@10": 0.05862147421298312, + "ndcg@10_std": 0.0035535574506959672, + "ilad": 0.30945083391838707, + "ilad_std": 0.0022245676252829758, + "ilmd": 0.07219010563492775, + "ilmd_std": 0.0007983958050443305 + }, + { + "strategy": "mmr", + "diversity": 0.6, + "mrr": 0.04191396825396825, + "mrr_std": 0.003305824688209221, + "ndcg@10": 0.05909257313056243, + "ndcg@10_std": 0.0038943760193604886, + "ilad": 0.3188995286470745, + "ilad_std": 0.0020857536244142643, + "ilmd": 0.07581107672452927, + "ilmd_std": 0.0008148957350647703 + }, + { + "strategy": "mmr", + "diversity": 0.7, + "mrr": 0.042124126984126986, + "mrr_std": 0.0032552457981366353, + "ndcg@10": 0.05956444283779733, + "ndcg@10_std": 0.0037933560720296577, + "ilad": 0.3347947030392941, + "ilad_std": 0.0022695341592727587, + "ilmd": 0.08242130868732929, + "ilmd_std": 0.0009164047593883684 + }, + { + "strategy": "mmr", + "diversity": 0.8, + "mrr": 0.04221174603174603, + "mrr_std": 0.0033977543833792977, + "ndcg@10": 0.0599888405592431, + "ndcg@10_std": 0.0038404308065387153, + "ilad": 0.3718130901623052, + "ilad_std": 0.0024265377994241956, + "ilmd": 0.09834962946176529, + "ilmd_std": 0.0010568355997878684 + }, + { + "strategy": "mmr", + "diversity": 0.9, + "mrr": 0.03887251984126984, + "mrr_std": 0.003344344779010918, + "ndcg@10": 0.05584062252963925, + "ndcg@10_std": 0.003044027857142467, + "ilad": 0.4921919576893095, + "ilad_std": 0.0023109814724684994, + "ilmd": 0.16824143819212914, + "ilmd_std": 0.0031317923237663926 + }, + { + "strategy": "mmr", + "diversity": 1.0, + "mrr": 0.02024779761904762, + "mrr_std": 0.004417527575725009, + "ndcg@10": 0.02236094603635058, + "ndcg@10_std": 0.004668940551846754, + "ilad": 0.7795439655989409, + "ilad_std": 0.0008459454517440142, + "ilmd": 0.5843272727727891, + "ilmd_std": 0.000983356338759612 + }, + { + "strategy": "msd", + "diversity": 0.0, + "mrr": 0.04119105158730159, + "mrr_std": 0.003395274188312742, + "ndcg@10": 0.057781580771383644, + "ndcg@10_std": 0.003672823640769297, + "ilad": 0.29332524075345134, + "ilad_std": 0.002296520742752797, + "ilmd": 0.06595222527682781, + "ilmd_std": 0.0010498357998107667 + }, + { + "strategy": "msd", + "diversity": 0.1, + "mrr": 0.04145470238095238, + "mrr_std": 0.003337963482870763, + "ndcg@10": 0.05823785746997649, + "ndcg@10_std": 0.0035978581177626384, + "ilad": 0.31442931413776243, + "ilad_std": 0.0021190480164749895, + "ilmd": 0.06736108560860159, + "ilmd_std": 0.001039785382444897 + }, + { + "strategy": "msd", + "diversity": 0.2, + "mrr": 0.04175128968253968, + "mrr_std": 0.0033510568254218674, + "ndcg@10": 0.05882866025912896, + "ndcg@10_std": 0.0037238209372294716, + "ilad": 0.3388790843125433, + "ilad_std": 0.002243570456998631, + "ilmd": 0.06899628953039647, + "ilmd_std": 0.0010014102336631063 + }, + { + "strategy": "msd", + "diversity": 0.3, + "mrr": 0.04185902777777778, + "mrr_std": 0.0032446289310361105, + "ndcg@10": 0.058949751402504594, + "ndcg@10_std": 0.0033469080237436967, + "ilad": 0.36999847742188724, + "ilad_std": 0.0022392318442925677, + "ilmd": 0.07124688920974732, + "ilmd_std": 0.000906271106631201 + }, + { + "strategy": "msd", + "diversity": 0.4, + "mrr": 0.041707301587301585, + "mrr_std": 0.0032442242704682094, + "ndcg@10": 0.05843118438086679, + "ndcg@10_std": 0.0034522345218503045, + "ilad": 0.41117936129337174, + "ilad_std": 0.00246610170021061, + "ilmd": 0.07437163775861264, + "ilmd_std": 0.0009007004585555353 + }, + { + "strategy": "msd", + "diversity": 0.5, + "mrr": 0.04103210317460317, + "mrr_std": 0.003012577045554915, + "ndcg@10": 0.056963590340744955, + "ndcg@10_std": 0.002653331928538899, + "ilad": 0.46630386254619804, + "ilad_std": 0.002798937241915976, + "ilmd": 0.07896728191971779, + "ilmd_std": 0.0008251458042925998 + }, + { + "strategy": "msd", + "diversity": 0.6, + "mrr": 0.039707281746031754, + "mrr_std": 0.003112047531329551, + "ndcg@10": 0.05379926085710755, + "ndcg@10_std": 0.002785367188227958, + "ilad": 0.5378225815739481, + "ilad_std": 0.0024893750361294686, + "ilmd": 0.0857600683093071, + "ilmd_std": 0.0010125090488393178 + }, + { + "strategy": "msd", + "diversity": 0.7, + "mrr": 0.0375646626984127, + "mrr_std": 0.003373922920116883, + "ndcg@10": 0.04920545116749546, + "ndcg@10_std": 0.0033704062239367587, + "ilad": 0.6229900858156382, + "ilad_std": 0.0026084392945382403, + "ilmd": 0.09696639374792575, + "ilmd_std": 0.00102319545679273 + }, + { + "strategy": "msd", + "diversity": 0.8, + "mrr": 0.03377069444444444, + "mrr_std": 0.0037602360194086857, + "ndcg@10": 0.041780462686731495, + "ndcg@10_std": 0.0037894329112066476, + "ilad": 0.7117348730445838, + "ilad_std": 0.0018725110449720982, + "ilmd": 0.11631999387145042, + "ilmd_std": 0.0017165575245308966 + }, + { + "strategy": "msd", + "diversity": 0.9, + "mrr": 0.027011190476190477, + "mrr_std": 0.004121519628211104, + "ndcg@10": 0.031072631443031296, + "ndcg@10_std": 0.00406429598766199, + "ilad": 0.7878832263290881, + "ilad_std": 0.000935772941880025, + "ilmd": 0.16000386748611928, + "ilmd_std": 0.0014691193395542734 + }, + { + "strategy": "msd", + "diversity": 1.0, + "mrr": 0.019054603174603175, + "mrr_std": 0.004274759974122145, + "ndcg@10": 0.019435792143917434, + "ndcg@10_std": 0.004307488864626948, + "ilad": 0.8306612457066775, + "ilad_std": 0.0006616845735003162, + "ilmd": 0.24074530390799045, + "ilmd_std": 0.00286776619087039 + }, + { + "strategy": "ssd", + "diversity": 0.0, + "mrr": 0.04119105158730159, + "mrr_std": 0.003395274188312742, + "ndcg@10": 0.057781580771383644, + "ndcg@10_std": 0.003672823640769297, + "ilad": 0.29332524075345134, + "ilad_std": 0.002296520742752797, + "ilmd": 0.06595222527682781, + "ilmd_std": 0.0010498357998107667 + }, + { + "strategy": "ssd", + "diversity": 0.1, + "mrr": 0.041283511904761906, + "mrr_std": 0.003343898262831484, + "ndcg@10": 0.057919779174173534, + "ndcg@10_std": 0.003543946369609723, + "ilad": 0.29570566189703534, + "ilad_std": 0.0024172876878061408, + "ilmd": 0.06676733350753784, + "ilmd_std": 0.0010287096728235853 + }, + { + "strategy": "ssd", + "diversity": 0.2, + "mrr": 0.041451051587301585, + "mrr_std": 0.0032497012371278376, + "ndcg@10": 0.058181543202003805, + "ndcg@10_std": 0.0034104010700147674, + "ilad": 0.2984853901557625, + "ilad_std": 0.0025585745102338904, + "ilmd": 0.0678252291470766, + "ilmd_std": 0.001044126020410657 + }, + { + "strategy": "ssd", + "diversity": 0.3, + "mrr": 0.04158130952380953, + "mrr_std": 0.003160064470014579, + "ndcg@10": 0.058410578905300894, + "ndcg@10_std": 0.0032945075654123666, + "ilad": 0.30258406141949823, + "ilad_std": 0.0026243291501832572, + "ilmd": 0.06921353612244127, + "ilmd_std": 0.0009469521967017207 + }, + { + "strategy": "ssd", + "diversity": 0.4, + "mrr": 0.041738472222222225, + "mrr_std": 0.003083416331605941, + "ndcg@10": 0.05865107217484178, + "ndcg@10_std": 0.003298630822698236, + "ilad": 0.30777688195295627, + "ilad_std": 0.00262234717792091, + "ilmd": 0.07114401876032353, + "ilmd_std": 0.0009592200390142956 + }, + { + "strategy": "ssd", + "diversity": 0.5, + "mrr": 0.04201111111111111, + "mrr_std": 0.002956305302220069, + "ndcg@10": 0.05925634524543549, + "ndcg@10_std": 0.0032875085824120437, + "ilad": 0.31530038146195005, + "ilad_std": 0.002519324310222671, + "ilmd": 0.07392927950918675, + "ilmd_std": 0.0011039607089426589 + }, + { + "strategy": "ssd", + "diversity": 0.6, + "mrr": 0.04249041666666666, + "mrr_std": 0.002828248879664658, + "ndcg@10": 0.06012454117650125, + "ndcg@10_std": 0.0033963086341671244, + "ilad": 0.3267342939748429, + "ilad_std": 0.0024362512451311415, + "ilmd": 0.07801037247478962, + "ilmd_std": 0.0010515589178180572 + }, + { + "strategy": "ssd", + "diversity": 0.7, + "mrr": 0.04308273809523809, + "mrr_std": 0.002984384180015271, + "ndcg@10": 0.06110634994603057, + "ndcg@10_std": 0.0034574800573942254, + "ilad": 0.3460730783620384, + "ilad_std": 0.0021273406767937644, + "ilmd": 0.08553767781853676, + "ilmd_std": 0.0008222491044091261 + }, + { + "strategy": "ssd", + "diversity": 0.8, + "mrr": 0.04364005952380952, + "mrr_std": 0.0030121035306899697, + "ndcg@10": 0.062108371020204986, + "ndcg@10_std": 0.0033690728042997473, + "ilad": 0.39290899154655634, + "ilad_std": 0.00212436952043077, + "ilmd": 0.10162426366209984, + "ilmd_std": 0.0008695418003709724 + }, + { + "strategy": "ssd", + "diversity": 0.9, + "mrr": 0.03845599206349206, + "mrr_std": 0.004024074926088104, + "ndcg@10": 0.05454137001559565, + "ndcg@10_std": 0.0044152684109911525, + "ilad": 0.6038245884001257, + "ilad_std": 0.0008073699805057865, + "ilmd": 0.17707797934114933, + "ilmd_std": 0.0013925666428224895 + }, + { + "strategy": "ssd", + "diversity": 1.0, + "mrr": 0.01994878968253968, + "mrr_std": 0.004428384845099794, + "ndcg@10": 0.02174994285126456, + "ndcg@10_std": 0.0047002709939216805, + "ilad": 0.8046093247160316, + "ilad_std": 0.0009489017492280533, + "ilmd": 0.5374520672410726, + "ilmd_std": 0.0009448753818990817 + } + ] +} diff --git a/benchmarks/results/pareto_ilad.png b/benchmarks/results/pareto_ilad.png new file mode 100644 index 0000000..7ab4089 Binary files /dev/null and b/benchmarks/results/pareto_ilad.png differ diff --git a/benchmarks/results/pareto_ilmd.png b/benchmarks/results/pareto_ilmd.png new file mode 100644 index 0000000..b6434d6 Binary files /dev/null and b/benchmarks/results/pareto_ilmd.png differ diff --git a/pyproject.toml b/pyproject.toml index dbe5b00..a587a92 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -43,6 +43,18 @@ dev = [ "pytest", "pytest-coverage", "ruff", + "types-requests", +] +benchmarks = [ + "datasets~=3.6.0", + "huggingface-hub~=0.30.0", + "matplotlib~=3.10.0", + "pandas~=2.3.0", + "requests~=2.32.0", + "scikit-learn~=1.8.0", + "scipy~=1.16.0", + "seaborn~=0.13.0", + "tqdm~=4.67.0", ] [tool.ruff] diff --git a/src/pyversity/strategies/cover.py b/src/pyversity/strategies/cover.py index 75412bd..b106a3f 100644 --- a/src/pyversity/strategies/cover.py +++ b/src/pyversity/strategies/cover.py @@ -63,8 +63,8 @@ def cover( # Normalize feature vectors to unit length for cosine similarity feature_matrix = normalize_rows(feature_matrix) + # Pure relevance: select top-k by relevance scores if float(theta) == 1.0: - # Pure relevance: select top-k by relevance scores topk = np.argsort(-relevance_scores)[:top_k].astype(np.int32) gains = relevance_scores[topk].astype(np.float32, copy=False) return DiversificationResult( diff --git a/src/pyversity/strategies/dpp.py b/src/pyversity/strategies/dpp.py index 0905af3..c92de4f 100644 --- a/src/pyversity/strategies/dpp.py +++ b/src/pyversity/strategies/dpp.py @@ -24,7 +24,8 @@ def dpp( This strategy selects a diverse and relevant subset of `k` items by maximizing the determinant of a kernel matrix that balances item relevance - and pairwise similarity. Note that + and pairwise similarity. It uses a greedy algorithm to iteratively select items + that contribute the most to the overall diversity and relevance of the set. :param embeddings: 2D array of shape (n_samples, n_features). :param scores: 1D array of relevance scores for each item. @@ -57,6 +58,18 @@ def dpp( # Normalize feature vectors to unit length for cosine similarity feature_matrix = normalize_rows(feature_matrix) + # Pure relevance: select top-k by relevance scores + if float(diversity) == 0.0: + topk = np.argsort(-relevance_scores)[:top_k].astype(np.int32) + gains = relevance_scores[topk].astype(np.float32, copy=False) + return DiversificationResult( + indices=topk, + selection_scores=gains, + strategy=Strategy.DPP, + diversity=diversity, + parameters={"scale": scale}, + ) + num_items = feature_matrix.shape[0] weights = _exp_zscore_weights(relevance_scores, beta) diff --git a/src/pyversity/strategies/ssd.py b/src/pyversity/strategies/ssd.py index 5d4ba5d..2910e26 100644 --- a/src/pyversity/strategies/ssd.py +++ b/src/pyversity/strategies/ssd.py @@ -79,7 +79,7 @@ def ssd( # noqa: C901 # Determine effective window size window_size = (n_recent + top_k) if window is None else int(window) - # Pure relevance: select top-k by raw scores + # Pure relevance: select top-k by relevance scores if float(theta) == 1.0: topk = np.argsort(-relevance_scores)[:top_k].astype(np.int32) selection_scores = relevance_scores[topk].astype(np.float32, copy=False) diff --git a/uv.lock b/uv.lock index 478bac6..301eeca 100644 --- a/uv.lock +++ b/uv.lock @@ -2,10 +2,167 @@ version = 1 revision = 3 requires-python = ">=3.10" resolution-markers = [ - "python_full_version >= '3.11'", + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", "python_full_version < '3.11'", ] +[[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.13.3" +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/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" }, +] + +[[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 = "anyio" +version = "4.12.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { 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/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/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]] name = "asttokens" version = "3.0.0" @@ -15,6 +172,33 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2", size = 26918, upload-time = "2024-11-30T04:30:10.946Z" }, ] +[[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.4.0" +source = { registry = "https://pypi.org/simple" } +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 = "certifi" +version = "2026.1.4" +source = { registry = "https://pypi.org/simple" } +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/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 = "cfgv" version = "3.4.0" @@ -24,6 +208,107 @@ 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.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/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 = "click" +version = "8.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "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" @@ -33,6 +318,162 @@ 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 = "contourpy" +version = "1.3.2" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11'", +] +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/54/eb9bfc647b19f2009dd5c7f5ec51c4e6ca831725f1aea7a993034f483147/contourpy-1.3.2.tar.gz", hash = "sha256:b6945942715a034c671b7fc54f9588126b0b8bf23db2696e3ca8328f3ff0ab54", size = 13466130, upload-time = "2025-04-15T17:47:53.79Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/12/a3/da4153ec8fe25d263aa48c1a4cbde7f49b59af86f0b6f7862788c60da737/contourpy-1.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ba38e3f9f330af820c4b27ceb4b9c7feee5fe0493ea53a8720f4792667465934", size = 268551, upload-time = "2025-04-15T17:34:46.581Z" }, + { url = "https://files.pythonhosted.org/packages/2f/6c/330de89ae1087eb622bfca0177d32a7ece50c3ef07b28002de4757d9d875/contourpy-1.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:dc41ba0714aa2968d1f8674ec97504a8f7e334f48eeacebcaa6256213acb0989", size = 253399, upload-time = "2025-04-15T17:34:51.427Z" }, + { url = "https://files.pythonhosted.org/packages/c1/bd/20c6726b1b7f81a8bee5271bed5c165f0a8e1f572578a9d27e2ccb763cb2/contourpy-1.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9be002b31c558d1ddf1b9b415b162c603405414bacd6932d031c5b5a8b757f0d", size = 312061, upload-time = "2025-04-15T17:34:55.961Z" }, + { url = "https://files.pythonhosted.org/packages/22/fc/a9665c88f8a2473f823cf1ec601de9e5375050f1958cbb356cdf06ef1ab6/contourpy-1.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8d2e74acbcba3bfdb6d9d8384cdc4f9260cae86ed9beee8bd5f54fee49a430b9", size = 351956, upload-time = "2025-04-15T17:35:00.992Z" }, + { url = "https://files.pythonhosted.org/packages/25/eb/9f0a0238f305ad8fb7ef42481020d6e20cf15e46be99a1fcf939546a177e/contourpy-1.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e259bced5549ac64410162adc973c5e2fb77f04df4a439d00b478e57a0e65512", size = 320872, upload-time = "2025-04-15T17:35:06.177Z" }, + { url = "https://files.pythonhosted.org/packages/32/5c/1ee32d1c7956923202f00cf8d2a14a62ed7517bdc0ee1e55301227fc273c/contourpy-1.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad687a04bc802cbe8b9c399c07162a3c35e227e2daccf1668eb1f278cb698631", size = 325027, upload-time = "2025-04-15T17:35:11.244Z" }, + { url = "https://files.pythonhosted.org/packages/83/bf/9baed89785ba743ef329c2b07fd0611d12bfecbedbdd3eeecf929d8d3b52/contourpy-1.3.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:cdd22595308f53ef2f891040ab2b93d79192513ffccbd7fe19be7aa773a5e09f", size = 1306641, upload-time = "2025-04-15T17:35:26.701Z" }, + { url = "https://files.pythonhosted.org/packages/d4/cc/74e5e83d1e35de2d28bd97033426b450bc4fd96e092a1f7a63dc7369b55d/contourpy-1.3.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b4f54d6a2defe9f257327b0f243612dd051cc43825587520b1bf74a31e2f6ef2", size = 1374075, upload-time = "2025-04-15T17:35:43.204Z" }, + { url = "https://files.pythonhosted.org/packages/0c/42/17f3b798fd5e033b46a16f8d9fcb39f1aba051307f5ebf441bad1ecf78f8/contourpy-1.3.2-cp310-cp310-win32.whl", hash = "sha256:f939a054192ddc596e031e50bb13b657ce318cf13d264f095ce9db7dc6ae81c0", size = 177534, upload-time = "2025-04-15T17:35:46.554Z" }, + { url = "https://files.pythonhosted.org/packages/54/ec/5162b8582f2c994721018d0c9ece9dc6ff769d298a8ac6b6a652c307e7df/contourpy-1.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:c440093bbc8fc21c637c03bafcbef95ccd963bc6e0514ad887932c18ca2a759a", size = 221188, upload-time = "2025-04-15T17:35:50.064Z" }, + { url = "https://files.pythonhosted.org/packages/b3/b9/ede788a0b56fc5b071639d06c33cb893f68b1178938f3425debebe2dab78/contourpy-1.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6a37a2fb93d4df3fc4c0e363ea4d16f83195fc09c891bc8ce072b9d084853445", size = 269636, upload-time = "2025-04-15T17:35:54.473Z" }, + { url = "https://files.pythonhosted.org/packages/e6/75/3469f011d64b8bbfa04f709bfc23e1dd71be54d05b1b083be9f5b22750d1/contourpy-1.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b7cd50c38f500bbcc9b6a46643a40e0913673f869315d8e70de0438817cb7773", size = 254636, upload-time = "2025-04-15T17:35:58.283Z" }, + { url = "https://files.pythonhosted.org/packages/8d/2f/95adb8dae08ce0ebca4fd8e7ad653159565d9739128b2d5977806656fcd2/contourpy-1.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d6658ccc7251a4433eebd89ed2672c2ed96fba367fd25ca9512aa92a4b46c4f1", size = 313053, upload-time = "2025-04-15T17:36:03.235Z" }, + { url = "https://files.pythonhosted.org/packages/c3/a6/8ccf97a50f31adfa36917707fe39c9a0cbc24b3bbb58185577f119736cc9/contourpy-1.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:70771a461aaeb335df14deb6c97439973d253ae70660ca085eec25241137ef43", size = 352985, upload-time = "2025-04-15T17:36:08.275Z" }, + { url = "https://files.pythonhosted.org/packages/1d/b6/7925ab9b77386143f39d9c3243fdd101621b4532eb126743201160ffa7e6/contourpy-1.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65a887a6e8c4cd0897507d814b14c54a8c2e2aa4ac9f7686292f9769fcf9a6ab", size = 323750, upload-time = "2025-04-15T17:36:13.29Z" }, + { url = "https://files.pythonhosted.org/packages/c2/f3/20c5d1ef4f4748e52d60771b8560cf00b69d5c6368b5c2e9311bcfa2a08b/contourpy-1.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3859783aefa2b8355697f16642695a5b9792e7a46ab86da1118a4a23a51a33d7", size = 326246, upload-time = "2025-04-15T17:36:18.329Z" }, + { url = "https://files.pythonhosted.org/packages/8c/e5/9dae809e7e0b2d9d70c52b3d24cba134dd3dad979eb3e5e71f5df22ed1f5/contourpy-1.3.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:eab0f6db315fa4d70f1d8ab514e527f0366ec021ff853d7ed6a2d33605cf4b83", size = 1308728, upload-time = "2025-04-15T17:36:33.878Z" }, + { url = "https://files.pythonhosted.org/packages/e2/4a/0058ba34aeea35c0b442ae61a4f4d4ca84d6df8f91309bc2d43bb8dd248f/contourpy-1.3.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d91a3ccc7fea94ca0acab82ceb77f396d50a1f67412efe4c526f5d20264e6ecd", size = 1375762, upload-time = "2025-04-15T17:36:51.295Z" }, + { url = "https://files.pythonhosted.org/packages/09/33/7174bdfc8b7767ef2c08ed81244762d93d5c579336fc0b51ca57b33d1b80/contourpy-1.3.2-cp311-cp311-win32.whl", hash = "sha256:1c48188778d4d2f3d48e4643fb15d8608b1d01e4b4d6b0548d9b336c28fc9b6f", size = 178196, upload-time = "2025-04-15T17:36:55.002Z" }, + { url = "https://files.pythonhosted.org/packages/5e/fe/4029038b4e1c4485cef18e480b0e2cd2d755448bb071eb9977caac80b77b/contourpy-1.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:5ebac872ba09cb8f2131c46b8739a7ff71de28a24c869bcad554477eb089a878", size = 222017, upload-time = "2025-04-15T17:36:58.576Z" }, + { url = "https://files.pythonhosted.org/packages/34/f7/44785876384eff370c251d58fd65f6ad7f39adce4a093c934d4a67a7c6b6/contourpy-1.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4caf2bcd2969402bf77edc4cb6034c7dd7c0803213b3523f111eb7460a51b8d2", size = 271580, upload-time = "2025-04-15T17:37:03.105Z" }, + { url = "https://files.pythonhosted.org/packages/93/3b/0004767622a9826ea3d95f0e9d98cd8729015768075d61f9fea8eeca42a8/contourpy-1.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:82199cb78276249796419fe36b7386bd8d2cc3f28b3bc19fe2454fe2e26c4c15", size = 255530, upload-time = "2025-04-15T17:37:07.026Z" }, + { url = "https://files.pythonhosted.org/packages/e7/bb/7bd49e1f4fa805772d9fd130e0d375554ebc771ed7172f48dfcd4ca61549/contourpy-1.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:106fab697af11456fcba3e352ad50effe493a90f893fca6c2ca5c033820cea92", size = 307688, upload-time = "2025-04-15T17:37:11.481Z" }, + { url = "https://files.pythonhosted.org/packages/fc/97/e1d5dbbfa170725ef78357a9a0edc996b09ae4af170927ba8ce977e60a5f/contourpy-1.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d14f12932a8d620e307f715857107b1d1845cc44fdb5da2bc8e850f5ceba9f87", size = 347331, upload-time = "2025-04-15T17:37:18.212Z" }, + { url = "https://files.pythonhosted.org/packages/6f/66/e69e6e904f5ecf6901be3dd16e7e54d41b6ec6ae3405a535286d4418ffb4/contourpy-1.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:532fd26e715560721bb0d5fc7610fce279b3699b018600ab999d1be895b09415", size = 318963, upload-time = "2025-04-15T17:37:22.76Z" }, + { url = "https://files.pythonhosted.org/packages/a8/32/b8a1c8965e4f72482ff2d1ac2cd670ce0b542f203c8e1d34e7c3e6925da7/contourpy-1.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b383144cf2d2c29f01a1e8170f50dacf0eac02d64139dcd709a8ac4eb3cfe", size = 323681, upload-time = "2025-04-15T17:37:33.001Z" }, + { url = "https://files.pythonhosted.org/packages/30/c6/12a7e6811d08757c7162a541ca4c5c6a34c0f4e98ef2b338791093518e40/contourpy-1.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c49f73e61f1f774650a55d221803b101d966ca0c5a2d6d5e4320ec3997489441", size = 1308674, upload-time = "2025-04-15T17:37:48.64Z" }, + { url = "https://files.pythonhosted.org/packages/2a/8a/bebe5a3f68b484d3a2b8ffaf84704b3e343ef1addea528132ef148e22b3b/contourpy-1.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3d80b2c0300583228ac98d0a927a1ba6a2ba6b8a742463c564f1d419ee5b211e", size = 1380480, upload-time = "2025-04-15T17:38:06.7Z" }, + { url = "https://files.pythonhosted.org/packages/34/db/fcd325f19b5978fb509a7d55e06d99f5f856294c1991097534360b307cf1/contourpy-1.3.2-cp312-cp312-win32.whl", hash = "sha256:90df94c89a91b7362e1142cbee7568f86514412ab8a2c0d0fca72d7e91b62912", size = 178489, upload-time = "2025-04-15T17:38:10.338Z" }, + { url = "https://files.pythonhosted.org/packages/01/c8/fadd0b92ffa7b5eb5949bf340a63a4a496a6930a6c37a7ba0f12acb076d6/contourpy-1.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:8c942a01d9163e2e5cfb05cb66110121b8d07ad438a17f9e766317bcb62abf73", size = 223042, upload-time = "2025-04-15T17:38:14.239Z" }, + { url = "https://files.pythonhosted.org/packages/2e/61/5673f7e364b31e4e7ef6f61a4b5121c5f170f941895912f773d95270f3a2/contourpy-1.3.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:de39db2604ae755316cb5967728f4bea92685884b1e767b7c24e983ef5f771cb", size = 271630, upload-time = "2025-04-15T17:38:19.142Z" }, + { url = "https://files.pythonhosted.org/packages/ff/66/a40badddd1223822c95798c55292844b7e871e50f6bfd9f158cb25e0bd39/contourpy-1.3.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3f9e896f447c5c8618f1edb2bafa9a4030f22a575ec418ad70611450720b5b08", size = 255670, upload-time = "2025-04-15T17:38:23.688Z" }, + { url = "https://files.pythonhosted.org/packages/1e/c7/cf9fdee8200805c9bc3b148f49cb9482a4e3ea2719e772602a425c9b09f8/contourpy-1.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71e2bd4a1c4188f5c2b8d274da78faab884b59df20df63c34f74aa1813c4427c", size = 306694, upload-time = "2025-04-15T17:38:28.238Z" }, + { url = "https://files.pythonhosted.org/packages/dd/e7/ccb9bec80e1ba121efbffad7f38021021cda5be87532ec16fd96533bb2e0/contourpy-1.3.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de425af81b6cea33101ae95ece1f696af39446db9682a0b56daaa48cfc29f38f", size = 345986, upload-time = "2025-04-15T17:38:33.502Z" }, + { url = "https://files.pythonhosted.org/packages/dc/49/ca13bb2da90391fa4219fdb23b078d6065ada886658ac7818e5441448b78/contourpy-1.3.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:977e98a0e0480d3fe292246417239d2d45435904afd6d7332d8455981c408b85", size = 318060, upload-time = "2025-04-15T17:38:38.672Z" }, + { url = "https://files.pythonhosted.org/packages/c8/65/5245ce8c548a8422236c13ffcdcdada6a2a812c361e9e0c70548bb40b661/contourpy-1.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:434f0adf84911c924519d2b08fc10491dd282b20bdd3fa8f60fd816ea0b48841", size = 322747, upload-time = "2025-04-15T17:38:43.712Z" }, + { url = "https://files.pythonhosted.org/packages/72/30/669b8eb48e0a01c660ead3752a25b44fdb2e5ebc13a55782f639170772f9/contourpy-1.3.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c66c4906cdbc50e9cba65978823e6e00b45682eb09adbb78c9775b74eb222422", size = 1308895, upload-time = "2025-04-15T17:39:00.224Z" }, + { url = "https://files.pythonhosted.org/packages/05/5a/b569f4250decee6e8d54498be7bdf29021a4c256e77fe8138c8319ef8eb3/contourpy-1.3.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8b7fc0cd78ba2f4695fd0a6ad81a19e7e3ab825c31b577f384aa9d7817dc3bef", size = 1379098, upload-time = "2025-04-15T17:43:29.649Z" }, + { url = "https://files.pythonhosted.org/packages/19/ba/b227c3886d120e60e41b28740ac3617b2f2b971b9f601c835661194579f1/contourpy-1.3.2-cp313-cp313-win32.whl", hash = "sha256:15ce6ab60957ca74cff444fe66d9045c1fd3e92c8936894ebd1f3eef2fff075f", size = 178535, upload-time = "2025-04-15T17:44:44.532Z" }, + { url = "https://files.pythonhosted.org/packages/12/6e/2fed56cd47ca739b43e892707ae9a13790a486a3173be063681ca67d2262/contourpy-1.3.2-cp313-cp313-win_amd64.whl", hash = "sha256:e1578f7eafce927b168752ed7e22646dad6cd9bca673c60bff55889fa236ebf9", size = 223096, upload-time = "2025-04-15T17:44:48.194Z" }, + { url = "https://files.pythonhosted.org/packages/54/4c/e76fe2a03014a7c767d79ea35c86a747e9325537a8b7627e0e5b3ba266b4/contourpy-1.3.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0475b1f6604896bc7c53bb070e355e9321e1bc0d381735421a2d2068ec56531f", size = 285090, upload-time = "2025-04-15T17:43:34.084Z" }, + { url = "https://files.pythonhosted.org/packages/7b/e2/5aba47debd55d668e00baf9651b721e7733975dc9fc27264a62b0dd26eb8/contourpy-1.3.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c85bb486e9be652314bb5b9e2e3b0d1b2e643d5eec4992c0fbe8ac71775da739", size = 268643, upload-time = "2025-04-15T17:43:38.626Z" }, + { url = "https://files.pythonhosted.org/packages/a1/37/cd45f1f051fe6230f751cc5cdd2728bb3a203f5619510ef11e732109593c/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:745b57db7758f3ffc05a10254edd3182a2a83402a89c00957a8e8a22f5582823", size = 310443, upload-time = "2025-04-15T17:43:44.522Z" }, + { url = "https://files.pythonhosted.org/packages/8b/a2/36ea6140c306c9ff6dd38e3bcec80b3b018474ef4d17eb68ceecd26675f4/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:970e9173dbd7eba9b4e01aab19215a48ee5dd3f43cef736eebde064a171f89a5", size = 349865, upload-time = "2025-04-15T17:43:49.545Z" }, + { url = "https://files.pythonhosted.org/packages/95/b7/2fc76bc539693180488f7b6cc518da7acbbb9e3b931fd9280504128bf956/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6c4639a9c22230276b7bffb6a850dfc8258a2521305e1faefe804d006b2e532", size = 321162, upload-time = "2025-04-15T17:43:54.203Z" }, + { url = "https://files.pythonhosted.org/packages/f4/10/76d4f778458b0aa83f96e59d65ece72a060bacb20cfbee46cf6cd5ceba41/contourpy-1.3.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cc829960f34ba36aad4302e78eabf3ef16a3a100863f0d4eeddf30e8a485a03b", size = 327355, upload-time = "2025-04-15T17:44:01.025Z" }, + { url = "https://files.pythonhosted.org/packages/43/a3/10cf483ea683f9f8ab096c24bad3cce20e0d1dd9a4baa0e2093c1c962d9d/contourpy-1.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:d32530b534e986374fc19eaa77fcb87e8a99e5431499949b828312bdcd20ac52", size = 1307935, upload-time = "2025-04-15T17:44:17.322Z" }, + { url = "https://files.pythonhosted.org/packages/78/73/69dd9a024444489e22d86108e7b913f3528f56cfc312b5c5727a44188471/contourpy-1.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e298e7e70cf4eb179cc1077be1c725b5fd131ebc81181bf0c03525c8abc297fd", size = 1372168, upload-time = "2025-04-15T17:44:33.43Z" }, + { url = "https://files.pythonhosted.org/packages/0f/1b/96d586ccf1b1a9d2004dd519b25fbf104a11589abfd05484ff12199cca21/contourpy-1.3.2-cp313-cp313t-win32.whl", hash = "sha256:d0e589ae0d55204991450bb5c23f571c64fe43adaa53f93fc902a84c96f52fe1", size = 189550, upload-time = "2025-04-15T17:44:37.092Z" }, + { url = "https://files.pythonhosted.org/packages/b0/e6/6000d0094e8a5e32ad62591c8609e269febb6e4db83a1c75ff8868b42731/contourpy-1.3.2-cp313-cp313t-win_amd64.whl", hash = "sha256:78e9253c3de756b3f6a5174d024c4835acd59eb3f8e2ca13e775dbffe1558f69", size = 238214, upload-time = "2025-04-15T17:44:40.827Z" }, + { url = "https://files.pythonhosted.org/packages/33/05/b26e3c6ecc05f349ee0013f0bb850a761016d89cec528a98193a48c34033/contourpy-1.3.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fd93cc7f3139b6dd7aab2f26a90dde0aa9fc264dbf70f6740d498a70b860b82c", size = 265681, upload-time = "2025-04-15T17:44:59.314Z" }, + { url = "https://files.pythonhosted.org/packages/2b/25/ac07d6ad12affa7d1ffed11b77417d0a6308170f44ff20fa1d5aa6333f03/contourpy-1.3.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:107ba8a6a7eec58bb475329e6d3b95deba9440667c4d62b9b6063942b61d7f16", size = 315101, upload-time = "2025-04-15T17:45:04.165Z" }, + { url = "https://files.pythonhosted.org/packages/8f/4d/5bb3192bbe9d3f27e3061a6a8e7733c9120e203cb8515767d30973f71030/contourpy-1.3.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:ded1706ed0c1049224531b81128efbd5084598f18d8a2d9efae833edbd2b40ad", size = 220599, upload-time = "2025-04-15T17:45:08.456Z" }, + { url = "https://files.pythonhosted.org/packages/ff/c0/91f1215d0d9f9f343e4773ba6c9b89e8c0cc7a64a6263f21139da639d848/contourpy-1.3.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5f5964cdad279256c084b69c3f412b7801e15356b16efa9d78aa974041903da0", size = 266807, upload-time = "2025-04-15T17:45:15.535Z" }, + { url = "https://files.pythonhosted.org/packages/d4/79/6be7e90c955c0487e7712660d6cead01fa17bff98e0ea275737cc2bc8e71/contourpy-1.3.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:49b65a95d642d4efa8f64ba12558fcb83407e58a2dfba9d796d77b63ccfcaff5", size = 318729, upload-time = "2025-04-15T17:45:20.166Z" }, + { url = "https://files.pythonhosted.org/packages/87/68/7f46fb537958e87427d98a4074bcde4b67a70b04900cfc5ce29bc2f556c1/contourpy-1.3.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:8c5acb8dddb0752bf252e01a3035b21443158910ac16a3b0d20e7fed7d534ce5", size = 221791, upload-time = "2025-04-15T17:45:24.794Z" }, +] + +[[package]] +name = "contourpy" +version = "1.3.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", +] +dependencies = [ + { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/58/01/1253e6698a07380cd31a736d248a3f2a50a7c88779a1813da27503cadc2a/contourpy-1.3.3.tar.gz", hash = "sha256:083e12155b210502d0bca491432bb04d56dc3432f95a979b429f2848c3dbe880", size = 13466174, upload-time = "2025-07-26T12:03:12.549Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/91/2e/c4390a31919d8a78b90e8ecf87cd4b4c4f05a5b48d05ec17db8e5404c6f4/contourpy-1.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:709a48ef9a690e1343202916450bc48b9e51c049b089c7f79a267b46cffcdaa1", size = 288773, upload-time = "2025-07-26T12:01:02.277Z" }, + { url = "https://files.pythonhosted.org/packages/0d/44/c4b0b6095fef4dc9c420e041799591e3b63e9619e3044f7f4f6c21c0ab24/contourpy-1.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:23416f38bfd74d5d28ab8429cc4d63fa67d5068bd711a85edb1c3fb0c3e2f381", size = 270149, upload-time = "2025-07-26T12:01:04.072Z" }, + { url = "https://files.pythonhosted.org/packages/30/2e/dd4ced42fefac8470661d7cb7e264808425e6c5d56d175291e93890cce09/contourpy-1.3.3-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:929ddf8c4c7f348e4c0a5a3a714b5c8542ffaa8c22954862a46ca1813b667ee7", size = 329222, upload-time = "2025-07-26T12:01:05.688Z" }, + { url = "https://files.pythonhosted.org/packages/f2/74/cc6ec2548e3d276c71389ea4802a774b7aa3558223b7bade3f25787fafc2/contourpy-1.3.3-cp311-cp311-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9e999574eddae35f1312c2b4b717b7885d4edd6cb46700e04f7f02db454e67c1", size = 377234, upload-time = "2025-07-26T12:01:07.054Z" }, + { url = "https://files.pythonhosted.org/packages/03/b3/64ef723029f917410f75c09da54254c5f9ea90ef89b143ccadb09df14c15/contourpy-1.3.3-cp311-cp311-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0bf67e0e3f482cb69779dd3061b534eb35ac9b17f163d851e2a547d56dba0a3a", size = 380555, upload-time = "2025-07-26T12:01:08.801Z" }, + { url = "https://files.pythonhosted.org/packages/5f/4b/6157f24ca425b89fe2eb7e7be642375711ab671135be21e6faa100f7448c/contourpy-1.3.3-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:51e79c1f7470158e838808d4a996fa9bac72c498e93d8ebe5119bc1e6becb0db", size = 355238, upload-time = "2025-07-26T12:01:10.319Z" }, + { url = "https://files.pythonhosted.org/packages/98/56/f914f0dd678480708a04cfd2206e7c382533249bc5001eb9f58aa693e200/contourpy-1.3.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:598c3aaece21c503615fd59c92a3598b428b2f01bfb4b8ca9c4edeecc2438620", size = 1326218, upload-time = "2025-07-26T12:01:12.659Z" }, + { url = "https://files.pythonhosted.org/packages/fb/d7/4a972334a0c971acd5172389671113ae82aa7527073980c38d5868ff1161/contourpy-1.3.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:322ab1c99b008dad206d406bb61d014cf0174df491ae9d9d0fac6a6fda4f977f", size = 1392867, upload-time = "2025-07-26T12:01:15.533Z" }, + { url = "https://files.pythonhosted.org/packages/75/3e/f2cc6cd56dc8cff46b1a56232eabc6feea52720083ea71ab15523daab796/contourpy-1.3.3-cp311-cp311-win32.whl", hash = "sha256:fd907ae12cd483cd83e414b12941c632a969171bf90fc937d0c9f268a31cafff", size = 183677, upload-time = "2025-07-26T12:01:17.088Z" }, + { url = "https://files.pythonhosted.org/packages/98/4b/9bd370b004b5c9d8045c6c33cf65bae018b27aca550a3f657cdc99acdbd8/contourpy-1.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:3519428f6be58431c56581f1694ba8e50626f2dd550af225f82fb5f5814d2a42", size = 225234, upload-time = "2025-07-26T12:01:18.256Z" }, + { url = "https://files.pythonhosted.org/packages/d9/b6/71771e02c2e004450c12b1120a5f488cad2e4d5b590b1af8bad060360fe4/contourpy-1.3.3-cp311-cp311-win_arm64.whl", hash = "sha256:15ff10bfada4bf92ec8b31c62bf7c1834c244019b4a33095a68000d7075df470", size = 193123, upload-time = "2025-07-26T12:01:19.848Z" }, + { url = "https://files.pythonhosted.org/packages/be/45/adfee365d9ea3d853550b2e735f9d66366701c65db7855cd07621732ccfc/contourpy-1.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b08a32ea2f8e42cf1d4be3169a98dd4be32bafe4f22b6c4cb4ba810fa9e5d2cb", size = 293419, upload-time = "2025-07-26T12:01:21.16Z" }, + { url = "https://files.pythonhosted.org/packages/53/3e/405b59cfa13021a56bba395a6b3aca8cec012b45bf177b0eaf7a202cde2c/contourpy-1.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:556dba8fb6f5d8742f2923fe9457dbdd51e1049c4a43fd3986a0b14a1d815fc6", size = 273979, upload-time = "2025-07-26T12:01:22.448Z" }, + { url = "https://files.pythonhosted.org/packages/d4/1c/a12359b9b2ca3a845e8f7f9ac08bdf776114eb931392fcad91743e2ea17b/contourpy-1.3.3-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92d9abc807cf7d0e047b95ca5d957cf4792fcd04e920ca70d48add15c1a90ea7", size = 332653, upload-time = "2025-07-26T12:01:24.155Z" }, + { url = "https://files.pythonhosted.org/packages/63/12/897aeebfb475b7748ea67b61e045accdfcf0d971f8a588b67108ed7f5512/contourpy-1.3.3-cp312-cp312-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b2e8faa0ed68cb29af51edd8e24798bb661eac3bd9f65420c1887b6ca89987c8", size = 379536, upload-time = "2025-07-26T12:01:25.91Z" }, + { url = "https://files.pythonhosted.org/packages/43/8a/a8c584b82deb248930ce069e71576fc09bd7174bbd35183b7943fb1064fd/contourpy-1.3.3-cp312-cp312-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:626d60935cf668e70a5ce6ff184fd713e9683fb458898e4249b63be9e28286ea", size = 384397, upload-time = "2025-07-26T12:01:27.152Z" }, + { url = "https://files.pythonhosted.org/packages/cc/8f/ec6289987824b29529d0dfda0d74a07cec60e54b9c92f3c9da4c0ac732de/contourpy-1.3.3-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4d00e655fcef08aba35ec9610536bfe90267d7ab5ba944f7032549c55a146da1", size = 362601, upload-time = "2025-07-26T12:01:28.808Z" }, + { url = "https://files.pythonhosted.org/packages/05/0a/a3fe3be3ee2dceb3e615ebb4df97ae6f3828aa915d3e10549ce016302bd1/contourpy-1.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:451e71b5a7d597379ef572de31eeb909a87246974d960049a9848c3bc6c41bf7", size = 1331288, upload-time = "2025-07-26T12:01:31.198Z" }, + { url = "https://files.pythonhosted.org/packages/33/1d/acad9bd4e97f13f3e2b18a3977fe1b4a37ecf3d38d815333980c6c72e963/contourpy-1.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:459c1f020cd59fcfe6650180678a9993932d80d44ccde1fa1868977438f0b411", size = 1403386, upload-time = "2025-07-26T12:01:33.947Z" }, + { url = "https://files.pythonhosted.org/packages/cf/8f/5847f44a7fddf859704217a99a23a4f6417b10e5ab1256a179264561540e/contourpy-1.3.3-cp312-cp312-win32.whl", hash = "sha256:023b44101dfe49d7d53932be418477dba359649246075c996866106da069af69", size = 185018, upload-time = "2025-07-26T12:01:35.64Z" }, + { url = "https://files.pythonhosted.org/packages/19/e8/6026ed58a64563186a9ee3f29f41261fd1828f527dd93d33b60feca63352/contourpy-1.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:8153b8bfc11e1e4d75bcb0bff1db232f9e10b274e0929de9d608027e0d34ff8b", size = 226567, upload-time = "2025-07-26T12:01:36.804Z" }, + { url = "https://files.pythonhosted.org/packages/d1/e2/f05240d2c39a1ed228d8328a78b6f44cd695f7ef47beb3e684cf93604f86/contourpy-1.3.3-cp312-cp312-win_arm64.whl", hash = "sha256:07ce5ed73ecdc4a03ffe3e1b3e3c1166db35ae7584be76f65dbbe28a7791b0cc", size = 193655, upload-time = "2025-07-26T12:01:37.999Z" }, + { url = "https://files.pythonhosted.org/packages/68/35/0167aad910bbdb9599272bd96d01a9ec6852f36b9455cf2ca67bd4cc2d23/contourpy-1.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:177fb367556747a686509d6fef71d221a4b198a3905fe824430e5ea0fda54eb5", size = 293257, upload-time = "2025-07-26T12:01:39.367Z" }, + { url = "https://files.pythonhosted.org/packages/96/e4/7adcd9c8362745b2210728f209bfbcf7d91ba868a2c5f40d8b58f54c509b/contourpy-1.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d002b6f00d73d69333dac9d0b8d5e84d9724ff9ef044fd63c5986e62b7c9e1b1", size = 274034, upload-time = "2025-07-26T12:01:40.645Z" }, + { url = "https://files.pythonhosted.org/packages/73/23/90e31ceeed1de63058a02cb04b12f2de4b40e3bef5e082a7c18d9c8ae281/contourpy-1.3.3-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:348ac1f5d4f1d66d3322420f01d42e43122f43616e0f194fc1c9f5d830c5b286", size = 334672, upload-time = "2025-07-26T12:01:41.942Z" }, + { url = "https://files.pythonhosted.org/packages/ed/93/b43d8acbe67392e659e1d984700e79eb67e2acb2bd7f62012b583a7f1b55/contourpy-1.3.3-cp313-cp313-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:655456777ff65c2c548b7c454af9c6f33f16c8884f11083244b5819cc214f1b5", size = 381234, upload-time = "2025-07-26T12:01:43.499Z" }, + { url = "https://files.pythonhosted.org/packages/46/3b/bec82a3ea06f66711520f75a40c8fc0b113b2a75edb36aa633eb11c4f50f/contourpy-1.3.3-cp313-cp313-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:644a6853d15b2512d67881586bd03f462c7ab755db95f16f14d7e238f2852c67", size = 385169, upload-time = "2025-07-26T12:01:45.219Z" }, + { url = "https://files.pythonhosted.org/packages/4b/32/e0f13a1c5b0f8572d0ec6ae2f6c677b7991fafd95da523159c19eff0696a/contourpy-1.3.3-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4debd64f124ca62069f313a9cb86656ff087786016d76927ae2cf37846b006c9", size = 362859, upload-time = "2025-07-26T12:01:46.519Z" }, + { url = "https://files.pythonhosted.org/packages/33/71/e2a7945b7de4e58af42d708a219f3b2f4cff7386e6b6ab0a0fa0033c49a9/contourpy-1.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a15459b0f4615b00bbd1e91f1b9e19b7e63aea7483d03d804186f278c0af2659", size = 1332062, upload-time = "2025-07-26T12:01:48.964Z" }, + { url = "https://files.pythonhosted.org/packages/12/fc/4e87ac754220ccc0e807284f88e943d6d43b43843614f0a8afa469801db0/contourpy-1.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ca0fdcd73925568ca027e0b17ab07aad764be4706d0a925b89227e447d9737b7", size = 1403932, upload-time = "2025-07-26T12:01:51.979Z" }, + { url = "https://files.pythonhosted.org/packages/a6/2e/adc197a37443f934594112222ac1aa7dc9a98faf9c3842884df9a9d8751d/contourpy-1.3.3-cp313-cp313-win32.whl", hash = "sha256:b20c7c9a3bf701366556e1b1984ed2d0cedf999903c51311417cf5f591d8c78d", size = 185024, upload-time = "2025-07-26T12:01:53.245Z" }, + { url = "https://files.pythonhosted.org/packages/18/0b/0098c214843213759692cc638fce7de5c289200a830e5035d1791d7a2338/contourpy-1.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:1cadd8b8969f060ba45ed7c1b714fe69185812ab43bd6b86a9123fe8f99c3263", size = 226578, upload-time = "2025-07-26T12:01:54.422Z" }, + { url = "https://files.pythonhosted.org/packages/8a/9a/2f6024a0c5995243cd63afdeb3651c984f0d2bc727fd98066d40e141ad73/contourpy-1.3.3-cp313-cp313-win_arm64.whl", hash = "sha256:fd914713266421b7536de2bfa8181aa8c699432b6763a0ea64195ebe28bff6a9", size = 193524, upload-time = "2025-07-26T12:01:55.73Z" }, + { url = "https://files.pythonhosted.org/packages/c0/b3/f8a1a86bd3298513f500e5b1f5fd92b69896449f6cab6a146a5d52715479/contourpy-1.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:88df9880d507169449d434c293467418b9f6cbe82edd19284aa0409e7fdb933d", size = 306730, upload-time = "2025-07-26T12:01:57.051Z" }, + { url = "https://files.pythonhosted.org/packages/3f/11/4780db94ae62fc0c2053909b65dc3246bd7cecfc4f8a20d957ad43aa4ad8/contourpy-1.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:d06bb1f751ba5d417047db62bca3c8fde202b8c11fb50742ab3ab962c81e8216", size = 287897, upload-time = "2025-07-26T12:01:58.663Z" }, + { url = "https://files.pythonhosted.org/packages/ae/15/e59f5f3ffdd6f3d4daa3e47114c53daabcb18574a26c21f03dc9e4e42ff0/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e4e6b05a45525357e382909a4c1600444e2a45b4795163d3b22669285591c1ae", size = 326751, upload-time = "2025-07-26T12:02:00.343Z" }, + { url = "https://files.pythonhosted.org/packages/0f/81/03b45cfad088e4770b1dcf72ea78d3802d04200009fb364d18a493857210/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ab3074b48c4e2cf1a960e6bbeb7f04566bf36b1861d5c9d4d8ac04b82e38ba20", size = 375486, upload-time = "2025-07-26T12:02:02.128Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ba/49923366492ffbdd4486e970d421b289a670ae8cf539c1ea9a09822b371a/contourpy-1.3.3-cp313-cp313t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6c3d53c796f8647d6deb1abe867daeb66dcc8a97e8455efa729516b997b8ed99", size = 388106, upload-time = "2025-07-26T12:02:03.615Z" }, + { url = "https://files.pythonhosted.org/packages/9f/52/5b00ea89525f8f143651f9f03a0df371d3cbd2fccd21ca9b768c7a6500c2/contourpy-1.3.3-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50ed930df7289ff2a8d7afeb9603f8289e5704755c7e5c3bbd929c90c817164b", size = 352548, upload-time = "2025-07-26T12:02:05.165Z" }, + { url = "https://files.pythonhosted.org/packages/32/1d/a209ec1a3a3452d490f6b14dd92e72280c99ae3d1e73da74f8277d4ee08f/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4feffb6537d64b84877da813a5c30f1422ea5739566abf0bd18065ac040e120a", size = 1322297, upload-time = "2025-07-26T12:02:07.379Z" }, + { url = "https://files.pythonhosted.org/packages/bc/9e/46f0e8ebdd884ca0e8877e46a3f4e633f6c9c8c4f3f6e72be3fe075994aa/contourpy-1.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:2b7e9480ffe2b0cd2e787e4df64270e3a0440d9db8dc823312e2c940c167df7e", size = 1391023, upload-time = "2025-07-26T12:02:10.171Z" }, + { url = "https://files.pythonhosted.org/packages/b9/70/f308384a3ae9cd2209e0849f33c913f658d3326900d0ff5d378d6a1422d2/contourpy-1.3.3-cp313-cp313t-win32.whl", hash = "sha256:283edd842a01e3dcd435b1c5116798d661378d83d36d337b8dde1d16a5fc9ba3", size = 196157, upload-time = "2025-07-26T12:02:11.488Z" }, + { url = "https://files.pythonhosted.org/packages/b2/dd/880f890a6663b84d9e34a6f88cded89d78f0091e0045a284427cb6b18521/contourpy-1.3.3-cp313-cp313t-win_amd64.whl", hash = "sha256:87acf5963fc2b34825e5b6b048f40e3635dd547f590b04d2ab317c2619ef7ae8", size = 240570, upload-time = "2025-07-26T12:02:12.754Z" }, + { url = "https://files.pythonhosted.org/packages/80/99/2adc7d8ffead633234817ef8e9a87115c8a11927a94478f6bb3d3f4d4f7d/contourpy-1.3.3-cp313-cp313t-win_arm64.whl", hash = "sha256:3c30273eb2a55024ff31ba7d052dde990d7d8e5450f4bbb6e913558b3d6c2301", size = 199713, upload-time = "2025-07-26T12:02:14.4Z" }, + { url = "https://files.pythonhosted.org/packages/72/8b/4546f3ab60f78c514ffb7d01a0bd743f90de36f0019d1be84d0a708a580a/contourpy-1.3.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fde6c716d51c04b1c25d0b90364d0be954624a0ee9d60e23e850e8d48353d07a", size = 292189, upload-time = "2025-07-26T12:02:16.095Z" }, + { url = "https://files.pythonhosted.org/packages/fd/e1/3542a9cb596cadd76fcef413f19c79216e002623158befe6daa03dbfa88c/contourpy-1.3.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:cbedb772ed74ff5be440fa8eee9bd49f64f6e3fc09436d9c7d8f1c287b121d77", size = 273251, upload-time = "2025-07-26T12:02:17.524Z" }, + { url = "https://files.pythonhosted.org/packages/b1/71/f93e1e9471d189f79d0ce2497007731c1e6bf9ef6d1d61b911430c3db4e5/contourpy-1.3.3-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:22e9b1bd7a9b1d652cd77388465dc358dafcd2e217d35552424aa4f996f524f5", size = 335810, upload-time = "2025-07-26T12:02:18.9Z" }, + { url = "https://files.pythonhosted.org/packages/91/f9/e35f4c1c93f9275d4e38681a80506b5510e9327350c51f8d4a5a724d178c/contourpy-1.3.3-cp314-cp314-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a22738912262aa3e254e4f3cb079a95a67132fc5a063890e224393596902f5a4", size = 382871, upload-time = "2025-07-26T12:02:20.418Z" }, + { url = "https://files.pythonhosted.org/packages/b5/71/47b512f936f66a0a900d81c396a7e60d73419868fba959c61efed7a8ab46/contourpy-1.3.3-cp314-cp314-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:afe5a512f31ee6bd7d0dda52ec9864c984ca3d66664444f2d72e0dc4eb832e36", size = 386264, upload-time = "2025-07-26T12:02:21.916Z" }, + { url = "https://files.pythonhosted.org/packages/04/5f/9ff93450ba96b09c7c2b3f81c94de31c89f92292f1380261bd7195bea4ea/contourpy-1.3.3-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f64836de09927cba6f79dcd00fdd7d5329f3fccc633468507079c829ca4db4e3", size = 363819, upload-time = "2025-07-26T12:02:23.759Z" }, + { url = "https://files.pythonhosted.org/packages/3e/a6/0b185d4cc480ee494945cde102cb0149ae830b5fa17bf855b95f2e70ad13/contourpy-1.3.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:1fd43c3be4c8e5fd6e4f2baeae35ae18176cf2e5cced681cca908addf1cdd53b", size = 1333650, upload-time = "2025-07-26T12:02:26.181Z" }, + { url = "https://files.pythonhosted.org/packages/43/d7/afdc95580ca56f30fbcd3060250f66cedbde69b4547028863abd8aa3b47e/contourpy-1.3.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6afc576f7b33cf00996e5c1102dc2a8f7cc89e39c0b55df93a0b78c1bd992b36", size = 1404833, upload-time = "2025-07-26T12:02:28.782Z" }, + { url = "https://files.pythonhosted.org/packages/e2/e2/366af18a6d386f41132a48f033cbd2102e9b0cf6345d35ff0826cd984566/contourpy-1.3.3-cp314-cp314-win32.whl", hash = "sha256:66c8a43a4f7b8df8b71ee1840e4211a3c8d93b214b213f590e18a1beca458f7d", size = 189692, upload-time = "2025-07-26T12:02:30.128Z" }, + { url = "https://files.pythonhosted.org/packages/7d/c2/57f54b03d0f22d4044b8afb9ca0e184f8b1afd57b4f735c2fa70883dc601/contourpy-1.3.3-cp314-cp314-win_amd64.whl", hash = "sha256:cf9022ef053f2694e31d630feaacb21ea24224be1c3ad0520b13d844274614fd", size = 232424, upload-time = "2025-07-26T12:02:31.395Z" }, + { url = "https://files.pythonhosted.org/packages/18/79/a9416650df9b525737ab521aa181ccc42d56016d2123ddcb7b58e926a42c/contourpy-1.3.3-cp314-cp314-win_arm64.whl", hash = "sha256:95b181891b4c71de4bb404c6621e7e2390745f887f2a026b2d99e92c17892339", size = 198300, upload-time = "2025-07-26T12:02:32.956Z" }, + { url = "https://files.pythonhosted.org/packages/1f/42/38c159a7d0f2b7b9c04c64ab317042bb6952b713ba875c1681529a2932fe/contourpy-1.3.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:33c82d0138c0a062380332c861387650c82e4cf1747aaa6938b9b6516762e772", size = 306769, upload-time = "2025-07-26T12:02:34.2Z" }, + { url = "https://files.pythonhosted.org/packages/c3/6c/26a8205f24bca10974e77460de68d3d7c63e282e23782f1239f226fcae6f/contourpy-1.3.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:ea37e7b45949df430fe649e5de8351c423430046a2af20b1c1961cae3afcda77", size = 287892, upload-time = "2025-07-26T12:02:35.807Z" }, + { url = "https://files.pythonhosted.org/packages/66/06/8a475c8ab718ebfd7925661747dbb3c3ee9c82ac834ccb3570be49d129f4/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d304906ecc71672e9c89e87c4675dc5c2645e1f4269a5063b99b0bb29f232d13", size = 326748, upload-time = "2025-07-26T12:02:37.193Z" }, + { url = "https://files.pythonhosted.org/packages/b4/a3/c5ca9f010a44c223f098fccd8b158bb1cb287378a31ac141f04730dc49be/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ca658cd1a680a5c9ea96dc61cdbae1e85c8f25849843aa799dfd3cb370ad4fbe", size = 375554, upload-time = "2025-07-26T12:02:38.894Z" }, + { url = "https://files.pythonhosted.org/packages/80/5b/68bd33ae63fac658a4145088c1e894405e07584a316738710b636c6d0333/contourpy-1.3.3-cp314-cp314t-manylinux_2_26_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ab2fd90904c503739a75b7c8c5c01160130ba67944a7b77bbf36ef8054576e7f", size = 388118, upload-time = "2025-07-26T12:02:40.642Z" }, + { url = "https://files.pythonhosted.org/packages/40/52/4c285a6435940ae25d7410a6c36bda5145839bc3f0beb20c707cda18b9d2/contourpy-1.3.3-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b7301b89040075c30e5768810bc96a8e8d78085b47d8be6e4c3f5a0b4ed478a0", size = 352555, upload-time = "2025-07-26T12:02:42.25Z" }, + { url = "https://files.pythonhosted.org/packages/24/ee/3e81e1dd174f5c7fefe50e85d0892de05ca4e26ef1c9a59c2a57e43b865a/contourpy-1.3.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:2a2a8b627d5cc6b7c41a4beff6c5ad5eb848c88255fda4a8745f7e901b32d8e4", size = 1322295, upload-time = "2025-07-26T12:02:44.668Z" }, + { url = "https://files.pythonhosted.org/packages/3c/b2/6d913d4d04e14379de429057cd169e5e00f6c2af3bb13e1710bcbdb5da12/contourpy-1.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:fd6ec6be509c787f1caf6b247f0b1ca598bef13f4ddeaa126b7658215529ba0f", size = 1391027, upload-time = "2025-07-26T12:02:47.09Z" }, + { url = "https://files.pythonhosted.org/packages/93/8a/68a4ec5c55a2971213d29a9374913f7e9f18581945a7a31d1a39b5d2dfe5/contourpy-1.3.3-cp314-cp314t-win32.whl", hash = "sha256:e74a9a0f5e3fff48fb5a7f2fd2b9b70a3fe014a67522f79b7cca4c0c7e43c9ae", size = 202428, upload-time = "2025-07-26T12:02:48.691Z" }, + { url = "https://files.pythonhosted.org/packages/fa/96/fd9f641ffedc4fa3ace923af73b9d07e869496c9cc7a459103e6e978992f/contourpy-1.3.3-cp314-cp314t-win_amd64.whl", hash = "sha256:13b68d6a62db8eafaebb8039218921399baf6e47bf85006fd8529f2a08ef33fc", size = 250331, upload-time = "2025-07-26T12:02:50.137Z" }, + { url = "https://files.pythonhosted.org/packages/ae/8c/469afb6465b853afff216f9528ffda78a915ff880ed58813ba4faf4ba0b6/contourpy-1.3.3-cp314-cp314t-win_arm64.whl", hash = "sha256:b7448cb5a725bb1e35ce88771b86fba35ef418952474492cf7c764059933ff8b", size = 203831, upload-time = "2025-07-26T12:02:51.449Z" }, + { url = "https://files.pythonhosted.org/packages/a5/29/8dcfe16f0107943fa92388c23f6e05cff0ba58058c4c95b00280d4c75a14/contourpy-1.3.3-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:cd5dfcaeb10f7b7f9dc8941717c6c2ade08f587be2226222c12b25f0483ed497", size = 278809, upload-time = "2025-07-26T12:02:52.74Z" }, + { url = "https://files.pythonhosted.org/packages/85/a9/8b37ef4f7dafeb335daee3c8254645ef5725be4d9c6aa70b50ec46ef2f7e/contourpy-1.3.3-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:0c1fc238306b35f246d61a1d416a627348b5cf0648648a031e14bb8705fcdfe8", size = 261593, upload-time = "2025-07-26T12:02:54.037Z" }, + { url = "https://files.pythonhosted.org/packages/0a/59/ebfb8c677c75605cc27f7122c90313fd2f375ff3c8d19a1694bda74aaa63/contourpy-1.3.3-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:70f9aad7de812d6541d29d2bbf8feb22ff7e1c299523db288004e3157ff4674e", size = 302202, upload-time = "2025-07-26T12:02:55.947Z" }, + { url = "https://files.pythonhosted.org/packages/3c/37/21972a15834d90bfbfb009b9d004779bd5a07a0ec0234e5ba8f64d5736f4/contourpy-1.3.3-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5ed3657edf08512fc3fe81b510e35c2012fbd3081d2e26160f27ca28affec989", size = 329207, upload-time = "2025-07-26T12:02:57.468Z" }, + { url = "https://files.pythonhosted.org/packages/0c/58/bd257695f39d05594ca4ad60df5bcb7e32247f9951fd09a9b8edb82d1daa/contourpy-1.3.3-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:3d1a3799d62d45c18bafd41c5fa05120b96a28079f2393af559b843d1a966a77", size = 225315, upload-time = "2025-07-26T12:02:58.801Z" }, +] + [[package]] name = "coverage" version = "7.10.7" @@ -137,6 +578,41 @@ toml = [ { name = "tomli", marker = "python_full_version <= '3.11'" }, ] +[[package]] +name = "cycler" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a9/95/a3dbbb5028f35eafb79008e7522a75244477d2838f38cbb722248dabc2a8/cycler-0.12.1.tar.gz", hash = "sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c", size = 7615, upload-time = "2023-10-07T05:32:18.335Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321, upload-time = "2023-10-07T05:32:16.783Z" }, +] + +[[package]] +name = "datasets" +version = "4.5.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "dill" }, + { name = "filelock" }, + { name = "fsspec", extra = ["http"] }, + { name = "httpx" }, + { name = "huggingface-hub" }, + { name = "multiprocess" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "packaging" }, + { name = "pandas" }, + { name = "pyarrow" }, + { name = "pyyaml" }, + { name = "requests" }, + { name = "tqdm" }, + { name = "xxhash" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/55/bf/bb927bde63d649296c83e883171ae77074717c1b80fe2868b328bd0dbcbb/datasets-4.5.0.tar.gz", hash = "sha256:00c698ce1c2452e646cc5fad47fef39d3fe78dd650a8a6eb205bb45eb63cd500", size = 588384, upload-time = "2026-01-14T18:27:54.297Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fc/d5/0d563ea3c205eee226dc8053cf7682a8ac588db8acecd0eda2b587987a0b/datasets-4.5.0-py3-none-any.whl", hash = "sha256:b5d7e08096ffa407dd69e58b1c0271c9b2506140839b8d99af07375ad31b6726", size = 515196, upload-time = "2026-01-14T18:27:52.419Z" }, +] + [[package]] name = "decorator" version = "5.2.1" @@ -146,6 +622,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190, upload-time = "2025-02-24T04:41:32.565Z" }, ] +[[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" }, +] + [[package]] name = "distlib" version = "0.4.0" @@ -185,6 +670,285 @@ 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 = "fonttools" +version = "4.60.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4b/42/97a13e47a1e51a5a7142475bbcf5107fe3a68fc34aef331c897d5fb98ad0/fonttools-4.60.1.tar.gz", hash = "sha256:ef00af0439ebfee806b25f24c8f92109157ff3fac5731dc7867957812e87b8d9", size = 3559823, upload-time = "2025-09-29T21:13:27.129Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/26/70/03e9d89a053caff6ae46053890eba8e4a5665a7c5638279ed4492e6d4b8b/fonttools-4.60.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:9a52f254ce051e196b8fe2af4634c2d2f02c981756c6464dc192f1b6050b4e28", size = 2810747, upload-time = "2025-09-29T21:10:59.653Z" }, + { url = "https://files.pythonhosted.org/packages/6f/41/449ad5aff9670ab0df0f61ee593906b67a36d7e0b4d0cd7fa41ac0325bf5/fonttools-4.60.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c7420a2696a44650120cdd269a5d2e56a477e2bfa9d95e86229059beb1c19e15", size = 2346909, upload-time = "2025-09-29T21:11:02.882Z" }, + { url = "https://files.pythonhosted.org/packages/9a/18/e5970aa96c8fad1cb19a9479cc3b7602c0c98d250fcdc06a5da994309c50/fonttools-4.60.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee0c0b3b35b34f782afc673d503167157094a16f442ace7c6c5e0ca80b08f50c", size = 4864572, upload-time = "2025-09-29T21:11:05.096Z" }, + { url = "https://files.pythonhosted.org/packages/ce/20/9b2b4051b6ec6689480787d506b5003f72648f50972a92d04527a456192c/fonttools-4.60.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:282dafa55f9659e8999110bd8ed422ebe1c8aecd0dc396550b038e6c9a08b8ea", size = 4794635, upload-time = "2025-09-29T21:11:08.651Z" }, + { url = "https://files.pythonhosted.org/packages/10/52/c791f57347c1be98f8345e3dca4ac483eb97666dd7c47f3059aeffab8b59/fonttools-4.60.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4ba4bd646e86de16160f0fb72e31c3b9b7d0721c3e5b26b9fa2fc931dfdb2652", size = 4843878, upload-time = "2025-09-29T21:11:10.893Z" }, + { url = "https://files.pythonhosted.org/packages/69/e9/35c24a8d01644cee8c090a22fad34d5b61d1e0a8ecbc9945ad785ebf2e9e/fonttools-4.60.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0b0835ed15dd5b40d726bb61c846a688f5b4ce2208ec68779bc81860adb5851a", size = 4954555, upload-time = "2025-09-29T21:11:13.24Z" }, + { url = "https://files.pythonhosted.org/packages/f7/86/fb1e994971be4bdfe3a307de6373ef69a9df83fb66e3faa9c8114893d4cc/fonttools-4.60.1-cp310-cp310-win32.whl", hash = "sha256:1525796c3ffe27bb6268ed2a1bb0dcf214d561dfaf04728abf01489eb5339dce", size = 2232019, upload-time = "2025-09-29T21:11:15.73Z" }, + { url = "https://files.pythonhosted.org/packages/40/84/62a19e2bd56f0e9fb347486a5b26376bade4bf6bbba64dda2c103bd08c94/fonttools-4.60.1-cp310-cp310-win_amd64.whl", hash = "sha256:268ecda8ca6cb5c4f044b1fb9b3b376e8cd1b361cef275082429dc4174907038", size = 2276803, upload-time = "2025-09-29T21:11:18.152Z" }, + { url = "https://files.pythonhosted.org/packages/ea/85/639aa9bface1537e0fb0f643690672dde0695a5bbbc90736bc571b0b1941/fonttools-4.60.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7b4c32e232a71f63a5d00259ca3d88345ce2a43295bb049d21061f338124246f", size = 2831872, upload-time = "2025-09-29T21:11:20.329Z" }, + { url = "https://files.pythonhosted.org/packages/6b/47/3c63158459c95093be9618794acb1067b3f4d30dcc5c3e8114b70e67a092/fonttools-4.60.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:3630e86c484263eaac71d117085d509cbcf7b18f677906824e4bace598fb70d2", size = 2356990, upload-time = "2025-09-29T21:11:22.754Z" }, + { url = "https://files.pythonhosted.org/packages/94/dd/1934b537c86fcf99f9761823f1fc37a98fbd54568e8e613f29a90fed95a9/fonttools-4.60.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5c1015318e4fec75dd4943ad5f6a206d9727adf97410d58b7e32ab644a807914", size = 5042189, upload-time = "2025-09-29T21:11:25.061Z" }, + { url = "https://files.pythonhosted.org/packages/d2/d2/9f4e4c4374dd1daa8367784e1bd910f18ba886db1d6b825b12edf6db3edc/fonttools-4.60.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e6c58beb17380f7c2ea181ea11e7db8c0ceb474c9dd45f48e71e2cb577d146a1", size = 4978683, upload-time = "2025-09-29T21:11:27.693Z" }, + { url = "https://files.pythonhosted.org/packages/cc/c4/0fb2dfd1ecbe9a07954cc13414713ed1eab17b1c0214ef07fc93df234a47/fonttools-4.60.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ec3681a0cb34c255d76dd9d865a55f260164adb9fa02628415cdc2d43ee2c05d", size = 5021372, upload-time = "2025-09-29T21:11:30.257Z" }, + { url = "https://files.pythonhosted.org/packages/0c/d5/495fc7ae2fab20223cc87179a8f50f40f9a6f821f271ba8301ae12bb580f/fonttools-4.60.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f4b5c37a5f40e4d733d3bbaaef082149bee5a5ea3156a785ff64d949bd1353fa", size = 5132562, upload-time = "2025-09-29T21:11:32.737Z" }, + { url = "https://files.pythonhosted.org/packages/bc/fa/021dab618526323c744e0206b3f5c8596a2e7ae9aa38db5948a131123e83/fonttools-4.60.1-cp311-cp311-win32.whl", hash = "sha256:398447f3d8c0c786cbf1209711e79080a40761eb44b27cdafffb48f52bcec258", size = 2230288, upload-time = "2025-09-29T21:11:35.015Z" }, + { url = "https://files.pythonhosted.org/packages/bb/78/0e1a6d22b427579ea5c8273e1c07def2f325b977faaf60bb7ddc01456cb1/fonttools-4.60.1-cp311-cp311-win_amd64.whl", hash = "sha256:d066ea419f719ed87bc2c99a4a4bfd77c2e5949cb724588b9dd58f3fd90b92bf", size = 2278184, upload-time = "2025-09-29T21:11:37.434Z" }, + { url = "https://files.pythonhosted.org/packages/e3/f7/a10b101b7a6f8836a5adb47f2791f2075d044a6ca123f35985c42edc82d8/fonttools-4.60.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:7b0c6d57ab00dae9529f3faf187f2254ea0aa1e04215cf2f1a8ec277c96661bc", size = 2832953, upload-time = "2025-09-29T21:11:39.616Z" }, + { url = "https://files.pythonhosted.org/packages/ed/fe/7bd094b59c926acf2304d2151354ddbeb74b94812f3dc943c231db09cb41/fonttools-4.60.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:839565cbf14645952d933853e8ade66a463684ed6ed6c9345d0faf1f0e868877", size = 2352706, upload-time = "2025-09-29T21:11:41.826Z" }, + { url = "https://files.pythonhosted.org/packages/c0/ca/4bb48a26ed95a1e7eba175535fe5805887682140ee0a0d10a88e1de84208/fonttools-4.60.1-cp312-cp312-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:8177ec9676ea6e1793c8a084a90b65a9f778771998eb919d05db6d4b1c0b114c", size = 4923716, upload-time = "2025-09-29T21:11:43.893Z" }, + { url = "https://files.pythonhosted.org/packages/b8/9f/2cb82999f686c1d1ddf06f6ae1a9117a880adbec113611cc9d22b2fdd465/fonttools-4.60.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:996a4d1834524adbb423385d5a629b868ef9d774670856c63c9a0408a3063401", size = 4968175, upload-time = "2025-09-29T21:11:46.439Z" }, + { url = "https://files.pythonhosted.org/packages/18/79/be569699e37d166b78e6218f2cde8c550204f2505038cdd83b42edc469b9/fonttools-4.60.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a46b2f450bc79e06ef3b6394f0c68660529ed51692606ad7f953fc2e448bc903", size = 4911031, upload-time = "2025-09-29T21:11:48.977Z" }, + { url = "https://files.pythonhosted.org/packages/cc/9f/89411cc116effaec5260ad519162f64f9c150e5522a27cbb05eb62d0c05b/fonttools-4.60.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6ec722ee589e89a89f5b7574f5c45604030aa6ae24cb2c751e2707193b466fed", size = 5062966, upload-time = "2025-09-29T21:11:54.344Z" }, + { url = "https://files.pythonhosted.org/packages/62/a1/f888221934b5731d46cb9991c7a71f30cb1f97c0ef5fcf37f8da8fce6c8e/fonttools-4.60.1-cp312-cp312-win32.whl", hash = "sha256:b2cf105cee600d2de04ca3cfa1f74f1127f8455b71dbad02b9da6ec266e116d6", size = 2218750, upload-time = "2025-09-29T21:11:56.601Z" }, + { url = "https://files.pythonhosted.org/packages/88/8f/a55b5550cd33cd1028601df41acd057d4be20efa5c958f417b0c0613924d/fonttools-4.60.1-cp312-cp312-win_amd64.whl", hash = "sha256:992775c9fbe2cf794786fa0ffca7f09f564ba3499b8fe9f2f80bd7197db60383", size = 2267026, upload-time = "2025-09-29T21:11:58.852Z" }, + { url = "https://files.pythonhosted.org/packages/7c/5b/cdd2c612277b7ac7ec8c0c9bc41812c43dc7b2d5f2b0897e15fdf5a1f915/fonttools-4.60.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6f68576bb4bbf6060c7ab047b1574a1ebe5c50a17de62830079967b211059ebb", size = 2825777, upload-time = "2025-09-29T21:12:01.22Z" }, + { url = "https://files.pythonhosted.org/packages/d6/8a/de9cc0540f542963ba5e8f3a1f6ad48fa211badc3177783b9d5cadf79b5d/fonttools-4.60.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:eedacb5c5d22b7097482fa834bda0dafa3d914a4e829ec83cdea2a01f8c813c4", size = 2348080, upload-time = "2025-09-29T21:12:03.785Z" }, + { url = "https://files.pythonhosted.org/packages/2d/8b/371ab3cec97ee3fe1126b3406b7abd60c8fec8975fd79a3c75cdea0c3d83/fonttools-4.60.1-cp313-cp313-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b33a7884fabd72bdf5f910d0cf46be50dce86a0362a65cfc746a4168c67eb96c", size = 4903082, upload-time = "2025-09-29T21:12:06.382Z" }, + { url = "https://files.pythonhosted.org/packages/04/05/06b1455e4bc653fcb2117ac3ef5fa3a8a14919b93c60742d04440605d058/fonttools-4.60.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2409d5fb7b55fd70f715e6d34e7a6e4f7511b8ad29a49d6df225ee76da76dd77", size = 4960125, upload-time = "2025-09-29T21:12:09.314Z" }, + { url = "https://files.pythonhosted.org/packages/8e/37/f3b840fcb2666f6cb97038793606bdd83488dca2d0b0fc542ccc20afa668/fonttools-4.60.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c8651e0d4b3bdeda6602b85fdc2abbefc1b41e573ecb37b6779c4ca50753a199", size = 4901454, upload-time = "2025-09-29T21:12:11.931Z" }, + { url = "https://files.pythonhosted.org/packages/fd/9e/eb76f77e82f8d4a46420aadff12cec6237751b0fb9ef1de373186dcffb5f/fonttools-4.60.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:145daa14bf24824b677b9357c5e44fd8895c2a8f53596e1b9ea3496081dc692c", size = 5044495, upload-time = "2025-09-29T21:12:15.241Z" }, + { url = "https://files.pythonhosted.org/packages/f8/b3/cede8f8235d42ff7ae891bae8d619d02c8ac9fd0cfc450c5927a6200c70d/fonttools-4.60.1-cp313-cp313-win32.whl", hash = "sha256:2299df884c11162617a66b7c316957d74a18e3758c0274762d2cc87df7bc0272", size = 2217028, upload-time = "2025-09-29T21:12:17.96Z" }, + { url = "https://files.pythonhosted.org/packages/75/4d/b022c1577807ce8b31ffe055306ec13a866f2337ecee96e75b24b9b753ea/fonttools-4.60.1-cp313-cp313-win_amd64.whl", hash = "sha256:a3db56f153bd4c5c2b619ab02c5db5192e222150ce5a1bc10f16164714bc39ac", size = 2266200, upload-time = "2025-09-29T21:12:20.14Z" }, + { url = "https://files.pythonhosted.org/packages/9a/83/752ca11c1aa9a899b793a130f2e466b79ea0cf7279c8d79c178fc954a07b/fonttools-4.60.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:a884aef09d45ba1206712c7dbda5829562d3fea7726935d3289d343232ecb0d3", size = 2822830, upload-time = "2025-09-29T21:12:24.406Z" }, + { url = "https://files.pythonhosted.org/packages/57/17/bbeab391100331950a96ce55cfbbff27d781c1b85ebafb4167eae50d9fe3/fonttools-4.60.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8a44788d9d91df72d1a5eac49b31aeb887a5f4aab761b4cffc4196c74907ea85", size = 2345524, upload-time = "2025-09-29T21:12:26.819Z" }, + { url = "https://files.pythonhosted.org/packages/3d/2e/d4831caa96d85a84dd0da1d9f90d81cec081f551e0ea216df684092c6c97/fonttools-4.60.1-cp314-cp314-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:e852d9dda9f93ad3651ae1e3bb770eac544ec93c3807888798eccddf84596537", size = 4843490, upload-time = "2025-09-29T21:12:29.123Z" }, + { url = "https://files.pythonhosted.org/packages/49/13/5e2ea7c7a101b6fc3941be65307ef8df92cbbfa6ec4804032baf1893b434/fonttools-4.60.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:154cb6ee417e417bf5f7c42fe25858c9140c26f647c7347c06f0cc2d47eff003", size = 4944184, upload-time = "2025-09-29T21:12:31.414Z" }, + { url = "https://files.pythonhosted.org/packages/0c/2b/cf9603551c525b73fc47c52ee0b82a891579a93d9651ed694e4e2cd08bb8/fonttools-4.60.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:5664fd1a9ea7f244487ac8f10340c4e37664675e8667d6fee420766e0fb3cf08", size = 4890218, upload-time = "2025-09-29T21:12:33.936Z" }, + { url = "https://files.pythonhosted.org/packages/fd/2f/933d2352422e25f2376aae74f79eaa882a50fb3bfef3c0d4f50501267101/fonttools-4.60.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:583b7f8e3c49486e4d489ad1deacfb8d5be54a8ef34d6df824f6a171f8511d99", size = 4999324, upload-time = "2025-09-29T21:12:36.637Z" }, + { url = "https://files.pythonhosted.org/packages/38/99/234594c0391221f66216bc2c886923513b3399a148defaccf81dc3be6560/fonttools-4.60.1-cp314-cp314-win32.whl", hash = "sha256:66929e2ea2810c6533a5184f938502cfdaea4bc3efb7130d8cc02e1c1b4108d6", size = 2220861, upload-time = "2025-09-29T21:12:39.108Z" }, + { url = "https://files.pythonhosted.org/packages/3e/1d/edb5b23726dde50fc4068e1493e4fc7658eeefcaf75d4c5ffce067d07ae5/fonttools-4.60.1-cp314-cp314-win_amd64.whl", hash = "sha256:f3d5be054c461d6a2268831f04091dc82753176f6ea06dc6047a5e168265a987", size = 2270934, upload-time = "2025-09-29T21:12:41.339Z" }, + { url = "https://files.pythonhosted.org/packages/fb/da/1392aaa2170adc7071fe7f9cfd181a5684a7afcde605aebddf1fb4d76df5/fonttools-4.60.1-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:b6379e7546ba4ae4b18f8ae2b9bc5960936007a1c0e30b342f662577e8bc3299", size = 2894340, upload-time = "2025-09-29T21:12:43.774Z" }, + { url = "https://files.pythonhosted.org/packages/bf/a7/3b9f16e010d536ce567058b931a20b590d8f3177b2eda09edd92e392375d/fonttools-4.60.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:9d0ced62b59e0430b3690dbc5373df1c2aa7585e9a8ce38eff87f0fd993c5b01", size = 2375073, upload-time = "2025-09-29T21:12:46.437Z" }, + { url = "https://files.pythonhosted.org/packages/9b/b5/e9bcf51980f98e59bb5bb7c382a63c6f6cac0eec5f67de6d8f2322382065/fonttools-4.60.1-cp314-cp314t-manylinux1_x86_64.manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:875cb7764708b3132637f6c5fb385b16eeba0f7ac9fa45a69d35e09b47045801", size = 4849758, upload-time = "2025-09-29T21:12:48.694Z" }, + { url = "https://files.pythonhosted.org/packages/e3/dc/1d2cf7d1cba82264b2f8385db3f5960e3d8ce756b4dc65b700d2c496f7e9/fonttools-4.60.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a184b2ea57b13680ab6d5fbde99ccef152c95c06746cb7718c583abd8f945ccc", size = 5085598, upload-time = "2025-09-29T21:12:51.081Z" }, + { url = "https://files.pythonhosted.org/packages/5d/4d/279e28ba87fb20e0c69baf72b60bbf1c4d873af1476806a7b5f2b7fac1ff/fonttools-4.60.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:026290e4ec76583881763fac284aca67365e0be9f13a7fb137257096114cb3bc", size = 4957603, upload-time = "2025-09-29T21:12:53.423Z" }, + { url = "https://files.pythonhosted.org/packages/78/d4/ff19976305e0c05aa3340c805475abb00224c954d3c65e82c0a69633d55d/fonttools-4.60.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f0e8817c7d1a0c2eedebf57ef9a9896f3ea23324769a9a2061a80fe8852705ed", size = 4974184, upload-time = "2025-09-29T21:12:55.962Z" }, + { url = "https://files.pythonhosted.org/packages/63/22/8553ff6166f5cd21cfaa115aaacaa0dc73b91c079a8cfd54a482cbc0f4f5/fonttools-4.60.1-cp314-cp314t-win32.whl", hash = "sha256:1410155d0e764a4615774e5c2c6fc516259fe3eca5882f034eb9bfdbee056259", size = 2282241, upload-time = "2025-09-29T21:12:58.179Z" }, + { url = "https://files.pythonhosted.org/packages/8a/cb/fa7b4d148e11d5a72761a22e595344133e83a9507a4c231df972e657579b/fonttools-4.60.1-cp314-cp314t-win_amd64.whl", hash = "sha256:022beaea4b73a70295b688f817ddc24ed3e3418b5036ffcd5658141184ef0d0c", size = 2345760, upload-time = "2025-09-29T21:13:00.375Z" }, + { url = "https://files.pythonhosted.org/packages/c7/93/0dd45cd283c32dea1545151d8c3637b4b8c53cdb3a625aeb2885b184d74d/fonttools-4.60.1-py3-none-any.whl", hash = "sha256:906306ac7afe2156fcf0042173d6ebbb05416af70f6b370967b47f8f00103bbb", size = 1143175, upload-time = "2025-09-29T21:13:24.134Z" }, +] + +[[package]] +name = "frozenlist" +version = "1.8.0" +source = { registry = "https://pypi.org/simple" } +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/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]] +name = "fsspec" +version = "2025.10.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/24/7f/2747c0d332b9acfa75dc84447a066fdf812b5a6b8d30472b74d309bfe8cb/fsspec-2025.10.0.tar.gz", hash = "sha256:b6789427626f068f9a83ca4e8a3cc050850b6c0f71f99ddb4f542b8266a26a59", size = 309285, upload-time = "2025-10-30T14:58:44.036Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/eb/02/a6b21098b1d5d6249b7c5ab69dde30108a71e4e819d4a9778f1de1d5b70d/fsspec-2025.10.0-py3-none-any.whl", hash = "sha256:7c7712353ae7d875407f97715f0e1ffcc21e33d5b24556cb1e090ae9409ec61d", size = 200966, upload-time = "2025-10-30T14:58:42.53Z" }, +] + +[package.optional-dependencies] +http = [ + { name = "aiohttp" }, +] + +[[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 = "hf-xet" +version = "1.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5e/6e/0f11bacf08a67f7fb5ee09740f2ca54163863b07b70d579356e9222ce5d8/hf_xet-1.2.0.tar.gz", hash = "sha256:a8c27070ca547293b6890c4bf389f713f80e8c478631432962bb7f4bc0bd7d7f", size = 506020, upload-time = "2025-10-24T19:04:32.129Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/a5/85ef910a0aa034a2abcfadc360ab5ac6f6bc4e9112349bd40ca97551cff0/hf_xet-1.2.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:ceeefcd1b7aed4956ae8499e2199607765fbd1c60510752003b6cc0b8413b649", size = 2861870, upload-time = "2025-10-24T19:04:11.422Z" }, + { url = "https://files.pythonhosted.org/packages/ea/40/e2e0a7eb9a51fe8828ba2d47fe22a7e74914ea8a0db68a18c3aa7449c767/hf_xet-1.2.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:b70218dd548e9840224df5638fdc94bd033552963cfa97f9170829381179c813", size = 2717584, upload-time = "2025-10-24T19:04:09.586Z" }, + { url = "https://files.pythonhosted.org/packages/a5/7d/daf7f8bc4594fdd59a8a596f9e3886133fdc68e675292218a5e4c1b7e834/hf_xet-1.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d40b18769bb9a8bc82a9ede575ce1a44c75eb80e7375a01d76259089529b5dc", size = 3315004, upload-time = "2025-10-24T19:04:00.314Z" }, + { url = "https://files.pythonhosted.org/packages/b1/ba/45ea2f605fbf6d81c8b21e4d970b168b18a53515923010c312c06cd83164/hf_xet-1.2.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:cd3a6027d59cfb60177c12d6424e31f4b5ff13d8e3a1247b3a584bf8977e6df5", size = 3222636, upload-time = "2025-10-24T19:03:58.111Z" }, + { url = "https://files.pythonhosted.org/packages/4a/1d/04513e3cab8f29ab8c109d309ddd21a2705afab9d52f2ba1151e0c14f086/hf_xet-1.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6de1fc44f58f6dd937956c8d304d8c2dea264c80680bcfa61ca4a15e7b76780f", size = 3408448, upload-time = "2025-10-24T19:04:20.951Z" }, + { url = "https://files.pythonhosted.org/packages/f0/7c/60a2756d7feec7387db3a1176c632357632fbe7849fce576c5559d4520c7/hf_xet-1.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f182f264ed2acd566c514e45da9f2119110e48a87a327ca271027904c70c5832", size = 3503401, upload-time = "2025-10-24T19:04:22.549Z" }, + { url = "https://files.pythonhosted.org/packages/4e/64/48fffbd67fb418ab07451e4ce641a70de1c40c10a13e25325e24858ebe5a/hf_xet-1.2.0-cp313-cp313t-win_amd64.whl", hash = "sha256:293a7a3787e5c95d7be1857358a9130694a9c6021de3f27fa233f37267174382", size = 2900866, upload-time = "2025-10-24T19:04:33.461Z" }, + { url = "https://files.pythonhosted.org/packages/e2/51/f7e2caae42f80af886db414d4e9885fac959330509089f97cccb339c6b87/hf_xet-1.2.0-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:10bfab528b968c70e062607f663e21e34e2bba349e8038db546646875495179e", size = 2861861, upload-time = "2025-10-24T19:04:19.01Z" }, + { url = "https://files.pythonhosted.org/packages/6e/1d/a641a88b69994f9371bd347f1dd35e5d1e2e2460a2e350c8d5165fc62005/hf_xet-1.2.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2a212e842647b02eb6a911187dc878e79c4aa0aa397e88dd3b26761676e8c1f8", size = 2717699, upload-time = "2025-10-24T19:04:17.306Z" }, + { url = "https://files.pythonhosted.org/packages/df/e0/e5e9bba7d15f0318955f7ec3f4af13f92e773fbb368c0b8008a5acbcb12f/hf_xet-1.2.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:30e06daccb3a7d4c065f34fc26c14c74f4653069bb2b194e7f18f17cbe9939c0", size = 3314885, upload-time = "2025-10-24T19:04:07.642Z" }, + { url = "https://files.pythonhosted.org/packages/21/90/b7fe5ff6f2b7b8cbdf1bd56145f863c90a5807d9758a549bf3d916aa4dec/hf_xet-1.2.0-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:29c8fc913a529ec0a91867ce3d119ac1aac966e098cf49501800c870328cc090", size = 3221550, upload-time = "2025-10-24T19:04:05.55Z" }, + { url = "https://files.pythonhosted.org/packages/6f/cb/73f276f0a7ce46cc6a6ec7d6c7d61cbfe5f2e107123d9bbd0193c355f106/hf_xet-1.2.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e159cbfcfbb29f920db2c09ed8b660eb894640d284f102ada929b6e3dc410a", size = 3408010, upload-time = "2025-10-24T19:04:28.598Z" }, + { url = "https://files.pythonhosted.org/packages/b8/1e/d642a12caa78171f4be64f7cd9c40e3ca5279d055d0873188a58c0f5fbb9/hf_xet-1.2.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:9c91d5ae931510107f148874e9e2de8a16052b6f1b3ca3c1b12f15ccb491390f", size = 3503264, upload-time = "2025-10-24T19:04:30.397Z" }, + { url = "https://files.pythonhosted.org/packages/17/b5/33764714923fa1ff922770f7ed18c2daae034d21ae6e10dbf4347c854154/hf_xet-1.2.0-cp314-cp314t-win_amd64.whl", hash = "sha256:210d577732b519ac6ede149d2f2f34049d44e8622bf14eb3d63bbcd2d4b332dc", size = 2901071, upload-time = "2025-10-24T19:04:37.463Z" }, + { url = "https://files.pythonhosted.org/packages/96/2d/22338486473df5923a9ab7107d375dbef9173c338ebef5098ef593d2b560/hf_xet-1.2.0-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:46740d4ac024a7ca9b22bebf77460ff43332868b661186a8e46c227fdae01848", size = 2866099, upload-time = "2025-10-24T19:04:15.366Z" }, + { url = "https://files.pythonhosted.org/packages/7f/8c/c5becfa53234299bc2210ba314eaaae36c2875e0045809b82e40a9544f0c/hf_xet-1.2.0-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:27df617a076420d8845bea087f59303da8be17ed7ec0cd7ee3b9b9f579dff0e4", size = 2722178, upload-time = "2025-10-24T19:04:13.695Z" }, + { url = "https://files.pythonhosted.org/packages/9a/92/cf3ab0b652b082e66876d08da57fcc6fa2f0e6c70dfbbafbd470bb73eb47/hf_xet-1.2.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3651fd5bfe0281951b988c0facbe726aa5e347b103a675f49a3fa8144c7968fd", size = 3320214, upload-time = "2025-10-24T19:04:03.596Z" }, + { url = "https://files.pythonhosted.org/packages/46/92/3f7ec4a1b6a65bf45b059b6d4a5d38988f63e193056de2f420137e3c3244/hf_xet-1.2.0-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:d06fa97c8562fb3ee7a378dd9b51e343bc5bc8190254202c9771029152f5e08c", size = 3229054, upload-time = "2025-10-24T19:04:01.949Z" }, + { url = "https://files.pythonhosted.org/packages/0b/dd/7ac658d54b9fb7999a0ccb07ad863b413cbaf5cf172f48ebcd9497ec7263/hf_xet-1.2.0-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:4c1428c9ae73ec0939410ec73023c4f842927f39db09b063b9482dac5a3bb737", size = 3413812, upload-time = "2025-10-24T19:04:24.585Z" }, + { url = "https://files.pythonhosted.org/packages/92/68/89ac4e5b12a9ff6286a12174c8538a5930e2ed662091dd2572bbe0a18c8a/hf_xet-1.2.0-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a55558084c16b09b5ed32ab9ed38421e2d87cf3f1f89815764d1177081b99865", size = 3508920, upload-time = "2025-10-24T19:04:26.927Z" }, + { url = "https://files.pythonhosted.org/packages/cb/44/870d44b30e1dcfb6a65932e3e1506c103a8a5aea9103c337e7a53180322c/hf_xet-1.2.0-cp37-abi3-win_amd64.whl", hash = "sha256:e6584a52253f72c9f52f9e549d5895ca7a471608495c4ecaa6cc73dba2b24d69", size = 2905735, upload-time = "2025-10-24T19:04:35.928Z" }, +] + +[[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 = "huggingface-hub" +version = "1.3.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "filelock" }, + { name = "fsspec" }, + { name = "hf-xet", marker = "platform_machine == 'AMD64' or platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'arm64' or platform_machine == 'x86_64'" }, + { name = "httpx" }, + { name = "packaging" }, + { name = "pyyaml" }, + { name = "shellingham" }, + { name = "tqdm" }, + { name = "typer-slim" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ba/d6/02d1c505e1d3364230e5fa16d2b58c8f36a39c5efe8e99bc4d03d06fd0ca/huggingface_hub-1.3.2.tar.gz", hash = "sha256:15d7902e154f04174a0816d1e9594adcf15cdad57596920a5dc70fadb5d896c7", size = 624018, upload-time = "2026-01-14T13:57:39.635Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/88/1d/acd3ef8aabb7813c6ef2f91785d855583ac5cd7c3599e5c1a1a2ed1ec2e5/huggingface_hub-1.3.2-py3-none-any.whl", hash = "sha256:b552b9562a5532102a041fa31a6966bb9de95138fc7aa578bb3703198c25d1b6", size = 534504, upload-time = "2026-01-14T13:57:37.555Z" }, +] + [[package]] name = "identify" version = "2.6.15" @@ -194,6 +958,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/0f/1c/e5fd8f973d4f375adb21565739498e2e9a1e54c858a97b9a8ccfdc81da9b/identify-2.6.15-py2.py3-none-any.whl", hash = "sha256:1181ef7608e00704db228516541eb83a88a9f94433a8c80bb9b5bd54b1d81757", size = 99183, upload-time = "2025-10-02T17:43:39.137Z" }, ] +[[package]] +name = "idna" +version = "3.11" +source = { registry = "https://pypi.org/simple" } +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/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 = "iniconfig" version = "2.1.0" @@ -233,7 +1006,8 @@ name = "ipython" version = "9.6.0" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.11'", + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", ] dependencies = [ { name = "colorama", marker = "python_full_version >= '3.11' and sys_platform == 'win32'" }, @@ -277,6 +1051,198 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9", size = 1572278, upload-time = "2024-11-11T01:41:40.175Z" }, ] +[[package]] +name = "joblib" +version = "1.5.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e8/5d/447af5ea094b9e4c4054f82e223ada074c552335b9b4b2d14bd9b35a67c4/joblib-1.5.2.tar.gz", hash = "sha256:3faa5c39054b2f03ca547da9b2f52fde67c06240c31853f306aea97f13647b55", size = 331077, upload-time = "2025-08-27T12:15:46.575Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/e8/685f47e0d754320684db4425a0967f7d3fa70126bffd76110b7009a0090f/joblib-1.5.2-py3-none-any.whl", hash = "sha256:4e1f0bdbb987e6d843c70cf43714cb276623def372df3c22fe5266b2670bc241", size = 308396, upload-time = "2025-08-27T12:15:45.188Z" }, +] + +[[package]] +name = "kiwisolver" +version = "1.4.9" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5c/3c/85844f1b0feb11ee581ac23fe5fce65cd049a200c1446708cc1b7f922875/kiwisolver-1.4.9.tar.gz", hash = "sha256:c3b22c26c6fd6811b0ae8363b95ca8ce4ea3c202d3d0975b2914310ceb1bcc4d", size = 97564, upload-time = "2025-08-10T21:27:49.279Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c6/5d/8ce64e36d4e3aac5ca96996457dcf33e34e6051492399a3f1fec5657f30b/kiwisolver-1.4.9-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b4b4d74bda2b8ebf4da5bd42af11d02d04428b2c32846e4c2c93219df8a7987b", size = 124159, upload-time = "2025-08-10T21:25:35.472Z" }, + { url = "https://files.pythonhosted.org/packages/96/1e/22f63ec454874378175a5f435d6ea1363dd33fb2af832c6643e4ccea0dc8/kiwisolver-1.4.9-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:fb3b8132019ea572f4611d770991000d7f58127560c4889729248eb5852a102f", size = 66578, upload-time = "2025-08-10T21:25:36.73Z" }, + { url = "https://files.pythonhosted.org/packages/41/4c/1925dcfff47a02d465121967b95151c82d11027d5ec5242771e580e731bd/kiwisolver-1.4.9-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:84fd60810829c27ae375114cd379da1fa65e6918e1da405f356a775d49a62bcf", size = 65312, upload-time = "2025-08-10T21:25:37.658Z" }, + { url = "https://files.pythonhosted.org/packages/d4/42/0f333164e6307a0687d1eb9ad256215aae2f4bd5d28f4653d6cd319a3ba3/kiwisolver-1.4.9-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:b78efa4c6e804ecdf727e580dbb9cba85624d2e1c6b5cb059c66290063bd99a9", size = 1628458, upload-time = "2025-08-10T21:25:39.067Z" }, + { url = "https://files.pythonhosted.org/packages/86/b6/2dccb977d651943995a90bfe3495c2ab2ba5cd77093d9f2318a20c9a6f59/kiwisolver-1.4.9-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d4efec7bcf21671db6a3294ff301d2fc861c31faa3c8740d1a94689234d1b415", size = 1225640, upload-time = "2025-08-10T21:25:40.489Z" }, + { url = "https://files.pythonhosted.org/packages/50/2b/362ebd3eec46c850ccf2bfe3e30f2fc4c008750011f38a850f088c56a1c6/kiwisolver-1.4.9-cp310-cp310-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:90f47e70293fc3688b71271100a1a5453aa9944a81d27ff779c108372cf5567b", size = 1244074, upload-time = "2025-08-10T21:25:42.221Z" }, + { url = "https://files.pythonhosted.org/packages/6f/bb/f09a1e66dab8984773d13184a10a29fe67125337649d26bdef547024ed6b/kiwisolver-1.4.9-cp310-cp310-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8fdca1def57a2e88ef339de1737a1449d6dbf5fab184c54a1fca01d541317154", size = 1293036, upload-time = "2025-08-10T21:25:43.801Z" }, + { url = "https://files.pythonhosted.org/packages/ea/01/11ecf892f201cafda0f68fa59212edaea93e96c37884b747c181303fccd1/kiwisolver-1.4.9-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:9cf554f21be770f5111a1690d42313e140355e687e05cf82cb23d0a721a64a48", size = 2175310, upload-time = "2025-08-10T21:25:45.045Z" }, + { url = "https://files.pythonhosted.org/packages/7f/5f/bfe11d5b934f500cc004314819ea92427e6e5462706a498c1d4fc052e08f/kiwisolver-1.4.9-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fc1795ac5cd0510207482c3d1d3ed781143383b8cfd36f5c645f3897ce066220", size = 2270943, upload-time = "2025-08-10T21:25:46.393Z" }, + { url = "https://files.pythonhosted.org/packages/3d/de/259f786bf71f1e03e73d87e2db1a9a3bcab64d7b4fd780167123161630ad/kiwisolver-1.4.9-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:ccd09f20ccdbbd341b21a67ab50a119b64a403b09288c27481575105283c1586", size = 2440488, upload-time = "2025-08-10T21:25:48.074Z" }, + { url = "https://files.pythonhosted.org/packages/1b/76/c989c278faf037c4d3421ec07a5c452cd3e09545d6dae7f87c15f54e4edf/kiwisolver-1.4.9-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:540c7c72324d864406a009d72f5d6856f49693db95d1fbb46cf86febef873634", size = 2246787, upload-time = "2025-08-10T21:25:49.442Z" }, + { url = "https://files.pythonhosted.org/packages/a2/55/c2898d84ca440852e560ca9f2a0d28e6e931ac0849b896d77231929900e7/kiwisolver-1.4.9-cp310-cp310-win_amd64.whl", hash = "sha256:ede8c6d533bc6601a47ad4046080d36b8fc99f81e6f1c17b0ac3c2dc91ac7611", size = 73730, upload-time = "2025-08-10T21:25:51.102Z" }, + { url = "https://files.pythonhosted.org/packages/e8/09/486d6ac523dd33b80b368247f238125d027964cfacb45c654841e88fb2ae/kiwisolver-1.4.9-cp310-cp310-win_arm64.whl", hash = "sha256:7b4da0d01ac866a57dd61ac258c5607b4cd677f63abaec7b148354d2b2cdd536", size = 65036, upload-time = "2025-08-10T21:25:52.063Z" }, + { url = "https://files.pythonhosted.org/packages/6f/ab/c80b0d5a9d8a1a65f4f815f2afff9798b12c3b9f31f1d304dd233dd920e2/kiwisolver-1.4.9-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:eb14a5da6dc7642b0f3a18f13654847cd8b7a2550e2645a5bda677862b03ba16", size = 124167, upload-time = "2025-08-10T21:25:53.403Z" }, + { url = "https://files.pythonhosted.org/packages/a0/c0/27fe1a68a39cf62472a300e2879ffc13c0538546c359b86f149cc19f6ac3/kiwisolver-1.4.9-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:39a219e1c81ae3b103643d2aedb90f1ef22650deb266ff12a19e7773f3e5f089", size = 66579, upload-time = "2025-08-10T21:25:54.79Z" }, + { url = "https://files.pythonhosted.org/packages/31/a2/a12a503ac1fd4943c50f9822678e8015a790a13b5490354c68afb8489814/kiwisolver-1.4.9-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2405a7d98604b87f3fc28b1716783534b1b4b8510d8142adca34ee0bc3c87543", size = 65309, upload-time = "2025-08-10T21:25:55.76Z" }, + { url = "https://files.pythonhosted.org/packages/66/e1/e533435c0be77c3f64040d68d7a657771194a63c279f55573188161e81ca/kiwisolver-1.4.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:dc1ae486f9abcef254b5618dfb4113dd49f94c68e3e027d03cf0143f3f772b61", size = 1435596, upload-time = "2025-08-10T21:25:56.861Z" }, + { url = "https://files.pythonhosted.org/packages/67/1e/51b73c7347f9aabdc7215aa79e8b15299097dc2f8e67dee2b095faca9cb0/kiwisolver-1.4.9-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8a1f570ce4d62d718dce3f179ee78dac3b545ac16c0c04bb363b7607a949c0d1", size = 1246548, upload-time = "2025-08-10T21:25:58.246Z" }, + { url = "https://files.pythonhosted.org/packages/21/aa/72a1c5d1e430294f2d32adb9542719cfb441b5da368d09d268c7757af46c/kiwisolver-1.4.9-cp311-cp311-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cb27e7b78d716c591e88e0a09a2139c6577865d7f2e152488c2cc6257f460872", size = 1263618, upload-time = "2025-08-10T21:25:59.857Z" }, + { url = "https://files.pythonhosted.org/packages/a3/af/db1509a9e79dbf4c260ce0cfa3903ea8945f6240e9e59d1e4deb731b1a40/kiwisolver-1.4.9-cp311-cp311-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:15163165efc2f627eb9687ea5f3a28137217d217ac4024893d753f46bce9de26", size = 1317437, upload-time = "2025-08-10T21:26:01.105Z" }, + { url = "https://files.pythonhosted.org/packages/e0/f2/3ea5ee5d52abacdd12013a94130436e19969fa183faa1e7c7fbc89e9a42f/kiwisolver-1.4.9-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:bdee92c56a71d2b24c33a7d4c2856bd6419d017e08caa7802d2963870e315028", size = 2195742, upload-time = "2025-08-10T21:26:02.675Z" }, + { url = "https://files.pythonhosted.org/packages/6f/9b/1efdd3013c2d9a2566aa6a337e9923a00590c516add9a1e89a768a3eb2fc/kiwisolver-1.4.9-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:412f287c55a6f54b0650bd9b6dce5aceddb95864a1a90c87af16979d37c89771", size = 2290810, upload-time = "2025-08-10T21:26:04.009Z" }, + { url = "https://files.pythonhosted.org/packages/fb/e5/cfdc36109ae4e67361f9bc5b41323648cb24a01b9ade18784657e022e65f/kiwisolver-1.4.9-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:2c93f00dcba2eea70af2be5f11a830a742fe6b579a1d4e00f47760ef13be247a", size = 2461579, upload-time = "2025-08-10T21:26:05.317Z" }, + { url = "https://files.pythonhosted.org/packages/62/86/b589e5e86c7610842213994cdea5add00960076bef4ae290c5fa68589cac/kiwisolver-1.4.9-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f117e1a089d9411663a3207ba874f31be9ac8eaa5b533787024dc07aeb74f464", size = 2268071, upload-time = "2025-08-10T21:26:06.686Z" }, + { url = "https://files.pythonhosted.org/packages/3b/c6/f8df8509fd1eee6c622febe54384a96cfaf4d43bf2ccec7a0cc17e4715c9/kiwisolver-1.4.9-cp311-cp311-win_amd64.whl", hash = "sha256:be6a04e6c79819c9a8c2373317d19a96048e5a3f90bec587787e86a1153883c2", size = 73840, upload-time = "2025-08-10T21:26:07.94Z" }, + { url = "https://files.pythonhosted.org/packages/e2/2d/16e0581daafd147bc11ac53f032a2b45eabac897f42a338d0a13c1e5c436/kiwisolver-1.4.9-cp311-cp311-win_arm64.whl", hash = "sha256:0ae37737256ba2de764ddc12aed4956460277f00c4996d51a197e72f62f5eec7", size = 65159, upload-time = "2025-08-10T21:26:09.048Z" }, + { url = "https://files.pythonhosted.org/packages/86/c9/13573a747838aeb1c76e3267620daa054f4152444d1f3d1a2324b78255b5/kiwisolver-1.4.9-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ac5a486ac389dddcc5bef4f365b6ae3ffff2c433324fb38dd35e3fab7c957999", size = 123686, upload-time = "2025-08-10T21:26:10.034Z" }, + { url = "https://files.pythonhosted.org/packages/51/ea/2ecf727927f103ffd1739271ca19c424d0e65ea473fbaeea1c014aea93f6/kiwisolver-1.4.9-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f2ba92255faa7309d06fe44c3a4a97efe1c8d640c2a79a5ef728b685762a6fd2", size = 66460, upload-time = "2025-08-10T21:26:11.083Z" }, + { url = "https://files.pythonhosted.org/packages/5b/5a/51f5464373ce2aeb5194508298a508b6f21d3867f499556263c64c621914/kiwisolver-1.4.9-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a2899935e724dd1074cb568ce7ac0dce28b2cd6ab539c8e001a8578eb106d14", size = 64952, upload-time = "2025-08-10T21:26:12.058Z" }, + { url = "https://files.pythonhosted.org/packages/70/90/6d240beb0f24b74371762873e9b7f499f1e02166a2d9c5801f4dbf8fa12e/kiwisolver-1.4.9-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f6008a4919fdbc0b0097089f67a1eb55d950ed7e90ce2cc3e640abadd2757a04", size = 1474756, upload-time = "2025-08-10T21:26:13.096Z" }, + { url = "https://files.pythonhosted.org/packages/12/42/f36816eaf465220f683fb711efdd1bbf7a7005a2473d0e4ed421389bd26c/kiwisolver-1.4.9-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:67bb8b474b4181770f926f7b7d2f8c0248cbcb78b660fdd41a47054b28d2a752", size = 1276404, upload-time = "2025-08-10T21:26:14.457Z" }, + { url = "https://files.pythonhosted.org/packages/2e/64/bc2de94800adc830c476dce44e9b40fd0809cddeef1fde9fcf0f73da301f/kiwisolver-1.4.9-cp312-cp312-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2327a4a30d3ee07d2fbe2e7933e8a37c591663b96ce42a00bc67461a87d7df77", size = 1294410, upload-time = "2025-08-10T21:26:15.73Z" }, + { url = "https://files.pythonhosted.org/packages/5f/42/2dc82330a70aa8e55b6d395b11018045e58d0bb00834502bf11509f79091/kiwisolver-1.4.9-cp312-cp312-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7a08b491ec91b1d5053ac177afe5290adacf1f0f6307d771ccac5de30592d198", size = 1343631, upload-time = "2025-08-10T21:26:17.045Z" }, + { url = "https://files.pythonhosted.org/packages/22/fd/f4c67a6ed1aab149ec5a8a401c323cee7a1cbe364381bb6c9c0d564e0e20/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d8fc5c867c22b828001b6a38d2eaeb88160bf5783c6cb4a5e440efc981ce286d", size = 2224963, upload-time = "2025-08-10T21:26:18.737Z" }, + { url = "https://files.pythonhosted.org/packages/45/aa/76720bd4cb3713314677d9ec94dcc21ced3f1baf4830adde5bb9b2430a5f/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:3b3115b2581ea35bb6d1f24a4c90af37e5d9b49dcff267eeed14c3893c5b86ab", size = 2321295, upload-time = "2025-08-10T21:26:20.11Z" }, + { url = "https://files.pythonhosted.org/packages/80/19/d3ec0d9ab711242f56ae0dc2fc5d70e298bb4a1f9dfab44c027668c673a1/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:858e4c22fb075920b96a291928cb7dea5644e94c0ee4fcd5af7e865655e4ccf2", size = 2487987, upload-time = "2025-08-10T21:26:21.49Z" }, + { url = "https://files.pythonhosted.org/packages/39/e9/61e4813b2c97e86b6fdbd4dd824bf72d28bcd8d4849b8084a357bc0dd64d/kiwisolver-1.4.9-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ed0fecd28cc62c54b262e3736f8bb2512d8dcfdc2bcf08be5f47f96bf405b145", size = 2291817, upload-time = "2025-08-10T21:26:22.812Z" }, + { url = "https://files.pythonhosted.org/packages/a0/41/85d82b0291db7504da3c2defe35c9a8a5c9803a730f297bd823d11d5fb77/kiwisolver-1.4.9-cp312-cp312-win_amd64.whl", hash = "sha256:f68208a520c3d86ea51acf688a3e3002615a7f0238002cccc17affecc86a8a54", size = 73895, upload-time = "2025-08-10T21:26:24.37Z" }, + { url = "https://files.pythonhosted.org/packages/e2/92/5f3068cf15ee5cb624a0c7596e67e2a0bb2adee33f71c379054a491d07da/kiwisolver-1.4.9-cp312-cp312-win_arm64.whl", hash = "sha256:2c1a4f57df73965f3f14df20b80ee29e6a7930a57d2d9e8491a25f676e197c60", size = 64992, upload-time = "2025-08-10T21:26:25.732Z" }, + { url = "https://files.pythonhosted.org/packages/31/c1/c2686cda909742ab66c7388e9a1a8521a59eb89f8bcfbee28fc980d07e24/kiwisolver-1.4.9-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a5d0432ccf1c7ab14f9949eec60c5d1f924f17c037e9f8b33352fa05799359b8", size = 123681, upload-time = "2025-08-10T21:26:26.725Z" }, + { url = "https://files.pythonhosted.org/packages/ca/f0/f44f50c9f5b1a1860261092e3bc91ecdc9acda848a8b8c6abfda4a24dd5c/kiwisolver-1.4.9-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efb3a45b35622bb6c16dbfab491a8f5a391fe0e9d45ef32f4df85658232ca0e2", size = 66464, upload-time = "2025-08-10T21:26:27.733Z" }, + { url = "https://files.pythonhosted.org/packages/2d/7a/9d90a151f558e29c3936b8a47ac770235f436f2120aca41a6d5f3d62ae8d/kiwisolver-1.4.9-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1a12cf6398e8a0a001a059747a1cbf24705e18fe413bc22de7b3d15c67cffe3f", size = 64961, upload-time = "2025-08-10T21:26:28.729Z" }, + { url = "https://files.pythonhosted.org/packages/e9/e9/f218a2cb3a9ffbe324ca29a9e399fa2d2866d7f348ec3a88df87fc248fc5/kiwisolver-1.4.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b67e6efbf68e077dd71d1a6b37e43e1a99d0bff1a3d51867d45ee8908b931098", size = 1474607, upload-time = "2025-08-10T21:26:29.798Z" }, + { url = "https://files.pythonhosted.org/packages/d9/28/aac26d4c882f14de59041636292bc838db8961373825df23b8eeb807e198/kiwisolver-1.4.9-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5656aa670507437af0207645273ccdfee4f14bacd7f7c67a4306d0dcaeaf6eed", size = 1276546, upload-time = "2025-08-10T21:26:31.401Z" }, + { url = "https://files.pythonhosted.org/packages/8b/ad/8bfc1c93d4cc565e5069162f610ba2f48ff39b7de4b5b8d93f69f30c4bed/kiwisolver-1.4.9-cp313-cp313-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:bfc08add558155345129c7803b3671cf195e6a56e7a12f3dde7c57d9b417f525", size = 1294482, upload-time = "2025-08-10T21:26:32.721Z" }, + { url = "https://files.pythonhosted.org/packages/da/f1/6aca55ff798901d8ce403206d00e033191f63d82dd708a186e0ed2067e9c/kiwisolver-1.4.9-cp313-cp313-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:40092754720b174e6ccf9e845d0d8c7d8e12c3d71e7fc35f55f3813e96376f78", size = 1343720, upload-time = "2025-08-10T21:26:34.032Z" }, + { url = "https://files.pythonhosted.org/packages/d1/91/eed031876c595c81d90d0f6fc681ece250e14bf6998c3d7c419466b523b7/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:497d05f29a1300d14e02e6441cf0f5ee81c1ff5a304b0d9fb77423974684e08b", size = 2224907, upload-time = "2025-08-10T21:26:35.824Z" }, + { url = "https://files.pythonhosted.org/packages/e9/ec/4d1925f2e49617b9cca9c34bfa11adefad49d00db038e692a559454dfb2e/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:bdd1a81a1860476eb41ac4bc1e07b3f07259e6d55bbf739b79c8aaedcf512799", size = 2321334, upload-time = "2025-08-10T21:26:37.534Z" }, + { url = "https://files.pythonhosted.org/packages/43/cb/450cd4499356f68802750c6ddc18647b8ea01ffa28f50d20598e0befe6e9/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:e6b93f13371d341afee3be9f7c5964e3fe61d5fa30f6a30eb49856935dfe4fc3", size = 2488313, upload-time = "2025-08-10T21:26:39.191Z" }, + { url = "https://files.pythonhosted.org/packages/71/67/fc76242bd99f885651128a5d4fa6083e5524694b7c88b489b1b55fdc491d/kiwisolver-1.4.9-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d75aa530ccfaa593da12834b86a0724f58bff12706659baa9227c2ccaa06264c", size = 2291970, upload-time = "2025-08-10T21:26:40.828Z" }, + { url = "https://files.pythonhosted.org/packages/75/bd/f1a5d894000941739f2ae1b65a32892349423ad49c2e6d0771d0bad3fae4/kiwisolver-1.4.9-cp313-cp313-win_amd64.whl", hash = "sha256:dd0a578400839256df88c16abddf9ba14813ec5f21362e1fe65022e00c883d4d", size = 73894, upload-time = "2025-08-10T21:26:42.33Z" }, + { url = "https://files.pythonhosted.org/packages/95/38/dce480814d25b99a391abbddadc78f7c117c6da34be68ca8b02d5848b424/kiwisolver-1.4.9-cp313-cp313-win_arm64.whl", hash = "sha256:d4188e73af84ca82468f09cadc5ac4db578109e52acb4518d8154698d3a87ca2", size = 64995, upload-time = "2025-08-10T21:26:43.889Z" }, + { url = "https://files.pythonhosted.org/packages/e2/37/7d218ce5d92dadc5ebdd9070d903e0c7cf7edfe03f179433ac4d13ce659c/kiwisolver-1.4.9-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:5a0f2724dfd4e3b3ac5a82436a8e6fd16baa7d507117e4279b660fe8ca38a3a1", size = 126510, upload-time = "2025-08-10T21:26:44.915Z" }, + { url = "https://files.pythonhosted.org/packages/23/b0/e85a2b48233daef4b648fb657ebbb6f8367696a2d9548a00b4ee0eb67803/kiwisolver-1.4.9-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:1b11d6a633e4ed84fc0ddafd4ebfd8ea49b3f25082c04ad12b8315c11d504dc1", size = 67903, upload-time = "2025-08-10T21:26:45.934Z" }, + { url = "https://files.pythonhosted.org/packages/44/98/f2425bc0113ad7de24da6bb4dae1343476e95e1d738be7c04d31a5d037fd/kiwisolver-1.4.9-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61874cdb0a36016354853593cffc38e56fc9ca5aa97d2c05d3dcf6922cd55a11", size = 66402, upload-time = "2025-08-10T21:26:47.101Z" }, + { url = "https://files.pythonhosted.org/packages/98/d8/594657886df9f34c4177cc353cc28ca7e6e5eb562d37ccc233bff43bbe2a/kiwisolver-1.4.9-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:60c439763a969a6af93b4881db0eed8fadf93ee98e18cbc35bc8da868d0c4f0c", size = 1582135, upload-time = "2025-08-10T21:26:48.665Z" }, + { url = "https://files.pythonhosted.org/packages/5c/c6/38a115b7170f8b306fc929e166340c24958347308ea3012c2b44e7e295db/kiwisolver-1.4.9-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92a2f997387a1b79a75e7803aa7ded2cfbe2823852ccf1ba3bcf613b62ae3197", size = 1389409, upload-time = "2025-08-10T21:26:50.335Z" }, + { url = "https://files.pythonhosted.org/packages/bf/3b/e04883dace81f24a568bcee6eb3001da4ba05114afa622ec9b6fafdc1f5e/kiwisolver-1.4.9-cp313-cp313t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a31d512c812daea6d8b3be3b2bfcbeb091dbb09177706569bcfc6240dcf8b41c", size = 1401763, upload-time = "2025-08-10T21:26:51.867Z" }, + { url = "https://files.pythonhosted.org/packages/9f/80/20ace48e33408947af49d7d15c341eaee69e4e0304aab4b7660e234d6288/kiwisolver-1.4.9-cp313-cp313t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:52a15b0f35dad39862d376df10c5230155243a2c1a436e39eb55623ccbd68185", size = 1453643, upload-time = "2025-08-10T21:26:53.592Z" }, + { url = "https://files.pythonhosted.org/packages/64/31/6ce4380a4cd1f515bdda976a1e90e547ccd47b67a1546d63884463c92ca9/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a30fd6fdef1430fd9e1ba7b3398b5ee4e2887783917a687d86ba69985fb08748", size = 2330818, upload-time = "2025-08-10T21:26:55.051Z" }, + { url = "https://files.pythonhosted.org/packages/fa/e9/3f3fcba3bcc7432c795b82646306e822f3fd74df0ee81f0fa067a1f95668/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:cc9617b46837c6468197b5945e196ee9ca43057bb7d9d1ae688101e4e1dddf64", size = 2419963, upload-time = "2025-08-10T21:26:56.421Z" }, + { url = "https://files.pythonhosted.org/packages/99/43/7320c50e4133575c66e9f7dadead35ab22d7c012a3b09bb35647792b2a6d/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:0ab74e19f6a2b027ea4f845a78827969af45ce790e6cb3e1ebab71bdf9f215ff", size = 2594639, upload-time = "2025-08-10T21:26:57.882Z" }, + { url = "https://files.pythonhosted.org/packages/65/d6/17ae4a270d4a987ef8a385b906d2bdfc9fce502d6dc0d3aea865b47f548c/kiwisolver-1.4.9-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dba5ee5d3981160c28d5490f0d1b7ed730c22470ff7f6cc26cfcfaacb9896a07", size = 2391741, upload-time = "2025-08-10T21:26:59.237Z" }, + { url = "https://files.pythonhosted.org/packages/2a/8f/8f6f491d595a9e5912971f3f863d81baddccc8a4d0c3749d6a0dd9ffc9df/kiwisolver-1.4.9-cp313-cp313t-win_arm64.whl", hash = "sha256:0749fd8f4218ad2e851e11cc4dc05c7cbc0cbc4267bdfdb31782e65aace4ee9c", size = 68646, upload-time = "2025-08-10T21:27:00.52Z" }, + { url = "https://files.pythonhosted.org/packages/6b/32/6cc0fbc9c54d06c2969faa9c1d29f5751a2e51809dd55c69055e62d9b426/kiwisolver-1.4.9-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:9928fe1eb816d11ae170885a74d074f57af3a0d65777ca47e9aeb854a1fba386", size = 123806, upload-time = "2025-08-10T21:27:01.537Z" }, + { url = "https://files.pythonhosted.org/packages/b2/dd/2bfb1d4a4823d92e8cbb420fe024b8d2167f72079b3bb941207c42570bdf/kiwisolver-1.4.9-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:d0005b053977e7b43388ddec89fa567f43d4f6d5c2c0affe57de5ebf290dc552", size = 66605, upload-time = "2025-08-10T21:27:03.335Z" }, + { url = "https://files.pythonhosted.org/packages/f7/69/00aafdb4e4509c2ca6064646cba9cd4b37933898f426756adb2cb92ebbed/kiwisolver-1.4.9-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:2635d352d67458b66fd0667c14cb1d4145e9560d503219034a18a87e971ce4f3", size = 64925, upload-time = "2025-08-10T21:27:04.339Z" }, + { url = "https://files.pythonhosted.org/packages/43/dc/51acc6791aa14e5cb6d8a2e28cefb0dc2886d8862795449d021334c0df20/kiwisolver-1.4.9-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:767c23ad1c58c9e827b649a9ab7809fd5fd9db266a9cf02b0e926ddc2c680d58", size = 1472414, upload-time = "2025-08-10T21:27:05.437Z" }, + { url = "https://files.pythonhosted.org/packages/3d/bb/93fa64a81db304ac8a246f834d5094fae4b13baf53c839d6bb6e81177129/kiwisolver-1.4.9-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:72d0eb9fba308b8311685c2268cf7d0a0639a6cd027d8128659f72bdd8a024b4", size = 1281272, upload-time = "2025-08-10T21:27:07.063Z" }, + { url = "https://files.pythonhosted.org/packages/70/e6/6df102916960fb8d05069d4bd92d6d9a8202d5a3e2444494e7cd50f65b7a/kiwisolver-1.4.9-cp314-cp314-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f68e4f3eeca8fb22cc3d731f9715a13b652795ef657a13df1ad0c7dc0e9731df", size = 1298578, upload-time = "2025-08-10T21:27:08.452Z" }, + { url = "https://files.pythonhosted.org/packages/7c/47/e142aaa612f5343736b087864dbaebc53ea8831453fb47e7521fa8658f30/kiwisolver-1.4.9-cp314-cp314-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d84cd4061ae292d8ac367b2c3fa3aad11cb8625a95d135fe93f286f914f3f5a6", size = 1345607, upload-time = "2025-08-10T21:27:10.125Z" }, + { url = "https://files.pythonhosted.org/packages/54/89/d641a746194a0f4d1a3670fb900d0dbaa786fb98341056814bc3f058fa52/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:a60ea74330b91bd22a29638940d115df9dc00af5035a9a2a6ad9399ffb4ceca5", size = 2230150, upload-time = "2025-08-10T21:27:11.484Z" }, + { url = "https://files.pythonhosted.org/packages/aa/6b/5ee1207198febdf16ac11f78c5ae40861b809cbe0e6d2a8d5b0b3044b199/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:ce6a3a4e106cf35c2d9c4fa17c05ce0b180db622736845d4315519397a77beaf", size = 2325979, upload-time = "2025-08-10T21:27:12.917Z" }, + { url = "https://files.pythonhosted.org/packages/fc/ff/b269eefd90f4ae14dcc74973d5a0f6d28d3b9bb1afd8c0340513afe6b39a/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:77937e5e2a38a7b48eef0585114fe7930346993a88060d0bf886086d2aa49ef5", size = 2491456, upload-time = "2025-08-10T21:27:14.353Z" }, + { url = "https://files.pythonhosted.org/packages/fc/d4/10303190bd4d30de547534601e259a4fbf014eed94aae3e5521129215086/kiwisolver-1.4.9-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:24c175051354f4a28c5d6a31c93906dc653e2bf234e8a4bbfb964892078898ce", size = 2294621, upload-time = "2025-08-10T21:27:15.808Z" }, + { url = "https://files.pythonhosted.org/packages/28/e0/a9a90416fce5c0be25742729c2ea52105d62eda6c4be4d803c2a7be1fa50/kiwisolver-1.4.9-cp314-cp314-win_amd64.whl", hash = "sha256:0763515d4df10edf6d06a3c19734e2566368980d21ebec439f33f9eb936c07b7", size = 75417, upload-time = "2025-08-10T21:27:17.436Z" }, + { url = "https://files.pythonhosted.org/packages/1f/10/6949958215b7a9a264299a7db195564e87900f709db9245e4ebdd3c70779/kiwisolver-1.4.9-cp314-cp314-win_arm64.whl", hash = "sha256:0e4e2bf29574a6a7b7f6cb5fa69293b9f96c928949ac4a53ba3f525dffb87f9c", size = 66582, upload-time = "2025-08-10T21:27:18.436Z" }, + { url = "https://files.pythonhosted.org/packages/ec/79/60e53067903d3bc5469b369fe0dfc6b3482e2133e85dae9daa9527535991/kiwisolver-1.4.9-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:d976bbb382b202f71c67f77b0ac11244021cfa3f7dfd9e562eefcea2df711548", size = 126514, upload-time = "2025-08-10T21:27:19.465Z" }, + { url = "https://files.pythonhosted.org/packages/25/d1/4843d3e8d46b072c12a38c97c57fab4608d36e13fe47d47ee96b4d61ba6f/kiwisolver-1.4.9-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2489e4e5d7ef9a1c300a5e0196e43d9c739f066ef23270607d45aba368b91f2d", size = 67905, upload-time = "2025-08-10T21:27:20.51Z" }, + { url = "https://files.pythonhosted.org/packages/8c/ae/29ffcbd239aea8b93108de1278271ae764dfc0d803a5693914975f200596/kiwisolver-1.4.9-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:e2ea9f7ab7fbf18fffb1b5434ce7c69a07582f7acc7717720f1d69f3e806f90c", size = 66399, upload-time = "2025-08-10T21:27:21.496Z" }, + { url = "https://files.pythonhosted.org/packages/a1/ae/d7ba902aa604152c2ceba5d352d7b62106bedbccc8e95c3934d94472bfa3/kiwisolver-1.4.9-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b34e51affded8faee0dfdb705416153819d8ea9250bbbf7ea1b249bdeb5f1122", size = 1582197, upload-time = "2025-08-10T21:27:22.604Z" }, + { url = "https://files.pythonhosted.org/packages/f2/41/27c70d427eddb8bc7e4f16420a20fefc6f480312122a59a959fdfe0445ad/kiwisolver-1.4.9-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d8aacd3d4b33b772542b2e01beb50187536967b514b00003bdda7589722d2a64", size = 1390125, upload-time = "2025-08-10T21:27:24.036Z" }, + { url = "https://files.pythonhosted.org/packages/41/42/b3799a12bafc76d962ad69083f8b43b12bf4fe78b097b12e105d75c9b8f1/kiwisolver-1.4.9-cp314-cp314t-manylinux_2_24_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:7cf974dd4e35fa315563ac99d6287a1024e4dc2077b8a7d7cd3d2fb65d283134", size = 1402612, upload-time = "2025-08-10T21:27:25.773Z" }, + { url = "https://files.pythonhosted.org/packages/d2/b5/a210ea073ea1cfaca1bb5c55a62307d8252f531beb364e18aa1e0888b5a0/kiwisolver-1.4.9-cp314-cp314t-manylinux_2_24_s390x.manylinux_2_28_s390x.whl", hash = "sha256:85bd218b5ecfbee8c8a82e121802dcb519a86044c9c3b2e4aef02fa05c6da370", size = 1453990, upload-time = "2025-08-10T21:27:27.089Z" }, + { url = "https://files.pythonhosted.org/packages/5f/ce/a829eb8c033e977d7ea03ed32fb3c1781b4fa0433fbadfff29e39c676f32/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:0856e241c2d3df4efef7c04a1e46b1936b6120c9bcf36dd216e3acd84bc4fb21", size = 2331601, upload-time = "2025-08-10T21:27:29.343Z" }, + { url = "https://files.pythonhosted.org/packages/e0/4b/b5e97eb142eb9cd0072dacfcdcd31b1c66dc7352b0f7c7255d339c0edf00/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:9af39d6551f97d31a4deebeac6f45b156f9755ddc59c07b402c148f5dbb6482a", size = 2422041, upload-time = "2025-08-10T21:27:30.754Z" }, + { url = "https://files.pythonhosted.org/packages/40/be/8eb4cd53e1b85ba4edc3a9321666f12b83113a178845593307a3e7891f44/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:bb4ae2b57fc1d8cbd1cf7b1d9913803681ffa903e7488012be5b76dedf49297f", size = 2594897, upload-time = "2025-08-10T21:27:32.803Z" }, + { url = "https://files.pythonhosted.org/packages/99/dd/841e9a66c4715477ea0abc78da039832fbb09dac5c35c58dc4c41a407b8a/kiwisolver-1.4.9-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:aedff62918805fb62d43a4aa2ecd4482c380dc76cd31bd7c8878588a61bd0369", size = 2391835, upload-time = "2025-08-10T21:27:34.23Z" }, + { url = "https://files.pythonhosted.org/packages/0c/28/4b2e5c47a0da96896fdfdb006340ade064afa1e63675d01ea5ac222b6d52/kiwisolver-1.4.9-cp314-cp314t-win_amd64.whl", hash = "sha256:1fa333e8b2ce4d9660f2cda9c0e1b6bafcfb2457a9d259faa82289e73ec24891", size = 79988, upload-time = "2025-08-10T21:27:35.587Z" }, + { url = "https://files.pythonhosted.org/packages/80/be/3578e8afd18c88cdf9cb4cffde75a96d2be38c5a903f1ed0ceec061bd09e/kiwisolver-1.4.9-cp314-cp314t-win_arm64.whl", hash = "sha256:4a48a2ce79d65d363597ef7b567ce3d14d68783d2b2263d98db3d9477805ba32", size = 70260, upload-time = "2025-08-10T21:27:36.606Z" }, + { url = "https://files.pythonhosted.org/packages/a2/63/fde392691690f55b38d5dd7b3710f5353bf7a8e52de93a22968801ab8978/kiwisolver-1.4.9-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:4d1d9e582ad4d63062d34077a9a1e9f3c34088a2ec5135b1f7190c07cf366527", size = 60183, upload-time = "2025-08-10T21:27:37.669Z" }, + { url = "https://files.pythonhosted.org/packages/27/b1/6aad34edfdb7cced27f371866f211332bba215bfd918ad3322a58f480d8b/kiwisolver-1.4.9-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:deed0c7258ceb4c44ad5ec7d9918f9f14fd05b2be86378d86cf50e63d1e7b771", size = 58675, upload-time = "2025-08-10T21:27:39.031Z" }, + { url = "https://files.pythonhosted.org/packages/9d/1a/23d855a702bb35a76faed5ae2ba3de57d323f48b1f6b17ee2176c4849463/kiwisolver-1.4.9-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0a590506f303f512dff6b7f75fd2fd18e16943efee932008fe7140e5fa91d80e", size = 80277, upload-time = "2025-08-10T21:27:40.129Z" }, + { url = "https://files.pythonhosted.org/packages/5a/5b/5239e3c2b8fb5afa1e8508f721bb77325f740ab6994d963e61b2b7abcc1e/kiwisolver-1.4.9-pp310-pypy310_pp73-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e09c2279a4d01f099f52d5c4b3d9e208e91edcbd1a175c9662a8b16e000fece9", size = 77994, upload-time = "2025-08-10T21:27:41.181Z" }, + { url = "https://files.pythonhosted.org/packages/f9/1c/5d4d468fb16f8410e596ed0eac02d2c68752aa7dc92997fe9d60a7147665/kiwisolver-1.4.9-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:c9e7cdf45d594ee04d5be1b24dd9d49f3d1590959b2271fb30b5ca2b262c00fb", size = 73744, upload-time = "2025-08-10T21:27:42.254Z" }, + { url = "https://files.pythonhosted.org/packages/a3/0f/36d89194b5a32c054ce93e586d4049b6c2c22887b0eb229c61c68afd3078/kiwisolver-1.4.9-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:720e05574713db64c356e86732c0f3c5252818d05f9df320f0ad8380641acea5", size = 60104, upload-time = "2025-08-10T21:27:43.287Z" }, + { url = "https://files.pythonhosted.org/packages/52/ba/4ed75f59e4658fd21fe7dde1fee0ac397c678ec3befba3fe6482d987af87/kiwisolver-1.4.9-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:17680d737d5335b552994a2008fab4c851bcd7de33094a82067ef3a576ff02fa", size = 58592, upload-time = "2025-08-10T21:27:44.314Z" }, + { url = "https://files.pythonhosted.org/packages/33/01/a8ea7c5ea32a9b45ceeaee051a04c8ed4320f5add3c51bfa20879b765b70/kiwisolver-1.4.9-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:85b5352f94e490c028926ea567fc569c52ec79ce131dadb968d3853e809518c2", size = 80281, upload-time = "2025-08-10T21:27:45.369Z" }, + { url = "https://files.pythonhosted.org/packages/da/e3/dbd2ecdce306f1d07a1aaf324817ee993aab7aee9db47ceac757deabafbe/kiwisolver-1.4.9-pp311-pypy311_pp73-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:464415881e4801295659462c49461a24fb107c140de781d55518c4b80cb6790f", size = 78009, upload-time = "2025-08-10T21:27:46.376Z" }, + { url = "https://files.pythonhosted.org/packages/da/e9/0d4add7873a73e462aeb45c036a2dead2562b825aa46ba326727b3f31016/kiwisolver-1.4.9-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:fb940820c63a9590d31d88b815e7a3aa5915cad3ce735ab45f0c730b39547de1", size = 73929, upload-time = "2025-08-10T21:27:48.236Z" }, +] + +[[package]] +name = "matplotlib" +version = "3.10.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "contourpy", version = "1.3.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "contourpy", version = "1.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "cycler" }, + { name = "fonttools" }, + { name = "kiwisolver" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "packaging" }, + { name = "pillow" }, + { name = "pyparsing" }, + { name = "python-dateutil" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ae/e2/d2d5295be2f44c678ebaf3544ba32d20c1f9ef08c49fe47f496180e1db15/matplotlib-3.10.7.tar.gz", hash = "sha256:a06ba7e2a2ef9131c79c49e63dad355d2d878413a0376c1727c8b9335ff731c7", size = 34804865, upload-time = "2025-10-09T00:28:00.669Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6c/87/3932d5778ab4c025db22710b61f49ccaed3956c5cf46ffb2ffa7492b06d9/matplotlib-3.10.7-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:7ac81eee3b7c266dd92cee1cd658407b16c57eed08c7421fa354ed68234de380", size = 8247141, upload-time = "2025-10-09T00:26:06.023Z" }, + { url = "https://files.pythonhosted.org/packages/45/a8/bfed45339160102bce21a44e38a358a1134a5f84c26166de03fb4a53208f/matplotlib-3.10.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:667ecd5d8d37813a845053d8f5bf110b534c3c9f30e69ebd25d4701385935a6d", size = 8107995, upload-time = "2025-10-09T00:26:08.669Z" }, + { url = "https://files.pythonhosted.org/packages/e2/3c/5692a2d9a5ba848fda3f48d2b607037df96460b941a59ef236404b39776b/matplotlib-3.10.7-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:cc1c51b846aca49a5a8b44fbba6a92d583a35c64590ad9e1e950dc88940a4297", size = 8680503, upload-time = "2025-10-09T00:26:10.607Z" }, + { url = "https://files.pythonhosted.org/packages/ab/a0/86ace53c48b05d0e6e9c127b2ace097434901f3e7b93f050791c8243201a/matplotlib-3.10.7-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4a11c2e9e72e7de09b7b72e62f3df23317c888299c875e2b778abf1eda8c0a42", size = 9514982, upload-time = "2025-10-09T00:26:12.594Z" }, + { url = "https://files.pythonhosted.org/packages/a6/81/ead71e2824da8f72640a64166d10e62300df4ae4db01a0bac56c5b39fa51/matplotlib-3.10.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f19410b486fdd139885ace124e57f938c1e6a3210ea13dd29cab58f5d4bc12c7", size = 9566429, upload-time = "2025-10-09T00:26:14.758Z" }, + { url = "https://files.pythonhosted.org/packages/65/7d/954b3067120456f472cce8fdcacaf4a5fcd522478db0c37bb243c7cb59dd/matplotlib-3.10.7-cp310-cp310-win_amd64.whl", hash = "sha256:b498e9e4022f93de2d5a37615200ca01297ceebbb56fe4c833f46862a490f9e3", size = 8108174, upload-time = "2025-10-09T00:26:17.015Z" }, + { url = "https://files.pythonhosted.org/packages/fc/bc/0fb489005669127ec13f51be0c6adc074d7cf191075dab1da9fe3b7a3cfc/matplotlib-3.10.7-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:53b492410a6cd66c7a471de6c924f6ede976e963c0f3097a3b7abfadddc67d0a", size = 8257507, upload-time = "2025-10-09T00:26:19.073Z" }, + { url = "https://files.pythonhosted.org/packages/e2/6a/d42588ad895279ff6708924645b5d2ed54a7fb2dc045c8a804e955aeace1/matplotlib-3.10.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d9749313deb729f08207718d29c86246beb2ea3fdba753595b55901dee5d2fd6", size = 8119565, upload-time = "2025-10-09T00:26:21.023Z" }, + { url = "https://files.pythonhosted.org/packages/10/b7/4aa196155b4d846bd749cf82aa5a4c300cf55a8b5e0dfa5b722a63c0f8a0/matplotlib-3.10.7-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:2222c7ba2cbde7fe63032769f6eb7e83ab3227f47d997a8453377709b7fe3a5a", size = 8692668, upload-time = "2025-10-09T00:26:22.967Z" }, + { url = "https://files.pythonhosted.org/packages/e6/e7/664d2b97016f46683a02d854d730cfcf54ff92c1dafa424beebef50f831d/matplotlib-3.10.7-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e91f61a064c92c307c5a9dc8c05dc9f8a68f0a3be199d9a002a0622e13f874a1", size = 9521051, upload-time = "2025-10-09T00:26:25.041Z" }, + { url = "https://files.pythonhosted.org/packages/a8/a3/37aef1404efa615f49b5758a5e0261c16dd88f389bc1861e722620e4a754/matplotlib-3.10.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6f1851eab59ca082c95df5a500106bad73672645625e04538b3ad0f69471ffcc", size = 9576878, upload-time = "2025-10-09T00:26:27.478Z" }, + { url = "https://files.pythonhosted.org/packages/33/cd/b145f9797126f3f809d177ca378de57c45413c5099c5990de2658760594a/matplotlib-3.10.7-cp311-cp311-win_amd64.whl", hash = "sha256:6516ce375109c60ceec579e699524e9d504cd7578506f01150f7a6bc174a775e", size = 8115142, upload-time = "2025-10-09T00:26:29.774Z" }, + { url = "https://files.pythonhosted.org/packages/2e/39/63bca9d2b78455ed497fcf51a9c71df200a11048f48249038f06447fa947/matplotlib-3.10.7-cp311-cp311-win_arm64.whl", hash = "sha256:b172db79759f5f9bc13ef1c3ef8b9ee7b37b0247f987fbbbdaa15e4f87fd46a9", size = 7992439, upload-time = "2025-10-09T00:26:40.32Z" }, + { url = "https://files.pythonhosted.org/packages/be/b3/09eb0f7796932826ec20c25b517d568627754f6c6462fca19e12c02f2e12/matplotlib-3.10.7-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7a0edb7209e21840e8361e91ea84ea676658aa93edd5f8762793dec77a4a6748", size = 8272389, upload-time = "2025-10-09T00:26:42.474Z" }, + { url = "https://files.pythonhosted.org/packages/11/0b/1ae80ddafb8652fd8046cb5c8460ecc8d4afccb89e2c6d6bec61e04e1eaf/matplotlib-3.10.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c380371d3c23e0eadf8ebff114445b9f970aff2010198d498d4ab4c3b41eea4f", size = 8128247, upload-time = "2025-10-09T00:26:44.77Z" }, + { url = "https://files.pythonhosted.org/packages/7d/18/95ae2e242d4a5c98bd6e90e36e128d71cf1c7e39b0874feaed3ef782e789/matplotlib-3.10.7-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d5f256d49fea31f40f166a5e3131235a5d2f4b7f44520b1cf0baf1ce568ccff0", size = 8696996, upload-time = "2025-10-09T00:26:46.792Z" }, + { url = "https://files.pythonhosted.org/packages/7e/3d/5b559efc800bd05cb2033aa85f7e13af51958136a48327f7c261801ff90a/matplotlib-3.10.7-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:11ae579ac83cdf3fb72573bb89f70e0534de05266728740d478f0f818983c695", size = 9530153, upload-time = "2025-10-09T00:26:49.07Z" }, + { url = "https://files.pythonhosted.org/packages/88/57/eab4a719fd110312d3c220595d63a3c85ec2a39723f0f4e7fa7e6e3f74ba/matplotlib-3.10.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4c14b6acd16cddc3569a2d515cfdd81c7a68ac5639b76548cfc1a9e48b20eb65", size = 9593093, upload-time = "2025-10-09T00:26:51.067Z" }, + { url = "https://files.pythonhosted.org/packages/31/3c/80816f027b3a4a28cd2a0a6ef7f89a2db22310e945cd886ec25bfb399221/matplotlib-3.10.7-cp312-cp312-win_amd64.whl", hash = "sha256:0d8c32b7ea6fb80b1aeff5a2ceb3fb9778e2759e899d9beff75584714afcc5ee", size = 8122771, upload-time = "2025-10-09T00:26:53.296Z" }, + { url = "https://files.pythonhosted.org/packages/de/77/ef1fc78bfe99999b2675435cc52120887191c566b25017d78beaabef7f2d/matplotlib-3.10.7-cp312-cp312-win_arm64.whl", hash = "sha256:5f3f6d315dcc176ba7ca6e74c7768fb7e4cf566c49cb143f6bc257b62e634ed8", size = 7992812, upload-time = "2025-10-09T00:26:54.882Z" }, + { url = "https://files.pythonhosted.org/packages/02/9c/207547916a02c78f6bdd83448d9b21afbc42f6379ed887ecf610984f3b4e/matplotlib-3.10.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1d9d3713a237970569156cfb4de7533b7c4eacdd61789726f444f96a0d28f57f", size = 8273212, upload-time = "2025-10-09T00:26:56.752Z" }, + { url = "https://files.pythonhosted.org/packages/bc/d0/b3d3338d467d3fc937f0bb7f256711395cae6f78e22cef0656159950adf0/matplotlib-3.10.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:37a1fea41153dd6ee061d21ab69c9cf2cf543160b1b85d89cd3d2e2a7902ca4c", size = 8128713, upload-time = "2025-10-09T00:26:59.001Z" }, + { url = "https://files.pythonhosted.org/packages/22/ff/6425bf5c20d79aa5b959d1ce9e65f599632345391381c9a104133fe0b171/matplotlib-3.10.7-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b3c4ea4948d93c9c29dc01c0c23eef66f2101bf75158c291b88de6525c55c3d1", size = 8698527, upload-time = "2025-10-09T00:27:00.69Z" }, + { url = "https://files.pythonhosted.org/packages/d0/7f/ccdca06f4c2e6c7989270ed7829b8679466682f4cfc0f8c9986241c023b6/matplotlib-3.10.7-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:22df30ffaa89f6643206cf13877191c63a50e8f800b038bc39bee9d2d4957632", size = 9529690, upload-time = "2025-10-09T00:27:02.664Z" }, + { url = "https://files.pythonhosted.org/packages/b8/95/b80fc2c1f269f21ff3d193ca697358e24408c33ce2b106a7438a45407b63/matplotlib-3.10.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b69676845a0a66f9da30e87f48be36734d6748024b525ec4710be40194282c84", size = 9593732, upload-time = "2025-10-09T00:27:04.653Z" }, + { url = "https://files.pythonhosted.org/packages/e1/b6/23064a96308b9aeceeffa65e96bcde459a2ea4934d311dee20afde7407a0/matplotlib-3.10.7-cp313-cp313-win_amd64.whl", hash = "sha256:744991e0cc863dd669c8dc9136ca4e6e0082be2070b9d793cbd64bec872a6815", size = 8122727, upload-time = "2025-10-09T00:27:06.814Z" }, + { url = "https://files.pythonhosted.org/packages/b3/a6/2faaf48133b82cf3607759027f82b5c702aa99cdfcefb7f93d6ccf26a424/matplotlib-3.10.7-cp313-cp313-win_arm64.whl", hash = "sha256:fba2974df0bf8ce3c995fa84b79cde38326e0f7b5409e7a3a481c1141340bcf7", size = 7992958, upload-time = "2025-10-09T00:27:08.567Z" }, + { url = "https://files.pythonhosted.org/packages/4a/f0/b018fed0b599bd48d84c08794cb242227fe3341952da102ee9d9682db574/matplotlib-3.10.7-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:932c55d1fa7af4423422cb6a492a31cbcbdbe68fd1a9a3f545aa5e7a143b5355", size = 8316849, upload-time = "2025-10-09T00:27:10.254Z" }, + { url = "https://files.pythonhosted.org/packages/b0/b7/bb4f23856197659f275e11a2a164e36e65e9b48ea3e93c4ec25b4f163198/matplotlib-3.10.7-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5e38c2d581d62ee729a6e144c47a71b3f42fb4187508dbbf4fe71d5612c3433b", size = 8178225, upload-time = "2025-10-09T00:27:12.241Z" }, + { url = "https://files.pythonhosted.org/packages/62/56/0600609893ff277e6f3ab3c0cef4eafa6e61006c058e84286c467223d4d5/matplotlib-3.10.7-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:786656bb13c237bbcebcd402f65f44dd61ead60ee3deb045af429d889c8dbc67", size = 8711708, upload-time = "2025-10-09T00:27:13.879Z" }, + { url = "https://files.pythonhosted.org/packages/d8/1a/6bfecb0cafe94d6658f2f1af22c43b76cf7a1c2f0dc34ef84cbb6809617e/matplotlib-3.10.7-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:09d7945a70ea43bf9248f4b6582734c2fe726723204a76eca233f24cffc7ef67", size = 9541409, upload-time = "2025-10-09T00:27:15.684Z" }, + { url = "https://files.pythonhosted.org/packages/08/50/95122a407d7f2e446fd865e2388a232a23f2b81934960ea802f3171518e4/matplotlib-3.10.7-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d0b181e9fa8daf1d9f2d4c547527b167cb8838fc587deabca7b5c01f97199e84", size = 9594054, upload-time = "2025-10-09T00:27:17.547Z" }, + { url = "https://files.pythonhosted.org/packages/13/76/75b194a43b81583478a81e78a07da8d9ca6ddf50dd0a2ccabf258059481d/matplotlib-3.10.7-cp313-cp313t-win_amd64.whl", hash = "sha256:31963603041634ce1a96053047b40961f7a29eb8f9a62e80cc2c0427aa1d22a2", size = 8200100, upload-time = "2025-10-09T00:27:20.039Z" }, + { url = "https://files.pythonhosted.org/packages/f5/9e/6aefebdc9f8235c12bdeeda44cc0383d89c1e41da2c400caf3ee2073a3ce/matplotlib-3.10.7-cp313-cp313t-win_arm64.whl", hash = "sha256:aebed7b50aa6ac698c90f60f854b47e48cd2252b30510e7a1feddaf5a3f72cbf", size = 8042131, upload-time = "2025-10-09T00:27:21.608Z" }, + { url = "https://files.pythonhosted.org/packages/0d/4b/e5bc2c321b6a7e3a75638d937d19ea267c34bd5a90e12bee76c4d7c7a0d9/matplotlib-3.10.7-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:d883460c43e8c6b173fef244a2341f7f7c0e9725c7fe68306e8e44ed9c8fb100", size = 8273787, upload-time = "2025-10-09T00:27:23.27Z" }, + { url = "https://files.pythonhosted.org/packages/86/ad/6efae459c56c2fbc404da154e13e3a6039129f3c942b0152624f1c621f05/matplotlib-3.10.7-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:07124afcf7a6504eafcb8ce94091c5898bbdd351519a1beb5c45f7a38c67e77f", size = 8131348, upload-time = "2025-10-09T00:27:24.926Z" }, + { url = "https://files.pythonhosted.org/packages/a6/5a/a4284d2958dee4116359cc05d7e19c057e64ece1b4ac986ab0f2f4d52d5a/matplotlib-3.10.7-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c17398b709a6cce3d9fdb1595c33e356d91c098cd9486cb2cc21ea2ea418e715", size = 9533949, upload-time = "2025-10-09T00:27:26.704Z" }, + { url = "https://files.pythonhosted.org/packages/de/ff/f3781b5057fa3786623ad8976fc9f7b0d02b2f28534751fd5a44240de4cf/matplotlib-3.10.7-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7146d64f561498764561e9cd0ed64fcf582e570fc519e6f521e2d0cfd43365e1", size = 9804247, upload-time = "2025-10-09T00:27:28.514Z" }, + { url = "https://files.pythonhosted.org/packages/47/5a/993a59facb8444efb0e197bf55f545ee449902dcee86a4dfc580c3b61314/matplotlib-3.10.7-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:90ad854c0a435da3104c01e2c6f0028d7e719b690998a2333d7218db80950722", size = 9595497, upload-time = "2025-10-09T00:27:30.418Z" }, + { url = "https://files.pythonhosted.org/packages/0d/a5/77c95aaa9bb32c345cbb49626ad8eb15550cba2e6d4c88081a6c2ac7b08d/matplotlib-3.10.7-cp314-cp314-win_amd64.whl", hash = "sha256:4645fc5d9d20ffa3a39361fcdbcec731382763b623b72627806bf251b6388866", size = 8252732, upload-time = "2025-10-09T00:27:32.332Z" }, + { url = "https://files.pythonhosted.org/packages/74/04/45d269b4268d222390d7817dae77b159651909669a34ee9fdee336db5883/matplotlib-3.10.7-cp314-cp314-win_arm64.whl", hash = "sha256:9257be2f2a03415f9105c486d304a321168e61ad450f6153d77c69504ad764bb", size = 8124240, upload-time = "2025-10-09T00:27:33.94Z" }, + { url = "https://files.pythonhosted.org/packages/4b/c7/ca01c607bb827158b439208c153d6f14ddb9fb640768f06f7ca3488ae67b/matplotlib-3.10.7-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1e4bbad66c177a8fdfa53972e5ef8be72a5f27e6a607cec0d8579abd0f3102b1", size = 8316938, upload-time = "2025-10-09T00:27:35.534Z" }, + { url = "https://files.pythonhosted.org/packages/84/d2/5539e66e9f56d2fdec94bb8436f5e449683b4e199bcc897c44fbe3c99e28/matplotlib-3.10.7-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:d8eb7194b084b12feb19142262165832fc6ee879b945491d1c3d4660748020c4", size = 8178245, upload-time = "2025-10-09T00:27:37.334Z" }, + { url = "https://files.pythonhosted.org/packages/77/b5/e6ca22901fd3e4fe433a82e583436dd872f6c966fca7e63cf806b40356f8/matplotlib-3.10.7-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b4d41379b05528091f00e1728004f9a8d7191260f3862178b88e8fd770206318", size = 9541411, upload-time = "2025-10-09T00:27:39.387Z" }, + { url = "https://files.pythonhosted.org/packages/9e/99/a4524db57cad8fee54b7237239a8f8360bfcfa3170d37c9e71c090c0f409/matplotlib-3.10.7-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4a74f79fafb2e177f240579bc83f0b60f82cc47d2f1d260f422a0627207008ca", size = 9803664, upload-time = "2025-10-09T00:27:41.492Z" }, + { url = "https://files.pythonhosted.org/packages/e6/a5/85e2edf76ea0ad4288d174926d9454ea85f3ce5390cc4e6fab196cbf250b/matplotlib-3.10.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:702590829c30aada1e8cef0568ddbffa77ca747b4d6e36c6d173f66e301f89cc", size = 9594066, upload-time = "2025-10-09T00:27:43.694Z" }, + { url = "https://files.pythonhosted.org/packages/39/69/9684368a314f6d83fe5c5ad2a4121a3a8e03723d2e5c8ea17b66c1bad0e7/matplotlib-3.10.7-cp314-cp314t-win_amd64.whl", hash = "sha256:f79d5de970fc90cd5591f60053aecfce1fcd736e0303d9f0bf86be649fa68fb8", size = 8342832, upload-time = "2025-10-09T00:27:45.543Z" }, + { url = "https://files.pythonhosted.org/packages/04/5f/e22e08da14bc1a0894184640d47819d2338b792732e20d292bf86e5ab785/matplotlib-3.10.7-cp314-cp314t-win_arm64.whl", hash = "sha256:cb783436e47fcf82064baca52ce748af71725d0352e1d31564cbe9c95df92b9c", size = 8172585, upload-time = "2025-10-09T00:27:47.185Z" }, + { url = "https://files.pythonhosted.org/packages/1e/6c/a9bcf03e9afb2a873e0a5855f79bce476d1023f26f8212969f2b7504756c/matplotlib-3.10.7-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:5c09cf8f2793f81368f49f118b6f9f937456362bee282eac575cca7f84cda537", size = 8241204, upload-time = "2025-10-09T00:27:48.806Z" }, + { url = "https://files.pythonhosted.org/packages/5b/fd/0e6f5aa762ed689d9fa8750b08f1932628ffa7ed30e76423c399d19407d2/matplotlib-3.10.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:de66744b2bb88d5cd27e80dfc2ec9f0517d0a46d204ff98fe9e5f2864eb67657", size = 8104607, upload-time = "2025-10-09T00:27:50.876Z" }, + { url = "https://files.pythonhosted.org/packages/b9/a9/21c9439d698fac5f0de8fc68b2405b738ed1f00e1279c76f2d9aa5521ead/matplotlib-3.10.7-pp310-pypy310_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:53cc80662dd197ece414dd5b66e07370201515a3eaf52e7c518c68c16814773b", size = 8682257, upload-time = "2025-10-09T00:27:52.597Z" }, + { url = "https://files.pythonhosted.org/packages/58/8f/76d5dc21ac64a49e5498d7f0472c0781dae442dd266a67458baec38288ec/matplotlib-3.10.7-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:15112bcbaef211bd663fa935ec33313b948e214454d949b723998a43357b17b0", size = 8252283, upload-time = "2025-10-09T00:27:54.739Z" }, + { url = "https://files.pythonhosted.org/packages/27/0d/9c5d4c2317feb31d819e38c9f947c942f42ebd4eb935fc6fd3518a11eaa7/matplotlib-3.10.7-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:d2a959c640cdeecdd2ec3136e8ea0441da59bcaf58d67e9c590740addba2cb68", size = 8116733, upload-time = "2025-10-09T00:27:56.406Z" }, + { url = "https://files.pythonhosted.org/packages/9a/cc/3fe688ff1355010937713164caacf9ed443675ac48a997bab6ed23b3f7c0/matplotlib-3.10.7-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:3886e47f64611046bc1db523a09dd0a0a6bed6081e6f90e13806dd1d1d1b5e91", size = 8693919, upload-time = "2025-10-09T00:27:58.41Z" }, +] + [[package]] name = "matplotlib-inline" version = "0.1.7" @@ -289,6 +1255,167 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/8f/8e/9ad090d3553c280a8060fbf6e24dc1c0c29704ee7d1c372f0c174aa59285/matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca", size = 9899, upload-time = "2024-04-15T13:44:43.265Z" }, ] +[[package]] +name = "multidict" +version = "6.7.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { 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 = [ + { 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/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 = "multiprocess" +version = "0.70.18" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "dill" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/fd/2ae3826f5be24c6ed87266bc4e59c46ea5b059a103f3d7e7eb76a52aeecb/multiprocess-0.70.18.tar.gz", hash = "sha256:f9597128e6b3e67b23956da07cf3d2e5cba79e2f4e0fba8d7903636663ec6d0d", size = 1798503, upload-time = "2025-04-17T03:11:27.742Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c8/f8/7f9a8f08bf98cea1dfaa181e05cc8bbcb59cecf044b5a9ac3cce39f9c449/multiprocess-0.70.18-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:25d4012dcaaf66b9e8e955f58482b42910c2ee526d532844d8bcf661bbc604df", size = 135083, upload-time = "2025-04-17T03:11:04.223Z" }, + { url = "https://files.pythonhosted.org/packages/e5/03/b7b10dbfc17b2b3ce07d4d30b3ba8367d0ed32d6d46cd166e298f161dd46/multiprocess-0.70.18-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:06b19433de0d02afe5869aec8931dd5c01d99074664f806c73896b0d9e527213", size = 135128, upload-time = "2025-04-17T03:11:06.045Z" }, + { url = "https://files.pythonhosted.org/packages/c1/a3/5f8d3b9690ea5580bee5868ab7d7e2cfca74b7e826b28192b40aa3881cdc/multiprocess-0.70.18-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:6fa1366f994373aaf2d4738b0f56e707caeaa05486e97a7f71ee0853823180c2", size = 135132, upload-time = "2025-04-17T03:11:07.533Z" }, + { url = "https://files.pythonhosted.org/packages/55/4d/9af0d1279c84618bcd35bf5fd7e371657358c7b0a523e54a9cffb87461f8/multiprocess-0.70.18-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:8b8940ae30139e04b076da6c5b83e9398585ebdf0f2ad3250673fef5b2ff06d6", size = 144695, upload-time = "2025-04-17T03:11:09.161Z" }, + { url = "https://files.pythonhosted.org/packages/17/bf/87323e79dd0562474fad3373c21c66bc6c3c9963b68eb2a209deb4c8575e/multiprocess-0.70.18-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:0929ba95831adb938edbd5fb801ac45e705ecad9d100b3e653946b7716cb6bd3", size = 144742, upload-time = "2025-04-17T03:11:10.072Z" }, + { url = "https://files.pythonhosted.org/packages/dd/74/cb8c831e58dc6d5cf450b17c7db87f14294a1df52eb391da948b5e0a0b94/multiprocess-0.70.18-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:4d77f8e4bfe6c6e2e661925bbf9aed4d5ade9a1c6502d5dfc10129b9d1141797", size = 144745, upload-time = "2025-04-17T03:11:11.453Z" }, + { url = "https://files.pythonhosted.org/packages/ba/d8/0cba6cf51a1a31f20471fbc823a716170c73012ddc4fb85d706630ed6e8f/multiprocess-0.70.18-py310-none-any.whl", hash = "sha256:60c194974c31784019c1f459d984e8f33ee48f10fcf42c309ba97b30d9bd53ea", size = 134948, upload-time = "2025-04-17T03:11:20.223Z" }, + { url = "https://files.pythonhosted.org/packages/4b/88/9039f2fed1012ef584751d4ceff9ab4a51e5ae264898f0b7cbf44340a859/multiprocess-0.70.18-py311-none-any.whl", hash = "sha256:5aa6eef98e691281b3ad923be2832bf1c55dd2c859acd73e5ec53a66aae06a1d", size = 144462, upload-time = "2025-04-17T03:11:21.657Z" }, + { url = "https://files.pythonhosted.org/packages/bf/b6/5f922792be93b82ec6b5f270bbb1ef031fd0622847070bbcf9da816502cc/multiprocess-0.70.18-py312-none-any.whl", hash = "sha256:9b78f8e5024b573730bfb654783a13800c2c0f2dfc0c25e70b40d184d64adaa2", size = 150287, upload-time = "2025-04-17T03:11:22.69Z" }, + { url = "https://files.pythonhosted.org/packages/ee/25/7d7e78e750bc1aecfaf0efbf826c69a791d2eeaf29cf20cba93ff4cced78/multiprocess-0.70.18-py313-none-any.whl", hash = "sha256:871743755f43ef57d7910a38433cfe41319e72be1bbd90b79c7a5ac523eb9334", size = 151917, upload-time = "2025-04-17T03:11:24.044Z" }, + { url = "https://files.pythonhosted.org/packages/3b/c3/ca84c19bd14cdfc21c388fdcebf08b86a7a470ebc9f5c3c084fc2dbc50f7/multiprocess-0.70.18-py38-none-any.whl", hash = "sha256:dbf705e52a154fe5e90fb17b38f02556169557c2dd8bb084f2e06c2784d8279b", size = 132636, upload-time = "2025-04-17T03:11:24.936Z" }, + { url = "https://files.pythonhosted.org/packages/6c/28/dd72947e59a6a8c856448a5e74da6201cb5502ddff644fbc790e4bd40b9a/multiprocess-0.70.18-py39-none-any.whl", hash = "sha256:e78ca805a72b1b810c690b6b4cc32579eba34f403094bbbae962b7b5bf9dfcb8", size = 133478, upload-time = "2025-04-17T03:11:26.253Z" }, +] + [[package]] name = "mypy" version = "1.18.2" @@ -422,7 +1549,8 @@ name = "numpy" version = "2.3.3" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.11'", + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", ] sdist = { url = "https://files.pythonhosted.org/packages/d0/19/95b3d357407220ed24c139018d2518fab0a61a948e68286a25f1a4d049ff/numpy-2.3.3.tar.gz", hash = "sha256:ddc7c39727ba62b80dfdbedf400d1c10ddfa8eefbd7ec8dcb118be8b56d31029", size = 20576648, upload-time = "2025-09-09T16:54:12.543Z" } wheels = [ @@ -510,6 +1638,68 @@ 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 = "pandas" +version = "2.3.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "python-dateutil" }, + { name = "pytz" }, + { name = "tzdata" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/33/01/d40b85317f86cf08d853a4f495195c73815fdf205eef3993821720274518/pandas-2.3.3.tar.gz", hash = "sha256:e05e1af93b977f7eafa636d043f9f94c7ee3ac81af99c13508215942e64c993b", size = 4495223, upload-time = "2025-09-29T23:34:51.853Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3d/f7/f425a00df4fcc22b292c6895c6831c0c8ae1d9fac1e024d16f98a9ce8749/pandas-2.3.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:376c6446ae31770764215a6c937f72d917f214b43560603cd60da6408f183b6c", size = 11555763, upload-time = "2025-09-29T23:16:53.287Z" }, + { url = "https://files.pythonhosted.org/packages/13/4f/66d99628ff8ce7857aca52fed8f0066ce209f96be2fede6cef9f84e8d04f/pandas-2.3.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:e19d192383eab2f4ceb30b412b22ea30690c9e618f78870357ae1d682912015a", size = 10801217, upload-time = "2025-09-29T23:17:04.522Z" }, + { url = "https://files.pythonhosted.org/packages/1d/03/3fc4a529a7710f890a239cc496fc6d50ad4a0995657dccc1d64695adb9f4/pandas-2.3.3-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5caf26f64126b6c7aec964f74266f435afef1c1b13da3b0636c7518a1fa3e2b1", size = 12148791, upload-time = "2025-09-29T23:17:18.444Z" }, + { url = "https://files.pythonhosted.org/packages/40/a8/4dac1f8f8235e5d25b9955d02ff6f29396191d4e665d71122c3722ca83c5/pandas-2.3.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dd7478f1463441ae4ca7308a70e90b33470fa593429f9d4c578dd00d1fa78838", size = 12769373, upload-time = "2025-09-29T23:17:35.846Z" }, + { url = "https://files.pythonhosted.org/packages/df/91/82cc5169b6b25440a7fc0ef3a694582418d875c8e3ebf796a6d6470aa578/pandas-2.3.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4793891684806ae50d1288c9bae9330293ab4e083ccd1c5e383c34549c6e4250", size = 13200444, upload-time = "2025-09-29T23:17:49.341Z" }, + { url = "https://files.pythonhosted.org/packages/10/ae/89b3283800ab58f7af2952704078555fa60c807fff764395bb57ea0b0dbd/pandas-2.3.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:28083c648d9a99a5dd035ec125d42439c6c1c525098c58af0fc38dd1a7a1b3d4", size = 13858459, upload-time = "2025-09-29T23:18:03.722Z" }, + { url = "https://files.pythonhosted.org/packages/85/72/530900610650f54a35a19476eca5104f38555afccda1aa11a92ee14cb21d/pandas-2.3.3-cp310-cp310-win_amd64.whl", hash = "sha256:503cf027cf9940d2ceaa1a93cfb5f8c8c7e6e90720a2850378f0b3f3b1e06826", size = 11346086, upload-time = "2025-09-29T23:18:18.505Z" }, + { url = "https://files.pythonhosted.org/packages/c1/fa/7ac648108144a095b4fb6aa3de1954689f7af60a14cf25583f4960ecb878/pandas-2.3.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:602b8615ebcc4a0c1751e71840428ddebeb142ec02c786e8ad6b1ce3c8dec523", size = 11578790, upload-time = "2025-09-29T23:18:30.065Z" }, + { url = "https://files.pythonhosted.org/packages/9b/35/74442388c6cf008882d4d4bdfc4109be87e9b8b7ccd097ad1e7f006e2e95/pandas-2.3.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8fe25fc7b623b0ef6b5009149627e34d2a4657e880948ec3c840e9402e5c1b45", size = 10833831, upload-time = "2025-09-29T23:38:56.071Z" }, + { url = "https://files.pythonhosted.org/packages/fe/e4/de154cbfeee13383ad58d23017da99390b91d73f8c11856f2095e813201b/pandas-2.3.3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b468d3dad6ff947df92dcb32ede5b7bd41a9b3cceef0a30ed925f6d01fb8fa66", size = 12199267, upload-time = "2025-09-29T23:18:41.627Z" }, + { url = "https://files.pythonhosted.org/packages/bf/c9/63f8d545568d9ab91476b1818b4741f521646cbdd151c6efebf40d6de6f7/pandas-2.3.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b98560e98cb334799c0b07ca7967ac361a47326e9b4e5a7dfb5ab2b1c9d35a1b", size = 12789281, upload-time = "2025-09-29T23:18:56.834Z" }, + { url = "https://files.pythonhosted.org/packages/f2/00/a5ac8c7a0e67fd1a6059e40aa08fa1c52cc00709077d2300e210c3ce0322/pandas-2.3.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37b5848ba49824e5c30bedb9c830ab9b7751fd049bc7914533e01c65f79791", size = 13240453, upload-time = "2025-09-29T23:19:09.247Z" }, + { url = "https://files.pythonhosted.org/packages/27/4d/5c23a5bc7bd209231618dd9e606ce076272c9bc4f12023a70e03a86b4067/pandas-2.3.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:db4301b2d1f926ae677a751eb2bd0e8c5f5319c9cb3f88b0becbbb0b07b34151", size = 13890361, upload-time = "2025-09-29T23:19:25.342Z" }, + { url = "https://files.pythonhosted.org/packages/8e/59/712db1d7040520de7a4965df15b774348980e6df45c129b8c64d0dbe74ef/pandas-2.3.3-cp311-cp311-win_amd64.whl", hash = "sha256:f086f6fe114e19d92014a1966f43a3e62285109afe874f067f5abbdcbb10e59c", size = 11348702, upload-time = "2025-09-29T23:19:38.296Z" }, + { url = "https://files.pythonhosted.org/packages/9c/fb/231d89e8637c808b997d172b18e9d4a4bc7bf31296196c260526055d1ea0/pandas-2.3.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6d21f6d74eb1725c2efaa71a2bfc661a0689579b58e9c0ca58a739ff0b002b53", size = 11597846, upload-time = "2025-09-29T23:19:48.856Z" }, + { url = "https://files.pythonhosted.org/packages/5c/bd/bf8064d9cfa214294356c2d6702b716d3cf3bb24be59287a6a21e24cae6b/pandas-2.3.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3fd2f887589c7aa868e02632612ba39acb0b8948faf5cc58f0850e165bd46f35", size = 10729618, upload-time = "2025-09-29T23:39:08.659Z" }, + { url = "https://files.pythonhosted.org/packages/57/56/cf2dbe1a3f5271370669475ead12ce77c61726ffd19a35546e31aa8edf4e/pandas-2.3.3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ecaf1e12bdc03c86ad4a7ea848d66c685cb6851d807a26aa245ca3d2017a1908", size = 11737212, upload-time = "2025-09-29T23:19:59.765Z" }, + { url = "https://files.pythonhosted.org/packages/e5/63/cd7d615331b328e287d8233ba9fdf191a9c2d11b6af0c7a59cfcec23de68/pandas-2.3.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b3d11d2fda7eb164ef27ffc14b4fcab16a80e1ce67e9f57e19ec0afaf715ba89", size = 12362693, upload-time = "2025-09-29T23:20:14.098Z" }, + { url = "https://files.pythonhosted.org/packages/a6/de/8b1895b107277d52f2b42d3a6806e69cfef0d5cf1d0ba343470b9d8e0a04/pandas-2.3.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a68e15f780eddf2b07d242e17a04aa187a7ee12b40b930bfdd78070556550e98", size = 12771002, upload-time = "2025-09-29T23:20:26.76Z" }, + { url = "https://files.pythonhosted.org/packages/87/21/84072af3187a677c5893b170ba2c8fbe450a6ff911234916da889b698220/pandas-2.3.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:371a4ab48e950033bcf52b6527eccb564f52dc826c02afd9a1bc0ab731bba084", size = 13450971, upload-time = "2025-09-29T23:20:41.344Z" }, + { url = "https://files.pythonhosted.org/packages/86/41/585a168330ff063014880a80d744219dbf1dd7a1c706e75ab3425a987384/pandas-2.3.3-cp312-cp312-win_amd64.whl", hash = "sha256:a16dcec078a01eeef8ee61bf64074b4e524a2a3f4b3be9326420cabe59c4778b", size = 10992722, upload-time = "2025-09-29T23:20:54.139Z" }, + { url = "https://files.pythonhosted.org/packages/cd/4b/18b035ee18f97c1040d94debd8f2e737000ad70ccc8f5513f4eefad75f4b/pandas-2.3.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:56851a737e3470de7fa88e6131f41281ed440d29a9268dcbf0002da5ac366713", size = 11544671, upload-time = "2025-09-29T23:21:05.024Z" }, + { url = "https://files.pythonhosted.org/packages/31/94/72fac03573102779920099bcac1c3b05975c2cb5f01eac609faf34bed1ca/pandas-2.3.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bdcd9d1167f4885211e401b3036c0c8d9e274eee67ea8d0758a256d60704cfe8", size = 10680807, upload-time = "2025-09-29T23:21:15.979Z" }, + { url = "https://files.pythonhosted.org/packages/16/87/9472cf4a487d848476865321de18cc8c920b8cab98453ab79dbbc98db63a/pandas-2.3.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e32e7cc9af0f1cc15548288a51a3b681cc2a219faa838e995f7dc53dbab1062d", size = 11709872, upload-time = "2025-09-29T23:21:27.165Z" }, + { url = "https://files.pythonhosted.org/packages/15/07/284f757f63f8a8d69ed4472bfd85122bd086e637bf4ed09de572d575a693/pandas-2.3.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:318d77e0e42a628c04dc56bcef4b40de67918f7041c2b061af1da41dcff670ac", size = 12306371, upload-time = "2025-09-29T23:21:40.532Z" }, + { url = "https://files.pythonhosted.org/packages/33/81/a3afc88fca4aa925804a27d2676d22dcd2031c2ebe08aabd0ae55b9ff282/pandas-2.3.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4e0a175408804d566144e170d0476b15d78458795bb18f1304fb94160cabf40c", size = 12765333, upload-time = "2025-09-29T23:21:55.77Z" }, + { url = "https://files.pythonhosted.org/packages/8d/0f/b4d4ae743a83742f1153464cf1a8ecfafc3ac59722a0b5c8602310cb7158/pandas-2.3.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:93c2d9ab0fc11822b5eece72ec9587e172f63cff87c00b062f6e37448ced4493", size = 13418120, upload-time = "2025-09-29T23:22:10.109Z" }, + { url = "https://files.pythonhosted.org/packages/4f/c7/e54682c96a895d0c808453269e0b5928a07a127a15704fedb643e9b0a4c8/pandas-2.3.3-cp313-cp313-win_amd64.whl", hash = "sha256:f8bfc0e12dc78f777f323f55c58649591b2cd0c43534e8355c51d3fede5f4dee", size = 10993991, upload-time = "2025-09-29T23:25:04.889Z" }, + { url = "https://files.pythonhosted.org/packages/f9/ca/3f8d4f49740799189e1395812f3bf23b5e8fc7c190827d55a610da72ce55/pandas-2.3.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:75ea25f9529fdec2d2e93a42c523962261e567d250b0013b16210e1d40d7c2e5", size = 12048227, upload-time = "2025-09-29T23:22:24.343Z" }, + { url = "https://files.pythonhosted.org/packages/0e/5a/f43efec3e8c0cc92c4663ccad372dbdff72b60bdb56b2749f04aa1d07d7e/pandas-2.3.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:74ecdf1d301e812db96a465a525952f4dde225fdb6d8e5a521d47e1f42041e21", size = 11411056, upload-time = "2025-09-29T23:22:37.762Z" }, + { url = "https://files.pythonhosted.org/packages/46/b1/85331edfc591208c9d1a63a06baa67b21d332e63b7a591a5ba42a10bb507/pandas-2.3.3-cp313-cp313t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6435cb949cb34ec11cc9860246ccb2fdc9ecd742c12d3304989017d53f039a78", size = 11645189, upload-time = "2025-09-29T23:22:51.688Z" }, + { url = "https://files.pythonhosted.org/packages/44/23/78d645adc35d94d1ac4f2a3c4112ab6f5b8999f4898b8cdf01252f8df4a9/pandas-2.3.3-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:900f47d8f20860de523a1ac881c4c36d65efcb2eb850e6948140fa781736e110", size = 12121912, upload-time = "2025-09-29T23:23:05.042Z" }, + { url = "https://files.pythonhosted.org/packages/53/da/d10013df5e6aaef6b425aa0c32e1fc1f3e431e4bcabd420517dceadce354/pandas-2.3.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a45c765238e2ed7d7c608fc5bc4a6f88b642f2f01e70c0c23d2224dd21829d86", size = 12712160, upload-time = "2025-09-29T23:23:28.57Z" }, + { url = "https://files.pythonhosted.org/packages/bd/17/e756653095a083d8a37cbd816cb87148debcfcd920129b25f99dd8d04271/pandas-2.3.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c4fc4c21971a1a9f4bdb4c73978c7f7256caa3e62b323f70d6cb80db583350bc", size = 13199233, upload-time = "2025-09-29T23:24:24.876Z" }, + { url = "https://files.pythonhosted.org/packages/04/fd/74903979833db8390b73b3a8a7d30d146d710bd32703724dd9083950386f/pandas-2.3.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:ee15f284898e7b246df8087fc82b87b01686f98ee67d85a17b7ab44143a3a9a0", size = 11540635, upload-time = "2025-09-29T23:25:52.486Z" }, + { url = "https://files.pythonhosted.org/packages/21/00/266d6b357ad5e6d3ad55093a7e8efc7dd245f5a842b584db9f30b0f0a287/pandas-2.3.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1611aedd912e1ff81ff41c745822980c49ce4a7907537be8692c8dbc31924593", size = 10759079, upload-time = "2025-09-29T23:26:33.204Z" }, + { url = "https://files.pythonhosted.org/packages/ca/05/d01ef80a7a3a12b2f8bbf16daba1e17c98a2f039cbc8e2f77a2c5a63d382/pandas-2.3.3-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6d2cefc361461662ac48810cb14365a365ce864afe85ef1f447ff5a1e99ea81c", size = 11814049, upload-time = "2025-09-29T23:27:15.384Z" }, + { url = "https://files.pythonhosted.org/packages/15/b2/0e62f78c0c5ba7e3d2c5945a82456f4fac76c480940f805e0b97fcbc2f65/pandas-2.3.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ee67acbbf05014ea6c763beb097e03cd629961c8a632075eeb34247120abcb4b", size = 12332638, upload-time = "2025-09-29T23:27:51.625Z" }, + { url = "https://files.pythonhosted.org/packages/c5/33/dd70400631b62b9b29c3c93d2feee1d0964dc2bae2e5ad7a6c73a7f25325/pandas-2.3.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c46467899aaa4da076d5abc11084634e2d197e9460643dd455ac3db5856b24d6", size = 12886834, upload-time = "2025-09-29T23:28:21.289Z" }, + { url = "https://files.pythonhosted.org/packages/d3/18/b5d48f55821228d0d2692b34fd5034bb185e854bdb592e9c640f6290e012/pandas-2.3.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6253c72c6a1d990a410bc7de641d34053364ef8bcd3126f7e7450125887dffe3", size = 13409925, upload-time = "2025-09-29T23:28:58.261Z" }, + { url = "https://files.pythonhosted.org/packages/a6/3d/124ac75fcd0ecc09b8fdccb0246ef65e35b012030defb0e0eba2cbbbe948/pandas-2.3.3-cp314-cp314-win_amd64.whl", hash = "sha256:1b07204a219b3b7350abaae088f451860223a52cfb8a6c53358e7948735158e5", size = 11109071, upload-time = "2025-09-29T23:32:27.484Z" }, + { url = "https://files.pythonhosted.org/packages/89/9c/0e21c895c38a157e0faa1fb64587a9226d6dd46452cac4532d80c3c4a244/pandas-2.3.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2462b1a365b6109d275250baaae7b760fd25c726aaca0054649286bcfbb3e8ec", size = 12048504, upload-time = "2025-09-29T23:29:31.47Z" }, + { url = "https://files.pythonhosted.org/packages/d7/82/b69a1c95df796858777b68fbe6a81d37443a33319761d7c652ce77797475/pandas-2.3.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:0242fe9a49aa8b4d78a4fa03acb397a58833ef6199e9aa40a95f027bb3a1b6e7", size = 11410702, upload-time = "2025-09-29T23:29:54.591Z" }, + { url = "https://files.pythonhosted.org/packages/f9/88/702bde3ba0a94b8c73a0181e05144b10f13f29ebfc2150c3a79062a8195d/pandas-2.3.3-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a21d830e78df0a515db2b3d2f5570610f5e6bd2e27749770e8bb7b524b89b450", size = 11634535, upload-time = "2025-09-29T23:30:21.003Z" }, + { url = "https://files.pythonhosted.org/packages/a4/1e/1bac1a839d12e6a82ec6cb40cda2edde64a2013a66963293696bbf31fbbb/pandas-2.3.3-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2e3ebdb170b5ef78f19bfb71b0dc5dc58775032361fa188e814959b74d726dd5", size = 12121582, upload-time = "2025-09-29T23:30:43.391Z" }, + { url = "https://files.pythonhosted.org/packages/44/91/483de934193e12a3b1d6ae7c8645d083ff88dec75f46e827562f1e4b4da6/pandas-2.3.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:d051c0e065b94b7a3cea50eb1ec32e912cd96dba41647eb24104b6c6c14c5788", size = 12699963, upload-time = "2025-09-29T23:31:10.009Z" }, + { url = "https://files.pythonhosted.org/packages/70/44/5191d2e4026f86a2a109053e194d3ba7a31a2d10a9c2348368c63ed4e85a/pandas-2.3.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:3869faf4bd07b3b66a9f462417d0ca3a9df29a9f6abd5d0d0dbab15dac7abe87", size = 13202175, upload-time = "2025-09-29T23:31:59.173Z" }, +] + [[package]] name = "parso" version = "0.8.5" @@ -540,6 +1730,104 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772, upload-time = "2023-11-25T06:56:14.81Z" }, ] +[[package]] +name = "pillow" +version = "12.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/cace85a1b0c9775a9f8f5d5423c8261c858760e2466c79b2dd184638b056/pillow-12.0.0.tar.gz", hash = "sha256:87d4f8125c9988bfbed67af47dd7a953e2fc7b0cc1e7800ec6d2080d490bb353", size = 47008828, upload-time = "2025-10-15T18:24:14.008Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5d/08/26e68b6b5da219c2a2cb7b563af008b53bb8e6b6fcb3fa40715fcdb2523a/pillow-12.0.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:3adfb466bbc544b926d50fe8f4a4e6abd8c6bffd28a26177594e6e9b2b76572b", size = 5289809, upload-time = "2025-10-15T18:21:27.791Z" }, + { url = "https://files.pythonhosted.org/packages/cb/e9/4e58fb097fb74c7b4758a680aacd558810a417d1edaa7000142976ef9d2f/pillow-12.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:1ac11e8ea4f611c3c0147424eae514028b5e9077dd99ab91e1bd7bc33ff145e1", size = 4650606, upload-time = "2025-10-15T18:21:29.823Z" }, + { url = "https://files.pythonhosted.org/packages/4b/e0/1fa492aa9f77b3bc6d471c468e62bfea1823056bf7e5e4f1914d7ab2565e/pillow-12.0.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d49e2314c373f4c2b39446fb1a45ed333c850e09d0c59ac79b72eb3b95397363", size = 6221023, upload-time = "2025-10-15T18:21:31.415Z" }, + { url = "https://files.pythonhosted.org/packages/c1/09/4de7cd03e33734ccd0c876f0251401f1314e819cbfd89a0fcb6e77927cc6/pillow-12.0.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c7b2a63fd6d5246349f3d3f37b14430d73ee7e8173154461785e43036ffa96ca", size = 8024937, upload-time = "2025-10-15T18:21:33.453Z" }, + { url = "https://files.pythonhosted.org/packages/2e/69/0688e7c1390666592876d9d474f5e135abb4acb39dcb583c4dc5490f1aff/pillow-12.0.0-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d64317d2587c70324b79861babb9c09f71fbb780bad212018874b2c013d8600e", size = 6334139, upload-time = "2025-10-15T18:21:35.395Z" }, + { url = "https://files.pythonhosted.org/packages/ed/1c/880921e98f525b9b44ce747ad1ea8f73fd7e992bafe3ca5e5644bf433dea/pillow-12.0.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d77153e14b709fd8b8af6f66a3afbb9ed6e9fc5ccf0b6b7e1ced7b036a228782", size = 7026074, upload-time = "2025-10-15T18:21:37.219Z" }, + { url = "https://files.pythonhosted.org/packages/28/03/96f718331b19b355610ef4ebdbbde3557c726513030665071fd025745671/pillow-12.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:32ed80ea8a90ee3e6fa08c21e2e091bba6eda8eccc83dbc34c95169507a91f10", size = 6448852, upload-time = "2025-10-15T18:21:39.168Z" }, + { url = "https://files.pythonhosted.org/packages/3a/a0/6a193b3f0cc9437b122978d2c5cbce59510ccf9a5b48825096ed7472da2f/pillow-12.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:c828a1ae702fc712978bda0320ba1b9893d99be0badf2647f693cc01cf0f04fa", size = 7117058, upload-time = "2025-10-15T18:21:40.997Z" }, + { url = "https://files.pythonhosted.org/packages/a7/c4/043192375eaa4463254e8e61f0e2ec9a846b983929a8d0a7122e0a6d6fff/pillow-12.0.0-cp310-cp310-win32.whl", hash = "sha256:bd87e140e45399c818fac4247880b9ce719e4783d767e030a883a970be632275", size = 6295431, upload-time = "2025-10-15T18:21:42.518Z" }, + { url = "https://files.pythonhosted.org/packages/92/c6/c2f2fc7e56301c21827e689bb8b0b465f1b52878b57471a070678c0c33cd/pillow-12.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:455247ac8a4cfb7b9bc45b7e432d10421aea9fc2e74d285ba4072688a74c2e9d", size = 7000412, upload-time = "2025-10-15T18:21:44.404Z" }, + { url = "https://files.pythonhosted.org/packages/b2/d2/5f675067ba82da7a1c238a73b32e3fd78d67f9d9f80fbadd33a40b9c0481/pillow-12.0.0-cp310-cp310-win_arm64.whl", hash = "sha256:6ace95230bfb7cd79ef66caa064bbe2f2a1e63d93471c3a2e1f1348d9f22d6b7", size = 2435903, upload-time = "2025-10-15T18:21:46.29Z" }, + { url = "https://files.pythonhosted.org/packages/0e/5a/a2f6773b64edb921a756eb0729068acad9fc5208a53f4a349396e9436721/pillow-12.0.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:0fd00cac9c03256c8b2ff58f162ebcd2587ad3e1f2e397eab718c47e24d231cc", size = 5289798, upload-time = "2025-10-15T18:21:47.763Z" }, + { url = "https://files.pythonhosted.org/packages/2e/05/069b1f8a2e4b5a37493da6c5868531c3f77b85e716ad7a590ef87d58730d/pillow-12.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a3475b96f5908b3b16c47533daaa87380c491357d197564e0ba34ae75c0f3257", size = 4650589, upload-time = "2025-10-15T18:21:49.515Z" }, + { url = "https://files.pythonhosted.org/packages/61/e3/2c820d6e9a36432503ead175ae294f96861b07600a7156154a086ba7111a/pillow-12.0.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:110486b79f2d112cf6add83b28b627e369219388f64ef2f960fef9ebaf54c642", size = 6230472, upload-time = "2025-10-15T18:21:51.052Z" }, + { url = "https://files.pythonhosted.org/packages/4f/89/63427f51c64209c5e23d4d52071c8d0f21024d3a8a487737caaf614a5795/pillow-12.0.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5269cc1caeedb67e6f7269a42014f381f45e2e7cd42d834ede3c703a1d915fe3", size = 8033887, upload-time = "2025-10-15T18:21:52.604Z" }, + { url = "https://files.pythonhosted.org/packages/f6/1b/c9711318d4901093c15840f268ad649459cd81984c9ec9887756cca049a5/pillow-12.0.0-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:aa5129de4e174daccbc59d0a3b6d20eaf24417d59851c07ebb37aeb02947987c", size = 6343964, upload-time = "2025-10-15T18:21:54.619Z" }, + { url = "https://files.pythonhosted.org/packages/41/1e/db9470f2d030b4995083044cd8738cdd1bf773106819f6d8ba12597d5352/pillow-12.0.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bee2a6db3a7242ea309aa7ee8e2780726fed67ff4e5b40169f2c940e7eb09227", size = 7034756, upload-time = "2025-10-15T18:21:56.151Z" }, + { url = "https://files.pythonhosted.org/packages/cc/b0/6177a8bdd5ee4ed87cba2de5a3cc1db55ffbbec6176784ce5bb75aa96798/pillow-12.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:90387104ee8400a7b4598253b4c406f8958f59fcf983a6cea2b50d59f7d63d0b", size = 6458075, upload-time = "2025-10-15T18:21:57.759Z" }, + { url = "https://files.pythonhosted.org/packages/bc/5e/61537aa6fa977922c6a03253a0e727e6e4a72381a80d63ad8eec350684f2/pillow-12.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bc91a56697869546d1b8f0a3ff35224557ae7f881050e99f615e0119bf934b4e", size = 7125955, upload-time = "2025-10-15T18:21:59.372Z" }, + { url = "https://files.pythonhosted.org/packages/1f/3d/d5033539344ee3cbd9a4d69e12e63ca3a44a739eb2d4c8da350a3d38edd7/pillow-12.0.0-cp311-cp311-win32.whl", hash = "sha256:27f95b12453d165099c84f8a8bfdfd46b9e4bda9e0e4b65f0635430027f55739", size = 6298440, upload-time = "2025-10-15T18:22:00.982Z" }, + { url = "https://files.pythonhosted.org/packages/4d/42/aaca386de5cc8bd8a0254516957c1f265e3521c91515b16e286c662854c4/pillow-12.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:b583dc9070312190192631373c6c8ed277254aa6e6084b74bdd0a6d3b221608e", size = 6999256, upload-time = "2025-10-15T18:22:02.617Z" }, + { url = "https://files.pythonhosted.org/packages/ba/f1/9197c9c2d5708b785f631a6dfbfa8eb3fb9672837cb92ae9af812c13b4ed/pillow-12.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:759de84a33be3b178a64c8ba28ad5c135900359e85fb662bc6e403ad4407791d", size = 2436025, upload-time = "2025-10-15T18:22:04.598Z" }, + { url = "https://files.pythonhosted.org/packages/2c/90/4fcce2c22caf044e660a198d740e7fbc14395619e3cb1abad12192c0826c/pillow-12.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:53561a4ddc36facb432fae7a9d8afbfaf94795414f5cdc5fc52f28c1dca90371", size = 5249377, upload-time = "2025-10-15T18:22:05.993Z" }, + { url = "https://files.pythonhosted.org/packages/fd/e0/ed960067543d080691d47d6938ebccbf3976a931c9567ab2fbfab983a5dd/pillow-12.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:71db6b4c1653045dacc1585c1b0d184004f0d7e694c7b34ac165ca70c0838082", size = 4650343, upload-time = "2025-10-15T18:22:07.718Z" }, + { url = "https://files.pythonhosted.org/packages/e7/a1/f81fdeddcb99c044bf7d6faa47e12850f13cee0849537a7d27eeab5534d4/pillow-12.0.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:2fa5f0b6716fc88f11380b88b31fe591a06c6315e955c096c35715788b339e3f", size = 6232981, upload-time = "2025-10-15T18:22:09.287Z" }, + { url = "https://files.pythonhosted.org/packages/88/e1/9098d3ce341a8750b55b0e00c03f1630d6178f38ac191c81c97a3b047b44/pillow-12.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:82240051c6ca513c616f7f9da06e871f61bfd7805f566275841af15015b8f98d", size = 8041399, upload-time = "2025-10-15T18:22:10.872Z" }, + { url = "https://files.pythonhosted.org/packages/a7/62/a22e8d3b602ae8cc01446d0c57a54e982737f44b6f2e1e019a925143771d/pillow-12.0.0-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:55f818bd74fe2f11d4d7cbc65880a843c4075e0ac7226bc1a23261dbea531953", size = 6347740, upload-time = "2025-10-15T18:22:12.769Z" }, + { url = "https://files.pythonhosted.org/packages/4f/87/424511bdcd02c8d7acf9f65caa09f291a519b16bd83c3fb3374b3d4ae951/pillow-12.0.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b87843e225e74576437fd5b6a4c2205d422754f84a06942cfaf1dc32243e45a8", size = 7040201, upload-time = "2025-10-15T18:22:14.813Z" }, + { url = "https://files.pythonhosted.org/packages/dc/4d/435c8ac688c54d11755aedfdd9f29c9eeddf68d150fe42d1d3dbd2365149/pillow-12.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c607c90ba67533e1b2355b821fef6764d1dd2cbe26b8c1005ae84f7aea25ff79", size = 6462334, upload-time = "2025-10-15T18:22:16.375Z" }, + { url = "https://files.pythonhosted.org/packages/2b/f2/ad34167a8059a59b8ad10bc5c72d4d9b35acc6b7c0877af8ac885b5f2044/pillow-12.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:21f241bdd5080a15bc86d3466a9f6074a9c2c2b314100dd896ac81ee6db2f1ba", size = 7134162, upload-time = "2025-10-15T18:22:17.996Z" }, + { url = "https://files.pythonhosted.org/packages/0c/b1/a7391df6adacf0a5c2cf6ac1cf1fcc1369e7d439d28f637a847f8803beb3/pillow-12.0.0-cp312-cp312-win32.whl", hash = "sha256:dd333073e0cacdc3089525c7df7d39b211bcdf31fc2824e49d01c6b6187b07d0", size = 6298769, upload-time = "2025-10-15T18:22:19.923Z" }, + { url = "https://files.pythonhosted.org/packages/a2/0b/d87733741526541c909bbf159e338dcace4f982daac6e5a8d6be225ca32d/pillow-12.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:9fe611163f6303d1619bbcb653540a4d60f9e55e622d60a3108be0d5b441017a", size = 7001107, upload-time = "2025-10-15T18:22:21.644Z" }, + { url = "https://files.pythonhosted.org/packages/bc/96/aaa61ce33cc98421fb6088af2a03be4157b1e7e0e87087c888e2370a7f45/pillow-12.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:7dfb439562f234f7d57b1ac6bc8fe7f838a4bd49c79230e0f6a1da93e82f1fad", size = 2436012, upload-time = "2025-10-15T18:22:23.621Z" }, + { url = "https://files.pythonhosted.org/packages/62/f2/de993bb2d21b33a98d031ecf6a978e4b61da207bef02f7b43093774c480d/pillow-12.0.0-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:0869154a2d0546545cde61d1789a6524319fc1897d9ee31218eae7a60ccc5643", size = 4045493, upload-time = "2025-10-15T18:22:25.758Z" }, + { url = "https://files.pythonhosted.org/packages/0e/b6/bc8d0c4c9f6f111a783d045310945deb769b806d7574764234ffd50bc5ea/pillow-12.0.0-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:a7921c5a6d31b3d756ec980f2f47c0cfdbce0fc48c22a39347a895f41f4a6ea4", size = 4120461, upload-time = "2025-10-15T18:22:27.286Z" }, + { url = "https://files.pythonhosted.org/packages/5d/57/d60d343709366a353dc56adb4ee1e7d8a2cc34e3fbc22905f4167cfec119/pillow-12.0.0-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:1ee80a59f6ce048ae13cda1abf7fbd2a34ab9ee7d401c46be3ca685d1999a399", size = 3576912, upload-time = "2025-10-15T18:22:28.751Z" }, + { url = "https://files.pythonhosted.org/packages/a4/a4/a0a31467e3f83b94d37568294b01d22b43ae3c5d85f2811769b9c66389dd/pillow-12.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:c50f36a62a22d350c96e49ad02d0da41dbd17ddc2e29750dbdba4323f85eb4a5", size = 5249132, upload-time = "2025-10-15T18:22:30.641Z" }, + { url = "https://files.pythonhosted.org/packages/83/06/48eab21dd561de2914242711434c0c0eb992ed08ff3f6107a5f44527f5e9/pillow-12.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5193fde9a5f23c331ea26d0cf171fbf67e3f247585f50c08b3e205c7aeb4589b", size = 4650099, upload-time = "2025-10-15T18:22:32.73Z" }, + { url = "https://files.pythonhosted.org/packages/fc/bd/69ed99fd46a8dba7c1887156d3572fe4484e3f031405fcc5a92e31c04035/pillow-12.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:bde737cff1a975b70652b62d626f7785e0480918dece11e8fef3c0cf057351c3", size = 6230808, upload-time = "2025-10-15T18:22:34.337Z" }, + { url = "https://files.pythonhosted.org/packages/ea/94/8fad659bcdbf86ed70099cb60ae40be6acca434bbc8c4c0d4ef356d7e0de/pillow-12.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a6597ff2b61d121172f5844b53f21467f7082f5fb385a9a29c01414463f93b07", size = 8037804, upload-time = "2025-10-15T18:22:36.402Z" }, + { url = "https://files.pythonhosted.org/packages/20/39/c685d05c06deecfd4e2d1950e9a908aa2ca8bc4e6c3b12d93b9cafbd7837/pillow-12.0.0-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0b817e7035ea7f6b942c13aa03bb554fc44fea70838ea21f8eb31c638326584e", size = 6345553, upload-time = "2025-10-15T18:22:38.066Z" }, + { url = "https://files.pythonhosted.org/packages/38/57/755dbd06530a27a5ed74f8cb0a7a44a21722ebf318edbe67ddbd7fb28f88/pillow-12.0.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f4f1231b7dec408e8670264ce63e9c71409d9583dd21d32c163e25213ee2a344", size = 7037729, upload-time = "2025-10-15T18:22:39.769Z" }, + { url = "https://files.pythonhosted.org/packages/ca/b6/7e94f4c41d238615674d06ed677c14883103dce1c52e4af16f000338cfd7/pillow-12.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6e51b71417049ad6ab14c49608b4a24d8fb3fe605e5dfabfe523b58064dc3d27", size = 6459789, upload-time = "2025-10-15T18:22:41.437Z" }, + { url = "https://files.pythonhosted.org/packages/9c/14/4448bb0b5e0f22dd865290536d20ec8a23b64e2d04280b89139f09a36bb6/pillow-12.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:d120c38a42c234dc9a8c5de7ceaaf899cf33561956acb4941653f8bdc657aa79", size = 7130917, upload-time = "2025-10-15T18:22:43.152Z" }, + { url = "https://files.pythonhosted.org/packages/dd/ca/16c6926cc1c015845745d5c16c9358e24282f1e588237a4c36d2b30f182f/pillow-12.0.0-cp313-cp313-win32.whl", hash = "sha256:4cc6b3b2efff105c6a1656cfe59da4fdde2cda9af1c5e0b58529b24525d0a098", size = 6302391, upload-time = "2025-10-15T18:22:44.753Z" }, + { url = "https://files.pythonhosted.org/packages/6d/2a/dd43dcfd6dae9b6a49ee28a8eedb98c7d5ff2de94a5d834565164667b97b/pillow-12.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:4cf7fed4b4580601c4345ceb5d4cbf5a980d030fd5ad07c4d2ec589f95f09905", size = 7007477, upload-time = "2025-10-15T18:22:46.838Z" }, + { url = "https://files.pythonhosted.org/packages/77/f0/72ea067f4b5ae5ead653053212af05ce3705807906ba3f3e8f58ddf617e6/pillow-12.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:9f0b04c6b8584c2c193babcccc908b38ed29524b29dd464bc8801bf10d746a3a", size = 2435918, upload-time = "2025-10-15T18:22:48.399Z" }, + { url = "https://files.pythonhosted.org/packages/f5/5e/9046b423735c21f0487ea6cb5b10f89ea8f8dfbe32576fe052b5ba9d4e5b/pillow-12.0.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:7fa22993bac7b77b78cae22bad1e2a987ddf0d9015c63358032f84a53f23cdc3", size = 5251406, upload-time = "2025-10-15T18:22:49.905Z" }, + { url = "https://files.pythonhosted.org/packages/12/66/982ceebcdb13c97270ef7a56c3969635b4ee7cd45227fa707c94719229c5/pillow-12.0.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f135c702ac42262573fe9714dfe99c944b4ba307af5eb507abef1667e2cbbced", size = 4653218, upload-time = "2025-10-15T18:22:51.587Z" }, + { url = "https://files.pythonhosted.org/packages/16/b3/81e625524688c31859450119bf12674619429cab3119eec0e30a7a1029cb/pillow-12.0.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:c85de1136429c524e55cfa4e033b4a7940ac5c8ee4d9401cc2d1bf48154bbc7b", size = 6266564, upload-time = "2025-10-15T18:22:53.215Z" }, + { url = "https://files.pythonhosted.org/packages/98/59/dfb38f2a41240d2408096e1a76c671d0a105a4a8471b1871c6902719450c/pillow-12.0.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:38df9b4bfd3db902c9c2bd369bcacaf9d935b2fff73709429d95cc41554f7b3d", size = 8069260, upload-time = "2025-10-15T18:22:54.933Z" }, + { url = "https://files.pythonhosted.org/packages/dc/3d/378dbea5cd1874b94c312425ca77b0f47776c78e0df2df751b820c8c1d6c/pillow-12.0.0-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7d87ef5795da03d742bf49439f9ca4d027cde49c82c5371ba52464aee266699a", size = 6379248, upload-time = "2025-10-15T18:22:56.605Z" }, + { url = "https://files.pythonhosted.org/packages/84/b0/d525ef47d71590f1621510327acec75ae58c721dc071b17d8d652ca494d8/pillow-12.0.0-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:aff9e4d82d082ff9513bdd6acd4f5bd359f5b2c870907d2b0a9c5e10d40c88fe", size = 7066043, upload-time = "2025-10-15T18:22:58.53Z" }, + { url = "https://files.pythonhosted.org/packages/61/2c/aced60e9cf9d0cde341d54bf7932c9ffc33ddb4a1595798b3a5150c7ec4e/pillow-12.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:8d8ca2b210ada074d57fcee40c30446c9562e542fc46aedc19baf758a93532ee", size = 6490915, upload-time = "2025-10-15T18:23:00.582Z" }, + { url = "https://files.pythonhosted.org/packages/ef/26/69dcb9b91f4e59f8f34b2332a4a0a951b44f547c4ed39d3e4dcfcff48f89/pillow-12.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:99a7f72fb6249302aa62245680754862a44179b545ded638cf1fef59befb57ef", size = 7157998, upload-time = "2025-10-15T18:23:02.627Z" }, + { url = "https://files.pythonhosted.org/packages/61/2b/726235842220ca95fa441ddf55dd2382b52ab5b8d9c0596fe6b3f23dafe8/pillow-12.0.0-cp313-cp313t-win32.whl", hash = "sha256:4078242472387600b2ce8d93ade8899c12bf33fa89e55ec89fe126e9d6d5d9e9", size = 6306201, upload-time = "2025-10-15T18:23:04.709Z" }, + { url = "https://files.pythonhosted.org/packages/c0/3d/2afaf4e840b2df71344ababf2f8edd75a705ce500e5dc1e7227808312ae1/pillow-12.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:2c54c1a783d6d60595d3514f0efe9b37c8808746a66920315bfd34a938d7994b", size = 7013165, upload-time = "2025-10-15T18:23:06.46Z" }, + { url = "https://files.pythonhosted.org/packages/6f/75/3fa09aa5cf6ed04bee3fa575798ddf1ce0bace8edb47249c798077a81f7f/pillow-12.0.0-cp313-cp313t-win_arm64.whl", hash = "sha256:26d9f7d2b604cd23aba3e9faf795787456ac25634d82cd060556998e39c6fa47", size = 2437834, upload-time = "2025-10-15T18:23:08.194Z" }, + { url = "https://files.pythonhosted.org/packages/54/2a/9a8c6ba2c2c07b71bec92cf63e03370ca5e5f5c5b119b742bcc0cde3f9c5/pillow-12.0.0-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:beeae3f27f62308f1ddbcfb0690bf44b10732f2ef43758f169d5e9303165d3f9", size = 4045531, upload-time = "2025-10-15T18:23:10.121Z" }, + { url = "https://files.pythonhosted.org/packages/84/54/836fdbf1bfb3d66a59f0189ff0b9f5f666cee09c6188309300df04ad71fa/pillow-12.0.0-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:d4827615da15cd59784ce39d3388275ec093ae3ee8d7f0c089b76fa87af756c2", size = 4120554, upload-time = "2025-10-15T18:23:12.14Z" }, + { url = "https://files.pythonhosted.org/packages/0d/cd/16aec9f0da4793e98e6b54778a5fbce4f375c6646fe662e80600b8797379/pillow-12.0.0-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:3e42edad50b6909089750e65c91aa09aaf1e0a71310d383f11321b27c224ed8a", size = 3576812, upload-time = "2025-10-15T18:23:13.962Z" }, + { url = "https://files.pythonhosted.org/packages/f6/b7/13957fda356dc46339298b351cae0d327704986337c3c69bb54628c88155/pillow-12.0.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:e5d8efac84c9afcb40914ab49ba063d94f5dbdf5066db4482c66a992f47a3a3b", size = 5252689, upload-time = "2025-10-15T18:23:15.562Z" }, + { url = "https://files.pythonhosted.org/packages/fc/f5/eae31a306341d8f331f43edb2e9122c7661b975433de5e447939ae61c5da/pillow-12.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:266cd5f2b63ff316d5a1bba46268e603c9caf5606d44f38c2873c380950576ad", size = 4650186, upload-time = "2025-10-15T18:23:17.379Z" }, + { url = "https://files.pythonhosted.org/packages/86/62/2a88339aa40c4c77e79108facbd307d6091e2c0eb5b8d3cf4977cfca2fe6/pillow-12.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:58eea5ebe51504057dd95c5b77d21700b77615ab0243d8152793dc00eb4faf01", size = 6230308, upload-time = "2025-10-15T18:23:18.971Z" }, + { url = "https://files.pythonhosted.org/packages/c7/33/5425a8992bcb32d1cb9fa3dd39a89e613d09a22f2c8083b7bf43c455f760/pillow-12.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:f13711b1a5ba512d647a0e4ba79280d3a9a045aaf7e0cc6fbe96b91d4cdf6b0c", size = 8039222, upload-time = "2025-10-15T18:23:20.909Z" }, + { url = "https://files.pythonhosted.org/packages/d8/61/3f5d3b35c5728f37953d3eec5b5f3e77111949523bd2dd7f31a851e50690/pillow-12.0.0-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6846bd2d116ff42cba6b646edf5bf61d37e5cbd256425fa089fee4ff5c07a99e", size = 6346657, upload-time = "2025-10-15T18:23:23.077Z" }, + { url = "https://files.pythonhosted.org/packages/3a/be/ee90a3d79271227e0f0a33c453531efd6ed14b2e708596ba5dd9be948da3/pillow-12.0.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c98fa880d695de164b4135a52fd2e9cd7b7c90a9d8ac5e9e443a24a95ef9248e", size = 7038482, upload-time = "2025-10-15T18:23:25.005Z" }, + { url = "https://files.pythonhosted.org/packages/44/34/a16b6a4d1ad727de390e9bd9f19f5f669e079e5826ec0f329010ddea492f/pillow-12.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fa3ed2a29a9e9d2d488b4da81dcb54720ac3104a20bf0bd273f1e4648aff5af9", size = 6461416, upload-time = "2025-10-15T18:23:27.009Z" }, + { url = "https://files.pythonhosted.org/packages/b6/39/1aa5850d2ade7d7ba9f54e4e4c17077244ff7a2d9e25998c38a29749eb3f/pillow-12.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d034140032870024e6b9892c692fe2968493790dd57208b2c37e3fb35f6df3ab", size = 7131584, upload-time = "2025-10-15T18:23:29.752Z" }, + { url = "https://files.pythonhosted.org/packages/bf/db/4fae862f8fad0167073a7733973bfa955f47e2cac3dc3e3e6257d10fab4a/pillow-12.0.0-cp314-cp314-win32.whl", hash = "sha256:1b1b133e6e16105f524a8dec491e0586d072948ce15c9b914e41cdadd209052b", size = 6400621, upload-time = "2025-10-15T18:23:32.06Z" }, + { url = "https://files.pythonhosted.org/packages/2b/24/b350c31543fb0107ab2599464d7e28e6f856027aadda995022e695313d94/pillow-12.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:8dc232e39d409036af549c86f24aed8273a40ffa459981146829a324e0848b4b", size = 7142916, upload-time = "2025-10-15T18:23:34.71Z" }, + { url = "https://files.pythonhosted.org/packages/0f/9b/0ba5a6fd9351793996ef7487c4fdbde8d3f5f75dbedc093bb598648fddf0/pillow-12.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:d52610d51e265a51518692045e372a4c363056130d922a7351429ac9f27e70b0", size = 2523836, upload-time = "2025-10-15T18:23:36.967Z" }, + { url = "https://files.pythonhosted.org/packages/f5/7a/ceee0840aebc579af529b523d530840338ecf63992395842e54edc805987/pillow-12.0.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:1979f4566bb96c1e50a62d9831e2ea2d1211761e5662afc545fa766f996632f6", size = 5255092, upload-time = "2025-10-15T18:23:38.573Z" }, + { url = "https://files.pythonhosted.org/packages/44/76/20776057b4bfd1aef4eeca992ebde0f53a4dce874f3ae693d0ec90a4f79b/pillow-12.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:b2e4b27a6e15b04832fe9bf292b94b5ca156016bbc1ea9c2c20098a0320d6cf6", size = 4653158, upload-time = "2025-10-15T18:23:40.238Z" }, + { url = "https://files.pythonhosted.org/packages/82/3f/d9ff92ace07be8836b4e7e87e6a4c7a8318d47c2f1463ffcf121fc57d9cb/pillow-12.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:fb3096c30df99fd01c7bf8e544f392103d0795b9f98ba71a8054bcbf56b255f1", size = 6267882, upload-time = "2025-10-15T18:23:42.434Z" }, + { url = "https://files.pythonhosted.org/packages/9f/7a/4f7ff87f00d3ad33ba21af78bfcd2f032107710baf8280e3722ceec28cda/pillow-12.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7438839e9e053ef79f7112c881cef684013855016f928b168b81ed5835f3e75e", size = 8071001, upload-time = "2025-10-15T18:23:44.29Z" }, + { url = "https://files.pythonhosted.org/packages/75/87/fcea108944a52dad8cca0715ae6247e271eb80459364a98518f1e4f480c1/pillow-12.0.0-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5d5c411a8eaa2299322b647cd932586b1427367fd3184ffbb8f7a219ea2041ca", size = 6380146, upload-time = "2025-10-15T18:23:46.065Z" }, + { url = "https://files.pythonhosted.org/packages/91/52/0d31b5e571ef5fd111d2978b84603fce26aba1b6092f28e941cb46570745/pillow-12.0.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d7e091d464ac59d2c7ad8e7e08105eaf9dafbc3883fd7265ffccc2baad6ac925", size = 7067344, upload-time = "2025-10-15T18:23:47.898Z" }, + { url = "https://files.pythonhosted.org/packages/7b/f4/2dd3d721f875f928d48e83bb30a434dee75a2531bca839bb996bb0aa5a91/pillow-12.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:792a2c0be4dcc18af9d4a2dfd8a11a17d5e25274a1062b0ec1c2d79c76f3e7f8", size = 6491864, upload-time = "2025-10-15T18:23:49.607Z" }, + { url = "https://files.pythonhosted.org/packages/30/4b/667dfcf3d61fc309ba5a15b141845cece5915e39b99c1ceab0f34bf1d124/pillow-12.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:afbefa430092f71a9593a99ab6a4e7538bc9eabbf7bf94f91510d3503943edc4", size = 7158911, upload-time = "2025-10-15T18:23:51.351Z" }, + { url = "https://files.pythonhosted.org/packages/a2/2f/16cabcc6426c32218ace36bf0d55955e813f2958afddbf1d391849fee9d1/pillow-12.0.0-cp314-cp314t-win32.whl", hash = "sha256:3830c769decf88f1289680a59d4f4c46c72573446352e2befec9a8512104fa52", size = 6408045, upload-time = "2025-10-15T18:23:53.177Z" }, + { url = "https://files.pythonhosted.org/packages/35/73/e29aa0c9c666cf787628d3f0dcf379f4791fba79f4936d02f8b37165bdf8/pillow-12.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:905b0365b210c73afb0ebe9101a32572152dfd1c144c7e28968a331b9217b94a", size = 7148282, upload-time = "2025-10-15T18:23:55.316Z" }, + { url = "https://files.pythonhosted.org/packages/c1/70/6b41bdcddf541b437bbb9f47f94d2db5d9ddef6c37ccab8c9107743748a4/pillow-12.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:99353a06902c2e43b43e8ff74ee65a7d90307d82370604746738a1e0661ccca7", size = 2525630, upload-time = "2025-10-15T18:23:57.149Z" }, + { url = "https://files.pythonhosted.org/packages/1d/b3/582327e6c9f86d037b63beebe981425d6811104cb443e8193824ef1a2f27/pillow-12.0.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:b22bd8c974942477156be55a768f7aa37c46904c175be4e158b6a86e3a6b7ca8", size = 5215068, upload-time = "2025-10-15T18:23:59.594Z" }, + { url = "https://files.pythonhosted.org/packages/fd/d6/67748211d119f3b6540baf90f92fae73ae51d5217b171b0e8b5f7e5d558f/pillow-12.0.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:805ebf596939e48dbb2e4922a1d3852cfc25c38160751ce02da93058b48d252a", size = 4614994, upload-time = "2025-10-15T18:24:01.669Z" }, + { url = "https://files.pythonhosted.org/packages/2d/e1/f8281e5d844c41872b273b9f2c34a4bf64ca08905668c8ae730eedc7c9fa/pillow-12.0.0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cae81479f77420d217def5f54b5b9d279804d17e982e0f2fa19b1d1e14ab5197", size = 5246639, upload-time = "2025-10-15T18:24:03.403Z" }, + { url = "https://files.pythonhosted.org/packages/94/5a/0d8ab8ffe8a102ff5df60d0de5af309015163bf710c7bb3e8311dd3b3ad0/pillow-12.0.0-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:aeaefa96c768fc66818730b952a862235d68825c178f1b3ffd4efd7ad2edcb7c", size = 6986839, upload-time = "2025-10-15T18:24:05.344Z" }, + { url = "https://files.pythonhosted.org/packages/20/2e/3434380e8110b76cd9eb00a363c484b050f949b4bbe84ba770bb8508a02c/pillow-12.0.0-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:09f2d0abef9e4e2f349305a4f8cc784a8a6c2f58a8c4892eea13b10a943bd26e", size = 5313505, upload-time = "2025-10-15T18:24:07.137Z" }, + { url = "https://files.pythonhosted.org/packages/57/ca/5a9d38900d9d74785141d6580950fe705de68af735ff6e727cb911b64740/pillow-12.0.0-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bdee52571a343d721fb2eb3b090a82d959ff37fc631e3f70422e0c2e029f3e76", size = 5963654, upload-time = "2025-10-15T18:24:09.579Z" }, + { url = "https://files.pythonhosted.org/packages/95/7e/f896623c3c635a90537ac093c6a618ebe1a90d87206e42309cb5d98a1b9e/pillow-12.0.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:b290fd8aa38422444d4b50d579de197557f182ef1068b75f5aa8558638b8d0a5", size = 6997850, upload-time = "2025-10-15T18:24:11.495Z" }, +] + [[package]] name = "platformdirs" version = "4.4.0" @@ -586,6 +1874,120 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl", hash = "sha256:9aac639a3bbd33284347de5ad8d68ecc044b91a762dc39b7c21095fcd6a19955", size = 391431, upload-time = "2025-08-27T15:23:59.498Z" }, ] +[[package]] +name = "propcache" +version = "0.4.1" +source = { registry = "https://pypi.org/simple" } +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/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]] name = "ptyprocess" version = "0.7.0" @@ -604,6 +2006,63 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842, upload-time = "2024-07-21T12:58:20.04Z" }, ] +[[package]] +name = "pyarrow" +version = "23.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/01/33/ffd9c3eb087fa41dd79c3cf20c4c0ae3cdb877c4f8e1107a446006344924/pyarrow-23.0.0.tar.gz", hash = "sha256:180e3150e7edfcd182d3d9afba72f7cf19839a497cc76555a8dce998a8f67615", size = 1167185, upload-time = "2026-01-18T16:19:42.218Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ae/2f/23e042a5aa99bcb15e794e14030e8d065e00827e846e53a66faec73c7cd6/pyarrow-23.0.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:cbdc2bf5947aa4d462adcf8453cf04aee2f7932653cb67a27acd96e5e8528a67", size = 34281861, upload-time = "2026-01-18T16:13:34.332Z" }, + { url = "https://files.pythonhosted.org/packages/8b/65/1651933f504b335ec9cd8f99463718421eb08d883ed84f0abd2835a16cad/pyarrow-23.0.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:4d38c836930ce15cd31dce20114b21ba082da231c884bdc0a7b53e1477fe7f07", size = 35825067, upload-time = "2026-01-18T16:13:42.549Z" }, + { url = "https://files.pythonhosted.org/packages/84/ec/d6fceaec050c893f4e35c0556b77d4cc9973fcc24b0a358a5781b1234582/pyarrow-23.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:4222ff8f76919ecf6c716175a0e5fddb5599faeed4c56d9ea41a2c42be4998b2", size = 44458539, upload-time = "2026-01-18T16:13:52.975Z" }, + { url = "https://files.pythonhosted.org/packages/fd/d9/369f134d652b21db62fe3ec1c5c2357e695f79eb67394b8a93f3a2b2cffa/pyarrow-23.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:87f06159cbe38125852657716889296c83c37b4d09a5e58f3d10245fd1f69795", size = 47535889, upload-time = "2026-01-18T16:14:03.693Z" }, + { url = "https://files.pythonhosted.org/packages/a3/95/f37b6a252fdbf247a67a78fb3f61a529fe0600e304c4d07741763d3522b1/pyarrow-23.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:1675c374570d8b91ea6d4edd4608fa55951acd44e0c31bd146e091b4005de24f", size = 48157777, upload-time = "2026-01-18T16:14:12.483Z" }, + { url = "https://files.pythonhosted.org/packages/ab/ab/fb94923108c9c6415dab677cf1f066d3307798eafc03f9a65ab4abc61056/pyarrow-23.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:247374428fde4f668f138b04031a7e7077ba5fa0b5b1722fdf89a017bf0b7ee0", size = 50580441, upload-time = "2026-01-18T16:14:20.187Z" }, + { url = "https://files.pythonhosted.org/packages/ae/78/897ba6337b517fc8e914891e1bd918da1c4eb8e936a553e95862e67b80f6/pyarrow-23.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:de53b1bd3b88a2ee93c9af412c903e57e738c083be4f6392288294513cd8b2c1", size = 27530028, upload-time = "2026-01-18T16:14:27.353Z" }, + { url = "https://files.pythonhosted.org/packages/aa/c0/57fe251102ca834fee0ef69a84ad33cc0ff9d5dfc50f50b466846356ecd7/pyarrow-23.0.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:5574d541923efcbfdf1294a2746ae3b8c2498a2dc6cd477882f6f4e7b1ac08d3", size = 34276762, upload-time = "2026-01-18T16:14:34.128Z" }, + { url = "https://files.pythonhosted.org/packages/f8/4e/24130286548a5bc250cbed0b6bbf289a2775378a6e0e6f086ae8c68fc098/pyarrow-23.0.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:2ef0075c2488932e9d3c2eb3482f9459c4be629aa673b725d5e3cf18f777f8e4", size = 35821420, upload-time = "2026-01-18T16:14:40.699Z" }, + { url = "https://files.pythonhosted.org/packages/ee/55/a869e8529d487aa2e842d6c8865eb1e2c9ec33ce2786eb91104d2c3e3f10/pyarrow-23.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:65666fc269669af1ef1c14478c52222a2aa5c907f28b68fb50a203c777e4f60c", size = 44457412, upload-time = "2026-01-18T16:14:49.051Z" }, + { url = "https://files.pythonhosted.org/packages/36/81/1de4f0edfa9a483bbdf0082a05790bd6a20ed2169ea12a65039753be3a01/pyarrow-23.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:4d85cb6177198f3812db4788e394b757223f60d9a9f5ad6634b3e32be1525803", size = 47534285, upload-time = "2026-01-18T16:14:56.748Z" }, + { url = "https://files.pythonhosted.org/packages/f2/04/464a052d673b5ece074518f27377861662449f3c1fdb39ce740d646fd098/pyarrow-23.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1a9ff6fa4141c24a03a1a434c63c8fa97ce70f8f36bccabc18ebba905ddf0f17", size = 48157913, upload-time = "2026-01-18T16:15:05.114Z" }, + { url = "https://files.pythonhosted.org/packages/f4/1b/32a4de9856ee6688c670ca2def588382e573cce45241a965af04c2f61687/pyarrow-23.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:84839d060a54ae734eb60a756aeacb62885244aaa282f3c968f5972ecc7b1ecc", size = 50582529, upload-time = "2026-01-18T16:15:12.846Z" }, + { url = "https://files.pythonhosted.org/packages/db/c7/d6581f03e9b9e44ea60b52d1750ee1a7678c484c06f939f45365a45f7eef/pyarrow-23.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:a149a647dbfe928ce8830a713612aa0b16e22c64feac9d1761529778e4d4eaa5", size = 27542646, upload-time = "2026-01-18T16:15:18.89Z" }, + { url = "https://files.pythonhosted.org/packages/3d/bd/c861d020831ee57609b73ea721a617985ece817684dc82415b0bc3e03ac3/pyarrow-23.0.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:5961a9f646c232697c24f54d3419e69b4261ba8a8b66b0ac54a1851faffcbab8", size = 34189116, upload-time = "2026-01-18T16:15:28.054Z" }, + { url = "https://files.pythonhosted.org/packages/8c/23/7725ad6cdcbaf6346221391e7b3eecd113684c805b0a95f32014e6fa0736/pyarrow-23.0.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:632b3e7c3d232f41d64e1a4a043fb82d44f8a349f339a1188c6a0dd9d2d47d8a", size = 35803831, upload-time = "2026-01-18T16:15:33.798Z" }, + { url = "https://files.pythonhosted.org/packages/57/06/684a421543455cdc2944d6a0c2cc3425b028a4c6b90e34b35580c4899743/pyarrow-23.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:76242c846db1411f1d6c2cc3823be6b86b40567ee24493344f8226ba34a81333", size = 44436452, upload-time = "2026-01-18T16:15:41.598Z" }, + { url = "https://files.pythonhosted.org/packages/c6/6f/8f9eb40c2328d66e8b097777ddcf38494115ff9f1b5bc9754ba46991191e/pyarrow-23.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:b73519f8b52ae28127000986bf228fda781e81d3095cd2d3ece76eb5cf760e1b", size = 47557396, upload-time = "2026-01-18T16:15:51.252Z" }, + { url = "https://files.pythonhosted.org/packages/10/6e/f08075f1472e5159553501fde2cc7bc6700944bdabe49a03f8a035ee6ccd/pyarrow-23.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:068701f6823449b1b6469120f399a1239766b117d211c5d2519d4ed5861f75de", size = 48147129, upload-time = "2026-01-18T16:16:00.299Z" }, + { url = "https://files.pythonhosted.org/packages/7d/82/d5a680cd507deed62d141cc7f07f7944a6766fc51019f7f118e4d8ad0fb8/pyarrow-23.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1801ba947015d10e23bca9dd6ef5d0e9064a81569a89b6e9a63b59224fd060df", size = 50596642, upload-time = "2026-01-18T16:16:08.502Z" }, + { url = "https://files.pythonhosted.org/packages/a9/26/4f29c61b3dce9fa7780303b86895ec6a0917c9af927101daaaf118fbe462/pyarrow-23.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:52265266201ec25b6839bf6bd4ea918ca6d50f31d13e1cf200b4261cd11dc25c", size = 27660628, upload-time = "2026-01-18T16:16:15.28Z" }, + { url = "https://files.pythonhosted.org/packages/66/34/564db447d083ec7ff93e0a883a597d2f214e552823bfc178a2d0b1f2c257/pyarrow-23.0.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:ad96a597547af7827342ffb3c503c8316e5043bb09b47a84885ce39394c96e00", size = 34184630, upload-time = "2026-01-18T16:16:22.141Z" }, + { url = "https://files.pythonhosted.org/packages/aa/3a/3999daebcb5e6119690c92a621c4d78eef2ffba7a0a1b56386d2875fcd77/pyarrow-23.0.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:b9edf990df77c2901e79608f08c13fbde60202334a4fcadb15c1f57bf7afee43", size = 35796820, upload-time = "2026-01-18T16:16:29.441Z" }, + { url = "https://files.pythonhosted.org/packages/ec/ee/39195233056c6a8d0976d7d1ac1cd4fe21fb0ec534eca76bc23ef3f60e11/pyarrow-23.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:36d1b5bc6ddcaff0083ceec7e2561ed61a51f49cce8be079ee8ed406acb6fdef", size = 44438735, upload-time = "2026-01-18T16:16:38.79Z" }, + { url = "https://files.pythonhosted.org/packages/2c/41/6a7328ee493527e7afc0c88d105ecca69a3580e29f2faaeac29308369fd7/pyarrow-23.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:4292b889cd224f403304ddda8b63a36e60f92911f89927ec8d98021845ea21be", size = 47557263, upload-time = "2026-01-18T16:16:46.248Z" }, + { url = "https://files.pythonhosted.org/packages/c6/ee/34e95b21ee84db494eae60083ddb4383477b31fb1fd19fd866d794881696/pyarrow-23.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:dfd9e133e60eaa847fd80530a1b89a052f09f695d0b9c34c235ea6b2e0924cf7", size = 48153529, upload-time = "2026-01-18T16:16:53.412Z" }, + { url = "https://files.pythonhosted.org/packages/52/88/8a8d83cea30f4563efa1b7bf51d241331ee5cd1b185a7e063f5634eca415/pyarrow-23.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:832141cc09fac6aab1cd3719951d23301396968de87080c57c9a7634e0ecd068", size = 50598851, upload-time = "2026-01-18T16:17:01.133Z" }, + { url = "https://files.pythonhosted.org/packages/c6/4c/2929c4be88723ba025e7b3453047dc67e491c9422965c141d24bab6b5962/pyarrow-23.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:7a7d067c9a88faca655c71bcc30ee2782038d59c802d57950826a07f60d83c4c", size = 27577747, upload-time = "2026-01-18T16:18:02.413Z" }, + { url = "https://files.pythonhosted.org/packages/64/52/564a61b0b82d72bd68ec3aef1adda1e3eba776f89134b9ebcb5af4b13cb6/pyarrow-23.0.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:ce9486e0535a843cf85d990e2ec5820a47918235183a5c7b8b97ed7e92c2d47d", size = 34446038, upload-time = "2026-01-18T16:17:07.861Z" }, + { url = "https://files.pythonhosted.org/packages/cc/c9/232d4f9855fd1de0067c8a7808a363230d223c83aeee75e0fe6eab851ba9/pyarrow-23.0.0-cp313-cp313t-macosx_12_0_x86_64.whl", hash = "sha256:075c29aeaa685fd1182992a9ed2499c66f084ee54eea47da3eb76e125e06064c", size = 35921142, upload-time = "2026-01-18T16:17:15.401Z" }, + { url = "https://files.pythonhosted.org/packages/96/f2/60af606a3748367b906bb82d41f0032e059f075444445d47e32a7ff1df62/pyarrow-23.0.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:799965a5379589510d888be3094c2296efd186a17ca1cef5b77703d4d5121f53", size = 44490374, upload-time = "2026-01-18T16:17:23.93Z" }, + { url = "https://files.pythonhosted.org/packages/ff/2d/7731543050a678ea3a413955a2d5d80d2a642f270aa57a3cb7d5a86e3f46/pyarrow-23.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:ef7cac8fe6fccd8b9e7617bfac785b0371a7fe26af59463074e4882747145d40", size = 47527896, upload-time = "2026-01-18T16:17:33.393Z" }, + { url = "https://files.pythonhosted.org/packages/5a/90/f3342553b7ac9879413aed46500f1637296f3c8222107523a43a1c08b42a/pyarrow-23.0.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15a414f710dc927132dd67c361f78c194447479555af57317066ee5116b90e9e", size = 48210401, upload-time = "2026-01-18T16:17:42.012Z" }, + { url = "https://files.pythonhosted.org/packages/f3/da/9862ade205ecc46c172b6ce5038a74b5151c7401e36255f15975a45878b2/pyarrow-23.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:3e0d2e6915eca7d786be6a77bf227fbc06d825a75b5b5fe9bcbef121dec32685", size = 50579677, upload-time = "2026-01-18T16:17:50.241Z" }, + { url = "https://files.pythonhosted.org/packages/c2/4c/f11f371f5d4740a5dafc2e11c76bcf42d03dfdb2d68696da97de420b6963/pyarrow-23.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:4b317ea6e800b5704e5e5929acb6e2dc13e9276b708ea97a39eb8b345aa2658b", size = 27631889, upload-time = "2026-01-18T16:17:56.55Z" }, + { url = "https://files.pythonhosted.org/packages/97/bb/15aec78bcf43a0c004067bd33eb5352836a29a49db8581fc56f2b6ca88b7/pyarrow-23.0.0-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:20b187ed9550d233a872074159f765f52f9d92973191cd4b93f293a19efbe377", size = 34213265, upload-time = "2026-01-18T16:18:07.904Z" }, + { url = "https://files.pythonhosted.org/packages/f6/6c/deb2c594bbba41c37c5d9aa82f510376998352aa69dfcb886cb4b18ad80f/pyarrow-23.0.0-cp314-cp314-macosx_12_0_x86_64.whl", hash = "sha256:18ec84e839b493c3886b9b5e06861962ab4adfaeb79b81c76afbd8d84c7d5fda", size = 35819211, upload-time = "2026-01-18T16:18:13.94Z" }, + { url = "https://files.pythonhosted.org/packages/e0/e5/ee82af693cb7b5b2b74f6524cdfede0e6ace779d7720ebca24d68b57c36b/pyarrow-23.0.0-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:e438dd3f33894e34fd02b26bd12a32d30d006f5852315f611aa4add6c7fab4bc", size = 44502313, upload-time = "2026-01-18T16:18:20.367Z" }, + { url = "https://files.pythonhosted.org/packages/9c/86/95c61ad82236495f3c31987e85135926ba3ec7f3819296b70a68d8066b49/pyarrow-23.0.0-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:a244279f240c81f135631be91146d7fa0e9e840e1dfed2aba8483eba25cd98e6", size = 47585886, upload-time = "2026-01-18T16:18:27.544Z" }, + { url = "https://files.pythonhosted.org/packages/bb/6e/a72d901f305201802f016d015de1e05def7706fff68a1dedefef5dc7eff7/pyarrow-23.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c4692e83e42438dba512a570c6eaa42be2f8b6c0f492aea27dec54bdc495103a", size = 48207055, upload-time = "2026-01-18T16:18:35.425Z" }, + { url = "https://files.pythonhosted.org/packages/f9/e5/5de029c537630ca18828db45c30e2a78da03675a70ac6c3528203c416fe3/pyarrow-23.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:ae7f30f898dfe44ea69654a35c93e8da4cef6606dc4c72394068fd95f8e9f54a", size = 50619812, upload-time = "2026-01-18T16:18:43.553Z" }, + { url = "https://files.pythonhosted.org/packages/59/8d/2af846cd2412e67a087f5bda4a8e23dfd4ebd570f777db2e8686615dafc1/pyarrow-23.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:5b86bb649e4112fb0614294b7d0a175c7513738876b89655605ebb87c804f861", size = 28263851, upload-time = "2026-01-18T16:19:38.567Z" }, + { url = "https://files.pythonhosted.org/packages/7b/7f/caab863e587041156f6786c52e64151b7386742c8c27140f637176e9230e/pyarrow-23.0.0-cp314-cp314t-macosx_12_0_arm64.whl", hash = "sha256:ebc017d765d71d80a3f8584ca0566b53e40464586585ac64176115baa0ada7d3", size = 34463240, upload-time = "2026-01-18T16:18:49.755Z" }, + { url = "https://files.pythonhosted.org/packages/c9/fa/3a5b8c86c958e83622b40865e11af0857c48ec763c11d472c87cd518283d/pyarrow-23.0.0-cp314-cp314t-macosx_12_0_x86_64.whl", hash = "sha256:0800cc58a6d17d159df823f87ad66cefebf105b982493d4bad03ee7fab84b993", size = 35935712, upload-time = "2026-01-18T16:18:55.626Z" }, + { url = "https://files.pythonhosted.org/packages/c5/08/17a62078fc1a53decb34a9aa79cf9009efc74d63d2422e5ade9fed2f99e3/pyarrow-23.0.0-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:3a7c68c722da9bb5b0f8c10e3eae71d9825a4b429b40b32709df5d1fa55beb3d", size = 44503523, upload-time = "2026-01-18T16:19:03.958Z" }, + { url = "https://files.pythonhosted.org/packages/cc/70/84d45c74341e798aae0323d33b7c39194e23b1abc439ceaf60a68a7a969a/pyarrow-23.0.0-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:bd5556c24622df90551063ea41f559b714aa63ca953db884cfb958559087a14e", size = 47542490, upload-time = "2026-01-18T16:19:11.208Z" }, + { url = "https://files.pythonhosted.org/packages/61/d9/d1274b0e6f19e235de17441e53224f4716574b2ca837022d55702f24d71d/pyarrow-23.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:54810f6e6afc4ffee7c2e0051b61722fbea9a4961b46192dcfae8ea12fa09059", size = 48233605, upload-time = "2026-01-18T16:19:19.544Z" }, + { url = "https://files.pythonhosted.org/packages/39/07/e4e2d568cb57543d84482f61e510732820cddb0f47c4bb7df629abfed852/pyarrow-23.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:14de7d48052cf4b0ed174533eafa3cfe0711b8076ad70bede32cf59f744f0d7c", size = 50603979, upload-time = "2026-01-18T16:19:26.717Z" }, + { url = "https://files.pythonhosted.org/packages/72/9c/47693463894b610f8439b2e970b82ef81e9599c757bf2049365e40ff963c/pyarrow-23.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:427deac1f535830a744a4f04a6ac183a64fcac4341b3f618e693c41b7b98d2b0", size = 28338905, upload-time = "2026-01-18T16:19:32.93Z" }, +] + [[package]] name = "pygments" version = "2.19.2" @@ -613,6 +2072,15 @@ 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 = "pyparsing" +version = "3.2.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f2/a5/181488fc2b9d093e3972d2a472855aae8a03f000592dbfce716a512b3359/pyparsing-3.2.5.tar.gz", hash = "sha256:2df8d5b7b2802ef88e8d016a2eb9c7aeaa923529cd251ed0fe4608275d4105b6", size = 1099274, upload-time = "2025-09-21T04:11:06.277Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/10/5e/1aa9a93198c6b64513c9d7752de7422c06402de6600a8767da1524f9570b/pyparsing-3.2.5-py3-none-any.whl", hash = "sha256:e38a4f02064cf41fe6593d328d0512495ad1f3d8a91c4f73fc401b3079a59a5e", size = 113890, upload-time = "2025-09-21T04:11:04.117Z" }, +] + [[package]] name = "pytest" version = "8.4.2" @@ -669,6 +2137,27 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/5b/4b/d95b052f87db89a2383233c0754c45f6d3b427b7a4bcb771ac9316a6fae1/pytest_coverage-0.0-py2.py3-none-any.whl", hash = "sha256:dedd084c5e74d8e669355325916dc011539b190355021b037242514dee546368", size = 2013, upload-time = "2015-06-17T22:08:36.771Z" }, ] +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + +[[package]] +name = "pytz" +version = "2025.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3", size = 320884, upload-time = "2025-03-25T02:25:00.538Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225, upload-time = "2025-03-25T02:24:58.468Z" }, +] + [[package]] name = "pyversity" source = { editable = "." } @@ -678,6 +2167,17 @@ dependencies = [ ] [package.optional-dependencies] +benchmarks = [ + { name = "datasets" }, + { name = "matplotlib" }, + { name = "pandas" }, + { name = "requests" }, + { name = "scikit-learn" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "scipy", version = "1.16.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "seaborn" }, + { name = "tqdm" }, +] dev = [ { name = "ipython", version = "8.37.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, { name = "ipython", version = "9.6.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, @@ -686,19 +2186,43 @@ dev = [ { name = "pytest" }, { name = "pytest-coverage" }, { name = "ruff" }, + { name = "types-requests" }, +] + +[package.dev-dependencies] +dev = [ + { name = "datasets" }, + { name = "huggingface-hub" }, + { name = "tqdm" }, ] [package.metadata] requires-dist = [ + { name = "datasets", marker = "extra == 'benchmarks'" }, { name = "ipython", marker = "extra == 'dev'" }, + { name = "matplotlib", marker = "extra == 'benchmarks'" }, { name = "mypy", marker = "extra == 'dev'" }, { name = "numpy" }, + { name = "pandas", marker = "extra == 'benchmarks'" }, { name = "pre-commit", marker = "extra == 'dev'" }, { name = "pytest", marker = "extra == 'dev'" }, { name = "pytest-coverage", marker = "extra == 'dev'" }, + { name = "requests", marker = "extra == 'benchmarks'" }, { name = "ruff", marker = "extra == 'dev'" }, + { name = "scikit-learn", marker = "extra == 'benchmarks'" }, + { name = "scipy", marker = "extra == 'benchmarks'" }, + { name = "seaborn", marker = "extra == 'benchmarks'" }, + { name = "tqdm", marker = "extra == 'benchmarks'" }, + { name = "types-requests", marker = "extra == 'dev'" }, +] +provides-extras = ["dev", "benchmarks"] + +[package.metadata.requires-dev] +dev = [ + { name = "datasets", specifier = ">=4.5.0" }, + { name = "huggingface-hub", specifier = ">=1.3.2" }, + { name = "tqdm", specifier = ">=4.67.1" }, ] -provides-extras = ["dev"] [[package]] name = "pyyaml" @@ -764,6 +2288,21 @@ wheels = [ { 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" }, ] +[[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 = "ruff" version = "0.14.0" @@ -790,6 +2329,219 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c6/2a/65880dfd0e13f7f13a775998f34703674a4554906167dce02daf7865b954/ruff-0.14.0-py3-none-win_arm64.whl", hash = "sha256:f42c9495f5c13ff841b1da4cb3c2a42075409592825dada7c5885c2c844ac730", size = 12565142, upload-time = "2025-10-07T18:21:53.577Z" }, ] +[[package]] +name = "scikit-learn" +version = "1.7.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "joblib" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "scipy", version = "1.15.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "scipy", version = "1.16.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "threadpoolctl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/98/c2/a7855e41c9d285dfe86dc50b250978105dce513d6e459ea66a6aeb0e1e0c/scikit_learn-1.7.2.tar.gz", hash = "sha256:20e9e49ecd130598f1ca38a1d85090e1a600147b9c02fa6f15d69cb53d968fda", size = 7193136, upload-time = "2025-09-09T08:21:29.075Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ba/3e/daed796fd69cce768b8788401cc464ea90b306fb196ae1ffed0b98182859/scikit_learn-1.7.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6b33579c10a3081d076ab403df4a4190da4f4432d443521674637677dc91e61f", size = 9336221, upload-time = "2025-09-09T08:20:19.328Z" }, + { url = "https://files.pythonhosted.org/packages/1c/ce/af9d99533b24c55ff4e18d9b7b4d9919bbc6cd8f22fe7a7be01519a347d5/scikit_learn-1.7.2-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:36749fb62b3d961b1ce4fedf08fa57a1986cd409eff2d783bca5d4b9b5fce51c", size = 8653834, upload-time = "2025-09-09T08:20:22.073Z" }, + { url = "https://files.pythonhosted.org/packages/58/0e/8c2a03d518fb6bd0b6b0d4b114c63d5f1db01ff0f9925d8eb10960d01c01/scikit_learn-1.7.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7a58814265dfc52b3295b1900cfb5701589d30a8bb026c7540f1e9d3499d5ec8", size = 9660938, upload-time = "2025-09-09T08:20:24.327Z" }, + { url = "https://files.pythonhosted.org/packages/2b/75/4311605069b5d220e7cf5adabb38535bd96f0079313cdbb04b291479b22a/scikit_learn-1.7.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4a847fea807e278f821a0406ca01e387f97653e284ecbd9750e3ee7c90347f18", size = 9477818, upload-time = "2025-09-09T08:20:26.845Z" }, + { url = "https://files.pythonhosted.org/packages/7f/9b/87961813c34adbca21a6b3f6b2bea344c43b30217a6d24cc437c6147f3e8/scikit_learn-1.7.2-cp310-cp310-win_amd64.whl", hash = "sha256:ca250e6836d10e6f402436d6463d6c0e4d8e0234cfb6a9a47835bd392b852ce5", size = 8886969, upload-time = "2025-09-09T08:20:29.329Z" }, + { url = "https://files.pythonhosted.org/packages/43/83/564e141eef908a5863a54da8ca342a137f45a0bfb71d1d79704c9894c9d1/scikit_learn-1.7.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7509693451651cd7361d30ce4e86a1347493554f172b1c72a39300fa2aea79e", size = 9331967, upload-time = "2025-09-09T08:20:32.421Z" }, + { url = "https://files.pythonhosted.org/packages/18/d6/ba863a4171ac9d7314c4d3fc251f015704a2caeee41ced89f321c049ed83/scikit_learn-1.7.2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:0486c8f827c2e7b64837c731c8feff72c0bd2b998067a8a9cbc10643c31f0fe1", size = 8648645, upload-time = "2025-09-09T08:20:34.436Z" }, + { url = "https://files.pythonhosted.org/packages/ef/0e/97dbca66347b8cf0ea8b529e6bb9367e337ba2e8be0ef5c1a545232abfde/scikit_learn-1.7.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:89877e19a80c7b11a2891a27c21c4894fb18e2c2e077815bcade10d34287b20d", size = 9715424, upload-time = "2025-09-09T08:20:36.776Z" }, + { url = "https://files.pythonhosted.org/packages/f7/32/1f3b22e3207e1d2c883a7e09abb956362e7d1bd2f14458c7de258a26ac15/scikit_learn-1.7.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8da8bf89d4d79aaec192d2bda62f9b56ae4e5b4ef93b6a56b5de4977e375c1f1", size = 9509234, upload-time = "2025-09-09T08:20:38.957Z" }, + { url = "https://files.pythonhosted.org/packages/9f/71/34ddbd21f1da67c7a768146968b4d0220ee6831e4bcbad3e03dd3eae88b6/scikit_learn-1.7.2-cp311-cp311-win_amd64.whl", hash = "sha256:9b7ed8d58725030568523e937c43e56bc01cadb478fc43c042a9aca1dacb3ba1", size = 8894244, upload-time = "2025-09-09T08:20:41.166Z" }, + { url = "https://files.pythonhosted.org/packages/a7/aa/3996e2196075689afb9fce0410ebdb4a09099d7964d061d7213700204409/scikit_learn-1.7.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:8d91a97fa2b706943822398ab943cde71858a50245e31bc71dba62aab1d60a96", size = 9259818, upload-time = "2025-09-09T08:20:43.19Z" }, + { url = "https://files.pythonhosted.org/packages/43/5d/779320063e88af9c4a7c2cf463ff11c21ac9c8bd730c4a294b0000b666c9/scikit_learn-1.7.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:acbc0f5fd2edd3432a22c69bed78e837c70cf896cd7993d71d51ba6708507476", size = 8636997, upload-time = "2025-09-09T08:20:45.468Z" }, + { url = "https://files.pythonhosted.org/packages/5c/d0/0c577d9325b05594fdd33aa970bf53fb673f051a45496842caee13cfd7fe/scikit_learn-1.7.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e5bf3d930aee75a65478df91ac1225ff89cd28e9ac7bd1196853a9229b6adb0b", size = 9478381, upload-time = "2025-09-09T08:20:47.982Z" }, + { url = "https://files.pythonhosted.org/packages/82/70/8bf44b933837ba8494ca0fc9a9ab60f1c13b062ad0197f60a56e2fc4c43e/scikit_learn-1.7.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b4d6e9deed1a47aca9fe2f267ab8e8fe82ee20b4526b2c0cd9e135cea10feb44", size = 9300296, upload-time = "2025-09-09T08:20:50.366Z" }, + { url = "https://files.pythonhosted.org/packages/c6/99/ed35197a158f1fdc2fe7c3680e9c70d0128f662e1fee4ed495f4b5e13db0/scikit_learn-1.7.2-cp312-cp312-win_amd64.whl", hash = "sha256:6088aa475f0785e01bcf8529f55280a3d7d298679f50c0bb70a2364a82d0b290", size = 8731256, upload-time = "2025-09-09T08:20:52.627Z" }, + { url = "https://files.pythonhosted.org/packages/ae/93/a3038cb0293037fd335f77f31fe053b89c72f17b1c8908c576c29d953e84/scikit_learn-1.7.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0b7dacaa05e5d76759fb071558a8b5130f4845166d88654a0f9bdf3eb57851b7", size = 9212382, upload-time = "2025-09-09T08:20:54.731Z" }, + { url = "https://files.pythonhosted.org/packages/40/dd/9a88879b0c1104259136146e4742026b52df8540c39fec21a6383f8292c7/scikit_learn-1.7.2-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:abebbd61ad9e1deed54cca45caea8ad5f79e1b93173dece40bb8e0c658dbe6fe", size = 8592042, upload-time = "2025-09-09T08:20:57.313Z" }, + { url = "https://files.pythonhosted.org/packages/46/af/c5e286471b7d10871b811b72ae794ac5fe2989c0a2df07f0ec723030f5f5/scikit_learn-1.7.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:502c18e39849c0ea1a5d681af1dbcf15f6cce601aebb657aabbfe84133c1907f", size = 9434180, upload-time = "2025-09-09T08:20:59.671Z" }, + { url = "https://files.pythonhosted.org/packages/f1/fd/df59faa53312d585023b2da27e866524ffb8faf87a68516c23896c718320/scikit_learn-1.7.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7a4c328a71785382fe3fe676a9ecf2c86189249beff90bf85e22bdb7efaf9ae0", size = 9283660, upload-time = "2025-09-09T08:21:01.71Z" }, + { url = "https://files.pythonhosted.org/packages/a7/c7/03000262759d7b6f38c836ff9d512f438a70d8a8ddae68ee80de72dcfb63/scikit_learn-1.7.2-cp313-cp313-win_amd64.whl", hash = "sha256:63a9afd6f7b229aad94618c01c252ce9e6fa97918c5ca19c9a17a087d819440c", size = 8702057, upload-time = "2025-09-09T08:21:04.234Z" }, + { url = "https://files.pythonhosted.org/packages/55/87/ef5eb1f267084532c8e4aef98a28b6ffe7425acbfd64b5e2f2e066bc29b3/scikit_learn-1.7.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:9acb6c5e867447b4e1390930e3944a005e2cb115922e693c08a323421a6966e8", size = 9558731, upload-time = "2025-09-09T08:21:06.381Z" }, + { url = "https://files.pythonhosted.org/packages/93/f8/6c1e3fc14b10118068d7938878a9f3f4e6d7b74a8ddb1e5bed65159ccda8/scikit_learn-1.7.2-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:2a41e2a0ef45063e654152ec9d8bcfc39f7afce35b08902bfe290c2498a67a6a", size = 9038852, upload-time = "2025-09-09T08:21:08.628Z" }, + { url = "https://files.pythonhosted.org/packages/83/87/066cafc896ee540c34becf95d30375fe5cbe93c3b75a0ee9aa852cd60021/scikit_learn-1.7.2-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:98335fb98509b73385b3ab2bd0639b1f610541d3988ee675c670371d6a87aa7c", size = 9527094, upload-time = "2025-09-09T08:21:11.486Z" }, + { url = "https://files.pythonhosted.org/packages/9c/2b/4903e1ccafa1f6453b1ab78413938c8800633988c838aa0be386cbb33072/scikit_learn-1.7.2-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:191e5550980d45449126e23ed1d5e9e24b2c68329ee1f691a3987476e115e09c", size = 9367436, upload-time = "2025-09-09T08:21:13.602Z" }, + { url = "https://files.pythonhosted.org/packages/b5/aa/8444be3cfb10451617ff9d177b3c190288f4563e6c50ff02728be67ad094/scikit_learn-1.7.2-cp313-cp313t-win_amd64.whl", hash = "sha256:57dc4deb1d3762c75d685507fbd0bc17160144b2f2ba4ccea5dc285ab0d0e973", size = 9275749, upload-time = "2025-09-09T08:21:15.96Z" }, + { url = "https://files.pythonhosted.org/packages/d9/82/dee5acf66837852e8e68df6d8d3a6cb22d3df997b733b032f513d95205b7/scikit_learn-1.7.2-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fa8f63940e29c82d1e67a45d5297bdebbcb585f5a5a50c4914cc2e852ab77f33", size = 9208906, upload-time = "2025-09-09T08:21:18.557Z" }, + { url = "https://files.pythonhosted.org/packages/3c/30/9029e54e17b87cb7d50d51a5926429c683d5b4c1732f0507a6c3bed9bf65/scikit_learn-1.7.2-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:f95dc55b7902b91331fa4e5845dd5bde0580c9cd9612b1b2791b7e80c3d32615", size = 8627836, upload-time = "2025-09-09T08:21:20.695Z" }, + { url = "https://files.pythonhosted.org/packages/60/18/4a52c635c71b536879f4b971c2cedf32c35ee78f48367885ed8025d1f7ee/scikit_learn-1.7.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9656e4a53e54578ad10a434dc1f993330568cfee176dff07112b8785fb413106", size = 9426236, upload-time = "2025-09-09T08:21:22.645Z" }, + { url = "https://files.pythonhosted.org/packages/99/7e/290362f6ab582128c53445458a5befd471ed1ea37953d5bcf80604619250/scikit_learn-1.7.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96dc05a854add0e50d3f47a1ef21a10a595016da5b007c7d9cd9d0bffd1fcc61", size = 9312593, upload-time = "2025-09-09T08:21:24.65Z" }, + { url = "https://files.pythonhosted.org/packages/8e/87/24f541b6d62b1794939ae6422f8023703bbf6900378b2b34e0b4384dfefd/scikit_learn-1.7.2-cp314-cp314-win_amd64.whl", hash = "sha256:bb24510ed3f9f61476181e4db51ce801e2ba37541def12dc9333b946fc7a9cf8", size = 8820007, upload-time = "2025-09-09T08:21:26.713Z" }, +] + +[[package]] +name = "scipy" +version = "1.15.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version < '3.11'", +] +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0f/37/6964b830433e654ec7485e45a00fc9a27cf868d622838f6b6d9c5ec0d532/scipy-1.15.3.tar.gz", hash = "sha256:eae3cf522bc7df64b42cad3925c876e1b0b6c35c1337c93e12c0f366f55b0eaf", size = 59419214, upload-time = "2025-05-08T16:13:05.955Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/78/2f/4966032c5f8cc7e6a60f1b2e0ad686293b9474b65246b0c642e3ef3badd0/scipy-1.15.3-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:a345928c86d535060c9c2b25e71e87c39ab2f22fc96e9636bd74d1dbf9de448c", size = 38702770, upload-time = "2025-05-08T16:04:20.849Z" }, + { url = "https://files.pythonhosted.org/packages/a0/6e/0c3bf90fae0e910c274db43304ebe25a6b391327f3f10b5dcc638c090795/scipy-1.15.3-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:ad3432cb0f9ed87477a8d97f03b763fd1d57709f1bbde3c9369b1dff5503b253", size = 30094511, upload-time = "2025-05-08T16:04:27.103Z" }, + { url = "https://files.pythonhosted.org/packages/ea/b1/4deb37252311c1acff7f101f6453f0440794f51b6eacb1aad4459a134081/scipy-1.15.3-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:aef683a9ae6eb00728a542b796f52a5477b78252edede72b8327a886ab63293f", size = 22368151, upload-time = "2025-05-08T16:04:31.731Z" }, + { url = "https://files.pythonhosted.org/packages/38/7d/f457626e3cd3c29b3a49ca115a304cebb8cc6f31b04678f03b216899d3c6/scipy-1.15.3-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:1c832e1bd78dea67d5c16f786681b28dd695a8cb1fb90af2e27580d3d0967e92", size = 25121732, upload-time = "2025-05-08T16:04:36.596Z" }, + { url = "https://files.pythonhosted.org/packages/db/0a/92b1de4a7adc7a15dcf5bddc6e191f6f29ee663b30511ce20467ef9b82e4/scipy-1.15.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:263961f658ce2165bbd7b99fa5135195c3a12d9bef045345016b8b50c315cb82", size = 35547617, upload-time = "2025-05-08T16:04:43.546Z" }, + { url = "https://files.pythonhosted.org/packages/8e/6d/41991e503e51fc1134502694c5fa7a1671501a17ffa12716a4a9151af3df/scipy-1.15.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e2abc762b0811e09a0d3258abee2d98e0c703eee49464ce0069590846f31d40", size = 37662964, upload-time = "2025-05-08T16:04:49.431Z" }, + { url = "https://files.pythonhosted.org/packages/25/e1/3df8f83cb15f3500478c889be8fb18700813b95e9e087328230b98d547ff/scipy-1.15.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ed7284b21a7a0c8f1b6e5977ac05396c0d008b89e05498c8b7e8f4a1423bba0e", size = 37238749, upload-time = "2025-05-08T16:04:55.215Z" }, + { url = "https://files.pythonhosted.org/packages/93/3e/b3257cf446f2a3533ed7809757039016b74cd6f38271de91682aa844cfc5/scipy-1.15.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5380741e53df2c566f4d234b100a484b420af85deb39ea35a1cc1be84ff53a5c", size = 40022383, upload-time = "2025-05-08T16:05:01.914Z" }, + { url = "https://files.pythonhosted.org/packages/d1/84/55bc4881973d3f79b479a5a2e2df61c8c9a04fcb986a213ac9c02cfb659b/scipy-1.15.3-cp310-cp310-win_amd64.whl", hash = "sha256:9d61e97b186a57350f6d6fd72640f9e99d5a4a2b8fbf4b9ee9a841eab327dc13", size = 41259201, upload-time = "2025-05-08T16:05:08.166Z" }, + { url = "https://files.pythonhosted.org/packages/96/ab/5cc9f80f28f6a7dff646c5756e559823614a42b1939d86dd0ed550470210/scipy-1.15.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:993439ce220d25e3696d1b23b233dd010169b62f6456488567e830654ee37a6b", size = 38714255, upload-time = "2025-05-08T16:05:14.596Z" }, + { url = "https://files.pythonhosted.org/packages/4a/4a/66ba30abe5ad1a3ad15bfb0b59d22174012e8056ff448cb1644deccbfed2/scipy-1.15.3-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:34716e281f181a02341ddeaad584205bd2fd3c242063bd3423d61ac259ca7eba", size = 30111035, upload-time = "2025-05-08T16:05:20.152Z" }, + { url = "https://files.pythonhosted.org/packages/4b/fa/a7e5b95afd80d24313307f03624acc65801846fa75599034f8ceb9e2cbf6/scipy-1.15.3-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3b0334816afb8b91dab859281b1b9786934392aa3d527cd847e41bb6f45bee65", size = 22384499, upload-time = "2025-05-08T16:05:24.494Z" }, + { url = "https://files.pythonhosted.org/packages/17/99/f3aaddccf3588bb4aea70ba35328c204cadd89517a1612ecfda5b2dd9d7a/scipy-1.15.3-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:6db907c7368e3092e24919b5e31c76998b0ce1684d51a90943cb0ed1b4ffd6c1", size = 25152602, upload-time = "2025-05-08T16:05:29.313Z" }, + { url = "https://files.pythonhosted.org/packages/56/c5/1032cdb565f146109212153339f9cb8b993701e9fe56b1c97699eee12586/scipy-1.15.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:721d6b4ef5dc82ca8968c25b111e307083d7ca9091bc38163fb89243e85e3889", size = 35503415, upload-time = "2025-05-08T16:05:34.699Z" }, + { url = "https://files.pythonhosted.org/packages/bd/37/89f19c8c05505d0601ed5650156e50eb881ae3918786c8fd7262b4ee66d3/scipy-1.15.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:39cb9c62e471b1bb3750066ecc3a3f3052b37751c7c3dfd0fd7e48900ed52982", size = 37652622, upload-time = "2025-05-08T16:05:40.762Z" }, + { url = "https://files.pythonhosted.org/packages/7e/31/be59513aa9695519b18e1851bb9e487de66f2d31f835201f1b42f5d4d475/scipy-1.15.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:795c46999bae845966368a3c013e0e00947932d68e235702b5c3f6ea799aa8c9", size = 37244796, upload-time = "2025-05-08T16:05:48.119Z" }, + { url = "https://files.pythonhosted.org/packages/10/c0/4f5f3eeccc235632aab79b27a74a9130c6c35df358129f7ac8b29f562ac7/scipy-1.15.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:18aaacb735ab38b38db42cb01f6b92a2d0d4b6aabefeb07f02849e47f8fb3594", size = 40047684, upload-time = "2025-05-08T16:05:54.22Z" }, + { url = "https://files.pythonhosted.org/packages/ab/a7/0ddaf514ce8a8714f6ed243a2b391b41dbb65251affe21ee3077ec45ea9a/scipy-1.15.3-cp311-cp311-win_amd64.whl", hash = "sha256:ae48a786a28412d744c62fd7816a4118ef97e5be0bee968ce8f0a2fba7acf3bb", size = 41246504, upload-time = "2025-05-08T16:06:00.437Z" }, + { url = "https://files.pythonhosted.org/packages/37/4b/683aa044c4162e10ed7a7ea30527f2cbd92e6999c10a8ed8edb253836e9c/scipy-1.15.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6ac6310fdbfb7aa6612408bd2f07295bcbd3fda00d2d702178434751fe48e019", size = 38766735, upload-time = "2025-05-08T16:06:06.471Z" }, + { url = "https://files.pythonhosted.org/packages/7b/7e/f30be3d03de07f25dc0ec926d1681fed5c732d759ac8f51079708c79e680/scipy-1.15.3-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:185cd3d6d05ca4b44a8f1595af87f9c372bb6acf9c808e99aa3e9aa03bd98cf6", size = 30173284, upload-time = "2025-05-08T16:06:11.686Z" }, + { url = "https://files.pythonhosted.org/packages/07/9c/0ddb0d0abdabe0d181c1793db51f02cd59e4901da6f9f7848e1f96759f0d/scipy-1.15.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:05dc6abcd105e1a29f95eada46d4a3f251743cfd7d3ae8ddb4088047f24ea477", size = 22446958, upload-time = "2025-05-08T16:06:15.97Z" }, + { url = "https://files.pythonhosted.org/packages/af/43/0bce905a965f36c58ff80d8bea33f1f9351b05fad4beaad4eae34699b7a1/scipy-1.15.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:06efcba926324df1696931a57a176c80848ccd67ce6ad020c810736bfd58eb1c", size = 25242454, upload-time = "2025-05-08T16:06:20.394Z" }, + { url = "https://files.pythonhosted.org/packages/56/30/a6f08f84ee5b7b28b4c597aca4cbe545535c39fe911845a96414700b64ba/scipy-1.15.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05045d8b9bfd807ee1b9f38761993297b10b245f012b11b13b91ba8945f7e45", size = 35210199, upload-time = "2025-05-08T16:06:26.159Z" }, + { url = "https://files.pythonhosted.org/packages/0b/1f/03f52c282437a168ee2c7c14a1a0d0781a9a4a8962d84ac05c06b4c5b555/scipy-1.15.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:271e3713e645149ea5ea3e97b57fdab61ce61333f97cfae392c28ba786f9bb49", size = 37309455, upload-time = "2025-05-08T16:06:32.778Z" }, + { url = "https://files.pythonhosted.org/packages/89/b1/fbb53137f42c4bf630b1ffdfc2151a62d1d1b903b249f030d2b1c0280af8/scipy-1.15.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6cfd56fc1a8e53f6e89ba3a7a7251f7396412d655bca2aa5611c8ec9a6784a1e", size = 36885140, upload-time = "2025-05-08T16:06:39.249Z" }, + { url = "https://files.pythonhosted.org/packages/2e/2e/025e39e339f5090df1ff266d021892694dbb7e63568edcfe43f892fa381d/scipy-1.15.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0ff17c0bb1cb32952c09217d8d1eed9b53d1463e5f1dd6052c7857f83127d539", size = 39710549, upload-time = "2025-05-08T16:06:45.729Z" }, + { url = "https://files.pythonhosted.org/packages/e6/eb/3bf6ea8ab7f1503dca3a10df2e4b9c3f6b3316df07f6c0ded94b281c7101/scipy-1.15.3-cp312-cp312-win_amd64.whl", hash = "sha256:52092bc0472cfd17df49ff17e70624345efece4e1a12b23783a1ac59a1b728ed", size = 40966184, upload-time = "2025-05-08T16:06:52.623Z" }, + { url = "https://files.pythonhosted.org/packages/73/18/ec27848c9baae6e0d6573eda6e01a602e5649ee72c27c3a8aad673ebecfd/scipy-1.15.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:2c620736bcc334782e24d173c0fdbb7590a0a436d2fdf39310a8902505008759", size = 38728256, upload-time = "2025-05-08T16:06:58.696Z" }, + { url = "https://files.pythonhosted.org/packages/74/cd/1aef2184948728b4b6e21267d53b3339762c285a46a274ebb7863c9e4742/scipy-1.15.3-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:7e11270a000969409d37ed399585ee530b9ef6aa99d50c019de4cb01e8e54e62", size = 30109540, upload-time = "2025-05-08T16:07:04.209Z" }, + { url = "https://files.pythonhosted.org/packages/5b/d8/59e452c0a255ec352bd0a833537a3bc1bfb679944c4938ab375b0a6b3a3e/scipy-1.15.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:8c9ed3ba2c8a2ce098163a9bdb26f891746d02136995df25227a20e71c396ebb", size = 22383115, upload-time = "2025-05-08T16:07:08.998Z" }, + { url = "https://files.pythonhosted.org/packages/08/f5/456f56bbbfccf696263b47095291040655e3cbaf05d063bdc7c7517f32ac/scipy-1.15.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:0bdd905264c0c9cfa74a4772cdb2070171790381a5c4d312c973382fc6eaf730", size = 25163884, upload-time = "2025-05-08T16:07:14.091Z" }, + { url = "https://files.pythonhosted.org/packages/a2/66/a9618b6a435a0f0c0b8a6d0a2efb32d4ec5a85f023c2b79d39512040355b/scipy-1.15.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:79167bba085c31f38603e11a267d862957cbb3ce018d8b38f79ac043bc92d825", size = 35174018, upload-time = "2025-05-08T16:07:19.427Z" }, + { url = "https://files.pythonhosted.org/packages/b5/09/c5b6734a50ad4882432b6bb7c02baf757f5b2f256041da5df242e2d7e6b6/scipy-1.15.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c9deabd6d547aee2c9a81dee6cc96c6d7e9a9b1953f74850c179f91fdc729cb7", size = 37269716, upload-time = "2025-05-08T16:07:25.712Z" }, + { url = "https://files.pythonhosted.org/packages/77/0a/eac00ff741f23bcabd352731ed9b8995a0a60ef57f5fd788d611d43d69a1/scipy-1.15.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:dde4fc32993071ac0c7dd2d82569e544f0bdaff66269cb475e0f369adad13f11", size = 36872342, upload-time = "2025-05-08T16:07:31.468Z" }, + { url = "https://files.pythonhosted.org/packages/fe/54/4379be86dd74b6ad81551689107360d9a3e18f24d20767a2d5b9253a3f0a/scipy-1.15.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f77f853d584e72e874d87357ad70f44b437331507d1c311457bed8ed2b956126", size = 39670869, upload-time = "2025-05-08T16:07:38.002Z" }, + { url = "https://files.pythonhosted.org/packages/87/2e/892ad2862ba54f084ffe8cc4a22667eaf9c2bcec6d2bff1d15713c6c0703/scipy-1.15.3-cp313-cp313-win_amd64.whl", hash = "sha256:b90ab29d0c37ec9bf55424c064312930ca5f4bde15ee8619ee44e69319aab163", size = 40988851, upload-time = "2025-05-08T16:08:33.671Z" }, + { url = "https://files.pythonhosted.org/packages/1b/e9/7a879c137f7e55b30d75d90ce3eb468197646bc7b443ac036ae3fe109055/scipy-1.15.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3ac07623267feb3ae308487c260ac684b32ea35fd81e12845039952f558047b8", size = 38863011, upload-time = "2025-05-08T16:07:44.039Z" }, + { url = "https://files.pythonhosted.org/packages/51/d1/226a806bbd69f62ce5ef5f3ffadc35286e9fbc802f606a07eb83bf2359de/scipy-1.15.3-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:6487aa99c2a3d509a5227d9a5e889ff05830a06b2ce08ec30df6d79db5fcd5c5", size = 30266407, upload-time = "2025-05-08T16:07:49.891Z" }, + { url = "https://files.pythonhosted.org/packages/e5/9b/f32d1d6093ab9eeabbd839b0f7619c62e46cc4b7b6dbf05b6e615bbd4400/scipy-1.15.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:50f9e62461c95d933d5c5ef4a1f2ebf9a2b4e83b0db374cb3f1de104d935922e", size = 22540030, upload-time = "2025-05-08T16:07:54.121Z" }, + { url = "https://files.pythonhosted.org/packages/e7/29/c278f699b095c1a884f29fda126340fcc201461ee8bfea5c8bdb1c7c958b/scipy-1.15.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:14ed70039d182f411ffc74789a16df3835e05dc469b898233a245cdfd7f162cb", size = 25218709, upload-time = "2025-05-08T16:07:58.506Z" }, + { url = "https://files.pythonhosted.org/packages/24/18/9e5374b617aba742a990581373cd6b68a2945d65cc588482749ef2e64467/scipy-1.15.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a769105537aa07a69468a0eefcd121be52006db61cdd8cac8a0e68980bbb723", size = 34809045, upload-time = "2025-05-08T16:08:03.929Z" }, + { url = "https://files.pythonhosted.org/packages/e1/fe/9c4361e7ba2927074360856db6135ef4904d505e9b3afbbcb073c4008328/scipy-1.15.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9db984639887e3dffb3928d118145ffe40eff2fa40cb241a306ec57c219ebbbb", size = 36703062, upload-time = "2025-05-08T16:08:09.558Z" }, + { url = "https://files.pythonhosted.org/packages/b7/8e/038ccfe29d272b30086b25a4960f757f97122cb2ec42e62b460d02fe98e9/scipy-1.15.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:40e54d5c7e7ebf1aa596c374c49fa3135f04648a0caabcb66c52884b943f02b4", size = 36393132, upload-time = "2025-05-08T16:08:15.34Z" }, + { url = "https://files.pythonhosted.org/packages/10/7e/5c12285452970be5bdbe8352c619250b97ebf7917d7a9a9e96b8a8140f17/scipy-1.15.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5e721fed53187e71d0ccf382b6bf977644c533e506c4d33c3fb24de89f5c3ed5", size = 38979503, upload-time = "2025-05-08T16:08:21.513Z" }, + { url = "https://files.pythonhosted.org/packages/81/06/0a5e5349474e1cbc5757975b21bd4fad0e72ebf138c5592f191646154e06/scipy-1.15.3-cp313-cp313t-win_amd64.whl", hash = "sha256:76ad1fb5f8752eabf0fa02e4cc0336b4e8f021e2d5f061ed37d6d264db35e3ca", size = 40308097, upload-time = "2025-05-08T16:08:27.627Z" }, +] + +[[package]] +name = "scipy" +version = "1.16.3" +source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.12'", + "python_full_version == '3.11.*'", +] +dependencies = [ + { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0a/ca/d8ace4f98322d01abcd52d381134344bf7b431eba7ed8b42bdea5a3c2ac9/scipy-1.16.3.tar.gz", hash = "sha256:01e87659402762f43bd2fee13370553a17ada367d42e7487800bf2916535aecb", size = 30597883, upload-time = "2025-10-28T17:38:54.068Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9b/5f/6f37d7439de1455ce9c5a556b8d1db0979f03a796c030bafdf08d35b7bf9/scipy-1.16.3-cp311-cp311-macosx_10_14_x86_64.whl", hash = "sha256:40be6cf99e68b6c4321e9f8782e7d5ff8265af28ef2cd56e9c9b2638fa08ad97", size = 36630881, upload-time = "2025-10-28T17:31:47.104Z" }, + { url = "https://files.pythonhosted.org/packages/7c/89/d70e9f628749b7e4db2aa4cd89735502ff3f08f7b9b27d2e799485987cd9/scipy-1.16.3-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:8be1ca9170fcb6223cc7c27f4305d680ded114a1567c0bd2bfcbf947d1b17511", size = 28941012, upload-time = "2025-10-28T17:31:53.411Z" }, + { url = "https://files.pythonhosted.org/packages/a8/a8/0e7a9a6872a923505dbdf6bb93451edcac120363131c19013044a1e7cb0c/scipy-1.16.3-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:bea0a62734d20d67608660f69dcda23e7f90fb4ca20974ab80b6ed40df87a005", size = 20931935, upload-time = "2025-10-28T17:31:57.361Z" }, + { url = "https://files.pythonhosted.org/packages/bd/c7/020fb72bd79ad798e4dbe53938543ecb96b3a9ac3fe274b7189e23e27353/scipy-1.16.3-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:2a207a6ce9c24f1951241f4693ede2d393f59c07abc159b2cb2be980820e01fb", size = 23534466, upload-time = "2025-10-28T17:32:01.875Z" }, + { url = "https://files.pythonhosted.org/packages/be/a0/668c4609ce6dbf2f948e167836ccaf897f95fb63fa231c87da7558a374cd/scipy-1.16.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:532fb5ad6a87e9e9cd9c959b106b73145a03f04c7d57ea3e6f6bb60b86ab0876", size = 33593618, upload-time = "2025-10-28T17:32:06.902Z" }, + { url = "https://files.pythonhosted.org/packages/ca/6e/8942461cf2636cdae083e3eb72622a7fbbfa5cf559c7d13ab250a5dbdc01/scipy-1.16.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0151a0749efeaaab78711c78422d413c583b8cdd2011a3c1d6c794938ee9fdb2", size = 35899798, upload-time = "2025-10-28T17:32:12.665Z" }, + { url = "https://files.pythonhosted.org/packages/79/e8/d0f33590364cdbd67f28ce79368b373889faa4ee959588beddf6daef9abe/scipy-1.16.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b7180967113560cca57418a7bc719e30366b47959dd845a93206fbed693c867e", size = 36226154, upload-time = "2025-10-28T17:32:17.961Z" }, + { url = "https://files.pythonhosted.org/packages/39/c1/1903de608c0c924a1749c590064e65810f8046e437aba6be365abc4f7557/scipy-1.16.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:deb3841c925eeddb6afc1e4e4a45e418d19ec7b87c5df177695224078e8ec733", size = 38878540, upload-time = "2025-10-28T17:32:23.907Z" }, + { url = "https://files.pythonhosted.org/packages/f1/d0/22ec7036ba0b0a35bccb7f25ab407382ed34af0b111475eb301c16f8a2e5/scipy-1.16.3-cp311-cp311-win_amd64.whl", hash = "sha256:53c3844d527213631e886621df5695d35e4f6a75f620dca412bcd292f6b87d78", size = 38722107, upload-time = "2025-10-28T17:32:29.921Z" }, + { url = "https://files.pythonhosted.org/packages/7b/60/8a00e5a524bb3bf8898db1650d350f50e6cffb9d7a491c561dc9826c7515/scipy-1.16.3-cp311-cp311-win_arm64.whl", hash = "sha256:9452781bd879b14b6f055b26643703551320aa8d79ae064a71df55c00286a184", size = 25506272, upload-time = "2025-10-28T17:32:34.577Z" }, + { url = "https://files.pythonhosted.org/packages/40/41/5bf55c3f386b1643812f3a5674edf74b26184378ef0f3e7c7a09a7e2ca7f/scipy-1.16.3-cp312-cp312-macosx_10_14_x86_64.whl", hash = "sha256:81fc5827606858cf71446a5e98715ba0e11f0dbc83d71c7409d05486592a45d6", size = 36659043, upload-time = "2025-10-28T17:32:40.285Z" }, + { url = "https://files.pythonhosted.org/packages/1e/0f/65582071948cfc45d43e9870bf7ca5f0e0684e165d7c9ef4e50d783073eb/scipy-1.16.3-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:c97176013d404c7346bf57874eaac5187d969293bf40497140b0a2b2b7482e07", size = 28898986, upload-time = "2025-10-28T17:32:45.325Z" }, + { url = "https://files.pythonhosted.org/packages/96/5e/36bf3f0ac298187d1ceadde9051177d6a4fe4d507e8f59067dc9dd39e650/scipy-1.16.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:2b71d93c8a9936046866acebc915e2af2e292b883ed6e2cbe5c34beb094b82d9", size = 20889814, upload-time = "2025-10-28T17:32:49.277Z" }, + { url = "https://files.pythonhosted.org/packages/80/35/178d9d0c35394d5d5211bbff7ac4f2986c5488b59506fef9e1de13ea28d3/scipy-1.16.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:3d4a07a8e785d80289dfe66b7c27d8634a773020742ec7187b85ccc4b0e7b686", size = 23565795, upload-time = "2025-10-28T17:32:53.337Z" }, + { url = "https://files.pythonhosted.org/packages/fa/46/d1146ff536d034d02f83c8afc3c4bab2eddb634624d6529a8512f3afc9da/scipy-1.16.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0553371015692a898e1aa858fed67a3576c34edefa6b7ebdb4e9dde49ce5c203", size = 33349476, upload-time = "2025-10-28T17:32:58.353Z" }, + { url = "https://files.pythonhosted.org/packages/79/2e/415119c9ab3e62249e18c2b082c07aff907a273741b3f8160414b0e9193c/scipy-1.16.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:72d1717fd3b5e6ec747327ce9bda32d5463f472c9dce9f54499e81fbd50245a1", size = 35676692, upload-time = "2025-10-28T17:33:03.88Z" }, + { url = "https://files.pythonhosted.org/packages/27/82/df26e44da78bf8d2aeaf7566082260cfa15955a5a6e96e6a29935b64132f/scipy-1.16.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1fb2472e72e24d1530debe6ae078db70fb1605350c88a3d14bc401d6306dbffe", size = 36019345, upload-time = "2025-10-28T17:33:09.773Z" }, + { url = "https://files.pythonhosted.org/packages/82/31/006cbb4b648ba379a95c87262c2855cd0d09453e500937f78b30f02fa1cd/scipy-1.16.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c5192722cffe15f9329a3948c4b1db789fbb1f05c97899187dcf009b283aea70", size = 38678975, upload-time = "2025-10-28T17:33:15.809Z" }, + { url = "https://files.pythonhosted.org/packages/c2/7f/acbd28c97e990b421af7d6d6cd416358c9c293fc958b8529e0bd5d2a2a19/scipy-1.16.3-cp312-cp312-win_amd64.whl", hash = "sha256:56edc65510d1331dae01ef9b658d428e33ed48b4f77b1d51caf479a0253f96dc", size = 38555926, upload-time = "2025-10-28T17:33:21.388Z" }, + { url = "https://files.pythonhosted.org/packages/ce/69/c5c7807fd007dad4f48e0a5f2153038dc96e8725d3345b9ee31b2b7bed46/scipy-1.16.3-cp312-cp312-win_arm64.whl", hash = "sha256:a8a26c78ef223d3e30920ef759e25625a0ecdd0d60e5a8818b7513c3e5384cf2", size = 25463014, upload-time = "2025-10-28T17:33:25.975Z" }, + { url = "https://files.pythonhosted.org/packages/72/f1/57e8327ab1508272029e27eeef34f2302ffc156b69e7e233e906c2a5c379/scipy-1.16.3-cp313-cp313-macosx_10_14_x86_64.whl", hash = "sha256:d2ec56337675e61b312179a1ad124f5f570c00f920cc75e1000025451b88241c", size = 36617856, upload-time = "2025-10-28T17:33:31.375Z" }, + { url = "https://files.pythonhosted.org/packages/44/13/7e63cfba8a7452eb756306aa2fd9b37a29a323b672b964b4fdeded9a3f21/scipy-1.16.3-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:16b8bc35a4cc24db80a0ec836a9286d0e31b2503cb2fd7ff7fb0e0374a97081d", size = 28874306, upload-time = "2025-10-28T17:33:36.516Z" }, + { url = "https://files.pythonhosted.org/packages/15/65/3a9400efd0228a176e6ec3454b1fa998fbbb5a8defa1672c3f65706987db/scipy-1.16.3-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:5803c5fadd29de0cf27fa08ccbfe7a9e5d741bf63e4ab1085437266f12460ff9", size = 20865371, upload-time = "2025-10-28T17:33:42.094Z" }, + { url = "https://files.pythonhosted.org/packages/33/d7/eda09adf009a9fb81827194d4dd02d2e4bc752cef16737cc4ef065234031/scipy-1.16.3-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:b81c27fc41954319a943d43b20e07c40bdcd3ff7cf013f4fb86286faefe546c4", size = 23524877, upload-time = "2025-10-28T17:33:48.483Z" }, + { url = "https://files.pythonhosted.org/packages/7d/6b/3f911e1ebc364cb81320223a3422aab7d26c9c7973109a9cd0f27c64c6c0/scipy-1.16.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:0c3b4dd3d9b08dbce0f3440032c52e9e2ab9f96ade2d3943313dfe51a7056959", size = 33342103, upload-time = "2025-10-28T17:33:56.495Z" }, + { url = "https://files.pythonhosted.org/packages/21/f6/4bfb5695d8941e5c570a04d9fcd0d36bce7511b7d78e6e75c8f9791f82d0/scipy-1.16.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7dc1360c06535ea6116a2220f760ae572db9f661aba2d88074fe30ec2aa1ff88", size = 35697297, upload-time = "2025-10-28T17:34:04.722Z" }, + { url = "https://files.pythonhosted.org/packages/04/e1/6496dadbc80d8d896ff72511ecfe2316b50313bfc3ebf07a3f580f08bd8c/scipy-1.16.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:663b8d66a8748051c3ee9c96465fb417509315b99c71550fda2591d7dd634234", size = 36021756, upload-time = "2025-10-28T17:34:13.482Z" }, + { url = "https://files.pythonhosted.org/packages/fe/bd/a8c7799e0136b987bda3e1b23d155bcb31aec68a4a472554df5f0937eef7/scipy-1.16.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eab43fae33a0c39006a88096cd7b4f4ef545ea0447d250d5ac18202d40b6611d", size = 38696566, upload-time = "2025-10-28T17:34:22.384Z" }, + { url = "https://files.pythonhosted.org/packages/cd/01/1204382461fcbfeb05b6161b594f4007e78b6eba9b375382f79153172b4d/scipy-1.16.3-cp313-cp313-win_amd64.whl", hash = "sha256:062246acacbe9f8210de8e751b16fc37458213f124bef161a5a02c7a39284304", size = 38529877, upload-time = "2025-10-28T17:35:51.076Z" }, + { url = "https://files.pythonhosted.org/packages/7f/14/9d9fbcaa1260a94f4bb5b64ba9213ceb5d03cd88841fe9fd1ffd47a45b73/scipy-1.16.3-cp313-cp313-win_arm64.whl", hash = "sha256:50a3dbf286dbc7d84f176f9a1574c705f277cb6565069f88f60db9eafdbe3ee2", size = 25455366, upload-time = "2025-10-28T17:35:59.014Z" }, + { url = "https://files.pythonhosted.org/packages/e2/a3/9ec205bd49f42d45d77f1730dbad9ccf146244c1647605cf834b3a8c4f36/scipy-1.16.3-cp313-cp313t-macosx_10_14_x86_64.whl", hash = "sha256:fb4b29f4cf8cc5a8d628bc8d8e26d12d7278cd1f219f22698a378c3d67db5e4b", size = 37027931, upload-time = "2025-10-28T17:34:31.451Z" }, + { url = "https://files.pythonhosted.org/packages/25/06/ca9fd1f3a4589cbd825b1447e5db3a8ebb969c1eaf22c8579bd286f51b6d/scipy-1.16.3-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:8d09d72dc92742988b0e7750bddb8060b0c7079606c0d24a8cc8e9c9c11f9079", size = 29400081, upload-time = "2025-10-28T17:34:39.087Z" }, + { url = "https://files.pythonhosted.org/packages/6a/56/933e68210d92657d93fb0e381683bc0e53a965048d7358ff5fbf9e6a1b17/scipy-1.16.3-cp313-cp313t-macosx_14_0_arm64.whl", hash = "sha256:03192a35e661470197556de24e7cb1330d84b35b94ead65c46ad6f16f6b28f2a", size = 21391244, upload-time = "2025-10-28T17:34:45.234Z" }, + { url = "https://files.pythonhosted.org/packages/a8/7e/779845db03dc1418e215726329674b40576879b91814568757ff0014ad65/scipy-1.16.3-cp313-cp313t-macosx_14_0_x86_64.whl", hash = "sha256:57d01cb6f85e34f0946b33caa66e892aae072b64b034183f3d87c4025802a119", size = 23929753, upload-time = "2025-10-28T17:34:51.793Z" }, + { url = "https://files.pythonhosted.org/packages/4c/4b/f756cf8161d5365dcdef9e5f460ab226c068211030a175d2fc7f3f41ca64/scipy-1.16.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:96491a6a54e995f00a28a3c3badfff58fd093bf26cd5fb34a2188c8c756a3a2c", size = 33496912, upload-time = "2025-10-28T17:34:59.8Z" }, + { url = "https://files.pythonhosted.org/packages/09/b5/222b1e49a58668f23839ca1542a6322bb095ab8d6590d4f71723869a6c2c/scipy-1.16.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:cd13e354df9938598af2be05822c323e97132d5e6306b83a3b4ee6724c6e522e", size = 35802371, upload-time = "2025-10-28T17:35:08.173Z" }, + { url = "https://files.pythonhosted.org/packages/c1/8d/5964ef68bb31829bde27611f8c9deeac13764589fe74a75390242b64ca44/scipy-1.16.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:63d3cdacb8a824a295191a723ee5e4ea7768ca5ca5f2838532d9f2e2b3ce2135", size = 36190477, upload-time = "2025-10-28T17:35:16.7Z" }, + { url = "https://files.pythonhosted.org/packages/ab/f2/b31d75cb9b5fa4dd39a0a931ee9b33e7f6f36f23be5ef560bf72e0f92f32/scipy-1.16.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:e7efa2681ea410b10dde31a52b18b0154d66f2485328830e45fdf183af5aefc6", size = 38796678, upload-time = "2025-10-28T17:35:26.354Z" }, + { url = "https://files.pythonhosted.org/packages/b4/1e/b3723d8ff64ab548c38d87055483714fefe6ee20e0189b62352b5e015bb1/scipy-1.16.3-cp313-cp313t-win_amd64.whl", hash = "sha256:2d1ae2cf0c350e7705168ff2429962a89ad90c2d49d1dd300686d8b2a5af22fc", size = 38640178, upload-time = "2025-10-28T17:35:35.304Z" }, + { url = "https://files.pythonhosted.org/packages/8e/f3/d854ff38789aca9b0cc23008d607ced9de4f7ab14fa1ca4329f86b3758ca/scipy-1.16.3-cp313-cp313t-win_arm64.whl", hash = "sha256:0c623a54f7b79dd88ef56da19bc2873afec9673a48f3b85b18e4d402bdd29a5a", size = 25803246, upload-time = "2025-10-28T17:35:42.155Z" }, + { url = "https://files.pythonhosted.org/packages/99/f6/99b10fd70f2d864c1e29a28bbcaa0c6340f9d8518396542d9ea3b4aaae15/scipy-1.16.3-cp314-cp314-macosx_10_14_x86_64.whl", hash = "sha256:875555ce62743e1d54f06cdf22c1e0bc47b91130ac40fe5d783b6dfa114beeb6", size = 36606469, upload-time = "2025-10-28T17:36:08.741Z" }, + { url = "https://files.pythonhosted.org/packages/4d/74/043b54f2319f48ea940dd025779fa28ee360e6b95acb7cd188fad4391c6b/scipy-1.16.3-cp314-cp314-macosx_12_0_arm64.whl", hash = "sha256:bb61878c18a470021fb515a843dc7a76961a8daceaaaa8bad1332f1bf4b54657", size = 28872043, upload-time = "2025-10-28T17:36:16.599Z" }, + { url = "https://files.pythonhosted.org/packages/4d/e1/24b7e50cc1c4ee6ffbcb1f27fe9f4c8b40e7911675f6d2d20955f41c6348/scipy-1.16.3-cp314-cp314-macosx_14_0_arm64.whl", hash = "sha256:f2622206f5559784fa5c4b53a950c3c7c1cf3e84ca1b9c4b6c03f062f289ca26", size = 20862952, upload-time = "2025-10-28T17:36:22.966Z" }, + { url = "https://files.pythonhosted.org/packages/dd/3a/3e8c01a4d742b730df368e063787c6808597ccb38636ed821d10b39ca51b/scipy-1.16.3-cp314-cp314-macosx_14_0_x86_64.whl", hash = "sha256:7f68154688c515cdb541a31ef8eb66d8cd1050605be9dcd74199cbd22ac739bc", size = 23508512, upload-time = "2025-10-28T17:36:29.731Z" }, + { url = "https://files.pythonhosted.org/packages/1f/60/c45a12b98ad591536bfe5330cb3cfe1850d7570259303563b1721564d458/scipy-1.16.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8b3c820ddb80029fe9f43d61b81d8b488d3ef8ca010d15122b152db77dc94c22", size = 33413639, upload-time = "2025-10-28T17:36:37.982Z" }, + { url = "https://files.pythonhosted.org/packages/71/bc/35957d88645476307e4839712642896689df442f3e53b0fa016ecf8a3357/scipy-1.16.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d3837938ae715fc0fe3c39c0202de3a8853aff22ca66781ddc2ade7554b7e2cc", size = 35704729, upload-time = "2025-10-28T17:36:46.547Z" }, + { url = "https://files.pythonhosted.org/packages/3b/15/89105e659041b1ca11c386e9995aefacd513a78493656e57789f9d9eab61/scipy-1.16.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:aadd23f98f9cb069b3bd64ddc900c4d277778242e961751f77a8cb5c4b946fb0", size = 36086251, upload-time = "2025-10-28T17:36:55.161Z" }, + { url = "https://files.pythonhosted.org/packages/1a/87/c0ea673ac9c6cc50b3da2196d860273bc7389aa69b64efa8493bdd25b093/scipy-1.16.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:b7c5f1bda1354d6a19bc6af73a649f8285ca63ac6b52e64e658a5a11d4d69800", size = 38716681, upload-time = "2025-10-28T17:37:04.1Z" }, + { url = "https://files.pythonhosted.org/packages/91/06/837893227b043fb9b0d13e4bd7586982d8136cb249ffb3492930dab905b8/scipy-1.16.3-cp314-cp314-win_amd64.whl", hash = "sha256:e5d42a9472e7579e473879a1990327830493a7047506d58d73fc429b84c1d49d", size = 39358423, upload-time = "2025-10-28T17:38:20.005Z" }, + { url = "https://files.pythonhosted.org/packages/95/03/28bce0355e4d34a7c034727505a02d19548549e190bedd13a721e35380b7/scipy-1.16.3-cp314-cp314-win_arm64.whl", hash = "sha256:6020470b9d00245926f2d5bb93b119ca0340f0d564eb6fbaad843eaebf9d690f", size = 26135027, upload-time = "2025-10-28T17:38:24.966Z" }, + { url = "https://files.pythonhosted.org/packages/b2/6f/69f1e2b682efe9de8fe9f91040f0cd32f13cfccba690512ba4c582b0bc29/scipy-1.16.3-cp314-cp314t-macosx_10_14_x86_64.whl", hash = "sha256:e1d27cbcb4602680a49d787d90664fa4974063ac9d4134813332a8c53dbe667c", size = 37028379, upload-time = "2025-10-28T17:37:14.061Z" }, + { url = "https://files.pythonhosted.org/packages/7c/2d/e826f31624a5ebbab1cd93d30fd74349914753076ed0593e1d56a98c4fb4/scipy-1.16.3-cp314-cp314t-macosx_12_0_arm64.whl", hash = "sha256:9b9c9c07b6d56a35777a1b4cc8966118fb16cfd8daf6743867d17d36cfad2d40", size = 29400052, upload-time = "2025-10-28T17:37:21.709Z" }, + { url = "https://files.pythonhosted.org/packages/69/27/d24feb80155f41fd1f156bf144e7e049b4e2b9dd06261a242905e3bc7a03/scipy-1.16.3-cp314-cp314t-macosx_14_0_arm64.whl", hash = "sha256:3a4c460301fb2cffb7f88528f30b3127742cff583603aa7dc964a52c463b385d", size = 21391183, upload-time = "2025-10-28T17:37:29.559Z" }, + { url = "https://files.pythonhosted.org/packages/f8/d3/1b229e433074c5738a24277eca520a2319aac7465eea7310ea6ae0e98ae2/scipy-1.16.3-cp314-cp314t-macosx_14_0_x86_64.whl", hash = "sha256:f667a4542cc8917af1db06366d3f78a5c8e83badd56409f94d1eac8d8d9133fa", size = 23930174, upload-time = "2025-10-28T17:37:36.306Z" }, + { url = "https://files.pythonhosted.org/packages/16/9d/d9e148b0ec680c0f042581a2be79a28a7ab66c0c4946697f9e7553ead337/scipy-1.16.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:f379b54b77a597aa7ee5e697df0d66903e41b9c85a6dd7946159e356319158e8", size = 33497852, upload-time = "2025-10-28T17:37:42.228Z" }, + { url = "https://files.pythonhosted.org/packages/2f/22/4e5f7561e4f98b7bea63cf3fd7934bff1e3182e9f1626b089a679914d5c8/scipy-1.16.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4aff59800a3b7f786b70bfd6ab551001cb553244988d7d6b8299cb1ea653b353", size = 35798595, upload-time = "2025-10-28T17:37:48.102Z" }, + { url = "https://files.pythonhosted.org/packages/83/42/6644d714c179429fc7196857866f219fef25238319b650bb32dde7bf7a48/scipy-1.16.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:da7763f55885045036fabcebd80144b757d3db06ab0861415d1c3b7c69042146", size = 36186269, upload-time = "2025-10-28T17:37:53.72Z" }, + { url = "https://files.pythonhosted.org/packages/ac/70/64b4d7ca92f9cf2e6fc6aaa2eecf80bb9b6b985043a9583f32f8177ea122/scipy-1.16.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ffa6eea95283b2b8079b821dc11f50a17d0571c92b43e2b5b12764dc5f9b285d", size = 38802779, upload-time = "2025-10-28T17:37:59.393Z" }, + { url = "https://files.pythonhosted.org/packages/61/82/8d0e39f62764cce5ffd5284131e109f07cf8955aef9ab8ed4e3aa5e30539/scipy-1.16.3-cp314-cp314t-win_amd64.whl", hash = "sha256:d9f48cafc7ce94cf9b15c6bffdc443a81a27bf7075cf2dcd5c8b40f85d10c4e7", size = 39471128, upload-time = "2025-10-28T17:38:05.259Z" }, + { url = "https://files.pythonhosted.org/packages/64/47/a494741db7280eae6dc033510c319e34d42dd41b7ac0c7ead39354d1a2b5/scipy-1.16.3-cp314-cp314t-win_arm64.whl", hash = "sha256:21d9d6b197227a12dcbf9633320a4e34c6b0e51c57268df255a0942983bac562", size = 26464127, upload-time = "2025-10-28T17:38:11.34Z" }, +] + +[[package]] +name = "seaborn" +version = "0.13.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "matplotlib" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11'" }, + { name = "numpy", version = "2.3.3", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11'" }, + { name = "pandas" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/86/59/a451d7420a77ab0b98f7affa3a1d78a313d2f7281a57afb1a34bae8ab412/seaborn-0.13.2.tar.gz", hash = "sha256:93e60a40988f4d65e9f4885df477e2fdaff6b73a9ded434c1ab356dd57eefff7", size = 1457696, upload-time = "2024-01-25T13:21:52.551Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/83/11/00d3c3dfc25ad54e731d91449895a79e4bf2384dc3ac01809010ba88f6d5/seaborn-0.13.2-py3-none-any.whl", hash = "sha256:636f8336facf092165e27924f223d3c62ca560b1f2bb5dff7ab7fad265361987", size = 294914, upload-time = "2024-01-25T13:21:49.598Z" }, +] + +[[package]] +name = "shellingham" +version = "1.5.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de", size = 10310, upload-time = "2023-10-24T04:13:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686", size = 9755, upload-time = "2023-10-24T04:13:38.866Z" }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + [[package]] name = "stack-data" version = "0.6.3" @@ -804,6 +2556,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521, upload-time = "2023-09-30T13:58:03.53Z" }, ] +[[package]] +name = "threadpoolctl" +version = "3.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b7/4d/08c89e34946fce2aec4fbb45c9016efd5f4d7f24af8e5d93296e935631d8/threadpoolctl-3.6.0.tar.gz", hash = "sha256:8ab8b4aa3491d812b623328249fab5302a68d2d71745c8a4c719a2fcaba9f44e", size = 21274, upload-time = "2025-03-13T13:49:23.031Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl", hash = "sha256:43a0b8fd5a2928500110039e43a5eed8480b918967083ea48dc3ab9f13c4a7fb", size = 18638, upload-time = "2025-03-13T13:49:21.846Z" }, +] + [[package]] name = "tomli" version = "2.2.1" @@ -843,6 +2604,18 @@ wheels = [ { 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 = "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 = "traitlets" version = "5.14.3" @@ -852,6 +2625,31 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f", size = 85359, upload-time = "2024-04-19T11:11:46.763Z" }, ] +[[package]] +name = "typer-slim" +version = "0.21.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/17/d4/064570dec6358aa9049d4708e4a10407d74c99258f8b2136bb8702303f1a/typer_slim-0.21.1.tar.gz", hash = "sha256:73495dd08c2d0940d611c5a8c04e91c2a0a98600cbd4ee19192255a233b6dbfd", size = 110478, upload-time = "2026-01-06T11:21:11.176Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c8/0a/4aca634faf693e33004796b6cee0ae2e1dba375a800c16ab8d3eff4bb800/typer_slim-0.21.1-py3-none-any.whl", hash = "sha256:6e6c31047f171ac93cc5a973c9e617dbc5ab2bddc4d0a3135dc161b4e2020e0d", size = 47444, upload-time = "2026-01-06T11:21:12.441Z" }, +] + +[[package]] +name = "types-requests" +version = "2.32.4.20260107" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "urllib3" }, +] +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/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]] name = "typing-extensions" version = "4.15.0" @@ -861,6 +2659,24 @@ 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 = "tzdata" +version = "2025.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/95/32/1a225d6164441be760d75c2c42e2780dc0873fe382da3e98a2e1e48361e5/tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9", size = 196380, upload-time = "2025-03-23T13:54:43.652Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8", size = 347839, upload-time = "2025-03-23T13:54:41.845Z" }, +] + +[[package]] +name = "urllib3" +version = "2.6.3" +source = { registry = "https://pypi.org/simple" } +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/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]] name = "virtualenv" version = "20.34.0" @@ -884,3 +2700,247 @@ sdist = { url = "https://files.pythonhosted.org/packages/24/30/6b0809f4510673dc7 wheels = [ { 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 = "xxhash" +version = "3.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/02/84/30869e01909fb37a6cc7e18688ee8bf1e42d57e7e0777636bd47524c43c7/xxhash-3.6.0.tar.gz", hash = "sha256:f0162a78b13a0d7617b2845b90c763339d1f1d82bb04a4b07f4ab535cc5e05d6", size = 85160, upload-time = "2025-10-02T14:37:08.097Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/34/ee/f9f1d656ad168681bb0f6b092372c1e533c4416b8069b1896a175c46e484/xxhash-3.6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:87ff03d7e35c61435976554477a7f4cd1704c3596a89a8300d5ce7fc83874a71", size = 32845, upload-time = "2025-10-02T14:33:51.573Z" }, + { url = "https://files.pythonhosted.org/packages/a3/b1/93508d9460b292c74a09b83d16750c52a0ead89c51eea9951cb97a60d959/xxhash-3.6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f572dfd3d0e2eb1a57511831cf6341242f5a9f8298a45862d085f5b93394a27d", size = 30807, upload-time = "2025-10-02T14:33:52.964Z" }, + { url = "https://files.pythonhosted.org/packages/07/55/28c93a3662f2d200c70704efe74aab9640e824f8ce330d8d3943bf7c9b3c/xxhash-3.6.0-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:89952ea539566b9fed2bbd94e589672794b4286f342254fad28b149f9615fef8", size = 193786, upload-time = "2025-10-02T14:33:54.272Z" }, + { url = "https://files.pythonhosted.org/packages/c1/96/fec0be9bb4b8f5d9c57d76380a366f31a1781fb802f76fc7cda6c84893c7/xxhash-3.6.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:48e6f2ffb07a50b52465a1032c3cf1f4a5683f944acaca8a134a2f23674c2058", size = 212830, upload-time = "2025-10-02T14:33:55.706Z" }, + { url = "https://files.pythonhosted.org/packages/c4/a0/c706845ba77b9611f81fd2e93fad9859346b026e8445e76f8c6fd057cc6d/xxhash-3.6.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b5b848ad6c16d308c3ac7ad4ba6bede80ed5df2ba8ed382f8932df63158dd4b2", size = 211606, upload-time = "2025-10-02T14:33:57.133Z" }, + { url = "https://files.pythonhosted.org/packages/67/1e/164126a2999e5045f04a69257eea946c0dc3e86541b400d4385d646b53d7/xxhash-3.6.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a034590a727b44dd8ac5914236a7b8504144447a9682586c3327e935f33ec8cc", size = 444872, upload-time = "2025-10-02T14:33:58.446Z" }, + { url = "https://files.pythonhosted.org/packages/2d/4b/55ab404c56cd70a2cf5ecfe484838865d0fea5627365c6c8ca156bd09c8f/xxhash-3.6.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8a8f1972e75ebdd161d7896743122834fe87378160c20e97f8b09166213bf8cc", size = 193217, upload-time = "2025-10-02T14:33:59.724Z" }, + { url = "https://files.pythonhosted.org/packages/45/e6/52abf06bac316db33aa269091ae7311bd53cfc6f4b120ae77bac1b348091/xxhash-3.6.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ee34327b187f002a596d7b167ebc59a1b729e963ce645964bbc050d2f1b73d07", size = 210139, upload-time = "2025-10-02T14:34:02.041Z" }, + { url = "https://files.pythonhosted.org/packages/34/37/db94d490b8691236d356bc249c08819cbcef9273a1a30acf1254ff9ce157/xxhash-3.6.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:339f518c3c7a850dd033ab416ea25a692759dc7478a71131fe8869010d2b75e4", size = 197669, upload-time = "2025-10-02T14:34:03.664Z" }, + { url = "https://files.pythonhosted.org/packages/b7/36/c4f219ef4a17a4f7a64ed3569bc2b5a9c8311abdb22249ac96093625b1a4/xxhash-3.6.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:bf48889c9630542d4709192578aebbd836177c9f7a4a2778a7d6340107c65f06", size = 210018, upload-time = "2025-10-02T14:34:05.325Z" }, + { url = "https://files.pythonhosted.org/packages/fd/06/bfac889a374fc2fc439a69223d1750eed2e18a7db8514737ab630534fa08/xxhash-3.6.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:5576b002a56207f640636056b4160a378fe36a58db73ae5c27a7ec8db35f71d4", size = 413058, upload-time = "2025-10-02T14:34:06.925Z" }, + { url = "https://files.pythonhosted.org/packages/c9/d1/555d8447e0dd32ad0930a249a522bb2e289f0d08b6b16204cfa42c1f5a0c/xxhash-3.6.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:af1f3278bd02814d6dedc5dec397993b549d6f16c19379721e5a1d31e132c49b", size = 190628, upload-time = "2025-10-02T14:34:08.669Z" }, + { url = "https://files.pythonhosted.org/packages/d1/15/8751330b5186cedc4ed4b597989882ea05e0408b53fa47bcb46a6125bfc6/xxhash-3.6.0-cp310-cp310-win32.whl", hash = "sha256:aed058764db109dc9052720da65fafe84873b05eb8b07e5e653597951af57c3b", size = 30577, upload-time = "2025-10-02T14:34:10.234Z" }, + { url = "https://files.pythonhosted.org/packages/bb/cc/53f87e8b5871a6eb2ff7e89c48c66093bda2be52315a8161ddc54ea550c4/xxhash-3.6.0-cp310-cp310-win_amd64.whl", hash = "sha256:e82da5670f2d0d98950317f82a0e4a0197150ff19a6df2ba40399c2a3b9ae5fb", size = 31487, upload-time = "2025-10-02T14:34:11.618Z" }, + { url = "https://files.pythonhosted.org/packages/9f/00/60f9ea3bb697667a14314d7269956f58bf56bb73864f8f8d52a3c2535e9a/xxhash-3.6.0-cp310-cp310-win_arm64.whl", hash = "sha256:4a082ffff8c6ac07707fb6b671caf7c6e020c75226c561830b73d862060f281d", size = 27863, upload-time = "2025-10-02T14:34:12.619Z" }, + { url = "https://files.pythonhosted.org/packages/17/d4/cc2f0400e9154df4b9964249da78ebd72f318e35ccc425e9f403c392f22a/xxhash-3.6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b47bbd8cf2d72797f3c2772eaaac0ded3d3af26481a26d7d7d41dc2d3c46b04a", size = 32844, upload-time = "2025-10-02T14:34:14.037Z" }, + { url = "https://files.pythonhosted.org/packages/5e/ec/1cc11cd13e26ea8bc3cb4af4eaadd8d46d5014aebb67be3f71fb0b68802a/xxhash-3.6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:2b6821e94346f96db75abaa6e255706fb06ebd530899ed76d32cd99f20dc52fa", size = 30809, upload-time = "2025-10-02T14:34:15.484Z" }, + { url = "https://files.pythonhosted.org/packages/04/5f/19fe357ea348d98ca22f456f75a30ac0916b51c753e1f8b2e0e6fb884cce/xxhash-3.6.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:d0a9751f71a1a65ce3584e9cae4467651c7e70c9d31017fa57574583a4540248", size = 194665, upload-time = "2025-10-02T14:34:16.541Z" }, + { url = "https://files.pythonhosted.org/packages/90/3b/d1f1a8f5442a5fd8beedae110c5af7604dc37349a8e16519c13c19a9a2de/xxhash-3.6.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8b29ee68625ab37b04c0b40c3fafdf24d2f75ccd778333cfb698f65f6c463f62", size = 213550, upload-time = "2025-10-02T14:34:17.878Z" }, + { url = "https://files.pythonhosted.org/packages/c4/ef/3a9b05eb527457d5db13a135a2ae1a26c80fecd624d20f3e8dcc4cb170f3/xxhash-3.6.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6812c25fe0d6c36a46ccb002f40f27ac903bf18af9f6dd8f9669cb4d176ab18f", size = 212384, upload-time = "2025-10-02T14:34:19.182Z" }, + { url = "https://files.pythonhosted.org/packages/0f/18/ccc194ee698c6c623acbf0f8c2969811a8a4b6185af5e824cd27b9e4fd3e/xxhash-3.6.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4ccbff013972390b51a18ef1255ef5ac125c92dc9143b2d1909f59abc765540e", size = 445749, upload-time = "2025-10-02T14:34:20.659Z" }, + { url = "https://files.pythonhosted.org/packages/a5/86/cf2c0321dc3940a7aa73076f4fd677a0fb3e405cb297ead7d864fd90847e/xxhash-3.6.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:297b7fbf86c82c550e12e8fb71968b3f033d27b874276ba3624ea868c11165a8", size = 193880, upload-time = "2025-10-02T14:34:22.431Z" }, + { url = "https://files.pythonhosted.org/packages/82/fb/96213c8560e6f948a1ecc9a7613f8032b19ee45f747f4fca4eb31bb6d6ed/xxhash-3.6.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:dea26ae1eb293db089798d3973a5fc928a18fdd97cc8801226fae705b02b14b0", size = 210912, upload-time = "2025-10-02T14:34:23.937Z" }, + { url = "https://files.pythonhosted.org/packages/40/aa/4395e669b0606a096d6788f40dbdf2b819d6773aa290c19e6e83cbfc312f/xxhash-3.6.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:7a0b169aafb98f4284f73635a8e93f0735f9cbde17bd5ec332480484241aaa77", size = 198654, upload-time = "2025-10-02T14:34:25.644Z" }, + { url = "https://files.pythonhosted.org/packages/67/74/b044fcd6b3d89e9b1b665924d85d3f400636c23590226feb1eb09e1176ce/xxhash-3.6.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:08d45aef063a4531b785cd72de4887766d01dc8f362a515693df349fdb825e0c", size = 210867, upload-time = "2025-10-02T14:34:27.203Z" }, + { url = "https://files.pythonhosted.org/packages/bc/fd/3ce73bf753b08cb19daee1eb14aa0d7fe331f8da9c02dd95316ddfe5275e/xxhash-3.6.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:929142361a48ee07f09121fe9e96a84950e8d4df3bb298ca5d88061969f34d7b", size = 414012, upload-time = "2025-10-02T14:34:28.409Z" }, + { url = "https://files.pythonhosted.org/packages/ba/b3/5a4241309217c5c876f156b10778f3ab3af7ba7e3259e6d5f5c7d0129eb2/xxhash-3.6.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:51312c768403d8540487dbbfb557454cfc55589bbde6424456951f7fcd4facb3", size = 191409, upload-time = "2025-10-02T14:34:29.696Z" }, + { url = "https://files.pythonhosted.org/packages/c0/01/99bfbc15fb9abb9a72b088c1d95219fc4782b7d01fc835bd5744d66dd0b8/xxhash-3.6.0-cp311-cp311-win32.whl", hash = "sha256:d1927a69feddc24c987b337ce81ac15c4720955b667fe9b588e02254b80446fd", size = 30574, upload-time = "2025-10-02T14:34:31.028Z" }, + { url = "https://files.pythonhosted.org/packages/65/79/9d24d7f53819fe301b231044ea362ce64e86c74f6e8c8e51320de248b3e5/xxhash-3.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:26734cdc2d4ffe449b41d186bbeac416f704a482ed835d375a5c0cb02bc63fef", size = 31481, upload-time = "2025-10-02T14:34:32.062Z" }, + { url = "https://files.pythonhosted.org/packages/30/4e/15cd0e3e8772071344eab2961ce83f6e485111fed8beb491a3f1ce100270/xxhash-3.6.0-cp311-cp311-win_arm64.whl", hash = "sha256:d72f67ef8bf36e05f5b6c65e8524f265bd61071471cd4cf1d36743ebeeeb06b7", size = 27861, upload-time = "2025-10-02T14:34:33.555Z" }, + { url = "https://files.pythonhosted.org/packages/9a/07/d9412f3d7d462347e4511181dea65e47e0d0e16e26fbee2ea86a2aefb657/xxhash-3.6.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:01362c4331775398e7bb34e3ab403bc9ee9f7c497bc7dee6272114055277dd3c", size = 32744, upload-time = "2025-10-02T14:34:34.622Z" }, + { url = "https://files.pythonhosted.org/packages/79/35/0429ee11d035fc33abe32dca1b2b69e8c18d236547b9a9b72c1929189b9a/xxhash-3.6.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b7b2df81a23f8cb99656378e72501b2cb41b1827c0f5a86f87d6b06b69f9f204", size = 30816, upload-time = "2025-10-02T14:34:36.043Z" }, + { url = "https://files.pythonhosted.org/packages/b7/f2/57eb99aa0f7d98624c0932c5b9a170e1806406cdbcdb510546634a1359e0/xxhash-3.6.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:dc94790144e66b14f67b10ac8ed75b39ca47536bf8800eb7c24b50271ea0c490", size = 194035, upload-time = "2025-10-02T14:34:37.354Z" }, + { url = "https://files.pythonhosted.org/packages/4c/ed/6224ba353690d73af7a3f1c7cdb1fc1b002e38f783cb991ae338e1eb3d79/xxhash-3.6.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:93f107c673bccf0d592cdba077dedaf52fe7f42dcd7676eba1f6d6f0c3efffd2", size = 212914, upload-time = "2025-10-02T14:34:38.6Z" }, + { url = "https://files.pythonhosted.org/packages/38/86/fb6b6130d8dd6b8942cc17ab4d90e223653a89aa32ad2776f8af7064ed13/xxhash-3.6.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2aa5ee3444c25b69813663c9f8067dcfaa2e126dc55e8dddf40f4d1c25d7effa", size = 212163, upload-time = "2025-10-02T14:34:39.872Z" }, + { url = "https://files.pythonhosted.org/packages/ee/dc/e84875682b0593e884ad73b2d40767b5790d417bde603cceb6878901d647/xxhash-3.6.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f7f99123f0e1194fa59cc69ad46dbae2e07becec5df50a0509a808f90a0f03f0", size = 445411, upload-time = "2025-10-02T14:34:41.569Z" }, + { url = "https://files.pythonhosted.org/packages/11/4f/426f91b96701ec2f37bb2b8cec664eff4f658a11f3fa9d94f0a887ea6d2b/xxhash-3.6.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:49e03e6fe2cac4a1bc64952dd250cf0dbc5ef4ebb7b8d96bce82e2de163c82a2", size = 193883, upload-time = "2025-10-02T14:34:43.249Z" }, + { url = "https://files.pythonhosted.org/packages/53/5a/ddbb83eee8e28b778eacfc5a85c969673e4023cdeedcfcef61f36731610b/xxhash-3.6.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:bd17fede52a17a4f9a7bc4472a5867cb0b160deeb431795c0e4abe158bc784e9", size = 210392, upload-time = "2025-10-02T14:34:45.042Z" }, + { url = "https://files.pythonhosted.org/packages/1e/c2/ff69efd07c8c074ccdf0a4f36fcdd3d27363665bcdf4ba399abebe643465/xxhash-3.6.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:6fb5f5476bef678f69db04f2bd1efbed3030d2aba305b0fc1773645f187d6a4e", size = 197898, upload-time = "2025-10-02T14:34:46.302Z" }, + { url = "https://files.pythonhosted.org/packages/58/ca/faa05ac19b3b622c7c9317ac3e23954187516298a091eb02c976d0d3dd45/xxhash-3.6.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:843b52f6d88071f87eba1631b684fcb4b2068cd2180a0224122fe4ef011a9374", size = 210655, upload-time = "2025-10-02T14:34:47.571Z" }, + { url = "https://files.pythonhosted.org/packages/d4/7a/06aa7482345480cc0cb597f5c875b11a82c3953f534394f620b0be2f700c/xxhash-3.6.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:7d14a6cfaf03b1b6f5f9790f76880601ccc7896aff7ab9cd8978a939c1eb7e0d", size = 414001, upload-time = "2025-10-02T14:34:49.273Z" }, + { url = "https://files.pythonhosted.org/packages/23/07/63ffb386cd47029aa2916b3d2f454e6cc5b9f5c5ada3790377d5430084e7/xxhash-3.6.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:418daf3db71e1413cfe211c2f9a528456936645c17f46b5204705581a45390ae", size = 191431, upload-time = "2025-10-02T14:34:50.798Z" }, + { url = "https://files.pythonhosted.org/packages/0f/93/14fde614cadb4ddf5e7cebf8918b7e8fac5ae7861c1875964f17e678205c/xxhash-3.6.0-cp312-cp312-win32.whl", hash = "sha256:50fc255f39428a27299c20e280d6193d8b63b8ef8028995323bf834a026b4fbb", size = 30617, upload-time = "2025-10-02T14:34:51.954Z" }, + { url = "https://files.pythonhosted.org/packages/13/5d/0d125536cbe7565a83d06e43783389ecae0c0f2ed037b48ede185de477c0/xxhash-3.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:c0f2ab8c715630565ab8991b536ecded9416d615538be8ecddce43ccf26cbc7c", size = 31534, upload-time = "2025-10-02T14:34:53.276Z" }, + { url = "https://files.pythonhosted.org/packages/54/85/6ec269b0952ec7e36ba019125982cf11d91256a778c7c3f98a4c5043d283/xxhash-3.6.0-cp312-cp312-win_arm64.whl", hash = "sha256:eae5c13f3bc455a3bbb68bdc513912dc7356de7e2280363ea235f71f54064829", size = 27876, upload-time = "2025-10-02T14:34:54.371Z" }, + { url = "https://files.pythonhosted.org/packages/33/76/35d05267ac82f53ae9b0e554da7c5e281ee61f3cad44c743f0fcd354f211/xxhash-3.6.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:599e64ba7f67472481ceb6ee80fa3bd828fd61ba59fb11475572cc5ee52b89ec", size = 32738, upload-time = "2025-10-02T14:34:55.839Z" }, + { url = "https://files.pythonhosted.org/packages/31/a8/3fbce1cd96534a95e35d5120637bf29b0d7f5d8fa2f6374e31b4156dd419/xxhash-3.6.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:7d8b8aaa30fca4f16f0c84a5c8d7ddee0e25250ec2796c973775373257dde8f1", size = 30821, upload-time = "2025-10-02T14:34:57.219Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ea/d387530ca7ecfa183cb358027f1833297c6ac6098223fd14f9782cd0015c/xxhash-3.6.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:d597acf8506d6e7101a4a44a5e428977a51c0fadbbfd3c39650cca9253f6e5a6", size = 194127, upload-time = "2025-10-02T14:34:59.21Z" }, + { url = "https://files.pythonhosted.org/packages/ba/0c/71435dcb99874b09a43b8d7c54071e600a7481e42b3e3ce1eb5226a5711a/xxhash-3.6.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:858dc935963a33bc33490128edc1c12b0c14d9c7ebaa4e387a7869ecc4f3e263", size = 212975, upload-time = "2025-10-02T14:35:00.816Z" }, + { url = "https://files.pythonhosted.org/packages/84/7a/c2b3d071e4bb4a90b7057228a99b10d51744878f4a8a6dd643c8bd897620/xxhash-3.6.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ba284920194615cb8edf73bf52236ce2e1664ccd4a38fdb543506413529cc546", size = 212241, upload-time = "2025-10-02T14:35:02.207Z" }, + { url = "https://files.pythonhosted.org/packages/81/5f/640b6eac0128e215f177df99eadcd0f1b7c42c274ab6a394a05059694c5a/xxhash-3.6.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:4b54219177f6c6674d5378bd862c6aedf64725f70dd29c472eaae154df1a2e89", size = 445471, upload-time = "2025-10-02T14:35:03.61Z" }, + { url = "https://files.pythonhosted.org/packages/5e/1e/3c3d3ef071b051cc3abbe3721ffb8365033a172613c04af2da89d5548a87/xxhash-3.6.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:42c36dd7dbad2f5238950c377fcbf6811b1cdb1c444fab447960030cea60504d", size = 193936, upload-time = "2025-10-02T14:35:05.013Z" }, + { url = "https://files.pythonhosted.org/packages/2c/bd/4a5f68381939219abfe1c22a9e3a5854a4f6f6f3c4983a87d255f21f2e5d/xxhash-3.6.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f22927652cba98c44639ffdc7aaf35828dccf679b10b31c4ad72a5b530a18eb7", size = 210440, upload-time = "2025-10-02T14:35:06.239Z" }, + { url = "https://files.pythonhosted.org/packages/eb/37/b80fe3d5cfb9faff01a02121a0f4d565eb7237e9e5fc66e73017e74dcd36/xxhash-3.6.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b45fad44d9c5c119e9c6fbf2e1c656a46dc68e280275007bbfd3d572b21426db", size = 197990, upload-time = "2025-10-02T14:35:07.735Z" }, + { url = "https://files.pythonhosted.org/packages/d7/fd/2c0a00c97b9e18f72e1f240ad4e8f8a90fd9d408289ba9c7c495ed7dc05c/xxhash-3.6.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:6f2580ffab1a8b68ef2b901cde7e55fa8da5e4be0977c68f78fc80f3c143de42", size = 210689, upload-time = "2025-10-02T14:35:09.438Z" }, + { url = "https://files.pythonhosted.org/packages/93/86/5dd8076a926b9a95db3206aba20d89a7fc14dd5aac16e5c4de4b56033140/xxhash-3.6.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:40c391dd3cd041ebc3ffe6f2c862f402e306eb571422e0aa918d8070ba31da11", size = 414068, upload-time = "2025-10-02T14:35:11.162Z" }, + { url = "https://files.pythonhosted.org/packages/af/3c/0bb129170ee8f3650f08e993baee550a09593462a5cddd8e44d0011102b1/xxhash-3.6.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f205badabde7aafd1a31e8ca2a3e5a763107a71c397c4481d6a804eb5063d8bd", size = 191495, upload-time = "2025-10-02T14:35:12.971Z" }, + { url = "https://files.pythonhosted.org/packages/e9/3a/6797e0114c21d1725e2577508e24006fd7ff1d8c0c502d3b52e45c1771d8/xxhash-3.6.0-cp313-cp313-win32.whl", hash = "sha256:2577b276e060b73b73a53042ea5bd5203d3e6347ce0d09f98500f418a9fcf799", size = 30620, upload-time = "2025-10-02T14:35:14.129Z" }, + { url = "https://files.pythonhosted.org/packages/86/15/9bc32671e9a38b413a76d24722a2bf8784a132c043063a8f5152d390b0f9/xxhash-3.6.0-cp313-cp313-win_amd64.whl", hash = "sha256:757320d45d2fbcce8f30c42a6b2f47862967aea7bf458b9625b4bbe7ee390392", size = 31542, upload-time = "2025-10-02T14:35:15.21Z" }, + { url = "https://files.pythonhosted.org/packages/39/c5/cc01e4f6188656e56112d6a8e0dfe298a16934b8c47a247236549a3f7695/xxhash-3.6.0-cp313-cp313-win_arm64.whl", hash = "sha256:457b8f85dec5825eed7b69c11ae86834a018b8e3df5e77783c999663da2f96d6", size = 27880, upload-time = "2025-10-02T14:35:16.315Z" }, + { url = "https://files.pythonhosted.org/packages/f3/30/25e5321c8732759e930c555176d37e24ab84365482d257c3b16362235212/xxhash-3.6.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:a42e633d75cdad6d625434e3468126c73f13f7584545a9cf34e883aa1710e702", size = 32956, upload-time = "2025-10-02T14:35:17.413Z" }, + { url = "https://files.pythonhosted.org/packages/9f/3c/0573299560d7d9f8ab1838f1efc021a280b5ae5ae2e849034ef3dee18810/xxhash-3.6.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:568a6d743219e717b07b4e03b0a828ce593833e498c3b64752e0f5df6bfe84db", size = 31072, upload-time = "2025-10-02T14:35:18.844Z" }, + { url = "https://files.pythonhosted.org/packages/7a/1c/52d83a06e417cd9d4137722693424885cc9878249beb3a7c829e74bf7ce9/xxhash-3.6.0-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:bec91b562d8012dae276af8025a55811b875baace6af510412a5e58e3121bc54", size = 196409, upload-time = "2025-10-02T14:35:20.31Z" }, + { url = "https://files.pythonhosted.org/packages/e3/8e/c6d158d12a79bbd0b878f8355432075fc82759e356ab5a111463422a239b/xxhash-3.6.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:78e7f2f4c521c30ad5e786fdd6bae89d47a32672a80195467b5de0480aa97b1f", size = 215736, upload-time = "2025-10-02T14:35:21.616Z" }, + { url = "https://files.pythonhosted.org/packages/bc/68/c4c80614716345d55071a396cf03d06e34b5f4917a467faf43083c995155/xxhash-3.6.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3ed0df1b11a79856df5ffcab572cbd6b9627034c1c748c5566fa79df9048a7c5", size = 214833, upload-time = "2025-10-02T14:35:23.32Z" }, + { url = "https://files.pythonhosted.org/packages/7e/e9/ae27c8ffec8b953efa84c7c4a6c6802c263d587b9fc0d6e7cea64e08c3af/xxhash-3.6.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0e4edbfc7d420925b0dd5e792478ed393d6e75ff8fc219a6546fb446b6a417b1", size = 448348, upload-time = "2025-10-02T14:35:25.111Z" }, + { url = "https://files.pythonhosted.org/packages/d7/6b/33e21afb1b5b3f46b74b6bd1913639066af218d704cc0941404ca717fc57/xxhash-3.6.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fba27a198363a7ef87f8c0f6b171ec36b674fe9053742c58dd7e3201c1ab30ee", size = 196070, upload-time = "2025-10-02T14:35:26.586Z" }, + { url = "https://files.pythonhosted.org/packages/96/b6/fcabd337bc5fa624e7203aa0fa7d0c49eed22f72e93229431752bddc83d9/xxhash-3.6.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:794fe9145fe60191c6532fa95063765529770edcdd67b3d537793e8004cabbfd", size = 212907, upload-time = "2025-10-02T14:35:28.087Z" }, + { url = "https://files.pythonhosted.org/packages/4b/d3/9ee6160e644d660fcf176c5825e61411c7f62648728f69c79ba237250143/xxhash-3.6.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:6105ef7e62b5ac73a837778efc331a591d8442f8ef5c7e102376506cb4ae2729", size = 200839, upload-time = "2025-10-02T14:35:29.857Z" }, + { url = "https://files.pythonhosted.org/packages/0d/98/e8de5baa5109394baf5118f5e72ab21a86387c4f89b0e77ef3e2f6b0327b/xxhash-3.6.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:f01375c0e55395b814a679b3eea205db7919ac2af213f4a6682e01220e5fe292", size = 213304, upload-time = "2025-10-02T14:35:31.222Z" }, + { url = "https://files.pythonhosted.org/packages/7b/1d/71056535dec5c3177eeb53e38e3d367dd1d16e024e63b1cee208d572a033/xxhash-3.6.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:d706dca2d24d834a4661619dcacf51a75c16d65985718d6a7d73c1eeeb903ddf", size = 416930, upload-time = "2025-10-02T14:35:32.517Z" }, + { url = "https://files.pythonhosted.org/packages/dc/6c/5cbde9de2cd967c322e651c65c543700b19e7ae3e0aae8ece3469bf9683d/xxhash-3.6.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5f059d9faeacd49c0215d66f4056e1326c80503f51a1532ca336a385edadd033", size = 193787, upload-time = "2025-10-02T14:35:33.827Z" }, + { url = "https://files.pythonhosted.org/packages/19/fa/0172e350361d61febcea941b0cc541d6e6c8d65d153e85f850a7b256ff8a/xxhash-3.6.0-cp313-cp313t-win32.whl", hash = "sha256:1244460adc3a9be84731d72b8e80625788e5815b68da3da8b83f78115a40a7ec", size = 30916, upload-time = "2025-10-02T14:35:35.107Z" }, + { url = "https://files.pythonhosted.org/packages/ad/e6/e8cf858a2b19d6d45820f072eff1bea413910592ff17157cabc5f1227a16/xxhash-3.6.0-cp313-cp313t-win_amd64.whl", hash = "sha256:b1e420ef35c503869c4064f4a2f2b08ad6431ab7b229a05cce39d74268bca6b8", size = 31799, upload-time = "2025-10-02T14:35:36.165Z" }, + { url = "https://files.pythonhosted.org/packages/56/15/064b197e855bfb7b343210e82490ae672f8bc7cdf3ddb02e92f64304ee8a/xxhash-3.6.0-cp313-cp313t-win_arm64.whl", hash = "sha256:ec44b73a4220623235f67a996c862049f375df3b1052d9899f40a6382c32d746", size = 28044, upload-time = "2025-10-02T14:35:37.195Z" }, + { url = "https://files.pythonhosted.org/packages/7e/5e/0138bc4484ea9b897864d59fce9be9086030825bc778b76cb5a33a906d37/xxhash-3.6.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:a40a3d35b204b7cc7643cbcf8c9976d818cb47befcfac8bbefec8038ac363f3e", size = 32754, upload-time = "2025-10-02T14:35:38.245Z" }, + { url = "https://files.pythonhosted.org/packages/18/d7/5dac2eb2ec75fd771957a13e5dda560efb2176d5203f39502a5fc571f899/xxhash-3.6.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:a54844be970d3fc22630b32d515e79a90d0a3ddb2644d8d7402e3c4c8da61405", size = 30846, upload-time = "2025-10-02T14:35:39.6Z" }, + { url = "https://files.pythonhosted.org/packages/fe/71/8bc5be2bb00deb5682e92e8da955ebe5fa982da13a69da5a40a4c8db12fb/xxhash-3.6.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:016e9190af8f0a4e3741343777710e3d5717427f175adfdc3e72508f59e2a7f3", size = 194343, upload-time = "2025-10-02T14:35:40.69Z" }, + { url = "https://files.pythonhosted.org/packages/e7/3b/52badfb2aecec2c377ddf1ae75f55db3ba2d321c5e164f14461c90837ef3/xxhash-3.6.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4f6f72232f849eb9d0141e2ebe2677ece15adfd0fa599bc058aad83c714bb2c6", size = 213074, upload-time = "2025-10-02T14:35:42.29Z" }, + { url = "https://files.pythonhosted.org/packages/a2/2b/ae46b4e9b92e537fa30d03dbc19cdae57ed407e9c26d163895e968e3de85/xxhash-3.6.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:63275a8aba7865e44b1813d2177e0f5ea7eadad3dd063a21f7cf9afdc7054063", size = 212388, upload-time = "2025-10-02T14:35:43.929Z" }, + { url = "https://files.pythonhosted.org/packages/f5/80/49f88d3afc724b4ac7fbd664c8452d6db51b49915be48c6982659e0e7942/xxhash-3.6.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3cd01fa2aa00d8b017c97eb46b9a794fbdca53fc14f845f5a328c71254b0abb7", size = 445614, upload-time = "2025-10-02T14:35:45.216Z" }, + { url = "https://files.pythonhosted.org/packages/ed/ba/603ce3961e339413543d8cd44f21f2c80e2a7c5cfe692a7b1f2cccf58f3c/xxhash-3.6.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0226aa89035b62b6a86d3c68df4d7c1f47a342b8683da2b60cedcddb46c4d95b", size = 194024, upload-time = "2025-10-02T14:35:46.959Z" }, + { url = "https://files.pythonhosted.org/packages/78/d1/8e225ff7113bf81545cfdcd79eef124a7b7064a0bba53605ff39590b95c2/xxhash-3.6.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c6e193e9f56e4ca4923c61238cdaced324f0feac782544eb4c6d55ad5cc99ddd", size = 210541, upload-time = "2025-10-02T14:35:48.301Z" }, + { url = "https://files.pythonhosted.org/packages/6f/58/0f89d149f0bad89def1a8dd38feb50ccdeb643d9797ec84707091d4cb494/xxhash-3.6.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:9176dcaddf4ca963d4deb93866d739a343c01c969231dbe21680e13a5d1a5bf0", size = 198305, upload-time = "2025-10-02T14:35:49.584Z" }, + { url = "https://files.pythonhosted.org/packages/11/38/5eab81580703c4df93feb5f32ff8fa7fe1e2c51c1f183ee4e48d4bb9d3d7/xxhash-3.6.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:c1ce4009c97a752e682b897aa99aef84191077a9433eb237774689f14f8ec152", size = 210848, upload-time = "2025-10-02T14:35:50.877Z" }, + { url = "https://files.pythonhosted.org/packages/5e/6b/953dc4b05c3ce678abca756416e4c130d2382f877a9c30a20d08ee6a77c0/xxhash-3.6.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:8cb2f4f679b01513b7adbb9b1b2f0f9cdc31b70007eaf9d59d0878809f385b11", size = 414142, upload-time = "2025-10-02T14:35:52.15Z" }, + { url = "https://files.pythonhosted.org/packages/08/a9/238ec0d4e81a10eb5026d4a6972677cbc898ba6c8b9dbaec12ae001b1b35/xxhash-3.6.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:653a91d7c2ab54a92c19ccf43508b6a555440b9be1bc8be553376778be7f20b5", size = 191547, upload-time = "2025-10-02T14:35:53.547Z" }, + { url = "https://files.pythonhosted.org/packages/f1/ee/3cf8589e06c2164ac77c3bf0aa127012801128f1feebf2a079272da5737c/xxhash-3.6.0-cp314-cp314-win32.whl", hash = "sha256:a756fe893389483ee8c394d06b5ab765d96e68fbbfe6fde7aa17e11f5720559f", size = 31214, upload-time = "2025-10-02T14:35:54.746Z" }, + { url = "https://files.pythonhosted.org/packages/02/5d/a19552fbc6ad4cb54ff953c3908bbc095f4a921bc569433d791f755186f1/xxhash-3.6.0-cp314-cp314-win_amd64.whl", hash = "sha256:39be8e4e142550ef69629c9cd71b88c90e9a5db703fecbcf265546d9536ca4ad", size = 32290, upload-time = "2025-10-02T14:35:55.791Z" }, + { url = "https://files.pythonhosted.org/packages/b1/11/dafa0643bc30442c887b55baf8e73353a344ee89c1901b5a5c54a6c17d39/xxhash-3.6.0-cp314-cp314-win_arm64.whl", hash = "sha256:25915e6000338999236f1eb68a02a32c3275ac338628a7eaa5a269c401995679", size = 28795, upload-time = "2025-10-02T14:35:57.162Z" }, + { url = "https://files.pythonhosted.org/packages/2c/db/0e99732ed7f64182aef4a6fb145e1a295558deec2a746265dcdec12d191e/xxhash-3.6.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:c5294f596a9017ca5a3e3f8884c00b91ab2ad2933cf288f4923c3fd4346cf3d4", size = 32955, upload-time = "2025-10-02T14:35:58.267Z" }, + { url = "https://files.pythonhosted.org/packages/55/f4/2a7c3c68e564a099becfa44bb3d398810cc0ff6749b0d3cb8ccb93f23c14/xxhash-3.6.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1cf9dcc4ab9cff01dfbba78544297a3a01dafd60f3bde4e2bfd016cf7e4ddc67", size = 31072, upload-time = "2025-10-02T14:35:59.382Z" }, + { url = "https://files.pythonhosted.org/packages/c6/d9/72a29cddc7250e8a5819dad5d466facb5dc4c802ce120645630149127e73/xxhash-3.6.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:01262da8798422d0685f7cef03b2bd3f4f46511b02830861df548d7def4402ad", size = 196579, upload-time = "2025-10-02T14:36:00.838Z" }, + { url = "https://files.pythonhosted.org/packages/63/93/b21590e1e381040e2ca305a884d89e1c345b347404f7780f07f2cdd47ef4/xxhash-3.6.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:51a73fb7cb3a3ead9f7a8b583ffd9b8038e277cdb8cb87cf890e88b3456afa0b", size = 215854, upload-time = "2025-10-02T14:36:02.207Z" }, + { url = "https://files.pythonhosted.org/packages/ce/b8/edab8a7d4fa14e924b29be877d54155dcbd8b80be85ea00d2be3413a9ed4/xxhash-3.6.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:b9c6df83594f7df8f7f708ce5ebeacfc69f72c9fbaaababf6cf4758eaada0c9b", size = 214965, upload-time = "2025-10-02T14:36:03.507Z" }, + { url = "https://files.pythonhosted.org/packages/27/67/dfa980ac7f0d509d54ea0d5a486d2bb4b80c3f1bb22b66e6a05d3efaf6c0/xxhash-3.6.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:627f0af069b0ea56f312fd5189001c24578868643203bca1abbc2c52d3a6f3ca", size = 448484, upload-time = "2025-10-02T14:36:04.828Z" }, + { url = "https://files.pythonhosted.org/packages/8c/63/8ffc2cc97e811c0ca5d00ab36604b3ea6f4254f20b7bc658ca825ce6c954/xxhash-3.6.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:aa912c62f842dfd013c5f21a642c9c10cd9f4c4e943e0af83618b4a404d9091a", size = 196162, upload-time = "2025-10-02T14:36:06.182Z" }, + { url = "https://files.pythonhosted.org/packages/4b/77/07f0e7a3edd11a6097e990f6e5b815b6592459cb16dae990d967693e6ea9/xxhash-3.6.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:b465afd7909db30168ab62afe40b2fcf79eedc0b89a6c0ab3123515dc0df8b99", size = 213007, upload-time = "2025-10-02T14:36:07.733Z" }, + { url = "https://files.pythonhosted.org/packages/ae/d8/bc5fa0d152837117eb0bef6f83f956c509332ce133c91c63ce07ee7c4873/xxhash-3.6.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:a881851cf38b0a70e7c4d3ce81fc7afd86fbc2a024f4cfb2a97cf49ce04b75d3", size = 200956, upload-time = "2025-10-02T14:36:09.106Z" }, + { url = "https://files.pythonhosted.org/packages/26/a5/d749334130de9411783873e9b98ecc46688dad5db64ca6e04b02acc8b473/xxhash-3.6.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:9b3222c686a919a0f3253cfc12bb118b8b103506612253b5baeaac10d8027cf6", size = 213401, upload-time = "2025-10-02T14:36:10.585Z" }, + { url = "https://files.pythonhosted.org/packages/89/72/abed959c956a4bfc72b58c0384bb7940663c678127538634d896b1195c10/xxhash-3.6.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:c5aa639bc113e9286137cec8fadc20e9cd732b2cc385c0b7fa673b84fc1f2a93", size = 417083, upload-time = "2025-10-02T14:36:12.276Z" }, + { url = "https://files.pythonhosted.org/packages/0c/b3/62fd2b586283b7d7d665fb98e266decadf31f058f1cf6c478741f68af0cb/xxhash-3.6.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5c1343d49ac102799905e115aee590183c3921d475356cb24b4de29a4bc56518", size = 193913, upload-time = "2025-10-02T14:36:14.025Z" }, + { url = "https://files.pythonhosted.org/packages/9a/9a/c19c42c5b3f5a4aad748a6d5b4f23df3bed7ee5445accc65a0fb3ff03953/xxhash-3.6.0-cp314-cp314t-win32.whl", hash = "sha256:5851f033c3030dd95c086b4a36a2683c2ff4a799b23af60977188b057e467119", size = 31586, upload-time = "2025-10-02T14:36:15.603Z" }, + { url = "https://files.pythonhosted.org/packages/03/d6/4cc450345be9924fd5dc8c590ceda1db5b43a0a889587b0ae81a95511360/xxhash-3.6.0-cp314-cp314t-win_amd64.whl", hash = "sha256:0444e7967dac37569052d2409b00a8860c2135cff05502df4da80267d384849f", size = 32526, upload-time = "2025-10-02T14:36:16.708Z" }, + { url = "https://files.pythonhosted.org/packages/0f/c9/7243eb3f9eaabd1a88a5a5acadf06df2d83b100c62684b7425c6a11bcaa8/xxhash-3.6.0-cp314-cp314t-win_arm64.whl", hash = "sha256:bb79b1e63f6fd84ec778a4b1916dfe0a7c3fdb986c06addd5db3a0d413819d95", size = 28898, upload-time = "2025-10-02T14:36:17.843Z" }, + { url = "https://files.pythonhosted.org/packages/93/1e/8aec23647a34a249f62e2398c42955acd9b4c6ed5cf08cbea94dc46f78d2/xxhash-3.6.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0f7b7e2ec26c1666ad5fc9dbfa426a6a3367ceaf79db5dd76264659d509d73b0", size = 30662, upload-time = "2025-10-02T14:37:01.743Z" }, + { url = "https://files.pythonhosted.org/packages/b8/0b/b14510b38ba91caf43006209db846a696ceea6a847a0c9ba0a5b1adc53d6/xxhash-3.6.0-pp311-pypy311_pp73-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:5dc1e14d14fa0f5789ec29a7062004b5933964bb9b02aae6622b8f530dc40296", size = 41056, upload-time = "2025-10-02T14:37:02.879Z" }, + { url = "https://files.pythonhosted.org/packages/50/55/15a7b8a56590e66ccd374bbfa3f9ffc45b810886c8c3b614e3f90bd2367c/xxhash-3.6.0-pp311-pypy311_pp73-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:881b47fc47e051b37d94d13e7455131054b56749b91b508b0907eb07900d1c13", size = 36251, upload-time = "2025-10-02T14:37:04.44Z" }, + { url = "https://files.pythonhosted.org/packages/62/b2/5ac99a041a29e58e95f907876b04f7067a0242cb85b5f39e726153981503/xxhash-3.6.0-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c6dc31591899f5e5666f04cc2e529e69b4072827085c1ef15294d91a004bc1bd", size = 32481, upload-time = "2025-10-02T14:37:05.869Z" }, + { url = "https://files.pythonhosted.org/packages/7b/d9/8d95e906764a386a3d3b596f3c68bb63687dfca806373509f51ce8eea81f/xxhash-3.6.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:15e0dac10eb9309508bfc41f7f9deaa7755c69e35af835db9cb10751adebc35d", size = 31565, upload-time = "2025-10-02T14:37:06.966Z" }, +] + +[[package]] +name = "yarl" +version = "1.22.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { 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 = [ + { 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/73/ae/b48f95715333080afb75a4504487cbe142cae1268afc482d06692d605ae6/yarl-1.22.0-py3-none-any.whl", hash = "sha256:1380560bdba02b6b6c90de54133c81c9f2a453dee9912fe58c1dcced1edb7cff", size = 46814, upload-time = "2025-10-06T14:12:53.872Z" }, +]